基于TPM的嵌入式设备远程身份认证方法与流程

文档序号:18039771发布日期:2019-06-28 23:51阅读:1556来源:国知局
基于TPM的嵌入式设备远程身份认证方法与流程

本专利属于信息安全领域,利用的是可信计算技术,它是信息安全领域的一门新技术,具有自主免疫、全程可控可测等优点。本发明旨在利用可信计算完整性度量、密钥管理和平台绑定等优势,设计一种远程身份认证的方法。



背景技术:

可信计算的基本思想是立足于终端,在终端构建一个信任根,以信任根为起点,通过完整性度量技术,建立信任链,实现信任由信任根扩展到硬件平台、操作系统,直至整个网络,保证整个计算环境的可信。其目的是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性。可信计算技术弥补了以防外为主的防御手段的缺陷。它立足于入侵源头设防,对网络上的每一个节点实施认证和控制,建立点对点的信任机制。基于这个信任系统,实施身份认证、授权访问控制和安全责任审计等防御手段,突破了传统的“堵漏洞、做高墙、防外攻”的被动方式。可信计算技术以完整性度量技术为基础,通过信息的信任传递模式,保障了信息在用户、程序与机器之间的可信传递,建立了由信任根到

网络的信任链,从而维护了网络和信息安全。

可信平台模块(tpm)是一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。可信平台模块作为信任度量的起点包括可信度量根、可信存储根和可信报告根三个信任根。以可信平台控制模块为基础,可以扩展出可信计算平台的可信度量功能、可信报告功能与可信存储功能。可信平台控制模块是可信计算平台体系结构中的信任根。可信平台模块是以密码模块的密码技术为基础,为平台自身的完整性、身份可信性和数据安全性提供密码支持。



技术实现要素:

本发明通过提供一系列与平台相关的证书和平台信息来证明通信的平台就是一个可信计算平台的真实身份。可信计算平台的身份是通过可信平台模块(tpm)的背书密钥证书ek(endorsementkeycredential)来标识的,该证书可以表明安全芯片与平台之间的绑定关系。如果直接使用ek(endorsementkey)证书来进行远程证明,可能会暴露背书密钥ek(endorsementkey)。因此,使用可信第三方privacyca的方法协助可信平台模块(tpm)完成身份证明。基于privacyca的证明方法就是通过为可信平台模块(tpm)平台身份密钥颁发平台身份密钥证书来标识身份。证明时验证方需要向privacyca请求,确认平台身份密钥的正确性来完成证明。本发明在请求验证的信息中加入了平台度量信息,实现了对平台的身份认证和完整性认证。

具体步骤为:

1.可信平台模块(tpm)生成一对aik(attestationidentitykey)公私钥对,把生成的aik(attestationidentitykey)的公钥部分以及请求产生aik(attestationidentitykey)证书的可信平台模块(tpm)的一些标识信息(其中包括设备度量信息),包括背书证书和平台证书打包;

2.使用aik(attestationidentitykey)的私钥部分对刚产生的包进行签名;

3.将签名值和包一起发送给一个可信第三方privacyca,等待privacyca接收请求后生成证言身份证书;

4.可信第三方privacyca接收到申请请求信息之后,首先使用aik(attestationidentitykey)的公钥检验签名信息是否正确,若正确则根据其中的aik(attestationidentitykey)公钥部分生成一个身份密钥证书;

5.随后,可信第三方privacyca产生一个对称密钥作为会话密钥,并使用这个密钥对新生成的aik(attestationidentitykey)证书进行加密,产生一个对称加密密文;

6.可信第三方privacyca使用发送申请请求的可信平台模块(tpm)的ek(endorsementkey)公钥对该会话密钥加密,产生一个非对称密文结构。应答信息包括被加密的会话密钥,被加密的证书,以及一些加密算法参数等。最后可信第三方privacyca将应答信息发送给可信平台模块(tpm);

7.可信平台模块(tpm)接收到该结构之后进行解密:首先使用自己的ek(endorsementkeycredential)私钥部分解密加密证书的会话密钥,然后再使用该会话密钥解密证书。

附图说明

图1是tpm芯片体系结构图

图2是嵌入式平台的信任链构建过程

图3是远程身份认证流程图

具体实施方式

1.生成平台完整性信息并存储:

1.1在加载任一模块d之前,通过tpm采用sha1算法计算其二进制代码的散列值,并将其扩展到pcr中,扩展操作为:

pcr[i]=sha1(pcr[i]||sha1(d)。

2.生成验证信息并打包发送:

2.1用可信平台模块(tpm)生成一对aik(attestationidentitykey)公私钥对;

aik公私钥对用rsa算法产生,步骤如下:

1)随机产生两个大奇素数p和q;

2)计算n,n=p*q;

3)随机选取一个数e,e是小于且与它互素的正整数;

4)计算d,使得

5)公钥为{e,n},私钥为{d,p,q}。

2.2把生成aik(attestationidentitykey)的公钥、配置日志、平台完整性信息、哈希算法类型、背书证书和平台证书一起打包;

2.3将包做md5转换,生成摘要m

1)对消息进行填充,使其长度等于448mod512;

2)将消息长度缩减为mod64,然后以一个64位的数字添加到扩展后消息的尾部;

3)md5初始输出放在四个32位寄存器a、b、c、d中,这些寄存器随后将用于保存散列函数的中间结果和最终结果。初始值为(十六进制形式):

a=67452301;b=efcdab89;c=98badcfe;d=10325476

4)md5将以四轮方式处理每一个512位块;

5)完成所有四轮之后,abcd的初始值加到abcd的新值上,生成第i个消息块的输出。这个输出用作开始处理第i+1个消息块的输入。最后一个消息块处理完之后,abcd中保存的128位内容就是所处理消息的散列值。

2.4使用aik(attestationidentitykey)的私钥部分对产生的包摘要m进行签名,产生签名s;

s=mdmodn

2.5将签名值和包一起发送给一个可信第三方privacyca;

3.第三方验证配置信息:

3.1可信第三方privacyca接收到申请请求信息之后,首先使用aik(attestationidentitykey)的公钥检验签名信息是否正确;

1)获得公钥{n,e};

2)计算m’=semodn

3)验证m是否等于m’,如果相等,则签名通过。

3.2读取包中的哈希算法类型;

3.3对配置日志用sha-1取哈希值;

3.4与请求者上传的日志哈希值对比,看是否正确;

4.第三方颁发证书:

4.1若签名和哈希值都正确,则根据其中的aik(attestationidentitykey)公钥部分生成一个身份密钥证书;

x.509证书格式

4.2可信第三方privacyca产生一个对称密钥作为会话密钥;

4.3使用会话密钥对新生成的aik(attestationidentitykey)证书进行加密,产生一个对称加密密文;

4.4可信第三方privacyca使用发送申请请求的可信平台模块(tpm)的ek(endorsementkey)公钥对该会话密钥加密,产生一个非对称密文结构。应答信息包括被加密的会话密钥,被加密的证书,以及加密算法参数。

1)首先将明文比特串分组,使得每个分组对应的十进制数小于n,即分组长度小于log2n。n=p*q.

2)然后对每个明文分组m作加密运算:c=me(modn)。

4.5可信第三方privacyca将上述应答信息发送给可信平台模块(tpm);

5.平台解密证书:

5.1平台首先使用自己的ek(endorsementkeycredential)私钥部分解密加密证书的会话密钥;

对密文分组c作解密运算:m=cd(modn)。

5.2再使用该会话密钥解密证书。

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