CN114730333A - 四个因素认证 - Google Patents
四个因素认证 Download PDFInfo
- Publication number
- CN114730333A CN114730333A CN202180006637.XA CN202180006637A CN114730333A CN 114730333 A CN114730333 A CN 114730333A CN 202180006637 A CN202180006637 A CN 202180006637A CN 114730333 A CN114730333 A CN 114730333A
- Authority
- CN
- China
- Prior art keywords
- visual code
- user
- commitment
- message
- identity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C5/00—Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
核实用户在开始时间和结束时间之间在预先指定的地点处正在使用设备,包括:计算质询和作为质询的函数的答案;生成并在区块链中存储包括用户的身份、设备的身份、与用户相关联的预先指定的地点、设备使用的开始时间、设备使用的结束时间以及计算出的质询的承诺;生成设备的视觉代码以携带答案;使用设备的公钥对生成的视觉代码进行加密,其中经加密的视觉代码只能用设备的私钥解密;以及将经加密的视觉代码存储在区块链中。
Description
技术领域
本公开涉及用于认证的技术,更具体而言,涉及用于存储和核实用于指示多个因素的数据的***和方法。
背景技术
证明一个人在给定地点处和给定时间正在使用特定设备通常是至关重要的。例如,这种证明可以准许对给定时隙内一些受限资源的访问。例如,确保远程用户在给定时间段内操作用户从公司得到的计算机并且该计算机是在用户住所的隐私空间而不是在公共咖啡馆中使用可能是重要的。
发明内容
本公开提供:将用户与用户识别数据、密码密钥和移动设备相关联;以及将设备与设备识别数据和密码密钥相关联。本公开还包括:调度器***,其管理承诺(commitment)并包括一个或多个数据库以存储用户数据和设备数据;以及验证器***,其访问数据以审查承诺以及用户数据和设备数据。
在一种实施方式中,公开了一种用于核实用户在开始时间和结束时间之间在预先指定的地点处正在使用设备的方法。该方法包括:计算质询(challenge)和作为质询的函数的答案;生成并在区块链中存储包括用户的身份、设备的身份、与用户相关联的预先指定的地点、设备使用的开始时间、设备使用的结束时间以及计算出的质询的承诺;生成设备的视觉代码以携带答案;使用设备的公钥对生成的视觉代码进行加密,其中经加密的视觉代码只能用设备的私钥解密;以及将经加密的视觉代码存储在区块链中。
在一种实施方式中,该方法还包括将经加密的视觉代码传送到设备。在一种实施方式中,该方法还包括使用设备的私钥对经加密的视觉代码进行解密;以及在显示器上显示视觉代码的图像。在一种实施方式中,该方法还包括使用移动设备捕获视觉代码的图像;以及提取视觉代码。在一种实施方式中,该方法还包括:由移动设备生成消息,该消息包括具有移动设备的地点、从提取出的视觉代码获得的设备的身份以及当前时间的承诺;以及使用用户的私钥对消息进行签名以生成签名。在一种实施方式中,该方法还包括在接收到消息并且签名与用户的公钥匹配时核实承诺。在一种实施方式中,该方法还包括在接收到消息并且提取视觉代码的值与计算出的质询匹配时核实承诺。在一种实施方式中,该方法还包括在接收到消息并且预先指定的地点基本上等于移动设备的地点时核实承诺。在一种实施方式中,该方法还包括在接收到消息并且当前时间在由开始时间和结束时间限定的时隙内时核实承诺。
在另一实施方式中,公开了一种非暂态计算机可读存储介质,其存储核实用户在开始时间和结束时间之间在预先指定的地点处正在使用设备的计算机程序。计算机可读存储介质包括可执行指令,该可执行指令使计算机:计算质询和作为质询的函数的答案;生成并在区块链中存储包括用户的身份、设备的身份、与用户相关联的预先指定的地点、设备使用的开始时间、设备使用的结束时间以及计算出的质询的承诺;生成设备的视觉代码以携带答案;使用设备的公钥对生成的视觉代码进行加密,其中经加密的视觉代码只能用设备的私钥解密;以及将经加密的视觉代码存储在区块链中。
在另一实施方式中,公开了一种核实用户在开始时间和结束时间之间在预先指定的地点处正在使用设备的***。该***包括:区块链;待认证的设备,其中该设备通过网络连接访问区块链,其中区块链存储包括待认证设备的身份、设备的用户的身份、与用户相关联的预先指定的地点、设备使用的开始时间、设备使用的结束时间和质询的承诺;存储在设备和区块链中的用于加密和解密的设备的公钥和私钥;以及存储在区块链中的用于加密和解密的用户的公钥和私钥;以及调度器,生成设备的视觉代码以携带质询的答案、使用设备的公钥对生成的视觉代码进行加密,其中经加密的视觉代码只能用设备的私钥解密,以及将经加密的视觉代码存储在区块链中。
在一种实施方式中,该***还包括移动设备,捕获经解密的视觉代码的图像并生成包括具有移动设备的地点、从提取出的视觉代码获得的设备的身份以及当前时间的承诺的消息。
其它特征和优点从本说明书中应该是明晰的,本说明书以示例的方式图示了本公开的各方面。
附图说明
可以通过研究附图部分地收集本公开的关于其结构和操作的细节,其中:
图1是根据本公开的一种实施方式的用于实现多因素认证的***的框图;
图2是根据本公开的一种实施方式的用于核实用户从开始时间到结束时间在预先指定的地点处正在使用设备的处理的流程图;
图3是根据本公开的一种实施方式的用于核实用户遵守所生成的承诺的处理的流程图;
图4是根据本公开的一种实施方式的用于验证用户遵守所生成的承诺的处理的流程图;
图5是根据本公开的另一实施方式的用于实现多因素认证的***的框图;
图6是根据本公开的一种实施方式的用于核实用户从开始时间到结束时间在预先指定的地点处正在使用设备的处理的流程图;
图7是根据本公开的一种实施方式的用于使用智能合约验证用户遵守所生成的承诺的处理的流程图;
图8是根据本公开的另一实施方式的用于核实用户遵守所生成的承诺的处理的流程图;
图9是根据本公开的另一实施方式的用于使用智能合约验证用户遵守所生成的承诺的处理的流程图;
图10A是根据本公开的实施方式的计算机***和用户的表示;以及
图10B是图示根据本公开的实施方式的托管认证应用的计算机***的功能框图。
具体实施方式
如上所述,证明一个人在给定地点处和给定时间正在使用特定设备通常是至关重要的。
本公开的某些实施方式提供了实现用于认证的技术的***和方法。在一种实施方式中,***存储并核实用于指示四个因素(用户、设备、地点和时间段)的信息的数据。在另一实施方式中,可以使用不同的因素或不同数量的因素。
在阅读这些描述之后,如何在各种实施方式和应用中实现本公开将变得明晰。虽然本文将描述本公开的各种实施方式,但应该理解的是,这些实施方式仅以示例的方式呈现,而非限制。由此,各种实施方式的详细描述不应该被解释为限制本公开的范围或广度。
图1是根据本公开的一种实施方式的实现多因素认证的***100的框图。在图1所示的实施方式中,***100包括移动设备110、调度器130、设备150和验证器160。
参与***100的每个用户(例如,用户102)可以具有用户身份、用户公钥和用户私钥。在一种实施方式中,移动设备110被配置为捕获图像、检测其自身的位置以及与远程服务器通信。移动设备也可以保持用户私钥。
参与***100的每个设备(例如,设备150)可以具有设备身份、设备公钥和设备私钥。设备150还包括显示图像并与远程服务器通信的部件。
在一种实施方式中,调度器130针对用户生成至少一个承诺。承诺至少可以包括以下参数:用户身份;待认证的设备的设备身份;待认证的地点(例如用户的住所);设备使用的开始时间;设备使用的结束时间;生成的质询;以及状态标志。调度器130可以至少包括:用户数据库132,用于存储用户身份和与用户身份链接的用户公钥;设备数据库134,用于存储设备身份和与设备身份链接的设备公钥;以及承诺数据库136,用于存储至少一个生成的承诺。
在一种实施方式中,验证器160向调度器130查询用户102是否成功地忠于在给定地点处和给定时隙使用设备。因此,当由验证器160请求调度器130核实用户102从开始时间到结束时间在预先指定的地点处正在使用设备150时,调度器130可以如下所述进行。
图2是根据本公开的一种实施方式的用于核实用户从开始时间到结束时间在预先指定的地点处正在使用设备的处理200的流程图。在图2所示的实施方式中,可以在步骤210处以质询和答案的格式生成称为质询的随机数,其中答案=f(质询)并且f是不可逆函数,即,知道答案在计算上难以猜测质询。
在步骤220处,可以生成新的承诺,以存储至少以下信息:(1)用户的身份;(2)待认证的设备的身份;(3)待认证的地点(例如用户的住所);(4)开始时间;(5)结束时间;(6)生成的质询;以及(7)初始设置为“假”的状态标志。然后在步骤230处生成携带答案的视觉代码,并且在步骤240处用设备150的公钥对视觉代码进行加密。然后,在步骤250处,可以将得到的经加密的视觉代码140传送到设备150。应该注意的是,经加密的视觉代码只能用设备的私钥解密。在一种实施方式中,步骤210至步骤250由调度器130执行。
图3是根据本公开的一种实施方式的用于核实用户遵守生成的承诺的处理300的流程图。在图3所示的实施方式中,在步骤310处,由设备150使用设备私钥对经加密的视觉代码140进行解密。如果确定解密成功,那么在步骤320处,设备150在步骤324处在显示器152上显示经解密的视觉代码的图像。否则,如果解密不成功,那么在步骤322处中止处理300。
在图3所示的实施方式中,在步骤330处,用户102使用移动设备110捕获显示在设备150的显示器152上的(经解密的视觉代码的)图像。然后,在步骤340处,移动设备110可以从所捕获的图像中提取经解密的视觉代码(即,视觉代码)。如果在步骤350处确定提取成功,那么移动设备110可以在步骤354处通过使用用户私钥对消息120进行签名来生成包括承诺信息的消息120。否则,如果提取不成功,那么在步骤352处中止处理300。在一种实施方式中,承诺信息至少包括以下内容:(1)用户的身份;(2)由视觉代码携带的值;以及(3)移动设备的地点。在步骤360处,移动设备110可以将经签名的消息120传送到调度器130。
然后,调度器130可以在步骤370处使用经签名的消息核实承诺信息。在一种实施方式中,调度器130在步骤370处核实以下四个条件:(1)经签名的消息的签名与存储在用户数据库132中的用户公钥匹配;(2)视觉代码的值与生成的质询匹配(即,f(质询)==代码);(3)待认证的地点与移动设备的地点基本匹配;以及(4)当前时间在开始时间和结束时间之间。如果在步骤380处确定满足所有四个条件,那么在步骤382处调度器130可以将状态标志设置为“真”。否则,如果在步骤380处确定并非所有四个条件都满足,那么在步骤384处调度器130可以将状态标志保持为“假”。
图4是根据本公开的一种实施方式的用于验证用户遵守所生成的承诺的处理400的流程图。在图4所示的实施方式中,在步骤410处做出检查用户102是否忠于在当前时间从特定地点使用设备150的确定。在一种实施方式中,通过验证器160至少使用用户身份和设备身份查询调度器130来做出确定。然后,调度器130可以在步骤420处在承诺数据库136中搜索具有预期用户、设备以及在由开始时间和结束时间限定的时隙内的当前时间的承诺。如果在步骤430处确定没有这样的承诺,那么调度器130可以在步骤432处使用“未忠于”消息回答验证器160,并且该处理终止。否则,调度器130可以在步骤440处检查对应的状态标志以确定状态标志是否为“真”。如果调度器130在步骤440处确定状态标志为“真”,那么调度器130在步骤450处使用“已忠于”消息连同结束时间来回答验证器160。否则,调度器130在步骤442处使用“未忠于”消息来回答验证器160。
图5是根据本公开的另一实施方式的用于实现多因素认证的***500的框图。在图5中,可选模块和信号用虚线表示。在图5所示的实施方式中,***500包括移动设备510、调度器530、设备550和区块链570。在一种实施方式中,区块链570是被许可的区块链(诸如超级账本架构(Hyperledger Fabric))。区块链570可以管理图1中所示的验证器160、用户数据库132、设备数据库134和承诺数据库136的功能。
在图5所示的实施方式中,区块链570执行包括至少一个智能合约572的专用应用,其中被注册在被许可的区块链中的实体可以调用至少一个智能合约572。因此,在图5中,区块链可以指区块链的基础设施和算法(诸如分布式账本、一致性算法,以及被调用的智能合约的签名的核实)。
参与***500的每个用户(例如,用户502)可以是区块链570的被注册的成员。因此,区块链的认证机构(其为区块链的成员提供多种证书服务)可以提供用户公钥和用户私钥。在一种实施方式中,超级账本架构使用256位椭圆曲线密码***。
参与***500的每个设备(例如,设备550)也可以是区块链570的被注册的成员。因此,区块链的认证机构也可以提供设备公钥和设备私钥。
在一种实施方式中,调度器530也是具有调度器角色的区块链570的被注册的实体。为了创建新的承诺,调度器530可以使用包括以下各项的信息调用智能合约“创建承诺”处理(在下文中称为第一智能合约处理):(1)用户的身份(即,用户身份);(2)待认证设备的身份(即,设备身份);(3)可以通过GPS位置被定义的待认证的地点,(4)开始时间;以及(5)结束时间。
图6是根据本公开的一种实施方式的用于智能合约“创建承诺”以核实用户从开始时间到结束时间在预先指定的地点处正在使用设备的处理600的流程图。在图6所示的实施方式中,在步骤610处确定区块链是否具有关于用户身份和设备身份的任何信息。如果在步骤610处做出区块链具有关于用户身份和设备身份的信息的确定,那么在步骤620处生成两个随机数。否则,处理600在步骤612处中止。在一种实施方式中,生成的随机数是答案和种子。在步骤630处,质询可以被计算为质询=f(种子|答案),其中f是秘密函数。在一种实施方式中,秘密函数是SHA256函数。
在步骤640处,可以生成新的承诺,以存储至少以下信息:(1)用户的身份;(2)由用户拥有的设备的身份;(3)预先指定的地点(例如,用户住所的地点);(4)开始时间;(5)结束时间;(6)生成的质询;(7)种子;(8)初始设置为“假”的状态标志。在步骤650处,可以生成携带答案的视觉代码,然后在步骤660处,可以通过处理600使用设备150的公钥对视觉代码进行加密。经加密的视觉代码只能用设备150的私钥解密。即,只有具有其私钥的设备150才能显示包含答案的视觉代码。在一种实施方式中,视觉代码是快速响应(QR)码。在其它实施方式中,视觉代码是文本码或条形码。然后,在步骤670处,通过第一智能合约处理600,可以将所得的经加密的视觉代码存储在区块链中。
图7是根据本公开的一种实施方式的使用智能合约来验证用户遵守生成的承诺的用于智能合约“忠于”的处理700的流程图。在一种实施方式中,在处理600已完成之后执行处理700。
在图7所示的实施方式中,处理700在步骤710处检查用户502是否忠于在当前时间从特定地点使用设备550。在一种实施方式中,当用户502尝试使用设备550时,设备550在步骤720处至少使用用户身份查询区块链570。然后,在步骤730处,区块链570可以核实查询是由已知设备发出的并且将设备身份提供给智能合约。
然后,在步骤740处,智能合约可以在区块链570中搜索具有用户身份、设备身份以及由开始时间和结束时间限定的时隙内的当前时间的承诺。如果在步骤750处确定不存在这样的承诺,那么处理700可以在步骤752处向设备550返回“未忠于”消息。否则,在步骤760处,处理700可以检查对应的状态标志以确定状态标志是否为“真”。如果处理700在步骤760处确定状态标志为“真”,那么处理700可以在步骤770处将“已忠于”消息连同结束时间一起返回给设备550,并且在步骤780处准许用户502直到结束时间对设备550的访问。
否则,处理700在步骤762处向设备550返回“未忠于”消息。如果设备550接收到“未忠于”消息,那么在步骤752或762处,设备550不准许用户502访问。如果设备550接收到“未忠于”消息,那么在步骤752或762处,处理700进入图8中所示的处理800。
图8是根据本公开的另一实施方式的用于核实用户遵守生成的承诺的处理800的流程图。在图8所示的实施方式中,设备550在步骤810处使用设备私钥对经加密的视觉代码(在步骤670处存储在区块链570中)进行解密。如果确定解密成功,那么在步骤820处,设备550在步骤824处在显示器552上显示经解密的视觉代码的图像。否则,如果解密不成功,那么在步骤822中止处理800。
在图8所示的实施方式中,在步骤830处,用户502使用移动设备510捕获显示在设备550的显示器552上的(经解密的视觉代码的)图像。然后,在步骤840处,移动设备110可以从所捕获的图像中的经解密的视觉代码(即,视觉代码)中提取代码。如果在步骤850处确定提取成功,那么移动设备510可以在步骤854处生成包括承诺信息的消息120。否则,如果提取不成功,那么在步骤852处中止处理800。在一种实施方式中,(在步骤854中生成的)承诺信息至少包括以下各项:(1)提取出的代码;和(2)移动设备的地点。
然后,在步骤860处,移动设备510可以使用消息作为参数代表用户502调用用于智能合约“答案质询”的处理900。在超级账本架构中,调用者可以对使用其私钥签名的智能合约的请求进行签名。因此,处理900的调用对应于经签名的消息。
图9是根据本公开的另一实施方式的使用智能合约验证用户遵守生成的承诺的用于智能合约“答案质询”的处理900的流程图。在图9中,处理900在步骤910处至少使用用户身份查询区块链570。当处理900接收到智能合约的调用时,在步骤920处,区块链(即,超级账本架构)可以检查被注册的实体是否正确地对调用进行签名,并且可以提供调用者的身份以确保调用者是合法的。然后,在步骤930处,智能合约可以在区块链570中搜索具有预期用户身份、设备身份以及由开始时间和结束时间限定的时隙内的当前时间的承诺。
在图9所示的实施方式中,处理900核实三个条件。对于第一条件,在步骤940处,可以将质询计算为质询=f(种子|提取出的代码),其中提取出的代码作为被包括在消息120中的承诺信息被生成(在步骤854处),而种子作为新的承诺被生成(在步骤640处)。在一种实施方式中,函数f是SHA256函数。对于第二条件,在步骤950处,将移动设备的地点(在步骤854中生成)与预先指定的地点(在步骤640中生成)进行比较。对于第三条件,在步骤960处检查当前时间是否在由开始时间和结束时间限定的时隙内。如果在步骤970处满足(步骤940、950、960的)所有三个条件,那么在步骤980处将状态标志设置为真。否则,在步骤990处,状态标志保持为假。
图10A是根据本公开的实施方式的计算机***1000和用户1002的表示。用户1002使用计算机***1000来实现如分别关于图2至图4和图6至图9中的处理200、300、400、600、700、800、900所示和所述的认证应用1090。
计算机***1000存储并执行图10B的认证应用1090。此外,计算机***1000可以与软件程序1004通信。软件程序1004可以包括用于认证应用1090的软件代码。软件程序1004可以被加载在诸如CD、DVD或存储驱动器之类的外部介质上,如下面将进一步解释的。
此外,计算机***1000可以连接到网络1080。网络1080可以以各种不同的体系架构(例如,客户端-服务器体系架构、对等网络体系架构或其它类型的体系架构)连接。例如,网络1080可以与服务器1085(例如,位于数据源处的一组服务器)通信,该服务器1085协调在认证应用1090内使用的引擎和数据。此外,网络可以是不同类型的网络。例如,网络1080可以是因特网、局域网或局域网的任何变体、广域网、城域网、内联网或外联网或无线网络。
图10B是图示根据本公开的实施方式的托管认证应用1090的计算机***1000的功能框图。控制器1010是可编程处理器并且控制计算机***1000及其组件的操作。控制器1010从存储器1020或嵌入式控制器存储器(未示出)加载指令(例如,以计算机程序的形式)并执行这些指令以控制***。在其执行中,控制器1010向认证应用1090提供软件***,诸如以使得能够在认证应用1090内创建和配置引擎和接口。替代地,该应用可以被实现为控制器1010或计算机***1000中的单独硬件组件。
存储器1020临时存储数据以供计算机***1000的其它组件使用。在一种实施方式中,存储器1020被实现为RAM。在一种实施方式中,存储器1020还包括长期或永久存储器(诸如闪存存储器和/或ROM)。
存储装置1030临时或长期存储数据以供计算机***1000的其它组件使用。例如,存储装置1030存储由认证应用1090使用的数据。
在一种实施方式中,存储装置1030是硬盘驱动器。
介质设备1040接收可移动介质并且读取和/或写入数据到所***的介质。在一种实施方式中,例如,介质设备1040是光盘驱动器。
用户接口1050包括用于从计算机***1000的用户1002接受用户输入并向用户1002呈现信息的组件。在一种实施方式中,用户接口1050包括键盘、鼠标、音频扬声器和显示器。控制器1010使用来自用户1002的输入来调整计算机***1000的操作。
I/O接口1060包括一个或多个I/O端口以连接到对应的I/O设备(诸如外部存储装置或补充设备(例如,打印机或PDA))。在一种实施方式中,I/O接口1060的端口包括诸如USB端口、PCMCIA端口、串行端口和/或并行端口之类的端口。在另一实施方式中,I/O接口1060包括用于与外部设备无线地通信的无线接口。
网络接口1070包括支持以太网连接的有线和/或无线网络连接(诸如RJ-45或“Wi-Fi”接口(包括但不限于802.11))。
计算机***1000包括计算机***典型的附加硬件和软件(例如,电源、冷却、操作***),但是为了简单起见,这些组件没有在图10B中具体示出。在其它实施方式中,可以使用计算机***的不同配置(例如,不同的总线或存储配置或多处理器配置)。
提供本文对所公开的实施方式的描述以使本领域的任何技术人员能够制作或使用本公开。对这些实施方式的许多修改对于本领域技术人员来说将是显而易见的,并且本文定义的原理可以应用于其它实施方式而不脱离本公开的精神或范围。例如,认证可以用于各种应用(诸如准许、监视、限制或租用设备访问或内容访问)。因此,本公开不旨在限于本文所示的实施方式,而是要被赋予与本文公开的主要和新颖特征一致的最宽范围。
本公开的各种实施方式以电子硬件、计算机软件或这些技术的组合来实现。一些实施方式包括由一个或多个计算设备执行的一个或多个计算机程序。一般而言,计算设备包括一个或多个处理器、一个或多个数据存储组件(例如,易失性或非易失性存储器模块以及持久性的光和磁存储设备(诸如硬盘和软盘驱动器、CD-ROM驱动器和磁带驱动器))、一个或多个输入设备(例如,游戏控制器、鼠标和键盘),以及一个或多个输出设备(例如,显示设备)。
计算机程序包括可执行代码,该可执行代码通常存储在持久性存储介质中,然后在运行时被复制到存储器中。至少一个处理器通过以规定顺序从存储器中检索程序指令来执行代码。当执行程序代码时,计算机从输入和/或存储设备接收数据、对数据执行操作,然后将结果数据递送到输出和/或存储设备。
本领域技术人员将认识到的是,本文描述的各种说明性模块和方法步骤可以被实现为电子硬件、软件、固件或前述的组合。为了清楚地说明硬件和软件的这种互换性,在本文已总体上根据其功能性描述了各种说明性模块和方法步骤。将这种功能性实现为硬件还是软件取决于特定的应用和施加在整个***上的设计约束。技术人员可以针对每个特定应用以各种方式来实现所描述的功能性,但是此类实施方式决定不应当被解释为导致脱离本公开的范围。此外,模块或步骤内的功能的分组是为了便于描述。可以在不脱离本公开的情况下将具体功能从一个模块或步骤移动到另一模块或步骤。
不是每个上面讨论的示例的所有特征在本公开的特定实施方式中都是必需的。另外,应该理解的是,本文呈现的描述和附图代表由本公开广泛预期的主题。还应该理解的是,本公开的范围完全涵盖对于本领域技术人员将变得明显的其它实施方式,并且本公开的范围因此仅由所附权利要求书来限制。
Claims (20)
1.一种用于核实用户在开始时间和结束时间之间在预先指定的地点处正在使用设备的方法,所述方法包括:
计算质询和作为质询的函数的答案;
生成并在区块链中存储包括用户的身份、设备的身份、与用户相关联的预先指定的地点、设备使用的开始时间、设备使用的结束时间以及计算出的质询的承诺;
生成设备的视觉代码以携带答案;
使用设备的公钥对生成的视觉代码进行加密,其中经加密的视觉代码只能用设备的私钥解密;以及
将经加密的视觉代码存储在区块链中。
2.如权利要求1所述的方法,还包括
将经加密的视觉代码传送到设备。
3.如权利要求1所述的方法,还包括:
使用设备的私钥对经加密的视觉代码进行解密;以及
在显示器上显示视觉代码的图像。
4.如权利要求3所述的方法,还包括:
使用移动设备捕获视觉代码的图像;以及
提取视觉代码。
5.如权利要求4所述的方法,还包括:
由移动设备生成消息,所述消息包括具有移动设备的地点、从提取出的视觉代码获得的设备的身份以及当前时间的承诺;以及
使用用户的私钥对消息进行签名以生成签名。
6.如权利要求5所述的方法,还包括
在接收到消息并且签名与用户的公钥匹配时核实承诺。
7.如权利要求5所述的方法,还包括
在接收到消息并且提取视觉代码的值与计算出的质询匹配时核实承诺。
8.如权利要求5所述的方法,还包括
在接收到消息并且预先指定的地点基本上等于移动设备的地点时核实承诺。
9.如权利要求5所述的方法,还包括
在接收到消息并且当前时间在由开始时间和结束时间限定的时隙内时核实承诺。
10.一种存储计算机程序的非暂态计算机可读存储介质,所述计算机程序核实用户在开始时间和结束时间之间在预先指定的地点处正在使用设备,所述计算机程序包括可执行指令,所述可执行指令使计算机:
计算质询和作为质询的函数的答案;
生成并在区块链中存储包括用户的身份、设备的身份、与用户相关联的预先指定的地点、设备使用的开始时间、设备使用的结束时间以及计算出的质询的承诺;
生成设备的视觉代码以携带答案;
用设备的公钥对生成的视觉代码进行加密,其中经加密的视觉代码只能用设备的私钥解密;以及
将经加密的视觉代码存储在区块链中。
11.如权利要求10所述的非暂态计算机可读存储介质,还包括可执行指令,所述可执行指令使计算机:
将经加密的视觉代码传送到设备。
12.如权利要求10所述的非暂态计算机可读存储介质,还包括可执行指令,所述可执行指令使计算机:
使用设备的私钥对经加密的视觉代码进行解密;以及
在显示器上显示视觉代码的图像。
13.如权利要求12所述的非暂态计算机可读存储介质,还包括可执行指令,所述可执行指令使计算机:
使用移动设备捕获视觉代码的图像;以及
提取视觉代码。
14.如权利要求13所述的非暂态计算机可读存储介质,还包括可执行指令,所述可执行指令使计算机:
生成消息,所述消息包括具有移动设备的地点、从提取出的视觉代码获得的设备的身份以及当前时间的承诺;以及
使用用户的私钥对消息进行签名以生成签名。
15.如权利要求14所述的非暂态计算机可读存储介质,还包括可执行指令,所述可执行指令使计算机:
在接收到消息并且签名与用户的公钥匹配时核实承诺。
16.如权利要求14所述的非暂态计算机可读存储介质,还包括可执行指令,所述可执行指令使计算机:
在接收到消息并且提取视觉代码的值与计算出的质询匹配时核实承诺。
17.如权利要求14所述的方法,还包括可执行指令,所述可执行指令使计算机:
在接收到消息并且预先指定的地点基本上等于移动设备的地点时核实承诺。
18.如权利要求14所述的非暂态计算机可读存储介质,还包括可执行指令,所述可执行指令使计算机:
在接收到消息并且当前时间在由开始时间和结束时间限定的时隙内时核实承诺。
19.一种用于核实用户在开始时间和结束时间之间在预先指定的地点处正在使用设备的***,所述***包括:
区块链;
待认证的设备,其中所述设备通过网络连接访问区块链,
其中所述区块链存储包括待认证的设备的身份、设备的用户的身份、与用户相关联的预先指定的地点、设备使用的开始时间、设备使用的结束时间和质询的承诺;
存储在设备和区块链中的用于加密和解密的设备的公钥和私钥;
存储在区块链中的用于加密和解密的用户的公钥和私钥;以及
调度器,生成设备的视觉代码以携带质询的答案、用设备的公钥对生成的视觉代码进行加密,其中经加密的视觉代码只能用设备的私钥解密,以及将经加密的视觉代码存储在区块链中。
20.如权利要求19所述的***,还包括
移动设备,捕获经解密的视觉代码的图像并生成包括具有移动设备的地点、从提取出的视觉代码获得的设备的身份以及当前时间的承诺的消息。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063017507P | 2020-04-29 | 2020-04-29 | |
US63/017,507 | 2020-04-29 | ||
US17/129,314 US11968305B2 (en) | 2020-04-29 | 2020-12-21 | Four-factor authentication |
US17/129,314 | 2020-12-21 | ||
PCT/US2021/026250 WO2021221873A1 (en) | 2020-04-29 | 2021-04-07 | Four-factor authentication |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114730333A true CN114730333A (zh) | 2022-07-08 |
Family
ID=78293443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180006637.XA Pending CN114730333A (zh) | 2020-04-29 | 2021-04-07 | 四个因素认证 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11968305B2 (zh) |
EP (1) | EP4121874A4 (zh) |
CN (1) | CN114730333A (zh) |
WO (1) | WO2021221873A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10887090B2 (en) * | 2017-09-22 | 2021-01-05 | Nec Corporation | Scalable byzantine fault-tolerant protocol with partial tee support |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040243856A1 (en) | 2003-05-29 | 2004-12-02 | Will Shatford | Four factor authentication system and method |
US8090945B2 (en) | 2005-09-16 | 2012-01-03 | Tara Chand Singhal | Systems and methods for multi-factor remote user authentication |
US10528024B2 (en) | 2013-06-17 | 2020-01-07 | Ashley Stone | Self-learning production systems with good and/or bad part variables inspection feedback |
US11363033B2 (en) | 2017-08-04 | 2022-06-14 | Ho Yun KYUNG | Time-dependent blockchain-based self-verification user authentication method |
KR102066042B1 (ko) | 2017-10-31 | 2020-01-14 | 두산중공업 주식회사 | 연소기 및 이를 포함하는 가스 터빈 |
WO2019095200A1 (en) | 2017-11-16 | 2019-05-23 | Prisec Innovation Limited | A system and method for authenticating a user |
US11544708B2 (en) | 2017-12-29 | 2023-01-03 | Ebay Inc. | User controlled storage and sharing of personal user information on a blockchain |
WO2019232549A1 (en) | 2018-06-01 | 2019-12-05 | Integra, Inc. | Blockchain-universal document identification |
US20200037158A1 (en) | 2018-07-30 | 2020-01-30 | Hewlett Packard Enterprise Development Lp | Systems and methods for using smart contract and light and sound emitting assets provisioned with distributed ledger addresses to identify and locate assets |
SG11202003891YA (en) * | 2019-06-28 | 2020-05-28 | Advanced New Technologies Co Ltd | System and method for blockchain address mapping |
US11562351B2 (en) * | 2019-08-09 | 2023-01-24 | Its, Inc. | Interoperable mobile-initiated transactions with dynamic authentication |
US11387978B2 (en) * | 2019-09-23 | 2022-07-12 | Live Nation Entertainment, Inc. | Systems and methods for securing access rights to resources using cryptography and the blockchain |
US20210314139A1 (en) * | 2020-04-01 | 2021-10-07 | International Business Machines Corporation | Noisy transaction for protection of data |
-
2020
- 2020-12-21 US US17/129,314 patent/US11968305B2/en active Active
-
2021
- 2021-04-07 WO PCT/US2021/026250 patent/WO2021221873A1/en unknown
- 2021-04-07 EP EP21795749.7A patent/EP4121874A4/en active Pending
- 2021-04-07 CN CN202180006637.XA patent/CN114730333A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4121874A1 (en) | 2023-01-25 |
EP4121874A4 (en) | 2023-08-30 |
US11968305B2 (en) | 2024-04-23 |
WO2021221873A1 (en) | 2021-11-04 |
US20210344493A1 (en) | 2021-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799668B2 (en) | Electronic identification verification methods and systems with storage of certification records to a side chain | |
Cao et al. | Cloud-assisted secure eHealth systems for tamper-proofing EHR via blockchain | |
KR102472231B1 (ko) | 블록체인 구현 방법 및 시스템 | |
US10805085B1 (en) | PKI-based user authentication for web services using blockchain | |
CN111708991B (zh) | 服务的授权方法、装置、计算机设备和存储介质 | |
CN105474573B (zh) | 用于同步并恢复参考模板的技术 | |
US9563764B2 (en) | Method and apparatus for performing authentication between applications | |
AU2013101034A4 (en) | Registration and authentication of computing devices using a digital skeleton key | |
WO2018145127A1 (en) | Electronic identification verification methods and systems with storage of certification records to a side chain | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
US20140006781A1 (en) | Encapsulating the complexity of cryptographic authentication in black-boxes | |
EP3206329B1 (en) | Security check method, device, terminal and server | |
US10439809B2 (en) | Method and apparatus for managing application identifier | |
KR102284396B1 (ko) | 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치 | |
US20150188916A1 (en) | Vpn connection authentication system, user terminal, authentication server, biometric authentication result evidence information verification server, vpn connection server, and computer program product | |
WO2021190197A1 (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
JP2015033038A (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
WO2005107146A1 (en) | Trusted signature with key access permissions | |
CN111241492A (zh) | 一种产品多租户安全授信方法、***及电子设备 | |
CN117561508A (zh) | 可验证凭证的跨会话颁发 | |
CN114730333A (zh) | 四个因素认证 | |
CN114117388A (zh) | 设备注册方法、设备注册装置、电子设备以及存储介质 | |
USRE49968E1 (en) | Electronic identification verification methods and systems with storage of certification records to a side chain | |
CN116647413B (zh) | 应用登录方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |