CN115664655A - 一种tee可信认证方法、装置、设备及介质 - Google Patents
一种tee可信认证方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115664655A CN115664655A CN202211295634.5A CN202211295634A CN115664655A CN 115664655 A CN115664655 A CN 115664655A CN 202211295634 A CN202211295634 A CN 202211295634A CN 115664655 A CN115664655 A CN 115664655A
- Authority
- CN
- China
- Prior art keywords
- tee
- authentication
- target
- trusted
- unique identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了一种TEE可信认证方法、装置、设备及介质,涉及计算机技术领域,所述方法包括:生成每个目标任务对应的目标TEE,并获取所述目标TEE对应的度量报告和唯一标识,对所述度量报告进行远程验证,并在验证通过后基于所述唯一标识和认证私钥获取可信凭证,利用所述认证公钥和所述唯一标识对所述可信凭证进行验证若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。由此可见,本申请实现了以任务为导向的TEE可信认证,认证私钥和认证公钥的应用提高了可信认证的可靠性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种TEE可信认证方法、装置、设备及介质。
背景技术
当前,随着隐私计算技术的兴起,基于相关技术的隐私计算平台相继提出。具体而言,它包括多方安全计算、同态加密、可信执行环境(Trusted Execution Environment,TEE)、联邦学习等技术,然而在基于TEE构建隐私计算平台时,首要任务是完成对TEE的可信认证,由发起验证端向远程任务执行端发起,任务执行端向发起验证端证明该任务执行端与目标验证环境相比无改动。被验证端即为一个可信执行环境,验证通过则表明该计算环境的安全性以及运行代码的完整性。
现有系统只是依赖第三方厂商的API(Application Program Interface,应用程序界面)完成TEE的远程认证,即证书链的校验。当下随着隐私计算技术的兴起,需要构建基于TEE技术的隐私计算平台,将任务放置与TEE中执行,以达到保障代码和数据不被泄露的目的。想要知道TEE是否具有保障代码和数据不泄露的能力,需要在TEE启动的时候完成远程认证。然而,这种传统的验证方式无法实现以任务为导向的TEE可信认证(也即,对关联任务的TEE进行可信验证)。
综上所述,如何实现以任务为导向的TEE可信认证是当前亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种TEE可信认证方法、装置、设备及介质,能够实现以任务为导向的TEE可信认证。其具体方案如下:
第一方面,本申请公开了一种TEE可信认证方法,应用于TEE可信认证系统,所述TEE可信认证系统包括隐私计算平台、主机代理、TEE容器和认证模块,所述方法包括:
通过所述隐私计算平台向所述主机代理下发目标任务;
通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;
通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;
通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;
通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。
可选的,所述通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求,包括:
通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并获取所述目标TEE的TEE代理发送的所述目标TEE的TEE地址;所述TEE地址包括TEE IP地址和TEEMAC地址;
通过所述主机代理基于所述TEE地址生成所述目标TEE的唯一标识,并向所述目标TEE的TEE代理发送包括所述目标TEE的唯一标识的第一认证请求。
可选的,所述生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块,包括:
生成所述目标TEE的目标公私钥对和度量报告,然后将包括所述目标公钥、所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;所述目标公私钥对为SM2公私钥对;
相应的,所述通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证,包括:
通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证;
相应的,所述通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:
通过所述主机代理获取所述TEE代理发送的所述目标公钥和所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述目标公钥、所述认证公钥和所述唯一标识对所述可信凭证进行验证。
可选的,所述基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证,包括:
计算所述目标公钥和所述唯一标识共同对应的第一哈希值,并利用认证私钥对所述第一哈希值进行签名得到签名值,并将所述签名值作为可信凭证。
可选的,所述利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:
利用所述认证公钥对所述可信凭证进行验签得到所述第一哈希值;
计算所述目标公钥和所述唯一标识共同对应的第二哈希值,若所述第一哈希值与所述第二哈希值一致,则验证通过。
可选的,所述计算所述目标公钥和所述唯一标识共同对应的第一哈希值,包括:
利用SM3算法计算所述目标公钥和所述唯一标识共同对应的第一哈希值。
可选的,所述基于所述唯一标识和认证私钥获取可信凭证之后,还包括:
将所述可信凭证存储至物理机,并建立所述可信凭证与所述唯一标识之间的关联关系。
第二方面,本申请公开了一种TEE可信认证装置,应用于TEE可信认证系统,所述TEE可信认证系统包括隐私计算平台、主机代理、TEE容器和认证模块,所述装置包括:
任务下发模块,用于通过所述隐私计算平台向所述主机代理下发目标任务;
第一认证请求发送模块,用于通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;
第二认证请求发送模块,用于通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;
可信凭证获取模块,用于通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;
可信验证模块,用于通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述公开的TEE可信认证方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的TEE可信认证方法。
可见,本申请通过所述隐私计算平台向所述主机代理下发目标任务;通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。由此可见,本申请针对每个目标任务创建目标TEE,并对目标TEE进行可信验证,以实现TEE在实际中关联任务进行可信验证,也即实现以任务为导向的TEE可信验证;本申请基于目标TEE的唯一标识构建可信凭证,有利于增强可信凭证和目标TEE的关联性;本申请,若认证公钥验证不成功,则说明可信凭证为假冒,因此利用认证公钥和认证私钥可查找出假冒可信凭证,进一步增强了可信验证的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种TEE可信认证方法流程图;
图2为本申请提供的一种具体的TEE可信认证方法流程图;
图3为本申请提供的一种TEE可信认证方法流程示意图;
图4为本申请提供的一种TEE可信认证方法装置结构示意图;
图5为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,随着隐私计算技术的兴起,基于相关技术的隐私计算平台相继提出。具体而言,它包括多方安全计算、同态加密、可信执行环境(Trusted Execution Environment,TEE)、联邦学习等技术,然而在基于TEE构建隐私计算平台时,首要任务是完成对TEE的可信认证,由发起验证端向远程任务执行端发起,任务执行端向发起验证端证明该任务执行端与目标验证环境相比无改动。被验证端即为一个可信执行环境,验证通过则表明该计算环境的安全性以及运行代码的完整性。一般情况下,需要一个远程厂商的服务端进行辅助验证。然而,现有系统只是依赖第三方厂商的API完成TEE的远程认证,这种传统的验证方式无法实现以任务为导向的TEE可信认证(也即,对关联任务的TEE进行可信验证)。
为了克服上述问题,本申请提供了一种TEE可信认证方案,能够实现以任务为导向的TEE可信认证。
参见图1所示,本申请实施例公开了一种TEE可信认证方法,应用于TEE可信认证系统,所述TEE可信认证系统包括隐私计算平台、主机代理、TEE容器和认证模块,该方法包括:
步骤S11:通过所述隐私计算平台向所述主机代理下发目标任务。
本申请实施例中,TEE可信认证系统分为四个组件:隐私计算平台、主机代理、TEE容器和认证模块。隐私计算平台是进行各个参与方之间的数据调度和授权、任务调度和业务逻辑管理。主机代理是部署在具有硬件TEE特性的主机上的软件,辅助隐私计算平台完成任务调度、执行和结果返回。TEE容器中的TEE是一种通过在CPU(central processingunit,中央处理器)硬件上部署三个技术(内存加密,运行隔离,以及可信启动)以达到构建一块安全的执行区域的技术,这块区域对区域外的所有攻击者都是黑盒的状态。认证模块会对TEE发起随机数挑战,完成远程认证以及可信认证过程。
步骤S12:通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求。
本申请实施例中,所述通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求,包括:通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并获取所述目标TEE的TEE代理发送的所述目标TEE的TEE地址;所述TEE地址包括TEE IP地址和TEE MAC地址;通过所述主机代理基于所述TEE地址生成所述目标TEE的唯一标识,并向所述目标TEE的TEE代理发送包括所述目标TEE的唯一标识的第一认证请求。
需要指出的是,本系统规定每个TEE都具有一个256位的唯一ID(Identitydocument)标识(唯一标识),因此在生成所述目标任务对应的目标TEE之后,还需要通过所述主机代理基于所述TEE地址生成所述目标TEE的唯一标识。
需要指出的是,主机代理接收到之后会根据MAC(Media Access Control,媒体存取控制)地址将TEE的IP(Internet Protocol,网际互连协议)存储到物理机中。
步骤S13:通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块。
本申请实施例中,通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,也即本地报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块(CA模块)。
步骤S14:通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证。
本申请实施例中,所述对所述度量报告进行远程验证的具体步骤为:请求TEE厂商远程验证服务器下载根证书,然后完成对本地报告中证书链的校验。
本申请实施例中,所述基于所述唯一标识和认证私钥获取可信凭证,包括:计算所述唯一标识共同对应的第一哈希值,并利用认证私钥对所述第一哈希值进行签名得到签名值,并将所述签名值作为可信凭证。所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对,需要指出的是,国密算法是我国自主研发创新的一套数据加密处理系列算法。从SM1-SM4分别实现了对称、非对称、散列等算法功能。2010年底,国家密码管理局公布了基于椭圆曲线的公钥密码算法SM2。目前,该算法已公开,用于替换RSA/DH/ECDSA/ECDH等国际算法。同时由于该算法基于ECC(Error Correcting Code,误差校正码),所以密钥生成速度和安全强度都高于同等位别的RSA。同时,该算法可以实现数据的签名、验签和加解密对称密钥等功能。在本方案中主要采用该算法的签名和验签的功能,完成对TEE的可信认证。
需要指出的是,所述计算所述唯一标识共同对应的第一哈希值,包括:利用SM3算法计算所述唯一标识共同对应的第一哈希值。需要指出的是,SM3是国家推出的一种密码散列函数标准,主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其安全性及效率与SHA-256相当。
需要指出的是,所述基于所述唯一标识和认证私钥获取可信凭证之后,还包括:将所述可信凭证存储至物理机,并建立所述可信凭证与所述唯一标识之间的关联关系。
步骤S15:通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。
本申请实施例中,所述利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:利用所述认证公钥对所述可信凭证进行验签得到所述第一哈希值;计算所述唯一标识共同对应的第二哈希值,若所述第一哈希值与所述第二哈希值一致,则验证通过。
需要指出的是,若验证通过,则完成目标TEE的可信认证,也即,已经实现了内存加密、运行隔离等功能,回调隐私计算平台TEE已经成功创建,之后隐私计算平台可以下发任务到该TEE并执行相关计算。
可见,本申请通过所述隐私计算平台向所述主机代理下发目标任务;通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。由此可见,本申请针对每个目标任务创建目标TEE,并对目标TEE进行可信验证,以实现TEE在实际中关联任务进行可信验证,也即实现以任务为导向的TEE可信验证;本申请基于目标TEE的唯一标识构建可信凭证,有利于增强可信凭证和目标TEE的关联性;本申请,若认证公钥验证不成功,则说明可信凭证为假冒,因此利用认证公钥和认证私钥可查找出假冒可信凭证,进一步增强了可信验证的可靠性。
参见图2所示,本申请实施例公开了一种具体的TEE可信认证方法,该方法包括:
步骤S21:通过所述隐私计算平台向所述主机代理下发目标任务。
本申请实施例中,如图3所示,隐私计算平台下发任务到主机代理,以便主机代理执行1.1下发任务中的具体操作,即创建目标TEE。
步骤S22:通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求。
本申请实施例中,所述通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求,包括:通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并获取所述目标TEE的TEE代理发送的所述目标TEE的TEE地址;所述TEE地址包括TEE IP地址和TEE MAC地址;通过所述主机代理基于所述TEE地址生成所述目标TEE的唯一标识,并向所述目标TEE的TEE代理发送包括所述目标TEE的唯一标识的第一认证请求。
需要指出的是,如图3所示,主机代理创建目标TEE,目标TEE启动并接收任务信号之后会立即向主机代理推送IP地址和MAC地址,主机代理接收到之后会根据MAC地址将TEE的IP存储到物理机中。其次,主机代理向TEE下发可信认证请求并附带TEE ID,如图3中2.1所示。
步骤S23:通过所述TEE代理获取所述第一认证请求,并生成所述目标TEE的目标公私钥对和度量报告,然后将包括所述目标公钥、所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;所述目标公私钥对为SM2公私钥对。
本申请实施中,通过所述TEE代理获取所述第一认证请求后,都需要内部初始化密钥对,所述密钥对为SM2密钥对,包括目标公钥和目标私钥。
需要指出的是,TEE内部初始化SM2密钥对,并对系统、应用、软硬件等进行度量,根据度量信息以及随机数挑战生成本地度量报告,并且度量报告关联TEE ID的摘要值,如图3中3.1和3.2所示。TEE生成本地报告之后,主动向认证模块CA发起可信认证请求,并携带报告、公钥和TEE ID,如图3中3.3所示。
步骤S24:通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证。
本申请实施例中,所述基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证,包括:计算所述目标公钥和所述唯一标识共同对应的第一哈希值,并利用认证私钥对所述第一哈希值进行签名得到签名值,并将所述签名值作为可信凭证。需要指出的是,本申请增加了利用目标公钥得到第一哈希值,并进一步得到可信凭证,由此,增强可信凭证和目标TEE的关联性。
需要指出的是,所述计算所述目标公钥和所述唯一标识共同对应的第一哈希值,包括:利用SM3算法计算所述目标公钥和所述唯一标识共同对应的第一哈希值。
需要指出的是,所述基于所述唯一标识和认证私钥获取可信凭证之后,还包括:将所述可信凭证存储至物理机,并建立所述可信凭证与所述唯一标识之间的关联关系。
需要指出的是,本申请认证模块收到目标TEE的请求之后,首先进行目标TEE本地报告的远程验证,请求TEE厂商远程验证服务器下载根证书,然后完成对本地报告中证书链的校验,如步骤图3中4.1所示。验证通过后,计算目标TEE的公钥pk和TEE ID的SM3哈希值(第一哈希值)并采用CA私钥(认证私钥)对其进行SM2签名,得到的签名值即为该目标TEE的可信凭证,如图3中4.2所示。然后将可信凭证存储到物理机并关联TEE ID,如图3中4.3所示。4.2完成后,表明该目标TEE顺利通过远程验证并成功颁发可信凭证。
步骤S25:通过所述主机代理获取所述TEE代理发送的所述目标公钥和所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述目标公钥、所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。
本申请实施例中,所述利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:利用所述认证公钥对所述可信凭证进行验签得到所述第一哈希值;计算所述目标公钥和所述唯一标识共同对应的第二哈希值,若所述第一哈希值与所述第二哈希值一致,则验证通过。
需要指出的是,如图3所示,本申请CA(认证模块)将结果返回到TEE代理,TEE代理将结果和目标公钥一起发送给主机代理,如图3中5.1所示。主机代理收到信息之后,主动请求CA,通过TEE ID查询对应的TEE可信凭证和认证公钥,如图3中6.1所示,然后使用CA公钥、TEE ID和认证公钥对可信凭证进行验签,如图3中6.2所示。验签通过之后表明该TEE已经顺利通过远程验证,已经实现了内存加密、运行隔离等功能,回调隐私计算平台TEE已经成功创建,之后隐私计算平台可以下发任务到该TEE并执行相关计算。
可见,本申请通过所述隐私计算平台向所述主机代理下发目标任务;通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;生成所述目标TEE的目标公私钥对和度量报告,然后将包括所述目标公钥、所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;所述目标公私钥对为SM2公私钥对;通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证;通过所述主机代理获取所述TEE代理发送的所述目标公钥和所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述目标公钥、所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。由此可见,本申请针对每个目标任务创建目标TEE,并对目标TEE进行可信验证,以实现TEE在实际中关联任务进行可信验证,也即实现以任务为导向的TEE可信验证;本申请基于目标TEE的唯一标识和目标TEE对应的目标公钥构建可信凭证,进一步增强可信凭证和目标TEE的关联性;本申请,若认证公钥验证不成功,则说明可信凭证为假冒,因此利用认证公钥和认证私钥可查找出假冒可信凭证,进一步增强了可信验证的可靠性。
参见图4所示,本申请实施例公开了一种TEE可信认证装置,应用于TEE可信认证系统,所述TEE可信认证系统包括隐私计算平台、主机代理、TEE容器和认证模块,该装置包括:
任务下发模块11,用于通过所述隐私计算平台向所述主机代理下发目标任务;
第一认证请求发送模块12,用于通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;
第二认证请求发送模块13,用于通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;
可信凭证获取模块14,用于通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;
可信验证模块15,用于通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请通过所述隐私计算平台向所述主机代理下发目标任务;通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。由此可见,本申请针对每个目标任务创建目标TEE,并对目标TEE进行可信验证,以实现TEE在实际中关联任务进行可信验证,也即实现以任务为导向的TEE可信验证;本申请基于目标TEE的唯一标识构建可信凭证,有利于增强可信凭证和目标TEE的关联性;本申请,若认证公钥验证不成功,则说明可信凭证为假冒,因此利用认证公钥和认证私钥可查找出假冒可信凭证,进一步增强了可信验证的可靠性。
进一步的,本申请实施例还提供了一种电子设备,图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、输入输出接口24、通信接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任意实施例公开的TEE可信认证方法的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储器22作为可以包括作为运行内存的随机存取存储器和用于外部内存的存储用途的非易失性存储器,其上的存储资源包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制源主机上电子设备20上的各硬件设备以及计算机程序222,操作系统221可以是Windows、Unix、Linux等。计算机程222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的TEE可信认证方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
本实施例中,所述输入输出接口24具体可以包括但不限于USB接口、硬盘读取接口、串行接口、语音输入接口、指纹输入接口等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的TEE可信认证方法。
关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述TEE可信认证方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的TEE可信认证方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种TEE可信认证方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种TEE可信认证方法,其特征在于,应用于TEE可信认证系统,所述TEE可信认证系统包括隐私计算平台、主机代理、TEE容器和认证模块,所述方法包括:
通过所述隐私计算平台向所述主机代理下发目标任务;
通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;
通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;
通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;
通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。
2.根据权利要求1所述的TEE可信认证方法,其特征在于,所述通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求,包括:
通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并获取所述目标TEE的TEE代理发送的所述目标TEE的TEE地址;所述TEE地址包括TEE IP地址和TEE MAC地址;
通过所述主机代理基于所述TEE地址生成所述目标TEE的唯一标识,并向所述目标TEE的TEE代理发送包括所述目标TEE的唯一标识的第一认证请求。
3.根据权利要求1所述的TEE可信认证方法,其特征在于,所述生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块,包括:
生成所述目标TEE的目标公私钥对和度量报告,然后将包括所述目标公钥、所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;所述目标公私钥对为SM2公私钥对;
相应的,所述通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证,包括:
通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证;
相应的,所述通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:
通过所述主机代理获取所述TEE代理发送的所述目标公钥和所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述目标公钥、所述认证公钥和所述唯一标识对所述可信凭证进行验证。
4.根据权利要求3所述的TEE可信认证方法,其特征在于,所述基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证,包括:
计算所述目标公钥和所述唯一标识共同对应的第一哈希值,并利用认证私钥对所述第一哈希值进行签名得到签名值,并将所述签名值作为可信凭证。
5.根据权利要求4所述的TEE可信认证方法,其特征在于,所述利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:
利用所述认证公钥对所述可信凭证进行验签得到所述第一哈希值;
计算所述目标公钥和所述唯一标识共同对应的第二哈希值,若所述第一哈希值与所述第二哈希值一致,则验证通过。
6.根据权利要求4所述的TEE可信认证方法,其特征在于,所述计算所述目标公钥和所述唯一标识共同对应的第一哈希值,包括:
利用SM3算法计算所述目标公钥和所述唯一标识共同对应的第一哈希值。
7.根据权利要求1至6任一项所述的TEE可信认证方法,其特征在于,所述基于所述唯一标识和认证私钥获取可信凭证之后,还包括:
将所述可信凭证存储至物理机,并建立所述可信凭证与所述唯一标识之间的关联关系。
8.一种TEE可信认证装置,其特征在于,应用于TEE可信认证系统,所述TEE可信认证系统包括隐私计算平台、主机代理、TEE容器和认证模块,所述装置包括:
任务下发模块,用于通过所述隐私计算平台向所述主机代理下发目标任务;
第一认证请求发送模块,用于通过所述主机代理在所述TEE容器中生成所述目标任务对应的目标TEE,并向所述TEE容器发送包括所述目标TEE的唯一标识的第一认证请求;
第二认证请求发送模块,用于通过所述目标TEE的TEE代理获取所述第一认证请求,并生成所述目标TEE的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;
可信凭证获取模块,用于通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;
可信验证模块,用于通过所述主机代理获取所述TEE代理发送的所述认证模块发送至所述TEE代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标TEE的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的SM2公私钥对。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的TEE可信认证方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的TEE可信认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211295634.5A CN115664655A (zh) | 2022-10-21 | 2022-10-21 | 一种tee可信认证方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211295634.5A CN115664655A (zh) | 2022-10-21 | 2022-10-21 | 一种tee可信认证方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115664655A true CN115664655A (zh) | 2023-01-31 |
Family
ID=84990203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211295634.5A Pending CN115664655A (zh) | 2022-10-21 | 2022-10-21 | 一种tee可信认证方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664655A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116506227A (zh) * | 2023-06-27 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN117235693A (zh) * | 2023-11-14 | 2023-12-15 | 杭州安恒信息技术股份有限公司 | 一种可信执行环境的可信认证和安全通道建立方法 |
-
2022
- 2022-10-21 CN CN202211295634.5A patent/CN115664655A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116506227A (zh) * | 2023-06-27 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN116506227B (zh) * | 2023-06-27 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN117235693A (zh) * | 2023-11-14 | 2023-12-15 | 杭州安恒信息技术股份有限公司 | 一种可信执行环境的可信认证和安全通道建立方法 |
CN117235693B (zh) * | 2023-11-14 | 2024-02-02 | 杭州安恒信息技术股份有限公司 | 一种可信执行环境的可信认证和安全通道建立方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10979231B2 (en) | Cross-chain authentication method, system, server, and computer-readable storage medium | |
KR102493744B1 (ko) | 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버 | |
US10790976B1 (en) | System and method of blockchain wallet recovery | |
CN108092776B (zh) | 一种基于身份认证服务器和身份认证令牌的系统 | |
US8285647B2 (en) | Maintaining privacy for transactions performable by a user device having a security module | |
JP2021516495A (ja) | キー管理方法、装置、システム、コンピュータ機器及びコンピュータプログラム | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、系统及可读存储介质 | |
EP3779792B1 (en) | Two-dimensional code generation method, data processing method, apparatus, and server | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
CN109981287B (zh) | 一种代码签名方法及其存储介质 | |
US20140006781A1 (en) | Encapsulating the complexity of cryptographic authentication in black-boxes | |
CN115664655A (zh) | 一种tee可信认证方法、装置、设备及介质 | |
CN108471403B (zh) | 一种账户迁移的方法、装置、终端设备及存储介质 | |
CN103546289A (zh) | 一种基于USBKey的安全传输数据的方法及系统 | |
CN114008968A (zh) | 用于计算环境中的许可授权的系统、方法和存储介质 | |
CN116112187B (zh) | 一种远程证明方法、装置、设备及可读存储介质 | |
CN110798322B (zh) | 一种操作请求方法、装置、存储介质及处理器 | |
US8954728B1 (en) | Generation of exfiltration-resilient cryptographic keys | |
CN116506134B (zh) | 数字证书管理方法、装置、设备、系统及可读存储介质 | |
CN110719174B (zh) | 基于Ukey的证书签发方法 | |
CN105577606A (zh) | 一种实现认证器注册的方法和装置 | |
CN117240473A (zh) | 电子合同签署方法、装置、电子设备和存储介质 | |
US20090210719A1 (en) | Communication control method of determining whether communication is permitted/not permitted, and computer-readable recording medium recording communication control program | |
CN116680687A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN115426106B (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 |