CN104715208A - 一种基于tpm芯片的平台完整性校验方法 - Google Patents

一种基于tpm芯片的平台完整性校验方法 Download PDF

Info

Publication number
CN104715208A
CN104715208A CN201510118462.8A CN201510118462A CN104715208A CN 104715208 A CN104715208 A CN 104715208A CN 201510118462 A CN201510118462 A CN 201510118462A CN 104715208 A CN104715208 A CN 104715208A
Authority
CN
China
Prior art keywords
platform
key
completeness
tpm
kernel file
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.)
Pending
Application number
CN201510118462.8A
Other languages
English (en)
Inventor
许鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Group Co Ltd
Original Assignee
Inspur Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201510118462.8A priority Critical patent/CN104715208A/zh
Publication of CN104715208A publication Critical patent/CN104715208A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种基于TPM芯片的平台完整性校验方法,属于完整性校验方法领域。该方法将平台完整性与TPM密钥的可用性绑定在一起,内核文件由TPM芯片产生的密钥进行加密,密钥的可用性直接决定内核文件是否能被解密加载。与现有技术相比,本发明方法将平台的完整性与密钥绑定,平台遭受篡改则意味着密钥无法被用于解密内核文件;同时,在生成策略时,管理员可选择保存策略数据,当平台完整性受到破坏时,管理员可以用策略数据正常启动OS,给了用户更大的灵活性,具有很好的推广应用价值。

Description

一种基于TPM芯片的平台完整性校验方法
技术领域
本发明涉及一种完整性校验方法,具体地说是一种基于TPM芯片的平台完整性校验方法。
背景技术
所谓完整性校验,其实是一比对过程,将当前信息与提供的、被认为是完整的信息比对,如果一致,则认为当前信息完整,否则,则认为当前信息受到了篡改。搭配有TPM芯片的平台可以利用TPM芯片中的PCR(Platform Configuration Register,平台配置寄存器)的扩展功能(Extend),将将要执行部分的摘要值扩展至PCR,因此,可以建立从BIOS到BootLoader最后到OS的一条完整的度量链来反映当前平台的信息。
在传统的完整性校验过程中,首先由用户建立完整的信息,将其存储起来,每次系统启动,读取指定PCR的值获得当前平台信息,将其与完整的信息比对来完成完整性校验。这一过程有两大安全风险,一是完整性信息的存放,二是校验的环境。如果完整性信息被篡改,或是校验过程受到监听或是攻击,则这一过程将不再安全,系统的完整性也得不到保障。
发明内容
本发明的技术任务是针对上述现有技术暴露的安全隐患,提供一种基于TPM芯片的平台完整性校验方法。
本发明的技术任务是按以下方式实现的:一种基于TPM芯片的平台完整性校验方法,其特点是将平台完整性与TPM密钥的可用性绑定在一起,内核文件由TPM芯片产生的密钥进行加密,密钥的可用性直接决定内核文件是否能被解密加载。
作为优选,密钥授权策略以文件形式保存,在平台完整性受到破坏时,可选择以password的方式授权使用密钥。
TPM芯片中有专用密码学模块,完成数据的加密解密,可以防止外部恶意程序监测加解密过程。同时,TPM采用“存储保护对象体系”,任何存放到芯片外部的对象在生成时都会有一个保护密钥,密钥的敏感数据会受到该密钥的加密保护。因此TPM生成的密钥的敏感数据可以受到芯片的保护防止被外部获取。
优选TPM2.0芯片。TPM2.0中引入了增强型授权(Enhanced Authorization),可以利用当前PCR的值作为对象的授权值。如果当前平台环境与密钥生成时的环境不一样,则授权失败,无法使用密钥来解密内核文件,无法启动OS。
作为优选,上述方法包括以下步骤:
(一) 根据用户需求选择PCR,根据当前平台中的PCR值生成授权策略;
(二)以Owner的身份创建用于加密密钥的父密钥;
(三)创建加密密钥symKey,密钥的授权值设为步骤(一)中获得的授权策略,并将生成的密钥加载至TPM中;
(四)利用symKey来加密Linux的内核文件;
(五)系统重启,如果平台的完整性未受到破坏,BootLoader可使用symKey解密被加密的内核文件,完成OS的引导;如果平台完整性受到破坏, BootLoader无法使用symKey解密被加密的内核文件,OS无法启动。
步骤(五)中,如果平台完整性受到破坏,可输入授权策略,如果输入的授权策略正确,BootLoader使用symKey解密被加密的内核文件,完成OS的引导。
作为优选,用于实现上述方法的平台完整性校验方法模块包括:(1) PCR授权策略模块;(2) 密钥生成模;(3) 内核文件加密、解密模块。其中:
(1)PCR授权策略模块:可根据用户需求选择PCR,根据当前平台中的PCR值生成授权策略;
(2)密钥生成模块:密钥的授权值与当前平台信息绑定,只有平台的状态与密钥生成时的状态一致,密钥才能被使用;
(3)内核文件加密、解密模块:使用TPM生成的密钥加密、解密文件,TPM芯片使用“存储对象保护体系”保护密钥的完整性,通过授权来控制密钥的可用性。
与现有技术相比,本发明的基于TPM芯片的平台完整性校验方法利用TPM的增强型授权将平台的完整性与密钥绑定,平台遭受篡改则意味着密钥无法被用于解密内核文件。同时,在生成策略时,管理员可选择保存策略数据,当平台完整性受到破坏时,管理员可以用策略数据正常启动OS,给了用户更大的灵活性。
附图说明
附图1是本发明基于TPM芯片的平台完整性校验方法的流程图。
具体实施方式
参照说明书附图以具体实施例对本发明的基于TPM芯片的平台完整性校验方法作以下详细地说明。
实施例:
如附图1所示,本发明的基于TPM芯片的平台完整性校验方法,包括以下步骤:
(1)获取TPM芯片的所有者权限。
(2)开始一个TPM_SE_POLICY类型的授权会话policySession,利用PolicyPCR命令将当前所需的PCR值扩展至policySession ->policyDigest。
(3) 利用PolicyGetDigest命令获取含有当前PCR信息的授权策略。
(4)以Owner的身份创建一个Primary Object作为加密密钥的父密钥(保护密钥)。
(5)创建加密密钥symKey,密钥的授权值设为第三步中获得的授权策略,将生成的密钥加载至TPM中。
(6)开始一个TPM_SE_POLICY类型的授权会话policySession1,利用PolicyPCR命令将第一步中选定的PCR值扩展至policySession1->policyDigest,由于在此过程中PCR的值未受到篡改,policySession1->policyDigest与symKey的授权值一致,可以利用symKey来加密Linux的内核文件。
(7)系统重启,BootLoader开启一个TPM_SE_POLICY类型的授权会话policySession2,PolicyPCR命令将第一步中选定的PCR值扩展至policySession2->policyDigest,如果平台的完整性未受到破坏,则policySession2->policyDigest与symKey的授权值一致,BootLoader可使用symKey解密被加密的内核文件,完成OS的引导。如果平台完整性受到破坏,则policySession2->policyDigest与symKey的授权值不一致,BootLoader无法使用symKey解密被加密的内核文件,OS无法启动;或者输入授权策略,如果输入的授权策略正确,BootLoader使用symKey解密被加密的内核文件,完成OS的引导。
下面,以特定TPM安全芯片对本发明方法进行进一步的详细说明。
选用国民技术的Z32H320TC安全芯片,在TPM_RH_OWNER等级下生成RSA算法的Primary Object—obj1,生成的obj1的敏感数据不被返回,obj1无需使用TPM2_Load加载。
使用TPM2_StartAuthSession命令开启一个授权会话,会话的类型TPM_SE_POLICY,该命令执行成功后会返回会话句柄sessionHandle1。
向TPM芯片发送TPM2_PolicyPCR命令,该命令中policySession使用sessionHandle1,TPML_PCR_SELECTION选择PCR1,PCR2,PCR4。
向TPM芯片发送TPM2_PolicyGetDigest命令,policySession选择sessionHandle1,该命令执行成功后返回policyDigest1,将其保存。
使用TPM2_Create命令,以obj1为父密钥创建一个SM4的对称密钥symKey1,其inSensitive中的userAuth和inPublic中的authPolicy设为policyDigest1,密钥创建成功后将返回symKey1的公开数据outPublic和私有数据outPrivate,将这两个部分作为TPM2_Load命令的参数传递给TPM芯片,执行成功后symKey1被加载进TPM芯片,返回symKey1的句柄keyHandle1。
使用TPM2_StartAuthSession命令开启一个授权会话,会话的类型为TPM_SE_POLICY,命令执行成功后返回会话句柄sessionHandle2。
向TPM芯片发送TPM2_PolicyPCR命令,该命令中的policySession使用sessionHandle2,TPML_PCR_SELECTION选择PCR1,PCR2,PCR4。
用TPM2_EncryptDecypt加密内核文件,命令中的keyHandle使用keyHandle1,授权回话的句柄选择sessionHandle2,decrypt选择NO。
修改BootLoader的配置文件,将symKey1和被加密的内核文件加入如其中。
系统重启后,在BootLoader引导内核文件之前,使用TPM2_Load命令将symKey1加载至TPM芯片中,成功执行后返回密钥的句柄keyHandle2。
使用TPM2_StartAuthSession命令开启一个授权会话,会话的类型为TPM_SE_POLICY,命令执行成功后返回会话句柄sessionHandle3。向TPM芯片发送TPM2_PolicyPCR命令,该命令中的policySession使用sessionHandle3,TPML_PCR_SELECTION选择PCR1,PCR2,PCR4。如果PCR1,PCR2,PCR4中的与生成密钥symKey1时相同,则在TPM2_EncryptDecypt命令中可以使用symKey1来解密内核文件,否则会返回授权失败的错误。
内核文件解密成功后系统可以正常加载。

Claims (4)

1.一种基于TPM芯片的平台完整性校验方法,其特征在于:该方法将平台完整性与TPM密钥的可用性绑定在一起,内核文件由TPM芯片产生的密钥进行加密,密钥的可用性直接决定内核文件是否能被解密加载。
2.根据权利要求1所述的基于TPM芯片的平台完整性校验方法,其特征在于:密钥授权策略以文件形式保存,在平台完整性受到破坏时,可选择以password的方式授权使用密钥。
3.根据权利要求1所述的基于TPM芯片的平台完整性校验方法,其特征在于:包括以下步骤:
(一) 根据用户需求选择PCR,根据当前平台中的PCR值生成授权策略;
(二)以Owner的身份创建用于加密密钥的父密钥;
(三)创建加密密钥symKey,密钥的授权值设为步骤(一)中获得的授权策略,并将生成的密钥加载至TPM中;
(四)利用symKey来加密Linux的内核文件;
(五)系统重启,如果平台的完整性未受到破坏,BootLoader可使用symKey解密被加密的内核文件,完成OS的引导;如果平台完整性受到破坏, BootLoader无法使用symKey解密被加密的内核文件,OS无法启动。
4.根据权利要求3所述的基于TPM芯片的平台完整性校验方法,其特征在于:步骤(五)中,如果平台完整性受到破坏,可输入授权策略,如果输入的授权策略正确,BootLoader使用symKey解密被加密的内核文件,完成OS的引导。
CN201510118462.8A 2015-03-18 2015-03-18 一种基于tpm芯片的平台完整性校验方法 Pending CN104715208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510118462.8A CN104715208A (zh) 2015-03-18 2015-03-18 一种基于tpm芯片的平台完整性校验方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510118462.8A CN104715208A (zh) 2015-03-18 2015-03-18 一种基于tpm芯片的平台完整性校验方法

Publications (1)

Publication Number Publication Date
CN104715208A true CN104715208A (zh) 2015-06-17

Family

ID=53414524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510118462.8A Pending CN104715208A (zh) 2015-03-18 2015-03-18 一种基于tpm芯片的平台完整性校验方法

Country Status (1)

Country Link
CN (1) CN104715208A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250760A (zh) * 2016-07-26 2016-12-21 浪潮电子信息产业股份有限公司 一种基于TPM2.0芯片的U‑Boot可信启动方法
CN106803046A (zh) * 2017-01-22 2017-06-06 济南浪潮高新科技投资发展有限公司 一种基于外部存储的度量日志加密方法
CN106934289A (zh) * 2015-12-30 2017-07-07 北京展讯高科通信技术有限公司 校验及形成签名映像的方法
CN107688746A (zh) * 2017-08-30 2018-02-13 浪潮(北京)电子信息产业有限公司 一种内核文件的加载方法和装置
CN110532783A (zh) * 2019-08-21 2019-12-03 西安四叶草信息技术有限公司 数据防篡改方法、装置、设备和存储介质
CN110543768A (zh) * 2019-08-23 2019-12-06 苏州浪潮智能科技有限公司 一种在bios中控制可信根的方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576944A (zh) * 2008-11-20 2009-11-11 武汉大学 基于可信平台模块的计算机安全启动系统
CN102136044A (zh) * 2010-07-14 2011-07-27 华为技术有限公司 安全启动方法、装置及计算机系统
CN102595213A (zh) * 2012-02-22 2012-07-18 深圳创维-Rgb电子有限公司 可信电视终端安全认证方法和系统
CN102646077A (zh) * 2012-03-28 2012-08-22 山东超越数控电子有限公司 一种基于可信密码模块的全盘加密的方法
CN103038745A (zh) * 2010-05-21 2013-04-10 惠普发展公司,有限责任合伙企业 扩展完整性测量
US20140373135A1 (en) * 2010-02-22 2014-12-18 Microsoft Corporation Authorization logic in memory constrained security device
CN104376269A (zh) * 2014-12-11 2015-02-25 浪潮电子信息产业股份有限公司 一种基于可信密码模块的文件加密方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576944A (zh) * 2008-11-20 2009-11-11 武汉大学 基于可信平台模块的计算机安全启动系统
US20140373135A1 (en) * 2010-02-22 2014-12-18 Microsoft Corporation Authorization logic in memory constrained security device
CN103038745A (zh) * 2010-05-21 2013-04-10 惠普发展公司,有限责任合伙企业 扩展完整性测量
CN102136044A (zh) * 2010-07-14 2011-07-27 华为技术有限公司 安全启动方法、装置及计算机系统
CN102595213A (zh) * 2012-02-22 2012-07-18 深圳创维-Rgb电子有限公司 可信电视终端安全认证方法和系统
CN102646077A (zh) * 2012-03-28 2012-08-22 山东超越数控电子有限公司 一种基于可信密码模块的全盘加密的方法
CN104376269A (zh) * 2014-12-11 2015-02-25 浪潮电子信息产业股份有限公司 一种基于可信密码模块的文件加密方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934289A (zh) * 2015-12-30 2017-07-07 北京展讯高科通信技术有限公司 校验及形成签名映像的方法
CN106250760A (zh) * 2016-07-26 2016-12-21 浪潮电子信息产业股份有限公司 一种基于TPM2.0芯片的U‑Boot可信启动方法
CN106803046A (zh) * 2017-01-22 2017-06-06 济南浪潮高新科技投资发展有限公司 一种基于外部存储的度量日志加密方法
CN107688746A (zh) * 2017-08-30 2018-02-13 浪潮(北京)电子信息产业有限公司 一种内核文件的加载方法和装置
CN110532783A (zh) * 2019-08-21 2019-12-03 西安四叶草信息技术有限公司 数据防篡改方法、装置、设备和存储介质
CN110543768A (zh) * 2019-08-23 2019-12-06 苏州浪潮智能科技有限公司 一种在bios中控制可信根的方法和系统
CN110543768B (zh) * 2019-08-23 2021-07-27 苏州浪潮智能科技有限公司 一种在bios中控制可信根的方法和系统

Similar Documents

Publication Publication Date Title
TWI438686B (zh) 用於使用狀態確認來保護作業系統啟動過程的系統及方法
US11416605B2 (en) Trusted execution environment instances licenses management
US8775784B2 (en) Secure boot up of a computer based on a hardware based root of trust
EP2913956B1 (en) Management control method and device for virtual machines
CN104715208A (zh) 一种基于tpm芯片的平台完整性校验方法
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
EP3197089B1 (en) Secure information configuration method, secure authentication method and related chip
WO2019104988A1 (zh) Plc的安全处理单元及其总线仲裁方法
EP1542112A1 (en) Open type general-purpose attack-resistant cpu, and application system thereof
CN105260663A (zh) 一种基于TrustZone技术的安全存储服务系统及方法
CN102262599B (zh) 一种基于可信根的移动硬盘指纹认证方法
CN101523399A (zh) 基于用户认证修改完整性度量的方法和系统
CN102456111A (zh) 一种Linux操作系统许可控制的方法及系统
EP2051181A1 (en) Information terminal, security device, data protection method, and data protection program
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
CN109657479B (zh) 数据防泄漏方法及计算机可读存储介质
CN104794394B (zh) 一种虚拟机启动校验的方法及装置
CN104573549A (zh) 一种可信的数据库机密性保护方法及系统
CN111651748A (zh) 一种车内ecu的安全访问处理系统及其方法
CN104246784A (zh) 用于保护和安全地传输媒体内容的方法、设备和系统
CN105308610A (zh) 用于设备上的平台和用户应用安全性的方法和系统
CN103971034A (zh) 一种保护Java软件的方法及装置
JP5118700B2 (ja) 仮想マシンのアクティブ化を伴う携帯可能な大容量記憶装置
CN103051963B (zh) 一种数字电视终端设备的安全控制方法
CN105827388A (zh) 用于用密码处理数据的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150617