IP Library Granted Patent US 12,470,409
Granted Patent B2
US 12,470,409 · App. 18/428,339 · Granted Nov 11, 2025

Generate blockchain-based user secrets to authenticate users to decentralized services

Inventors: Shunguo Yan (Austin, TX); Steven D. Clay (Taylor, TX); Michal Broz (Cedar Park, TX)
Assignee: International Business Machines Corporation
H04L9/3271G06F40/40H04L9/3226H04L9/50
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,470,409
App. No.
18/428,339
Granted
Nov 11, 2025
Kind
B2
Abstract

User authentication is provided. A most recent user secret block of a set of unprocessed user secret blocks corresponding to a user is retrieved from a blockchain. The user is challenged using a question and answer pair contained in the most recent user secret block of the set of unprocessed user secret blocks corresponding to the user. It is determined whether the user successfully passed the challenge using the question and answer pair contained in the most recent user secret block of the set of unprocessed user secret blocks corresponding to the user. The user is authenticated to access a decentralized service in response to determining that the user did successfully pass the challenge using the question and answer pair contained in the most recent user secret block of the set of unprocessed user secret blocks corresponding to the user. The user is allowed to access the decentralized service.

Claims (67)

1 . A computer-implemented method for user authentication, the computer-implemented method comprising:

retrieving, by a computer, a most recent user secret block of a set of unprocessed and unexpired user secret blocks generated within a last defined time interval corresponding to a user from a blockchain;

challenging, by the computer, the user using a question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user retrieved from the blockchain;

determining, by the computer, whether the user successfully passed the challenge using the question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user;

authenticating, by the computer, the user to access a decentralized service in response to the computer determining that the user did successfully pass the challenge using the question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user; and

allowing, by the computer, the user to access the decentralized service in response to the computer authenticating the user.

2 . The computer-implemented method of claim 1 , further comprising:

receiving, by the computer of the decentralized service, a request with a passcode to access the decentralized service from a client device of the user; and

determining, by the computer, whether the passcode is valid for accessing the decentralized service.

3 . The computer-implemented method of claim 2 , further comprising:

failing, by the computer, authentication of the user in response to the computer determining that the passcode is not valid for accessing the decentralized service; and

denying, by the computer, access to the decentralized service by the user in response to the computer failing authentication of the user.

4 . The computer-implemented method of claim 2 , further comprising:

retrieving, by the computer, a most recent user authentication credit block corresponding to the user that was generated within the last defined time interval and unexpired from the blockchain in response to the computer determining that the passcode is valid for accessing the decentralized service.

5 . The computer-implemented method of claim 4 , further comprising:

determining, by the computer, whether a number of accrued authentication credits contained in the most recent user authentication credit block corresponding to the user is greater than or equal to a number of authentication credits needed to access the decentralized service; and

authenticating, by the computer, the user to access the decentralized service in response to the computer determining that the number of accrued authentication credits contained in the most recent user authentication credit block corresponding to the user is greater than or equal to the number of authentication credits needed to access the decentralized service.

6 . The computer-implemented method of claim 5 , further comprising:

determining, by the computer, whether the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user exists in the blockchain that was not previously used to authenticate the user in response to the computer determining that the number of accrued authentication credits contained in the most recent user authentication credit block corresponding to the user is not greater than or equal to the number of authentication credits needed to access the decentralized service; and

retrieving, by the computer, the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user from the blockchain that is not referenced in the most recent user authentication credit block corresponding to the user in response to the computer determining that the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user does exist in the blockchain that was not previously used to authenticate the user.

7 . The computer-implemented method of claim 1 , further comprising:

generating, by the computer, a new user authentication credit block in the blockchain referencing all user secret blocks used to authenticate the user and including all accrued authentication credits corresponding to the user successfully passing the challenge.

8 . The computer-implemented method of claim 1 , further comprising:

receiving, by the computer of a service provider, an indication that the user has completed a user activity corresponding to a service of the service provider via a client device of the user; and

generating, by the computer, using natural language processing, the question and answer pair that includes a security challenge question and a correct answer based on the user activity corresponding to the service of the service provider completed by the user in response to the computer receiving the indication that the user has completed the user activity.

9 . The computer-implemented method of claim 1 , further comprising:

presenting, by the computer, the question and answer pair that includes a security challenge question and a correct answer, along with an expiration time and an authentication credit value corresponding to sensitivity of the question and answer pair to the user, for verification by the user via a client device of the user.

10 . The computer-implemented method of claim 1 , further comprising:

determining, by the computer, whether verification of the question and answer pair with a user-assigned passcode was received from the user; and

generating, by the computer, a user secret block corresponding to the user in the blockchain that contains the question and answer pair, the user-assigned passcode, an expiration time, and an authorization credit value in response to the computer determining that the verification of the question and answer pair with the user-assigned passcode was received from the user.

11 . A computer system for user authentication, the computer system comprising:

a communication fabric;

a set of computer-readable storage media connected to the communication fabric, wherein the set of computer-readable storage media collectively stores program instructions; and

a set of processors connected to the communication fabric, wherein the set of processors executes the program instructions to:

retrieve a most recent user secret block of a set of unprocessed and unexpired user secret blocks generated within a last defined time interval corresponding to a user from a blockchain;

challenge the user using a question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user retrieved from the blockchain;

determine whether the user successfully passed the challenge using the question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user;

authenticate the user to access a decentralized service in response to determining that the user did successfully pass the challenge using the question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user; and

allow the user to access the decentralized service in response to authenticating the user.

12 . The computer system of claim 11 , wherein the set of processors further executes the program instructions to:

receive a request with a passcode to access the decentralized service from a client device of the user; and

determine whether the passcode is valid for accessing the decentralized service.

13 . The computer system of claim 12 , wherein the set of processors further executes the program instructions to:

fail authentication of the user in response to determining that the passcode is not valid for accessing the decentralized service; and

deny access to the decentralized service by the user in response to failing authentication of the user.

14 . The computer system of claim 12 , wherein the set of processors further executes the program instructions to:

retrieve a most recent user authentication credit block corresponding to the user that was generated within the last defined time interval and unexpired from the blockchain in response to determining that the passcode is valid for accessing the decentralized service.

15 . The computer system of claim 14 , wherein the set of processors further executes the program instructions to:

determine whether a number of accrued authentication credits contained in the most recent user authentication credit block corresponding to the user is greater than or equal to a number of authentication credits needed to access the decentralized service; and

authenticate the user to access the decentralized service in response to determining that the number of accrued authentication credits contained in the most recent user authentication credit block corresponding to the user is greater than or equal to the number of authentication credits needed to access the decentralized service.

16 . A computer program product for user authentication, the computer program product comprising a set of computer-readable storage media having program instructions collectively stored therein, the program instructions executable by a computer to cause the computer to:

retrieve a most recent user secret block of a set of unprocessed and unexpired user secret blocks generated within a last defined time interval corresponding to a user from a blockchain;

challenge the user using a question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user retrieved from the blockchain;

determine whether the user successfully passed the challenge using the question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user;

authenticate the user to access a decentralized service in response to determining that the user did successfully pass the challenge using the question and answer pair contained in the most recent user secret block of the set of unprocessed and unexpired user secret blocks generated within the last defined time interval corresponding to the user; and

allow the user to access the decentralized service in response to authenticating the user.

17 . The computer program product of claim 16 , wherein the program instructions further cause the computer to:

receive a request with a passcode to access the decentralized service from a client device of the user; and

determine whether the passcode is valid for accessing the decentralized service.

18 . The computer program product of claim 17 , wherein the program instructions further cause the computer to:

fail authentication of the user in response to determining that the passcode is not valid for accessing the decentralized service; and

deny access to the decentralized service by the user in response to failing authentication of the user.

19 . The computer program product of claim 17 , wherein the program instructions further cause the computer to:

retrieve a most recent user authentication credit block corresponding to the user that was generated within the last defined time interval and unexpired from the blockchain in response to determining that the passcode is valid for accessing the decentralized service.

20 . The computer program product of claim 19 , wherein the program instructions further cause the computer to:

determine whether a number of accrued authentication credits contained in the most recent user authentication credit block corresponding to the user is greater than or equal to a number of authentication credits needed to access the decentralized service; and

authenticate the user to access the decentralized service in response to determining that the number of accrued authentication credits contained in the most recent user authentication credit block corresponding to the user is greater than or equal to the number of authentication credits needed to access the decentralized service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2024
From: YAN, SHUNGUO; CLAY, STEVEN D.; BROZ, MICHAL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 066322/0432 →
Continuity (1)
Related Publication 20250247257A1 · Jul 31, 2025
References Cited (41)
US 8245283B2 · Dawson et al. · 2012 [cited by applicant]
US 8812319B2 · Skerpac · 2014 [cited by applicant]
US 9940934B2 · Sachdev et al. · 2018 [cited by applicant]
US 10079819B2 · Nathan et al. · 2018 [cited by applicant]
US 10417405B2 · Cheyer et al. · 2019 [cited by applicant]
US 10482228B2 · Welsh et al. · 2019 [cited by applicant]
US 10503469B2 · Rutherford et al. · 2019 [cited by applicant]
US 10803160B2 · Tussy · 2020 [cited by applicant]
US 10972274B2 · Redpath et al. · 2021 [cited by applicant]
US 11201746B2 · Ranganathan · 2021 [cited by applicant]
US 11222099B2 · Pham · 2022 [cited by applicant]
US 11409861B2 · Bolimovsky · 2022 [cited by applicant]
US 11539526B2 · Channa et al. · 2022 [cited by applicant]
US 11582234B2 · Park et al. · 2023 [cited by applicant]
US 11621959B2 · Salkintzis · 2023 [cited by applicant]
US 11651362B2 · Madisetti et al. · 2023 [cited by applicant]
US 11665147B2 · Weimer et al. · 2023 [cited by applicant]
US 20030105959A1 · Matyas et al. · 2003 [cited by applicant]
US 20190036680A1 · Sundaresan · 2019 [cited by examiner]
US 20190392489A1 · Tietzen · 2019 [cited by examiner]
US 20200042643A1 · Carrier et al. · 2020 [cited by applicant]
US 20210390548A1 · Malik et al. · 2021 [cited by applicant]
US 20220004617A1 · Irwin, III · 2022 [cited by applicant]
US 20220174059A1 · Fields et al. · 2022 [cited by applicant]
US 20220286346A1 · Evans · 2022 [cited by applicant]
US 20230100422A1 · Jakobsson · 2023 [cited by examiner]
US 20230127913A1 · Khan et al. · 2023 [cited by applicant]
CN 108768988B · 2021 [cited by applicant]
CN 111859348B · 2022 [cited by applicant]
CN 111699665B · 2023 [cited by applicant]
JP 2015517261A · 2015 [cited by applicant]
KR 102010776B1 · 2019 [cited by applicant]
WO 2021017427A1 · 2021 [cited by applicant]
WO 2022045419A1 · 2022 [cited by applicant]
WO 2022174122A1 · 2022 [cited by applicant]
Gartner Research, “Drive Seamless Digital Customer Experiences With Composable UX,” copyright 2024 Gartner, Inc., published Oct. 26, 2021, accessed Jan. 31, 2024, 6 pages, https://www.gartner.com/en/documents/4007527. [cited by applicant]
Ouaddah, et al., “FairAccess: a new Blockchain-based access control framework for the Internet of Things,” Security and Communication Networks 2016, Feb. 19, 2017, pp. 5943-5964, Wiley Online Library, accessed Jan. 30, … [cited by applicant]
Ouda, “A framework for next generation user authentication,” 2016 3rd MEC International Conference on Big Data and Smart City (ICBDSC), 2016, pp. 1-4, IEEE, accessed Jan. 30, 2024, https://ieeexplore.ieee.org/document/7… [cited by applicant]
Rehman, et al., “Natural Language Voice based Authentication Mechanism for Smartphones (poster),” MobiSys '19: Proceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services, Jun. … [cited by applicant]
Rouhani, et al., “Blockchain based access control systems: State of the art and challenges,” WI '19: IEEE/WIC/ACM International Conference on Web Intelligence, Oct. 4, 2019, ACM Digital Library, accessed Jan. 30, 2024, … [cited by applicant]
Voege, et al., “A Study on Natural Language Chatbot-based Authentication Systems,” 2021 International Symposium on Networks, Computers and Communications (ISNCC), 2021, pp. 104, IEEE, accessed Jan. 30, 2024, https://iee… [cited by applicant]