IP Library › Granted Patent US 12,489,630
Granted Patent B2
US 12,489,630 · App. 18/514,414 · Granted Dec 2, 2025

Multi-factor authentication method and system for WEB3 services

Inventor: Xiaoyuan Yang (Madrid, ES)
Assignee: TELEFONICA INNOVACION DIGITAL, S.L.U.
H04L9/3213H04L9/30H04L9/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,489,630
App. No.
18/514,414
Granted
Dec 2, 2025
Kind
B2
Abstract

A method and system for multi-factor authenticating users in Web3 services includes a multi-factor authentication (e.g., 2FA) provider configured to validate that an end-user owns a public key in a blockchain based on a cryptocurrency or a NFT transference, the public key used as a first factor for the authentication. The authentication provider interacts with a smart contract to perform the multi-factor authentication in an operation in a smart contract by using off-chain data as the other factor(s) required for the multi-factor authentication. The off-chain data are received in a user terminal, e.g., a smartphone via SMS or a mobile application, associated with the account created in the authentication provider. The authentication result is read by each node executing the smart contract and, when a consensus is reached among nodes, a new block representing the result is generated in the blockchain.

Claims (35)

1 . A method for multi-factor authenticating users for Web 3 services, the method comprising the following steps:

creating an account in a multi-factor authentication provider by an end-user accessing the multi-factor authentication provider portal, the multi-factor authentication provider being configured to validate that the end-user owns a public key in a blockchain which identifies the end-user in Web 3 ;

associating the account in the multi-factor authentication provider with an identifier of a user terminal configured to receive off-chain data used for multi-factor authentication and coming from outside of the blockchain;

authenticating the end-user in the multi-factor authentication provider portal by using the identifier of the user terminal;

characterized in that the multi-factor authentication provider validates that the end-user owns the public key by associating the public key used as a first factor of the multi-factor authentication with the multi-factor authentication provider, and the multi-factor authentication provider interacts with a smart contract to perform the multi-factor authentication in an operation in the smart contract by using the off-chain data as one or more factors required, after the first factor, for the multi-factor authentication;

wherein the multi-factor authentication provider interacts with the smart contract by the following steps:

the end-user accesses the smart contract to perform initialization of the multi-factor authentication provider by calling a function in the smart contract to write a pair composed by the public key in the blockchain and a uniform resource locator, URL, the URL indicating the multi-factor authentication provider and that the end-user asks for multi-factor authentication;

sending an operation request from the user to execute the operation in the blockchain, the operation requesting the multi-factor authentication;

generating a session token by the blockchain and generating an event which includes the generated session token, the public key and the URL;

propagating the generated event, through an oracle network, from the blockchain to the 2FA two-factor authentication (2FA) Provider located at the URL;

looking for the end-user by the 2FA Provider in a database to search a user whose public key matches and, if so, the 2FA Provider sends out off-chain data to the user terminal to validate that the end-user owns the public key in the blockchain;

once validation is concluded, the 2FA Provider calls a verification result function in the smart contract to write a result of the multi-factor authentication associated with the session token and calls a callback function to call the operation in the smart contract; and

the result of the multi-factor authentication is read by each node executing the smart contract and, when all the nodes reach a consensus, a block is generated in the blockchain, the generated block representing the result of executing the operation.

2 . The method according to claim 1 , characterized in that the public key is anidentifier of a wallet (WalletID).

3 . The method according to claim 1 , characterized in that associating the public key with the multi-factor authentication provider is based on a cryptocurrency transference.

4 . The method according to claim 1 , characterized in that associating the public key with the multi-factor authentication provider is based on a Non-Fungible Token transference.

5 . A system for multi-factor authenticating users in Web 3 services, the system comprising a multi-factor authentication provider, which comprises a hardware processor and a multi-factor authentication provider portal, in which an end-user creates an account by accessing the multi-factor authentication provider portal, the multi-factor authentication provider being configured to:

validate that the end-user owns a public key in a blockchain which identifies the end-user in Web 3 ;

associate the created account with an identifier of a user terminal which is configured to receive off-chain data used for the multi-factor authentication and coming from outside of the blockchain;

authenticate the end-user in the multi-factor authentication provider portal by using the identifier of the user terminal;

characterized in that the multi-factor authentication provider is further configured to:

validate that the end-user owns the public key by associating the public key used as a first factor of the multi-factor authentication with the multi-factor authentication provider, and

interact with a smart contract to perform the multi-factor authentication in an operation in the smart contract by using the off-chain data as one or more factors required, after the first factor, for the multi-factor authentication;

characterized in that the multi-factor authentication provider is configured to interact with the smart contract by the following steps:

the end-user accesses the smart contract to perform initialization of the multi-factor authentication provider by calling a function in the smart contract to write a pair composed by the public key in the blockchain and a uniform resource locator, URL, the URL indicating the multi-factor authentication provider and that the end-user asks for the multi-factor authentication;

sending an operation request from the user to execute the operation in the blockchain, the operation requesting multi-factor authentication;

generating a session token by the blockchain and generating an event which includes the generated session token, the public key and the URL;

propagating the generated event, through an oracle network, from the blockchain to the 2FA two-factor authentication (2FA) Provider located at the URL;

looking for the end-user by the 2FA Provider in a database to search a user whose public key matches and, if so, the 2FA Provider sends out off-chain data to the user terminal to validate that the end-user owns the public key in the blockchain;

once validation is concluded, the 2FA Provider calls a verification result function in the smart contract to write a result of the multi-factor authentication associated with the session token and calls a callback function to call the operation in the smart contract;

the result of the multi-factor authentication is read by each node executing the smart contract and, when all the nodes reach a consensus, a block is generated in the blockchain, the generated block representing the result of executing the operation.

6 . The system according to claim 5 , characterized in that the public key is an identifier of a wallet (WalletID).

7 . The system according to claim 5 , characterized in that the multi-factor authentication provider is configured to validate that the end-user owns the public key based on a cryptocurrency transference.

8 . The system according to claim 5 , characterized in that the multi-factor authentication provider is configured to validate that the end-user owns the public key based on a Non-Fungible Token transference.

9 . The system according to claim 5 , characterized in that the user terminal is a smartphone, a smart speaker, an intelligent assistant, a tablet, a personal computer, a laptop, a TV set or a wearable programmable device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2024
From: YANG, XIAOYUAN
To: TELEFÓNICA INNOVACIÓN DIGITAL S.L.U.
Reel/Frame 067050/0797 →
Priority Claims (1)
EP 22383115 · Nov 18, 2022 · regional
Continuity (1)
Related Publication 20240195625A1 · Jun 13, 2024
References Cited (8)
US 11025431B2 · Sharma et al. · 2021 [cited by applicant]
US 11257078B2 · Mittal et al. · 2022 [cited by applicant]
US 20200213128A1 · Sharma et al. · 2020 [cited by applicant]
US 20200394651A1 · Kreder, III · 2020 [cited by examiner]
US 20220343319A1 · Murao et al. · 2022 [cited by applicant]
US 20230376941A1 · Jin · 2023 [cited by examiner]
CN 111027035B · 2022 [cited by applicant]
Zachary Diebold, “Self-Sovereign Identity using Smart Contracts on the Ethereum Blockchain”, Master in Computer Science, May 1, 2017, p. 1-76, University of Dublin, Trinity College. [cited by applicant]