CN111512608B - 基于可信执行环境的认证协议 - Google Patents

基于可信执行环境的认证协议 Download PDF

Info

Publication number
CN111512608B
CN111512608B CN201780094994.XA CN201780094994A CN111512608B CN 111512608 B CN111512608 B CN 111512608B CN 201780094994 A CN201780094994 A CN 201780094994A CN 111512608 B CN111512608 B CN 111512608B
Authority
CN
China
Prior art keywords
master device
key
authentication
symmetric key
service provider
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.)
Active
Application number
CN201780094994.XA
Other languages
English (en)
Other versions
CN111512608A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111512608A publication Critical patent/CN111512608A/zh
Application granted granted Critical
Publication of CN111512608B publication Critical patent/CN111512608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及用于基于可信执行环境实现认证协议的系统和方法。主设备、身份提供者服务器和服务提供者服务器中的每一个与相应的可信执行环境相关联。提供认证协议用于向所述身份提供者服务器注册所述主设备;向所述身份提供者服务器认证所述主设备;以及向服务提供者服务器认证所述主设备。

Description

基于可信执行环境的认证协议
技术领域
本发明大体涉及认证协议,更具体地,涉及基于可信执行环境的认证。
背景技术
认证协议是基于计算机的通信,用于以安全方式在两个或更多个实体之间传递认证数据。认证协议允许服务器认证客户端设备,以及客户端设备认证服务器。例如,基于密码的认证协议允许客户端设备向服务器发送密码或其它认证字符串(例如,密码哈希)。然后,所述服务器根据存储在所述服务器数据库中的密码来验证收到的密码。如果所述收到的密码与所述数据库中的密码匹配,则所述服务器认证客户端设备。基于密码的认证协议是基本认证协议的示例,易受各种威胁的攻击。
单点登录(Single-sign-on,简称SSO)是允许用户登录一次并使用差异服务的技术。例如,用户使用单一账户标识符和密码登录,以访问各种服务,而无需为每个服务使用不同的用户名或密码。当前SSO的实现依赖于以密文形式存储在Cookie中的访问令牌。攻击者可能无需解密密文就能够访问密文,并使用密文以用户身份登录。
因此,需要安全的认证协议。
发明内容
本发明涉及用于基于可信执行环境实现认证协议的系统和方法。主设备、身份提供者服务器和服务提供者服务器中的每一个与相应的可信执行环境相关联。为以下各种协议情况提供认证协议:所述主设备和身份提供者服务器之间的注册协议;主设备和身份提供者服务器之间的认证协议;以及主设备和服务提供者服务器之间的认证协议。
根据广泛的方面,提供了一种用于将主设备注册到身份提供者服务器的方法。所述方法包括:向所述身份提供者服务器发送注册请求,所述注册请求包括与所述主设备用户相关联的用户标识;从所述身份提供者服务器接收签名,用于向所述主设备认证所述身份提供者服务器;使用所述签名认证身份提供者服务器;从与所述主设备相关联的可信执行环境中,基于所述签名和与所述主设备相关联的主设备密钥,来获得认证加密消息;向所述身份提供者服务器发送所述认证加密消息,用于注册所述主设备。
在至少一些实施例中,获得所述认证加密消息包括:从与所述主设备相关联的可信执行环境生成至少一个对称密钥,所述对称密钥从所述签名获得的至少一个随机数导出;并且,从与所述主设备相关联的可信执行环境中,使用所述至少一个对称密钥,来生成所述认证加密消息。
在至少一些实施例中,生成所述至少一个对称密钥包括:从第一随机数和用户密码导出第一对称密钥和第二对称密钥,其中,生成所述认证加密消息包括使用所述第一对称密钥导出密文,并使用所述第二对称密钥导出消息认证码。
在至少一些实施例中,所述密文是从第二随机数、所述主设备密钥、与所述主设备相关联的设备标识以及与所述主设备用户相关联的辅助标识导出的。
在至少一些实施例中,所述消息认证码是从所述第二随机数、所述主设备密钥、所述设备标识和所述辅助标识导出的。
在至少一些实施例中,辅助设备包括所述可信执行环境,并且所述辅助设备以通信的方式耦合到所述主设备。
根据另一广泛的方面,提供了一种主设备,包括处理单元和存储有程序指令的存储器。根据任何所述实施例,所述程序指令可由所述处理单元执行,用于执行如上所述的将所述主设备注册到身份提供者服务器的方法。
根据另一广泛的方面,提供了一种用于向服务器认证主设备的方法。所述方法包括:向所述服务器发送认证请求,所述认证请求包括与所述主设备用户相关联的用户标识;从所述服务器接收签名,用于向所述主设备认证所述服务器;使用所述签名认证所述服务器;从与所述主设备相关联的可信执行环境中,基于所述签名和与所述主设备相关联的主设备密钥,来获得第一认证加密消息;以及发送所述第一认证加密消息,用于向所述服务器认证所述主设备。
在至少一些实施例中,所述方法还包括:从所述服务器接收使用服务提供者密钥生成的第二认证加密消息;通过与所述主设备相关联的可信执行环境,基于所述签名和所述主设备密钥,对所述第二认证加密消息进行解密,以获得所述服务提供者密钥;并且,通过与所述主设备相关联的可信执行环境,验证所述服务提供者密钥,以确认所述主设备向所述服务器的认证。
在至少一些实施例中,获得所述第一认证加密消息包括:从与所述主设备相关联的可信执行环境生成至少一个对称密钥、一个用户密码和所述主设备密钥,所述至少一个对称密钥从所述签名获得的至少一个随机数导出;并且,从与所述主设备相关联的可信执行环境中,使用所述至少一个对称密钥,生成所述第一认证加密消息。
在至少一些实施例中,生成所述至少一个对称密钥包括:从第一随机数、所述用户密码、所述主设备密钥和与所述主设备用户相关联的辅助标识,导出第一对称密钥和第二对称密钥,其中,生成所述第一认证加密消息包括:使用所述第一对称密钥导出第一密文,并使用所述第二对称密钥导出第一消息认证码。
在至少一些实施例中,所述第一密文是从第二随机数导出的,所述第一消息认证码是从所述第二随机数导出的。
在至少一些实施例中,解密所述第二认证加密消息包括:使用从所述签名获得的至少一个随机数导出的至少一个对称密钥、用户密码和所述主设备密钥,来获得所述服务提供者密钥,以及通过加密服务提供者密钥生成的加密票据。
在至少一些实施例中,所述第二认证加密消息包括第二密文和第二消息认证码,所述第二密文从所述服务提供者密钥导出。
在至少一些实施例中,解密所述第二认证加密消息包括:使用从第一随机数、所述用户密码、所述主设备密钥和与所述主设备用户相关联的辅助标识导出的第一对称密钥,来解密所述第二密文,以获得所述服务提供者密钥和所述加密票据;以及使用从所述第一随机数、所述用户密码、所述主设备密钥和所述辅助标识导出的第二对称密钥,来解密所述第二消息认证码。
在至少一些实施例中,验证所述第二认证加密消息包括使用所述第二消息认证码验证所述第二密文。
在至少一些实施例中,所述认证请求包括通过加密服务提供者密钥而生成的加密票据。
在至少一些实施例中,获得所述第一认证加密消息包括:从与所述主设备相关联的可信执行环境中生成至少一个对称密钥,所述至少一个对称密钥由从所述签名获得的至少一个随机数和服务提供者密钥导出;并且,从与所述主设备相关联的可信执行环境中,使用所述至少一个对称密钥,生成所述认证加密消息。
在至少一些实施例中,生成所述至少一个对称密钥包括:从第一随机数和所述服务提供者密钥导出第一对称密钥和第二对称密钥,其中,生成所述第一认证加密消息包括使用所述第一对称密钥导出密文,并使用所述第二对称密钥导出消息认证码。
在至少一些实施例中,所述密文是从第二随机数导出的,所述消息认证码是从所述第二随机数导出的。
在至少一些实施例中,辅助设备包括所述可信执行环境,并且所述辅助设备以通信的方式耦合到所述主设备。
根据另一广泛的方面,提供了一种主设备,包括处理单元和存储有程序指令的存储器。根据任何所述实施例,所述程序指令可由所述处理单元执行,用于执行如上所述的向服务器认证所述主设备的方法。
根据另一广泛的方面,提供了一种通过身份提供者服务器注册主设备的方法。所述方法包括:从所述主设备接收注册请求,所述注册请求包括与所述主设备用户相关联的用户标识;从所述身份提供者服务器的可信执行环境中获得签名,用于向所述主设备认证所述身份提供者服务器;向所述主设备发送所述签名;从所述主设备接收基于所述签名生成的认证加密消息;通过所述身份提供者服务器的可信执行环境,使用至少一个对称密钥解密所述认证加密消息,以获得与所述主设备相关联的主设备密钥;以及使用所述主设备密钥注册所述主设备。
在至少一些实施例中,获得所述签名包括:通过所述身份提供者服务器的可信执行环境,使用至少一个随机数生成所述签名。
在至少一些实施例中,所述方法还包括:通过所述身份提供者服务器的可信执行环境,从至少一个随机数和用户密码生成至少一个对称密钥。
在至少一些实施例中,生成所述至少一个对称密钥包括:从第一随机数和所述用户密码导出第一对称密钥和第二对称密钥。
在至少一些实施例中,所述认证加密消息包括密文和消息认证码,所述密文是从第二随机数、所述主设备密钥、与所述主设备相关联的设备标识以及与所述主设备用户相关联的辅助标识导出的。
在至少一些实施例中,解密所述认证加密消息包括:使用所述第一对称密钥解密所述密文,以获得所述第二随机数、所述主设备密钥、所述设备标识和所述辅助标识;以及使用所述第二对称密钥解密所述消息认证码。
根据另一广泛的方面,提供了一种身份提供者服务器,包括处理单元和存储有程序指令的存储器。根据任何所述实施例,所述程序指令可由所述处理单元执行,用于执行如上所述的将主设备注册到所述身份提供者服务器的方法。
根据另一广泛的方面,提供了一种通过身份提供者服务器认证主设备的方法,所述主设备已经由所述身份提供者服务器注册,在此期间已经向所述身份提供者服务器提供了与主设备相关联的主设备密钥。所述方法包括:从主设备接收认证请求,所述认证请求包括与所述主设备用户相关联的用户标识;从所述身份提供者服务器的可信执行环境中获得签名,用于向所述主设备认证所述身份提供者服务器;向所述主设备发送所述签名;从所述主设备接收基于所述签名和主设备密钥的第一认证加密消息;通过所述身份提供者服务器的可信执行环境,使用至少一个对称密钥向所述身份提供者服务器认证所述主设备,来解密第一认证加密消息;从所述身份提供者服务器的可信执行环境获得第二认证加密消息,所述第二认证加密消息由服务提供者密钥生成,用于向服务提供者服务器进行认证;以及向所述主设备发送第二认证加密,以确认所述身份提供者服务器对所述主设备的认证。
在至少一些实施例中,获得所述签名包括:通过与所述主设备相关联的可信执行环境,使用至少一个随机数生成所述签名。
在至少一些实施例中,所述方法还包括:通过所述身份提供者服务器的可信执行环境,从至少一个随机数、用户密码和所述主设备密钥生成至少一个对称密钥。
在至少一些实施例中,生成所述至少一个对称密钥包括:从第一随机数、所述用户密码、所述主设备密钥和与所述主设备用户相关联的辅助标识导出第一对称密钥和第二对称密钥。
在至少一些实施例中,所述第一认证加密消息包括第一密文和第一消息认证码,所述第一密文从所述第二随机数导出。
在至少一些实施例中,使用至少一个对称密钥对第一认证加密消息进行解密,以向所述身份提供者服务器认证所述主设备,包括:使用所述第一对称密钥解密所述第一密文,以获得第二随机数,并使用所述第二对称解密所述第一消息认证码。
在至少一些实施例中,获得所述第二认证加密消息包括:通过所述身份提供者服务器的可信执行环境,使用至少一个对称密钥生成所述第二认证加密消息,其中所述第二认证加密消息由所述服务提供者密钥生成,加密票据通过加密所述服务提供者密钥生成。
在至少一些实施例中,所述第二认证加密消息包括:使用从第一随机数、所述用户密码、所述主设备密钥和与所述主设备用户相关联的辅助标识导出的第一对称密钥,来加密的第二密文;使用从所述第一随机数、所述用户密码、所述主设备密钥和所述辅助标识导出的第二对称密钥,来加密的第二消息认证码;并且,所述第二密文从所述服务提供者密钥和所述加密票据导出。
根据另一广泛的方面,提供了一种身份提供者服务器,包括处理单元和存储有程序指令的存储器。根据任何所述实施例,所述程序指令可由所述处理单元执行,用于执行如上所述的向所述身份提供者服务器认证主设备的方法。
根据另一广泛的方面,提供了一种通过身份提供者服务器认证主设备的方法,所述主设备此前已经由所述身份提供者服务器认证,在此期间已经向所述主设备提供了服务提供者密钥。所述方法包括:从所述主设备接收认证请求,所述认证请求包括与所述主设备用户相关联的用户标识和所述服务提供者密钥;从所述服务提供者服务器的可信执行环境中获得用于向所述主设备认证所述服务提供者服务器的签名;向所述主设备发送所述签名;从所述主设备接收基于所述签名和服务提供者密钥生成的认证加密消息;通过所述身份提供者服务器的可信执行环境,解密所述认证加密消息,以获得所述认证加密消息的内容;通过所述身份提供者服务器的可信执行环境,验证所述内容,以确认所述服务提供者服务器对所述主设备的认证。
在至少一些实施例中,所述方法还包括:通过所述服务提供者服务器的可信执行环境,使用身份提供者密钥对包括在所述认证请求中的加密票据进行解密,所述加密票据通过加密所述服务提供者密钥生成。
在至少一些实施例中,获得所述签名包括:通过所述服务提供者服务器的可信执行环境,使用至少一个随机数生成所述签名。
在至少一些实施例中,所述方法还包括:通过所述服务提供者服务器的可信执行环境,从至少一个随机数和所述服务提供者密钥生成至少一个对称密钥。
在至少一些实施例中,生成所述至少一个对称密钥包括:从所述第一随机数和所述服务提供者密钥导出第一对称密钥和第二对称密钥。
在至少一些实施例中,所述认证加密消息包括密文和消息认证码,所述密文从所述第二随机数导出。
在至少一些实施例中,解密和验证所述认证加密消息包括:使用所述第一对称密钥解密所述密文,以获得所述第二随机数;使用所述第二对称密钥解密所述消息认证码;使用所述密文验证所述消息认证码;以及使用生成所述签名时所使用的至少一个随机数来验证所述第二随机数。
根据另一广泛的方面,提供了一种服务提供者服务器,包括处理单元和存储有程序指令的存储器。根据任何所述实施例,所述程序指令可由所述处理单元执行,用于执行如上所述的将主设备注册到所述服务提供者服务器的方法。
附图说明
结合下面简要描述的附图,本文所描述的实施例的进一步的特征和优点在下面的详细描述中显而易见。
图1A是用于主设备、身份提供者服务器和服务提供者服务器之间的认证通信的设置的第一示例实施例;
图1B是用于主设备、身份提供者服务器和服务提供者服务器之间的认证通信的设置的第二示例实施例;
图2是示出由主设备执行的、用于所述主设备、身份提供者服务器和服务提供者服务器之间的认证通信的示例方法的流程图;
图3A是示出用于将主设备注册到身份提供者服务器的示例实施例的流程图;
图3B是示出在图3A的注册过程期间使用签名认证所述身份提供者服务器的示例实施例的流程图;
图3C是示出在图3A的注册过程期间获得认证加密消息的示例实施例的流程图;
图4A是示出向身份提供者服务器认证主设备的示例实施例的流程图;
图4B是示出在图4A的认证过程期间使用签名认证所述身份提供者服务器的示例实施例的流程图;
图4C是示出在图4A的认证过程期间获得认证加密消息的示例实施例的流程图;
图5A是示出向服务提供者服务器认证主设备的示例实施例的流程图;
图5B是示出在图5A的认证过程期间使用签名认证所述服务提供者服务器的示例实施例的流程图;
图5C是示出在图5A的认证过程期间获得认证加密消息的示例实施例的流程图;
图6是示出由身份提供者服务器执行的、用于主设备和所述身份提供者服务器之间的认证通信的示例方法的流程图;
图7是示出用于将主设备注册到身份提供者服务器的示例实施例的流程图;
图8是示出用于将主设备认证到身份提供者服务器的示例实施例的流程图;
图9是示出由服务提供者服务器执行的、用于所述服务提供者服务器和主设备之间的认证通信的示例方法的流程图;
图10是示出由服务提供者服务器认证主设备的示例实施例的流程图;
图11A示出了身份提供者服务器和主设备之间、由身份提供者服务器注册所述主设备的信号流程图的示例;
图11B示出了身份提供者服务器、主设备和辅助设备之间、由所述身份提供者服务器注册所述主设备的信号流程图的示例;
图11C示出了身份提供者服务器和主设备之间、由身份提供者服务器认证所述主设备的信号流程图的示例;
图11D示出了身份提供者服务器、主设备和辅助设备之间、由所述身份提供者服务器认证所述主设备的信号流程图的示例;
图11E示出了服务提供者服务器和主设备之间、由所述服务提供者服务器认证所述主设备的信号流程图的示例;
图11F示出了服务提供者服务器、主设备和辅助设备之间、由所述服务提供者服务器认证所述主设备的信号流程图的示例;
图12A是在将所述主设备注册到所述身份提供者服务器之前、身份提供者服务器和主设备的示例性框图;
图12B是身份提供者服务器、主设备和辅助设备的示例性框图;
图12C是在将所述主设备注册到所述身份提供者服务器之后、身份提供者服务器和主设备的示例性框图;
图12D是服务提供者服务器和主设备的示例性框图;
图13是根据一些实施例的用于实现本文所述方法的示例计算系统的框图。
需要注意的是,在所有附图中,相同的特征由相同的参考数字标号。
具体实施方式
本文描述了用于基于可信执行环境实现认证协议的方法和系统。更具体地,本文描述了用于主设备、身份提供者服务器和服务提供者服务器之间的认证通信的认证协议。
参考图1A,图1A示出了主设备120、身份提供者服务器140和服务提供者服务器160之间的认证通信的示例实施例。所述主设备120、所述身份提供者服务器140和所述服务提供者服务器160通过一个或多个网络一起通信,例如公网、Wi-Fi网络、ZigBeeTM网络、BluetoothTM网络、局域网(local area network,简称LAN)、广域网(wide area network,简称WAN)、无线网络、移动通信网络或任何其它合适的网络。根据一些实施例,所述网络是因特网。
所述主设备120可以是任何合适的联网设备,例如移动电话、智能电话、平板电脑、便携式计算机、台式计算机、可穿戴通信设备或任何其它合适的设备。所述主设备120与可信执行环境(trusted execution environment,简称TEE)相关联。在一些实施例中,如图1A所示,所述主设备120包括主要TEE 122。所述主要TEE 122是由所述主设备120的专用硬件所保护的安全执行环境。所述主要TEE 122可以是任何市售的安全执行环境,如SGXTM(由IntelTM提供)、inSeTM(由HuaweiTM提供)、TrustZoneTM(由ARMTM提供)或任何其它合适的安全执行环境。
为了实现所述主设备120和所述服务提供者服务器160之间的安全通信,所述主设备120由所述身份提供者服务器140注册和认证,并且由所述服务提供者服务器160认证。
所述身份提供者服务器140可以是一个或多个计算机、服务器集群、计算机集群或一个或多个设备的任何其它合适的配置。所述身份提供者服务器140与身份提供者TEE 142相关联。所述身份提供者TEE 142是由所述身份提供者服务器140的专用硬件所保护的安全执行环境。所述身份提供者TEE 142可以是任何市售的安全执行环境,如本文其它部分所述。所述身份提供者服务器140用于识别与所述主设备120相关联的用户,以及用于认证所述主设备120,以实现所述主设备120与所述服务提供者服务器160之间的安全通信。
所述服务提供者服务器160可以是一个或多个计算机、服务器集群、计算机集群或一个或多个设备的任何其它合适的配置。所述服务提供者服务器160与服务提供者TEE 162相关联。所述服务提供者TEE 162是由所述服务提供者服务器160的专用硬件所保护的安全执行环境。所述服务提供者TEE 162可以是任何市售的安全执行环境,如本文其它部分所述。所述服务提供者服务器160用于向所述主设备120提供服务。例如,所述服务提供者服务器160可以为所述主设备120提供网站或Web业务,以与其安全地通信。
在一些实施例中,与所述主设备120相关联的TEE由辅助设备提供。参考图1B,图1B示出了主设备120'、所述身份提供者服务器140和所述服务提供者服务器160之间的认证通信的另一示例实施例。所述主设备120'是所述主设备120的一种变体形式。在该示例中,所述主设备120'不包括TEE。相反,在该示例中,所述主设备120'与包括辅助TEE 122'的辅助设备125相关联。所述辅助TEE 122'是由所述辅助设备125的专用硬件所保护的安全执行环境。所述辅助TEE 122'可以是任何市售的安全执行环境,如本文其它部分所述。
所述辅助设备125可以是任何合适的设备,例如移动电话、智能电话、平板电脑、便携式计算机、台式计算机、可穿戴通信设备或任何其它合适的设备。所述辅助设备125可以与所述主设备120'通信耦合,以在它们之间建立安全连接。所述辅助设备125和所述主设备120'之间的安全连接可以在以下网络中实现:公网、Wi-Fi网络、ZigBeeTM网络、BluetoothTM网络、局域网(local area network,简称LAN)、广域网(wide area network,简称WAN)、无线网络、移动通信网络或任何其它合适的网络连接。所述连接可以通过因特网进行。
这里参考所述主设备120和主要TEE 122进行举例说明;然而,这些例子适用于所述主设备120'和辅助TEE 122'。换言之,本文描述的由所述主要TEE 122执行的步骤可以由所述辅助TEE 122'执行。所述主设备120'可以将由所述辅助TEE 122'处理的输入传送到所述辅助设备125。所述辅助设备125可以将来自所述辅助TEE 122'的输出传送到所述主设备120'。
参考图2,根据一些实施例,所述主设备120实现方法200,用于向所述身份提供者服务器140注册和认证所述主设备120,以及向所述服务提供者服务器160认证所述主设备120。在步骤220中,根据TEE 122、122'和142的使用情况,将所述主设备120注册到所述身份提供者服务器140。在步骤240中,根据TEE 122、122'和142的使用情况,将所述主设备120认证到所述身份提供者服务器140。在步骤260中,根据TEE 122、122'和162的使用情况,将所述主设备120认证到所述服务提供者服务器160。在步骤280中,可选地,会实现所述主设备120和所述服务提供者服务器160之间的安全通信。
参考图3A,图3A示出了根据图2的步骤220、提供由所述主设备120实现的注册认证协议的示例实施例。在步骤302中,所述主设备120向所述身份提供者服务器140发送注册请求,所述注册请求包括与所述主设备120的用户相关联的用户标识IDP。所述用户标识IDP可以是任何合适的标识,例如数字、字符串或任何其它合适的标识。在一些实施例中,所述用户标识IDP是所述用户在所述身份提供者服务器140处具有的账户相关联的账户标识符。在一些实施例中,所述用户标识IDP是电子邮件地址、电话号码、用户名或任何其它合适的帐户标识符之一。所述用户标识IDP用于在所述身份提供者服务器140中标识与所述主设备120相关联的用户。
根据一些实施例,在执行方法200之前,所述用户在身份提供者服务器140处注册帐户。在一些情况下,所述用户在帐户注册过程中向身份提供者服务器140提供用户标识IDP。在其它情况下,身份提供者服务器140在创建帐户时向用户提供用户标识IDP。在一些实施例中,注册帐户包括用户向身份提供者服务器140提供用户密码。在其它情况下,身份提供者服务器140在创建帐户时向用户提供用户密码。根据一些实施例,当用户创建帐户时,用户密码存储在主要TEE 122和身份提供者TEE 142中。在一些实施例中,密码哈希(PWD)的哈希,而并非用户密码,存储在主要TEE 122和身份提供者TEE 142中。
在步骤304中,所述主设备120从身份提供者服务器140处接收用于向主设备120认证身份提供者服务器140的注册签名。所述注册签名可以是用于向主设备120认证身份提供者服务器140的任何合适的电子或数字签名。在一些实施例中,所述注册签名由至少一个随机数生成,并且由与身份提供者服务器140相关联的私钥SKi签名。所述注册签名由身份提供者TEE 142生成。作为具体示例而非限制,所述注册签名可以由SignR(RNDR1,RNDR2)SKi表示,并且是由私钥SKi签署的第一随机数RNDR1和第二随机数RNDR2的签名。
在步骤306中,主设备120使用所述注册签名来认证身份提供者服务器140。参考图3B,图3B示出了步骤306的示例实施例。在步骤325中,主设备120从身份提供者服务器140获得与身份提供者服务器140相关联的证书。所述证书包括与身份提供者服务器140相关联的公钥PKi。根据一些实施例,所述证书由身份提供者TEE 142生成。所述公钥PKi与私钥SKi对应,使得公钥PKi可用于验证由私钥SKi签名的签名。
在步骤326中,通过使用与身份提供者服务器140相关联的公钥PKi来验证所述注册签名,以从所述注册签名获得至少一个随机数。在一种具体的非限制性实现方式中,使用公钥PKi验证所述注册签名SignR(RNDR1,RNDR2)SKi以获得第一随机数RNDR1和第二随机数RNDR2
在步骤328中,在验证所述注册签名时,身份提供者服务器140由主设备120认证。
再次参考图3A,在步骤308中,从主要TEE 122获得认证加密消息。所述认证加密消息是基于所述注册签名和与主设备120相关联的主设备密钥Kp生成的。所述主设备密钥Kp由主要TEE 122生成并存储。根据一些实施例,所述主设备密钥Kp是对称密钥。
参考图3C,图3C示出了步骤308的示例。在步骤332中,所述主要TEE 122生成至少一个注册对称密钥。根据一些实施例,至少一个注册对称密钥是通过解密所述注册签名和用户密码获得的至少一个随机数来导出的。在一种具体的非限制性实现方式中,至少一个注册对称密钥由第一注册对称密钥EKR和第二注册对称密钥AKR组成,第一和第二注册对称密钥是从第一随机数RNDR1和用户密码导出的。在本示例中,第一注册对称密钥EKR由第一密钥导出函数KDF1()生成并表示为EKR=KDF1(Hash(PWD),RNDR1)。类似地,在本示例中,第二注册对称密钥AKR由第二密钥导出函数KDF2()生成并表示为AKR=KDF2(Hash(PWD),RNDR1)。所述密钥导出函数KDF1()和KDF2()可以是从秘密输入值导出秘密密钥的任何合适的密钥导出函数。所述主要TEE 122和身份提供者TEE 142都使用相同的密钥导出函数KDF1()和KDF2()来生成第一注册对称密钥EKR和第二注册对称密钥AKR。根据一实施例,所述密钥导出函数KDF1()和KDF2()由身份提供者服务器140提供给主设备120。
在步骤334中,所述主要TEE 122使用至少一个注册对称密钥生成所述认证加密消息。在一种具体的非限制性实现方式中,通过使用第一注册对称密钥EKR导出密文CR并使用第二注册对称密钥AKR导出消息认证码TAGR来生成所述认证加密消息。在一些实施例中,通过加密第二随机数RND2、主设备密钥Kp、与主设备120相关联的设备标识IDp_dev以及与主设备120用户相关联的辅助标识来导出密文CR。所述设备标识IDp_dev可以是数字、字符串或任何其它合适的标识。在一些实施例中,所述设备标识IDp_dev是序列号、电话号码、IP地址或任何其它合适的标识之一。所述设备标识IDp_dev可以由,例如,主设备120的制造商或分销商提供。在一些实施例中,与主设备120的用户相关联的辅助标识是多因素标识符MF(multi-factor,简称MF),例如个人识别号码、数字和/或字母数字密码或代码、生物标识符(例如,指纹、视网膜扫描、面部扫描等)和/或任何其它合适的辅助标识符。在一些实施例中,所述消息认证码TAGR是从所述第二随机数RND2、所述主设备密钥Kp、所述设备标识IDp_dev和所述辅助标识导出的。所述消息认证码TAGR用于确认所述认证加密消息来自主设备120。作为具体示例而非限制,所述认证加密消息表示为(CR,TAGR)。在本示例中,所述密文CR表示为
Figure BDA0002415852920000101
所述消息认证码TAGR表示为
Figure BDA0002415852920000102
E()是加密函数,MAC()是消息认证码函数,它们组合使用以生成认证加密消息。
再次参考图3A,在步骤310中,所述主设备120将认证加密消息发送到身份提供者服务器140。所述认证加密消息用于将主设备120注册到身份提供者服务器140。在一些实施例中,在步骤312中,主设备120从身份提供者服务器140接收成功注册的确认。
在一些实施例中,在步骤220中,所述主设备120与身份提供者服务器140之间的连接包括传输层安全(transport layer security,简称TLS)通道或者任何其它合适的连接。
应当理解的是,在步骤220中,所述主设备120将主设备密钥Kp提供给身份提供者服务器140,使得所述主设备密钥Kp可以用于主设备120和身份提供者服务器140之间的安全通信。
参考图4A,图4A示出了用于向身份提供者服务器140认证主设备120的步骤240的示例实施例。在步骤402中,所述主设备120将包括用户标识IDP的认证请求发送到身份提供者服务器140。
在步骤404中,所述主设备120从身份提供者服务器140接收认证签名。所述认证签名用于向主设备120认证身份提供者服务器140。所述认证签名可以是任何合适的电子或数字签名,用于向主设备120认证身份提供者服务器140。在一些实施例中,所述认证签名由至少一个随机数生成,并由私钥SKi签名。所述认证签名由身份提供者TEE 142生成。作为具体示例而非限制,所述认证签名可以由SignA(RNDA1,RNDA2)SKi表示,是第一随机数RNDA1和第二随机数RNDA2的签名,并由私钥SKi签名。
在步骤406中,所述身份提供者服务器140由主设备120使用认证签名进行认证。参考图4B,图4B示出了步骤406的示例实施例。在步骤425中,所述主设备120从身份提供者服务器140获得包括公钥PKi的证书。在步骤426中,所述认证签名通过公钥PKi验证,以从认证签名获得至少一个随机数。在一种具体的非限制性实现方式中,通过使用公钥PKi验证认证签名SignA(RNDA1,RNDA2)SKi,从认证签名SignA(RNDA1,RNDA2)SKi获得第一随机数RNDA1和第二随机数RNDA2
在步骤428中,在验证所述认证签名时,身份提供者服务器140由主设备120认证。
再次参考图4A,在步骤408中,从主要TEE 122获得第一认证加密消息。所述第一认证加密消息基于认证签名和主设备密钥Kp
参考图4C,图4C示出了步骤408的示例实施例。在步骤432中,所述主要TEE 122生成至少一个认证对称密钥。根据一些实施例,至少一个认证对称密钥是通过从认证签名获得的至少一个随机数、用户密码和主设备密钥Kp来导出的。在一种具体的非限制性实现方式中,至少一个认证对称密钥由第一认证对称密钥EKA和第二认证对称密钥AKA组成,第一和第二认证对称密钥是从第一随机数RNDA1、用户密码、主设备密钥Kp和辅助标识导出的。在本示例中,所述第一认证对称密钥EKA由第一密钥导出函数KDF1()生成并表示为EKA=KDF1(Hash(PWD),RNDA1,Kp,MF)。类似地,在本示例中,所述第二认证对称密钥AKA由第二密钥导出函数KDF2()生成并表示为AKA=KDF2(Hash(PWD),RNDA1,Kp,MF)。所述主要TEE 122和身份提供者TEE 142都使用相同的密钥导出函数KDF1()和KDF2()来生成第一认证对称密钥EKA和第二认证对称密钥AKR
在步骤434中,所述主要TEE 122生成第一认证加密消息。所述第一认证加密消息使用至少一个认证对称密钥生成。在一种具体的非限制性实现方式中,通过使用第一认证对称密钥EKA导出第一密文CA1并使用第二认证对称密钥AKA导出第一消息认证码TAGA1来生成所述第一认证加密消息。在本示例中,所述第一密文CA1通过加密第二随机数RNDA2导出,所述第一消息认证码TAGA1由第二随机数RNDA2导出。所述第一消息认证码TAGA1用于确认所述第一认证加密消息来自主设备120。作为具体示例而非限制,所述第一认证加密消息可表示为(CA1,TAGA1)。在本示例中,所述第一密文CA1表示为
Figure BDA0002415852920000111
所述第一消息认证码TAGA1表示为
Figure BDA0002415852920000112
再次参考图4A,在步骤410中,所述主设备120将第一认证加密消息发送到身份提供者服务器140。所述第一认证加密消息用于向身份提供者服务器140认证主设备120。
在步骤412中,所述主设备120从身份提供者服务器140接收第二认证加密消息。所述第二认证加密消息通过加密服务提供者密钥Kps来生成。所述服务提供者密钥Kps用于服务提供者服务器160和主设备120之间的通信。所述第二认证加密消息使用至少一个认证对称密钥进行加密。根据一些实施例,所述服务提供者密钥Kps是对称密钥。根据一些实施例,所述第二认证加密消息通过加密已经加密的票据T来生成,已经加密的票据T通过加密服务提供者密钥Kps生成。在一些实施例中,所述加密票据T由身份提供者TEE 142使用身份提供者密钥Ksp进行加密。在一种具体的非限制性实现方式中,所述第二认证加密消息通过加密服务提供者密钥Kps和已加密票据T生成。
在一种具体的非限制性实现方式中,所述第二认证加密消息包括第二密文CA2和第二消息认证码TAGA2。在本示例中,所述第二密文CA2通过加密服务提供者密钥Kps和已加密票据T来导出。在本示例中,所述第二密文CA2使用第一认证对称密钥EKA加密,第二消息认证码TAGA2使用第二对称密钥AKA加密。例如,所述第二认证加密消息可表示为(CA2,TAGA2),第二密文CA2可表示为
Figure BDA0002415852920000113
第二消息认证码TAGA2可表示为
Figure BDA0002415852920000114
在步骤414中,所述主要TEE 122解密第二认证加密消息。解密第二认证加密消息基于认证签名和主设备密钥Kp,以从第二认证加密消息获得服务提供者密钥Kps。根据一些实施例,解密第二认证加密消息包括使用至少一个认证对称密钥来获得服务提供者密钥Kps和加密票据T。
在一种具体的非限制性实现方式中,解密第二认证加密消息(CA2,TAGA2)包括使用第一对称密钥EKA解密第二密文CA2以获得服务提供者密钥Kps和加密票据T,以及使用第二对称密钥AKA解密第二消息认证码TAGA2
在步骤416,所述主要TEE 122验证服务提供者密钥Kps,以确认身份提供者服务器140对主设备的认证。根据一些实施例,验证服务提供者密钥Kps以确认身份提供者服务器140对主设备120的认证包括:验证所述第二认证加密消息是可信的。例如,可以通过使用已解密的第二消息认证码TAGA2验证第二密文CA2的对应明文,来验证第二认证加密消息(CA2,TAGA2)。验证后,所述主设备密钥Kp和加密票据T存储在主要TEE 122中。
在一些实施例中,在步骤240中,所述主设备120与身份提供者服务器140之间的连接包括传输层安全(transport layer security,简称TLS)通道或者任何其它合适的连接。
应当理解的是,在步骤240中,所述主设备120从身份提供者服务器140处接收服务提供者密钥Kps。所述服务提供者密钥Kps用于服务提供者服务器160和主设备120之间的通信。所述服务提供者密钥Kps用于向服务提供者服务器160认证主设备120。
参考图5A,图5A示出了用于向服务提供者服务器160认证主设备120的步骤260的示例实施例,所述步骤由主设备120实现。
在步骤502中,所述主设备120将包括用户标识IDP和服务提供者密钥Kps的服务提供者认证请求发送到服务提供者服务器160。根据具体的非限制性实现方式示例,所述服务提供者认证请求包括通过加密服务提供者密钥Kps而生成的加密票据T。换言之,所述服务提供者密钥Kps由认证请求以加密票据T的形式提供。在本示例中,当身份提供者服务器140认证主设备120时,所述加密票据T提供给主设备120。
在步骤504中,所述主设备120从服务提供者服务器160处接收用于向主设备120认证服务提供者服务器160的签名。所述签名可以是用于向主设备120认证身份提供者服务器140的任何合适的电子或数字签名。在一些实施例中,所述签名由至少一个随机数生成,并且由与服务提供者服务器160相关联的服务提供者私钥SKs签名。根据一些实施例,所述签名由服务提供者TEE 162生成。作为具体示例而非限制,所述签名可以由Sign(RND1,RND2)SKs表示,并且是由私钥SKi签署的第一随机数RND1和第二随机数RND2的签名。
在步骤506中,所述主设备120使用所述签名来认证服务提供者服务器160。参考图5B,图5B示出了步骤506的示例实施例。在步骤525中,所述主设备120从服务提供者服务器160获得与服务提供者服务器160相关联的服务提供者证书。所述服务提供者证书包括与服务提供者服务器160相关联的服务提供者公钥PKs。根据一些实施例,所述证书由服务提供者TEE 162生成。所述服务提供者公钥PKs与服务提供者私钥SKs相对应,使得服务提供者公钥PKs可用于验证由服务提供者私钥SKs签名的签名。
在步骤526中,使用与服务提供者服务器160相关联的服务提供者公钥PKs来验证所述签名,以从所述签名获得至少一个随机数。在一种具体的非限制性实现方式中,通过使用服务提供者公钥PKs验证签名Sign(RND1,RND2)SKs,从所述签名Sign(RND1,RND2)SKs获得第一随机数RND1和第二随机数RND2
在步骤528中,在验证所述签名时,所述服务提供者服务器140由主设备120认证。
再次参考图5A,在步骤508中,从主要TEE 122获得认证加密消息。所述认证加密消息基于签名和服务提供者密钥Kps生成。
参考图5C,图5C示出了步骤508的示例实施例。在步骤532中,所述主要TEE 122生成至少一个对称密钥。根据一些实施例,至少一个对称密钥是通过以下二者导出:解密所述签名获得的至少一个随机数;以及服务提供者密钥Kps。在一种具体的非限制性实现方式中,至少一个对称密钥由第一对称密钥EK和第二对称密钥AK组成,第一和第二对称密钥是从第一随机数RND1和服务提供者密钥Kps导出的。在本示例中,所述第一对称密钥EK由第一密钥导出函数KDF()1生成并表示为EK=KDF1(RND1,Kps)。类似地,在本示例中,所述第二对称密钥AK由第二密钥导出函数KDF()2生成并表示为AK=KDF2(RND1,Kps)。所述主要TEE122和服务提供者TEE 162都使用密钥导出函数KDF1()和KDF2()来生成第一对称密钥EK和第二对称密钥AK。
在步骤534中,所述主要TEE 122生成认证加密消息。所述认证加密消息使用至少一个对称密钥生成。在一种具体的非限制性实现方式中,通过使用第一对称密钥EK导出密文C并使用第二对称密钥AK导出消息认证码TAG来生成所述认证加密消息。在一些实施例中,所述密文C通过加密第二随机数RND2导出。在一些实施例中,所述消息认证码通过第二随机数RND2导出。作为具体示例而非限制,所述认证加密消息表示为(C,TAG),所述密文C表示为C=E(RND2)EK,所述消息认证码表示为TAG=MAC(RND2)AK
再次参考图5A,在步骤510中,所述主设备120将所述认证加密消息发送到服务提供者服务器160。所述认证加密消息用于服务提供者服务器160认证主设备120。
在一些实施例中,在步骤260中,所述主设备120与服务提供者服务器160之间的连接包括传输层安全(TLS)通道或者任何其它合适的连接。
应当理解的是,在步骤260中,所述主设备120将服务提供者密钥Kps提供给服务提供者服务器160,使得所述服务提供者密钥Kps可以用于步骤280中主设备120和服务提供者服务器140之间的安全通信。
参考图6,根据一些实施例,所述身份提供者服务器140实现方法600,用于注册和认证所述主设备120。在步骤620中,所述身份提供者服务器140基于TEE 122、122'和142的使用来注册主设备120。在步骤640中,所述身份提供者服务器140基于TEE 122、122'和142的使用来认证主设备120。
参考图7,图7示出了步骤620中在身份提供者服务器140上注册主设备120的示例实施例,这一过程由身份提供者服务器140来实现。在步骤702中,所述身份提供者服务器140从主设备120接收包括用户标识IDp的注册请求。根据一些实施例,所述身份提供者服务器140使用用户标识IDp来识别与主设备120相关联的用户。例如,所述用户标识IDp可用于识别在身份提供者服务器140中与用户相关联的账户。
在步骤704中,所述身份提供者TEE 142生成注册签名,并且所述身份提供者服务器140从身份提供者TEE 142获得注册签名。所述注册签名用于向主设备120认证身份提供者服务器140。在一些实施例中,所述注册签名使用至少一个随机数生成,并由私钥SKi签名。例如,在执行步骤704之前,所述身份提供者TEE 142生成私钥SKi和对应的公钥PKi,并将私钥SKi存储在身份提供者TEE 142中。根据一些实施例,身份提供者TEE 142生成包括公钥PKi的证书,并且身份提供者服务器140将证书提供给主设备120。所述私钥SKi和公钥PKi对可以在部署身份提供者服务器时生成。在一些实施例中,至少一个生成的随机数是第一随机数RNDR1和第二随机数RNDR2。所述至少一个生成的随机数可存储在与用户标识IDp相关联的身份提供者TEE 142中。作为具体示例而非限制,所述注册签名可以由SignR(RNDR1,RNDR2)SKi表示,并且是经私钥SKi签署的、第一随机数RNDR1和第二随机数RNDR2的签名。
在步骤706中,所述身份提供者服务器140将所述注册签名发送到主设备120。
在步骤708中,所述身份提供者服务器140从主设备120接收认证加密消息。所述认证加密消息基于注册签名和主设备密钥Kp生成。在一种具体的非限制性实现方式中,所述认证加密消息包括密文CR和消息认证码TAGR。在本示例中,所述密文CR是通过加密所述第二随机数RNDR2、所述主设备密钥Kp、所述设备标识IDp_dev和所述辅助标识来导出的。例如,所述认证加密消息可表示为(CR,TAGR),所述密文CR可表示为
Figure BDA0002415852920000141
Figure BDA0002415852920000142
所述消息认证码TAGR可表示为
Figure BDA0002415852920000143
在步骤710中,所述身份提供者TEE 142使用至少一个注册对称密钥来解密所述认证加密消息,可至少获得主设备密钥Kp
所述至少一个注册对称密钥由身份提供者TEE 142生成。根据一些实施例,所述至少一个注册对称密钥是从至少一个随机数生成的,所述至少一个随机数已由注册签名和用户密码加密。如前所述,根据一些实施例,当用户在身份提供者服务器140处创建账户时,会提供用户密码。所述用户密码存储在与用户标识IDp相关联的身份提供者TEE 142中。这样,可以基于注册请求中提供的用户标识IDp来获得所述用户密码。在一些实施例中,生成至少一个注册对称密钥包括从第一随机数RNDR1和用户密码导出第一注册对称密钥EKR和第二注册对称密钥AKR。在一种具体的非限制性实现方式中,至少一个注册对称密钥是第一注册对称密钥EKR和第二注册对称密钥AKR。在本示例中,所述第一注册对称密钥EKR和第二注册对称密钥AKR从第一随机数RNDR1和用户密码导出。在本示例中,第一注册对称密钥EKR由第一密钥导出函数KDF()1生成并表示为EKR=KDF1(Hash(PWD),RNDR1)。类似地,在本示例中,第二注册对称密钥AKR由第二密钥导出函数KDF()2生成并表示为AKR=KDF2(Hash(PWD),RNDR1)。可在步骤710中生成至少一个注册对称密钥,或者,在先前步骤中已经生成,例如在收到注册请求之后。所述至少一个注册对称密钥可存储在与用户标识IDp相关联的身份提供者TEE 142中。
在一种具体的非限制性实现方式中,解密所述认证加密消息(CR,TAGR)包括使用第一注册对称密钥EKR解密密文CR以获得第二随机数RND2、主设备密钥Kp、设备标识IDp和辅助标识,并且包括:使用第二注册对称密钥AKR解密消息认证码TAGR。所述认证加密消息(CR,TAGR)使用解密消息认证码TAGR来验证。可以将从所述认证加密消息(CR,TAGR)获得的第二随机数RNDR2与在注册签名SignR(RNDR1,RNDR2)SKi中提供的第二随机数RNDA2进行比较,以认证所述认证加密消息(CR,TAGR)。
在步骤712中,所述身份提供者服务器140使用主设备密钥Kp来注册主设备120。根据一些实施例,至少所述主设备密钥Kp存储在与用户标识IDp相关联的身份提供者TEE 142中。在一些实施例中,所述设备标识IDp_dev和辅助标识存储在与用户标识IDp相关联的身份提供者TEE 142中。在一些实施例中,可以在不使用辅助标识和/或设备标识IDp_dev的情况下实现身份提供者服务器140和主设备120之间的注册协议。
在一些实施例中,在步骤620中,所述主设备120与身份提供者服务器140之间的连接包括传输层安全(transport layer security,简称TLS)通道或者任何其它合适的连接。
应当理解的是,在步骤620中,所述主设备120将主设备密钥Kp提供给身份提供者服务器140,使得所述主设备密钥Kp可以用于主设备120和身份提供者服务器140之间的安全通信。
参考图8,图8示出了由身份提供者服务器140实现的用于提供认证协议的步骤640的示例实施例。在步骤802中,所述身份提供者服务器140接收包括来自主设备120的用户标识IDp的认证请求。根据一些实施例,所述身份提供者服务器使用用户标识IDp来标识与主设备120相关联的用户。例如,所述用户标识IDp可用于标识与身份提供者服务器140中的用户相关联的账户。
在步骤804中,所述身份提供者TEE 142生成认证签名,并且所述身份提供者服务器140从身份提供者TEE 142获得认证签名。所述认证签名用于向主设备120认证身份提供者服务器140。在一些实施例中,所述认证签名使用至少一个随机数生成,并由私钥SKi签名。所述身份提供者TEE 142生成至少一个随机数,并将与用户标识IDP相关联的至少一个随机数存储在身份提供者TEE 142中。在一些实施例中,至少一个生成的随机数是第一随机数RNDA1和第二随机数RNDA2。作为具体示例而非限制,所述认证签名由SignA(RNDA1,RNDA2)SKi表示。所述认证签名SignA(RNDA1,RNDA2)SKi是使用第一随机数RNDA1和第二随机数RNDA2生成的签名,并由私钥SKi签名。
在步骤806中,所述身份提供者服务器140将所述认证签名发送到主设备120。
在步骤808中,所述身份提供者服务器140从主设备120接收第一认证加密消息。所述第一认证加密消息基于认证签名和主设备密钥Kp生成。在一种具体的非限制性实现方式中,所述第一认证加密消息包括第一密文CA1和第一消息认证码TAGA1。所述第一密文CA1由第一认证对称密钥EKA生成,所述第一消息认证码TAGA1由第二认证对称密钥AKA生成。在一些实施例中,所述第一密文CA1通过加密第二随机数RNDA2导出,所述第一消息认证码TAGA1由第二随机数RNDA2导出。作为具体示例而非限制,所述第一认证加密消息可表示为(CA1,TAGA1),所述第一密文CA1可以表示为
Figure BDA0002415852920000151
所述第一消息认证码TAGA1可以表示为
Figure BDA0002415852920000152
在步骤810中,所述身份提供者TEE 142使用至少一个认证对称密钥解密所述第一认证加密消息。解密所述第一认证加密消息的结果用来认证主设备120。
所述至少一个认证对称密钥由身份提供者TEE 142生成。根据一些实施例,所述至少一个认证对称密钥是从至少一个随机数生成的,所述至少一个随机数已由认证签名、用户密码和主设备密钥Kp加密。在一种具体的非限制性实现方式中,至少一个认证对称密钥由所述第一认证对称密钥EKA和所述第二认证对称密钥AKA组成,所述第一和第二认证对称密钥是从第一随机数RNDA1、用户密码、主设备密钥Kp和辅助标识导出的。所述用户密码、主设备密钥Kp和辅助标识已经事先存储在与用户标识IDp相关联的身份提供者TEE 142中。这样,可以基于认证请求中提供的用户标识IDp获得用户密码、主设备密钥Kp和辅助标识。在本示例中,所述第一认证对称密钥EKA由第一密钥导出函数KDF1()生成并表示为EKA=KDF1(Hash(PWD),RNDA1,Kp,MF)。类似地,在本示例中,所述第二认证对称密钥AKA由第二密钥导出函数KDF2()生成并表示为AKA=KDF2(Hash(PWD),RNDA1,Kp,MF)。可在步骤810中生成至少一个认证对称密钥,或者,在先前步骤中已经生成,例如在收到注册请求之后。例如,所述第一认证对称密钥EKA和第二认证对称密钥AKA可以根据认证请求导出,并存储在与用户标识IDp相关联的身份提供者TEE 142中。
在一种具体的非限制性实现方式中,解密所述第一认证加密消息(CA1,TAGA1)包括使用第一认证对称密钥EKA解密第一密文CA1以获得第二随机数RNDA2,以及使用第二对称AKA解密第一消息认证码TAGA。所述第一认证加密消息(CA1,TAGA1)使用解密第一消息认证码TAGA来验证。可以将从所述第一认证加密消息(CA1,TAGA1)获得的第二随机数RNDA2与在认证签名SignA(RNDA1,RNDA2)SKi中提供的第二随机数RNDA2进行比较,以认证所述主设备120。
在解密和验证所述第一认证加密消息后,所述身份提供者142生成服务提供者密钥Kps。根据一些实施例,所述身份提供者TEE 142通过使用所述身份提供者密钥Ksp来解密服务提供者密钥Kps,以生成加密票据T。所述加密票据T可以表示为
Figure BDA0002415852920000161
E()是任何合适的加密函数。在一些实施例中,所述加密票据T通过加密服务提供者密钥Kps和用户标识IDp来生成。根据一些实施例,所述身份提供者密钥Ksp是对称密钥。
在步骤812中,所述身份提供者TEE 142生成第二认证加密消息,所述身份提供者服务器从身份提供者TEE 142获得第二认证加密消息。根据一些实施例,所述身份提供者TEE142使用至少一个认证对称密钥生成第二认证加密消息。所述第二认证加密消息通过加密至少服务提供者密钥Kps来生成。根据一些实施例,所述第二认证加密消息通过加密所述加密票据T来生成。在一种具体的非限制性实现方式中,所述第二认证加密消息通过加密服务提供者密钥Kps和加密票据T来生成。
在一种具体的非限制性实现方式中,所述第二认证加密消息包括所述第二密文CA2和所述第二消息认证码TAGA2。在本示例中,所述第二密文CA2通过加密服务提供者密钥Kps和已加密票据T来生成。在本示例中,所述第二密文CA2使用第一认证对称密钥EKA加密,第二消息认证码TAGA2使用第二认证对称密钥AKA加密。例如,所述第二认证加密消息可表示为(CA2,TAGA2),第二密文CA2可表示为
Figure BDA0002415852920000162
第二消息认证码TAGA2可表示为
Figure BDA0002415852920000163
在步骤814中,所述身份提供者服务器140将第二认证加密发送到主设备120。所述第二认证加密用于确认主设备120的认证。
在一些实施例中,在步骤640中,所述主设备120与身份提供者服务器140之间的连接包括传输层安全(transport layer security,简称TLS)通道或者任何其它合适的连接。
应当理解的是,在步骤640中,所述身份提供者服务器140将服务提供者密钥Kps提供给主设备120,使得所述服务提供者密钥Kps可以用于主设备120和服务提供者服务器160之间的安全通信。
参考图9,根据一些实施例,所述服务提供者服务器160实现包括基于TEE的认证协议的方法900。在步骤920中,所述服务提供者服务器160根据TEE认证所述主设备120。在步骤960中,可选地,所述服务提供者服务器160和所述主设备120之间的安全通信可基于服务提供者密钥Kps。根据步骤640,在所述主设备120已经由所述身份提供者服务器140认证之后执行步骤920。
参考图10,图10示出了由服务提供者服务器160实现的步骤920的示例实施例。在步骤1002中,所述服务提供者服务器160接收包括来自主设备120的用户标识IDp和服务提供者密钥Kps的服务提供者认证请求。根据具体的非限制性实现方式示例,所述服务提供者认证请求包括所述加密票据T。在本示例中,加密票据T通过加密所述服务提供者密钥Kps生成。换言之,所述服务提供者密钥Kps由认证请求以加密票据T的形式提供。
根据一些实施例,在接收到所述服务提供者认证请求之后,所述服务提供者TEE162使用身份提供者密钥Ksp解密加密票据T以获得服务提供者密钥Kps。所述服务提供者密钥Kps存储在与用户标识IDP相关联的服务提供者TEE 162中。在一些实施例中,所述身份提供者服务器140在执行方法900之前将身份提供者密钥Ksp提供给服务提供者服务器140。所述服务提供者服务器140将身份提供者密钥Ksp存储在服务提供者TEE 162中。在一些实施例中,所述服务提供者服务器140存储与用户标识IDp相关联的身份提供者密钥Ksp。在一些实施例中,所述服务提供者服务器160从身份提供者服务器140请求身份提供者密钥Ksp
在步骤1004中,所述服务提供者TEE 162生成签名,用于向主设备120认证服务提供者服务器160,所述服务提供者服务器160从服务提供者TEE 162获得所述签名。在一些实施例中,所述签名通过使用至少一个随机数生成,并由所述服务提供者私钥SKs签名。例如,在执行步骤1004之前,所述服务提供者TEE 162生成服务提供者私钥SKs和对应的服务提供者公钥PKs,并将服务提供者私钥SKs存储在服务提供者TEE 162中。根据一些实施例,所述服务提供者TEE 162生成包括服务提供者公钥PKs的服务提供者证书,并且所述服务提供者服务器160将所述服务提供者证书提供给主设备120。所述服务提供者TEE 162生成至少一个随机数,并将与用户标识IDP相关联的至少一个随机数存储在服务提供者162中。在一些实施例中,至少一个生成的随机数是第一随机数RND1和第二随机数RND2。作为具体示例而非限制,所述签名可以由Sign(RND1,RND2)SKs表示,并且是经服务提供者私钥SKs签署的、第一随机数RND1和第二随机数RND2的签名。
在步骤1006中,所述服务提供者服务器160将所述签名发送到主设备120。
在步骤1008中,所述服务提供者服务器160从主设备120接收认证加密消息。所述认证加密消息基于所述签名和服务提供者密钥Ksp。在一种具体的非限制性实现方式中,所述认证加密消息包括使用第一对称密钥EK加密的密文C以及使用第二对称密钥AK生成的消息认证码TAG。在本示例中,所述密文C通过加密第二随机数RND2生成,所述消息认证码由第二随机数RND2导出。作为具体示例而非限制,所述认证加密消息表示为(C,TAG),所述密文C表示为C=E(RND2)EK,所述消息认证码TAG表示为TAG=MAC(RND2)AK
在步骤1010中,所述服务提供者TEE 162解密所述认证加密消息,以获得所述认证加密消息的明文。根据一些实施例,所述服务提供者TEE 162使用至少一个对称密钥解密所述认证加密消息。
所述至少一个对称密钥由服务提供者TEE 162生成。根据一些实施例,所述至少一个对称密钥是由服务提供者TEE 162从至少一个随机数导出的,所述至少一个随机数已由所述签名和服务提供者密钥Kps加密。在一种具体的非限制性实现方式中,至少一个对称密钥由所述第一对称密钥EK和所述第二对称密钥AK组成,所述第一和第二对称密钥是从第一随机数RND1和服务提供者密钥Kps导出的。在本示例中,所述第一对称密钥EK由第一密钥导出函数KDF1()生成并表示为EK=KDF1(RND1,Kps)。类似地,在本示例中,所述第二对称密钥AK由第二密钥导出函数KDF2()生成并表示为AK=KDF2(RND1,Kps)。可在步骤1010中生成至少一个对称密钥,或者,在先前步骤中已经生成,例如在收到服务提供者注册请求之后。例如,所述第一对称密钥EK和第二对称密钥AK可以根据认证请求导出,并存储在与用户标识IDp相关联的服务提供者TEE 162中。
在一种具体的非限制性实现方式中,所述服务提供者TEE 162解密所述认证加密消息(C,TAG)以获得第二随机数RND2。例如,使用所述第一对称密钥EK解密密文C以获得第二随机数RND2,使用所述第二对称密钥AK解密消息认证码。
在步骤1012中,所述服务提供者TEE 162验证所述认证加密消息的明文,以认证所述主设备120。根据一些实施例,所述认证加密消息(C,TAG)是使用解密消息认证码TAG来验证的。可以将从所述认证加密消息(C,TAG)获得的第二随机数RND2与经过签名Sign(RND1,RND2)SKs加密的第二随机数RND2进行比较,以认证所述主设备120。
在一些实施例中,在步骤920中,所述主设备120与服务提供者服务器160之间的连接包括传输层安全(transport layer security,简称TLS)通道或者任何其它合适的连接。
应当理解的是,在步骤920中,所述主设备120将服务提供者密钥Kps提供给服务提供者服务器140,使得所述服务提供者密钥Kps可以用于主设备120和服务提供者服务器160之间的安全通信。例如,所述服务提供者服务器140和主设备120可以使用基于服务提供者密钥Kps生成的第一对称密钥EK和第二对称密钥AK,以便在它们之间进行安全通信。
为了进一步说明方法200、600和900,本文中参考图11A到11F中所示的信号流程图描述了特定、非限制性示例。
参考图11A,信号流程图示出了主设备120正在注册到身份提供者服务器140的具体、非限制性示例。所述主设备120将包括用户标识IDP的注册请求发送到身份提供者服务器140。所述身份提供者TEE 142生成第一和第二随机数RNDR1、RNDR2。所述身份提供者TEE142通过使用私钥SKi对第一和第二随机数RNDR1、RNDR2进行签名来生成注册签名SignR(RNDR1,RNDR2)SKi。所述身份提供者TEE 142从先前存储在所述身份提供者TEE 142中的第一随机数RNDR1和用户密码生成第一注册对称密钥EKR和第二注册对称密钥AKR。第一注册对称密钥EKR、第二注册对称密钥AKR和第一和第二随机数RNDR1、RNDR2存储在与用户标识IDP相关联的身份提供者TEE 142中。所述身份提供者服务器140向主设备120发送注册签名SignR(RNDR1,RNDR2)SKi。所述主设备120使用公钥PKi验证所述注册签名SignR(RNDR1,RNDR2)SKi,以获得第一和第二随机数RNDR1、RNDR2。所述主要TEE 122根据所获得的第一随机数RNDR1和存储在主要TEE 122中的用户密码生成第一注册对称密钥EKR和第二注册对称密钥AKR。所述主要TEE 122生成包括密文CR和消息认证码TAGR的认证消息(CR,TAGR)。所述密文CR通过第一注册对称密钥EKR加密。所述消息认证码TAGR通过第二注册对称密钥AKR加密。所述第一密文CR是通过加密所述第二随机数RNDR2、所述主设备密钥Kp、所述设备标识IDp_dev和所述多因素标识符MF来生成的。所述主设备TEE 120将认证消息(CR,TAGR)发送到身份提供者服务器140。所述身份提供者服务器140接收所述认证消息(CR,TAGR)。所述身份提供者TEE 142解密所述认证消息(CR,TAGR),以获得所述第二随机数RNDR2、所述主设备密钥Kp、所述设备标识IDp_dev和所述多因素标识符MF。所述身份提供者TEE 142验证所述消息认证码TAGR,以确认所述解密密文CR的内容是真实的。所述身份提供者TEE 142安全地存储所述主设备密钥Kp和多因素标识符MF。然后,所述身份提供者服务器140发送确认,以确认所述主设备120已经注册到身份提供者服务器140。
参考图11B,信号流程图示出了所述主设备120'注册到身份提供者服务器140的特定、非限制性示例。在本示例中,所述主设备120'接收并验证所述注册签名SignR(RNDR1,RNDR2)SKi,以获得第一和第二随机数RNDR1、RNDR2。所述主设备120'将第一和第二随机数RNDR1、RNDR2提供给辅助设备125,所述辅助TEE 122'生成第一注册对称密钥EKR、第二注册对称密钥AKR和认证消息(CR,TAGR)。所述辅助设备125向主设备120'提供所述认证消息(CR,TAGR),所述主设备120'将所述认证消息(CR,TAGR)发送到身份提供者服务器140。
参考图11C,信号流程图示出了主设备120正在通过身份提供者服务器140认证的具体、非限制性示例。所述主设备120将包括用户标识IDP的认证请求发送到身份提供者服务器140。所述身份提供者TEE 142生成第一和第二随机数RNDA1、RNDA2。所述身份提供者TEE142通过使用私钥SKi对第一和第二随机数RNDA1、RNDA2进行加密来生成认证签名SignA(RNDA1,RNDA2)SKi。所述身份提供者TEE 142通过第一随机数RNDR1和先前存储在身份提供者TEE 142中的用户密码、主设备密钥Kp和多因素认证标识符MF,生成第一注册对称密钥EKR和第二注册对称密钥AKR。所述身份提供者服务器140将所述认证签名SignA(RNDA1,RNDA2)SKi发送到主设备120。所述主设备120验证所述认证签名SignA(RNDA1,RNDA2)SKi,以获得第一和第二随机数RNDA1、RNDA2。所述主要TEE 122通过所获得的第一随机数RNDA1以及先前存储在身份提供者TEE 142中的用户密码、主设备密钥Kp和多因素认证标识符MF,生成第一认证对称密钥EKA和第二认证对称密钥AKA。所述主要TEE 122生成包括第一密文CA1和第一消息认证码TAGA1的第一认证消息(CA1,TAGA1)。所述第一密文CA1通过第一认证对称密钥EKA加密。所述第一消息认证码TAGA通过第二认证对称密钥AKA加密。所述第一密文CA1通过加密第二随机码RNDA2生成。所述主设备TEE 120将第一认证消息(CA1,TAGA1)发送到身份提供者服务器140。所述身份提供者140接收第一认证消息(CA1,TAGA1),所述身份提供者TEE 142解密第一认证消息(CA1,TAGA1)以获得第二随机数RNDR2。所述身份提供者TEE 142验证所述第一消息认证码TAGA1,以确认所述第一解密密文CA1的内容是真实的。所述身份提供者TEE 142通过对比所接收的第二随机数RNDA2与由认证签名SignA(RNDA1,RNDA2)Ski签署的第二随机数RNDA2进行比较来进行验证。所述身份提供者TEE 142生成所述服务提供者密钥Kps。所述身份提供者TEE 142通过使用所述身份提供者密钥Ksp来解密服务提供者密钥Kps,以生成加密票据T。所述身份提供者TEE 142生成包括第二密文CA2和第二消息认证码TAGA2的第二认证加密消息(CA2,TAGA2)。所述第二密文CA2通过加密服务提供者密钥Ksp和已加密票据T来生成。所述第二密文CA2使用第一认证对称密钥EKA加密,所述第二消息认证码TAGA2使用第二对称密钥AKA加密。所述身份提供者服务器140将第二认证加密消息(CA2,TAGA2)发送到主设备120。所述主要TEE 122使用第一认证对称密钥EKA和第二认证对称密钥AKA对第二认证加密消息(CA2,TAGA2)进行解密,以获得服务提供者密钥Ksp和加密票据T。所述主要TEE 122通过对比所述解密第二消息认证码TAGA2与解密第二密文CA2,来验证所述服务提供者密钥Ksp和加密票据T。
参考图11D,信号流程图示出了所述主设备120'通过身份提供者服务器140认证的特定、非限制性示例。在本示例中,所述主设备120'接收并验证所述认证签名SignA(RNDA1,RNDA2)SKi,以获得第一和第二随机数RNDA1、RNDA2。所述主设备120'将第一和第二随机数RNDA1、RNDA2提供给辅助设备125,所述辅助TEE 122'生成第一认证对称密钥EKA、第二认证对称密钥AKA和第一认证消息(CA1,TAGA1)。所述辅助设备125向主设备120'提供第一认证消息(CA1,TAGA1),然后所述主设备120'将第一认证消息(CA1,TAGA1)发送到身份提供者服务器140。类似地,在主设备120'接收第二认证消息(CA2,TAGA2)后,所述主设备120'将第二认证消息(CA2,TAGA2)提供给辅助设备125,辅助TEE 122'解密并验证所述第二认证消息(CA2,TAGA2)。
参考图11E,信号流程图示出了所述主设备120通过服务提供者服务器160认证的特定、非限制性示例。所述主设备120将服务提供者认证请求发送到服务提供者服务器160。所述认证请求包括用户标识IDP和加密票据T。所述服务提供者TEE 162使用身份提供者密钥Ksp解密所述加密票据T以获得服务提供者密钥Kps。所述服务提供者TEE 162生成第一和第二随机数RND1、RND2。所述服务提供者TEE 162通过使用服务提供者私钥SKs对第一和第二随机数RND1、RND2进行加密来生成签名Sign(RND1,RND2)SKs。所述服务提供者TEE 162从第一随机数RND1和服务提供者密钥Kps生成第一对称密钥EK和第二对称密钥AK。所述服务提供者服务器160将签名Sign(RND1,RND2)SKs发送到主设备120。所述主设备120验证签名Sign(RND1,RND2)SKs以获得第一和第二随机数RND1、RND2。所述主要TEE 122根据所获得的第一随机数RND1和存储在主要TEE 122中的服务提供者密钥Kps生成第一对称密钥EK和第二对称密钥AK。所述主要TEE 122生成包括密文C和消息认证码TAG的认证消息(C,TAG)。使用第一对称密钥EK对密文C进行加密,使用第二对称密钥AK对消息认证码TAG进行加密。所述第一密文C通过加密第二随机码RND2生成。所述主设备TEE 120将所述认证消息(C,TAG)发送到所述服务提供者服务器160。所述服务提供者160接收所述认证消息(C,TAG),所述服务提供者TEE 162解码所述认证消息(C,TAG)以获得第二随机数RND2。所述服务提供者TEE 162通过对比从所述认证消息(C,TAG)获得的第二随机数RND2和由Sign(RND1,RND2)SKs签署的第二随机数RND2,来验证所述消息认证码TAG,以确认所述解密密文C的明文是真实的。然后,所述主设备120和所述服务提供者服务器160可以基于所述服务提供者密钥Kps进行安全地通信。例如,所述第一对称密钥EK和第二对称密钥AK可以用于主设备120和服务提供者服务器160之间的安全通信。
参考图11F,信号流程图示出了所述主设备120'通过服务提供者服务器160认证的特定、非限制性示例。在本示例中,所述主设备120'接收并验证所述签名Sign(RND1,RND2)SKs,以获得第一和第二随机数RND1、RND2。所述主设备120'将第一和第二随机数RND1、RND2提供给辅助设备125,所述辅助TEE 122'生成第一对称密钥EK、第二对称密钥AK和认证消息(C,TAG)。所述辅助设备125向主设备120'提供所述认证消息(C,TAG),所述主设备120'将所述认证消息(C,TAG)发送到服务提供者服务器140。
图12A是在主设备120和身份提供者服务器140之间进行注册前、所述身份提供者服务器140和主设备120的示例性框图。在一些实施例中,主要认证客户端182实现所述方法200,身份提供者认证代理172实现所述方法600。如图所示,所述身份提供者TEE 142存储所述私钥SKi和用户密码。所述身份提供者认证代理172与身份提供者TEE 142相连接。所述身份提供者认证代理172从身份提供者TEE 142获得包括公钥PKi的证书。所述身份提供者认证代理172向所述身份提供者TEE 142提供输入以及在输入上执行处理的指令,并接收相应的输出。所述输入包括认证代理172提供给身份提供者TEE 142的数据,以便实现所述方法200。例如,所述输入可以是主要IDp和要求生成注册签名的请求,所述输出可以是注册签名。如图所示,所述主要TEE 122存储主设备密钥Kp和用户密码。所述主要认证客户端182与身份提供者认证代理172相连接,并从身份提供者认证代理172获得包括公钥PKi的证书。所述主要认证客户端182与主要TEE 122相连接。例如,所述主要认证客户端182向主要TEE122提供输入以及在输入上执行处理的指令,并接收相应的输出。所述输入包括主要认证客户端182提供给主要TEE 122的数据,以便实现所述方法600。例如,所述输入可以是注册签名,所述输出可以是认证加密消息。
图12B是在主设备120’和身份提供者服务器140之间进行注册前、所述身份提供者服务器140和主设备120’的示例性框图。在一些实施例中,主要认证客户端182’和/或辅助认证客户端192实现所述方法200,身份提供者认证代理172实现所述方法600。图12B是图12A的一种变体。在本示例中,辅助TEE 122’存储主设备密钥Kp和用户密码。所述辅助认证客户端192与所述辅助TEE 122’相连接。所述辅助认证客户端192向辅助TEE 122’提供输入以及在输入上执行处理的指令,并接收相应的输出。所述主要认证客户端182’与身份提供者认证代理172相连接,并从身份提供者认证代理172获得包括公钥PKi的证书。所述主要认证客户端182'与辅助认证客户端192相连接,以促进辅助认证客户端192和身份提供者认证代理172之间的通信。
图12C是在主设备120和身份提供者服务器140之间进行注册后、所述身份提供者服务器140和主设备120的示例性框图。在本示例中,所述身份提供者TEE 142存储主设备密钥Kp和多因素标识符MF。
图12D示出了在主设备120已经由身份提供者服务器140注册和认证之后并且在主设备120通过服务提供者服务器160认证之前、所述服务提供者服务器160和主设备120的示例性框图。在一些实施例中,所述主要认证客户端182实现所述方法200,所述服务提供者认证代理196实现所述方法900。如图所示,所述服务提供者TEE 162存储服务提供者私钥SKs和身份提供者密钥Ksp。所述服务提供者认证代理196与服务提供者TEE 162相连接。所述服务提供者认证代理196从服务提供者TEE 162获得包括服务提供者公钥PKi的证书。所述服务提供者认证代理196向所述服务提供者TEE 162提供输入以及在输入上执行处理的指令,并接收相应的输出。所述输入包括认证代理196提供给服务提供者TEE 162的数据,以便实现所述方法900。例如,所述输入可以是加密票据T、主要IDp和要求生成签名的请求,所述输出可以是签名。如图所示,所述主要TEE 122存储服务提供者密钥Kps和加密票据T。所述主要认证客户端182与服务提供者认证代理196相连接。所述主要认证客户端182从服务提供者认证代理196获得包括服务提供者公钥PKs的证书。
所述主要认证客户端182、182'是一种计算机程序,用于通过身份提供者认证代理172来访问身份提供者服务器140,以及通过服务提供者认证代理196来访问服务提供者服务器160。类似地,认证代理172、196是一种计算机程序,其允许主设备120分别通过主要认证客户端182、182'来访问身份提供者服务器140和服务提供者服务器160。例如,所述认证客户端182、182'向响应于所述请求的认证代理172或196发送请求。
本文描述的密钥导出函数KDF1()和KDF2()可以根据实际实现方式而变化。所述主要TEE 122、身份提供者TEE 142、服务提供者TEE 162和辅助TEE 122'可以使用相同或不同的密钥导出函数,这取决于实际的实现方式。本文描述的加密函数E()和消息认证码函数MAC()可以根据实际的实现方式而变化。所述主要TEE 122、身份提供者TEE 142、服务提供者TEE 162和辅助TEE 122'可以使用相同的加密函数和消息认证码函数或不同的加密函数和不同的消息认证码函数,这取决于实际的实现方式。
应当理解的是,所述方法200、600和900可用于实现单点登录认证。例如,所述主设备120在通过身份提供者服务器140注册和认证之后,可以通过与服务提供者服务器160同样类型的、一个或多个服务提供者服务器的认证。
应当理解的是,尽管本文参考单个主设备120描述了方法200、600和900,但是,与主设备120同样类型的多个主设备可以通过身份提供者服务器140和/或服务提供者服务器160的注册和/或认证。
还应理解的是,虽然在本文描述的各种实施例中生成并使用随机数,但是,可以使用其它合适的标识符来代替随机数,例如准随机数、随机字母数字字符串、随机非数字字符串等。
参考图13,所述方法200、600和900中的每一种可以由计算设备1310实现,包括处理单元1312和存储计算机可执行指令1316的存储器1314。所述处理单元1312可以包括用于实现所述系统的任何合适的设备,使得指令1316在由计算设备1310或其它可编程装置执行时,可以执行本文所述的方法200、600和/或900中的功能/动作/步骤。所述处理单元1312可包括例如任何类型的通用微处理器或微控制器、数字信号处理(digital signalprocessing,简称DSP)处理器、中央处理器(central processing unit,简称CPU)、集成电路、现场可编程门阵列(field programmable gate array,简称FPGA)、可重构处理器、其它适当编程或可编程逻辑电路或其任何组合。
所述处理单元1312可以包括可信执行环境。所述可信执行环境可以实现为所述处理单元1312的安全区域。或者,所述可信执行环境可以与所述处理单元1312分离,并且可以与所述处理单元1312相连接。所述可信执行环境允许某些计算机可执行指令和数据与所述处理单元1312相分离。
所述存储器1314可包括任何合适的已知或其它机器可读存储介质。所述存储器1314可以包括非瞬时性计算机可读存储介质,例如但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备,或者前述的任何合适组合。存储器1314可以包括位于设备内部或外部的任何类型的计算机存储器的适当组合,例如随机存取存储器(random-access memory,简称RAM)、只读存储器(read-only memory,简称ROM)、光盘只读存储器(compact disc read-only memory,简称CDROM)、电光存储器、磁光存储器、可擦除可编程只读存储器(erasableprogrammable read-only memory,简称EPROM)以及电可擦可编程只读存储器(electrically-erasable programmable read-only memory,简称EEPROM),铁电式RAM(Ferroelectric RAM,简称FRAM)等。存储器1314可以包括适合于可检索地存储可由处理单元512执行的机器可读指令1316的任何存储装置(例如,设备)。
本文所述的方法和系统可以按高级过程或面向对象的编程或脚本语言或其组合来实现,以与计算机系统的操作通信或协助其操作,例如计算设备1310。或者,本文所述的方法和系统可以以汇编语言或机器语言实现。该语言可以是编译或解释的语言。用于实现本文所述的方法和系统的程序代码可以存储在存储介质或设备上,例如ROM、磁盘、光盘、闪存驱动器或任何其它合适的存储介质或设备。当计算机读取所述存储介质或设备以执行本文描述的过程时,所述程序代码可以被通用或专用可编程计算机读取,用于配置和操作计算机。本文所述的方法和系统的实施例也可以认为是通过其上存储有计算机程序的非暂时性计算机可读存储介质来实现。所述计算机程序可以包括计算机可读指令,其使计算机,或在一些实施例中的计算机1310的处理单元1312,以特定的和预定义的方式操作,以执行此处描述的功能。
计算机可执行指令可以以许多形式,包括程序模块,由一个或多个计算机或其它设备执行。一般而言,程序模块包括例程、程序、对象、组件以及数据结构等,其执行特定任务或实现特定抽象数据类型。通常,该程序模块的功能可根据各实施例需要进行组合或分配。
以上描述仅是示例性的,并且本领域技术人员将认识到,在不脱离所公开的本发明的范围的情况下,可以对所述实施例进行改变。通过阅读本发明可以看出,本领域技术人员也同样了解本发明范围内的其它修改。
本文所述方法和系统的各个方面可以单独使用,组合使用,或者在前面描述的实施例中未具体讨论的各种情况中使用,因此,在其应用上不限于在前面描述中阐述的或者在附图中示出的部件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其它实施例中描述的方面组合。虽然已经显示和描述了特定实施例,但是对于本领域的技术人员来说显而易见的是,可以在其更广泛的方面进行改变和修改而不偏离本发明。所附权利要求的范围不应受实例中所述的实施例的限制,而应给出与整个说明一致的最广泛的合理解释。

Claims (30)

1.一种用于将主设备注册到身份提供者服务器的方法,用于实现单点登录认证,其特征在于,所述方法包括:
向所述身份提供者服务器发送注册请求,所述注册请求包括与主设备用户相关联的用户标识;从所述身份提供者服务器接收签名,用于向所述主设备认证所述身份提供者服务器;
使用所述签名认证所述身份提供者服务器;
基于所述签名和与所述主设备相关联的主设备密钥,从与所述主设备相关联的可信执行环境中,获得认证加密消息;
向所述身份提供者服务器发送所述认证加密消息,用于注册所述主设备。
2.根据权利要求1所述的方法,其特征在于,获得所述认证加密消息包括:
从与所述主设备相关联的可信执行环境中生成至少一个对称密钥,所述至少一个对称密钥由从所述签名获得的至少一个随机数导出;
从与所述主设备相关联的可信执行环境中,使用至少一个对称密钥,来生成所述认证加密消息。
3.根据权利要求2所述的方法,其特征在于,生成所述至少一个对称密钥包括:从第一随机数和用户密码导出第一对称密钥和第二对称密钥,其中,生成所述认证加密消息包括使用所述第一对称密钥导出密文,并使用所述第二对称密钥导出消息认证码。
4.根据权利要求3所述的方法,其特征在于,所述密文是从第二随机数、所述主设备密钥、与所述主设备相关联的设备标识以及与所述主设备用户相关联的辅助标识导出的。
5.根据权利要求4所述的方法,其特征在于,所述消息认证码是从所述第二随机数、所述主设备密钥、所述设备标识和所述辅助标识导出的。
6.根据权利要求1至5中任一项所述的方法,其特征在于,辅助设备包括所述可信执行环境,并且所述辅助设备以通信的方式耦合到所述主设备。
7.一种用于向服务器认证主设备的方法,用于实现单点登录认证,其特征在于,所述方法包括:
向所述服务器发送认证请求,所述认证请求包括与主设备用户相关联的用户标识;
从所述服务器接收签名,用于向所述主设备验证所述服务器;
使用所述签名认证所述服务器;
基于所述签名和与所述主设备相关联的主设备密钥,从与所述主设备相关联的可信执行环境中,获得第一认证加密消息;
发送所述第一认证加密消息,用于向所述服务器认证所述主设备。
8.根据权利要求7所述的方法,其特征在于,还包括:
从所述服务器接收使用服务提供者密钥生成的第二认证加密消息;
通过与所述主设备相关联的可信执行环境,基于所述签名和所述主设备密钥,对所述第二认证加密消息进行解密,以获得所述服务提供者密钥;
通过与所述主设备相关联的可信执行环境,验证所述服务提供者密钥,以确认所述服务器对所述主设备的认证。
9.根据权利要求7所述的方法,其特征在于,获得所述第一认证加密消息包括:
从与所述主设备相关联的可信执行环境中生成至少一个对称密钥,所述至少一个对称密钥由从所述签名获得的至少一个随机数、用户密码和所述主设备密钥导出;
从与所述主设备相关联的可信执行环境中,使用至少一个对称密钥,来生成所述第一认证加密消息。
10.根据权利要求9所述的方法,其特征在于,生成所述至少一个对称密钥包括:从第一随机数、所述用户密码、所述主设备密钥和与所述主设备用户相关联的辅助标识,导出第一对称密钥和第二对称密钥,其中,生成所述第一认证加密消息包括:使用所述第一对称密钥导出第一密文,并使用所述第二对称密钥导出第一消息认证码。
11.根据权利要求10所述的方法,其特征在于,所述第一密文是从第二随机数导出的,所述第一消息认证码是从所述第二随机数导出的。
12.根据权利要求8所述的方法,其特征在于,解密所述第二认证加密消息包括:使用从所述签名获得的至少一个随机数导出的至少一个对称密钥、用户密码和所述主设备密钥,来解密所述第二认证加密消息,以获得所述服务提供者密钥,以及通过加密所述服务提供者密钥生成的加密票据。
13.根据权利要求12所述的方法,其特征在于,所述第二认证加密消息包括第二密文和第二消息认证码,所述第二密文从所述服务提供者密钥导出。
14.根据权利要求13所述的方法,其特征在于,解密所述第二认证加密消息包括:
使用从第一随机数、所述用户密码、所述主设备密钥和与所述主设备用户相关联的辅助标识导出的第一对称密钥,来解密所述第二密文,以获得所述服务提供者密钥和所述加密票据;
使用从所述第一随机数、所述用户密码、所述主设备密钥和所述辅助标识导出的第二对称密钥,来解密所述第二消息认证码。
15.根据权利要求14所述的方法,其特征在于,验证所述第二认证加密消息包括使用所述第二消息认证码验证所述第二密文。
16.根据权利要求7至15任一项所述的方法,其特征在于,所述认证请求包括通过加密服务提供者密钥而生成的加密票据。
17.根据权利要求7至15任一项所述的方法,其特征在于,获得所述第一认证加密消息包括:
从与所述主设备相关联的可信执行环境中生成至少一个对称密钥,所述至少一个对称密钥由从所述签名获得的至少一个随机数和服务提供者密钥导出;
从与所述主设备相关联的可信执行环境中,使用至少一个对称密钥,来生成所述第一认证加密消息。
18.根据权利要求17所述的方法,其特征在于,生成所述至少一个对称密钥包括:从第一随机数和所述服务提供者密钥导出第一对称密钥和第二对称密钥,其中,生成所述第一认证加密消息包括使用所述第一对称密钥导出第一密文,并使用所述第二对称密钥导出消息认证码。
19.根据权利要求18所述的方法,其特征在于,所述第一密文是从第二随机数导出的,所述消息认证码是从所述第二随机数导出的。
20.根据权利要求7至15中任一项所述的方法,其特征在于,辅助设备包括所述可信执行环境,并且所述辅助设备以通信的方式耦合到所述主设备。
21.一种主设备,其特征在于,用于实现单点登录认证,包括:
处理单元;
存储器,其上存储有可由所述处理单元执行的程序指令,当所述处理单元执行所述程序指令时,用于:
向身份提供者服务器发送注册请求,所述注册请求包括与主设备用户相关联的用户标识;
从所述身份提供者服务器接收签名,用于向所述主设备认证所述身份提供者服务器;
使用所述签名认证所述身份提供者服务器;
基于所述签名和与所述主设备相关联的主设备密钥,从与所述主设备相关联的可信执行环境中,获得认证加密消息;
向所述身份提供者服务器发送所述认证加密消息,用于注册所述主设备。
22.根据权利要求21所述的主设备,其特征在于,获得所述认证加密消息包括:
从与所述主设备相关联的可信执行环境中生成至少一个对称密钥,所述至少一个对称密钥由从所述签名获得的至少一个随机数导出;
从与所述主设备相关联的可信执行环境中,使用至少一个对称密钥,来生成所述认证加密消息。
23.根据权利要求22所述的主设备,其特征在于,生成所述至少一个对称密钥包括:从第一随机数和用户密码导出第一对称密钥和第二对称密钥,其中,生成所述认证加密消息包括使用所述第一对称密钥导出密文,并使用所述第二对称密钥导出消息认证码。
24.根据权利要求23所述的主设备,其特征在于,所述密文是从第二随机数、所述主设备密钥、与所述主设备相关联的设备标识以及与所述主设备用户相关联的辅助标识导出的。
25.根据权利要求24所述的主设备,其特征在于,所述消息认证码是从所述第二随机数、所述主设备密钥、所述设备标识和所述辅助标识导出的。
26.一种主设备,其特征在于,用于实现单点登录认证,包括:
处理单元;
存储器,其上存储有可由所述处理单元执行的程序指令,当所述处理单元执行所述程序指令时,用于:
向服务器发送认证请求,所述认证请求包括与主设备用户相关联的用户标识;从所述服务器接收签名,用于向所述主设备验证所述服务器;
使用所述签名认证所述服务器;
基于所述签名和与所述主设备相关联的主设备密钥,从与所述主设备相关联的可信执行环境中,获得第一认证加密消息;
发送所述第一认证加密消息,用于向所述服务器认证所述主设备。
27.根据权利要求26所述的主设备,其特征在于,所述程序指令还可用于:
从所述服务器接收使用服务提供者密钥生成的第二认证加密消息;
通过与所述主设备相关联的可信执行环境,基于所述签名和所述主设备密钥,对所述第二认证加密消息进行解密,以获得所述服务提供者密钥;
通过与所述主设备相关联的可信执行环境,验证所述服务提供者密钥,以确认所述服务器对所述主设备的认证。
28.根据权利要求26所述的主设备,其特征在于,获得所述第一认证加密消息包括:
从与所述主设备相关联的可信执行环境中生成至少一个对称密钥,所述至少一个对称密钥由从所述签名获得的至少一个随机数和服务提供者密钥导出;
从与所述主设备相关联的可信执行环境中,使用至少一个对称密钥,来生成所述第一认证加密消息。
29.根据权利要求28所述的主设备,其特征在于,生成所述至少一个对称密钥包括:从第一随机数和所述服务提供者密钥导出第一对称密钥和第二对称密钥,其中,生成所述第一认证加密消息包括使用所述第一对称密钥导出密文,并使用所述第二对称密钥导出消息认证码。
30.根据权利要求29所述的主设备,其特征在于,所述密文是从第二随机数导出的,所述消息认证码是从所述第二随机数导出的。
CN201780094994.XA 2017-09-27 2017-09-27 基于可信执行环境的认证协议 Active CN111512608B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/103676 WO2019061076A1 (en) 2017-09-27 2017-09-27 AUTHENTICATION PROTOCOL BASED ON A CONFIDENTIAL EXECUTION ENVIRONMENT

Publications (2)

Publication Number Publication Date
CN111512608A CN111512608A (zh) 2020-08-07
CN111512608B true CN111512608B (zh) 2021-09-07

Family

ID=65900384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780094994.XA Active CN111512608B (zh) 2017-09-27 2017-09-27 基于可信执行环境的认证协议

Country Status (4)

Country Link
US (1) US11336641B2 (zh)
EP (1) EP3677005B1 (zh)
CN (1) CN111512608B (zh)
WO (1) WO2019061076A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10728240B2 (en) * 2017-10-19 2020-07-28 Global Tel*Link Corporation Variable-step authentication for communications in controlled environment
US11809528B2 (en) * 2018-05-09 2023-11-07 Stripe, Inc. Terminal hardware configuration system
US11489659B2 (en) 2019-10-30 2022-11-01 Via Science, Inc. Multiple data source secure data processing
US10965674B1 (en) 2020-06-08 2021-03-30 Cyberark Software Ltd. Security protection against threats to network identity providers
CN114245375B (zh) * 2020-09-09 2023-03-17 华为技术有限公司 一种密钥跨设备分发方法及电子设备
CN114765544A (zh) * 2021-01-11 2022-07-19 中国移动通信有限公司研究院 可信执行环境数据离线迁移方法及装置
CN113872759B (zh) * 2021-09-29 2023-06-06 湘潭大学 一种智能电网的轻量级身份认证方法
CN115037452B (zh) * 2021-11-19 2023-09-12 荣耀终端有限公司 数据保护方法、系统及电子设备
CN115021894B (zh) * 2021-11-19 2023-05-09 荣耀终端有限公司 数据保护方法、系统及电子设备
CN115037456B (zh) * 2021-11-19 2023-05-09 荣耀终端有限公司 数据保护方法、系统及电子设备
CN116049802B (zh) * 2023-03-31 2023-07-18 深圳竹云科技股份有限公司 应用单点登陆方法、系统、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506534A (zh) * 2014-12-25 2015-04-08 青岛微智慧信息有限公司 安全通信密钥协商交互方案
CN104580250A (zh) * 2015-01-29 2015-04-29 成都卫士通信息产业股份有限公司 一种基于安全芯片进行可信身份认证的系统和方法
CN105656890A (zh) * 2015-12-30 2016-06-08 深圳数字电视国家工程实验室股份有限公司 一种基于tee和无线确认的fido认证器及系统及方法
CN107196901A (zh) * 2017-03-30 2017-09-22 阿里巴巴集团控股有限公司 一种身份注册及认证的方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069435B2 (en) * 2000-12-19 2006-06-27 Tricipher, Inc. System and method for authentication in a crypto-system utilizing symmetric and asymmetric crypto-keys
US6986045B2 (en) * 2001-08-17 2006-01-10 Pitney Bowes Inc. Single algorithm cipher suite for messaging
US8146141B1 (en) * 2003-12-16 2012-03-27 Citibank Development Center, Inc. Method and system for secure authentication of a user by a host system
US8418234B2 (en) * 2005-12-15 2013-04-09 International Business Machines Corporation Authentication of a principal in a federation
US10764748B2 (en) * 2009-03-26 2020-09-01 Qualcomm Incorporated Apparatus and method for user identity authentication in peer-to-peer overlay networks
US8533830B1 (en) * 2009-03-31 2013-09-10 Mcafee, Inc. System, method, and computer program product for mounting an image of a computer system in a pre-boot environment for validating the computer system
US9490984B2 (en) * 2009-09-14 2016-11-08 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
US8614976B1 (en) * 2010-03-29 2013-12-24 Sprint Spectrum L.P. Method and system for registering a nickname associated with a mobile node
WO2011144081A2 (zh) * 2011-05-25 2011-11-24 华为技术有限公司 用户业务鉴权方法、系统及服务器
US9264234B2 (en) * 2011-06-03 2016-02-16 Apple Inc. Secure authentication of identification for computing devices
US9743255B2 (en) * 2015-06-24 2017-08-22 Samsung Electronics Co., Ltd. Telephony collaboration system and method for a trusted environment
KR101792862B1 (ko) * 2015-12-23 2017-11-20 주식회사 케이티 생체 정보 기반 인증 장치, 이와 연동하는 제어 서버, 그리고 이들의 생체 정보 기반 로그인 방법
CN106656488B (zh) * 2016-12-07 2020-04-03 百富计算机技术(深圳)有限公司 一种pos终端的密钥下载方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506534A (zh) * 2014-12-25 2015-04-08 青岛微智慧信息有限公司 安全通信密钥协商交互方案
CN104580250A (zh) * 2015-01-29 2015-04-29 成都卫士通信息产业股份有限公司 一种基于安全芯片进行可信身份认证的系统和方法
CN105656890A (zh) * 2015-12-30 2016-06-08 深圳数字电视国家工程实验室股份有限公司 一种基于tee和无线确认的fido认证器及系统及方法
CN107196901A (zh) * 2017-03-30 2017-09-22 阿里巴巴集团控股有限公司 一种身份注册及认证的方法及装置

Also Published As

Publication number Publication date
EP3677005A1 (en) 2020-07-08
CN111512608A (zh) 2020-08-07
WO2019061076A1 (en) 2019-04-04
US11336641B2 (en) 2022-05-17
EP3677005A4 (en) 2020-08-26
EP3677005B1 (en) 2021-03-03
US20200280559A1 (en) 2020-09-03

Similar Documents

Publication Publication Date Title
CN111512608B (zh) 基于可信执行环境的认证协议
US11757662B2 (en) Confidential authentication and provisioning
US9838205B2 (en) Network authentication method for secure electronic transactions
EP2950506B1 (en) Method and system for establishing a secure communication channel
US9231925B1 (en) Network authentication method for secure electronic transactions
US8724819B2 (en) Credential provisioning
US20190281028A1 (en) System and method for decentralized authentication using a distributed transaction-based state machine
US9779224B2 (en) Methods and systems for client-enhanced challenge-response authentication
US7992193B2 (en) Method and apparatus to secure AAA protocol messages
US20180082050A1 (en) Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
US8112787B2 (en) System and method for securing a credential via user and server verification
US8130961B2 (en) Method and system for client-server mutual authentication using event-based OTP
KR101265873B1 (ko) 분산된 단일 서명 서비스 방법
CN110401615B (zh) 一种身份认证方法、装置、设备、系统及可读存储介质
US9445269B2 (en) Terminal identity verification and service authentication method, system and terminal
US8397281B2 (en) Service assisted secret provisioning
MXPA03003710A (es) Metodos para cambiar a distancia una contrasena de comunicaciones.
US20180025332A1 (en) Transaction facilitation
EP3000216B1 (en) Secured data channel authentication implying a shared secret
CN118233218A (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
GR01 Patent grant
GR01 Patent grant