一种TEE可信认证方法、装置、设备及介质与流程

文档序号:33131494发布日期:2023-02-01 08:45阅读:49来源:国知局
一种TEE可信认证方法、装置、设备及介质与流程
一种tee可信认证方法、装置、设备及介质
技术领域
1.本发明涉及计算机技术领域,特别涉及一种tee可信认证方法、装置、设备及介质。


背景技术:

2.当前,随着隐私计算技术的兴起,基于相关技术的隐私计算平台相继提出。具体而言,它包括多方安全计算、同态加密、可信执行环境(trusted execution environment,tee)、联邦学习等技术,然而在基于tee构建隐私计算平台时,首要任务是完成对tee的可信认证,由发起验证端向远程任务执行端发起,任务执行端向发起验证端证明该任务执行端与目标验证环境相比无改动。被验证端即为一个可信执行环境,验证通过则表明该计算环境的安全性以及运行代码的完整性。
3.现有系统只是依赖第三方厂商的api(application program interface,应用程序界面)完成tee的远程认证,即证书链的校验。当下随着隐私计算技术的兴起,需要构建基于tee技术的隐私计算平台,将任务放置与tee中执行,以达到保障代码和数据不被泄露的目的。想要知道tee是否具有保障代码和数据不泄露的能力,需要在tee启动的时候完成远程认证。然而,这种传统的验证方式无法实现以任务为导向的tee可信认证(也即,对关联任务的tee进行可信验证)。
4.综上所述,如何实现以任务为导向的tee可信认证是当前亟待解决的问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种tee可信认证方法、装置、设备及介质,能够实现以任务为导向的tee可信认证。其具体方案如下:
6.第一方面,本技术公开了一种tee可信认证方法,应用于tee可信认证系统,所述tee可信认证系统包括隐私计算平台、主机代理、tee容器和认证模块,所述方法包括:
7.通过所述隐私计算平台向所述主机代理下发目标任务;
8.通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求;
9.通过所述目标tee的tee代理获取所述第一认证请求,并生成所述目标tee的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;
10.通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;
11.通过所述主机代理获取所述tee代理发送的所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。
12.可选的,所述通过所述主机代理在所述tee容器中生成所述目标任务对应的目标
tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求,包括:
13.通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并获取所述目标tee的tee代理发送的所述目标tee的tee地址;所述tee地址包括tee ip地址和tee mac地址;
14.通过所述主机代理基于所述tee地址生成所述目标tee的唯一标识,并向所述目标tee的tee代理发送包括所述目标tee的唯一标识的第一认证请求。
15.可选的,所述生成所述目标tee的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块,包括:
16.生成所述目标tee的目标公私钥对和度量报告,然后将包括所述目标公钥、所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;所述目标公私钥对为sm2公私钥对;
17.相应的,所述通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证,包括:
18.通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证;
19.相应的,所述通过所述主机代理获取所述tee代理发送的所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:
20.通过所述主机代理获取所述tee代理发送的所述目标公钥和所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述目标公钥、所述认证公钥和所述唯一标识对所述可信凭证进行验证。
21.可选的,所述基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证,包括:
22.计算所述目标公钥和所述唯一标识共同对应的第一哈希值,并利用认证私钥对所述第一哈希值进行签名得到签名值,并将所述签名值作为可信凭证。
23.可选的,所述利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:
24.利用所述认证公钥对所述可信凭证进行验签得到所述第一哈希值;
25.计算所述目标公钥和所述唯一标识共同对应的第二哈希值,若所述第一哈希值与所述第二哈希值一致,则验证通过。
26.可选的,所述计算所述目标公钥和所述唯一标识共同对应的第一哈希值,包括:
27.利用sm3算法计算所述目标公钥和所述唯一标识共同对应的第一哈希值。
28.可选的,所述基于所述唯一标识和认证私钥获取可信凭证之后,还包括:
29.将所述可信凭证存储至物理机,并建立所述可信凭证与所述唯一标识之间的关联关系。
30.第二方面,本技术公开了一种tee可信认证装置,应用于tee可信认证系统,所述tee可信认证系统包括隐私计算平台、主机代理、tee容器和认证模块,所述装置包括:
31.任务下发模块,用于通过所述隐私计算平台向所述主机代理下发目标任务;
32.第一认证请求发送模块,用于通过所述主机代理在所述tee容器中生成所述目标
任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求;
33.第二认证请求发送模块,用于通过所述目标tee的tee代理获取所述第一认证请求,并生成所述目标tee的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;
34.可信凭证获取模块,用于通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;
35.可信验证模块,用于通过所述主机代理获取所述tee代理发送的所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。
36.第三方面,本技术公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述公开的tee可信认证方法。
37.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的tee可信认证方法。
38.可见,本技术通过所述隐私计算平台向所述主机代理下发目标任务;通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求;通过所述目标tee的tee代理获取所述第一认证请求,并生成所述目标tee的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;通过所述主机代理获取所述tee代理发送的所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。由此可见,本技术针对每个目标任务创建目标tee,并对目标tee进行可信验证,以实现tee在实际中关联任务进行可信验证,也即实现以任务为导向的tee可信验证;本技术基于目标tee的唯一标识构建可信凭证,有利于增强可信凭证和目标tee的关联性;本技术,若认证公钥验证不成功,则说明可信凭证为假冒,因此利用认证公钥和认证私钥可查找出假冒可信凭证,进一步增强了可信验证的可靠性。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
40.图1为本技术提供的一种tee可信认证方法流程图;
41.图2为本技术提供的一种具体的tee可信认证方法流程图;
42.图3为本技术提供的一种tee可信认证方法流程示意图;
43.图4为本技术提供的一种tee可信认证方法装置结构示意图;
44.图5为本技术提供的一种电子设备结构图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.当前,随着隐私计算技术的兴起,基于相关技术的隐私计算平台相继提出。具体而言,它包括多方安全计算、同态加密、可信执行环境(trusted execution environment,tee)、联邦学习等技术,然而在基于tee构建隐私计算平台时,首要任务是完成对tee的可信认证,由发起验证端向远程任务执行端发起,任务执行端向发起验证端证明该任务执行端与目标验证环境相比无改动。被验证端即为一个可信执行环境,验证通过则表明该计算环境的安全性以及运行代码的完整性。一般情况下,需要一个远程厂商的服务端进行辅助验证。然而,现有系统只是依赖第三方厂商的api完成tee的远程认证,这种传统的验证方式无法实现以任务为导向的tee可信认证(也即,对关联任务的tee进行可信验证)。
47.为了克服上述问题,本技术提供了一种tee可信认证方案,能够实现以任务为导向的tee可信认证。
48.参见图1所示,本技术实施例公开了一种tee可信认证方法,应用于tee可信认证系统,所述tee可信认证系统包括隐私计算平台、主机代理、tee容器和认证模块,该方法包括:
49.步骤s11:通过所述隐私计算平台向所述主机代理下发目标任务。
50.本技术实施例中,tee可信认证系统分为四个组件:隐私计算平台、主机代理、tee容器和认证模块。隐私计算平台是进行各个参与方之间的数据调度和授权、任务调度和业务逻辑管理。主机代理是部署在具有硬件tee特性的主机上的软件,辅助隐私计算平台完成任务调度、执行和结果返回。tee容器中的tee是一种通过在cpu(central processing unit,中央处理器)硬件上部署三个技术(内存加密,运行隔离,以及可信启动)以达到构建一块安全的执行区域的技术,这块区域对区域外的所有攻击者都是黑盒的状态。认证模块会对tee发起随机数挑战,完成远程认证以及可信认证过程。
51.步骤s12:通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求。
52.本技术实施例中,所述通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求,包括:通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并获取所述目标tee的tee代理发送的所述目标tee的tee地址;所述tee地址包括tee ip地址和tee mac地址;通过所述主机代理基于所述tee地址生成所述目标tee的唯一标识,并向所述目标tee的tee代理发送包括所述目标tee的唯一标识的第一认证请求。
53.需要指出的是,本系统规定每个tee都具有一个256位的唯一id(identity document)标识(唯一标识),因此在生成所述目标任务对应的目标tee之后,还需要通过所述主机代理基于所述tee地址生成所述目标tee的唯一标识。
54.需要指出的是,主机代理接收到之后会根据mac(media access control,媒体存取控制)地址将tee的ip(internet protocol,网际互连协议)存储到物理机中。
55.步骤s13:通过所述目标tee的tee代理获取所述第一认证请求,并生成所述目标tee的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块。
56.本技术实施例中,通过所述目标tee的tee代理获取所述第一认证请求,并生成所述目标tee的度量报告,也即本地报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块(ca模块)。
57.步骤s14:通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证。
58.本技术实施例中,所述对所述度量报告进行远程验证的具体步骤为:请求tee厂商远程验证服务器下载根证书,然后完成对本地报告中证书链的校验。
59.本技术实施例中,所述基于所述唯一标识和认证私钥获取可信凭证,包括:计算所述唯一标识共同对应的第一哈希值,并利用认证私钥对所述第一哈希值进行签名得到签名值,并将所述签名值作为可信凭证。所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对,需要指出的是,国密算法是我国自主研发创新的一套数据加密处理系列算法。从sm1-sm4分别实现了对称、非对称、散列等算法功能。2010年底,国家密码管理局公布了基于椭圆曲线的公钥密码算法sm2。目前,该算法已公开,用于替换rsa/dh/ecdsa/ecdh等国际算法。同时由于该算法基于ecc(error correcting code,误差校正码),所以密钥生成速度和安全强度都高于同等位别的rsa。同时,该算法可以实现数据的签名、验签和加解密对称密钥等功能。在本方案中主要采用该算法的签名和验签的功能,完成对tee的可信认证。
60.需要指出的是,所述计算所述唯一标识共同对应的第一哈希值,包括:利用sm3算法计算所述唯一标识共同对应的第一哈希值。需要指出的是,sm3是国家推出的一种密码散列函数标准,主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其安全性及效率与sha-256相当。
61.需要指出的是,所述基于所述唯一标识和认证私钥获取可信凭证之后,还包括:将所述可信凭证存储至物理机,并建立所述可信凭证与所述唯一标识之间的关联关系。
62.步骤s15:通过所述主机代理获取所述tee代理发送的所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。
63.本技术实施例中,所述利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:利用所述认证公钥对所述可信凭证进行验签得到所述第一哈希值;计算所述唯一标识共同对应的第二哈希值,若所述第一哈希值与所述第二哈希值一致,则验证通过。
64.需要指出的是,若验证通过,则完成目标tee的可信认证,也即,已经实现了内存加密、运行隔离等功能,回调隐私计算平台tee已经成功创建,之后隐私计算平台可以下发任务到该tee并执行相关计算。
65.可见,本技术通过所述隐私计算平台向所述主机代理下发目标任务;通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求;通过所述目标tee的tee代理获取所述第一认证请求,并生成所述目标tee的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;通过所述主机代理获取所述tee代理发送的所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。由此可见,本技术针对每个目标任务创建目标tee,并对目标tee进行可信验证,以实现tee在实际中关联任务进行可信验证,也即实现以任务为导向的tee可信验证;本技术基于目标tee的唯一标识构建可信凭证,有利于增强可信凭证和目标tee的关联性;本技术,若认证公钥验证不成功,则说明可信凭证为假冒,因此利用认证公钥和认证私钥可查找出假冒可信凭证,进一步增强了可信验证的可靠性。
66.参见图2所示,本技术实施例公开了一种具体的tee可信认证方法,该方法包括:
67.步骤s21:通过所述隐私计算平台向所述主机代理下发目标任务。
68.本技术实施例中,如图3所示,隐私计算平台下发任务到主机代理,以便主机代理执行1.1下发任务中的具体操作,即创建目标tee。
69.步骤s22:通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求。
70.本技术实施例中,所述通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求,包括:通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并获取所述目标tee的tee代理发送的所述目标tee的tee地址;所述tee地址包括tee ip地址和tee mac地址;通过所述主机代理基于所述tee地址生成所述目标tee的唯一标识,并向所述目标tee的tee代理发送包括所述目标tee的唯一标识的第一认证请求。
71.需要指出的是,如图3所示,主机代理创建目标tee,目标tee启动并接收任务信号之后会立即向主机代理推送ip地址和mac地址,主机代理接收到之后会根据mac地址将tee的ip存储到物理机中。其次,主机代理向tee下发可信认证请求并附带tee id,如图3中2.1所示。
72.步骤s23:通过所述tee代理获取所述第一认证请求,并生成所述目标tee的目标公私钥对和度量报告,然后将包括所述目标公钥、所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;所述目标公私钥对为sm2公私钥对。
73.本技术实施中,通过所述tee代理获取所述第一认证请求后,都需要内部初始化密钥对,所述密钥对为sm2密钥对,包括目标公钥和目标私钥。
74.需要指出的是,tee内部初始化sm2密钥对,并对系统、应用、软硬件等进行度量,根据度量信息以及随机数挑战生成本地度量报告,并且度量报告关联tee id的摘要值,如图3中3.1和3.2所示。tee生成本地报告之后,主动向认证模块ca发起可信认证请求,并携带报
告、公钥和tee id,如图3中3.3所示。
75.步骤s24:通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证。
76.本技术实施例中,所述基于所述目标公钥、所述唯一标识和认证私钥获取可信凭证,包括:计算所述目标公钥和所述唯一标识共同对应的第一哈希值,并利用认证私钥对所述第一哈希值进行签名得到签名值,并将所述签名值作为可信凭证。需要指出的是,本技术增加了利用目标公钥得到第一哈希值,并进一步得到可信凭证,由此,增强可信凭证和目标tee的关联性。
77.需要指出的是,所述计算所述目标公钥和所述唯一标识共同对应的第一哈希值,包括:利用sm3算法计算所述目标公钥和所述唯一标识共同对应的第一哈希值。
78.需要指出的是,所述基于所述唯一标识和认证私钥获取可信凭证之后,还包括:将所述可信凭证存储至物理机,并建立所述可信凭证与所述唯一标识之间的关联关系。
79.需要指出的是,本技术认证模块收到目标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顺利通过远程验证并成功颁发可信凭证。
80.步骤s25:通过所述主机代理获取所述tee代理发送的所述目标公钥和所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述目标公钥、所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。
81.本技术实施例中,所述利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,包括:利用所述认证公钥对所述可信凭证进行验签得到所述第一哈希值;计算所述目标公钥和所述唯一标识共同对应的第二哈希值,若所述第一哈希值与所述第二哈希值一致,则验证通过。
82.需要指出的是,如图3所示,本技术ca(认证模块)将结果返回到tee代理,tee代理将结果和目标公钥一起发送给主机代理,如图3中5.1所示。主机代理收到信息之后,主动请求ca,通过tee id查询对应的tee可信凭证和认证公钥,如图3中6.1所示,然后使用ca公钥、tee id和认证公钥对可信凭证进行验签,如图3中6.2所示。验签通过之后表明该tee已经顺利通过远程验证,已经实现了内存加密、运行隔离等功能,回调隐私计算平台tee已经成功创建,之后隐私计算平台可以下发任务到该tee并执行相关计算。
83.可见,本技术通过所述隐私计算平台向所述主机代理下发目标任务;通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求;生成所述目标tee的目标公私钥对和度量报告,然后将包括所述目标公钥、所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;所述目标公私钥对为sm2公私钥对;通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述目标公钥、所述唯一标识和认证私
钥获取可信凭证;通过所述主机代理获取所述tee代理发送的所述目标公钥和所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述目标公钥、所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。由此可见,本技术针对每个目标任务创建目标tee,并对目标tee进行可信验证,以实现tee在实际中关联任务进行可信验证,也即实现以任务为导向的tee可信验证;本技术基于目标tee的唯一标识和目标tee对应的目标公钥构建可信凭证,进一步增强可信凭证和目标tee的关联性;本技术,若认证公钥验证不成功,则说明可信凭证为假冒,因此利用认证公钥和认证私钥可查找出假冒可信凭证,进一步增强了可信验证的可靠性。
84.参见图4所示,本技术实施例公开了一种tee可信认证装置,应用于tee可信认证系统,所述tee可信认证系统包括隐私计算平台、主机代理、tee容器和认证模块,该装置包括:
85.任务下发模块11,用于通过所述隐私计算平台向所述主机代理下发目标任务;
86.第一认证请求发送模块12,用于通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求;
87.第二认证请求发送模块13,用于通过所述目标tee的tee代理获取所述第一认证请求,并生成所述目标tee的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;
88.可信凭证获取模块14,用于通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;
89.可信验证模块15,用于通过所述主机代理获取所述tee代理发送的所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。
90.其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
91.可见,本技术通过所述隐私计算平台向所述主机代理下发目标任务;通过所述主机代理在所述tee容器中生成所述目标任务对应的目标tee,并向所述tee容器发送包括所述目标tee的唯一标识的第一认证请求;通过所述目标tee的tee代理获取所述第一认证请求,并生成所述目标tee的度量报告,然后将包括所述度量报告和所述唯一标识的第二认证请求发送至所述认证模块;通过所述认证模块获取所述第二认证请求,然后对所述度量报告进行远程验证,并在验证通过后,基于所述唯一标识和认证私钥获取可信凭证;通过所述主机代理获取所述tee代理发送的所述认证模块发送至所述tee代理的表示已获取所述可信凭证的目标信息,并基于所述唯一标识从所述认证模块中查询所述可信凭证和认证公钥,然后利用所述认证公钥和所述唯一标识对所述可信凭证进行验证,若验证通过,则完成目标tee的可信认证;所述认证公钥和所述认证私钥为所述认证模块预先生成的sm2公私钥对。由此可见,本技术针对每个目标任务创建目标tee,并对目标tee进行可信验证,以实现
tee在实际中关联任务进行可信验证,也即实现以任务为导向的tee可信验证;本技术基于目标tee的唯一标识构建可信凭证,有利于增强可信凭证和目标tee的关联性;本技术,若认证公钥验证不成功,则说明可信凭证为假冒,因此利用认证公钥和认证私钥可查找出假冒可信凭证,进一步增强了可信验证的可靠性。
92.进一步的,本技术实施例还提供了一种电子设备,图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
93.图5为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、输入输出接口24、通信接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任意实施例公开的tee可信认证方法的相关步骤。
94.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
95.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储器22作为可以包括作为运行内存的随机存取存储器和用于外部内存的存储用途的非易失性存储器,其上的存储资源包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
96.其中,操作系统221用于管理与控制源主机上电子设备20上的各硬件设备以及计算机程序222,操作系统221可以是windows、unix、linux等。计算机程222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的tee可信认证方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
97.本实施例中,所述输入输出接口24具体可以包括但不限于usb接口、硬盘读取接口、串行接口、语音输入接口、指纹输入接口等。
98.进一步的,本技术实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的tee可信认证方法。
99.关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
100.这里所说的计算机可读存储介质包括随机存取存储器(random access memory,ram)、内存、只读存储器(read-only memory,rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述tee可信认证方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
101.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的tee可信认证方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
102.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元
及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
103.结合本文中所公开的实施例描述算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
104.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
105.以上对本发明所提供的一种tee可信认证方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1