IP Library Granted Patent US 12,519,657
Granted Patent B2
US 12,519,657 · App. 18/667,984 · Granted Jan 6, 2026

Browser-based authentication scheme

Inventor: Zbigniew Józef Zemła (Katowice, PL)
Assignee: Shore Labs Zbigniew ZEMłA
H04L9/3247H04L9/0825
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,519,657
App. No.
18/667,984
Granted
Jan 6, 2026
Kind
B2
Abstract

Disclosed herein is a method performed by a client application of an authentication provider application. The method includes deriving a reference to a domain name based on an identity handle of a user, querying a domain name system to obtain one or more identity records associated with the identity handle, obtaining one or more public keys based on the one or more identity records, and deriving an authentication endpoint web address based on the identity handle. The authentication endpoint web address is usable to access the authentication provider application. The method further includes sending data to the authentication provider application using the authentication endpoint web address, wherein the authentication provider application is able to access one or more private keys corresponding to the one or more public keys for generating digital signatures. The method further includes receiving, from the authentication provider application, one or more digital signatures.

Claims (111)

1 . A method performed by a client application of an authentication provider application to perform authentication, the method comprising:

obtaining an identity handle of a user;

deriving a reference to a domain name based on the identity handle;

querying a domain name system for one or more publicly accessible resource records of the domain name to obtain one or more identity records associated with the identity handle;

obtaining one or more public keys of one or more asymmetric cryptography key pairs based on data stored in at least one of the one or more identity records;

deriving an authentication endpoint web address based on the identity handle, wherein the deriving the authentication endpoint web address involves performing a string manipulation operation on the identity handle to obtain a second domain name, querying the domain name system for a second one or more publicly accessible resource records of the second domain name, and obtaining an indication of the authentication endpoint web address from the second one or more publicly accessible resource records, wherein the authentication endpoint web address is a uniform resource locator (URL) usable by the client application to access the authentication provider application through a web browser of the user, wherein the authentication provider application is executed in the web browser of the user under the URL, wherein the URL is different from a web address that is usable to access the client application through the web browser of the user;

generating a challenge;

sending data, including the challenge, to the authentication provider application using the authentication endpoint web address, wherein the authentication provider application is able to access one or more private keys of the one or more asymmetric cryptography key pairs for generating digital signatures, wherein the authentication provider application is to generate a first digital signature based on the challenge using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, one or more digital signatures including the first digital signature;

verifying the first digital signature based on determining, using the challenge, whether the first digital signature cryptographically matches one or more of the one or more public keys of the one or more asymmetric cryptography key pairs; and

authenticating the user in response to successfully verifying at least the first digital signature.

2 . The method of claim 1 , wherein the one or more private keys of the one or more asymmetric cryptography key pairs are stored in a client-side storage of the web browser of the user.

3 . The method of claim 1 , further comprising:

periodically querying the domain name system for current one or more publicly accessible resource records of the domain name to obtain a current one or more identity records associated with the identity handle;

obtaining a list of one or more current public keys of one or more current asymmetric cryptography key pairs based on data stored in at least one of the one or more current identity records; and

automatically signing out the user from the client application when one or more of the one or more public keys are not present in the list of one or more current public keys regardless of user activity or inactivity in the client application.

4 . The method of claim 1 , further comprising:

obtaining a message that is to be digitally signed;

sending second data, including the message, to the authentication provider application, wherein the authentication provider application is to generate a second digital signature based on the message using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, second one or more digital signatures including the second digital signature; and

sending and the second digital signature to a third-party application,

wherein the third-party application is to verify the second digital signature based on obtaining the one or more public keys of one or more asymmetric cryptography key pairs based on the data stored in at least one of the one or more identity records and determining, using the message, whether the second digital signature cryptographically matches one or more of the one or more public keys of the one or more asymmetric cryptography key pairs.

5 . The method of claim 1 , further comprising:

establishing a communication channel with a third-party application;

receiving a third-party public key of a third-party asymmetric cryptography key pair from the third-party application over the communication channel;

generating a second challenge that includes the third-party public key;

sending second data, including the second challenge, to the authentication provider application, wherein the authentication provider application is to generate a second digital signature based on the second challenge using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, second one or more digital signatures including the second digital signature;

generating a random session key of a symmetric encryption algorithm;

encrypting the random session key and the second digital signature using the third-party public key to generate an encrypted payload;

sending the encrypted payload to the third-party application over the communication channel; and

encrypting communications to the third-party application over the communication channel using the random session key with the symmetric encryption algorithm after the third-party application has successfully verified the second digital signature and successfully verified that the second challenge includes the third-party public key.

6 . The method of claim 1 , further comprising:

establishing a communication channel with a second client application, wherein a second user is signed in to the second client application using a second identity handle;

generating a first key pair that includes a first private key and a first public key;

sending second data, including the first public key, to the authentication provider application, wherein the authentication provider application is to generate a second digital signature based on the first public key using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, second one or more digital signatures including the second digital signature;

sending the first public key, the second digital signature, and the identity handle of the user to the second client application over the communication channel;

receiving a second public key, a third digital signature corresponding to the second public key, and the second identity handle from the second client application;

deriving a reference to a third domain name based on the second identity handle;

querying the domain name system for third one or more resource records of the third domain name to obtain second one or more identity records associated with the second identity handle;

obtaining second one or more public keys of a second one or more asymmetric cryptography key pairs based on data stored in at least one of the second one or more identity records;

verifying the third digital signature based on determining, using the second public key, whether the third digital signature cryptographically matches one or more of the second one or more public keys of the second one or more asymmetric cryptography key pairs;

obtaining a session encryption key using a key agreement algorithm with the first private key and the second public key in response to successfully verifying the third digital signature; and

encrypting communications to the second client application over the communication channel and decrypting communications received from the second client application over the communication channel using the session encryption key.

7 . A non-transitory machine-readable storage medium storing instructions that, when executed by a computing system implementing a client application of an authentication provider application, causes the client application to perform operations comprising:

obtaining an identity handle of a user;

deriving a reference to a domain name based on the identity handle;

querying a domain name system for one or more publicly accessible resource records of the domain name to obtain one or more identity records associated with the identity handle;

obtaining one or more public keys of one or more asymmetric cryptography key pairs based on data stored in at least one of the one or more identity records;

deriving an authentication endpoint web address based on the identity handle, wherein the deriving the authentication endpoint web address involves performing a string manipulation operation on the identity handle to obtain a second domain name, querying the domain name system for a second one or more publicly accessible resource records of the second domain name, and obtaining an indication of the authentication endpoint web address from the second one or more publicly accessible resource records, wherein the authentication endpoint web address is a uniform resource locator (URL) usable by the client application to access the authentication provider application through a web browser of the user, wherein the authentication provider application is executed in the web browser of the user under the URL, wherein the URL is different from a web address that is usable to access the client application through the web browser of the user;

generating a challenge;

sending data, including the challenge, to the authentication provider application using the authentication endpoint web address, wherein the authentication provider application is able to access one or more private keys of the one or more asymmetric cryptography key pairs for generating digital signatures, wherein the authentication provider application is to generate a first digital signature based on the challenge using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, one or more digital signatures including the first digital signature;

verifying the first digital signature based on determining, using the challenge, whether the first digital signature cryptographically matches one or more of the one or more public keys of the one or more asymmetric cryptography key pairs; and

authenticating the user in response to successfully verifying at least the first digital signature.

8 . The method of claim 1 , wherein the authentication endpoint web address is pointed at a web server that serves the authentication provider application to the web browser of the user.

9 . The method of claim 1 , wherein the authentication provider application is accessible under the URL without a need for the web browser of the user to contact a web server.

10 . The non-transitory machine-readable storage medium of claim 7 ,

wherein the operations further comprise:

obtaining a message that is to be digitally signed;

sending second data, including the message, to the authentication provider application, wherein the authentication provider application is to generate a second digital signature based on the message using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, second one or more digital signatures including the second digital signature; and

sending the second digital signature to a third-party application, wherein the third-party application is to verify the second digital signature based on obtaining the one or more public keys of one or more asymmetric cryptography key pairs based on the data stored in at least one of the one or more identity records and determining, using the message, whether the second digital signature cryptographically matches one or more of the one or more public keys of the one or more asymmetric cryptography key pairs.

11 . The non-transitory machine-readable storage medium of claim 7 , wherein the operations further comprise:

establishing a communication channel with a third-party application;

receiving a third-party public key of a third-party asymmetric cryptography key pair from the third-party application over the communication channel;

generating a second challenge that includes the third-party public key;

sending second data, including the second challenge, to the authentication provider application, wherein the authentication provider application is to generate a second digital signature based on the second challenge using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, second one or more digital signatures including the second digital signature;

generating a random session key of a symmetric encryption algorithm;

encrypting the random session key and the second digital signature using the third-party public key to generate an encrypted payload;

sending the encrypted payload to the third-party application over the communication channel; and

encrypting communications to the third-party application over the communication channel using the random session key with the symmetric encryption algorithm after the third-party application has successfully verified the second digital signature and successfully verified that the second challenge includes the third-party public key.

12 . The non-transitory machine-readable storage medium of claim 7 , wherein the operations further comprise:

establishing a communication channel with a second client application, wherein a second user is signed in to the second client application using a second identity handle;

generating a first key pair that includes a first private key and a first public key;

sending second data, including the first public key, to the authentication provider application, wherein the authentication provider application is to generate a second digital signature based on the first public key using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, second one or more digital signatures including the second digital signature;

sending the first public key, the second digital signature, and the identity handle of the user to the second client application over the communication channel;

receiving a second public key, a third digital signature corresponding to the second public key, and the second identity handle from the second client application;

deriving a reference to a third domain name based on the second identity handle;

querying the domain name system for third one or more resource records of the third domain name to obtain second one or more identity records associated with the second identity handle;

obtaining second one or more public keys of a second one or more asymmetric cryptography key pairs based on data stored in at least one of the second one or more identity records;

verifying the third digital signature based on determining, using the second public key, whether the third digital signature cryptographically matches one or more of the second one or more public keys of the second one or more asymmetric cryptography key pairs;

obtaining a session encryption key using a key agreement algorithm with the first private key and the second public key in response to successfully verifying the third digital signature; and

encrypting communications to the second client application over the communication channel and decrypting communications received from the second client application over the communication channel using the session encryption key.

13 . A method performed by a client application of an authentication provider application to perform authentication, the method comprising:

obtaining an identity handle of a user;

deriving a reference to a domain name based on the identity handle;

querying a domain name system for one or more publicly accessible resource records of the domain name to obtain one or more identity records associated with the identity handle;

obtaining one or more public keys of one or more asymmetric cryptography key pairs based on data stored in at least one of the one or more identity records;

deriving an authentication endpoint web address based on the identity handle, wherein the authentication endpoint web address is a uniform resource locator (URL) usable by the client application to access the authentication provider application through a web browser of the user, wherein the authentication provider application is executed in the web browser of the user under the URL, wherein the URL is different from a web address that is usable to access the client application through the web browser of the user;

receiving a first challenge from a third-party application;

generating a second challenge that includes the first challenge;

sending data, including the second challenge, to the authentication provider application using the authentication endpoint web address, wherein the authentication provider application is able to access one or more private keys of the one or more asymmetric cryptography key pairs for generating digital signatures, wherein the authentication provider application is to generate a first digital signature based on the second challenge using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, one or more digital signatures including the first digital signature;

sending the first digital signature to the third-party application; and

accessing the third-party application on behalf of the user after receiving confirmation that the third-party application has successfully verified the first digital signature.

14 . A non-transitory machine-readable storage medium storing instructions that, when executed by a computing system implementing a client application of an authentication provider application, causes the client application to perform operations comprising:

obtaining an identity handle of a user;

deriving a reference to a domain name based on the identity handle;

querying a domain name system for one or more publicly accessible resource records of the domain name to obtain one or more identity records associated with the identity handle;

obtaining one or more public keys of one or more asymmetric cryptography key pairs based on data stored in at least one of the one or more identity records;

deriving an authentication endpoint web address based on the identity handle, wherein the authentication endpoint web address is a uniform resource locator (URL) usable by the client application to access the authentication provider application through a web browser of the user, wherein the authentication provider application is executed in the web browser of the user under the URL, wherein the URL is different from a web address that is usable to access the client application through the web browser of the user;

receiving a first challenge from a third-party application;

generating a second challenge that includes the first challenge;

sending data, including the second challenge, to the authentication provider application using the authentication endpoint web address, wherein the authentication provider application is able to access one or more private keys of the one or more asymmetric cryptography key pairs for generating digital signatures, wherein the authentication provider application is to generate a first digital signature based on the second challenge using the one or more private keys of the one or more asymmetric cryptography key pairs;

receiving, from the authentication provider application, one or more digital signatures including the first digital signature;

sending the first digital signature to the third-party application; and

accessing the third-party application on behalf of the user after receiving confirmation that the third-party application has successfully verified the first digital signature.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2024
From: ZEMLA, ZBIGNIEW JÓZEF
To: SHORE LABS ZBIGNIEW ZEMLA
Reel/Frame 067696/0097 →
Continuity (2)
Provisional Application 63503441 · May 19, 2023
Related Publication 20240388443A1 · Nov 21, 2024
References Cited (103)
US 8671384B2 · Hilerio et al. · 2014 [cited by applicant]
US 9164671B2 · Hilerio et al. · 2015 [cited by applicant]
US 11252252B2 · Boodman et al. · 2022 [cited by applicant]
US 11797289B2 · Zemla · 2023 [cited by applicant]
US 20040139227A1 · Takeda · 2004 [cited by applicant]
US 20070033569A1 · Davidson et al. · 2007 [cited by applicant]
US 20090282248A1 · Dias · 2009 [cited by applicant]
US 20090313472A1 · Guccione et al. · 2009 [cited by applicant]
US 20100017598A1 · Rodriguez et al. · 2010 [cited by applicant]
US 20140040979A1 · Barton et al. · 2014 [cited by applicant]
US 20150312190A1 · Rankin · 2015 [cited by examiner]
US 20150317171A1 · Blazek · 2015 [cited by applicant]
US 20160191645A1 · Hayton et al. · 2016 [cited by applicant]
US 20160316364A1 · Blanco et al. · 2016 [cited by applicant]
US 20170093587A1 · Glisson · 2017 [cited by examiner]
US 20170154017A1 · Kristiansson et al. · 2017 [cited by applicant]
US 20180018150A1 · Liu et al. · 2018 [cited by applicant]
US 20190068578A1 · Balakrishnan · 2019 [cited by examiner]
US 20190158353A1 · Johnson et al. · 2019 [cited by applicant]
US 20200356397A1 · Kumatagi et al. · 2020 [cited by applicant]
US 20210117308A1 · Burgos · 2021 [cited by applicant]
US 20220029796A1 · Peddada et al. · 2022 [cited by applicant]
US 20220116390A1 · Jass · 2022 [cited by examiner]
US 20220131852A1 · Sharma et al. · 2022 [cited by applicant]
US 20240195801A1 · Novick · 2024 [cited by examiner]
WO 2011156155A2 · 2011 [cited by applicant]
WO 2022266364A1 · 2022 [cited by applicant]
Garba, A., Chen, Z., Guan, Z. and Srivastava, G., 2021. LightLedger: A novel blockchain-based domain certificate authentication and validation scheme. IEEE Transactions on Network Science and Engineering, 8(2), pp. 1698… [cited by examiner]
Bansal, C., Bhargavan, K., Delignat-Lavaud, A. and Maffeis, S., 2014. Discovering concrete attacks on website authorization by formal analysis. Journal of Computer Security, 22(4), pp. 601-657. (Year: 2006). [cited by examiner]
ICANN, “FAQs for Registrants: About ICANN”, available online at <https://www.icann.org/resources/pages/about-icann-faqs-2019-02-25-en>, Feb. 25, 2019, 12 pages. [cited by applicant]
ICANN, “List_of_Accredited_Registrars”, available online at <https://web.archive.org/web/20230518073455/https://www.icann.org/en/accredited-registrars>, 4 pages. [cited by applicant]
RFC 1034: P. Mockapetris, “Domain Names—Concepts and Facilities”, Request for Comments: 1034, Nov. 1987, 55 pages. [cited by applicant]
RFC 1035: P. Mockapetris, “Domain Names—Implementation and Specification”, Request for Comments: 1035, Nov. 1987, 55 pages. [cited by applicant]
Wikipedia, “Integrated Encryption Scheme”, available online at <https://en.wikipedia.org/wiki/Integrated_Encryption_Scheme>, Feb. 2023, 3 pages. [cited by applicant]
International Search Report and Written Opinion, PCT App. No. PCT/IB2024/054831, Aug. 19, 2024, 16 pages. [cited by applicant]
Advisory Action, U.S. App. No. 176/55,341, Feb. 6, 2023, 3 pages. [cited by applicant]
Amadeo, R., “Chrome Apps are dead, as Google shuts down the Chrome Web Store section”, Ars Technica, Available Online at <https://arstechnica.com/gadgets/2017/12/google-shuts-down-the-apps-section-of-the-chrome-web-stor… [cited by applicant]
Amir Herzberg et al., “DNS-based email sender authentication mechanisms: A critical review,” 2009 [retrieved on Dec. 13, 2024], Computers & Security, vol. 28, Issue 8, pp. 731-742, downloaded from <url>:https://www.scie… [cited by applicant]
Apple, “iPhone to Support Third-Party Web 2.0 Applications”, Newsroom, Press Release, Available Online at <https://www.apple.com/newsroom/2007/06/11iPhone-to-Support-Third-Party-Web-2-0-Applications/>, Jun. 11, 2007, pp… [cited by applicant]
Caniuse.com, “Offline web applications”, Support tables for HTML5, CSS3, etc., Available Online at <https://caniuse.com/offline-apps>, Statistics for Feb. 2022, Retrieved Mar. 15, 2022, pp. 1-2. [cited by applicant]
Citrix Systems, Inc., “What is containerization?”, Containerization Definition, Available Online at <https://www.citrix.com/solutions/app-delivery-and-security/what-is-containerization.html>, Retrieved Mar. 15, 2022, , … [cited by applicant]
Final Office Action, U.S. Appl. No. 17/655,341, Oct. 31, 2022, 29 pages. [cited by applicant]
Google Developers, “Google I/O 2012—The Next Evolution of Chrome Apps”, Available Online at <transcriptvids.com/v/j80FAr1YR-0.html>, Jun. 28, 2012, pp. 1-13. [cited by applicant]
Google Developers, “Introduction to Service Worker”, Available Online at <https://developers.google.com/web/ilt/pwa/introduction-to-service-worker>, Jun. 10, 2019, Retrieved Mar. 15, 2022, pp. 1-8. [cited by applicant]
Google, “Understand the Architecture”, Chrome Apps Stable, Available Online at <https://web.archive.org/web/20130621085400/http:/developer.chrome.com/apps/app_architecture.html>, Jun. 21, 2013, Retrieved Mar. 15, 2022, … [cited by applicant]
Google, “What are Packaged Apps?”, Google Chrome Apps, Available Online at <https://web.archive.org/web/20120908054313/http:/developer.chrome.com:80/apps/about_apps.html>, Sep. 8, 2012, Retrieved Mar. 15, 2022, pp. 1-3. [cited by applicant]
International Search Report and Written Opinion, PCT App. No.PCT/IB2023/052547, Jun. 28, 2023, 10 pages. [cited by applicant]
Lepage, P., “Persistent storage,” <https://web.dev/persistent-storage/>, Creative Commons Attribution 4.0 License, Apache 2.0 License, May 12, 2020, 7 pages. [cited by applicant]
Linode, “Object Storage: High availability S3-compatible object storage”, Available Online at <https://www.linode.com/products/object-storage/>, Retrieved Mar. 15, 2022, pp. 1-11. [cited by applicant]
Mahemoff, M., “Extensions, Packaged Apps, and Hosted Apps in the Chrome Web Store”, Chrome Web Store, Available Online at <https://web.archive.org/web/20121015142440/https:/developers.google.com/chrome/web-store/article… [cited by applicant]
MDN, “Cache”, Web APIs, Available Online at <https://developer.mozilla.org/en-US/docs/Web/API/Cache>, Mar. 2, 2022, Retrieved Mar. 15, 2022, pp. 1-11. [cited by applicant]
MDN, “Origin”, MDN Web Docs Glossary: Definitions of Web-related terms, Available Online at <https://developer.mozilla.org/en-US/docs/Glossary/Origin>, Oct. 7, 2021, Retrieved Mar. 15, 2022, pp. 1-2. [cited by applicant]
MDN, “Same-origin policy”, Web security, Available Online at <https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy>, Feb. 7, 2022, Retrieved Mar. 15, 2022, pp. 1-8. [cited by applicant]
MDN, “ServiceWorker”, Web APIs, Available Online at <https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker>, Feb. 3, 2022, Retrieved Mar. 15, 2022, pp. 1-6. [cited by applicant]
Microsoft Azure, “What is a container?”, Standardized, portable packaging for your applications, Available Online at <https://azure.microsoft.com/en-US/overview/what-is-a-container/#overview>, 2022, Retrieved Mar. 15, 2… [cited by applicant]
Microsoft Edge Development, “Overview of Progressive Web Apps (PWAs)”, Microsoft Docs, Available Online at <https://docs.microsoft.com/en-US/microsoft-edge/progressive-web-apps-chromium/>, Feb. 28, 2022, pp. 1-6. [cited by applicant]
Microsoft Edge Development, “Use a Web App Manifest to integrate a Progressive Web App into the operating system”, Available Online at <https://docs.microsoft.com/en-US/microsoft-edge/progressive-web-apps-chromium/how-t… [cited by applicant]
Mozilla Contributors, “CryptoKey.extractable”, last updated Jan. 28, 2015, available online at <https://web.archive.org/web/20160809024942/https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey/extractable> via The … [cited by applicant]
Mozilla Contributors, “Same-origin policy”, last edited Feb. 7, 2022, available online at <https://web.archive.org/web/20220316180526/https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy> via The Way… [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/655,341, Jun. 8, 2022, 21 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/655,341, Mar. 10, 2023, 31 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 18/467,502, Dec. 19, 2024, 34 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 17/655,341, Jun. 15, 2023, 14 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 17/655,341, Sep. 13, 2023, 2 pages. [cited by applicant]
Posnick, J., “Using Web Transport”, Available Online at <https://web.dev/webtransport/>, Jun. 8, 2020, pp. 1-14. [cited by applicant]
Roberto Perdisci et al., “WSEC DNS: Protecting recursive DNS resolvers from poisoning attacks,” 2009 [retrieved on Dec. 14, 2024], 2009 IEEE/IFIP International Conference on Dependable Systems & Networks, pp. 3-12, down… [cited by applicant]
Russell, A., “Progressive Web Apps: Escaping Tabs Without Losing Our Soul”, Available Online at <https://medium.com/@slightlylate/progressive-apps-escaping-tabs-without-losing-our-soul-3b93a8561955>, Aug. 10, 2015, pp. … [cited by applicant]
Scandipwa, “History of Progressive Web Apps”, Published in Progressive Web Apps, Available Online at <https://medium.com/progressivewebapps/history-of-progressive-web-apps-4c912533a531>, Jul. 19, 2019, pp. 1-5. [cited by applicant]
Stack Exchange Inc., “What do people use non-extractable WebCrypto keys for?”, Cryptography, available online at <https://web.archive.org/web/20220310055849/https://crypto.stackexchange.com/questions/85587/what-do-peopl… [cited by applicant]
T. Hansen et al., “DomainKeys Identified Mail (DKIM) Service Overview,” Network Working Group Request for Comments: 5585, pp. 1-23, downloaded from <url>:https://d1wqtxts 1xzle7.cloudfront.net (Year: 2009). [cited by applicant]
Tante, “The Third Web”, Version 1.1, Available Online at <https://tante.cc/2021/12/17/the-third-web/#ENDBOX>, Dec. 17, 2021, pp. 1-30. [cited by applicant]
Watson, M., “Web Cryptography API”, W3C Recommendation, available online at <https://www.w3.org/TR/WebCryptoAPI/>, Jan. 26, 2017, pp. 1-125. [cited by applicant]
Wikipedia, “Amazon S3”, Available Online at <https://en.wikipedia.org/wiki/Amazon_S3>, Mar. 14, 2022, Retrieved on Mar. 15, 2022, pp. 1-13. [cited by applicant]
Wikipedia, “AWS Lambda”, Available Online at <https://en.wikipedia.org/wiki/AWS_Lambda>, Nov. 11, 2021, Retrieved on Mar. 15, 2022, pp. 1-3. [cited by applicant]
Wikipedia, “Bootloader”, Available Online at <https://en.wikipedia.org/wiki/Bootloader>, Mar. 9, 2022, Retrieved Mar. 15, 2022, pp. 1-6. [cited by applicant]
Wikipedia, “Decentralization”, Available Online at <https://en.wikipedia.org/wiki/Decentralization#Technological_decentralization>, Feb. 17, 2022, Retrieved Mar. 15, 2022, pp. 1-33. [cited by applicant]
Wikipedia, “Distributed computing”, Available Online at <https://en.wikipedia.org/wiki/Distributed_computing>, Jan. 12, 2022, Retrieved Mar. 15, 2022, pp. 1-14. [cited by applicant]
Wikipedia, “DNS over HTTPS”, Available Online at <https://en.wikipedia.org/wiki/DNS_over_HTTPS>, Mar. 3, 2022, Retrieved Mar. 15, 2022, pp. 1-10. [cited by applicant]
Wikipedia, “DNS over HTTPS”, last edited Mar. 3, 2022, available online at <https://web.archive.org/web/20220307142145/https://en.wikipedia.org/wiki/DNS_over_HTTPS> via The Wayback Machine as retrieved Mar. 7, 2022, pp.… [cited by applicant]
Wikipedia, “DNS-based Authentication of Named Entities”, last edited Dec. 17, 2021, available online at <https://web.archive.org/web/20220316052237/https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entitie… [cited by applicant]
Wikipedia, “Domain Name System”, Available Online at <https://en.wikipedia.org/wiki/Domain_Name_System>, Mar. 7, 2022, Retrieved Mar. 15, 2022, pp. 1-22. [cited by applicant]
Wikipedia, “Domain Name System”, last edited Mar. 7, 2022, available online at <https://web.archive.org/web/20220316014255/https://en.wikipedia.org/wiki/Domain_Name_System> via The Wayback Machine as retrieved Mar. 16, … [cited by applicant]
Wikipedia, “DomainKeys Identified Mail”, last edited Mar. 1, 2022, available online at <https://web.archive.org/web/20220315190051/https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail> via The Wayback Machine as ret… [cited by applicant]
Wikipedia, “End-to-end encryption”, Available Online at <https://en.wikipedia.org/wiki/End-to-end_encryption>, Mar. 2, 2022, Retrieved Mar. 15, 2022, pp. 1-8. [cited by applicant]
Wikipedia, “In technology and the Internet” from “Decentralization”, last edited Feb. 9, 2025, available online at <https://en.wikipedia.org/wiki/Decentralization#In_technology_and_the_Internet>, retrieved Feb. 12, 2025… [cited by applicant]
Wikipedia, “Passwordless authentication”, last edited Dec. 23, 2021, available online at <https://web.archive.org/web/20220307142244/https://en.wikipedia.org/wiki/Passwordless_authentication> via The Wayback Machine as … [cited by applicant]
Wikipedia, “Progressive web application”, Available Online at <https://en.wikipedia.org/wiki/Progressive_web_application>, Mar. 15, 2022, Retrieved Mar. 15, 2022, pp. 1-8. [cited by applicant]
Wikipedia, “Progressive web application”, last edited Mar. 15, 2022, available online at <https://web.archive.org/web/20220316055734/https://en.wikipedia.org/wiki/Progressive_web_application> via The Wayback Machine as … [cited by applicant]
Wikipedia, “Proxy server”, Available Online at <https://en.wikipedia.org/wiki/Proxy_server>, Feb. 27, 2022, Retrieved Mar. 15, 2022, pp. 1-14. [cited by applicant]
Wikipedia, “Public-key cryptography”, Available Online at <https://en.wikipedia.org/wiki/Public-key_cryptography>, Feb. 28, 2022, Retrieved Mar. 15, 2022, pp. 1-11. [cited by applicant]
Wikipedia, “Public-key cryptography”, last edited Feb. 28, 2022, available online at <https://web.archive.org/web/20220316042929/https://en.wikipedia.org/wiki/Public-key_cryptography> via The Wayback Machine as retrieve… [cited by applicant]
Wikipedia, “Snapshot (computer storage)”, Available Online at <https://en.wikipedia.org/wiki/Snapshot_(computer_storage)>, Dec. 16, 2021, Retrieved Mar. 15, 2022, pp. 1-3. [cited by applicant]
Wikipedia, “V8 (JavaScript engine)”, Available Online at <https://en.wikipedia.org/wiki/V8_(JavaScript_engine)>, Mar. 2, 2022, Retrieved Mar. 15, 2022, pp. 1-4. [cited by applicant]
Wikipedia, “WebAuthn”, last edited Feb. 18, 2022, available online at <https://web.archive.org/web/20220316055519/https://en.wikipedia.org/wiki/WebAuthn> via The Wayback Machine as retrieved Mar. 16, 2022, pp. 1-8. [cited by applicant]
Wikipedia, “WebSocket”, Available Online at <https://en.wikipedia.org/wiki/WebSocket>, Mar. 6, 2022, Retrieved Mar. 15, 2022, pp. 1-9. [cited by applicant]
Red Hat, “27.4. Mail Transport Agent (MTA) Configuration,” Enterprise Linux 5 Deployment Guide, downloaded from <https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/5/html/deployment_guide/s1-email-switchm… [cited by applicant]
Wikipedia, “Message transfer agent”, available online at <https://web.archive.org/web/20220311200826/https://en.wikipedia.org/wiki/Message_transfer_agent>, Mar. 11, 2022, pp. 1-3. [cited by applicant]
Wikipedia, “Sender Policy Framework”, available online at <https://web.archive.org/web/20220316070654/https://en.wikipedia.org/wiki/Sender_Policy_Framework>, Mar. 16, 2022, pp. 1-9. [cited by applicant]
Eiji Kitamura, “Gaining security and privacy by partitioning the cache,” 2020 [retrieved Jun. 9, 25], pp. 1-14, downloaded from <url>: https://web.archive.org/web/20220316020848/https://developer.chrome.com/blog/http-ca… [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 18/467,502, Jun. 12, 2025, 35 pages. [cited by applicant]
Advisory Action, U.S. Appl. No. 18/467,502, Jun. 2, 2025, 3 pages. [cited by applicant]
Final Office Action, U.S. Appl. No. 18/467,502, Mar. 31, 2025, 35 pages. [cited by applicant]
ICANN, “List of Accredited Registrars”, available online at <https://web.archive.org/web/20220320060248/https://www.icann.org/>, Mar. 20, 2022, 4 pages. [cited by applicant]