可信平台模块的体系结构及其提供服务的方法

文档序号:6615011阅读:365来源:国知局

专利名称::可信平台模块的体系结构及其提供服务的方法
技术领域
:本发明属于计算机安全、网络通信
技术领域
,特别是涉及可信平台模块的体系结构及其提供服务的方法。
背景技术
:自上世纪80年代以来,个人计算机产业以兼容、开放的理念飞速发展,实现了计算机软件和硬件设计厂商的分离,各厂商的产品在各具特点的同时能够相互兼容与运行。Internet是当今世界上规模最大、覆盖最广的计算机互联网络,Internet的迅猛发展,使世界经济、社会发展和人类生活产生了巨大的变化,改变了人们的学习、工作和生活方式。因而,计算机广泛应用于各行业、家庭,这些是推动计算机产业高速发展、降低成本的原动力。但是,兼容与开放的系统必然要标准化,这也是计算机和Internet面临安全问题的根源。为了解决计算机安全问题,微软、英特尔、IBM等190家公司组建了"可信计算组织TCG"。TCG在强调安全硬件平台构建的同时,进一步增加了对软件安全性的关注,旨在从跨平台和操作环境的硬件/软件接口两方面,促进不依赖特定厂商的可信计算平台工作标准的制定。依据TCG规范制定的可信平台模块TPM是以硬件模块形态呈现的信息安全模块,该模块通常安放在计算机主板等含主控制器的板卡上。TPM1.2版规范的解决方案如图1所示。该模块包括1/0总线接口模块、密码协处理器模块、HMAC弓I擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块、密钥产生器模块和PP引脚。其中,I/O总线模块通过通道CO管理通信总线上的信息流;密码协处理器模块实现TPM内部的密码操作,其通过通道C1与其它模块相连;密钥产生器模块产生RSA密钥对和对称密钥,其通过通道C2与其它模块相连;HMAC引擎模块为TPM提供两种功能证明认证数据和请求信息授权,其通过通道C3与其它模块相连;随机数发生器模块为TPM内部模块产生随机数,其通过通道C4与其它模块相连;SHA-l引擎模块为TPM的主要模i央,其实现了哈希算法并通过通道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、TPMOwner身份和PCR初始值等,即非易失性存储器恢复到TPMOwner希望的预置状态,而这些状态与TPM和平台制造厂商无关。同时,为了与TCG规范兼容,TPMOwner的预置信息恢复方法不能影响TPM的操作规范。(2)TPM内部信息的备份与恢复问题。对于计算机和TPM用户来说,因计算机更新升级、损坏更换等原因,常常需要将一台计算机的内容转移或克隆到另一台计算机上,此计算机与原有计算机的型号可以相同或不同,甚至可以是不同厂商的产品。对于TPM中存储的密钥和证书等信息来说,也面临类似问题如果密钥通过系统平台的I/O总线备份,则计算机木马/病毒程序就可以截获备份信息;如果不能安全的备份与恢复,则可能由于TPM的损坏而导致计算机硬盘中存储的被加密的信息及相关证书无法解密和验证。(3)PhysicalPresence机制并不能保证对TPM内部信息的预置、备份和恢复的安全管理问题。TPM1.2中的主控制器,如主板CPU的所有控制信息都通过系统/平台总线与TPM模块的I/0接口总线进行传输,当对TPM进行Clear、Deactivate和Disable命令时,需要TPMOwner现场通过选择开关确认,如TPM芯片的PP弓1脚。然而,当TPMOwner进行TPM信息的预置、备份和恢复时,目前还没有方法通过PhysicalPresence机制保证这些操作的安全性。这些问题使得TCG公布的可信计算规范1.2中强调的可信保障可能会给用户带来很多限制,使用户对系统失去控制能力。如1)只要TPM提供者对用户的计算机系统不信任或平台本身认为已存在的实体不可信,可能使得计算机的拥有者无法打开其磁盘上的文件,某些设备拒绝启动,或某些程序拒绝执行,因此,这一机制使得用户存在被控制的可能。2)在可信的计算平台下,用户将被迫安装被签名的硬件与软件来维护平台的可信性。用户将没有更多的权利来选择使用哪种硬件或软件,降低了计算平台的易用性和用户自主可控性。3)用户在使用TPM的过程中不可避免的会出现某些错误或失误,如将EK的公钥丢失、TPM芯片烧毁等,现有的TPM1.2规范并没有考虑这些问题。这使得一旦出现这些情况,TPM使用者就不能恢复出自己存在TPM中的秘密信息以及用这些秘密信息加密的硬盘数据。这使得现有TPM的使用严重妨碍了易用性的规则。发明的内容本发明的目的是针对目前TPM1.2和TSS规范的不足,提供一种可信平台模块的体系结构及其提供服务的方法,以解决TPM内部关键信息的预置、备份和恢复的问题。为实现上述目的,本发明提供的可信平台模块的体系结构如图2所示,包括1/0总线接口模块、密码协处理器模块、HMAC引擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块、密钥产生器模块,其特征在于增设有专用信息I/0接口模块,该专用信息I/0接口模块在内部与执行引擎模块进行交互操作,通过与外界各种并行或串行可信设备相连实现可信平台模块内部信息的预置、备份与恢复,并替代引脚PP的功能。所述的专用信息I/O接口模块包含有信息格式和控制命令,通过信息格式和控制命令对可信平台模块内部信息进行预置、备份与恢复。所述的可信平台模块进行预置、备份或恢复的内部信息包括身份证明密钥AIK;存储根密钥SRK;平台配置寄存器PCR值;签名密钥SigningKey;存储密钥StorageKey;绑定密钥BindKey;派生密钥LegacyKey;授权改变密钥AuthChangeKey;签注证书EndorsementCert;验证证书ConformanceCert;平台证书platformCert;确认证书ValidationCert禾卩AIK证书。所述的控制命令包括读取身份信息命令TPM—ReadSpecialIOID、专用信息I/0接口模块激活命令TPM—SetSpecialIOActived、专用信息I/O接口模块去激活命令TPM—SetSpecialIODeactivated、初始信息预置命令TPM_InitConfigSpecialIOContext、迁移信息预置命令TPM_MigConfigSpecialIOContext、备份命令TPM_BackupSpecialIOContext、'咴复命令TPM—RestoreSpecialIOContext。为实现本发明目的,本发明的可信平台模块提供服务的方法,包括如下过程1)读取专用信息I/O接口模块连接设备的身份信息;2)对可信平台模块的状态进行检验;3)分别对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,完成服务。所述的对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,分别通过初始信息预置命令、迁移信息预置命令、备份命令、恢复命令进行,这些命令均包括输入信息和输出信息。所述的初始信息预置命令的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、初始预制成功之后指向预置信息的句柄。所述的迁移信息预置命令的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、迁移预制成功之后指向预置信息的句柄。所述的备份命令的输入信息包括命令请求、所有输入的字节长度、命令序号、备份信息的句柄、备份信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、备份信息的长度。所述的恢复命令的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留、恢复信息的字节长度、恢复信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、恢复成功之后指向恢复信息的句柄。本发明具有如下优点1.由于采用专用信息I/O接口模块实现TPM模块内容敏感信息的传输,且该专用信息1/0接口模块不与计算机主板CPU通信,保证了计算机中的各类潜在的木马或病毒不能截获、篡改、覆盖TPM模块内部敏感信息;2.由于采用专用信息I/O接口模块对TPM内部产生的信息,如密钥、证书和PCR值等进行安全备份,兼顾了本地信息的可信性和使用方便性;3.由于采用专用信息I/O接口模块对TPM内部信息进行迁移预置,实现TPM模块内部敏感信息在不同TPM厂商、不同计算机厂商的安全计算机上的可信转移;4.由于采用专用信息I/O接口模块对TPMOwner的个性化信息的初始预置,在购置计算机之后TPMOwner可以定制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模块体系结构包括1/0总线接口模块、密码协处理器模块、HMAC引擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块、密钥产生器模块和专用信息I/0接口模块。其中,1/0总线接口模块、密码协处理器模块、HMAC引擎模±央、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块和密钥产生器模块符合TPML2规范要求。应用软件、操作系统、操作系统安全模块、主板、CPU、BIOS、内存、硬盘、系统/平台总线满足计算机行业标准。所述的专用信息I/O接口模块是与外界可信终端或设备相连进行信息交换的专用接口模块,通过通道C11与其它模块相连,而不与计算机主板或应用本TPM模块的主板上的CPU相连,即主板CPU上运行的软件不能访问本专用信息I/0接口模块。该接口可以是USB、智能卡、UART、PS/2、RS232、RS422、RS485和各种读卡器等并行或串行控制接口,但不仅限于这些接口。只要与TPM模块直接通信而与主板CPU不直接通信的接口,均是本发明专利所指的专用信息I/O接口模块。该专用信息I/O接口模块可实现PP引脚的功能,当外部设备通过专用信息I/O接口模块接入TPM时,相当于PP引脚状态置为TRUE。TPMOwner需要指定通过专用信息I/O接口模块传输的信息,这些信息可以是AIK、SRK、tpmProof、PCR值、签名密钥SigningKey、存储密钥StorageKeys、绑定密钥BindKeys、派生密钥LegacyKeys、授权改变密钥AuthChangeKey、签注证书EndorsementCert、验证证书ConformanceCert、平台证书platformCert、确认证书ValidationCert和AIK证书等。所述通过专用信息I/O接口模块传输的信息以文件方式,或者以其它存储方式存放在连入TPM模块的可信终端中,其中文件的类型有三种(1)标识文件由2字节的身份信息ID、2字节的信息长度N—ID、NJD个字节的用户信息Inf和哈希值SHA—ID组成。(2)密钥文件由用户口令作为密钥,通过TPM密码协处理器加密后存放。该密钥文件由2字节的密钥文件ID、2字节的信息长度N—KEY、长度为N—KEY个字节密钥密文C_KEY和密钥文件的散列消息鉴别码HMAC—KEY组成。G)TPM信息文件用密钥文件中存放的密钥加密,由以下部分组成(a)2字节的秘密信息ID的数量NC、2字节的秘密信息身份IDC,、2字节的IDd的长度LC,、IDd对应的LC,个字节的加密信息d、IDC,相关信息的散列消息鉴别码HMAC—d、、2字节的秘密信息的身份IDCNC、2字节的IDCNC的长度LCNC、IDCNC对应的L"c个字节的加密信息CNC、IDCM相关信息的散列消息鉴别码HMAC—CNC;(b)2字节的公开信息ID的数量NM、2字节的公开信息身份IDM,、2字节的IDM1的长度LM,、IDM!对应的L1V^个字节的公开信息M,、IDM^目关信息的散列消息鉴别码HMAC—M!、…、2字节的公开信息身份IDM麵、2字节的IDM固的长度LMNM、IDM醒对应的LMNM个字节的公开信息MNM、IDMNM相关信息的散列消息鉴别码HMAC_MNM。其中,TPMOwner用户可以指定密钥文件是否需要利用用户口令进行加密。若安全性需求较高,则密钥文件需要利用用户口令进行加密;若易用性需求较高,则密钥文件不需要利用用户口令进行加密,但用户必须保护好存储TPM敏感信息的可信终端。当TPMOwner用户进行TPM敏感信息的预置、备份和恢复时,只需在TPM信息文件中査找各种信息对应的ID值后执行相应操作。这可以减少信息的处理时间,方便预置、备份和恢复的快速进行。所述通过专用信息I/O接口模块传输的信息格式示例如表1所示。表1.本发明专用信息1/0接口模块传输的信息的数据结构示意表定义typedefstructtdTPM—TRANSPORT—ID{TPM—STRUCTIJ^E—TAGtag;UNlf"32lengthENClb;TPM—TRANSPORT—ENC[]transENCID;UNlf32lengthPUBlb;TPM_TRANSPORT_PUBLIC[]transPUBID;}TPM—T"kANSPORT一l5;参数—一类型名称描述TPMSTRUCTURETAGtagTPMTAGTRANSPORTID隨32leng翻CID传送的加密信息对应的ID值的数组长度TPM—TRANSPORT—ENCtransENCID传送的加密信息对应的ID值数组UNIT32lengthPUBID传送的公开信息对应的ID值的数组长度TPM_TRANSPORT_PUBLICtransPUBID传送的公开信息对应的ID值数组表l中信息格式包括信息标签TPMTAGTRANSPORTID、传送的加密信息对应的ID值的数组长度、传送的加密信息对应的ID值数组、传送的公开信息对应的ID值的数组长度、传送的公开信息对应的ID值数组。参照图4,本发明专用信息I/0接口模块中设有六种扩展命令,以实现对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,分别通过初始信息预置命令、迁移信息预置命令、备份命令、恢复命令进行,这些命令均包括输入信息和输出信息。具体命令及其格式如下.(1)TPMOwner利用TPM—ReadSpecialIOID命令读取连接到TPM的设备的身份信息,此扩展命令及其格式如表2所示。表2.扩展命令TPM—ReadSpecialIOID的参数示意表TPM—ReadSpeciallOID输入值及其参数<table>tableseeoriginaldocumentpage11</column></row><table>表2中的输入信息包括命令请求、所有输入的字节长度、命令序号;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、连入设备的信息。其中连入设备的信息由厂商自由定义,可以是设备使用者的身份信息、设备的生产日期;STRING格式是以字节为单位以O结尾的字符串,与高级语言的字符串含义相同,由用户自定义。(2)系统/平台操作者通过发出TPM—SetSpecialIOActived命令,允许TPM与可信终端进行TPM的信息预置、信息备份或信息恢复操作。通过发出TPM—SetSpecialIODeactivated命令禁止系统/平台操作者进行信息预置、信息备份或信息恢复操作,此命令及其格式如表3所示。表3.扩展命令TPM_SetSpecialIOActived和TPM—SetSpeciallODeactivated的参数示意表TPM一SetSpeciallOActived输入值及其参数<table>tableseeoriginaldocumentpage12</column></row><table>输入值及其参数<table>tableseeoriginaldocumentpage12</column></row><table>输出值及其参数<table>tableseeoriginaldocumentpage12</column></row><table>表3中TPM—SetSpecialIOActived命令的输入信息包括命令请求、所有输入的字节长度、命令序号、激活标签状态指示;输出信息包括命令响应、所有输出的字节长度、操作的返回代码。TPM一SetSpecialIODeactivated命令的输入信息包括命令请求、所有输入的字节长度、命令序号、激活标签状态指示;输出信息包括命令响应、所有输出的字节长度、操作的返回代码。(3)系统/平台操作者利用TPMJnitConfigSpecialIOContext命令,通过可信终端执行信息初始预置操作,其命令格式如表4所示。表4.扩展命令TPM—InitConfigSpecialIOContext的参数示意表TPMJnitConfigSpeciallOContext<table>tableseeoriginaldocumentpage13</column></row><table>表4的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、初始预制成功之后指向预置信息的句柄。(4)系统/平台操作者利用TPM—MigConfigSpecialIOContext命令,通过可信终端执行信息迁移预置操作,其命令格式如表5所示。表5.扩展命令TPM—MigConfigSpecialIOContext的参数示意表TPM—MigConfigSpeciallOContext输入值及其参数<table>tableseeoriginaldocumentpage14</column></row><table>表5的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、迁移预制成功之后指向预置信息的句柄。(5)系统/平台操作者利用TPM—BackupSpecialIOContext命令,通过可信终端执行信息备份操作,其命令格式如表6所示。表6.本发明设计的扩展命令TPM_BackupSpecialIOContext的参数示意表TPM_BackupSpeciallOContext输入值及其参数<table>tableseeoriginaldocumentpage15</column></row><table>输出值及其参数<table>tableseeoriginaldocumentpage15</column></row><table>表6的输入信息包括命令请求、所有输入的字节长度、命令序号、备份信息的句柄、备份信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、备份信息的长度。(6)系统/平台操作者利用TPM—RestoreSpecialIOContext命令,通过可信终端执行信息恢复操作,其命令格式如表7所示。表7.本发明设计的扩展命令TPM—RestoreSpeciallOContext的参数示意表<table>tableseeoriginaldocumentpage16</column></row><table>表7的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留、恢复信息的字节长度、恢复信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、恢复成功之后指向恢复信息的句柄。表17为扩展命令的原理示例,但不仅限于所述的这些格式。参照图5,本发明TPM提供服务的方法,包括如下具体步骤1.读取专用信息I/0接口模块连接设备的身份信息当有外部设备连入专用信息I/O接口模块时,TPMOwner首先利用应用软件从专用信息I/O接口模块读取连接到TPM的设备的身份信息,TPM模块执行TPM—ReadSpecialIOID命令。TPMOwner根据应用软件返回的身份信息ID及其哈希值SHAJD验证此接入设备的正确性,并由TPMOwner判定接入设备是否匹配、可用。若TPMOwner认可,贝ijSpecilIO状态为TURE,否则为FALSE。2.TPM状态检验当可信终端与专用信息I/O接口模块相连时,TPM首先检查SpecilIO状态,若SpecillO状态为TURE,则继续后续操作;否则TPM对连入的可信终端不做任何处理。若SpecillO状态为TURE,TPM再检查专用信息I/O接口模块是否处于激活状态,若专用信息I/0接口模块处于激活状态,则继续后续操作;否则TPM对连入的可信终端不做任何处理。其中,专用信息I/0接口模块是否处于激活状态可由TPMOwner通过TPM—SetSpecialIOActived命令或TPM_SetSpecialIODeactivated命令进行指定。3.TPM模块初始信息预置TPM执行TPM一InitConfigSpecialIOContext命令进行初始信息的预置。TPM_InitConfigSpecialIOContext命令将可信终端中用户指定的公开信息导入到TPM的非易失性存储器中,并根据这些公开信息生成密钥信息。通过此操作,用户可以定制TPM的初始信息,避免TPM厂商控制用户的密钥信息。导入信息前,TPM模块检查导入信息的数据格式,若数据格式错误,返回错误信息TPM_InitConfig_Error。若数据格式正确,则执行导入信息操作。成功后将TPM状态置为用户的预置状态,返回成功信息TPM—InitConfig—Success。4.TPM模块迁移信息预置TPMOwner首先输入口令,TPM对口令进行检查后执行TPM—MigConfigSpecialIOContext命令。TPM—MigConfigSpecialIOContext命令从可信终端中把用户指定的迁移预配置信息导入到TPM的非易失性存储器中。这些信息是用户在其它TPM中使用的秘密信息,即用户可以使用不同的TPM对相同的密钥信息及加密数据进行相关操作。导入信息前,TPM模块检査导入信息的数据格式,若数据格式错误,返回错误信息TPM—MigConfig—Error。若数据格式正确,则执行导入信息操作,并通过口令加密的密钥对导入数据进行解密,把解密后的预配置信息导入到TPM的非易失性存储器后,将TPM状态置为用户指定的预置状态,返回成功信息TPM—MigConfig—Success。5.TPM内部信息的安全备份TPMOwner首先输入口令,TPM对口令进行检查后执行TPM_BackupSpecialIOContext命令。此命令根据TPMOwner的指定内容,从TPM模块的非易失性存储器中把备份信息导出到可信终端中。导出信息前,TPM模块检査导出信息的数据格式,若数据格式错误,返回错误信息TPM—BaCkUp_ErrOT。若数据格式正确,则TPM模块利用口令加密的密钥对导出信息进行加密,把加密后的备份信息导出到可信终端中,然后返回成功信息TPM—Backup_Success。6.TPM内部信息的安全恢复TPMOwner首先输入口令,TPM对口令进行检查后执行TPM_RestoreSpecialIOContext命令。此命令根据TPMOwner的指定内容,从可信终端中把恢复信息导入到TPM的非易失性存储器中。导入信息前,TPM模块检查导入信息的数据格式,若数据格式错误,返回错误信息TPM_ReStore—EiTor。若数据格式正确,则执行导入信息操作,并利用口令加密的密钥进行解密,把解密后的恢复信息导入到TPM的非易失性存储器中,然后返回成功信息TPM_Restore—Success。本发明的TPM模块应用示例如图6。该示例是将TPM模块应用在可信计算机中,其中专用信息I/0接口模块以USB接口为例。图6中,具有TPMOwner权限的计算机操作者首先将可信USBDISK设备与TPM模块的专用信息I/O接口模块相连;然后利用应用软件从专用信息I/O接口模块读取连接到TPM的USBDISK设备中的身份信息,计算机操作者根据应用软件返回的身份信息验证此接入设备是否是自己需要进行操作的终端设备;接着由计算机操作者通过TPM—SetSpecialIOActived命令激活专用信息I/O接口模块;最后通过应用程序指定预置/备份/恢复信息,并执行相应的信息预置/信息备份/信息恢复操作。TPM根据服务请求,按照所述服务请求的具体实施步骤进行信息预置/信息备份/信息恢复操作,若TPM检测到操作有误,则向计算机操作者返回错误信息。若信息预置/信息备份/信息恢复操作成功,TPM向计算机操作者返回成功信息。从上述示例可见,本发明通过专用信息I/O接口模块实现了TPM模块内容敏感信息的预置、备份和恢复,保证了计算机中的各类潜在的病毒不能攻击TPM模块内部敏感信息;兼顾了本地信息的可信性和使用方便性;实现了TPM模块内部敏感信息的可信转移;使得TPMOwner的个性化信息预置功能得以实现;最终达到可信平台模块、安全计算机的开放式产业化和用户信息的个性化。符号说明TCG:国际可信计算组织(TrustedComputingGroup);TPM:可信平台模块(TrustedPlatformModule);I/O:输入输出(InputandOutput);HMAC:带加密的散列消息验证码(HashMAC);SHA-1:安全散列算法版本1(SecureHashAlgorithmVersion1);AIK:身份证明密钥(AttestationIdentityKey);PCR:平台配置寄存器(PlatformConfigurationRegister);SRK:存储根密钥(StorageRootKey);PS/2:个人系统(PersonalSystem);EK:签注密钥(EndorsementKey);RS-232:串行数据通信的接口标准(RecommendedStandard232)TSS:TCGSoftwareStack(TCG软件协议栈);Internet:因特网;USB:通用串行总线(UniversalSerialBus);UART:异步串行接口(UniversalAsynchronousReceiver/Transmitter);BIOS:基本输出输入系统(BasicInputOutputSystem)。权利要求1、一种可信平台模块的体系结构,包括I/O总线接口模块、密码协处理器模块、HMAC引擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块、密钥产生器模块,其特征在于增设有专用信息I/O接口模块,该专用信息I/O接口模块在内部与执行引擎模块进行交互操作,通过与外界各种并行或串行可信设备相连实现可信平台模块内部信息的预置、备份与恢复,并替代引脚PP的功能。2、根据权利要求l所述的可信平台模块的体系结构,其特征在于专用信息I/O接口模块包含有信息格式和控制命令,通过信息格式和控制命令对可信平台模块内部信息进行预置、备份与恢复。3、根据权利要求2所述的可信平台模块的体系结构,其特征在于可信平台模块进行预置、备份或恢复的内部信息包括身份证明密钥AIK;存储根密钥SRK;平台配置寄存器PCR值;签名密钥SigningKey;存储密钥StorageKey;绑定密钥BindKey;派生密钥LegacyKey;授权改变密钥AuthChangeKey;签注证书EndorsementCert;验证证书ConformanceCert;平台i正书platformCert;确i/、i正书ValidationCert禾tlAIKi正书。4、根据权利要求2所述的可信平台模块的体系结构,其特征在于所述的控制命令包括读取身份信息命令TPM—ReadSpecialIOID;专用信息I/O接口激活命令TPM_SetSpecialIOActived;专用信息I/O接口去激活命令TPM—SetSpecialIODeactivated;初始信息预置命令TPM—InitConfigSpecialIOContext;迁移信息预置命令TPM—MigConfigSpecialIOContext;备份命令TPM—BackupSpecialIOContext;恢复命令TPM—RestoreSpecialIOContext。5、一种可信平台模块提供服务的方法,包括如下过程1)读取专用信息I/0接口连接设备的身份信息;2)对可信平台模块的状态进行检验;3)分别对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,完成服务。6.根据权利要求5所述的提供服务的方法,其特征在于所述的对可信平台模块的初始信息、迁移信息进行预置或者对可信平台模块内部信息进行安全备份或恢复,分别通过初始信息预置命令、迁移信息预置命令、备份命令、恢复命令进行,这些命令均包括输入信息和输出信息。7.根据权利要求6所述的提供服务的方法,其特征在于初始信息预置命令的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、初始预制成功之后指向预置信息的句柄。8.根据权利要求6所述的提供服务的方法,其特征在于迁移信息预置命令的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留的标志、导入信息的字节长度、导入信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、迁移预制成功之后指向预置信息的句柄。9.根据权利要求6所述的提供服务的方法,其特征在于备份命令的输入信息包括命令请求、所有输入的字节长度、命令序号、备份信息的句柄、备份信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、备份信息的长度。10.根据权利要求6所述的提供服务的方法,其特征在于恢复命令的输入信息包括命令请求、所有输入的字节长度、命令序号、指明句柄是否必须被保留、恢复信息的字节长度、恢复信息的ID集合;输出信息包括命令响应、所有输出的字节长度、操作的返回代码、恢复成功之后指向恢复信息的句柄。全文摘要本发明提供了一种可信平台模块TPM体系结构及提供服务的方法。该结构包括I/O总线接口模块、密码协处理器模块、HMAC引擎模块、SHA-1引擎模块、Opt-In模块、非易失性存储器模块、易失性存储器模块、执行引擎模块、电源检测模块、随机数发生器模块、密钥产生器模块和专用信息I/O接口模块,该专用信息I/O接口模块在内部与执行引擎模块进行交互操作,通过与外界各种并行或串行可信设备相连实现可信平台模块内部信息的预置、备份与恢复,并替代引脚PP的功能。该可信平台模块可提供的服务包括读取专用信息I/O接口模块连接设备的身份信息;对可信平台模块的状态进行检验;预置初始信息、迁移信息;备份或恢复TPM敏感数据。本发明可用于实现TPM模块内部敏感信息的安全操作。文档编号G06F21/00GK101183413SQ200710199230公开日2008年5月21日申请日期2007年12月14日优先权日2007年12月14日发明者丁振国,李凤华,巍王,马建峰申请人:西安电子科技大学;北京电子科技学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1