CN109951276B - 基于tpm的嵌入式设备远程身份认证方法 - Google Patents
基于tpm的嵌入式设备远程身份认证方法 Download PDFInfo
- Publication number
- CN109951276B CN109951276B CN201910159069.1A CN201910159069A CN109951276B CN 109951276 B CN109951276 B CN 109951276B CN 201910159069 A CN201910159069 A CN 201910159069A CN 109951276 B CN109951276 B CN 109951276B
- Authority
- CN
- China
- Prior art keywords
- key
- platform
- trusted
- certificate
- aik
- 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.)
- Active
Links
Images
Abstract
基于TPM的嵌入式设备远程身份认证方法属于信息安全领域,利用的是可信计算技术,它是信息安全领域的一门新技术,具有自主免疫、全程可控可测等优点。本发明旨在利用可信计算完整性度量、密钥管理和平台绑定等优势,设计一种远程身份认证的方法。先对平台配置做可信度量,然后将度量值扩展到平台配置寄存器,把此度量值作为认证信息中的一项。TPM芯片内的背书密钥(EK)与平台身份绑定,由背书密钥(EK)产生身份认证密钥(AIK),然后再由身份认证密钥(AIK)签名平台配置度量值,这样不但可以验证平台身份,还可以认证平台完整性。这相较于传统的远程身份认证优势明显。
Description
技术领域
本专利属于信息安全领域,利用的是可信计算技术,它是信息安全领域的一门新技术,具有自主免疫、全程可控可测等优点。本发明旨在利用可信计算完整性度量、密钥管理和平台绑定等优势,设计一种远程身份认证的方法。
背景技术
可信计算的基本思想是立足于终端,在终端构建一个信任根,以信任根为起点,通过完整性度量技术,建立信任链,实现信任由信任根扩展到硬件平台、操作系统,直至整个网络,保证整个计算环境的可信。其目的是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性。可信计算技术弥补了以防外为主的防御手段的缺陷。它立足于入侵源头设防,对网络上的每一个节点实施认证和控制,建立点对点的信任机制。基于这个信任系统,实施身份认证、授权访问控制和安全责任审计等防御手段,突破了传统的“堵漏洞、做高墙、防外攻”的被动方式。可信计算技术以完整性度量技术为基础,通过信息的信任传递模式,保障了信息在用户、程序与机器之间的可信传递,建立了由信任根到
网络的信任链,从而维护了网络和信息安全。
可信平台模块(TPM)是一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。可信平台模块作为信任度量的起点包括可信度量根、可信存储根和可信报告根三个信任根。以可信平台控制模块为基础,可以扩展出可信计算平台的可信度量功能、可信报告功能与可信存储功能。可信平台控制模块是可信计算平台体系结构中的信任根。可信平台模块是以密码模块的密码技术为基础,为平台自身的完整性、身份可信性和数据安全性提供密码支持。
发明内容
本发明通过提供一系列与平台相关的证书和平台信息来证明通信的平台就是一个可信计算平台的真实身份。可信计算平台的身份是通过可信平台模块(TPM)的背书密钥证书EK(Endorsement Key Credential)来标识的,该证书可以表明安全芯片与平台之间的绑定关系。如果直接使用EK(Endorsement Key)证书来进行远程证明,可能会暴露背书密钥EK(Endorsement Key)。因此,使用可信第三方Privacy CA的方法协助可信平台模块(TPM)完成身份证明。基于Privacy CA的证明方法就是通过为可信平台模块(TPM)平台身份密钥颁发平台身份密钥证书来标识身份。证明时验证方需要向Privacy CA请求,确认平台身份密钥的正确性来完成证明。本发明在请求验证的信息中加入了平台度量信息,实现了对平台的身份认证和完整性认证。
具体步骤为:
1.可信平台模块(TPM)生成一对AIK(Attestation Identity Key)公私钥对,把生成的AIK(Attestation Identity Key)的公钥部分以及请求产生AIK(AttestationIdentity Key)证书的可信平台模块(TPM)的一些标识信息(其中包括设备度量信息),包括背书证书和平台证书打包;
2.使用AIK(Attestation Identity Key)的私钥部分对刚产生的包进行签名;
3.将签名值和包一起发送给一个可信第三方Privacy CA,等待Privacy CA接收请求后生成证言身份证书;
4.可信第三方Privacy CA接收到申请请求信息之后,首先使用AIK(AttestationIdentity Key)的公钥检验签名信息是否正确,若正确则根据其中的AIK(AttestationIdentity Key)公钥部分生成一个身份密钥证书;
5.随后,可信第三方Privacy CA产生一个对称密钥作为会话密钥,并使用这个密钥对新生成的AIK(Attestation Identity Key)证书进行加密,产生一个对称加密密文;
6.可信第三方Privacy CA使用发送申请请求的可信平台模块(TPM)的EK(Endorsement Key)公钥对该会话密钥加密,产生一个非对称密文结构。应答信息包括被加密的会话密钥,被加密的证书,以及一些加密算法参数等。最后可信第三方Privacy CA将应答信息发送给可信平台模块(TPM);
7.可信平台模块(TPM)接收到该结构之后进行解密:首先使用自己的EK(Endorsement Key Credential)私钥部分解密加密证书的会话密钥,然后再使用该会话密钥解密证书。
附图说明
图1是TPM芯片体系结构图
图2是嵌入式平台的信任链构建过程
图3是远程身份认证流程图
具体实施方式
1.生成平台完整性信息并存储:
1.1在加载任一模块D之前,通过TPM采用SHA1算法计算其二进制代码的散列值,并将其扩展到PCR中,扩展操作为:
PCR[i]=SHA1(PCR[i]||SHA1(D)。
2.生成验证信息并打包发送:
2.1用可信平台模块(TPM)生成一对AIK(Attestation Identity Key)公私钥对;
AIK公私钥对用RSA算法产生,步骤如下:
1)随机产生两个大奇素数p和q;
2)计算n,n=p*q;
5)公钥为{e,n},私钥为{d,p,q}。
2.2把生成AIK(Attestation Identity Key)的公钥、配置日志、平台完整性信息、哈希算法类型、背书证书和平台证书一起打包;
2.3将包做MD5转换,生成摘要m
1)对消息进行填充,使其长度等于448mod 512;
2)将消息长度缩减为mod 64,然后以一个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(Attestation Identity Key)的私钥部分对产生的包摘要m进行签名,产生签名s;
s=md mod n
2.5将签名值和包一起发送给一个可信第三方Privacy CA;
3.第三方验证配置信息:
3.1可信第三方Privacy CA接收到申请请求信息之后,首先使用AIK(AttestationIdentity Key)的公钥检验签名信息是否正确;
1)获得公钥{n,e};
2)计算m’=se mod n
3)验证m是否等于m’,如果相等,则签名通过。
3.2读取包中的哈希算法类型;
3.3对配置日志用SHA-1取哈希值;
3.4与请求者上传的日志哈希值对比,看是否正确;
4.第三方颁发证书:
4.1若签名和哈希值都正确,则根据其中的AIK(Attestation Identity Key)公钥部分生成一个身份密钥证书;
X.509证书格式
4.2可信第三方Privacy CA产生一个对称密钥作为会话密钥;
4.3使用会话密钥对新生成的AIK(Attestation Identity Key)证书进行加密,产生一个对称加密密文;
4.4可信第三方Privacy CA使用发送申请请求的可信平台模块(TPM)的EK(Endorsement Key)公钥对该会话密钥加密,产生一个非对称密文结构。应答信息包括被加密的会话密钥,被加密的证书,以及加密算法参数。
1)首先将明文比特串分组,使得每个分组对应的十进制数小于n,即分组长度小于log2n。n=p*q.
2)然后对每个明文分组M作加密运算:c=Me(mod n)。
4.5可信第三方Privacy CA将上述应答信息发送给可信平台模块(TPM);
5.平台解密证书:
5.1平台首先使用自己的EK(Endorsement Key Credential)私钥部分解密加密证书的会话密钥;
对密文分组c作解密运算:M=cd(mod n)。
5.2再使用该会话密钥解密证书。
Claims (1)
1.基于TPM的嵌入式设备远程认证方法,其特征在于包括以下步骤:
(1).生成平台完整性信息并存储:
1.1在加载任一模块之前,通过可信平台模块TPM采用SHA1算法计算其二进制代码的散列值,并将其扩展到PCR中;
(2).生成验证信息并打包发送:
2.1用可信平台模块TPM生成一对AIK公私钥对;
AIK公私钥对用RSA算法产生,步骤如下:
1)随机产生两个大奇素数p和q;
2)计算n,n=p*q;
5)公钥为{e,n},私钥为{d,p,q};
2.2把生成AIK的公钥、配置日志、平台完整性信息、哈希算法类型、背书证书和平台证书一起打包;
2.3将包做MD5转换,生成摘要m
2.4使用AIK(Attestation Identity Key)的私钥部分对产生的包摘要m进行签名,产生签名s;
s=mdmod n
2.5将签名值和包一起发送给一个可信第三方Privacy CA;
(3).第三方验证配置信息:
3.1可信第三方Privacy CA接收到申请请求信息之后,首先使用AIK的公钥检验签名信息是否正确;
1)获得公钥{n,e};
2)计算m’=se mod n
3)验证m是否等于m’,如果相等,则签名通过;
3.2读取包中的哈希算法类型;
3.3对配置日志用SHA-1取哈希值;
3.4与请求者上传的日志哈希值对比,看是否正确;
(4).第三方颁发证书:
4.1若签名和哈希值都正确,则根据其中的AIK公钥部分生成一个身份密钥证书;
4.2可信第三方Privacy CA产生一个对称密钥作为会话密钥;
4.3使用会话密钥对新生成的AIK证书进行加密,产生一个对称加密密文;
4.4可信第三方Privacy CA使用发送申请请求的可信平台模块的EK公钥对该会话密钥加密,产生一个非对称密文结构;应答信息包括被加密的会话密钥,被加密的证书,以及加密算法参数;
1)首先将明文比特串分组,使得每个分组对应的十进制数小于n,即分组长度小于log2n;n=p*q.
2)然后对每个明文分组M作加密运算:c=Me(mod n);
4.5可信第三方Privacy CA将上述应答信息发送给可信平台模块;
(5).平台解密证书:
5.1平台首先使用自己的EK私钥部分解密加密证书的会话密钥;
对密文分组c作解密运算:M=cd(mod n);
5.2再使用该会话密钥解密证书;
于步骤2.3具体为:
1)对消息进行填充,使其长度等于448mod 512;
2)将消息长度缩减为mod 64,然后以一个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位内容就是所处理消息的散列值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910159069.1A CN109951276B (zh) | 2019-03-04 | 2019-03-04 | 基于tpm的嵌入式设备远程身份认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910159069.1A CN109951276B (zh) | 2019-03-04 | 2019-03-04 | 基于tpm的嵌入式设备远程身份认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109951276A CN109951276A (zh) | 2019-06-28 |
CN109951276B true CN109951276B (zh) | 2021-12-03 |
Family
ID=67008124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910159069.1A Active CN109951276B (zh) | 2019-03-04 | 2019-03-04 | 基于tpm的嵌入式设备远程身份认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109951276B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651740B (zh) * | 2020-05-26 | 2023-04-07 | 西安电子科技大学 | 一种面向分布式智能嵌入式系统的可信平台共享系统 |
CN111783097A (zh) * | 2020-05-28 | 2020-10-16 | 东方红卫星移动通信有限公司 | 一种星载计算系统的信息完整性度量验证方法及系统 |
CN113364583A (zh) * | 2021-05-31 | 2021-09-07 | 山东中科好靓科技有限公司 | 一种基于去中心化网络的远程验证方法 |
CN114710319B (zh) * | 2022-03-04 | 2024-04-12 | 可信计算科技(无锡)有限公司 | 一种基于可信计算的裁决判定方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580250A (zh) * | 2015-01-29 | 2015-04-29 | 成都卫士通信息产业股份有限公司 | 一种基于安全芯片进行可信身份认证的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418259B2 (en) * | 2010-01-05 | 2013-04-09 | Microsoft Corporation | TPM-based license activation and validation |
-
2019
- 2019-03-04 CN CN201910159069.1A patent/CN109951276B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580250A (zh) * | 2015-01-29 | 2015-04-29 | 成都卫士通信息产业股份有限公司 | 一种基于安全芯片进行可信身份认证的系统和方法 |
Non-Patent Citations (3)
Title |
---|
SECURITY 301: QORIQ TRUST ARCHITECTURE AS SOFT TRUSTED PLATFORM MODULE (TPM);RUCHIKA GUPTA等;《FTF 2016》;20160518;第15页 * |
Trusted Computing Technology and Client-Side Access Control Architecture;Iliano Cervesato;《ISA 767》;20061231;第13、16页 * |
基于USBkey 的可信平台模块的研究与仿真设计;池亚军;《北京电子科技学院学报》;20071215;第15卷(第4期);第2-4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN109951276A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323276B2 (en) | Mutual authentication of confidential communication | |
WO2020087805A1 (zh) | 基于双密值和混沌加密的可信测控网络认证方法 | |
CA2590989C (en) | Protocol and method for client-server mutual authentication using event-based otp | |
CN109951276B (zh) | 基于tpm的嵌入式设备远程身份认证方法 | |
US7516321B2 (en) | Method, system and device for enabling delegation of authority and access control methods based on delegated authority | |
CN107094108B (zh) | 连接到数据总线的部件和在该部件中实现加密功能的方法 | |
KR20080051753A (ko) | 보안 제공 시스템 및 방법 | |
US20150288527A1 (en) | Verifiable Implicit Certificates | |
CN106972924B (zh) | 加密、解密、电子签章、验证签章的方法及装置 | |
JP2020530726A (ja) | サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証 | |
JP6041864B2 (ja) | データの暗号化のための方法、コンピュータ・プログラム、および装置 | |
CN114448641A (zh) | 一种隐私加密方法、电子设备、存储介质以及芯片 | |
Kumar et al. | An efficient implementation of digital signature algorithm with SRNN public key cryptography | |
Kirkpatrick et al. | Enforcing physically restricted access control for remote data | |
JP5171787B2 (ja) | サインクリプションシステムおよびサインクリプション生成方法 | |
CN102487321B (zh) | 一种签密方法和系统 | |
JP2011250335A (ja) | 効率的相互認証方法,プログラム,及び装置 | |
Surya et al. | Single sign on mechanism using attribute based encryption in distributed computer networks | |
US20210119776A1 (en) | Proof-of-work based on block cipher | |
Niture | Cryptographic Algorithm Analysis and Implementation | |
Lakshmiraghavan et al. | Encryption and Signing | |
Ruan et al. | Building blocks of the security and management engine | |
CN115865313A (zh) | 一种轻量级隐私保护纵向联邦学习模型参数聚合方法 | |
Blomqvist | Kleptography--Overview and a new proof of concept | |
Chandersekaran et al. | Cryptography for a High-Assurance Web-Based Enterprise |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |