信息安全的验证方法、装置和系统与流程

文档序号:14847570发布日期:2018-06-30 16:53阅读:317来源:国知局
信息安全的验证方法、装置和系统与流程

本发明涉及信息安全领域,具体而言,涉及一种信息安全的验证方法、装置和系统。



背景技术:

随着计算网络技术的发展,信息安全越来越受到人们的重视。信息安全主要包括:设备安全、数据安全、内容安全与行为安全。为了确保信息的安全性,如果在两台设备之间进行通信,一台设备通常需借助平台身份数据和平台证书来向另一台设备证明其身份及设备平台的可信性。

在信息安全领域,为了保证用于通信的两台设备之间的可信性,简单的方案是采用口令及动态验证码的方式,即,借助用户预设的口令以及实时的动态验证码来验证交互实体的真实性,但是该方案在口令及动态验证码分发过程中,易劫取泄露,并且动态验证码的获取及输入都会造成用户的操作不便,也没有考虑用户所在平台的安全性。因而,现有技术大多采用可信计算组织(Trusted Computing Group,TCG)提出的可信计算方案,可信计算能够在计算运算的同时进行安全防护,使计算结果总是与预期一致,计算全程可测可控,不被干扰。

目前,可信计算主要分为两种:一种是国内的可信平台控制模块(Trusted Platform Control Module,TPCM),另一种是国际TCG标准组织的可信平台模块(Trusted Platform Module,TPM)。TCG规范中给出了对可信(trusted)的定义:一个实体一直以一种可预期的方式为特定的目标运行。可信计算的核心机制是通过信任链机制构建可信计算环境,目前运行实体是否可信是建立系统前一运行过程是否可信的基础上。基于这种信任关系,如果系统从一个初始的信任根出发,在平台计算环境的每一次转换时,这种信任可以通过传递的方式维持下去,从而在计算平台上建立了一级验证一级,一级信任一级的可信链,该计算环境就始终是可信的,它就能够被本地用户或远程实体信任,如图1所示,图1是根据现有技术的一种可选的TCG信任链示意图,从图1可以看出,可信计算的关键技术包括可信度量、可信报告、可信存储和可信网络连接等几部分。

可信计算的核心要素是可信链与可信根,TCG规范中的可信平台模块(Trusted Platform Module,TPM)是可信计算平台的硬件可信根,TPM是提供受保护的安全存储、密码运算能力的安全芯片。TPM通过物理方式与可信计算平台相连并通过外部总线连接到CPU上,例如PC机平台上采取直接固化在主板上的方式并通过LPC总线连接。由于TPM的核心度量根CRTM(Core Root of Trust for Measurement)处于基本输入输出系统BIOS中,不受TPM的保护。而可信平台控制模块TPCM实现了可信平台模块TPM的基本功能,其功能组成和与可信平台模块TPM基本相同,但在计算平台的运行控制传递过程中,可信根TPCM判断其下一级执行代码的真实性和完整性是否被篡改,如果没有,系统将运行控制权传递到下一级可信执行代码,系统的可信范围因扩大到下一级功能代码;同理,这种系统控制权不断传递,就可以实现信任链的建立和传递过程,最终实现系统范围可信构建。一个完整的系统可信传递过程要从可信根开始,系统控制权顺序由可信平台控制模块传递到可信的BIOS,再传递到可信的操作系统装载器,从可信的操作系统装载器传递到可信的操作系统,再从可信的操作系统传递到可信的应用。因此,TPCM提出了一种新的可信度量根设计,解决了可信度量根的起始度量点问题,改变了启动和度量顺序,在此基础上,建立了以该芯片为信任根的信任链度量流程,实现了由该芯片控制整个系统的启动,I/O接口控制以及系统配置等,体现了该芯片对系统可信性的控制作用。

由上可知,可信计算以硬件可信模块为核心,通过可信传递构建计算平台的信任链,可以保障网络和信息系统安全。远程证明作为可信计算的重要内容,是开放网络环境下建立计算平台间信任的有效机制。远程证明协议基于Privacy CA产生一个平台身份密钥,在认证平台身份的同时,保护用户的隐私,基于平台身份密钥向远程方证明平台的软件状态,但是,该方案在获取身份密钥和身份证书的进程与可信安全芯片之间并无身份合法性验证,存在中间人攻击。具体地,结合图2来说明现有的平台身份密钥及证书分发过程,图2是根据现有技术的一种平台身份密钥及证书分发过程示意图,如图2所示,包括如下步骤:

步骤S202,用户进程U向安全芯片T发送身份标签L和指定的可信第三方PCA。

具体地,在上述步骤中,身份标签L为用户终端上运行的用户进程U的身份标签,只是一个标签,可以由用户自由选取,可以用于查找AIK证书,而无法作为安全芯片或者用户唯一标识名称使用。需要说明的是,由于身份标签L没有加密,易被攻击者截取。

步骤S204,安全芯片T向用户进程U发送平台身份公钥AIK、签名的身份内容信息I,其中,I=[AIK,L,PCA]AIK-1

具体地,在上述步骤中,安全芯片T调用TPM_MakeIdentity命令,由TPM芯片为用户进程U生成一个新的平台身份密钥对,将用户进程U的平台身份私钥保存在TPM芯片内部,而将用户进程U的平台身份公钥AIK和TPM生成的身份内容信息I返回给用户;其中,I=[AIK,L,PCA]AIK-1函数通过安全芯片T为用户进程U生成的平台身份私钥AIK-1对用户进程U的平台身份公钥AIK、身份标签L和可信第三方PCA进行签名,表示这些数据与该安全芯片T关联。

需要说明的是,在协议中安全芯片T没有向用户进程U证明AIK以及AIK-1为其产生的平台身份公私钥对。

步骤S206,用户进程U向可信第三方PCA发送安全芯片背书证书Cert_EK、用户进程U的平台身份公钥AIK、身份标签L和签名的身份内容信息I。

需要说明的是,由于安全芯片背书证书Cert_EK、身份标签L均未保护,容易遭受截取。

步骤S208,可信第三方PCA将加密包[Cert_AIK]EK返回至用户进程U。

具体地,在上述步骤中,可信第三方PCA验证安全芯片背书证书Cert_EK的有效性,利用其私钥SK(厂商私钥)对平台身份公钥AIK进行签名,生成AIK证书后,使用安全芯片背书公钥加密保护AIK证书,并将加密包返回至用户进程U。

步骤S210,用户进程U向安全芯片T发送利用安全芯片背书公钥EK生成的加密包[Cert_AIK]EK。

步骤S212,安全芯片T使用其内部的安全芯片背书私钥EK解密加密包[Cert_AIK]EK并获得相应的AIK证书Cert_AIK。

具体地,在上述步骤中,安全芯片T通过TPM_ActivateIdentity命令来激活T内部的新平台身份密钥AIK,同时使用T内部的安全芯片背书私钥EK解密获得相应的AIK证书。

分析可知,现有的平台身份密钥及证书分发过程中,由于获取身份密钥和身份证书的用户进程与可信安全芯片之间没有身份合法性验证,用户进程向安全芯片获取身份密钥,以及向PCA获取身份证书过程中,双方也没有身份合法性确认,这使得获取身份密钥和身份证书的过程中存在中间人攻击;另一方面,用户向PCA申请证书时,并不验证该进程是否来自可信安全芯片平台,这使得许多没有安全芯片的平台可以利用一个可信平台的安全芯片来欺骗验证者从而获取合法身份证书,或者说没有合法平台的用户进程均可以通过一个被控制的合法可信平台去获得合法身份证书。

针对上述现有技术中用户终端上运行的用户进程与安全芯片交互时没有对双方身份进行合法性验证的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种信息安全的验证方法、装置和系统,以至少解决现有技术中用户终端上运行的用户进程与安全芯片交互时没有对双方身份进行合法性验证的技术问题。

根据本发明实施例的一个方面,提供了一种信息安全的验证方法,包括:用户终端将加密后的信息集发送至安全芯片,其中,信息集包括:第一随机数;用户终端接收安全芯片返回的身份数据,其中,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和安全芯片为用户终端上运行的用户进程生成的平台身份公钥;用户终端根据第一随机数对身份数据进行解密得到第一解密结果,其中,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密;用户终端根据第一解密结果确定安全芯片是否为合法的芯片。

根据本发明实施例的另一方面,还提供了一种信息安全的验证系统,包括:安全芯片;用户终端,用于将加密后的信息集发送至安全芯片,接收安全芯片返回的身份数据,根据第一随机数对身份数据进行解密得到第一解密结果,根据第一解密结果确定安全芯片是否为合法的芯片;其中,信息集包括:第一随机数,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和安全芯片为用户终端上运行的用户进程生成的平台身份公钥,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密。

根据本发明实施例的另一方面,还提供了一种信息安全的验证装置,包括:第一发送模块,用于用户终端将加密后的信息集发送至安全芯片,其中,信息集包括:第一随机数;接收模块,用于用户终端接收安全芯片返回的身份数据,其中,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和安全芯片为用户终端上运行的用户进程生成的平台身份公钥;第一解密模块,用于用户终端根据第一随机数对身份数据进行解密得到第一解密结果,其中,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密;第一确定模块,用于用户终端根据第一解密结果确定安全芯片是否为合法的芯片。

在本发明实施例中,通过用户终端将加密后的信息集发送至安全芯片,其中,信息集包括:第一随机数;用户终端接收安全芯片返回的身份数据,其中,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和安全芯片为用户终端上运行的用户进程生成的平台身份公钥;用户终端根据第一随机数对身份数据进行解密得到第一解密结果,其中,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密;用户终端根据第一解密结果确定安全芯片是否为合法的芯片,达到了用户终端上的用户进程与安全芯片之间进行可信性验证的目的,从而实现了提高了通信过程中信息安全性的技术效果,进而解决了现有技术中用户终端上运行的用户进程与安全芯片交互时没有对双方身份进行合法性验证的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的一种可选的TCG信任链示意图;

图2是根据现有技术的一种平台身份密钥及证书分发过程示意图;

图3是本发明实施例的一种用于实现信息安全的验证系统的硬件环境示意图;

图4是根据本发明实施例的一种用于信息安全的验证系统的移动终端的硬件结构框图;

图5是根据本发明实施例的一种信息安全的验证系统示意图;

图6是根据本发明实施例的一种用于实现信息安全的验证方法的计算机终端的硬件结构框图;

图7是本发明实施例的一种用于实现信息安全的验证方法的硬件环境示意图;

图8是根据本发明实施例的一种信息安全的验证方法的流程图;

图9是根据本发明实施例的一种可选的信息安全的验证方法的流程图;

图10是根据本发明实施例的一种可选的信息安全的验证方法的流程图;

图11是根据本发明实施例的一种可选的信息安全的验证方法的流程图;

图12是根据本发明实施例的一种可选的信息安全的验证方法的流程图;

图13是根据本发明实施例的一种可选的信息安全的验证方法的流程图;

图14是根据本发明实施例的一种可选的信息安全的验证方法的流程图;

图15是根据本发明实施例的一种可选的信息安全的验证方法的流程图;

图16是根据本发明实施例的一种可选的平台身份密钥与证书分发过程示意图;

图17是根据本发明实施例的一种信息安全的验证装置示意图;以及

图18是根据本发明实施例的一种计算机终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

(1)U:用户终端上运行的用户进程;

(2)T:安全芯片;

(3)TID:安全芯片唯一标识,可以标识安全芯片T的唯一性;

(4)PCA:第三方证书服务器的信息,即,可信第三方;

(5)N1:第一随机数,用户终端上运行的用户进程U产生的随机数;

(6)N2:第二随机数,安全芯片T产生的随机数;

(7)L:用户终端上运行的用户进程的标识信息,即,用户进程的身份标签;

(8)AIK:安全芯片T为用户进程U产生的用于验证平台身份的密钥,其中,AIK为用户进程U的平台身份公钥,AIK-1为用户进程U的平台身份私钥,平台身份私钥存放在安全芯片T的芯片内部;

(9)I=[AIK,L,PCA]AIK-1,注:表示用平台身份私钥AIK-1加密信息集:AIK,L,PCA;

(10)EK:安全芯片T的安全芯片背书公钥;EK-1:安全芯片T中与安全芯片背书公钥EK对应的安全芯片背书私钥;

(11)Cert_EK:安全芯片的背书证书,Cert_EK=[TID,EK,MF]SK(MF),其中,MF是厂商,SK(MF)是厂商私钥;[T,EK,MF]SK(MF)表示用厂商私钥SK(MF)加密信息[T,EK,MF],本申请实施例中,[Y]X表示用X加密Y,后续不再重述;

(12)Cert_AIK=[L,AIK,PCA]SK(PCA);

(13)PCA的平台身份公私钥对:PK(PCA)为PCA的公钥,SK(PCA)为PCA的私钥;

(14)证书格式[u,PK(u),CA]Sk(CA):其中,u表示证书拥有者;PK(u)表示证书拥有者公钥;CA表示证书颁发者;Sk(CA)表示证书颁发者私钥。

实施例1

根据本发明实施例,还提供了一种信息安全的验证的系统实施例,需要说明的是,本发明实施例1所提供的信息安全的验证系统实施例可以应用于如图3所示的由服务器303和终端301所构成的硬件环境中。如图3所示,终端301可以经由数据网络连接或电子连接到一个或多个服务器。一种可选实施例中,上述终端301可以但不限定于PC电脑、手机、笔记本电脑、平板电脑等设备。数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。终端301可以执行以连接到由一个服务器或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。

需要说明的是,本申请实施例一所提供的系统实施例中的终端301可以在计算机终端、移动终端或者类似的运算装置中执行。以运行在移动终端上为例,图4是本发明实施例的一种用于实现信息安全的验证系统的移动终端的硬件结构框图。如图4所示,该移动终端40可以包括一个或多个(图中仅示出一个)处理器402(处理器402可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器404、以及用于通信功能的传输装置406。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端40还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。

存储器404可用于存储应用软件的软件程序以及模块,如本发明实施例中的信息安全的验证方法对应的程序指令/模块,处理器402通过运行存储在存储器404内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信息安全的验证方法。存储器404可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器404可进一步包括相对于处理器402远程设置的存储器,这些远程存储器可以通过网络连接至移动终端40。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端40的通信供应商提供的无线网络。在一个实例中,传输装置406包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置406可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

此处需要说明的是,在一些可选实施例中,上述图4所示的移动终端可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图4仅为特定具体实例的一个实例,并且旨在示出可存在于上述移动终端中的部件的类型。

需要说明的是,图4示出的硬件结构框图,不仅可以作为上述终端301的示例性框图,还可以作为上述服务器303的示例性框图。

在上述运行环境下,本申请提供了一种信息安全的验证系统实施例。图5是根据本发明实施例的一种信息安全的验证系统示意图;如图5所示,该系统包括:安全芯片501和用户终端503。

其中,用户终端503,用于将加密后的信息集发送至安全芯片501,接收安全芯片501返回的身份数据,根据第一随机数对身份数据进行解密得到第一解密结果,根据第一解密结果确定安全芯片是否为合法的芯片;

其中,信息集包括:第一随机数,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和安全芯片为用户终端上运行的用户进程生成的平台身份公钥,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密。

具体地,在本实施例中,上述安全芯片501可以为用于在计算运算的同时进行安全防护的可信任平台模块,是一个可独立进行密钥生成、加解密的装置,内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为终端设备提供加密和安全认证服务;利用安全芯片进行加密,密钥被存储在硬件中,被窃的数据无法解密,从而保护商业隐私和数据安全;上述用户终端可以为用于通信的计算机、笔记本电脑、平板电脑、手机等终端设备,用户进程可以为用户在上述用户终端上运行的进程,一旦用户进程产生,则安全芯片会为用户进程生成相应的平台身份密钥对,用户进程获取平台身份公钥,该用户进程的平台身份私钥则留在安全芯片内部;上述信息集为用户终端发送的包含了用户进程的身份标签、可信第三方PCA信息的数据,需要说明的是,本申请实施中,在信息集中加入了第一随机数,因而,上述信息集可以包括用户终端上运行的用户进程的身份标签、可信第三方PCA信息以及第一随机数。

通过上述实施例中安全芯片和用户终端公开的方案,用户终端(实际上是用户终端上运行的用户进程)在将信息集发送至安全芯片之前,会首先将信息集进行加密;在用户终端将加密后的信息集发送至安全芯片后,安全芯片接收用户终端发送的加密后的信息集,进行解密,得到该用户终端的身份标签、可信第三方PCA信息以及第一随机数;安全芯片内部产生第二随机数,并利用第一随机数、第二随机数以及安全芯片内部的安全芯片背书私钥为用户进程产生平台身份平台身份公私钥对,其中,平台身份私钥保留在安全芯片中,平台身份公钥发送至用户进程,同时将采用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息也发送至用户终端。用户终端接收得到安全芯片返回的身份数据后,利用第一随机数对接收到的身份数据进行解密,得到第一解密结果,并验证安全芯片是否为合法的芯片。

一种可选的实施例中,假设用户终端上运行的用户进程U、安全芯片T、可信第三方PCA在身份密钥及身份证书交互之前,已获得安全芯片背书公钥EK,用户进程U可以利用安全芯片背书公钥EK将信息集[L,PCA,N1]加密,其中,L为用户进程U的身份标签,PCA为可信第三方信息、N1为第一随机数。

基于上述实施例,在安全芯片接收到利用安全芯片背书公钥EK加密的信息集[L,PCA,N1]EK后,首先,利用安全芯片背书私钥EK-1解密接收到的信息集[L,PCA,N1]EK,得到用户进程的身份标签L、可信第三方PCA信息以及第一随机数N1;接着,安全芯片产生第二随机数N2,并依据N1、N2、EK-1为用户进程U产生平台身份平台身份公私钥对AIK(平台身份公钥)、AIK-1(平台身份私钥),其中,AIK=[N1||N2||L]EK-1,平台身份私钥AIK-1保留在安全芯片T中;然后,安全芯片T通过计算得到身份内容信息I=[AIK,L,TID,PCA]AIK-1以及利用第一随机数N1加密得到的安全芯片的背书证书[Cert_EK]N1;最后,安全芯片T将使用第一随机数进行加密的安全芯片的背书证书[Cert_EK]N1、基于第一随机数和第二随机数(安全芯片内部产生的随机数)生成的用户进程的平台身份公钥AIK、包含了安全芯片的芯片标识的身份内容信息I发送至用户进程。

作为一种可选的实施例,上述身份数据中可以包括:第一随机数进行加密的安全芯片的背书证书[Cert_EK]N1、基于第一随机数和第二随机数生成的用户进程的平台身份公钥AIK、包含了安全芯片的芯片标识的身份内容信息I=[AIK,L,TID,PCA]AIK-1,其中,TID可以标识安全芯片T的唯一性,将TID与用户进程的身份标签L绑定作为用户进程U的平台身份信息一部分,解决了用户进程请求身份与安全芯片平台身份的绑定。用户终端接收到安全芯片返回的平台身份密钥后,利用第一随机数N1对加密的安全芯片的背书证书[Cert_EK]N1进行解密,可以得到背书证书Cert_EK。

可选地,基于上述实施例公开的方案,用户进程U利用第一随机数N1对身份密钥进行解密,得到背书证书Cert_EK后,根据背书证书Cert_EK得到相应的安全芯片背书公钥EK后,利用安全芯片背书公钥EK来解密平台身份公钥AIK=[N1||N2||L]EK-1,如果所解密的结果信息中包含第一随机数N1,且身份内容信息中包含的TID的信息与Cer_安全芯片背书证书Cert_EK所包含的TID信息一致,则认为AIK和I是合法的安全芯片T发给自己的平台身份公钥及身份内容信息,流程继续,否则终止。

由上可知,在本申请上述实施例中,用户终端(实际上是用户终端上运行的用户进程)在将信息集发送至安全芯片之前,利用安全芯片背书公钥来对信息集加密;安全芯片接收到用户进程发送的加密后的信息集后,采用相应的私钥来对加密后的信息集进行解密,由于信息集中添加了第一随机数,安全芯片利用第一随机数对其背书证书进行加密后发送至用户进程,同时将包含了其芯片标识的身份内容信息和基于第一随机数和第二随机数(安全芯片内部产生的随机数)生成的平台身份公钥发送至用户进程;用户进程在接收到安全芯片返回的加密后的背书证书、包含了芯片标识的身份内容信息以及平台身份公钥后,利用第一随机数进行解密,并根据解密后的解密结果确定安全芯片是否为合法的芯片。

通过上述实施例公开的方案,达到了用户终端上的用户进程与安全芯片之间进行可信性验证的目的,从而实现了提高通信过程中信息安全性的技术效果。

由此,本申请上述实施例解决了现有技术中用户终端上运行的用户进程与安全芯片交互时没有对双方身份进行合法性验证的技术问题。

在一种可选的实施例中,上述安全芯片501还用于使用与安全芯片背书公钥EK对应的安全芯片背书私钥EK-1对加密后的信息集进行解密,得到信息集,并在获取到第二随机数(安全芯片内部产生的随机数)之后,根据信息集、第二随机数和安全芯片背书私钥EK-1产生用户进程的平台身份公钥AIK、平台身份私钥AIK-1和身份内容信息,并使用第一随机数对安全芯片的背书证书进行加密;上述用户终端503还用于接收安全芯片发送的至少将如下信息:身份内容信息、加密后的背书证书和平台身份公钥AIK。

具体地,在上述实施例中,在用户终端503将加密后的信息集发送至安全芯片501后,安全芯片501接收用户终端503发送的加密后的信息集,可以利用与安全芯片背书公钥EK对应的安全芯片背书私钥EK-1对加密后的信息集进行解密,得到用户终端503上运行的用户进程的身份标签、可信第三方PCA信息以及用户终端503上运行的用户进程U产生的第一随机数;并产生第二随机数,利用第一随机数、第二随机数以及安全芯片501内部的安全芯片背书私钥EK-1为用户终端503上运行的用户进程产生平台身份平台身份公私钥对,即,用户进程U的平台身份公钥AIK、平台身份私钥AIK-1;其中,平台身份私钥AIK-1保留在安全芯片501中,平台身份公钥AIK发送至用户终端503,同时将采用第一随机数进行加密的安全芯片501的背书证书、身份内容信息也发送至用户终端503。

此处需要说明的是,上述身份内容信息中包含了安全芯片T的芯片标识,由本申请背景部分内容可知,现有的平台身份密钥及证书分发过程中,安全芯片T向用户进程U发送的签名后的身份内容信息为I=[AIK,L,PCA]AIK-1,而本申请实施例中,安全芯片T通过计算得到的身份内容信息I=[AIK,L,TID,PCA],其中,TID为安全芯片T唯一标识。

通过上述实施例,安全芯片501采用第一随机数、第二随机数以及安全芯片501内部的安全芯片背书私钥EK-1产生安全芯片501的平台身份公钥AIK,可以便于后续用户进程对安全芯片501的验证,安全芯片501使用TID用以标识可信芯片T的唯一性,并将之与身份标签L绑定作为用户进程U的平台身份信息一部分,解决了用户进程请求身份与可信芯片平台身份的绑定。

在一种可选的实施例中,如图5所示,上述系统还包括:第三方证书服务器505,接收用户终端503发送的待验证的信息,待验证的信息包括至少如下数据:使用第三方服务器提供的证书公钥对安全芯片背书证书进行加密的加密结果、用户终端上运行的用户进程的身份标签、第三方证书服务器505的标识信息、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥。

具体地,在上述实施例中,在用户终端向第三方证书服务器505发送背书证书的加密结果、用户终端上运行的用户进程的身份标签、第三方证书服务器505的标识信息、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥等信息之后,第三方证书服务器505使用与证书公钥对应的证书私钥对背书证书的加密结果进行解密,得到安全芯片的背书证书、用户进程的身份标签L和安全芯片的安全芯片背书公钥EK;然后,第三方证书服务器505使用安全芯片的安全芯片背书公钥EK对用户进程的平台身份公钥AIK进行解密,得到用户进程U的身份标签L,并使用用户进程的平台身份公钥AIK对身份内容信息进行解密,得到相应的解密信息,如果解密信息中包含的芯片标识与背书证书中记录的芯片标识一致,和/或解密信息中包含的用户进程的身份标签与背书证书中记录的身份标签一致,则确定安全芯片提供了为用户终端上运行的用户进程U提供了合法的平台身份平台身份公私钥对。

一种可选的实施例中,用户终端使用第三方证书服务器505提供的证书公钥PK(PCA)对安全芯片的背书证书进行加密,得到背书证书的加密结果[Cert_EK]PK(PCA),并向第三方证书服务器505(即,可信第三方PCA)发送以下信息:背书证书的加密结果[Cert_EK]PK(PCA)、用户进程的身份标签L、第三方证书服务器505的标识信息PCA、包含了安全芯片的芯片标识的身份内容信息I和基于第一随机数和第二随机数生成的用户进程的平台身份公钥AIK。第三方证书服务器505接收到上述信息后,利用与证书公钥PK(PCA)对应的证书私钥SK(PCA)解密背书证书的加密结果信息[Cert_EK,L]PK(PCA),得到背书证书Cert_EK、用户进程的身份标签L、以及安全芯片背书公钥EK,利用安全芯片背书公钥EK解密用户进程的平台身份公钥AIK,得到用户进程的身份标签L,判断利用安全芯片背书公钥EK解密得到的用户进程的身份标签L与利用证书私钥SK(PCA)解密背书证书的加密结果信息[Cert_EK,L]PK(PCA)得到身份标签L是否一致,以及利用平台身份公钥AIK解密平台身份内容信息I得到的芯片标识TID与背书证书Cert_EK里的TID是否一致,从而确定平台身份公钥AIK和平台身份私钥AIK-1是否来自合法的安全芯片为用户进程产生的平台身份公私钥对。

通过上述实施例,实现了为用户进程提供的平台身份公私钥对的安全芯片的合法性进行验证。

在一种可选的实施例中,上述用户终端503还用于使用安全芯片背书公钥EK对信息集进行加密,其中,信息集还包括:用户终端503上运行的用户进程的标识信息和第三方证书服务器的信息。

具体地,在上述实施例中,安全芯片背书公钥EK可以为基于TCG规范,用于在平台身份密钥和身份证书的分发过程中的平台身份公钥;用户终端503上运行的用户进程的标识信息可以为用户终端503的身份标签,第三方证书服务器的信息可以为可信第三方平台的信息;一种可选的实施例中,假设用户终端503U,安全芯片501T,可信第三方PCA在平台身份密钥及身份证书交互之前,已获得平台安全芯片背书公钥EK,用户终端503在将加密后的信息集发送至安全芯片501前,可以首先利用安全芯片背书公钥EK将信息集[L,PCA,N1]加密,其中,其中,L为用户终端503的身份标签,PCA为第三方证书服务器的信息、N1为第一随机数,用户进程U产生的随机生成数。

在一种可选的实施例中,上述用户终端503还用于使用第一随机数对加密后的背书证书进行解密,得到背书证书;根据背书证书得到安全芯片背书公钥EK,并验证背书证书的合法性;使用安全芯片背书公钥EK对平台身份公钥AIK进行解密,得到第三解密结果。

具体地,在上述实施例中,上述第一随机数可以为用户终端503上运行的用户进程U产生的随机生成数;用户终端503在接收得到安全芯片501返回的平台身份公钥后,利用第一随机数对使用第一随机数进行加密的安全芯片501的背书证书进行解密,得到安全芯片501的背书证书;利用背书证书得到相应的安全芯片背书公钥,使用安全芯片背书公钥对平台身份公钥进行解密,得到第三解密结果。

一种可选的实施例中,上述身份数据中可以包括:第一随机数进行加密的安全芯片501的背书证书,得到加密结果[Cert_EK]N1、安全芯片501生成的平台身份公钥AIK、包含了安全芯片501的芯片标识的身份内容信息I=[AIK,L,TID,PCA]AIK-1;用户终端503U利用第一随机数N1对加密结果[Cert_EK]N1进行解密,得到背书证书Cert_EK后,根据背书证书Cert_EK得到相应的安全芯片背书公钥EK后,利用安全芯片背书公钥EK来解密平台身份公钥信息AIK=[N1||N2||L]EK-1,得到第三解密结果,其中,如果安全芯片背书公钥EK合法的情况下,得到的第三解密结果中应该包含第一随机数N1。

通过上述实施例,由于用户终端503在向安全芯片501发送信息集之前,在信息集中增加了第一随机数,因而,可以通过验证上述解密后的结果中是否包含第一随机数来验证安全芯片501是否合法。

在一种可选的实施例中,上述用户终端503还用于验证第三解密结果中是否包含第一随机数;如果第三解密结果中包含第一随机数,则确定安全芯片501为合法的芯片。

具体地,在上述实施例中,用户终端503在根据第一随机数对加密的安全芯片的背书证书进行解密得到第一解密结果后,可以通过验证第三解密结果中是否包含第一随机数来确定安全芯片501是否为合法的芯片,如果第三解密结果中包含第一随机数,则确定安全芯片501为合法的芯片。

具体的,用户终端可以利用第一随机数N1对加密结果[Cert_EK]N1进行解密,得到背书证书Cert_EK后,根据背书证书Cert_EK得到相应的安全芯片背书公钥EK后,利用安全芯片背书公钥EK来解密平台身份公钥信息AIK=[N1||N2||L]EK-1,得到第三解密结果,其中,如果安全芯片背书公钥EK合法的情况下,得到的第三解密结果中应该包含第一随机数N1。

通过上述实施例,可以实现用户终端503上运行的用户进程对安全芯片501是否合法进行验证,提高了通信的安全性。

在一种可选的实施例中,上述用户终端503还用于使用第三方证书服务器505提供的证书公钥对安全芯片501的背书证书进行加密,得到背书证书的加密结果;向第三方证书服务器505发送待验证的信息,待验证的信息包括至少如下数据:背书证书的加密结果、用户终端503上运行的用户进程的身份标签、第三方证书服务器505的标识信息、包含了安全芯片501的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的安全芯片501的平台身份公钥。

具体地,在上述实施例中,第三方证书服务器505为可信第三方平台;在用户终端503根据第一解密结果确定安全芯片501为合法的芯片的情况下,用户终端503使用第三方证书服务器505提供的证书公钥对安全芯片501的背书证书进行加密,得到背书证书的加密结果,并将该加密结果与用户终端503上运行的用户进程的身份标签、第三方证书服务器505的标识信息、包含了安全芯片501的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的安全芯片501的平台身份公钥发送至第三方证书服务器505。

在一种可选的实施例中,第三方证书服务器505还用于使用证书公钥对预定的数据集合进行加密,生成身份证书,其中,预定的数据集合包括:用户进程的身份标签、安全芯片501的平台身份公钥AIK、用户进程的身份标签和第三方证书服务器505的标识信息;使用安全芯片背书公钥EK对身份证书进行加密,并将加密结果分发身份证书到至少一个用户终端503。

具体地,在上述实施例中,在第三方证书服务器505确定安全芯片501提供了合法的平台身份公私钥对之后,第三方证书服务器505使用证书公钥对用户进程的身份标签、安全芯片501的平台身份公钥AIK、用户进程的身份标签和第三方证书服务器505的标识等信息进行加密,为用户终端503的用户进程生成相应的身份证书,并利用安全芯片背书公钥EK对身份证书进行加密,并将加密结果分发身份证书发送一个或多个用户终端503。

在一种可选的实施例中,上述用户终端503还用于接收到身份证书并将身份证书转发给安全芯片501;上述安全芯片501还用于使用安全芯片背书私钥EK-1对加密后的身份证书进行解密,得到身份证书。

在一种可选的实施例中,上述安全芯片501还用于采用第一随机数对身份证书进行加密,并将加密结果发送至用户终端503,上述用户终端503还用于采用本地存储的第一随机数解密得到身份证书。

实施例2

根据本发明实施例,还提供了一种信息安全的验证的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例2所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图6示出了一种用于实现信息安全的验证方法的计算机终端的硬件结构框图。如图6所示,计算机终端60可以包括一个或多个(图中采用602a、602b,……,602n来示出)处理器602(处理器602可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器604、以及用于通信功能的传输装置606。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端60还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。

应当注意到的是上述一个或多个处理器602和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端60(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。

存储器604可用于存储应用软件的软件程序以及模块,如本发明实施例中的信息安全的验证方法对应的程序指令/数据存储装置,处理器602通过运行存储在存储器604内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信息安全的验证方法。存储器604可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器604可进一步包括相对于处理器602远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端60。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置606用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端60的通信供应商提供的无线网络。在一个实例中,传输装置606包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置606可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端60的用户界面进行交互。

此处需要说明的是,在一些可选实施例中,上述图6所示的计算机终端可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图6仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机终端中的部件的类型。

此处还需要说明的是,在一些实施例中,上述图6所示的计算机终端具有触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。在一些实施例中,上述图6所示的计算机终端具有图像用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。

一种可选实施例中,图7以框图示出了使用上述图6所示的计算机终端作为发送端的一种实施例。如图7所示,计算机终端701可以经由数据网络连接或电子连接到一个或多个服务器703。一种可选实施例中,上述计算机终端701可以是任意移动计算设备等。数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。计算机终端701可以执行以连接到由一个服务器或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。容易注意的是,图6示出的硬件结构框图,不仅可以作为上述计算机终端701的示例性框图,还可以作为上述服务器703的示例性框图。

在上述运行环境下,本申请提供了如图8所示的一种信息安全的验证方法。图8是根据本发明实施例的一种信息安全的验证方法的流程图,如图8所示,包括如下步骤:

步骤S802,用户终端将加密后的信息集发送至安全芯片,其中,信息集可以至少包括:第一随机数。

具体地,在上述步骤中,上述用户终端可以为用于通信的计算机、笔记本电脑、平板电脑、手机等终端设备,用户进程可以为用户在上述用户终端上运行的进程,一旦用户进程产生,则安全芯片会为用户进程生成相应的平台身份密钥对,用户进程获取平台身份公钥,该用户进程的平台身份私钥则留在安全芯片内部;上述安全芯片可以为用于在计算运算的同时进行安全防护的可信任平台模块,是一个可独立进行密钥生成、加解密的装置,内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为终端设备提供加密和安全认证服务;利用安全芯片进行加密,密钥被存储在硬件中,被窃的数据无法解密,从而保护商业隐私和数据安全;上述信息集为用户终端(实际上是用户终端上运行的用户进程)发送的包含了用户进程的身份标签、可信第三方PCA信息的数据,需要说明的是,本申请实施中,在信息集中加入了第一随机数,因而,上述信息集可以包括用户进程的身份标签、可信第三方PCA信息以及第一随机数;上述用户进程在将信息集发送至安全芯片之前,会首先将信息集进行加密。

一种可选的实施例中,假设用户终端上运行的用户进程U、安全芯片T、可信第三方PCA在身份密钥及身份证书交互之前,已获得安全芯片背书公钥EK,用户终端可以利用安全芯片背书公钥EK将信息集[L,PCA,N1]加密,其中,L为用户进程U的身份标签,PCA为可信第三方信息、N1为第一随机数。

此处需要说明的是,在上述实施例中,由于平台背书EK公钥中包含安全芯片T的唯一识别信息,可以方便后续用户进程U对安全芯片T的合法性进行验证;采用平台EK公钥对信息集[L,PCA,N1]加密,可以对身份进程的身份表情L进行保护;另外,由于增加了一组随机数N1,从而可以用N1来保护传输的安全芯片背书证书Cert_EK。

步骤S804,用户终端接收安全芯片返回的身份数据,其中,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和安全芯片为用户终端上运行的用户进程生成的平台身份公钥。

具体地,在上述步骤中,在用户终端将加密后的信息集发送至安全芯片后,安全芯片接收用户终端发送的加密后的信息集,进行解密,得到用户终端上运行的用户进程的身份标签、可信第三方PCA信息以及第一随机数;并产生第二随机数,利用第一随机数、第二随机数以及安全芯片内部的安全芯片背书私钥为用户终端产生平台身份公私钥对,其中,平台身份私钥保留在安全芯片中,平台身份公钥发送至用户进程,同时将采用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息也发送至用户进程。

一种可选的实施例中,仍以上述用户进程U利用安全芯片背书公钥EK将信息集加密为例,在安全芯片接收到利用安全芯片背书公钥EK加密的信息集[L,PCA,N1]EK后,首先,利用安全芯片背书私钥EK-1解密接收到的信息集[L,PCA,N1]EK,得到用户终端上运行的用户进程的身份标签L、可信第三方PCA信息以及第一随机数N1;接着,安全芯片产生第二随机数N2,并依据N1、N2、EK-1为用户进程U产生平台身份公私钥对AIK、AIK-1,其中,AIK=[N1||N2||L]EK-1,AIK-1保留在芯片中;然后,安全芯片T通过计算得到身份内容信息I=[AIK,L,TID,PCA]AIK-1以及利用第一随机数N1加密得到的安全芯片的背书证书[Cert_EK]N1;最后,安全芯片T将使用第一随机数进行加密的安全芯片的背书证书[Cert_EK]N1、基于第一随机数和第二随机数生成的用户进程的平台身份公钥AIK、包含了安全芯片的芯片标识的身份内容信息I发送至用户终端。

步骤S806,用户终端根据第一随机数对身份数据进行解密得到第一解密结果,其中,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密。

具体地,在上述步骤中,用户终端在接收得到安全芯片返回的身份数据后,利用第一随机数对使用第一随机数进行加密的安全芯片的背书证书进行解密,得到安全芯片的背书证书。

一种可选的实施例中,上述身份数据中可以包括:第一随机数进行加密的安全芯片的背书证书,得到加密结果[Cert_EK]N1、安全芯片为用户终端上运行的用户进程生成的平台身份公钥AIK、包含了安全芯片的芯片标识的身份内容信息I=[AIK,L,TID,PCA]AIK-1,其中,TID可以标识安全芯片T的唯一性,将TID与用户终端的身份标签L绑定作为用户进程U的平台身份信息一部分,解决了进程请求身份与可信芯片平台身份的绑定。用户进程U接收得到安全芯片T返回的身份数据后,利用第一随机数N1对身份数据中的加密结果[Cert_EK]N1进行解密,可以得到背书证书Cert_EK。

步骤S808,用户终端根据第一解密结果确定安全芯片是否为合法的芯片。

具体地,在上述步骤中,用户终端上运行的用户进程利用第一随机数对身份数据进行解密得到第一解密结果后,验证安全芯片是否为合法的芯片,一种可选的实施方案中,在利用第一随机数对使用第一随机数进行加密的安全芯片的背书证书进行解密,得到在安全芯片的背书证书后,利用背书证书得到相应的安全芯片背书公钥,使用安全芯片背书公钥对平台身份公钥进行解密,如果解密的结果中包含第一随机数,则说明安全芯片为合法的芯片。

一种可选的实施例中,用户终端上的用户进程U利用第一随机数N1对[Cert_EK]N1进行解密,得到背书证书Cert_EK后,根据背书证书Cert_EK得到相应的安全芯片背书公钥EK后,利用安全芯片背书公钥EK来解密平台身份公钥信息AIK=[N1||N2||L]EK-1,如果所解密的结果信息中包含第一随机数N1,且身份内容信息中包含的TID的信息与Cer_安全芯片背书证书Cert_EK所包含的TID信息一致,则认为AIK和I是个合法的T发给自己的平台身份公钥及身份内容信息,流程继续,否则终止。

由上可知,在本申请上述实施例中,用户终端(实际上是用户终端上运行的用户进程)在将信息集发送至安全芯片之前,利用安全芯片背书公钥来对信息集加密;安全芯片接收到用户进程发送的加密后的信息集后,采用相应的私钥来对加密后的信息集进行解密,由于信息集中添加了第一随机数,安全芯片利用第一随机数对其背书证书进行加密后发送至用户进程,同时将包含了其芯片标识的身份内容信息和基于第一随机数和第二随机数(安全芯片内部产生的随机数)生成的平台身份公钥发送至用户进程;用户进程在接收到安全芯片返回的加密后的背书证书、包含了芯片标识的身份内容信息以及平台身份公钥后,利用第一随机数进行解密,并根据解密后的解密结果确定安全芯片是否为合法的芯片。

通过上述实施例公开的方案,达到了用户终端上的用户进程与安全芯片之间进行可信性验证的目的,从而实现了提高通信过程中信息安全性的技术效果。

由此,本申请上述实施例解决了现有技术中用户终端上运行的用户进程与安全芯片交互时没有对双方身份进行合法性验证的技术问题。

在一种可选的实施例中,用户终端将加密后的信息集发送至安全芯片,可以包括:步骤S801,用户终端使用安全芯片背书公钥EK对信息集进行加密,其中,信息集还包括:用户终端上运行的用户进程的标识信息和第三方证书服务器的信息。

具体地,在上述实施例中,安全芯片背书公钥EK可以为基于TCG规范,用于在平台身份密钥和身份证书的分发过程中的平台身份公钥;用户终端上运行的用户进程的标识信息可以为用户终端的身份标签,第三方证书服务器的信息可以为可信第三方平台的信息;一种可选的实施例中,假设用户进程U,安全芯片T,可信第三方PCA在平台身份密钥及身份证书交互之前,已获得平台安全芯片背书公钥EK,用户终端在将加密后的信息集发送至安全芯片前,可以首先利用安全芯片背书公钥EK将信息集[L,PCA,N1]加密,其中,其中,L为用户终端的身份标签,PCA为第三方证书服务器的信息、N1为第一随机数,用户进程U产生的随机生成数。

在一种可选的实施例中,在用户终端接收安全芯片返回的身份数据之前,如图9所示,上述方法还可以包括:

步骤S902,安全芯片使用与安全芯片背书公钥对应的安全芯片背书私钥对加密后的信息集进行解密,得到信息集;

步骤S904,在获取到第二随机数之后,安全芯片根据信息集、第二随机数和安全芯片背书私钥产生用户进程的平台身份公钥、平台身份私钥和身份内容信息,并使用第一随机数对安全芯片的背书证书进行加密;

步骤S906,安全芯片至少将如下信息发送至用户终端:身份内容信息、加密后的背书证书和平台身份公钥。

具体地,在上述实施例中,在用户终端将加密后的信息集发送至安全芯片后,安全芯片接收用户终端发送的加密后的信息集,可以利用与安全芯片背书公钥EK对应的安全芯片背书私钥EK-1对加密后的信息集进行解密,得到用户终端上运行的用户进程的身份标签、可信第三方PCA信息以及用户终端上运行的用户进程U产生的第一随机数;并产生第二随机数,利用第一随机数、第二随机数以及安全芯片内部的安全芯片背书私钥EK-1为用户终端上运行的用户进程产生平台身份公私钥对,即,用户进程的平台身份公钥AIK、平台身份私钥AIK-1其中,平台身份私钥AIK-1保留在安全芯片中,平台身份公钥AIK发送至用户终端,同时将采用第一随机数进行加密的安全芯片的背书证书、身份内容信息也发送至用户终端。

此处需要说明的是,上述身份内容中包含了安全芯片的芯片标识,由本申请背景部分内容可知,现有的平台身份密钥及证书分发过程中,安全芯片T向用户进程U发送的签名后的身份内容信息I=[AIK,L,PCA]AIK-1,而本申请实施例中,安全芯片T通过计算得到的身份内容信息I=[AIK,L,TID,PCA],其中,TID为安全芯片唯一标识。

通过上述实施例,安全芯片采用第一随机数、第二随机数以及安全芯片内部的安全芯片背书私钥EK-1产生用户进程的平台身份公钥AIK,可以便于后续用户进程对安全芯片的验证,安全芯片使用TID用以标识可信芯片T的唯一性,并将之与L绑定作为用户U进程的平台身份信息一部分,解决了用户进程请求身份与可信芯片平台身份的绑定。

在一种可选的实施例中,如图10所示,用户终端根据第一随机数对身份数据进行解密得到第一解密结果,可以包括如下步骤:

步骤S102,使用第一随机数对加密后的背书证书进行解密,得到背书证书;

步骤S104,根据背书证书得到安全芯片背书公钥,并验证背书证书的合法性;

步骤S106,使用安全芯片背书公钥对平台身份公钥进行解密,得到第三解密结果。

具体地,在上述实施例中,上述第一随机数可以为用户终端上运行的用户进程U产生的随机生成数;用户终端在接收得到安全芯片返回的身份数据后,利用第一随机数对使用第一随机数进行加密的安全芯片的背书证书进行解密,得到安全芯片的背书证书;利用背书证书得到相应的安全芯片背书公钥,使用安全芯片背书公钥对平台身份公钥进行解密,得到第三解密结果。

一种可选的实施例中,上述身份数据中可以包括:加密第一随机数进行加密的安全芯片的背书证书,得到加密结果[Cert_EK]N1、安全芯片为用户终端上运行的用户进程生成的平台身份公钥AIK、包含了安全芯片的芯片标识的身份内容信息I=[AIK,L,TID,PCA]AIK-1;用户进程U利用第一随机数N1对加密结果[Cert_EK]N1进行解密,得到背书证书Cert_EK后,根据背书证书Cert_EK得到相应的安全芯片背书公钥EK后,利用安全芯片背书公钥EK来解密平台身份公钥信息AIK=[N1||N2||L]EK-1,得到第三解密结果,其中,如果安全芯片背书公钥EK合法的情况下,得到的第三解密结果中应该包含第一随机数N1。

通过上述实施例,由于用户终端在向安全芯片发送信息集之前,在信息集中增加了第一随机数,因而,可以通过验证上述解密后的结果中是否包含第一随机数来验证安全芯片是否合法。

在一种可选的实施例中,如图11所示,用户终端根据第一解密结果确定安全芯片是否为合法的芯片,可以包括如下步骤:

步骤S112,验证第三解密结果中是否包含第一随机数;

步骤S114,如果第三解密结果中包含第一随机数,则确定安全芯片为合法的芯片。

具体地,在上述实施例中,用户终端在根据第一随机数对加密的安全芯片的背书证书[Cert_EK]N1进行解密得到第一解密结果后,可以通过验证第三解密结果中是否包含第一随机数来确定安全芯片是否为合法的芯片,如果第三解密结果中包含第一随机数,则确定安全芯片为合法的芯片。

具体的,用户终端可以利用第一随机数N1对加密结果[Cert_EK]N1进行解密,得到背书证书Cert_EK后,根据背书证书Cert_EK得到相应的安全芯片背书公钥EK后,利用安全芯片背书公钥EK来解密平台身份公钥信息AIK=[N1||N2||L]EK-1,得到第三解密结果,其中,如果安全芯片背书公钥EK合法的情况下,得到的第三解密结果中应该包含第一随机数N1。

通过上述实施例,可以实现用户终端的用户进程对安全芯片是否合法进行验证,提高了通信的安全性。

在一种可选的实施例中,上述方法还可以包括:步骤S116,如果第三解密结果中包含第一随机数,且身份内容信息中包含的芯片标识与背书证书中记录的芯片标识一致,则确定安全芯片为合法的芯片。

具体地,在上述实施例中,基于本申请实施例,由于安全芯片在向用户终端返回的身份内容信息中包含了芯片标识,因而可以通过判断解密结果中的身份内容信息中包含的芯片标识与背书证书中记录的芯片标识是否一致,来确定安全芯片是否为合法的芯片。

通过上述实施例,可以实现用于进程请求身份与安全芯片平台身份的绑定,通过判断解密结果中的身份内容信息中包含的芯片标识与背书证书中记录的芯片标识是否一致,可以确定用户终端接收到的平台身份公钥信息和身份信息内容是否来自合法的安全芯片,进一步提高了通信的安全性。

在一种可选的实施例中,如图12所示,在用户终端根据第一解密结果确定安全芯片是否为合法的芯片之后,上述方法还可以包括如下步骤:

步骤S122,用户终端使用第三方证书服务器提供的证书公钥对安全芯片的背书证书进行加密,得到背书证书的加密结果;

步骤S124,用户终端向第三方证书服务器发送待验证的信息,待验证的信息包括至少如下数据:背书证书的加密结果、用户终端上运行的用户进程的身份标签、第三方证书服务器的标识信息、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥。

具体地,在上述实施例中,第三方证书服务器为可信第三方平台;在用户终端根据第一解密结果确定安全芯片为合法的芯片的情况下,用户终端使用第三方证书服务器提供的证书公钥对安全芯片的背书证书进行加密,得到背书证书的加密结果,并将该加密结果与用户终端上运行的用户进程的身份标签、第三方证书服务器的标识信息、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥发送至第三方证书服务器。

在一种可选的实施例中,如图13所示,在用户终端向第三方证书服务器发送待验证的信息之后,上述方法还可以包括如下步骤:

步骤S132,第三方证书服务器使用与证书公钥对应的证书私钥对背书证书的加密结果进行解密,得到第四解密结果,其中,第四解密结果包括:安全芯片的背书证书、用户进程的身份标签L和安全芯片的安全芯片背书公钥;

步骤S134,第三方证书服务器使用安全芯片背书公钥对用户进程的平台身份公钥进行解密,得到用户进程的身份标签,并使用用户进程的平台身份公钥对身份内容信息进行解密,得到解密信息;

步骤S136,如果解密信息中包含的芯片标识与背书证书中记录的芯片标识一致,和/或解密信息中包含的用户进程的身份标签与背书证书中记录的身份标签一致,第三方证书服务器确定用户进程的平台身份公私钥对由合法的安全芯片所产生。

具体地,在上述实施例中,在用户终端向第三方证书服务器发送背书证书的加密结果、用户终端上运行的用户进程的身份标签、第三方证书服务器的标识信息、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥等信息之后,第三方证书服务器使用与证书公钥对应的证书私钥对背书证书的加密结果进行解密,得到安全芯片的背书证书、用户进程的身份标签L和安全芯片的安全芯片背书公钥EK;然后,第三方证书服务器使用安全芯片的安全芯片背书公钥EK对用户进程的平台身份公钥AIK进行解密,得到用户进程U的身份标签L,并使用用户进程的平台身份公钥AIK对身份内容信息进行解密,得到相应的解密信息,如果解密信息中包含的芯片标识与背书证书中记录的芯片标识一致,和/或解密信息中包含的用户进程的身份标签与背书证书中记录的身份标签一致,则确定安全芯片提供了为用户终端上运行的用户进程U提供了合法的平台身份公私钥对。

一种可选的实施例中,用户终端使用第三方证书服务器提供的证书公钥PK(PCA)对安全芯片的背书证书进行加密,得到背书证书的加密结果[Cert_EK]PK(PCA),并向第三方证书服务器(即,可信第三方PCA)发送以下信息:背书证书的加密结果[Cert_EK]PK(PCA)、用户进程的身份标签L、第三方证书服务器的标识信息PCA、包含了安全芯片的芯片标识的身份内容信息I和基于第一随机数和第二随机数生成的用户进程的平台身份公钥AIK。第三方证书服务器接收到上述信息后,利用与证书公钥PK(PCA)对应的证书私钥SK(PCA)解密背书证书的加密结果信息[Cert_EK,L]PK(PCA),得到背书证书Cert_EK、用户进程的身份标签L、以及安全芯片背书公钥EK,利用安全芯片背书公钥EK解密用户进程的平台身份公钥AIK,得到用户进程的身份标签L,判断利用安全芯片背书公钥EK解密得到的用户进程的身份标签L与利用证书私钥SK(PCA)解密背书证书的加密结果信息[Cert_EK,L]PK(PCA)得到身份标签L是否一致,以及利用平台身份公钥AIK解密平台身份内容信息I得到的芯片标识TID与背书证书Cert_EK里的TID是否一致,从而确定平台身份公钥AIK和平台身份私钥AIK-1是否来自合法的安全芯片为用户进程产生的平台身份公私钥对。

通过上述实施例,实现了对安全芯片为用户进程提供的平台身份公私钥对的合法性进行验证。

在一种可选的实施例中,如图14所示,在第三方证书服务器确定用户进程的平台身份公私钥对由合法的安全芯片所产生之后,上述方法还可以包括如下步骤:

步骤S142,第三方证书服务器使用证书公钥对预定的数据集合进行加密,生成身份证书,其中,预定的数据集合包括:用户进程的身份标签、用户进程的平台身份公钥、用户进程的身份标签和第三方证书服务器的标识信息;

步骤S144,第三方证书服务器使用安全芯片背书公钥对身份证书进行加密,并将加密结果分发身份证书到至少一个用户终端。

具体地,在上述实施例中,在第三方证书服务器确定用户进程的平台身份公私钥对由合法的安全芯片所产生之后,第三方证书服务器使用证书公钥对用户进程的身份标签、用户进程的平台身份公钥AIK、用户进程的身份标签和第三方证书服务器的标识等信息进行加密,为用户终端的用户进程生成相应的身份证书,并利用安全芯片背书公钥EK对身份证书进行加密,并将加密结果分发身份证书发送一个或多个用户终端。

在一种可选的实施例中,如图15所示,在第三方证书服务器分发身份证书到至少一个用户终端之后,上述方法还可以包括如下步骤:

步骤S152,接收到身份证书的用户终端将身份证书转发给安全芯片;

步骤S154,安全芯片使用安全芯片背书私钥对加密后的身份证书进行解密,得到身份证书。

具体地,在上述实施例中,在第三方证书服务器分发身份证书到至少一个用户终端之后,用户终端将接收到的身份证书转发给安全芯片,安全芯片使用安全芯片背书私钥EK-1对加密后的身份证书进行解密,得到身份证书。

在一种可选的实施例中,如图15所示,在安全芯片使用安全芯片背书私钥对加密后的身份证书进行解密,得到身份证书之后,上述方法还可以包括:

步骤S156,安全芯片采用第一随机数对身份证书进行加密,并将加密结果发送至用户终端,使得用户终端采用本地存储的第一随机数解密得到身份证书。

具体地,在上述实施例中,在安全芯片使用安全芯片背书私钥EK-1对加密后的身份证书进行解密,得到身份证书之后,再采用第一随机数对身份证书进行加密,并将加密后的身份证书发送至用户终端,用户终端接收到加密后的身份证书后,利用第一随机数进行解密得到相应身份证书。

作为一种优选的实施例,可以结合图16来说明书本申请上述实施例,图16是根据本发明实施例的一种可选的平台身份密钥与证书分发过程示意图,如图16所示,包括如下步骤:

步骤S162,用户终端上运行的用户进程U向安全芯片T发送加密信息集[L,PCA,N1]EK。

具体地,在上述步骤中,假设用户终端上运行的用户进程U、安全芯片T、可信第三方PCA在身份密钥及身份证书交互之前,已获得平台EK公钥,用户终端可以利用安全芯片背书公钥EK将信息集[L,PCA,N1]加密,其中,L为用户终端的身份标签,PCA为可信第三方信息、N1为第一随机数;用户终端可以利用安全芯片背书公钥EK将信息集[L,PCA,N1]加密后,将加密的信息集[L,PCA,N1]EK发送至安全芯片T。

步骤S164,安全芯片T向用户终端上运行的用户进程U发送加密的背书证书[Cert_AIK]N1、公钥AIK、签名的身份内容I,其中,I=[AIK,L,TID,PCA]AIK-1

具体地,在上述步骤中,安全芯片T在接收到来自用户终端的用户进程U发送的加密的信息集[L,PCA,N1]EK后,首先,利用安全芯片背书私钥EK-1解密接收到的信息集[L,PCA,N1]EK,得到用户终端上运行的用户进程的身份标签L、可信第三方PCA信息以及第一随机数N1;接着,安全芯片产生第二随机数N2,并依据N1、N2、EK-1为U产生身份平台身份公私钥对AIK、AIK-1,其中,AIK=[N1||N2||L]EK-1,AIK-1保留在芯片中;然后,安全芯片T通过计算得到身份内容信息I=[AIK,L,TID,PCA]AIK-1以及利用第一随机数N1加密得到的安全芯片的背书证书[Cert_EK]N1;最后,安全芯片T将使用第一随机数进行加密的安全芯片的背书证书[Cert_EK]N1、基于第一随机数和第二随机数生成的用户进程的平台身份公钥AIK、包含了安全芯片的芯片标识的身份内容信息I发送至用户终端。

步骤S166,用户终端上运行的用户进程U验证安全芯片的合法性。

具体地,在上述步骤中,用户终端上的用户进程U利用第一随机数N1对安全芯片返回的身份数据进行解密,该身份数据包括:第一随机数进行加密的安全芯片的背书证书[Cert_EK]N1、基于第一随机数N1和第二随机数N2生成的用户进程的平台身份公钥AIK、包含了安全芯片的芯片标识的身份内容信息I=[AIK,L,TID,PCA]AIK-1,其中,TID可以标识安全芯片T的唯一性;在对身份数据进行解密得到背书证书Cert_EK后,根据背书证书Cert_EK得到相应的安全芯片背书公钥EK后,利用安全芯片背书公钥EK来解密平台身份公钥信息AIK=[N1||N2||L]EK-1,如果所解密的结果信息中包含第一随机数N1,且身份内容信息中包含的TID的信息与Cer_安全芯片背书证书Cert_EK所包含的TID信息一致,则认为AIK和I是个合法的T发给自己的平台身份公钥及身份内容信息,流程继续,否则终止。

步骤S168,用户进程U向可信第三方PCA发送[Cert_EK,L]PK(PCA)、公钥AIK、指定的可信第三方PCA和签名的身份内容I。

具体地,在上述步骤中,用户终端使用第三方证书服务器提供的证书公钥PK(PCA)对安全芯片的背书证书进行加密,得到背书证书的加密结果[Cert_EK]PK(PCA),并向第三方证书服务器(即,可信第三方PCA)发送以下信息:背书证书的加密结果[Cert_EK]PK(PCA)、用户进程的身份标签L、第三方证书服务器的标识信息PCA、包含了安全芯片的芯片标识的身份内容信息I和基于第一随机数和第二随机数生成的用户进程的平台身份公钥AIK。

第三方证书服务器接收到上述信息后,执行如下步骤:①利用与证书公钥PK(PCA)对应的证书私钥SK(PCA)解密背书证书的加密结果信息[Cert_EK,L]PK(PCA),得到背书证书Cert_EK、用户进程的身份标签L、以及安全芯片背书公钥EK,通过SK(MF)可以验证背书证书Cert_EK的合法性;②利用安全芯片背书公钥EK解密用户进程的平台身份公钥AIK,得到用户进程的身份标签L,判断利用安全芯片背书公钥EK解密得到的用户进程的身份标签L与步骤①得到身份标签L是否一致,并利用平台身份公钥AIK解密平台身份内容信息I,如果解密得到的芯片标识TID与背书证书Cert_EK里的TID一致,且包含了一致的L和TID,则认为平台身份公钥AIK和平台身份私钥AIK-1来自合法的安全芯片为用户进程产生的平台身份公私钥对;③如果步骤①和②合理,则流程继续,否则终止。

步骤S170,可信第三方PCA将加密包[Cert_AIK]EK返回至用户进程U。

具体地,在上述步骤中,可信第三方PCA(第三方证书服务器)使用证书公钥对用户进程的身份标签、用户进程的平台身份公钥AIK、用户进程的身份标签和第三方证书服务器的标识等信息进行加密,为用户终端的用户进程生成相应的身份证书,并利用安全芯片背书公钥EK对身份证书进行加密,并将加密结果分发身份证书发送一个或多个用户终端的用户进程U。

步骤S172,用户进程U向安全芯片发送利用EK生成的加密包[Cert_AIK]EK。

具体地,在上述步骤中,在第三方证书服务器分发身份证书到至少一个用户终端之后,用户终端将接收到的身份证书转发给安全芯片,安全芯片使用安全芯片背书私钥EK-1对加密后的身份证书进行解密,得到身份证书。

步骤S174,安全芯片T向用户进程U发送[Cert_AIK]N1。

具体地,在上述步骤中,在安全芯片使用安全芯片背书私钥EK-1对加密后的身份证书进行解密,得到身份证书之后,再采用第一随机数对身份证书进行加密,并将加密后的身份证书发送至用户终端。

步骤S176,用户终端上运行的用户进程U解密接收到的[Cert_AIK]N1。

具体地,在上述步骤中,用户终端接收到加密后的身份证书后,利用第一随机数进行解密得到相应身份证书。

本申请上述实施例公开了一种可信平台身份密钥及证书的分发方法,即利用随机产生的会话密钥来确定用户进程的合法性,用安全芯片背书公钥EK平台身份公私钥对来确定可信安全芯片的合法性;利用随机会话密钥及安全芯片背书公钥EK平台身份公私钥对来共同防患平台身份密钥及证书颁发过程中的中间人攻击,伪装获取身份证书攻击。

通过本申请上述实施例公开的方案,可以达到以下技术效果:

(1)无需借助用户预设的口令以及实时的动态验证码来验证交互实体的真实性;避免了口令及动态验证码在分发过程中,易劫取泄露;动态验证码的获取及输入给用户带来使用的不便;没有考虑用户所在平台的安全性。

(2)与TCG(可信计算组织)提出采用可信计算技术比较,本申请实施例提供的方案,重视平台身份密钥的验证。

(3)与基于Privacy CA的远程证明协议相比,本申请实施例提供的方案,对用户进程向安全芯片获取身份密钥,以及向PCA获取身份证书过程中的双方身份的合法性进行确认,避免了获取身份密钥和身份证书的过程中存在中间人攻击的想象;另外,在用户向PCA申请证书时,验证该进程是否来自可信的安全芯片平台,使得许多没有安全芯片的平台欺骗验证者从而获取合法身份证书,或者通过一个被控制的合法可信平台去获得合法身份证书。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的信息安全的验证方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例3

根据本发明实施例,还提供了一种用于实施上述信息安全的验证方法的装置实施例,图17是根据本发明实施例的一种信息安全的验证装置示意图,如图17所示,该装置包括:第一发送模块171、接收模块173、第一解密模块175和第一确定模块177。

其中,第一发送模块171,用于用户终端将加密后的信息集发送至安全芯片,其中,信息集包括:第一随机数;接收模块173,用于用户终端接收安全芯片返回的身份数据,其中,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和用户进程的平台身份公钥;第一解密模块175,用于用户终端根据第一随机数对身份数据进行解密得到第一解密结果,其中,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密;第一确定模块177,用于用户终端根据第一解密结果确定安全芯片是否为合法的芯片。

此处需要说明的是,上述第一发送模块171、接收模块173、第一解密模块175和第一确定模块177可以对应于实施例2中的步骤S802至步骤S808,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

由上可知,在本申请上述实施例中,用户终端(实际上是用户终端上运行的用户进程)在将信息集发送至安全芯片之前,利用安全芯片背书公钥来对信息集加密;安全芯片接收到用户进程发送的加密后的信息集后,采用相应的私钥来对加密后的信息集进行解密,由于信息集中添加了第一随机数,安全芯片利用第一随机数对其背书证书进行加密后发送至用户进程,同时将包含了其芯片标识的身份内容信息和基于第一随机数和第二随机数(安全芯片内部产生的随机数)生成的平台身份公钥发送至用户进程;用户进程在接收到安全芯片返回的加密后的背书证书、包含了芯片标识的身份内容信息以及平台身份公钥后,利用第一随机数进行解密,并根据解密后的解密结果确定安全芯片是否为合法的芯片。

通过上述实施例公开的方案,达到了用户终端上的用户进程与安全芯片之间进行可信性验证的目的,从而实现了提高通信过程中信息安全性的技术效果。

由此,本申请上述实施例解决了现有技术中用户终端上运行的用户进程与安全芯片交互时没有对双方身份进行合法性验证的技术问题。

在一种可选的实施例中,上述第一发送模块包括:第一加密模块,用于用户终端使用安全芯片背书公钥对信息集进行加密,其中,信息集还包括:用户终端上运行的用户进程的标识信息和第三方证书服务器的信息。

此处需要说明的是,上述第一加密模块可以对应于实施例2中的步骤S801,该模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述装置还包括:第二解密模块,用于安全芯片使用与安全芯片背书公钥EK对应的安全芯片背书私钥EK-1对加密后的信息集进行解密,得到信息集;第二加密模块,用于在获取到第二随机数之后,安全芯片根据信息集、第二随机数和安全芯片背书私钥EK-1产生用户进程的平台身份公钥AIK、平台身份私钥AIK-1和身份内容信息,并使用第一随机数对安全芯片的背书证书进行加密;第二发送模块,用于安全芯片至少将如下信息发送至用户终端:身份内容信息、加密后的背书证书和平台身份公钥AIK。

此处需要说明的是,上述第二解密模块、第二加密模块和第二发送模块可以对应于实施例2中的步骤S902至步骤S906,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述第一解密模块包括:第三解密模块,用于使用第一随机数对加密后的背书证书进行解密,得到背书证书;第一验证模块,用于根据背书证书得到安全芯片背书公钥,并验证背书证书的合法性;第四解密模块,用于使用安全芯片背书公钥对平台身份公钥进行解密,得到第三解密结果。

此处需要说明的是,上述第三解密模块、第一验证模块和第四解密模块可以对应于实施例2中的步骤S102至步骤S106,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述第一确定模块包括:第二验证模块,用于验证第三解密结果中是否包含第一随机数;第二确定模块,用于如果第三解密结果中包含第一随机数,则确定安全芯片为合法的芯片。

此处需要说明的是,上述第二验证模块和第二确定模块可以对应于实施例2中的步骤S112至步骤S114,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述装置还包括:第三确定模块,用于如果第三解密结果中包含第一随机数,且身份内容信息中包含的芯片标识与背书证书中记录的芯片标识一致,则确定安全芯片为合法的芯片。

此处需要说明的是,上述第三确定模块可以对应于实施例2中的步骤S116,该模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述装置还包括:第三加密模块,用于用户终端使用第三方证书服务器提供的证书公钥对安全芯片的背书证书进行加密,得到背书证书的加密结果;第三发送模块,用于用户终端向第三方证书服务器发送待验证的信息,待验证的信息包括至少如下数据:背书证书的加密结果、用户终端上运行的用户进程的身份标签、第三方证书服务器的标识信息、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥。

此处需要说明的是,上述第三加密模块和第三发送模块可以对应于实施例2中的步骤S122至步骤S124,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述装置还包括:第五解密模块,用于第三方证书服务器使用与证书公钥对应的证书私钥对背书证书的加密结果进行解密,得到第四解密结果,其中,第四解密结果包括:安全芯片的背书证书、用户进程的身份标签L和安全芯片的安全芯片背书公钥EK;第六解密模块,用于第三方证书服务器使用安全芯片背书公钥EK对用户进程的平台身份公钥AIK进行解密,得到用户进程的身份标签,并使用用户进程的平台身份公钥AIK对身份内容信息进行解密,得到解密信息;第四确定模块,用于如果解密信息中包含的芯片标识与背书证书中记录的芯片标识一致,和/或解密信息中包含的用户进程的身份标签与背书证书中记录的身份标签一致,第三方证书服务器确定用户进程的平台身份公私钥对由合法的安全芯片所产生。

此处需要说明的是,上述第五解密模块、第六解密模块和第四确定模块可以对应于实施例2中的步骤S132至步骤S136,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述装置还包括:第四加密模块,用于第三方证书服务器使用证书公钥对预定的数据集合进行加密,生成身份证书,其中,预定的数据集合包括:用户进程的身份标签、用户进程的平台身份公钥、用户进程的身份标签和第三方证书服务器的标识信息;第五加密模块,用于第三方证书服务器使用安全芯片背书公钥对身份证书进行加密,并将加密结果分发身份证书到至少一个用户终端。

此处需要说明的是,上述第四加密模块和第五加密模块可以对应于实施例2中的步骤S142至步骤S144,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述装置还包括:第四发送模块,用于接收到身份证书的用户终端将身份证书转发给安全芯片;第七解密模块,用于安全芯片使用安全芯片背书私钥对加密后的身份证书进行解密,得到身份证书。

此处需要说明的是,上述第四发送模块和第七解密模块可以对应于实施例2中的步骤S152至步骤S154,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

在一种可选的实施例中,上述装置还包括:处理模块,用于安全芯片采用第一随机数对身份证书进行加密,并将加密结果发送至用户终端,是的用户终端采用本地存储的第一随机数解密得到身份证书。

此处需要说明的是,上述处理模块可以对应于实施例2中的步骤S156,该模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例2提供的计算机终端60中。

实施例4

本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行应用程序的信息安全的验证方法中以下步骤的程序代码:用户终端将加密后的信息集发送至安全芯片,其中,信息集包括:第一随机数;用户终端接收安全芯片返回的身份数据,其中,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥;用户终端根据第一随机数对身份数据进行解密得到第一解密结果,其中,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密;用户终端根据第一解密结果确定安全芯片是否为合法的芯片。

可选地,图18是根据本发明实施例的一种计算机终端的结构框图。如图18所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器181、存储器183、以及传输装置185。

其中,存储器可用于存储软件程序以及模块,如本发明实施例中的信息安全的验证方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信息安全的验证方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:用户终端将加密后的信息集发送至安全芯片,其中,信息集包括:第一随机数;用户终端接收安全芯片返回的身份数据,其中,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥;用户终端根据第一随机数对身份数据进行解密得到第一解密结果,其中,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密;用户终端根据第一解密结果确定安全芯片是否为合法的芯片。

可选的,上述处理器还可以执行如下步骤的程序代码:用户终端使用安全芯片背书公钥EK对信息集进行加密,其中,信息集还包括:用户终端上运行的用户进程的标识信息和第三方证书服务器的信息。

可选的,上述处理器还可以执行如下步骤的程序代码:安全芯片使用与安全芯片背书公钥对应的安全芯片背书私钥对加密后的信息集进行解密,得到信息集;在获取到第二随机数之后,安全芯片根据信息集、第二随机数和安全芯片背书私钥产生用户进程的平台身份公钥、平台身份私钥和身份内容信息,并使用第一随机数对安全芯片的背书证书进行加密;安全芯片至少将如下信息发送至用户终端:身份内容信息、加密后的背书证书和平台身份公钥。

可选的,上述处理器还可以执行如下步骤的程序代码:使用第一随机数对加密后的背书证书进行解密,得到背书证书;根据背书证书得到安全芯片背书公钥,并验证背书证书的合法性;使用安全芯片背书公钥对平台身份公钥进行解密,得到第三解密结果。

可选的,上述处理器还可以执行如下步骤的程序代码:验证第三解密结果中是否包含第一随机数;如果第三解密结果中包含第一随机数,则确定安全芯片为合法的芯片。

可选的,上述处理器还可以执行如下步骤的程序代码:如果第三解密结果中包含第一随机数,且身份内容信息中包含的芯片标识与背书证书中记录的芯片标识一致,则确定安全芯片为合法的芯片。

可选的,上述处理器还可以执行如下步骤的程序代码:用户终端使用第三方证书服务器提供的证书公钥对安全芯片的背书证书进行加密,得到背书证书的加密结果;用户终端向第三方证书服务器发送待验证的信息,待验证的信息包括至少如下数据:背书证书的加密结果、用户终端上运行的用户进程的身份标签、第三方证书服务器的标识信息、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥。

可选的,上述处理器还可以执行如下步骤的程序代码:第三方证书服务器使用与证书公钥对应的证书私钥对背书证书的加密结果进行解密,得到第四解密结果,其中,第四解密结果包括:安全芯片的背书证书、用户进程的身份标签和安全芯片的安全芯片背书公钥EK;第三方证书服务器使用安全芯片背书公钥对用户进程的平台身份公钥进行解密,得到用户进程的身份标签,并使用用户进程的平台身份公钥对身份内容信息进行解密,得到解密信息;如果解密信息中包含的芯片标识与背书证书中记录的芯片标识一致,和/或解密信息中包含的用户进程的身份标签与背书证书中记录的身份标签一致,第三方证书服务器确定用户进程的平台身份公私钥对由合法的安全芯片所产生。

可选的,上述处理器还可以执行如下步骤的程序代码:第三方证书服务器使用证书公钥对预定的数据集合进行加密,生成身份证书,其中,预定的数据集合包括:用户进程的身份标签、用户进程的平台身份公钥、用户进程的身份标签和第三方证书服务器的标识信息;第三方证书服务器使用安全芯片背书公钥对身份证书进行加密,并将加密结果分发身份证书到至少一个用户终端。

可选的,上述处理器还可以执行如下步骤的程序代码:接收到身份证书的用户终端将身份证书转发给安全芯片;安全芯片使用安全芯片背书私钥对加密后的身份证书进行解密,得到身份证书。

可选的,上述处理器还可以执行如下步骤的程序代码:安全芯片采用第一随机数对身份证书进行加密,并将加密结果发送至用户终端,使得用户终端采用本地存储的第一随机数解密得到身份证书。

本领域普通技术人员可以理解,图18所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图18其并不对上述电子装置的结构造成限定。例如,计算机终端18还可包括比图18中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图18所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

实施例5

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例2所提供的信息安全的验证方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:用户终端将加密后的信息集发送至安全芯片,其中,信息集包括:第一随机数;用户终端接收安全芯片返回的身份数据,其中,身份数据包括:使用第一随机数进行加密的安全芯片的背书证书、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥;用户终端根据第一随机数对身份数据进行解密得到第一解密结果,其中,第一解密结果包括:对加密后的背书证书进行解密,和/或对身份内容信息进行解密;用户终端根据第一解密结果确定安全芯片是否为合法的芯片。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:用户终端使用安全芯片背书公钥对信息集进行加密,其中,信息集还包括:用户终端上运行的用户进程的标识信息和第三方证书服务器的信息。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:安全芯片使用与安全芯片背书公钥对应的安全芯片背书私钥对加密后的信息集进行解密,得到信息集;在获取到第二随机数之后,安全芯片根据信息集、第二随机数和安全芯片背书私钥EK-1产生用户进程的平台身份公钥、平台身份私钥和身份内容信息,并使用第一随机数对安全芯片的背书证书进行加密;安全芯片至少将如下信息发送至用户终端:身份内容信息、加密后的背书证书和平台身份公钥。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:使用第一随机数对加密后的背书证书进行解密,得到背书证书;根据背书证书得到安全芯片背书公钥EK,并验证背书证书的合法性;使用安全芯片背书公钥对平台身份公钥进行解密,得到第三解密结果。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:验证第三解密结果中是否包含第一随机数;如果第三解密结果中包含第一随机数,则确定安全芯片为合法的芯片。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:如果第三解密结果中包含第一随机数,且身份内容信息中包含的芯片标识与背书证书中记录的芯片标识一致,则确定安全芯片为合法的芯片。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:用户终端使用第三方证书服务器提供的证书公钥对安全芯片的背书证书进行加密,得到背书证书的加密结果;用户终端向第三方证书服务器发送待验证的信息,待验证的信息包括至少如下数据:背书证书的加密结果、用户终端上运行的用户进程的身份标签、第三方证书服务器的标识信息、包含了安全芯片的芯片标识的身份内容信息和基于第一随机数和第二随机数生成的用户进程的平台身份公钥。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:第三方证书服务器使用与证书公钥对应的证书私钥对背书证书的加密结果进行解密,得到第四解密结果,其中,第四解密结果包括:安全芯片的背书证书、用户进程的身份标签和安全芯片的安全芯片背书公钥;第三方证书服务器使用安全芯片背书公钥对用户进程的平台身份公钥进行解密,得到用户进程的身份标签,并使用用户进程的平台身份公钥对身份内容信息进行解密,得到解密信息;如果解密信息中包含的芯片标识与背书证书中记录的芯片标识一致,和/或解密信息中包含的用户进程的身份标签与背书证书中记录的身份标签一致,第三方证书服务器确定用户进程的平台身份公私钥对由合法的安全芯片所产生。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:第三方证书服务器使用证书公钥对预定的数据集合进行加密,生成身份证书,其中,预定的数据集合包括:用户进程的身份标签、用户进程的平台身份公钥、用户进程的身份标签和第三方证书服务器的标识信息;第三方证书服务器使用安全芯片背书公钥对身份证书进行加密,并将加密结果分发身份证书到至少一个用户终端。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收到身份证书的用户终端将身份证书转发给安全芯片;安全芯片使用安全芯片背书私钥对加密后的身份证书进行解密,得到身份证书。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:安全芯片采用第一随机数对身份证书进行加密,并将加密结果发送至用户终端,使得用户终端采用本地存储的第一随机数解密得到身份证书。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1