CN101183413B - 可信平台模块tpm的体系***及其提供服务的方法 - Google Patents
可信平台模块tpm的体系***及其提供服务的方法 Download PDFInfo
- Publication number
- CN101183413B CN101183413B CN2007101992305A CN200710199230A CN101183413B CN 101183413 B CN101183413 B CN 101183413B CN 2007101992305 A CN2007101992305 A CN 2007101992305A CN 200710199230 A CN200710199230 A CN 200710199230A CN 101183413 B CN101183413 B CN 101183413B
- Authority
- CN
- China
- Prior art keywords
- information
- tpm
- module
- key
- order
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种可信平台模块TPM体系***及提供服务的方法。该***包括I/O总线接口模块、密码协处理器模块、HMAC引擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块、密钥产生器模块和专用信息I/O接口模块,该专用信息I/O接口模块在内部与执行引擎模块进行交互操作,通过与外界各种并行或串行可信设备相连实现可信平台模块内部信息的预置、备份与恢复,并替代依据TCG规范制定的可信平台模块TPM中引脚PP的功能。本发明提供的服务是在依据TCG规范制定的可信平台模块TPM中引脚PP的功能基础的支持上,对可信平台模块TPM的内容敏感信息进行预置、备份与恢复。可用于实现TPM模块内部敏感信息的安全操作。
Description
技术领域
本发明属于计算机安全、网络通信技术领域,特别是涉及可信平台模块的体系***及其提供服务的方法。
背景技术
自上世纪80年代以来,个人计算机产业以兼容、开放的理念飞速发展,实现了计算机软件和硬件设计厂商的分离,各厂商的产品在各具特点的同时能够相互兼容与运行。Internet是当今世界上规模最大、覆盖最广的计算机互联网络,Internet的迅猛发展,使世界经济、社会发展和人类生活产生了巨大的变化,改变了人们的学***台构建的同时,进一步增加了对软件安全性的关注,旨在从跨平台和操作环境的硬件/软件接口两方面,促进不依赖特定厂商的可信计算平台工作标准的制定。
依据TCG规范制定的可信平台模块TPM是以硬件模块形态呈现的信息安全模块,该模块通常安放在计算机主板等含主控制器的板卡上。TPM1.2版规范的解决方案如图1所示。该模块包括:I/O总线接口模块、密码协处理器模块、HMAC引擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块、密钥产生器模块和PP引脚。其中,I/O总线模块通过通道CO管理通信总线上的信息流;密码协处理器模块实现TPM内部的密码操作,其通过通道C1与其它模块相连;密钥产生器模块产生RSA密钥对和对称密钥,其通过通道C2与其它模块相连;HMAC引擎模块为TPM提供两种功能:证明认证数据和请求信息授权,其通过通道C3与其它模块相连;随机数发生器模块为TPM内部模块产生随机数,其通过通道C4与其它模块相连;SHA-1引擎模块为TPM的主要模块,其实现了哈希算法并通过通道C5与其它模块相连;电源检测模块管理TPM的电源状态,其通过通道C6与其它模块相连;Opt-In模块提供令TPM处于on/off、enabled/disabled、activated/deactivated状态的方法和机制,其通过通道C7与其它模块相连;执行引擎模块接受并执行从I/O端口到来的TPM命令,其通过通道C8与其它模块相连;非易失性存储器模块用来存储永久性的身份信息和于TPM相关的状态信息,其通过通道C9与其它模块相连;易失性存储器模块用来存储非永久性信息,其通过通道C10与其它模块相连;PP引脚指示操作者是否在现场;应用软件为用户提供安全应用,用来对用户数据进行处理,其处于操作***的上层;操作***提供对硬件,如主板、CPU、内存、硬盘和TPM等的控制调用和应用程序所必需的功能;操作***安全模块处理硬件的控制调用和应用程序所需功能中与安全相关的部分,其是操作***的一部分;主板为其它硬件设施的载体,TPM和其它硬件都与主板相连;CPU主要是解释计算机指令以及处理计算机软件中的数据;BIOS是加载在计算机硬件***上的最基本的软件程序代码;内存用来暂时保存数据,可以随时读写,而且速度很快;硬盘是存储***和用户数据的存储设备;***/平台总线以一种通用的方式为各组件提供数据传送和控制逻辑。
在TPM规范中,I/O总线接口与计算机主板或其它***的主控制器如CPU相连,通过与计算机***等平台进行符合TSS规范通信命令的交互,实现TCG规范规定的各种保护功能,如用户的身份认证,平台完整性、应用程序的完整性和平台之间的可验证性等。然而依据TCG规范,在计算机主板上安装TPM的安全计算机或其它***存在下列问题:
(1)TPM预置信息问题。目前TPM里非易失性存储器中存放的初始信息由TPM厂商预置,当进行Clear操作时,由于安全性的原因,这些信息会恢复到预置状态。但对TPMOwner来说,为了使用的方便性,通常希望Clear操作之后TPM还能保留以前的一些基本信息,如SRK、tpmProof、TPM Owner身份和PCR初始值等,即非易失性存储器恢复到TPMOwner希望的预置状态,而这些状态与TPM和平台制造厂商无关。同时,为了与TCG规范兼容,TPM Owner的预置信息恢复方法不能影响TPM的操作规范。
(2)TPM内部信息的备份与恢复问题。对于计算机和TPM用户来说,因计算机更新升级、损坏更换等原因,常常需要将一台计算机的内容转移或克隆到另一台计算机上,此计算机与原有计算机的型号可以相同或不同,甚至可以是不同厂商的产品。对于TPM中存储的密钥和证书等信息来说,也面临类似问题:如果密钥通过***平台的I/O总线备份,则计算机木马/病毒程序就可以截获备份信息;如果不能安全的备份与恢复,则可能由于TPM的损坏而导致计算机硬盘中存储的被加密的信息及相关证书无法解密和验证。
(3)Physical Presence机制并不能保证对TPM内部信息的预置、备份和恢复的安全管理问题。TPM 1.2中的主控制器,如主板CPU的所有控制信息都通过***/平台总线与TPM模块的I/O接口总线进行传输,当对TPM进行Clear、Deactivate和Disable命令时,需要TPM Owner现场通过选择开关确认,如TPM芯片的PP引脚。然而,当TPM Owner进行TPM信息的预置、备份和恢复时,目前还没有方法通过Physical Presence机制保证这些操作的安全性。
这些问题使得TCG公布的可信计算规范1.2中强调的可信保障可能会给用户带来很多限制,使用户对***失去控制能力。如:1)只要TPM提供者对用户的计算机***不信任或平台本身认为已存在的实体不可信,可能使得计算机的拥有者无法打开其磁盘上的文件,某些设备拒绝启动,或某些程序拒绝执行,因此,这一机制使得用户存在被控制的可能。2)在可信的计算平台下,用户将被迫安装被签名的硬件与软件来维护平台的可信性。用户将没有更多的权利来选择使用哪种硬件或软件,降低了计算平台的易用性和用户自主可控性。3)用户在使用TPM的过程中不可避免的会出现某些错误或失误,如将EK的公钥丢失、TPM芯片烧毁等,现有的TPM1.2规范并没有考虑这些问题。这使得一旦出现这些情况,TPM使用者就不能恢复出自己存在TPM中的秘密信息以及用这些秘密信息加密的硬盘数据。这使得现有TPM的使用严重妨碍了易用性的规则。
发明内容
本发明的目的是针对目前TPM1.2和TSS规范的不足,提供一种可信平台模块的体系结构及其提供服务的方法,以解决TPM内部关键信息的预置、备份和恢复的问题。
为实现上述目的,本发明提供的可信平台模块的体系***,包括依据TCG规范制定的可信平台模块TPM的下述模块:
I/O总线接口模块,通过通道CO管理通信总线上的信息流;
密码协处理器模块,实现TPM内部的密码操作;
HMAC引擎模块,证明认证数据和请求信息授权;
SHA-1引擎模块,实现哈希算法;
Opt-In模块,提供令TPM处于不同状态的方法和机制;
非易失性存储器模块,用以存储永久性的身份信息和与TPM相关的状态信息;
易失性存储器模块,用以存储非永久性信息;
执行引擎模块,用以接受并执行从I/O端口到来的TPM命令;
电源检测模块,用以管理TPM的电源状态;
随机数发生器模块,为TPM内部模块产生随机数;
密钥产生器模块,用以产生RSA密钥对和对称密钥;
其特征在于:在所述的各个硬件模块的基础上,增设有专用信息I/O接口模块,该专用信息I/O接口模块在内部与执行引擎模块进行交互操作,通过与外界各种并行或串行可信设备相连实现可信平台模块内部信息的预置、备份与恢复,并替代依据TCG规范制定的可信平台模块TPM中引脚PP的功能,引脚PP指示操作者是否在现场。
所述的可信平台模块进行预置、备份或恢复的内部信息包括:身份证明密钥AIK;存储根密钥SRK;平台配置寄存器PCR值;签名密钥Signing Key;存储密钥Storage Key;绑定密钥Bind Key;派生密钥Legacy Key;授权改变密钥AuthChangeKey;签注证书Endorsement Cert;验证证书Conformance Cert;平台证书platform Cert;确认证书Validation Cert和AIK证书。
所述的控制命令包括:读取身份信息命令TPM_ReadSpecialIOID、专用信息I/O接口模块激活命令TPM_SetSpecialIOActived、专用信息I/O接口模块去激活命令TPM_SetSpecialIODeactivated、初始信息预置命令TPM_InitConfigSpecialIOContext、迁移信息预置命令TPM_MigConfigSpecialIOContext、备份命令TPM_BackupSpecialIOContext、恢复命令TPM_RestoreSpecialIOContext。
为实现本发明目的,本发明的可信平台模块TPM提供服务的方法,是.在依据TCG规范制定的可信平台模块TPM的各个硬件模块和引脚结构的基础上,增设专用信息I/O接口模块,使可信平台模块TPM各个硬件模块和引脚在原有功能的基础上,通过增设的专用信息I/O接口模块实现对可信平台模块TPM的内容敏感信息的的预置、备份与恢复,并替代依据TCG规范制定的可信平台模块TPM中引脚PP的功能,其过程包括:
1)读取专用信息I/O接口模块连接设备的身份信息;
2)对可信平台模块的状态进行检验;
3)分别对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,完成服务。
所述的对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,分别通过初始信息预置命令、迁移信息预置命令、备份命令、恢复命令进行,这些命令均包括输入信息和输出信息。该初始信息预置命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、初始预制成功之后指向预置信息的句柄。该迁移信息预置命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、迁移预制成功之后指向预置信息的句柄。该备份命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、备份信息的句柄、备份信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、备份信息的长度。该恢复命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留、恢复信息的字节长度、恢复信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、恢复成功之后指向恢复信息的句柄。
本发明具有如下优点:
1.由于采用专用信息I/O接口模块实现TPM模块内容敏感信息的传输,且该专用信息I/O接口模块不与计算机主板CPU通信,保证了计算机中的各类潜在的木马或病毒不能截获、篡改、覆盖TPM模块内部敏感信息;
2.由于采用专用信息I/O接口模块对TPM内部产生的信息,如密钥、证书和PCR值等进行安全备份,兼顾了本地信息的可信性和使用方便性;
3.由于采用专用信息I/O接口模块对TPM内部信息进行迁移预置,实现TPM模块内部敏感信息在不同TPM厂商、不同计算机厂商的安全计算机上的可信转移;
4.由于采用专用信息I/O接口模块对TPM Owner的个性化信息的初始预置,在购置计算机之后TPM Owner可以定制TPM的相关信息,实现了可信平台模块、安全计算机或其它应用TPM安全终端的开放式产业化,又能保证最终用户的可信个性化。
5.本发明可供多用户使用同一TPM硬件设施,同时保证某一用户使用TPM时,TPM中只包含此用户的秘密信息,即每个用户可以根据自己的秘密信息对TPM进行初始化。
6.本发明的控制策略能够由用户定制,最终的控制权应当掌握在用户手中,或者至少使得用户在接受确定的控制权限的基础上能够进一步扩展,打破TPM厂商对可信计算的垄断,推广可信计算的使用,满足使用者对可信计算的需求。
附图说明
图1是TPM1.2规范中使用已有的TPM模块的可信计算机的体系结构图;
图2是本发明TPM模块的体系结构图;
图3是使用本发明TPM模块的可信计算机的体系结构图;
图4专用信息I/O接口模块内部的扩展命令;
图5是本发明TPM模块提供服务的示意图;
图6是应用本发明TPM模块的可信计算机的示例。
具体实施方式
参照图2和图3,本发明的TPM模块体系结构包括:I/O总线接口模块、密码协处理器模块、HMAC引擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块、密钥产生器模块和专用信息I/O接口模块。其中,I/O总线接口模块、密码协处理器模块、HMAC引擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块和密钥产生器模块符合TPM1.2规范要求。应用软件、操作***、操作***安全模块、主板、CPU、BIOS、内存、硬盘、***/平台总线满足计算机行业标准。
所述的专用信息I/O接口模块是与外界可信终端或设备相连进行信息交换的专用接口模块,通过通道C11与其它模块相连,而不与计算机主板或应用本TPM模块的主板上的CPU相连,即主板CPU上运行的软件不能访问本专用信息I/O接口模块。该接口可以是USB、智能卡、UART、PS/2、RS232、RS422、RS485和各种读卡器等并行或串行控制接口,但不仅限于这些接口。只要与TPM模块直接通信而与主板CPU不直接通信的接口,均是本发明专利所指的专用信息I/O接口模块。该专用信息I/O接口模块可实现PP引脚的功能,当外部设备通过专用信息I/O接口模块接入TPM时,相当于PP引脚状态置为TRUE。
TPM Owner需要指定通过专用信息I/O接口模块传输的信息,这些信息可以是AIK、SRK、tpmProof、PCR值、签名密钥Signing Key、存储密钥Storage Keys、绑定密钥BindKeys、派生密钥Legacy Keys、授权改变密钥AuthChangeKey、签注证书Endorsement Cert、验证证书Conformance Cert、平台证书platform Cert、确认证书Validation Cert和AIK证书等。
所述通过专用信息I/O接口模块传输的信息以文件方式,或者以其它存储方式存放在连入TPM模块的可信终端中,其中文件的类型有三种:
(1)标识文件:由2字节的身份信息ID、2字节的信息长度N_ID、N_ID个字节的用户信息Inf和哈希值SHA_ID组成。
(2)密钥文件:由用户口令作为密钥,通过TPM密码协处理器加密后存放。该密钥文件由2字节的密钥文件ID、2字节的信息长度N_KEY、长度为N_KEY个字节密钥密文C_KEY和密钥文件的散列消息鉴别码HMAC_KEY组成。
(3)TPM信息文件:用密钥文件中存放的密钥加密,由以下部分组成:
(a)2字节的秘密信息ID的数量NC、2字节的秘密信息身份IDC1、2字节的IDC1的长度LC1、IDC1对应的LC1个字节的加密信息C1、IDC1相关信息的散列消息鉴别码HMAC_C1、…、2字节的秘密信息的身份IDCNC、2字节的IDCNC的长度LCNC、IDCNC对应的LCNC个字节的加密信息CNC、IDCNC相关信息的散列消息鉴别码HMAC_CNC;
(b)2字节的***息ID的数量NM、2字节的***息身份IDM1、2字节的IDM1的长度LM1、IDM1对应的LM1个字节的***息M1、IDM1相关信息的散列消息鉴别码HMAC_M1、…、2字节的***息身份IDMNM、2字节的IDMNM的长度LMNM、IDMNM对应的LMNM个字节的***息MNM、IDMNM相关信息的散列消息鉴别码HMAC_MNM。
其中,TPM Owner用户可以指定密钥文件是否需要利用用户口令进行加密。若安全性需求较高,则密钥文件需要利用用户口令进行加密;若易用性需求较高,则密钥文件不需要利用用户口令进行加密,但用户必须保护好存储TPM敏感信息的可信终端。
当TPM Owner用户进行TPM敏感信息的预置、备份和恢复时,只需在TPM信息文件中查找各种信息对应的ID值后执行相应操作。这可以减少信息的处理时间,方便预置、备份和恢复的快速进行。
所述通过专用信息I/O接口模块传输的信息格式示例如表1所示。
表1.本发明专用信息I/O接口模块传输的信息的数据结构示意表
定义
typedef struct tdTPM_TRANSPORT_ID{
TPM_STRUCTURE_TAG tag;
UNIT32 lengthENCID;
TPM_TRANSPORT_ENC[]transENCID;
UNIT32 lengthPUBID;
TPM_TRANSPORT_PUBLIC[]transPUBID;
}TPM_TRANSPORT_ID;
参数
类型 | 名称 | 描述 |
TPM_STRUCTURE_TAG | tag | TPM_TAG_TRANSPORT_ID |
UNIT32 | lengthENCID | 传送的加密信息对应的ID值的数组长度 |
TPM_TRANSPORT_ENC | transENCID | 传送的加密信息对应的ID值数组 |
UNIT32 | lengthPUBID | 传送的***息对应的ID值的数组长度 |
TPM_TRANSPORT_PUBLIC | transPUBID | 传送的***息对应的ID值数组 |
表1中信息格式包括:信息标签TPM_TAG_TRANSPORT_ID、传送的加密信息对应的ID值的数组长度、传送的加密信息对应的ID值数组、传送的***息对应的ID值的数组长度、传送的***息对应的ID值数组。
参照图4,本发明专用信息I/O接口模块中设有六种扩展命令,以实现对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,分别通过初始信息预置命令、迁移信息预置命令、备份命令、恢复命令进行,这些命令均包括输入信息和输出信息。具体命令及其格式如下:
(1)TPM Owner利用TPM_ReadSpecialIOID命令读取连接到TPM的设备的身份信息,此扩展命令及其格式如表2所示。
表2.扩展命令TPM_ReadSpecialIOID的参数示意表
TPM_ReadSpecialIOID
输入值及其参数
输出值及其参数
表2中的输入信息包括:命令请求、所有输入的字节长度、命令序号;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、连入设备的信息。其中连入设备的信息由厂商自由定义,可以是设备使用者的身份信息、设备的生产日期;STRING格式是以字节为单位以0结尾的字符串,与高级语言的字符串含义相同,由用户自定义。
(2)***/平台操作者通过发出TPM_SetSpecialIOActived命令,允许TPM与可信终端进行TPM的信息预置、信息备份或信息恢复操作。通过发出TPM_SetSpecialIODeactivated命令禁止***/平台操作者进行信息预置、信息备份或信息恢复操作,此命令及其格式如表3所示。
表3.扩展命令TPM_SetSpecialIOActived和TPM_SetSpecialIODeactivated的参数示意表
TPM_SetSpecialIOActived
输入值及其参数
输出值及其参数
TPM_SetSpecialIODeactivated
输入值及其参数
输出值及其参数
表3中TPM_SetSpecialIOActived命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、激活标签状态指示;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码。TPM_SetSpecialIODeactivated命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、激活标签状态指示;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码。
(3)***/平台操作者利用TPM_InitConfigSpecialIOContext命令,通过可信终端执行信息初始预置操作,其命令格式如表4所示。
表4.扩展命令TPM_InitConfigSpecialIOContext的参数示意表
TPM_InitConfigSpecialIOContext
输入值及其参数
输出值及其参数
表4的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、初始预制成功之后指向预置信息的句柄。
(4)***/平台操作者利用TPM_MigConfigSpecialIOContext命令,通过可信终端执行信息迁移预置操作,其命令格式如表5所示。
表5.扩展命令TPM_MigConfigSpecialIOContext的参数示意表
TPM_MigConfigSpecialIOContext
输入值及其参数
输出值及其参数
表5的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、迁移预制成功之后指向预置信息的句柄。
(5)***/平台操作者利用TPM_BackupSpecialIOContext命令,通过可信终端执行信息备份操作,其命令格式如表6所示。
表6.本发明设计的扩展命令TPM BackupSpecialIOContext的参数示意表TPM_BackupSpecialIOContext
输入值及其参数
输出值及其参数
表6的输入信息包括:命令请求、所有输入的字节长度、命令序号、备份信息的句柄、备份信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、备份信息的长度。
(6)***/平台操作者利用TPM_RestoreSpecialIOContext命令,通过可信终端执行信息恢复操作,其命令格式如表7所示。
表7.本发明设计的扩展命令TPM_RestoreSpecialIOContext的参数示意表TPM_RestoreSpecialIOContext
输入值及其长度
输出值及其参数
表7的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留、恢复信息的字节长度、恢复信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、恢复成功之后指向恢复信息的句柄。
表1~7为扩展命令的原理示例,但不仅限于所述的这些格式。
参照图5,本发明TPM提供服务的方法,包括如下具体步骤:
1.读取专用信息I/O接口模块连接设备的身份信息
当有外部设备连入专用信息I/O接口模块时,TPM Owner首先利用应用软件从专用信息I/O接口模块读取连接到TPM的设备的身份信息,TPM模块执行TPM_ReadSpecialIOID命令。TPM Owner根据应用软件返回的身份信息ID及其哈希值SHA_ID验证此接入设备的正确性,并由TPM Owner判定接入设备是否匹配、可用。若TPM Owner认可,则SpecilIO状态为TURF,否则为FALSE。
2.TPM状态检验
当可信终端与专用信息I/O接口模块相连时,TPM首先检查SpecilIO状态,若SpecilIO状态为TURE,则继续后续操作;否则TPM对连入的可信终端不做任何处理。若SpecilIO状态为TURE,TPM再检查专用信息I/O接口模块是否处于激活状态,若专用信息I/O接口模块处于激活状态,则继续后续操作;否则TPM对连入的可信终端不做任何处理。其中,专用信息I/O接口模块是否处于激活状态可由TPM Owner通过TPM_SetSpecialIOActived命令或TPM_SetSpecialIODeactivated命令进行指定。
3.TPM模块初始信息预置
TPM执行TPM_InitConfigSpecialIOContext命令进行初始信息的预置。TPM_InitConfigSpecialIOContext命令将可信终端中用户指定的***息导入到TPM的非易失性存储器中,并根据这些***息生成密钥信息。通过此操作,用户可以定制TPM的初始信息,避免TPM厂商控制用户的密钥信息。导入信息前,TPM模块检查导入信息的数据格式,若数据格式错误,返回错误信息TPM_InitConfig_Error。若数据格式正确,则执行导入信息操作。成功后将TPM状态置为用户的预置状态,返回成功信息TPM_InitConfig_Success。
4.TPM模块迁移信息预置
TPM Owner首先输入口令,TPM对口令进行检查后执行TPM_MigConfigSpecialIOContext命令。TPM_MigConfigSpecialIOContext命令从可信终端中把用户指定的迁移预配置信息导入到TPM的非易失性存储器中。这些信息是用户在其它TPM中使用的秘密信息,即用户可以使用不同的TPM对相同的密钥信息及加密数据进行相关操作。导入信息前,TPM模块检查导入信息的数据格式,若数据格式错误,返回错误信息TPM_MigConfig_Error。若数据格式正确,则执行导入信息操作,并通过口令加密的密钥对导入数据进行解密,把解密后的预配置信息导入到TPM的非易失性存储器后,将TPM状态置为用户指定的预置状态,返回成功信息TPM_MigConfig_Success。
5.TPM内部信息的安全备份
TPM Owner首先输入口令,TPM对口令进行检查后执行TPM_BackupSpecialIOContext命令。此命令根据TPM Owner的指定内容,从TPM模块的非易失性存储器中把备份信息导出到可信终端中。导出信息前,TPM模块检查导出信息的数据格式,若数据格式错误,返回错误信息TPM_Backup_Error。若数据格式正确,则TPM模块利用口令加密的密钥对导出信息进行加密,把加密后的备份信息导出到可信终端中,然后返回成功信息TPM_Backup_Success。
6.TPM内部信息的安全恢复
TPM Owner首先输入口令,TPM对口令进行检查后执行TPM_RestoreSpecialIOContext命令。此命令根据TPM Owner的指定内容,从可信终端中把恢复信息导入到TPM的非易失性存储器中。导入信息前,TPM模块检查导入信息的数据格式,若数据格式错误,返回错误信息TPM_Restore_Error。若数据格式正确,则执行导入信息操作,并利用口令加密的密钥进行解密,把解密后的恢复信息导入到TPM的非易失性存储器中,然后返回成功信息TPM_Restore_Success。
本发明的TPM模块应用示例如图6。该示例是将TPM模块应用在可信计算机中,其中专用信息I/O接口模块以USB接口为例。图6中,具有TPM Owner权限的计算机操作者首先将可信USB DISK设备与TPM模块的专用信息I/O接口模块相连;然后利用应用软件从专用信息I/O接口模块读取连接到TPM的USB DISK设备中的身份信息,计算机操作者根据应用软件返回的身份信息验证此接入设备是否是自己需要进行操作的终端设备;接着由计算机操作者通过TPM_SetSpecialIOActived命令激活专用信息I/O接口模块;最后通过应用程序指定预置/备份/恢复信息,并执行相应的信息预置/信息备份/信息恢复操作。TPM根据服务请求,按照所述服务请求的具体实施步骤进行信息预置/信息备份/信息恢复操作,若TPM检测到操作有误,则向计算机操作者返回错误信息。若信息预置/信息备份/信息恢复操作成功,TPM向计算机操作者返回成功信息。
从上述示例可见,本发明通过专用信息I/O接口模块实现了TPM模块内容敏感信息的预置、备份和恢复,保证了计算机中的各类潜在的病毒不能攻击TPM模块内部敏感信息;兼顾了本地信息的可信性和使用方便性;实现了TPM模块内部敏感信息的可信转移;使得TPM Owner的个性化信息预置功能得以实现;最终达到可信平台模块、安全计算机的开放式产业化和用户信息的个性化。
符号说明
TCG:国际可信计算组织(Trusted Computing Group);
TPM:可信平台模块(Trusted Platform Module);
I/O:输入输出(Input and Output);
HMAC:带加密的散列消息验证码(Hash MAC);
SHA-1:安全散列算法版本1(Seeure Hash Algorithm Version 1);
AIK:身份证明密钥(Attestation Identity Key);
PCR:平台配置寄存器(Platform Configuration Register);
SRK:存储根密钥(Storage Root Key);
PS/2:个人***(Personal System);
EK:签注密钥(Endorsement Key);
RS-232:串行数据通信的接口标准(Recommended Standard 232)
TSS:TCG Software Stack(TCG软件协议栈);
Internet:因特网;
USB:通用串行总线(Universal Serial Bus);
UART:异步串行接口(Universal Asynchronous Receiver/Transmitter);
BIOS:基本输出输入***(Basic Input Output System)。
Claims (10)
1.一种可信平台模块TPM的体系***,包括依据TCG规范制定的可信平台模块TPM的下述模块:
I/O总线接口模块,通过通道C0管理通信总线上的信息流;
密码协处理器模块,实现TPM内部的密码操作;
HMAC引擎模块,证明认证数据和请求信息授权;
SHA-1引擎模块,实现哈希算法;
Opt-In模块,提供令TPM处于不同状态的方法和机制;
非易失性存储器模块,用以存储永久性的身份信息和与TPM相关的状态信息;
易失性存储器模块,用以存储非永久性信息;
执行引擎模块,用以接受并执行从I/O端口到来的TPM命令;
电源检测模块,用以管理TPM的电源状态;
随机数发生器模块,为TPM内部模块产生随机数;
密钥产生器模块,用以产生RSA密钥对和对称密钥;
其特征在于:在所述的各个硬件模块的基础上,增设有专用信息I/O接口模块,该专用信息I/O接口模块在内部与执行引擎模块进行交互操作,通过与外界各种并行或串行可信设备相连实现可信平台模块内部信息的预置、备份与恢复,并替代依据TCG规范制定的可信平台模块TPM中引脚PP的功能,引脚PP指示操作者是否在现场。
2.根据权利要求1所述的可信平台模块TPM的体系***,其特征在于专用信息I/O接口模块包含有信息格式和控制命令,通过信息格式和控制命令对可信平台模块内部信息进行预置、备份与恢复。
3.根据权利要求2所述的可信平台模块TPM的体系***,其特征在于:通过信息格式和控制命令对可信平台模块进行预置、备份或恢复的内部信息包括:
身份证明密钥AIK;存储根密钥SRK;平台配置寄存器PCR值;签名密钥SigningKey;存储密钥Storage Key;绑定密钥Bind Key;派生密钥Legacy Key;授权改变密钥AuthChangeKey;签注证书Endorsement Cert;验证证书Conformance Cert;平台证书platform Cert;确认证书Validation Cert和AIK证书。
4.根据权利要求2所述的可信平台模块TPM的体系***,其特征在于所述的控制命令包括:
读取身份信息命令TPM_ReadSpecialIOID
专用信息I/O接口激活命令TPM_SetSpecialIOActived;
专用信息I/O接口去激活命令TPM_SetSpecialIODeactivated;
初始信息预置命令TPM_InitConfigSpecialIOContext;
迁移信息预置命令TPM_MigConfigSpecialIOContext;
备份命令TPM_BackupSpecialIOContext;
恢复命令TPM_RestoreSpecialIOContext。
5.一种可信平台模块TPM提供服务的方法,是.在依据TCG规范制定的可信平台模块TPM的各个硬件模块和引脚结构的基础上,增设专用信息I/O接口模块,使可信平台模块TPM各个硬件模块和引脚在原有功能的基础上,通过增设的专用信息I/O接口模块实现对可信平台模块TPM的内容敏感信息的预置、备份与恢复,并替代依据TCG规范制定的可信平台模块TPM中引脚PP的功能,其过程包括:
1)读取专用信息I/O接口模块连接设备的身份信息;
2)对可信平台模块TPM的状态进行检验;
3)分别对可信平台模块TPM的初始信息、迁移信息进行预置或者对可信平台模块TPM内部信息进行安全备份或恢复,完成服务。
6.根据权利要求5所述的提供服务的方法,其特征在于:所述的对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,分别通过初始信息预置命令、迁移信息预置命令、备份命令、恢复命令进行,这些命令均包括输入信息和输出信息。
7.根据权利要求6所述的提供服务的方法,其特征在于:初始信息预置命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、初始预制成功之后指向预置信息的句柄。
8.根据权利要求6所述的提供服务的方法,其特征在于:迁移信息预置命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、迁移预制成功之后指向预置信息的句柄。
9.根据权利要求6所述的提供服务的方法,其特征在于:备份命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、备份信息的句柄、备份信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、备份信息的长度。
10.根据权利要求6所述的提供服务的方法,其特征在于:恢复命令的输入信息包括:命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留、恢复信息的字节长度、恢复信息的ID集合;输出信息包括:命令响应、所有输出的字节长度、操作的返回代码、恢复成功之后指向恢复信息的句柄。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101992305A CN101183413B (zh) | 2007-12-14 | 2007-12-14 | 可信平台模块tpm的体系***及其提供服务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101992305A CN101183413B (zh) | 2007-12-14 | 2007-12-14 | 可信平台模块tpm的体系***及其提供服务的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101183413A CN101183413A (zh) | 2008-05-21 |
CN101183413B true CN101183413B (zh) | 2010-06-02 |
Family
ID=39448684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101992305A Active CN101183413B (zh) | 2007-12-14 | 2007-12-14 | 可信平台模块tpm的体系***及其提供服务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101183413B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU200051U1 (ru) * | 2020-07-07 | 2020-10-06 | Общество с ограниченной ответственностью Фирма "Анкад" | Защищенная аппаратная платформа универсального назначения с модульной архитектурой |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488911B (zh) * | 2008-11-28 | 2011-11-30 | 华南农业大学 | 一种可信模块的可变优先权通讯装置及其控制方法 |
US9361347B2 (en) * | 2008-12-31 | 2016-06-07 | Nokia Technologies Oy | Method, apparatus, and computer program product for determining data signatures in a dynamic distributed device network |
CN101651543B (zh) * | 2009-09-04 | 2012-02-01 | 瑞达信息安全产业股份有限公司 | 一种可信计算平台密钥迁移***及其密钥迁移方法 |
CN102567666B (zh) * | 2011-11-24 | 2015-08-12 | 中国船舶重工集团公司第七0九研究所 | 一种VxWorks中可信平台模块虚拟构造及其驱动的实现方法 |
CN103400084B (zh) * | 2013-07-30 | 2016-12-28 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103400085A (zh) * | 2013-07-30 | 2013-11-20 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103390136B (zh) * | 2013-07-30 | 2017-03-01 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103390138B (zh) * | 2013-07-30 | 2016-05-04 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103390137B (zh) * | 2013-07-30 | 2016-09-21 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103440437B (zh) * | 2013-07-30 | 2017-02-15 | 东莞宇龙通信科技有限公司 | 终端和用户界面的显示控制方法 |
CN103400088B (zh) * | 2013-07-30 | 2016-04-06 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103390142B (zh) * | 2013-07-30 | 2016-09-21 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN106155856A (zh) * | 2015-04-21 | 2016-11-23 | 神讯电脑(昆山)有限公司 | Tpm安全芯片自动化测试***及方法 |
US9934412B2 (en) | 2015-06-23 | 2018-04-03 | Microsoft Technology Licensing, Llc | Implementing replay protected storage |
US10277407B2 (en) * | 2016-04-19 | 2019-04-30 | Microsoft Technology Licensing, Llc | Key-attestation-contingent certificate issuance |
CN111967010B (zh) * | 2019-05-20 | 2024-05-24 | 阿里巴巴集团控股有限公司 | 一种可信服务方法、装置、设备及存储介质 |
CN115047750B (zh) * | 2022-08-15 | 2022-11-01 | 中国电子科技集团公司第十五研究所 | 无感备份电路板 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2914500Y (zh) * | 2006-02-24 | 2007-06-20 | 上海方正信息安全技术有限公司 | 便携式可信平台模块 |
CN1988534A (zh) * | 2005-12-23 | 2007-06-27 | 联想(北京)有限公司 | 可信计算平台和在内核态下访问tpm服务的方法 |
-
2007
- 2007-12-14 CN CN2007101992305A patent/CN101183413B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1988534A (zh) * | 2005-12-23 | 2007-06-27 | 联想(北京)有限公司 | 可信计算平台和在内核态下访问tpm服务的方法 |
CN2914500Y (zh) * | 2006-02-24 | 2007-06-20 | 上海方正信息安全技术有限公司 | 便携式可信平台模块 |
Non-Patent Citations (1)
Title |
---|
孔维广.TPM的工作模型.武汉科技学院学报18 1.2005,18(1),45-47. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU200051U1 (ru) * | 2020-07-07 | 2020-10-06 | Общество с ограниченной ответственностью Фирма "Анкад" | Защищенная аппаратная платформа универсального назначения с модульной архитектурой |
Also Published As
Publication number | Publication date |
---|---|
CN101183413A (zh) | 2008-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101183413B (zh) | 可信平台模块tpm的体系***及其提供服务的方法 | |
CN101042736B (zh) | 一种智能卡及智能卡中存取对象的方法 | |
CN101256608B (zh) | 安全操作方法和*** | |
CN100533459C (zh) | 数据安全读取方法及其安全存储装置 | |
CN101042738B (zh) | 一种实现智能卡多应用的方法及数据处理装置 | |
CN101470783B (zh) | 一种基于可信平台模块的身份识别方法及装置 | |
CN102523095B (zh) | 具有智能卡保护的用户数字证书远程更新方法 | |
CN100566253C (zh) | 一种安全使用智能密钥装置的方法及*** | |
US11880823B2 (en) | Server-side contactless card activation | |
CN101419557A (zh) | 一种程序下载控制方法 | |
CN104951701A (zh) | 一种基于usb控制器的终端设备操作***引导的方法 | |
CN102024115B (zh) | 一种具有用户安全子***的计算机 | |
CN111160879A (zh) | 一种硬件钱包及其安全性提升方法和装置 | |
CN105303093A (zh) | 智能密码钥匙密码验证方法 | |
CN108460597A (zh) | 一种密钥管理***及方法 | |
US10204228B2 (en) | Device and method for safely operating the device | |
CN107197025A (zh) | 一种智能pos的远程管理***及方法 | |
CN100550735C (zh) | 多功能智能密钥设备及其安全控制的方法 | |
CN105357005A (zh) | 一种pci/pci-e接口的电力可信计算密码模块 | |
CN105871840A (zh) | 一种证书管理方法及*** | |
CN201845340U (zh) | 一种具有用户安全子***的安全计算机 | |
CA3239475A1 (en) | Key recovery based on contactless card authentication | |
CN101217366A (zh) | 一种带写保护的数字签名装置 | |
CN104134294A (zh) | 一种基于营业厅自助终端的授权认证方法 | |
CN103236113B (zh) | Ic卡智能电能表信息安全管理模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |