IP Library Granted Patent US 12,401,515
Granted Patent B2
US 12,401,515 · App. 18/570,187 · Granted Aug 26, 2025

Enhanced login processes using proprietary security and protocol for sharing and managing personal information

Inventors: Colin Constable (San Jose, CA); Kevin Nickels (San Jose, CA)
Assignee: Atsign, Inc.
H04L9/3226H04L9/3073H04L9/3271
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,401,515
App. No.
18/570,187
Granted
Aug 26, 2025
Kind
B2
Abstract

The present disclosure involves systems, software, and computer implemented methods for enhanced login processes. A first login page of a website is received that includes a field that enables a user to enter a handle for a decentralized resource directory. A handle for the decentralized resource directory is received in the field and provided to a webserver. A second login page is received that includes a challenge code for the handle. A challenge value is generated based on the challenge code. A location in the decentralized resource directory is determined, based on the challenge value. A request is sent to a protocol server that manages the personalized resource directory to store the challenge value in the decentralized resource directory at the location as a login challenge response for logging into the website. A login result page is received that indicates a result of the webserver processing the login challenge response.

Claims (112)

1. A system comprising:

a first user device of a user;

a protocol server associated with the user comprising a personal decentralized resource directory of the user; and

a webserver associated with a website;

wherein the first user device is configured to:

send a request to the webserver for a first login page of the website;

wherein the webserver is configured to:

receive the request for the first login page of the website;

generate the first login page of the website, wherein the first login page includes a field that enables the user to enter a handle that uniquely identifies the personal decentralized resource directory of the user; and

provide the first login page of the website to the first user device;

wherein the first user device is further configured to:

receive the first login page of the website;

present the first login page of the website;

receive, from the user, the handle that uniquely identifies the personal decentralized resource directory of the user; and

provide the handle for the personal decentralized resource directory of the user to the webserver;

wherein the webserver is further configured to:

receive the handle for the personal decentralized resource directory of the user from the first user device;

generate a unique challenge code for the handle;

insert the unique challenge code for the handle into a second login page; and

provide the second login page that includes the unique challenge code for the handle to the first user device;

wherein the first user device is further configured to:

receive the second login page that includes the unique challenge code for the handle;

present the second login page that includes the unique challenge code for the handle;

obtain the unique challenge code for the handle from the second login page;

generate a challenge value based on the unique challenge code;

determine, based on the challenge value, a location in the personal decentralized resource directory of the user; and

send a request to the protocol server to store the challenge value in the personal decentralized resource directory of the user at the location;

wherein the webserver is further configured to:

send a request to the protocol server to obtain the challenge value from the location in the personal decentralized resource directory of the user;

receive the challenge value from the protocol server;

generate a server challenge value, using the challenge code sent to the first user device and the handle received from the first user device, to compare to the challenge value received from the protocol server;

determine whether the server challenge value matches the challenge value received from the protocol server;

log the user into the website in response to determining that the server challenge value matches the challenge value received from the protocol server; and

deny a login request to the website for the user in response to determining that the server challenge value does not match the challenge value received from the protocol server.

2. The system of claim 1 , wherein:

the first user device is configured to cryptographically sign the challenge value for the handle using a private key of a public/private key pair for the handle; and

the webserver is further configured to:

send a request to the protocol server to obtain a public key of the public/private key pair for the handle from the personal decentralized resource directory of the user;

receive, from the protocol server, the public key of the public/private key pair for the handle; and

decrypt the challenge value using the public key.

3. The system of claim 2 , wherein the private key of the public/private key pair for the handle is stored on the first user device.

4. The system of claim 1 , wherein:

the first user device is configured to cryptographically sign the challenge value for the handle using a public key of a public/private key pair associated with the website; and

the webserver is further configured to decrypt the challenge value using a private key of the public/private key pair associated with the website.

5. The system of claim 1 , wherein:

the first login page includes a field that allows the user to provide a user-provided code;

the first user device is configured to provide the user-provided code to the webserver along with the handle of the user; and

the webserver is configured to generate the challenge code using the user-provided code.

6. The system of claim 1 , further comprising a second user device of the user, wherein the first login page is presented on the first user device and the user second device is configured to generate the challenge value, determine the location in the personal decentralized resource directory of the user, and send the request to the protocol server to store the challenge value in the personal decentralized resource directory of the user at the location.

7. The system of claim 6 , wherein the challenge code is a scannable code that is presented on the first user device and the second user device is configured to scan the scannable code that is presented on the first user device.

8. The system of claim 1 , wherein:

the personal decentralized resource directory of the user includes shared user information for the user that the user has explicitly shared with an entity associated with the website; and

the webserver is further configured to:

send a request to the protocol server for the shared user information for the user in the personal decentralized resource directory of the user that has been explicitly shared with the entity associated with the website;

receive the shared user information;

use the shared user information to generate at least one web page for the user while the user is logged into the website; and

provide the at least one web page to the first user device.

9. The system of claim 1 , wherein the first user device is further configured to generate the challenge value based on the unique challenge code by generating a hash value of a combination of the handle and the unique challenge code.

10. The system of claim 1 ,

wherein the first user device is further configured to:

generate a nonce value;

generate the challenge value based on the challenge code and the nonce value; and

send a request to the protocol server to store the nonce value in the personal decentralized location of the user at the location that is based on the challenge code;

wherein the webserver is further configured to:

send a request to the protocol server to obtain the nonce from the decentralized resource directory;

receive the nonce from the protocol server; and

use the nonce when generating the server challenge value.

11. A computer-implemented method comprising:

receiving a request from a user device of a user for a first login page of a website;

generating the first login page of the website, wherein the first login page includes a field that enables the user to enter a handle that uniquely identifies a personal decentralized resource directory of the user;

providing the first login page of the website to the user device;

receiving the handle that uniquely identifies the personal decentralized resource directory of the user from the user device;

generating a unique challenge code for the handle;

inserting the unique challenge code for the handle into a second login page;

providing the second login page that includes the unique challenge code for the handle to the user device;

sending a request to a protocol server to obtain a challenge value stored by the user device at a location in the personal decentralized resource directory of the user, wherein the challenge value and the location are generated by the user device based on the challenge code;

receiving the challenge value from the protocol server;

generating a server challenge value, using the challenge code sent to the user device and the handle received from the user device, to compare to the challenge value received from the protocol server;

determining whether the server challenge value matches the challenge value received from the protocol server;

logging the user into the website in response to determining that the server challenge value matches the challenge value received from the protocol server; and

denying a login request to the website for the user in response to determining that the server challenge value does not match the challenge value received from the protocol server.

12. The computer-implemented method of claim 11 , wherein the user device has cryptographically signed the challenge value for the handle using a private key of a public/private key pair for the handle, the method further comprising:

sending a request to the protocol server to obtain a public key of the public/private key pair for the handle from the decentralized resource directory;

receiving, from the protocol server, the public key of the public/private key pair for the handle; and

decrypting the challenge value using the public key.

13. The computer-implemented method of claim 11 , wherein the user device has cryptographically signed the challenge value for the handle using a public key of a public/private key pair associated with the website, the method further comprising decrypting the challenge value received from the protocol server using a private key of the public/private key pair associated with the website.

14. The computer-implemented method of claim 11 , wherein:

the decentralized resource directory includes shared user information for the user that the user has explicitly shared with an entity associated with the website, the method further comprising:

sending a request to the protocol server for the shared user information for the user in the personal decentralized resource directory of the user that has been explicitly shared with the entity associated with the website;

receiving the shared user information;

using the shared user information to generate at least one web page for the user while the user is logged into the website; and

providing the at least one web page to the user device.

15. A computer-implemented method comprising:

sending a request to a webserver for a first login page of a website;

receiving the first login page of the website, wherein the first login page includes a field that enables a user to enter a handle that uniquely identifies a personal decentralized resource directory of the user;

presenting the first login page of the website;

receiving, from the user, the handle that uniquely identifies the personal decentralized resource directory of the user;

providing the handle that uniquely identifies the personal decentralized resource directory of the user to the webserver;

receiving, from the webserver, a second login page that includes a unique challenge code for the handle that was generated by the webserver;

presenting the second login page that includes the unique challenge code for the handle;

obtaining the unique challenge code for the handle from the second login page;

generating a challenge value based on the unique challenge code;

determining, based on the challenge value, a location in the personal decentralized resource directory of the user;

sending a request to a protocol server to store the challenge value in the personal decentralized resource directory of the user at the location as a login challenge response for logging into the website; and

receiving from the webserver, a login result page that indicates a result of the webserver processing the login challenge response.

16. The computer-implemented method of claim 15 , wherein the login result page indicates that the webserver successfully validated the login challenge response.

17. The computer-implemented method of claim 15 , further comprising cryptographically signing the challenge value for the handle using a private key of a public/private key pair for the handle.

18. The computer-implemented method of claim 17 , further comprising retrieving the private key of the public/private key pair for the handle from a user device of the user.

19. The computer-implemented method of claim 15 , further comprising cryptographically signing the challenge value for the handle using a public key of a public/private key pair associated with the website.

20. The computer-implemented method of claim 15 , wherein the first login page includes a field that allows the user to provide a user-provided code, the method further comprising:

receiving, from the user, the user-provided code; and

providing the user-provided code to the webserver along with the handle of the user, wherein the unique challenge code received from the webserver is generated by the webserver based on the user-provided code.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2024
From: CONSTABLE, COLIN
To: ATSIGN, INC.
Reel/Frame 067715/0318 →
EMPLOYMENT AGREEMENT Recorded Jun 13, 2024
From: NICKELS, KEVIN
To: THE @ COMPANY
Reel/Frame 067715/0607 →
CHANGE OF NAME Recorded Jun 13, 2024
From: THE @ COMPANY
To: ATSIGN, INC.
Reel/Frame 067715/0668 →
Continuity (2)
Provisional Application 63211664 · Jun 17, 2021
Related Publication 20240146533A1 · May 2, 2024
References Cited (33)
US 6343361B1 · Nendell · 2002 [cited by examiner]
US 8594632B1 · Azizi et al. · 2013 [cited by applicant]
US 9083531B2 · Chenna · 2015 [cited by applicant]
US 9258118B1 · Roth et al. · 2016 [cited by applicant]
US 9571480B1 · Asveren · 2017 [cited by applicant]
US 11271933B1 · Dee · 2022 [cited by applicant]
US 11546337B2 · Le et al. · 2023 [cited by applicant]
US 11849053B2 · Nickels et al. · 2023 [cited by applicant]
US 20040044727A1 · Abdelaziz et al. · 2004 [cited by applicant]
US 20070118879A1 · Yeun · 2007 [cited by applicant]
US 20080091615A1 · Choi et al. · 2008 [cited by applicant]
US 20150178515A1 · Cooley et al. · 2015 [cited by applicant]
US 20160182500A1 · Ligatti et al. · 2016 [cited by applicant]
US 20170257358A1 · Ebrahimi et al. · 2017 [cited by applicant]
US 20180367526A1 · Huang et al. · 2018 [cited by applicant]
US 20190149539A1 · Scruby · 2019 [cited by applicant]
US 20200085408A1 · Lemaitre et al. · 2020 [cited by applicant]
US 20200145451A1 · Hansen · 2020 [cited by applicant]
US 20200252392A1 · Mullins et al. · 2020 [cited by applicant]
US 20210058374A1 · Smith et al. · 2021 [cited by applicant]
US 20210110015A1 · McCarty · 2021 [cited by examiner]
US 20210272120A1 · Murdoch · 2021 [cited by examiner]
US 20210288973A1 · Dimble et al. · 2021 [cited by applicant]
US 20230015819A1 · Nickels et al. · 2023 [cited by applicant]
US 20240039739A1 · Nickels et al. · 2024 [cited by applicant]
WO WO2019226115 · 2019 [cited by applicant]
Extended European Search Report in European Appln. No. 22825850.5, mailed on Jun. 27, 2024, 9 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2021/040628, dated Jan. 19, 2023, 12 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2022/033854, mailed on Dec. 14, 2023, 7 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/040628, mailed on Dec. 2, 2021, 15 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2022/033854, mailed on Oct. 25, 2024, 8 pages. [cited by applicant]
Li et al. “Research on CoAP Resource Directory Based on Blockchain.” IEEE 4th Information Technology, Networking, Electronic and Automation Control Conference (ITNEC), May 2020, 1:1730-1735. [cited by applicant]
Ylonen et al., “Security of interactive and automated access management using Secure Shell (SSH),” National Institute of Standards and Technology, Oct. 2015, 50 pages. [cited by applicant]