[go: up one dir, main page]

CN116545681A - Level2FIDO verifier based on trusted execution environment - Google Patents

Level2FIDO verifier based on trusted execution environment Download PDF

Info

Publication number
CN116545681A
CN116545681A CN202310482385.9A CN202310482385A CN116545681A CN 116545681 A CN116545681 A CN 116545681A CN 202310482385 A CN202310482385 A CN 202310482385A CN 116545681 A CN116545681 A CN 116545681A
Authority
CN
China
Prior art keywords
user
verifier
authentication
key
verification
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
Application number
CN202310482385.9A
Other languages
Chinese (zh)
Inventor
李欣
李元正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Guotai Netcom Technology Co ltd
Chengdu Guotai Wangxin Technology Co ltd
Original Assignee
Beijing Guotai Netcom Technology Co ltd
Chengdu Guotai Wangxin Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Guotai Netcom Technology Co ltd, Chengdu Guotai Wangxin Technology Co ltd filed Critical Beijing Guotai Netcom Technology Co ltd
Priority to CN202310482385.9A priority Critical patent/CN116545681A/en
Publication of CN116545681A publication Critical patent/CN116545681A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to the technical field of identity verification, in particular to a Level2FIDO verifier based on a trusted execution environment, which comprises access equipment, a user side application and a verifier application, wherein the verifier application comprises a key module, a signature module and a storage module; the access device accesses the verifier into the user device, the key module generates a public key and a private key of a user by utilizing an encryption algorithm, the signature module executes signature operation on related data, the storage module stores the private key and authentication information of the user, the user side application ensures the integrity of the private key, the public key and the related authentication information of the extension information in the FIDO2 protocol, and ensures the security of signing the public key or the challenge value.

Description

基于可信执行环境的Level2 FIDO验证器A Level2 FIDO Authenticator Based on Trusted Execution Environment

技术领域technical field

本发明涉及身份验证技术领域,尤其涉及基于可信执行环境的Level2 FIDO验证器。The invention relates to the technical field of identity verification, in particular to a Level2 FIDO verifier based on a trusted execution environment.

背景技术Background technique

普通的密码认证时的USERNAME和PASSWORD很容易被黑客攻击所泄露,导致密码被盗、隐私被窃取和网上银行被盗付等问题,为了改善传统密码认证方式存在的问题,因此产生了许多无密码认证技术,例如:生物识别的指纹识别、面部识别和虹膜识别描等技术;利用设备的IMEI号、MAC地址等信息来确认设备身份的设备验证技术;单点登录等技术。因此无密码认证作为一种更加安全和方便的身份认证方式,逐渐被广泛应用。The USERNAME and PASSWORD of ordinary password authentication are easily leaked by hackers, leading to problems such as password theft, privacy theft, and online banking theft. In order to improve the problems existing in traditional password authentication methods, many non-password Authentication technology, such as: biometric fingerprint recognition, facial recognition and iris recognition scanning and other technologies; device verification technology that uses information such as the device's IMEI number and MAC address to confirm the identity of the device; single sign-on and other technologies. Therefore, passwordless authentication, as a more secure and convenient identity authentication method, is gradually being widely used.

而FIDO2就是采用了无密码验证的思想的一种新兴的身份验证协议,它使用公钥加密技术来实现身份验证的安全性,可以通过多种认证方式实行身份认证的高可用性。以此提供一个可以代替传统的USERNAME和PASSWORD方式的安全、可用的无密码认证方式。FIDO2 is an emerging identity authentication protocol that adopts the idea of passwordless authentication. It uses public key encryption technology to achieve identity authentication security, and can implement high availability of identity authentication through multiple authentication methods. This provides a safe and usable passwordless authentication method that can replace the traditional USERNAME and PASSWORD methods.

FIDO2工作主要基于密钥加密技术,使用FIDO2的验证器中生成的公钥与私钥,用来实现身份注册和验证服务两个流程。在身份注册阶段,认证器生成公钥和私钥对,私钥存储在本地,并将公钥通过客户端传输到服务器,在服务端存储公钥。在验证阶段,验证器提供私钥对挑战值等验证信息进行签名,该认证响应通过本地端传输至服务端,用于服务端通过公钥验证用户身份并授权操作。The work of FIDO2 is mainly based on key encryption technology, using the public key and private key generated in the FIDO2 verifier to realize the two processes of identity registration and verification services. In the identity registration phase, the authenticator generates a public key and private key pair, the private key is stored locally, and the public key is transmitted to the server through the client, and the public key is stored on the server. In the verification phase, the verifier provides a private key to sign the verification information such as the challenge value, and the authentication response is transmitted to the server through the local end, which is used by the server to verify the user's identity and authorize the operation through the public key.

虽然FIDO2已经成为一种比较可靠的安全验证技术,但是它仍然存在一些问题。例如:由于FIDO2协议需要在本地处理私钥,如果私钥存储在非安全的环境中,那么就会存在私钥被黑客盗取的风险。如果攻击者能够控制本地环境,则可以轻松在普通环境中窃取FIDO2验证器的私钥,进而可能会使用该密钥来冒充用户进行身份验证。又如,在不可信环境下的FIDO2验证器很容易受到硬件或软件篡改的攻击。黑客可以在FIDO2验证器中植入恶意硬件或软件,从而在传输中获取用户的私钥和认证信息,或者修改签名或认证请求,使其看起来合法,进而实现攻击。Although FIDO2 has become a relatively reliable security verification technology, it still has some problems. For example: Since the FIDO2 protocol needs to process the private key locally, if the private key is stored in an insecure environment, there will be a risk of the private key being stolen by hackers. If an attacker has control of the local environment, they can easily steal the private key of the FIDO2 authenticator in a normal environment, which in turn may be used to impersonate the user for authentication. As another example, FIDO2 authenticators in untrusted environments are vulnerable to hardware or software tampering. Hackers can implant malicious hardware or software in the FIDO2 verifier to obtain the user's private key and authentication information during transmission, or modify the signature or authentication request to make it look legitimate, and then attack.

发明内容Contents of the invention

本发明的目的在于提供基于可信执行环境的Level2 FIDO验证器,旨在解决传统密码验证方式存在安全性的问题。The purpose of the present invention is to provide a Level2 FIDO verifier based on a trusted execution environment, aiming to solve the problem of security in traditional password verification methods.

为实现上述目的,本发明提供了基于可信执行环境的Level2 FIDO验证器,包括接入设备、用户端应用和验证器应用,所述验证器应用包括密钥模块、签名模块和存储模块;To achieve the above object, the present invention provides a Level2 FIDO verifier based on a trusted execution environment, including an access device, a client application and a verifier application, and the verifier application includes a key module, a signature module and a storage module;

所述接入设备,用于将验证器接入用户设备;The access device is configured to connect the authenticator to the user equipment;

所述用户端应用,通过OP-TEE Client API来调用验证器,确保FIDO2协议中的私钥、公钥和扩展信息的有关认证信息的完整性,保证对公钥或挑战值进行签名的安全性;The client application calls the verifier through the OP-TEE Client API to ensure the integrity of the authentication information of the private key, public key and extended information in the FIDO2 protocol, and to ensure the security of signing the public key or challenge value ;

所述密钥模块,通过加密算法产生用户的公私钥;The key module generates the user's public and private keys through an encryption algorithm;

所述签名模块,用于执行对相关数据的签名操作;The signature module is used to perform a signature operation on relevant data;

所述存储模块,用于储存用户的私钥和认证信息。The storage module is used to store the user's private key and authentication information.

其中,所述用户端应用和所述验证器应用接口和参数包括认证证明输出、认证注册、认证断言输出、认证验证、导航创建和导航验证。Wherein, the interface and parameters of the client application and the verifier application include authentication proof output, authentication registration, authentication assertion output, authentication verification, navigation creation and navigation verification.

其中,所述认证证明输出,用于用户向验证器请求用户注册,在用户通过身份认证录入通过后,生成一组新的密钥对和一个证明,该API接受一组输入,并返回一个“证明”的输出。Wherein, the authentication certificate output is used for the user to request user registration from the verifier, and after the user passes the identity authentication and entry, a new set of key pairs and a certificate are generated. The API accepts a set of inputs and returns a " Prove" output.

其中,所述认证注册,用于注册时验证器所述用户端应用向所述验证器应用发起请求,在可信环境下生成一组密钥对和一个证明,所述认证注册输入参数和返回值应与所述认证证明输出保持一致。Wherein, the authentication registration is used for the authenticator application to initiate a request to the authenticator application during registration, to generate a set of key pairs and a certificate in a trusted environment, and the authentication registration input parameters and return The value should be consistent with the authentication proof output described.

其中,所述认证断言输出,用于用户向验证器请求用户身份验证,在用户通过身份验证通过后,用私钥对公钥和挑战信息进行签名,该API接受一组输入,并返回一个“断言”的输出。Wherein, the authentication assertion output is used for the user to request user identity verification from the authenticator. After the user passes the identity verification, the public key and the challenge information are signed with the private key. The API accepts a set of inputs and returns a " Assertion" output.

其中,所述认证验证,用于验证时验证器所述用户端应用向所述验证器应用发起请求,使得在可信环境下用私钥对公钥和挑战值信息进行签名,所述认证验证输入参数和返回值应与所述认证断言输出保持一致。Wherein, the authentication verification is used for verifying that the client application of the verifier initiates a request to the verifier application, so that the public key and the challenge value information are signed with a private key in a trusted environment, and the authentication verification The input parameters and return value shall be consistent with the authentication assertion output.

其中,所述导航创建,用于代理APP向用户请求用户注册。Wherein, the navigation creation is used to request the user registration from the proxy APP to the user.

其中,所述导航验证,用于代理APP向用户请求用户验证。Wherein, the navigation verification is used to request user verification from the user on behalf of the APP.

其中,所述用户注册操作会将用户的信息和新生成的密钥对中的公钥上传进服务器中并注册,将私钥存储于本地当中。Wherein, the user registration operation uploads the user information and the public key in the newly generated key pair to the server for registration, and stores the private key locally.

其中,所述用户验证操作会把代理发送过来的挑战在验证器中进行签名,并将签名后的信息返回至服务端,服务端使用注册时保存的公钥对该信息进行验证。Wherein, the user verification operation will sign the challenge sent by the agent in the verifier, and return the signed information to the server, and the server uses the public key saved during registration to verify the information.

本发明的基于可信执行环境的Level2 FIDO验证器,所述接入设备将验证器接入用户设备,所述密钥模块利用加密算法产生用户的公私钥,所述签名模块执行对相关数据的签名操作,所述存储模块储存用户的私钥和认证信息,所述用户端应用确保FIDO2协议中的私钥、公钥和扩展信息的有关认证信息的完整性,保证对公钥或挑战值进行签名的安全性,该验证器基于ARM TrustZone的开源可信执行环境——OP-TEE,利用其安全特性,通过创建硬件、软件隔离的安全执行环境来其免受恶意软件和攻击的影响,将FIDO2的验证器放在可信执行环境中,即所述验证器应用,将验证器同普通执行环境相隔离,保证了其运行的安全性和密钥信息存储的安全性,解决传统密码验证方式存在安全性的问题。In the Level2 FIDO verifier based on a trusted execution environment of the present invention, the access device connects the verifier to the user device, the key module uses an encryption algorithm to generate the public and private keys of the user, and the signature module executes the verification of relevant data Signature operation, the storage module stores the user's private key and authentication information, and the client application ensures the integrity of the private key, public key and extended information in the FIDO2 protocol, ensuring that the public key or challenge value is Signature security, the verifier is based on ARM TrustZone's open source trusted execution environment - OP-TEE, using its security features, by creating a secure execution environment isolated from hardware and software to protect it from malware and attacks, it will The authenticator of FIDO2 is placed in the trusted execution environment, that is, the authenticator application, which isolates the authenticator from the ordinary execution environment, ensures the security of its operation and the security of key information storage, and solves the problem of traditional password authentication methods. There are security issues.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments of the present invention. Those skilled in the art can also obtain other drawings based on these drawings without creative work.

图1是本发明提供的基于TEE的FIDO2整体架构示意图。FIG. 1 is a schematic diagram of the overall architecture of the TEE-based FIDO2 provided by the present invention.

图2是本发明提供的FIDO2验证器应用程序(TA)的构成图。Fig. 2 is a structural diagram of the FIDO2 authenticator application (TA) provided by the present invention.

图3是本发明提供的密钥模块与签名模块和存储模块关系示意图。Fig. 3 is a schematic diagram of the relationship between the key module, the signature module and the storage module provided by the present invention.

图4是本发明提供的签名模块与密钥模块和存储模块关系示意图。Fig. 4 is a schematic diagram of the relationship between the signature module, the key module and the storage module provided by the present invention.

图5是本发明提供的存储模块与密钥模块和签名模块关系示意图。Fig. 5 is a schematic diagram of the relationship between the storage module, the key module and the signature module provided by the present invention.

图6是本发明提供的注册流程图。Fig. 6 is a registration flow chart provided by the present invention.

图7是本发明提供的身份注册时,TA中的流程图。Fig. 7 is a flow chart in TA during identity registration provided by the present invention.

图8是本发明提供的验证流程图。Fig. 8 is a verification flowchart provided by the present invention.

图9是本发明提供的身份验证时,TA中的流程图。Fig. 9 is a flow chart in TA during identity verification provided by the present invention.

图中:1-接入设备、2-用户端应用、3-验证器应用、4-密钥模块、5-签名模块、6-存储模块。In the figure: 1-access device, 2-client application, 3-verifier application, 4-key module, 5-signature module, 6-storage module.

具体实施方式Detailed ways

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。Embodiments of the present invention are described in detail below, examples of which are shown in the drawings, wherein the same or similar reference numerals designate the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the figures are exemplary and are intended to explain the present invention and should not be construed as limiting the present invention.

请参阅图1至图9,本发明提供基于可信执行环境的Level2 FIDO验证器,包括接入设备1、用户端应用2和验证器应用3,所述验证器应用3包括密钥模块4、签名模块5和存储模块6;Referring to Figures 1 to 9, the present invention provides a Level2 FIDO authenticator based on a trusted execution environment, including an access device 1, a client application 2, and an authenticator application 3, the authenticator application 3 including a key module 4, signature module 5 and storage module 6;

所述接入设备1,用于将验证器接入用户设备;The access device 1 is configured to connect the authenticator to the user equipment;

所述用户端应用2,通过OP-TEE Client API来调用验证器,确保FIDO2协议中的私钥、公钥和扩展信息的有关认证信息的完整性,保证对公钥或挑战值进行签名的安全性;The client application 2 calls the verifier through the OP-TEE Client API to ensure the integrity of the private key, public key and extended information in the FIDO2 protocol, and to ensure the security of signing the public key or challenge value sex;

所述密钥模块4,通过加密算法产生用户的公私钥;The key module 4 generates the user's public and private keys through an encryption algorithm;

所述签名模块5,用于执行对相关数据的签名操作;The signature module 5 is configured to perform a signature operation on relevant data;

所述存储模块6,用于储存用户的私钥和认证信息。The storage module 6 is used to store the user's private key and authentication information.

在本实施方案中,所述用户端应用2简称CA,所述验证器应用3简称CT,所述接入设备1将验证器接入用户设备,所述密钥模块4利用加密算法产生用户的公私钥,具体的,在用户进行注册操作时,需调用此模块进行有关操作。验证器CA将相关信息传递到安全世界的验证器TA中,TA的密钥模块4生成一组密钥对,并将私钥传递给存储模块6进行后续处理,将公钥和其他信息传递给签名模块5做后续处理;In this embodiment, the client application 2 is referred to as CA, the authenticator application 3 is referred to as CT, the access device 1 connects the authenticator to the user equipment, and the key module 4 uses an encryption algorithm to generate the user's Public and private keys, specifically, when a user performs a registration operation, this module needs to be called to perform related operations. The validator CA transmits relevant information to the validator TA in the secure world, and the key module 4 of TA generates a set of key pairs, and transmits the private key to the storage module 6 for subsequent processing, and transmits the public key and other information to the Signature module 5 does follow-up processing;

所述签名模块5执行对相关数据的签名操作,具体的,在用户进行注册和验证操作时,都会用到此模块进行有关操作。注册时,该模块会对新的公钥进行签名,生成一个证明。在验证阶段时,签名模块5会用对应的私钥对挑战值等信息进行签名,生成一个断言The signature module 5 performs signature operations on relevant data. Specifically, this module is used to perform relevant operations when the user performs registration and verification operations. When registering, the module signs the new public key, generating a proof. During the verification phase, the signature module 5 will use the corresponding private key to sign the challenge value and other information to generate an assertion

所述存储模块6储存用户的私钥和认证信息,具体的,当所述密钥模块生成公钥和私钥后,会将私钥传递给所述存储模块6,所述存储模块6则将进行安全存储;当验证需要用到私钥时,该所述存储模块6将会进行安全读取,找到私钥后传回给验证模块。The storage module 6 stores the user's private key and authentication information. Specifically, after the key module generates the public key and the private key, it will pass the private key to the storage module 6, and the storage module 6 will Safe storage; when verification needs to use the private key, the storage module 6 will carry out safe reading, find the private key and send it back to the verification module.

所述用户端应用2,通过OP-TEE Client API来调用可信执行环境下的FIDO2验证器TA,确保FIDO2协议中的私钥、公钥和扩展信息的有关认证信息的完整性,保证对公钥或挑战值进行签名的安全性;The client application 2 calls the FIDO2 authenticator TA under the trusted execution environment through the OP-TEE Client API to ensure the integrity of the private key, public key and extended information in the FIDO2 protocol, and ensure the integrity of the public key. The security of signing with key or challenge value;

该验证器基于ARM TrustZone的开源可信执行环境——OP-TEE,利用其安全特性,通过创建硬件、软件隔离的安全执行环境来其免受恶意软件和攻击的影响,将FIDO2的验证器放在可信执行环境中,即所述验证器应用3,将验证器同普通执行环境相隔离,保证了其运行的安全性和密钥信息存储的安全性,解决传统密码验证方式存在安全性的问题。The verifier is based on ARM TrustZone's open source trusted execution environment - OP-TEE, using its security features to create a hardware and software isolated secure execution environment to protect it from malware and attacks, and put the FIDO2 verifier in In the trusted execution environment, that is, the verifier application 3, the verifier is isolated from the common execution environment, ensuring the security of its operation and the security of key information storage, and solving the problem of security in traditional password verification methods question.

进一步的,所述用户端应用2和所述验证器应用3接口和参数包括认证证明输出、认证注册、认证断言输出、认证验证、导航创建和导航验证。Further, the interfaces and parameters of the client application 2 and the verifier application 3 include authentication proof output, authentication registration, authentication assertion output, authentication verification, navigation creation and navigation verification.

在本实施方案中,所述认证证明输出authenticatorMakeCredential(…):属于协议中CTAP2部分的接口,用于用户向验证器请求用户注册,在用户通过身份认证录入通过后,生成一组新的密钥对和一个证明,该API接受一组输入,并返回一个“证明”的输出;In this embodiment, the authentication proof output authenticatorMakeCredential(...): an interface belonging to the CTAP2 part of the protocol, used for the user to request user registration from the authenticator, and generate a new set of keys after the user passes the identity authentication and entry pair and a proof, the API takes a set of inputs and returns a "proof" output;

所述认证注册Authentication_TA_create(…):属于验证器CA和TA之间的接口,用于注册时验证器所述用户端应用2向所述验证器应用3发起请求,在可信环境下生成一组密钥对和一个证明,其输入参数和返回值应与所述认证证明输出保持一致;参数如表1所示。The authentication registration Authentication_TA_create(...): belongs to the interface between the validator CA and TA, and is used for the validator when registering. The client application 2 initiates a request to the validator application 3 to generate a set of A key pair and a certificate, the input parameters and return value of which should be consistent with the output of the authentication certificate; the parameters are shown in Table 1.

表1Table 1

返回值,调用该接口成功后将返回attestation object和其他信息。数据结构如表2所示。Return value. After successfully calling this interface, the attestation object and other information will be returned. The data structure is shown in Table 2.

表2Table 2

所述认证断言输出authenticatorGetAssertion(…):属于协议中CTAP2部分的接口,用于用户向验证器请求用户身份验证,在用户通过身份验证通过后,用私钥对公钥和挑战等信息进行签名,该API接受一组输入,并返回一个“断言”的输出;The authentication assertion output authenticatorGetAssertion(...): an interface belonging to the CTAP2 part of the protocol, used for the user to request user identity verification from the authenticator, and after the user passes the identity verification, use the private key to sign the information such as the public key and the challenge, The API takes a set of inputs and returns an "assertion" output;

所述认证验证Authentication_TA_create(…):用于验证时验证器所述用户端应用2向所述验证器应用3发起请求,使得在可信环境下用私钥对公钥和挑战值等信息进行签名,其输入参数和返回值应与authenticatorGetAssertion(…)保持一致;The authentication verification Authentication_TA_create(...): When used for verification, the client application 2 of the verifier initiates a request to the verifier application 3, so that information such as the public key and the challenge value are signed with a private key in a trusted environment , its input parameters and return value should be consistent with authenticatorGetAssertion(…);

参数如表3所示。The parameters are shown in Table 3.

表3返回值,调用该接口成功后将如表4所示的数据结构。The return value in Table 3 will be the data structure shown in Table 4 after calling this interface successfully.

表4Table 4

所述导航创建navigator.credentials.create(…):属于协议中webauthn部分的接口,用于代理APP向用户请求用户注册;参数如表5所示。The navigation creates navigator.credentials.create(...): an interface belonging to the webauthn part of the protocol, which is used to proxy APP to request user registration from the user; the parameters are shown in Table 5.

表5table 5

所述导航验证navigator.credentials.get(…):属于协议中webauthn部分的接口,用于代理APP向用户请求用户验证;参数如表6所示The navigation verification navigator.credentials.get(...): belongs to the interface of the webauthn part of the protocol, and is used to proxy the APP to request user verification from the user; the parameters are shown in Table 6

表6Table 6

进一步的,所述用户注册操作会将用户的信息和新生成的密钥对中的公钥上传进服务器中并注册,将私钥存储于本地当中。Further, the user registration operation uploads the user information and the public key in the newly generated key pair to the server for registration, and stores the private key locally.

在本实施方案中,验证器是基于可信执行环境的FIDO2验证器,因此私钥和其他安全信息是存储在TEE环境中的。同时公私钥对的生成也是在该环境下执行的,当用户将注册信息发送至服务端时,认证服务器会校验该信息是否合法来决定注册是否成功,并将结果返回至用户端,该注册流程具体如图6所示:In this embodiment, the verifier is a FIDO2 verifier based on the trusted execution environment, so the private key and other security information are stored in the TEE environment. At the same time, the generation of the public-private key pair is also performed in this environment. When the user sends the registration information to the server, the authentication server will check whether the information is legal to determine whether the registration is successful, and return the result to the user. The specific process is shown in Figure 6:

FIDO2注册的基本步骤,其步骤如下:The basic steps of FIDO2 registration are as follows:

(1)RP APP启动注册,向服务器提交注册申请。(1) RP APP starts registration and submits a registration application to the server.

(2)服务器生成注册请求消息,服务器向用户端发起注册请求。(2) The server generates a registration request message, and the server initiates a registration request to the client.

(3)APP向调用FIDO2客户端navigator.credentials.create()接口,发送PublicKeyCredentialCreationOptions类型对象,数据包括rp信息、user信息和凭据类型等。(3) The APP calls the FIDO2 client navigator.credentials.create() interface, and sends a PublicKeyCredentialCreationOptions type object, and the data includes rp information, user information, and credential type.

(4)客户端处理请求信息,选择验证器,调用验证器接口(4) The client processes the request information, selects the validator, and calls the validator interface

authenticatorMakeCredential(clientDataHash,rp,user,pubKeyCredParams)。authenticatorMakeCredential(clientDataHash, rp, user, pubKeyCredParams).

(5)FIDO2验证器CA调用验证器采集用户身份信息,验证身份,用户验证通过后调用Authentication_TA_create()接口,使得验证器TA完成“注册”操作,“注册”操作如图7所示。(5) The FIDO2 authenticator CA calls the authenticator to collect user identity information, verifies the identity, and calls the Authentication_TA_create() interface after the user is authenticated, so that the authenticator TA completes the "registration" operation, as shown in Figure 7.

a.验证器TA密钥模块4接收传来的信息。a. The authenticator TA key module 4 receives the incoming information.

b.验证器TA密钥模块4生成一组密钥对,其中私钥传递给存储模块6。b. Authenticator TA The key module 4 generates a set of key pairs, where the private key is passed to the storage module 6 .

c.存储模块6安全存储私钥。c. The storage module 6 securely stores the private key.

d.密钥模块4将公钥和此前接受的信息打包传给签名模块5。d. The key module 4 packs the public key and the previously accepted information to the signature module 5 .

f.签名模块5用验证器自身的私钥对公钥等信息签名,生成一个attestationobject(证明),并将这个证明回传给验证器CA。f. The signature module 5 signs information such as the public key with the verifier's own private key, generates an attestation object (certificate), and sends this certificate back to the verifier CA.

(6)验证器CA向客户端返回attestationobject(authdata,fmt,publickey)。(6) The authenticator CA returns attestationobject (authdata, fmt, publickey) to the client.

(7)客户端处理信息,向RP APP发送AuthenticatorAttestationResponse,该结构体包括clientData,attestationObject。(7) The client processes the information and sends AuthenticatorAttestationResponse to the RP APP. The structure includes clientData and attestationObject.

(8)RP APP向服务器返回Response响应。(8) RP APP returns a Response response to the server.

(9)依赖方服务器验证公钥证明,若验证成功则将公钥存储在服务器端数据库中。(9) The relying party server verifies the public key certificate, and stores the public key in the server-side database if the verification is successful.

(10)服务器响应注册结果。(10) The server responds with the registration result.

进一步的,所述用户验证操作会把代理发送过来的挑战在验证器中进行签名,并将签名后的信息返回至服务端,服务端使用注册时保存的公钥对该信息进行验证。Further, the user verification operation will sign the challenge sent by the agent in the verifier, and return the signed information to the server, and the server will use the public key saved during registration to verify the information.

该注册流程具体如图8所示:The registration process is shown in Figure 8 in detail:

FIDO2验证授权过程,过程如下:FIDO2 authentication authorization process, the process is as follows:

(1)RP APP启动验证,向服务器提交验证申请。(1) RP APP starts verification and submits a verification application to the server.

(2)服务器生成验证请求消息,服务器向用户端发起注册请求。(2) The server generates a verification request message, and the server initiates a registration request to the client.

(3)APP向调用FIDO2客户端navigator.credentials.get()接口,发送CredentialRequestOptions类型对象,数据包括rp id信息、user信息和凭据类型等。(3) The APP calls the FIDO2 client navigator.credentials.get() interface, and sends a CredentialRequestOptions type object, and the data includes rp id information, user information, and credential type.

(4)客户端处理请求信息,选择验证器,调用验证器接口authenticatorGetAssertion(rpId,clientDataHash)。(4) The client processes the request information, selects an authenticator, and calls the authenticator interface authenticatorGetAssertion(rpId, clientDataHash).

(5)FIDO2验证器CA调用验证器采集用户身份信息,验证身份,用户验证通过后调用Authentication_TA_get()接口,使得验证器TA完成“验证”操作。“验证”操作如图9所示。(5) The FIDO2 authenticator CA calls the authenticator to collect user identity information, verifies the identity, and calls the Authentication_TA_get() interface after the user is verified, so that the authenticator TA completes the "verification" operation. The "verify" operation is shown in Figure 9.

a.验证器TA签名模块5接收传来的信息。a. The verifier TA signature module 5 receives the transmitted information.

b.验证器TA签名模块5向存储模块6查询用户的私钥。b. The verifier TA signature module 5 queries the storage module 6 for the user's private key.

c.存储模块6安全读取用户私钥。c. The storage module 6 securely reads the user's private key.

d.存储模块6将查询到私钥发送给签名模块5。d. The storage module 6 sends the queried private key to the signature module 5 .

f.签名模块5用对应的私钥对challenge等信息进行签名,生成一个assertionObject(断言),并将这个断言回传给验证器CA。f. The signature module 5 signs the challenge and other information with the corresponding private key, generates an assertionObject (assertion), and sends the assertion back to the verifier CA.

(6)验证器CA向客户端返回assertionObject(credential,authData,singnature)。(6) The authenticator CA returns assertionObject (credential, authData, signature) to the client.

(7)客户端处理信息,向RP APP发送AuthenticatorAssertionResponse,该结构体包括clientData,authenticatorData,signature。(7) The client processes the information and sends AuthenticatorAssertionResponse to RP APP, the structure includes clientData, authenticatorData, signature.

(8)RP APP向服务器返回Response响应。(8) RP APP returns a Response response to the server.

(9)依赖方服务器用服务器中的公钥验证断言。(9) The relying party server verifies the assertion with the public key in the server.

(10)服务器响应验证结果。(10) The server responds with the verification result.

以上所揭露的仅为本发明基于可信执行环境的Level2 FIDO验证器较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。What is disclosed above is only a preferred embodiment of the Level2 FIDO verifier based on the trusted execution environment of the present invention. Of course, it cannot be used to limit the scope of the present invention. Those of ordinary skill in the art can understand that all or all of the above embodiments can be implemented. Part of the process and the equivalent changes made according to the claims of the present invention still belong to the scope covered by the invention.

Claims (10)

1.基于可信执行环境的Level2 FIDO验证器,其特征在于,1. A Level2 FIDO verifier based on a trusted execution environment, characterized in that, 包括接入设备、用户端应用和验证器应用,所述验证器应用包括密钥模块、签名模块和存储模块;Including an access device, a client application and a verifier application, the verifier application including a key module, a signature module and a storage module; 所述接入设备,用于将验证器接入用户设备;The access device is configured to connect the authenticator to the user equipment; 所述用户端应用,通过OP-TEE Client API来调用验证器,确保FIDO2协议中的私钥、公钥和扩展信息的有关认证信息的完整性,保证对公钥或挑战值进行签名的安全性;The client application calls the verifier through the OP-TEE Client API to ensure the integrity of the authentication information of the private key, public key and extended information in the FIDO2 protocol, and to ensure the security of signing the public key or challenge value ; 所述密钥模块,通过加密算法产生用户的公私钥;The key module generates the user's public and private keys through an encryption algorithm; 所述签名模块,用于执行对相关数据的签名操作;The signature module is used to perform a signature operation on relevant data; 所述存储模块,用于储存用户的私钥和认证信息。The storage module is used to store the user's private key and authentication information. 2.如权利要求1所述的基于可信执行环境的Level2 FIDO验证器,其特征在于,2. The Level2 FIDO validator based on Trusted Execution Environment as claimed in claim 1, characterized in that, 所述用户端应用和所述验证器应用接口和参数包括认证证明输出、认证注册、认证断言输出、认证验证、导航创建和导航验证。The client application and the authenticator application interfaces and parameters include authentication proof output, authentication registration, authentication assertion output, authentication verification, navigation creation, and navigation verification. 3.如权利要求2所述的基于可信执行环境的Level2 FIDO验证器,其特征在于,3. The Level2 FIDO validator based on Trusted Execution Environment as claimed in claim 2, characterized in that, 所述认证证明输出,用于用户向验证器请求用户注册,在用户通过身份认证录入通过后,生成一组新的密钥对和一个证明,该API接受一组输入,并返回一个“证明”的输出。The authentication certificate output is used for the user to request user registration from the verifier. After the user passes the identity authentication and entry, a new set of key pairs and a certificate are generated. The API accepts a set of inputs and returns a "certificate" Output. 4.如权利要求2所述的基于可信执行环境的Level2 FIDO验证器,其特征在于,4. The Level2 FIDO verifier based on the Trusted Execution Environment as claimed in claim 2, characterized in that, 所述认证注册,用于注册时验证器所述用户端应用向所述验证器应用发起请求,在可信环境下生成一组密钥对和一个证明,所述认证注册输入参数和返回值应与所述认证证明输出保持一致。The authentication registration is used to initiate a request to the authenticator application from the client application of the authenticator during registration, and generate a set of key pairs and a certificate in a trusted environment. The input parameters and return value of the authentication registration should be Consistent with the authentication proof output described. 5.如权利要求2所述的基于可信执行环境的Level2 FIDO验证器,其特征在于,5. The Level2 FIDO verifier based on the Trusted Execution Environment as claimed in claim 2, characterized in that, 所述认证断言输出,用于用户向验证器请求用户身份验证,在用户通过身份验证通过后,用私钥对公钥和挑战信息进行签名,该API接受一组输入,并返回一个“断言”的输出。The authentication assertion output is used for the user to request user identity verification from the authenticator. After the user passes the identity verification, the public key and the challenge information are signed with the private key. The API accepts a set of inputs and returns an "assertion" Output. 6.如权利要求2所述的基于可信执行环境的Level2 FIDO验证器,其特征在于,6. The Level2 FIDO verifier based on the Trusted Execution Environment as claimed in claim 2, characterized in that, 所述认证验证,用于验证时验证器所述用户端应用向所述验证器应用发起请求,使得在可信环境下用私钥对公钥和挑战值信息进行签名,其输入参数和返回值应与所述认证断言输出保持一致。The authentication verification is used for verifying that the client application of the verifier initiates a request to the verifier application, so that the private key is used to sign the public key and challenge value information in a trusted environment, and its input parameters and return values Should be consistent with the authentication assertion output described. 7.如权利要求2所述的基于可信执行环境的Level2 FIDO验证器,所述认证验证特征在于,7. The Level2 FIDO verifier based on a trusted execution environment as claimed in claim 2, said authentication verification is characterized in that, 所述导航创建,用于代理APP向用户请求用户注册。Said navigation creation is used for proxy APP to request user registration from the user. 8.如权利要求2所述的基于可信执行环境的Level2 FIDO验证器,其特征在于,8. The Level2 FIDO verifier based on a trusted execution environment as claimed in claim 2, wherein: 所述导航验证,用于代理APP向用户请求用户验证。The navigation verification is used to request user verification from the user on behalf of the APP. 9.如权利要求7所述的基于可信执行环境的Level2 FIDO验证器,其特征在于,9. The Level2 FIDO validator based on the Trusted Execution Environment as claimed in claim 7, characterized in that, 所述用户注册操作会将用户的信息和新生成的密钥对中的公钥上传进服务器中并注册,将私钥存储于本地当中。The user registration operation uploads the user information and the public key in the newly generated key pair to the server for registration, and stores the private key locally. 10.如权利要求8所述的基于可信执行环境的Level2 FIDO验证器,其特征在于,10. The Level2 FIDO verifier based on a trusted execution environment as claimed in claim 8, wherein: 所述用户验证操作会把代理发送过来的挑战在验证器中进行签名,并将签名后的信息返回至服务端,服务端使用注册时保存的公钥对该信息进行验证。The user verification operation will sign the challenge sent by the agent in the verifier, and return the signed information to the server, and the server will use the public key saved during registration to verify the information.
CN202310482385.9A 2023-04-30 2023-04-30 Level2FIDO verifier based on trusted execution environment Pending CN116545681A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310482385.9A CN116545681A (en) 2023-04-30 2023-04-30 Level2FIDO verifier based on trusted execution environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310482385.9A CN116545681A (en) 2023-04-30 2023-04-30 Level2FIDO verifier based on trusted execution environment

Publications (1)

Publication Number Publication Date
CN116545681A true CN116545681A (en) 2023-08-04

Family

ID=87446379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310482385.9A Pending CN116545681A (en) 2023-04-30 2023-04-30 Level2FIDO verifier based on trusted execution environment

Country Status (1)

Country Link
CN (1) CN116545681A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254916A (en) * 2023-09-07 2023-12-19 奥特酷智能科技(南京)有限公司 Non-key DDS safety authentication and communication method based on OP-TEE
CN118764319A (en) * 2024-09-05 2024-10-11 湖北华中电力科技开发有限责任公司 A system login authentication method, device and equipment based on FIDO

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150121068A1 (en) * 2013-10-29 2015-04-30 Rolf Lindemann Apparatus and method for implementing composite authenticators
CN105656890A (en) * 2015-12-30 2016-06-08 深圳数字电视国家工程实验室股份有限公司 FIDO (Fast Identity Online) authenticator, system and method based on TEE (Trusted Execution Environment) and wireless confirmation
CN107070667A (en) * 2017-06-07 2017-08-18 国民认证科技(北京)有限公司 Identity identifying method, user equipment and server
CN108064440A (en) * 2017-05-25 2018-05-22 深圳前海达闼云端智能科技有限公司 FIDO authentication method, device and system based on block chain
CN108234509A (en) * 2018-01-16 2018-06-29 国民认证科技(北京)有限公司 FIDO authenticators, Verification System and method based on TEE and PKI certificates
KR20180087543A (en) * 2017-01-24 2018-08-02 한국전자통신연구원 Key management method and fido authenticator software authenticator
CN115459994A (en) * 2022-09-06 2022-12-09 亚数信息科技(上海)有限公司 A FIDO2 authentication system and method based on Internet
US20230091318A1 (en) * 2021-09-17 2023-03-23 Nok Nok Labs, Inc. System and method for pre-registration of fido authenticators

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150121068A1 (en) * 2013-10-29 2015-04-30 Rolf Lindemann Apparatus and method for implementing composite authenticators
CN105656890A (en) * 2015-12-30 2016-06-08 深圳数字电视国家工程实验室股份有限公司 FIDO (Fast Identity Online) authenticator, system and method based on TEE (Trusted Execution Environment) and wireless confirmation
KR20180087543A (en) * 2017-01-24 2018-08-02 한국전자통신연구원 Key management method and fido authenticator software authenticator
CN108064440A (en) * 2017-05-25 2018-05-22 深圳前海达闼云端智能科技有限公司 FIDO authentication method, device and system based on block chain
CN107070667A (en) * 2017-06-07 2017-08-18 国民认证科技(北京)有限公司 Identity identifying method, user equipment and server
CN108234509A (en) * 2018-01-16 2018-06-29 国民认证科技(北京)有限公司 FIDO authenticators, Verification System and method based on TEE and PKI certificates
US20230091318A1 (en) * 2021-09-17 2023-03-23 Nok Nok Labs, Inc. System and method for pre-registration of fido authenticators
CN115459994A (en) * 2022-09-06 2022-12-09 亚数信息科技(上海)有限公司 A FIDO2 authentication system and method based on Internet

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏凡星;傅山;王嘉义;余泉;: "TEE技术应用到智能设备生物识别场景的安全性分析", 移动通信, no. 21, 15 November 2017 (2017-11-15), pages 2 - 5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254916A (en) * 2023-09-07 2023-12-19 奥特酷智能科技(南京)有限公司 Non-key DDS safety authentication and communication method based on OP-TEE
CN118764319A (en) * 2024-09-05 2024-10-11 湖北华中电力科技开发有限责任公司 A system login authentication method, device and equipment based on FIDO

Similar Documents

Publication Publication Date Title
US10798087B2 (en) Apparatus and method for implementing composite authenticators
US20190281028A1 (en) System and method for decentralized authentication using a distributed transaction-based state machine
US8214890B2 (en) Login authentication using a trusted device
US8689290B2 (en) System and method for securing a credential via user and server verification
CN111027035B (en) Multi-identity authentication method and system based on block chain
CN106330850B (en) Security verification method based on biological characteristics, client and server
CN101527633B (en) Method for intelligent key devices to obtain digital certificates
CN111478769A (en) A distributed trusted identity authentication method, system, storage medium and terminal
TWI776404B (en) Method of authenticating biological payment device, apparatus, electronic device, and computer-readable medium
US20100042848A1 (en) Personalized I/O Device as Trusted Data Source
CN109040067A (en) A kind of user authentication device and authentication method based on the unclonable technology PUF of physics
US12231555B2 (en) Authentication and validation procedure for improved security in communications systems
US11930116B2 (en) Securely communicating service status in a distributed network environment
CN101241528A (en) Method and access system for terminal accessing trusted PDA
CN110659467A (en) A remote user identity authentication method, device, system, terminal and server
CN111541713A (en) Identity authentication method and device based on blockchain and user signature
CN108880822A (en) A kind of identity identifying method, device, system and a kind of intelligent wireless device
TWM595792U (en) Authorization system for cross-platform authorizing access to resources
WO2010128451A2 (en) Methods of robust multi-factor authentication and authorization and systems thereof
WO2022243708A1 (en) Custody service for authorising transactions
CN116545681A (en) Level2FIDO verifier based on trusted execution environment
CN114430324A (en) Online fast authentication method based on hash chain
CN118764319A (en) A system login authentication method, device and equipment based on FIDO
WO2016165662A1 (en) Mobile phone quasi-digital certificate subsystem, and system and method thereof
CN116707818A (en) An online rapid identity authentication system and method based on a trusted computing module

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
CB02 Change of applicant information

Country or region after: China

Address after: 610000 Sichuan Province Chengdu City High-tech Development Zone North Tianfu Avenue 1480 Building 9 E Section 301

Applicant after: Chengdu Guotai Wangxin Technology Co.,Ltd.

Applicant after: Beijing Guotai Network Information Technology Co.,Ltd.

Address before: 610000 Sichuan Province Chengdu City High-tech Development Zone North Tianfu Avenue 1480 Building 9 E Section 301

Applicant before: Chengdu Guotai Wangxin Technology Co.,Ltd.

Country or region before: China

Applicant before: Beijing Guotai Netcom Technology Co.,Ltd.

CB02 Change of applicant information