CN116388992A - 针对分布式tee应用的远程认证方法及装置 - Google Patents

针对分布式tee应用的远程认证方法及装置 Download PDF

Info

Publication number
CN116388992A
CN116388992A CN202310126960.1A CN202310126960A CN116388992A CN 116388992 A CN116388992 A CN 116388992A CN 202310126960 A CN202310126960 A CN 202310126960A CN 116388992 A CN116388992 A CN 116388992A
Authority
CN
China
Prior art keywords
tee
application
applications
report
code
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
CN202310126960.1A
Other languages
English (en)
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.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai 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 Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202310126960.1A priority Critical patent/CN116388992A/zh
Publication of CN116388992A publication Critical patent/CN116388992A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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
    • 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

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)
  • Multi Processors (AREA)

Abstract

本说明书实施例提供一种针对分布式TEE应用的远程认证方法及装置,其中,在针对分布式TEE应用的远程认证方法中,校验方发送认证请求,并接收运行在可信执行环境TEE中的第一TEE应用生成的报告文件,其中,该第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希,该报告文件至少包括,第一TEE应用的第一代码哈希。在第一代码哈希符合预期的情况下,确定多个第二TEE应用的远程认证通过。

Description

针对分布式TEE应用的远程认证方法及装置
技术领域
本说明书一个或多个实施例涉及安全技术领域,尤其涉及一种针对分布式TEE应用的远程认证方法及装置。
背景技术
远程认证(Remote Attestation,RA)(也称远程证明)是可行执行环境(TrustedExecution Envi ronment,TEE)技术方案中建立可信的最重要手段。相对可信硬件的不可见,远程认证是TEE技术中唯一让用户可以感受到可信,让可信可见的方式。本质上看,TEE的远程认证解决两个重要问题:1.平台可信:通过远程认证证明可信程序和敏感数据确实在一个可信执行环境中运行和处理。2.代码可信:通过远程认证确认可信程序的代码哈希等,确保可信程序本身没有被恶意篡改。只有通过远程认证解决了信任的问题之后,校验方才能安全地把其敏感数据交给可信程序来处理,才能确保可信程序是按照预期的逻辑来处理数据。
发明内容
本说明书一个或多个实施例描述了一种针对分布式TEE应用的远程认证方法及装置,可以提高针对分布式TEE应用的认证效率。
第一方面,提供了一种针对分布式TEE应用的远程认证方法,通过校验方执行,包括:
发送认证请求;
接收运行在可信执行环境TEE中的第一TEE应用生成的报告文件,其中,该第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希;所述报告文件至少包括,所述第一TEE应用的第一代码哈希;
在所述第一代码哈希符合预期的情况下,确定所述多个第二TEE应用的远程认证通过。
第二方面,提供了一种针对TEE应用的远程认证请求的处理方法,通过运行在可信执行环境TEE中的第一TEE应用执行,所述第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希;所述方法包括:
接收报告请求,其根据校验方的认证请求而生成;
响应于所述报告请求,将报告文件提供给所述校验方,所述报告文件至少包括,所述第一TEE应用的第一代码哈希,使得所述校验方基于所述第一代码哈希,确定各个第二TEE应用的远程认证是否通过。
第三方面,提供了一种针对分布式TEE应用的远程认证装置,设置于校验方,包括:
发送单元,用于发送认证请求;
接收单元,用于接收运行在可信执行环境TEE中的第一TEE应用生成的报告文件,其中,该第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希;所述报告文件至少包括,所述第一TEE应用的第一代码哈希;
确定单元,用于在所述第一代码哈希符合预期的情况下,确定所述多个第二TEE应用的远程认证通过。
第四方面,提供了一种针对分布式TEE应用的远程认证请求的处理装置,设置于运行在可信执行环境TEE中的第一TEE应用,所述第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希;所述装置包括:
接收单元,用于接收报告请求,其根据校验方的认证请求而生成;
发送单元,用于响应于所述报告请求,将报告文件提供给所述校验方,所述报告文件至少包括,所述第一TEE应用的第一代码哈希,使得所述校验方基于所述第一代码哈希,确定各个第二TEE应用的远程认证是否通过。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一或第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,该处理器执行所述可执行代码时,实现第一或第二方面的方法。
本说明书一个或多个实施例提供的针对分布式TEE应用的远程认证方法,通过将待认证的多个第二TEE应用的代码哈希嵌入到第一TEE应用中,可以在各TEE应用之间形成一个链条,这样使得校验方在针对第二TEE应用进行远程认证时,只需要确认第一TEE应用符合预期,即没有被恶意篡改,就可以确定各个第二TEE应用均可信,从而无需针对每个第二TEE应用一一进行远程认证,这极大地提高了分布式TEE应用的远程认证效率。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的针对分布式TEE应用的远程认证方法交互图;
图3示出根据一个实施例的目标应用的请求方法交互图;
图4示出根据一个实施例的针对分布式TEE应用的远程认证装置示意图;
图5示出根据一个实施例的针对分布式TEE应用的远程认证请求的处理装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
为了提升数据安全,可以基于TEE技术进行隐私数据的安全计算。TEE是基于CPU硬件的安全扩展,其提供一个与外部完全隔离的环境,环境内的程序状态和代码可信。TEE可以起到黑箱作用,在TEE中的代码和数据即便是操作***层都无法偷窥,只有通过代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中复杂的密码学运算,计算过程效率几乎没有损失。
TEE技术中,以SGX(Software Guard Extens ion,以下简称SGX)技术为例加以说明。计算节点可以基于SGX技术创建enc l ave(飞地),以作为用于执行特定应用程序的TEE。其中,计算节点中利用CPU中新增的处理器指令,在内存中可以分配一部分区域EPC(Enc l ave Page Cache,飞地页面缓存),以用于驻留上述的Enc l ave。上述EPC对应的内存区域被CPU内部的内存加密引擎MEE(Memory Encrypt ion Engine)加密,该内存区域中的内容(enc l ave中的代码和数据)只有在CPU内核中才能够被解密,且用于加解密的密钥只有在EPC启动时生成并存储在CPU中。可见,Enc l ave的安全边界只包含其自身和CPU,无论是特权软件或非特权软件都无法访问Enc l ave,即便是操作***管理员和VMM(Vi rtual Mach ine Mon itor;或称为Hypervi sor)也无法影响Enc l ave中的代码和数据,因而具有极高的安全性。在上述安全性保障的前提下,CPU能够在Enc l ave中对数据进行处理,具有极高的运算效率,从而兼顾了数据安全性和计算效率。此外,进出TEE的数据可以是加密的,从而保障隐私数据的安全性。
支持SGX的CPU在出厂前,会由厂商将部署秘钥(Provi s ion ing Key)和信封秘钥(Sea l ingKey)烧录在CPU中的熔丝(fuse)寄存器内。熔丝寄存器是一次性编程寄存器,一经烧入数据后即熔断熔丝,使得后续该寄存器中的内容仅可读而不再可写。厂商承诺烧录至熔丝寄存器内的秘钥是随机生成的;此外,还承诺一经烧录后关于烧入的秘钥的所有备份都会被销毁,即连厂商自身都不知道烧入的秘钥。Provi s ion ing Key可以代表CPU中的部分信息,例如CPU的代号(例如第六代酷睿、第七代酷睿等)、型号(如桌面型、移动型等)之类。出于安全考虑,关于加密、签名等操作,并不直接使用Provi s ion ing Key,而是采用由Provi s ion ing Key衍生出的一个证明秘钥(attestat ion key)来进行,因此Provi s ion ing Key起部署作用。
计算节点的TEE可以通过远程证明机制,向挑战者证明所包括的程序代码或其它数据的正确性。其中,在挑战者发起远程认证之前,计算节点中的CPU可以检测是否存在attestat ion key。如果没有,则发起初始化。初始化的过程中,可以基于秘钥生成协议,通过与厂商服务器的交互,并根据Provi s ioning Key的生成规则生成EPI D(Enhanced Privacy I Dent ificat ion),作为attestat ion key,一般用作非对称加密秘钥中的私钥sk1。EPI D可以存放于TEE中用于后续的签名。从而,厂商服务器可以通过交互过程得到该EPI D对应的公钥pk1。需要特别说明的是,该EPI D对应的公钥pk1并不会公开,而是仅仅由厂商服务器保管。这样的特性适于后续远程证明过程中由厂商服务器,又称为认证服务器(Attestat ion Server)进行认证。
示例性的,计算节点的TEE准备好sk1和pk1后,挑战者对TEE发起远程证明过程可以包括如下各个步骤中的部分或全部。
步骤1:挑战者对计算节点中的TEE发起挑战请求,要求计算节点的TEE出示证明,以表明计算节点中的TEE所包括的程序代码或其它数据的正确性;
步骤2:计算节点中的TEE收到挑战请求之后,生成报告report,report中可能包含TEE中运行的程序代码的度量值以及与安全相关的其它状态信息,所述度量值例如是TEE中运行的程序代码的哈希值hash1,进而通过(quot ingenc l ave,QE)来使用前述私钥sk1对report进行签名以得到签名s ig1,生成包含report和s ig1的证明quote,并将quote发送给挑战者;
步骤3:由于挑战者可能没有与sk1对应的公钥pk1,因此挑战者在接收到包含report和s ig1的quote之后,可以将quote发送给认证服务器;
步骤4:认证服务器使用公钥pk1验证quote中的签名s ig1,将验证结果返回给挑战者,其中,为了防止验证结果被中间截获或修改,认证服务器可使用自己的私钥对验证结果签名,得到签名s ig2,并将验证结果及其签名s ig2一起发送给挑战者;
步骤5:挑战者收到验证结果之后,如果验证结果指示s ig1正确,则根据预先获取的验证数据(例如度量值)对report进行验证,例如验证预先获取的TEE中运行的程序代码的正确哈希值与report中的hash1是否一致,report通过验证即quote通过验证,计算节点中的TEE完成远程证明,然后挑战者即可与计算节点中的TEE联合执行特定的事务。
或者,在另一种实现方式中,计算节点中的TEE可以主动生成报告report,发给认证服务器进行验证,得到认证服务器验证并签名的验证结果。后续,将该验证结果提供给任意挑战者,以向其证明自己的身份合法性。
需要说明,在传统的远程证明方案中,一般只针对单个Enc l ave进行远程认证。当需要针对多个Enc l ave进行远程认证时,比如,在分布式场景下,通常需要对运行在不同执行环境TEE中的多个应用(简称分布式TEE应用)进行远程认证,只能轮询多次执行传统的单个Enc l ave的远程认证方案,这会极大地影响分布式TEE应用的认证效率。
为了提升对分布式TEE应用的远程认证效率,本申请的发明人提出,将待认证的多个第二TEE应用的代码哈希嵌入到第一TEE应用中,由此可以在各TEE应用之间形成一个链条,这样使得校验方在针对第二TEE应用进行远程认证时,只需要确认第一TEE应用符合预期,即没有被恶意篡改,就可以确定各个第二TEE应用均可信,从而无需针对每个第二TEE应用一一进行远程认证,这极大地提高了分布式TEE应用的远程认证效率。
上述方案的实现原理如下:由于哈希算法具有如下特点:不同的输入大概率得到不同的输出。也就是说,如果任意一个第二TEE应用被篡改,那么对应的代码哈希就会发生变化。而由于该代码哈希被嵌入到了第一TEE应用的程序代码中,从而第一TEE应用的代码哈希就会和正确的代码哈希不一致。从而可以通过对第一TEE应用的远程认证,来实现对多个第二TEE应用(或目标应用)的远程认证。
图1为本说明披露的一个实施例的实施场景示意图。图1中,第一TEE应用是指运行在TEE中的主应用或管理应用。该第一TEE应用的程序代码中嵌入了多个第二TEE应用的代码哈希。这里的多个第二TEE应用可以是指目标应用的分布式地部署在不同TEE中的应用组件,通常也称为可信应用部分。应理解,该多个第二TEE应用可以联合地对外提供一项完整的服务。此外,目标应用还可以包括普通应用部分,该普通应用部分是指目标应用的在非可信执行环境(也称普通执行环境)执行的代码,其可以用于在校验方与第一TEE应用/第二TEE应用之间转发消息。
具体地,当校验方需要请求对目标应用的远程认证时,可以通过普通应用部分向第一TEE应用发送报告请求,从而第一TEE应用可以生成报告文件,该报告文件至少包括,第一TEE应用的第一代码哈希。校验方在通过普通应用部分接收到报告文件之后,若确定第一代码哈希符合预期,则可以确定多个第二TEE应用的远程认证通过,也即确定目标应用的远程认证通过。
应理解,图1只是一种示例性说明,在实际应用中,多个第二TEE应用也可以为目标应用的不同备份,也即每个第二TEE应用均为一个完整的应用对外提供服务。
图2示出根据一个实施例的针对分布式TEE应用的远程认证方法交互图。如图2所示,该方法可以包括如下步骤。
步骤S202,校验方发送认证请求。
这里的认证请求可以是用于请求对目标应用的远程认证。该目标应用可以包括运行在不同可信执行环境的多个可信应用部分,该多个可信应用部分可以共同对外提供一项完整的服务。在下文中,该多个可信应用部分称为多个第二TEE应用。
此外,上述目标应用还可以包括运行在普通执行环境中的普通应用部分,该普通应用部分用于进行消息转发。
在一个实施例中,校验方可以通过目标应用的普通应用部分向第一TEE应用发送针对目标应用的认证请求。即用于请求第一TEE应用出示证明,以表明多个第二TEE应用的正确性。
这里的第一TEE应用是指运行在TEE中的主应用或管理应用。该第一TEE应用的程序代码中嵌入了多个第二TEE应用的代码哈希。
具体是,校验方向普通应用部分发送针对目标应用的认证请求。响应于该认证请求,普通应用部分向第一TEE应用发送报告请求。
第一TEE应用在接收到报告请求之后,可以生成报告文件。该报告文件可以是指上文所述的quote,即其通过利用私钥sk1,至少对第一TEE应用的第一代码哈希进行签名来生成报告文件。
当然,在实际应用中,该签名内容还可以包括与安全相关的其它状态信息等,本说明书对此不作限定。
步骤S204,第一TEE应用向校验方发送报告文件。
当然,在上述报告文件是第一TEE应用响应于接收到的报告请求而生成时,第一TEE应用可以先向普通应用部分发送上述报告文件,再由普通应用部分将该报告文件转发给校验方。
步骤S206,校验方在第一代码哈希符合预期的情况下,确定多个第二TEE应用的远程认证通过。
校验方在接收到报告文件后,可以参照上述步骤3-步骤4对第一TEE应用和认证服务器的签名进行验证。在签名验证通过后,可以验证预先获取的第一TEE应用的正确哈希是否与报告文件中的第一代码哈希一致,也即判断第一代码哈希是否符合预期,如果符合预期,则报告文件通过验证,从而可以确定第一TEE应用的远程认证通过。同时因为第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希,从而针对多个第二TEE应用的远程认证通过。
综合以上,本说明书上实施例提供的方案,可以将待认证的多个第二TEE应用的代码哈希嵌入到第一TEE应用中,由此可以在各TEE应用之间形成一个链条,这样使得校验方在针对第二TEE应用进行远程认证时,只需要确认第一TEE应用符合预期,即没有被恶意篡改,就可以确定各个第二TEE应用均可信,从而无需针对每个第二TEE应用一一进行远程认证,这极大地提高了TEE应用的远程认证效率。
在多个第二TEE应用的远程认证通过后,也即目标应用的远程认证通过后,校验方(例如,客户端)可以请求对目标应用的使用,以下对该请求过程进行说明。
图3示出根据一个实施例的目标应用的请求方法交互图。如图3所示,该方法可以包括如下步骤:
步骤S302,校验方利用加密密钥加密待处理的隐私数据,得到密文数据。
这里的加密密钥可以是由校验方从第一TEE应用获取的。该第一TEE应用中维护有多个第二TEE应用共享的加密密钥和解密密钥。在一个示例中,该加密密钥和解密密钥为非对称密钥对。
在一个实施例中,上述加密密钥可以是由第一TEE应用通过报告文件提供给校验方的,也即上述报告文件还包括,多个第二TEE应用共享的加密密钥。
步骤S304,校验方将密文数据提供给多个第二TEE应用。
具体是,校验方将密文数据发送给普通应用部分,普通应用部分将密文数据转发给多个第二TEE应用。
步骤S306,各个第二TEE应用利用从第一TEE应用获取的解密密钥解密密文数据,并对解密结果进行目标处理。
在一个实施例中,上述解密密钥是由第一TEE应用在针对各个第二TEE应用的内部认证通过后,提供给各个第二TEE应用的。
在一个示例中,上述内部认证可以包括:接收多个第二TEE应用各自的报告文件,其中,每个第二TEE应用的报告文件至少包括,该第二TEE应用的第二代码哈希。此外,还可以包括与安全相关的其它状态信息。第一TEE应用判断各第二代码哈希是否符合预期。
应理解,这里的第二TEE应用的报告文件也可以是指上文所述的quote,即其通过利用私钥sk1,至少对第二TEE应用的第二代码哈希进行签名而得到。
此外,第一TEE应用在接收到某个第二TEE应用的报告文件之后,也可以通过上述步骤3-步骤4,对该第二TEE应用和认证服务器的签名进行验证。在签名验证通过后,可以验证预先获取的该第二TEE应用的正确哈希是否与报告文件中的第二代码哈希一致,也即判断第二代码哈希是否符合预期,如果符合预期,则报告文件通过验证,从而可以确定该第二TEE应用的内部认证通过。
需要说明,由于第一TEE应用仅将解密密钥提供给内部认证通过(或称授权)的第二TEE应用,这可以确保解密密钥只在各TEE应用形成的链条内使用,而不会流出到不安全的程序或***中。也就是说,只有内部认证通过的第二TEE应用才能解密密文数据,由此可以确保隐私数据的安全性。
此外,由于各第二TEE应用可以共享加解密密钥对,从而一方面可以节约密钥生成成本,另一方面校验方在请求目标应用时,只需要提供一份密文数据(即利用共享的加密密钥加密得到)即可,而无需针对各个第二TEE应用重复提供多份密文数据(即分别利用各个第二TEE应用独立维护的加密密钥加密得到),这极大地方便了校验方对目标应用的使用。
总而言之,本方案可以在确保隐私数据安全的情况下,为校验方提供便利性。
与上述一种针对分布式TEE应用的远程认证方法对应地,本说明书一个实施例还提供的一种针对分布式TEE应用的远程认证装置,设置于校验方。如图4所示,该装置可以包括:
发送单元402,用于发送认证请求。
接收单元404,用于接收运行在可信执行环境TEE中的第一TEE应用生成的报告文件,其中,该第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希。该报告文件至少包括,第一TEE应用的第一代码哈希。
确定单元406,用于在第一代码哈希符合预期的情况下,确定多个第二TEE应用的远程认证通过。
在一些实施例中,上述多个第二TEE应用为目标应用的可信应用部分,该目标应用还包括运行在普通执行环境中的普通应用部分;
发送单元402具体用于:向普通应用部分发送针对目标应用的认证请求,使得普通应用部分向第一TEE应用发送报告请求;
接收单元404具体用于:从普通应用部分接收报告文件。
在一些实施例中,第一TEE应用中维护有多个第二TEE应用共享的加密密钥和解密密钥,上述报告文件还包括加密密钥;该装置还包括:
加密单元408,用于利用加密密钥加密待处理的隐私数据,得到密文数据;
发送单元402,还用于将密文数据提供给多个第二TEE应用,使得各个第二TEE应用利用从第一TEE应用获取的解密密钥解密密文数据,并对解密结果进行目标处理。
在一些实施例中,上述多个第二TEE应用为目标应用的可信应用部分,该目标应用还包括运行在普通执行环境的普通应用部分;
发送单元402还具体用于:
将密文数据发送给普通应用部分,使得普通应用部分将密文数据转发给多个第二TEE应用。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的针对分布式TEE应用的远程认证装置,可以提高针对分布式TEE应用的认证效率。
此外,本说明书一个实施例还提供一种针对分布式TEE应用的远程认证请求的处理装置,设置于运行在可信执行环境TEE中的第一TEE应用,该第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希。如图5所示,该装置包括:
接收单元502,用于接收报告请求,其根据校验方的认证请求而生成。
发送单元504,用于响应于报告请求,将报告文件提供给校验方,该报告文件至少包括,第一TEE应用的第一代码哈希,使得校验方基于第一代码哈希,确定各个第二TEE应用的远程认证是否通过。
在一些实施例中,上述多个第二TEE应用为目标应用的可信应用部分,该目标应用还包括运行在普通执行环境中的普通应用部分;
接收单元502具体用于:从普通应用部分接收报告请求,该报告请求是普通应用部分响应于从校验方接收到的针对目标应用的认证请求而发送的;
发送单元504具体用于:将报告文件发送给普通应用部分,使其转发给校验方。
在一些实施例中,第一TEE应用中维护有多个第二TEE应用共享的加密密钥和解密密钥;
发送单元504,还用于在针对多个第二TEE应用的内部认证通过后,将解密密钥提供给多个第二TEE应用。
在一些实施例中,该装置还包括:判断单元506;
接收单元502,还用于接收多个第二TEE应用各自的报告文件,其中分别包括各个第二TEE应用各自的第二代码哈希;
判断单元506,用于判断各个第二代码哈希是否符合预期。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的针对分布式TEE应用的远程认证请求的处理装置,可以提高远程认证请求的处理效率。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图3所描述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (18)

1.一种针对分布式TEE应用的远程认证方法,通过校验方执行,包括:
发送认证请求;
接收运行在可信执行环境TEE中的第一TEE应用生成的报告文件,其中,该第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希;所述报告文件至少包括,所述第一TEE应用的第一代码哈希;
在所述第一代码哈希符合预期的情况下,确定所述多个第二TEE应用的远程认证通过。
2.根据权利要求1所述的方法,其中,所述多个第二TEE应用为目标应用的可信应用部分,所述目标应用还包括运行在普通执行环境中的普通应用部分;
所述发送认证请求包括:向所述普通应用部分发送针对所述目标应用的认证请求,使得所述普通应用部分向所述第一TEE应用发送报告请求;
所述接收运行在可信执行环境TEE中的第一TEE应用生成的报告文件,包括:从所述普通应用部分接收所述报告文件。
3.根据权利要求1所述的方法,其中,所述第一TEE应用中维护有所述多个第二TEE应用共享的加密密钥和解密密钥,所述报告文件还包括所述加密密钥;所述方法还包括:
利用所述加密密钥加密待处理的隐私数据,得到密文数据;
将所述密文数据提供给所述多个第二TEE应用,使得各个第二TEE应用利用从所述第一TEE应用获取的所述解密密钥解密所述密文数据,并对解密结果进行目标处理。
4.根据权利要求3所述的方法,其中,所述多个第二TEE应用为目标应用的可信应用部分,所述目标应用还包括运行在普通执行环境的普通应用部分;
所述将所述密文数据提供给所述多个第二TEE应用,包括:
将所述密文数据发送给所述普通应用部分,使得所述普通应用部分将所述密文数据转发给所述多个第二TEE应用。
5.一种针对分布式TEE应用的远程认证请求的处理方法,通过运行在可信执行环境TEE中的第一TEE应用执行,所述第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希;所述方法包括:
接收报告请求,其根据校验方的认证请求而生成;
响应于所述报告请求,将报告文件提供给所述校验方,所述报告文件至少包括,所述第一TEE应用的第一代码哈希,使得所述校验方基于所述第一代码哈希,确定各个第二TEE应用的远程认证是否通过。
6.根据权利要求5所述的方法,其中,所述多个第二TEE应用为目标应用的可信应用部分,所述目标应用还包括运行在普通执行环境中的普通应用部分;
所述接收报告请求包括:从所述普通应用部分接收所述报告请求,所述报告请求是所述普通应用部分响应于从所述校验方接收到的针对所述目标应用的认证请求而发送的;
所述将所述报告文件提供给所述校验方包括:将所述报告文件发送给所述普通应用部分,使其转发给所述校验方。
7.根据权利要求5所述的方法,其中,所述第一TEE应用中维护有所述多个第二TEE应用共享的加密密钥和解密密钥,所述方法还包括:
在针对所述多个第二TEE应用的内部认证通过后,将所述解密密钥提供给所述多个第二TEE应用。
8.根据权利要求7所述的方法,其中,所述内部认证包括:
接收所述多个第二TEE应用各自的报告文件,其中分别包括各个第二TEE应用各自的第二代码哈希;
判断各个第二代码哈希是否符合预期。
9.一种针对分布式TEE应用的远程认证装置,设置于校验方,包括:
发送单元,用于发送认证请求;
接收单元,用于接收运行在可信执行环境TEE中的第一TEE应用生成的报告文件,其中,该第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希;所述报告文件至少包括,所述第一TEE应用的第一代码哈希;
确定单元,用于在所述第一代码哈希符合预期的情况下,确定所述多个第二TEE应用的远程认证通过。
10.根据权利要求9所述的装置,其中,所述多个第二TEE应用为目标应用的可信应用部分,所述目标应用还包括运行在普通执行环境中的普通应用部分;
所述发送单元具体用于:向所述普通应用部分发送针对所述目标应用的认证请求,使得所述普通应用部分向所述第一TEE应用发送报告请求;
所述接收单元具体用于:从所述普通应用部分接收所述报告文件。
11.根据权利要求9所述的装置,其中,所述第一TEE应用中维护有所述多个第二TEE应用共享的加密密钥和解密密钥,所述报告文件还包括所述加密密钥;所述装置还包括:
加密单元,用于利用所述加密密钥加密待处理的隐私数据,得到密文数据;
所述发送单元,还用于将所述密文数据提供给所述多个第二TEE应用,使得各个第二TEE应用利用从所述第一TEE应用获取的所述解密密钥解密所述密文数据,并对解密结果进行目标处理。
12.根据权利要求11所述的装置,其中,所述多个第二TEE应用为目标应用的可信应用部分,所述目标应用还包括运行在普通执行环境的普通应用部分;
所述发送单元还具体用于:
将所述密文数据发送给所述普通应用部分,使得所述普通应用部分将所述密文数据转发给所述多个第二TEE应用。
13.一种针对分布式TEE应用的远程认证请求的处理装置,设置于运行在可信执行环境TEE中的第一TEE应用,所述第一TEE应用的程序代码中嵌入了多个第二TEE应用各自的第二代码哈希;所述装置包括:
接收单元,用于接收报告请求,其根据校验方的认证请求而生成;
发送单元,用于响应于所述报告请求,将报告文件提供给所述校验方,所述报告文件至少包括,所述第一TEE应用的第一代码哈希,使得所述校验方基于所述第一代码哈希,确定各个第二TEE应用的远程认证是否通过。
14.根据权利要求13所述的装置,其中,所述多个第二TEE应用为目标应用的可信应用部分,所述目标应用还包括运行在普通执行环境中的普通应用部分;
所述接收单元具体用于:从所述普通应用部分接收所述报告请求,所述报告请求是所述普通应用部分响应于从所述校验方接收到的针对所述目标应用的认证请求而发送的;
所述发送单元具体用于:将所述报告文件发送给所述普通应用部分,使其转发给所述校验方。
15.根据权利要求13所述的装置,其中,所述第一TEE应用中维护有所述多个第二TEE应用共享的加密密钥和解密密钥;
所述发送单元,还用于在针对所述多个第二TEE应用的内部认证通过后,将所述解密密钥提供给所述多个第二TEE应用。
16.根据权利要求15所述的装置,还包括:判断单元;
所述接收单元,还用于接收所述多个第二TEE应用各自的报告文件,其中分别包括各个第二TEE应用各自的第二代码哈希;
所述判断单元,用于判断各个第二代码哈希是否符合预期。
17.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项所述的方法。
18.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。
CN202310126960.1A 2023-02-16 2023-02-16 针对分布式tee应用的远程认证方法及装置 Pending CN116388992A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310126960.1A CN116388992A (zh) 2023-02-16 2023-02-16 针对分布式tee应用的远程认证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310126960.1A CN116388992A (zh) 2023-02-16 2023-02-16 针对分布式tee应用的远程认证方法及装置

Publications (1)

Publication Number Publication Date
CN116388992A true CN116388992A (zh) 2023-07-04

Family

ID=86960494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310126960.1A Pending CN116388992A (zh) 2023-02-16 2023-02-16 针对分布式tee应用的远程认证方法及装置

Country Status (1)

Country Link
CN (1) CN116388992A (zh)

Similar Documents

Publication Publication Date Title
CN111066286B (zh) 使用高可用性的可信执行环境检索区块链网络的公共数据
US10530753B2 (en) System and method for secure cloud computing
JP6151402B2 (ja) データセンタへのプラットフォームの内包検証
WO2021073170A1 (zh) 数据提供和融合的方法及装置
US10680816B2 (en) Method and system for improving the data security during a communication process
AU2019204708A1 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
CN113259123B (zh) 一种区块链数据写入、访问方法及装置
CN113098697B (zh) 一种区块链数据写入、访问方法及装置
JP6387908B2 (ja) 認証システム
CN117155549A (zh) 密钥分发方法、装置、计算机设备和存储介质
WO2023236720A1 (zh) 设备认证和校验的方法、装置、设备和存储介质
KR102198178B1 (ko) 블록체인을 이용한 세션키 수립 방법
CN108242997B (zh) 安全通信的方法与设备
CN114065170A (zh) 平台身份证书的获取方法、装置和服务器
CN114329522A (zh) 一种私钥保护方法、装置、***及存储介质
CN116388992A (zh) 针对分布式tee应用的远程认证方法及装置
CN113259124A (zh) 一种区块链数据写入、访问方法及装置
CN114024702A (zh) 信息安全保护的方法以及计算设备
CN113098696A (zh) 一种区块链数据写入、访问方法及装置
CN118250014A (zh) 安全通信方法及装置
CN115776389A (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