CN103560887B - 智能终端远程证明方法和系统 - Google Patents
智能终端远程证明方法和系统 Download PDFInfo
- Publication number
- CN103560887B CN103560887B CN201310539008.0A CN201310539008A CN103560887B CN 103560887 B CN103560887 B CN 103560887B CN 201310539008 A CN201310539008 A CN 201310539008A CN 103560887 B CN103560887 B CN 103560887B
- Authority
- CN
- China
- Prior art keywords
- tolerance
- platform
- value
- report
- key
- 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
Abstract
本发明公开了一种智能终端远程证明方法和系统,基于智能终端TT,平台控制子系统CP和第三方验证子系统VP的架构,该方法利用CP与TT之间的交互验证确认TT基础平台组件的可信性,并为VP提供TT基础平台的可信性等级和理由,以平台度量结果报告的形式发送给VP;VP根据CP的许可,向TT发起自身许可范围的应用环境的可信度量请求;VP根据从CP反馈的平台度量结果报告和TT反馈的应用环境度量结果在验证智能终端环境可信的情况下,向TT推送高安全业务服务。本发明为了方便VP的接入采用对称加密机制,由CP进行主导使用户信息的保护更完善,高安全业务接入更便捷,并实现在高安全业务接入时精确证明终端应用环境的目的。
Description
技术领域
本发明涉及智能终端上的可信计算技术领域,更具体的说,是涉及一种智能终端远程证明方法和系统。
背景技术
随着智能终端的发展,可在其上开展的业务也越来越多,例如一些如电子支付等高安全业务。该高安全业务除了需要认证用户的身份外,还需要确认当前用户的系统及操作环境的可信性。现有技术中多采用远程证明的方式实现在智能终端上开展高安全业务。
远程证明源自于TCG的架构概览规范(TCG Specification ArchitectureOverview)是可信计算平台的基础功能。远程证明不仅对用户和平台的身份进行了认证,还进一步对平台的安全状态、软硬件配置等信息进行验证,保证平台的状态符合预期的安全策略,因此它能够从源头上消除大量潜在的安全攻击,为高安全需求的业务在智能终端上开展提供可能。
目前最常用的远程证明方法为基于二进制的远程证明(Binary-based RemoteAttestation,BRA),其远程证明主要分为完整性度量、度量报告传输以及度量值验证三个部分。其过程主要为:首先,可信平台模块(Trusted Platform Module,TPM)使用保存其中的证言身份密钥(Attestation Identity Keys,AIK)对完整性度量值PCR(PlatConfiguration Register)值(PCR extend操作)进行签名(PCR quote操作),以保证证明终端的身份和完整性;其次,度量报告传输定义了采用何种方式确保完整性度量结果向远程验证方的安全传输以及报告方与验证方的可认证性;最后,度量值验证则指远程验证方接到证明方关于完整性状态的度量报告后根据所期望的完整性值对度量结果的判断和评估,具体的,通过度量存储日志(Stored Measurement Log,SML)和平台配置寄存器PCRs值获取的远程平台系统运行的软件状态、配置信息等,确定对方系统是否可信。从而完成BRA。
目前智能终端具有向第三方业务平台开放的特点,但是,采用上述BRA方法,在平台控制方的智能终端向第三方业务平台开放智能终端的远程证明功能时,由于BRA的过程简单,存在泄漏用户信息的问题,以及在高安全业务接入时由于其过程简单,存在难以解决应用环境证明的精确性问题。
发明内容
有鉴于此,本发明提供了一种智能终端远程证明方法和系统,以克服现有技术中由于BRA的证明过于简单,存在泄漏用户信息,以及高安全业务接入时难以解决应用环境证明的精确性的问题。
为实现上述目的,本发明提供如下技术方案:
一种智能终端远程证明方法,应用于智能终端远程证明系统,所述智能终端远程证明系统包括:智能终端TT,平台控制子系统CP和第三方验证子系统VP;该方法包括:
所述CP向所述TT发送平台度量请求;
所述TT响应并依据所述平台度量请求创建可迁移对称密钥SKCT,并通过完整性度量值PCR引证操作向所述CP发送携带有所述SKCT和nonce2的度量报告,nonce2用于确认迁移的所述SKCT是否成功;
所述CP在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用所述SKCT对所述nonce2进行加密之后生成的反馈至所述TT;
所述TT对获取到的所述进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,并向所述CP发送同步确认信息;
从所述CP处申请到令牌tokenCV的所述VP向所述TT发起度量请求;
所述TT依据所述度量请求向所述VP反馈所述TT的设备AIK索引和当前度量的随机数nonce3;
所述VP向所述CP申请对应所述TT的终端度量,所述终端度量的构成包括vpname||AIK索引||nonce3||nonceV||应用范围度量请求,其中,vpname为所述VP的身份ID,所述AIK索引用于向所述CP表示向哪个TT申请度量,所述nonce3为所述TT发送的当前度量的随机数,所述nonceV为所述VP自身产生的随机数,所述应用范围度量请求用于表征所述VP向所述CP申请终端的度量文件范围;
所述CP接收所述终端度量,并在预设度量许可列表中查询所述AIK索引,所述vpname和所述度量文件范围是否被许可;
所述CP在许可的情况下,生成随机数nonceC,并依据所述nonceC、所述tokenCV和所述nonceV,基于带密钥的摘要算法HMAC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并向所述VP发送反馈信息nonceC||accessticket||verifyticket||平台结果报告||HMAC(SKCV,nonce3||平台结果报告),及所述平台度量结果报告;
其中,nonceC为所述CP生成的随机数,accessticket为本次度量的许可票据,verifyticket为所述CP通过加密方式下发给所述VP的所述verifykey,平台结果报告是所述CP向所述VP提供的所述平台可信远程证明;
所述VP接收所述反馈信息,依据所述nonceC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并利用所述SKCV和所述nonce3进行HMAC计算,验证所述平台结果报告是否完整;
所述VP在所述平台结果报告完整的情况下,分析所述平台度量结果报告中包含所述VP认可的所述TT的终端应用环境信息时,向所述TT推送高安全业务。
优选的,在执行所述方法之前,包括:所述VP向所述CP发送申请注册的信息,并获取申请到的令牌tokenCV。
优选的,在所述VP验证所述平台结果报告完整的情况之后,或者,当分析所述平台度量结果报告中未包含所述VP认可的所述TT的终端应用环境信息时,还包括:
所述VP依据所述SKCV对所述反馈信息中的verifyticket进行解密,获取salt||verifykey,其中,所述salt为所述CP生成的随机数,用于帮助CP和TT同步生成verifykey,所述verifykey=HASH(salt||SKCT);
所述VP根据所述verifykey根据基于HMAC的PCR扩展操作计算所述度量文件范围的最终度量扩展值,所述度量文件范围被所述预设度量许可列表中所许可的度量文件范围内;
所述VP向所述TT发送所述反馈信息中包含的本次度量的许可票据其中,nonce3为所述TT发送的当前度量的随机数,当所述度量文件范围为设定的隐私内容,则所述度量文件范围进行加密;
所述TT利用加载于安全硬件的SKCT验证accessticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表;
所述TT基于所述度量文件的哈希hash值和所述salt对所述度量文件列表中的度量文件执行基于HMAC的PCR扩展操作,获取对应的最终度量扩展值,并将所述最终度量扩展值发送至所述VP,其中,所述hash值通过存储度量日志SML获取,或经由对所述度量文件进行哈希hash计算获得;
所述VP将所述度量扩展值与预设度量值进行比对,或与存储的最终度量扩展值进行比对;
所述VP在比对结果为一致的情况下,确定所述TT的终端应用环境被认可,向所述TT推送高安全业务。
优选的,所述VP根据所述verifykey根据基于HMAC的PCR扩展操作计算所述度量文件范围的最终度量扩展值,包括:
对当前寄存器中的度量扩展PCR值执行清零操作;
安全硬件内部计算出度量密钥verifykey,度量密钥根据度量代理输入的salt和加载到安全硬件使用的对称密钥SKCT的keyhandle索引,计算verifykey=hash(salt||SKCT);
度量代理对度量文件计算hash值或者从SML中获取hash值;
度量代理请求安全硬件对度量文件列表依次执行基于HMAC的PCR扩展操作;
安全硬件对度量文件列表依次执行基于HMAC的PCR扩展操作,获取最终PCR扩展操作后得到的PCR值记为最终度量扩展值;
其中,所述对度量文件列表依次执行基于HMAC的PCR扩展操作,包括:
获取当前寄存器上存储的PCR值,记为old value,依据new value=(m′+oldvalue)mod(2N-1)计算,得到new value,其中,利用所述度量代理对度量文件的hash值mi计算中间值m′=HMAC(verifykey,mi),N为度量文件的hash值的输出长度;
将得到的所述new value作为PCR值记入所述寄存器中;
返回执行获取当前寄存器上存储的PCR值这一步骤,直至结束所述度量文件列表执行基于HMAC的PCR扩展操作,获取最终PCR扩展后得到的PCR值记为最终度量扩展值。
优选地,所述TT利用加载于安全硬件的SKCT验证accessticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表,包括:
所述TT中的应用软件APP请求加载对称密钥SKCT的加密密钥结构至所述TT的安全硬件中,并由所述TT的安全硬件向所述应用软件APP反馈对应所述SKCT的keyhandle索引;
所述应用软件APP将接收并许可的所述accessticket,以及所述keyhandle索引传递给所述TT中的度量代理;
所述度量代理请求所述安全硬件验证所述accessticket中的度量文件范围、salt和nonce3的完整性;
所述安全硬件利用HMAC算法计算所述度量文件范围、salt和nonce3,并将计算获取到的运算摘要值与预设的运算摘要值进行比较;
所述安全硬件在比较结果相同的情况下,确认所述accessticket通过验证并进行解密,获取所述度量文件范围,并传递给度量代理,所述度量代理将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表。
优选的,所述平台度量请求中包括:挑战nonce1;
所述携带有所述SKCT和nonce2的度量报告的构成包括:
其中,nonce2用于确认迁移的密钥SKCT是否成功,由所述TT产生;
AIK和AIK证书代表设备身份,为所述TT的安全硬件的身份证言密钥和公钥证书;
SML为存储度量日志,包含度量文件的摘要值;
PCRs为安全硬件上的PCR寄存器值,表征当前所述TT平台的运行状态结果,与所述挑战nonce1一起被AIK签名;
SKCT为所述TT依据所述平台度量请求在所述TT的安全硬件上创建的一段可迁移的对称密钥,所述SKCT与所述PCRs绑定,以的形式迁出至所述CP,Keyblob为所述CP的公匙加密;
||为串联操作。
优选的,所述CP在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用所述SKCT对所述nonce2进行加密之后生成的反馈至所述TT,包括:
所述CP接收携带有所述SKCT和nonce2的度量报告,并利用所述CP的平台私钥进行解密,获取所述SKCT;
所述CP利用解密获取到的所述SKCT对所述度量报告进行再次解密,获取所述度量报告中的存储度量日志SML;
所述CP获取所述度量报告中的AIK证书,使用预先获取到的CA根证书对所述AIK证书进行签名验证,在验证通过后,确认所述AIK证书有效并提取所述AIK证书中的公钥;
所述CP根据PCR扩展算法计算从所述SML中获取所述度量报告中的PCRs;
所述CP利用所述公钥解密所述AIK的签名值,获取对应的解密签名值,将所述PCRs的签名值及与所述PCRs一起被AIK签名的所述挑战nonce1与所述解密签名值进行比对,当比对结果为一致时,确认所述PCRs验证通过;
所述CP在验证通过的所述PCRs的情况下,根据所述存储度量日志SML判断所述TT中不存在非预期的运行结果时,确认所述度量报告通过验证;
所述CP生成相应的平台度量结果报告与所述SKCT一起保存;
所述CP利用所述SKCT对所述nonce2进行加密之后生成的反馈至所述TT。
优选的,所述TT对获取到的所述进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,并向所述CP发送同步确认信息,包括:
所述TT依据所述TT与所述CP之间的共享对称密钥SKCT对所述进行解密,获取当前的nonce2;
所述TT比对解密获取的所述当前的nonce2与所述TT生成度量报告时产生的nonce2,当比对结果是一致时,确认通过所述TT的安全硬件验证;
所述TT在安全硬件验证通过的情况下,对存储的SKCT进行更新,使所述CP与所述TT中的SKCT同步;
所述TT向所述CP发送同步确认消息。
一种智能终端远程证明系统,包括响应单元,第一解密单元和第一反馈单元的智能终端TT,包括第一请求单元,生成单元和查询生成单元的平台控制子系统CP和包括发起第二请求单元,申请单元,验证单元和第一推送单元的第三方验证子系统VP,所述VP预先向所处CP申请到令牌tokenCV;
第一请求单元,用于向所述TT中的响应单元发送平台度量请求;
响应单元,用于响应并依据所述平台度量请求创建可迁移对称密钥SKCT,并通过完整性度量值PCR引证操作向所述CP中的生成单元发送携带有所述SKCT的度量报告;
生成单元,用于在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用所述SKCT对所述nonce2进行加密之后生成的反馈至所述TT中的第一验证单元;
第一验证单元,用于对获取到的所述进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,并向所述CP发送同步确认信息;
第二请求单元,用于向所述TT中的第一反馈单元发起度量请求;
第一反馈单元,用于依据所述度量请求向所述VP中的申请单元反馈所述TT的设备AIK索引和当前度量的随机数nonce3;
申请单元,用于向所述CP中的查询生成单元申请对应所述TT的终端度量,所述终端度量的构成包括vpname||AIK索引||nonce3||nonceV||应用范围度量请求,其中,vpname为所述VP的身份ID,所述AIK索引用于向所述CP表示向那个TT申请度量,所述nonce3为所述TT发送的当前度量的随机数,所述nonceV为所述VP自身产生的随机数,所述应用范围度量请求用于表征所述VP向所述CP申请终端的度量文件范围;
查询生成单元,用于接收所述申请单元发送的所述终端度量,并在预设度量许可列表中查询所述AIK索引,在所述vpname和所述度量文件范围被许可的情况下,生成随机数nonceC,并依据所述nonceC、所述tokenCV和所述nonceV,基于带密钥的摘要算法HMAC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并向所述VP中的验证单元发送反馈信息nonceC||accessticket||verifyticket||平台结果报告||HMAC(SKCV,nonce3||平台结果报告)及所述平台度量结果报告;
其中,nonceC为所述CP生成的随机数,accessticket为本次度量的许可票据,verifyticket为所述CP通过加密方式下发给所述VP的所述verifykey,平台结果报告是所述CP向所述VP提供的所述平台可信远程证明;
验证单元,用于接收所述反馈信息,依据所述nonceC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并利用所述SKCV和所述nonce3进行HMAC计算,验证所述平台结果报告是否完整;
第一推送单元,用于在所述平台结果报告完整的情况下,当验证所述平台度量结果报告完整且分析所述平台度量结果报告中包含所述VP认可的所述TT的终端应用环境信息时,向所述TT推送高安全业务。
优选的,所述VP还包括:
第二解密单元,用于在所述VP验证所述平台结果报告完整的情况之后,或者,当分析所述平台度量结果报告中未包含所述VP认可的所述TT的终端应用环境信息时,依据所述SKCV对所述反馈信息中的verifyticket进行解密,获取salt||verifykey,其中,所述salt为所述CP生成的随机数,用于帮助CP和TT同步生成verifykey,所述verifykey=HASH(salt||SKCT);
度量值计算单元,用于根据所述verifyticket计算所述度量文件范围的最终度量扩展值,所述度量文件范围被所述预设度量许可列表中所许可的度量文件范围内;
第二反馈单元,用于向所述TT发送反馈信息中的本次度量的许可票据其中,nonce3为所述TT发送的当前度量的随机数,当所述度量文件范围为设定的隐私内容,则所述(度量文件范围)进行加密;
第三解密单元,用于利用加载于安全硬件的SKCT验证accessticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表;
度量扩展单元,用于所述TT基于所述度量文件的哈希hash值和所述salt对所述度量文件列表中的度量文件执行PCR扩展操作,获取对应的最终度量扩展值,并将所述最终度量扩展值发送至所述VP,其中,所述hash值通过存储度量日志SML获取,或经由对所述度量文件进行哈希hash计算获得;
比对单元,用于将所述度量扩展值与预设度量值进行比对,或与存储的最终度量扩展值进行比对;
第二推送单元,用于在比对结果为一致的情况下,确定所述TT的终端应用环境被认可,向所述TT推送高安全业务。
优选的,所述度量值计算单元包括:
清零模块,用于对当前寄存器中的度量扩展PCR值执行清零操作;
安全硬件计算模块,用于在安全硬件内部计算出度量密钥verifykey,度量密钥根据度量代理输入的salt和加载到安全硬件使用的对称密钥SKCT的keyhandle索引,计算verifykey=hash(salt||SKCT);以及对度量文件列表依次执行基于HMAC的PCR扩展操作,获取最终PCR扩展操作后得到的PCR值记为最终度量扩展值;
度量代理模块,用于对度量文件计算hash值或者从SML中获取hash值,以及请求安全硬件计算模块对度量文件列表依次执行基于HMAC的PCR扩展操作。
优选的,所述TT还包括:
应用软件APP单元,用于将接收并许可的所述accessticket,以及所述keyhandle索引传递给所述TT中的度量代理单元;
度量代理单元,用于请求所述安全硬件验证所述accessticket中的度量文件范围、salt和nonce3的完整性;
安全硬件单元,用于利用HMAC算法计算所述度量文件范围、salt和nonce3,并将计算获取到的运算摘要值与预设的运算摘要值进行比较,在比较结果相同的情况下,确认所述accessticket通过验证并进行解密,获取所述度量文件范围,并传递给度量代理,所述度量代理将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表。
优选的,所述生成单元包括:
一次解密模块,用于接收携带有所述SKCT和nonce2的度量报告,并利用所述CP的平台私钥进行解密,获取所述SKCT;
二次解密模块,用于一次解密获取到的所述SKCT对所述度量报告进行再次解密,获取所述度量报告中的存储度量日志SML;
证书验证模块,用于获取所述度量报告中的AIK证书,使用预先获取到的CA根证书对所述AIK证书进行签名验证,在验证通过后,确认所述AIK证书有效并提取所述AIK证书中的公钥;
PCR扩展模块,用于根据PCR扩展算法计算从所述SML中获取所述度量报告中的PCRs;
第一验证模块,用于利用所述公钥解密所述AIK的签名值,获取对应的解密签名值,将所述PCRs的签名值及与所述PCRs一起被AIK签名的所述挑战nonce1与所述解密签名值进行比对,当比对结果为一致时,确认所述PCRs验证通过;
第二验证模块,用于在验证通过的所述PCRs的情况下,根据所述存储度量日志SML判断所述TT中不存在非预期的运行结果时,确认所述度量报告通过验证,并生成相应的平台度量结果报告与所述SKCT一起保存;
加密模块,用于利用所述SKCT对所述nonce2进行加密之后生成的反馈至所述TT。
优选的,所述第一解密单元包括:
第一解密模块,用于依据所述TT与所述CP之间的共享对称密钥SKCT对所述
比对模块,用于比对解密获取的所述当前的nonce2与所述TT生成度量报告时产生的nonce2,当比对结果是一致时,确认通过所述TT的安全硬件验证;
更新模块,用于在安全硬件验证通过的情况下,对存储的SKCT进行更新,使所述CP与所述TT中的SKCT同步;
发送模块,用于向所述CP发送同步确认消息。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种智能终端远程证明方法和系统,本发明基于智能终端TT,平台控制子系统CP和第三方验证子系统VP的架构,首先利用CP与TT之间的交互验证确认TT基础平台组件的可信性,并为VP提供TT基础平台的可信性等级和理由,以平台度量结果报告的形式发送给VP;其次,VP根据CP的许可,向TT发起自身(VP自己)许可范围的应用环境的可信度量请求;最后VP根据从CP反馈的平台度量结果报告和TT反馈的应用环境度量结果在验证智能终端环境可信的情况下,向TT推送高安全业务服务;本发明为了方便VP的接入,采用对称加密机制,在TT与CP的可信以及VP和CP的可信的共同作用下,使智能终端向推送高安全业务平台前端的第三方验证子系统远程证明智能终端的设备的身份以及终端平台和终端应用环境的可信性,由CP进行主导且基于对称加密机制,使用户信息的保护更加完善,高安全业务接入更加便捷,并实现在高安全业务接入时精确证明终端应用环境的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一公开的一种智能终端远程证明方法的流程图;
图2为本发明实施例二公开的一种智能终端远程证明方法中的部分流程图;
图3为本发明实施例三公开的向TT反馈的流程示意图;
图4为本发明实施例三公开的向CP发送当前TT平台可信远程证明的流程示意图;
图5为本发明实施例三公开的解密度量文件范围的流程示意图;
图6为本发明实施例四公开的TT与CP通信的终端流程示意图;
图7为本发明实施例四公开的TT与VP通信的终端流程示意图;
图8为本发明实施例五公开的一种智能终端远程证明系统的结构示意图;
图9为本发明实施例五公开的一种智能终端远程证明系统的架构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
TT:智能终端;
CP:平台控制子系统;
VP:第三方验证子系统;
PCR:完整性度量值;
TCG:Trusted Computing Group,可信计算组织;
AIK:Attestation Identity Keys,可信计算/TCG专有术语。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于背景技术中公开的由于BRA的过程简单,存在泄漏用户信息的问题,以及在高安全业务接入时由于其过程简单,存在难以解决应用环境证明的精确性问题。本发明实施例公开了一种智能终端远程证明方法和系统,为了方便VP的接入,采用对称加密机制,由CP进行主导,使用户信息的保护更加完善,高安全业务接入更加便捷,并实现在高安全业务接入时精确证明终端应用环境的目的。具体内容通过以下实施例进行详细说明。
实施例一
请参阅附图1,为本发明实施例一公开一种智能终端远程证明方法的流程图,主要应用于智能终端TT,平台控制子系统CP和第三方验证子系统VP组成的架构中;该方法主要以下步骤:
步骤S101,所述CP向所述TT发送平台度量请求;
在步骤S101中,该平台度量请求中包含挑战nonce1。挑战是安全术语,主要为一段随机数,由CP本地生成,用于防止重放攻击。
平台度量请求为一段请求度量消息,TT识别该请求度量消息并应答该请求度量请求。CP为度量的发起方,TT则以此回复终端本地状态。CP与TT两者的关系为终端本地状态的报告对象和报告方的关系。TT通过完整性度量值PCR引证操作完成度量报告。
步骤S102,所述TT响应并依据所述平台度量请求创建可迁移对称密钥SKCT,并通过完整性度量值PCR引证操作向所述CP发送携带有所述SKCT和nonce2的度量报告,nonce2用于确认迁移的所述SKCT是否成功;
在步骤S102中,PCR引证为可信计算/TCG术语,可简称为PCR quote,所进行的PCR引证操作是指对PCRs和挑战nonce(需要说明的是,本发明中出现的带有数字标号,如nonce1仅用于表述不同的挑战)使用AIK私钥签名。
所述携带有所述SKCT和nonce2的度量报告的构成包括:
其中,nonce2用于确认迁移的密钥SKCT是否成功,由所述TT产生;
AIK是非对称密钥,是本发明实施例在进行可信计算中为了提高安全性而引入的内容,是安全硬件中EK(代表安全硬件唯一身份)的替身/别名,专为内部数据签名加解密使用。EK一般由安全芯片厂商一次性烧写入安全芯片中。AIK由安全硬件生成并存储管理,AIK证书则由一个可信CA(证书中心)根据安全硬件身份即EK下发到终端。不同的安全硬件,AIK和AIK证书是不同的。
在该度量报告中AIK和AIK证书代表设备身份,为所述TT的安全硬件的身份证言密钥和公钥证书;
SML放置在TT本地非易失性存储器如flash中,所包含的内容有度量文件的摘要值和文件名称等信息,为存储度量日志;SML的信息内容从终端开机开始一直是递增的,是终端状态的详细描述。
PCRs为安全硬件上的PCR寄存器值,是终端平台运行累积不可逆的状态信息,随着SML文件内容的增加而变化,是一段当前SML文件的固定长度的摘要值,表征当前所述TT平台的运行状态结果,与所述挑战nonce1一起被AIK签名;
在进行终端状态可信或不可信的验证时,CP可根据签名检查PCR的身份和完整性,再根据PCR验证SML的完整性,并通过比对SML文件内容检查终端状态可信以及不可信描述。
SKCT为所述TT依据所述平台度量请求在所述TT的安全硬件上创建的一段可迁移的对称密钥,所述SKCT与所述PCRs绑定,以的形式迁出至所述CP,Keyblob为所述CP的公匙加密,只有拥有CP平台私钥的CP才可以从获取到SKCT;||为串联操作。
所述TT的安全硬件是硬件物理保证安全的嵌入式片上系统,含有密码运算部件和存储部件的小型系统。从安全硬件外部看,除了输入输出可见,内部过程由物理保证对外不可见。内部处理过程和输入输出定义不同,则形成不同的安全硬件。
TCG组织定义了TPM安全硬件,在本发明实施例中的安全硬件为在TPM功能集基础上加入相关的对称机制算法和相应功能。
步骤S103,所述CP在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用所述SKCT对所述nonce2进行加密之后生成的反馈至所述TT;
在步骤S103中,基于步骤S102发送的度量报告,CP首先使用CP的平台私钥解密出SKCT,在使用SKCT解密出SML,在验证AIK证书有效性后,根据SML计算出PCRs后使用AIK公钥验证PCRs,以及验证nonce1的值,从而可以防止重放攻击。
最后再通过比对SML列表,在评估终端可信的情况下生成平台度量结果报告,该报告中应该至少含有终端平台基础组件安全性内容。将所述平台度量结果报告与SKCT一起保存,并伴随下次对终端的评估而更新。
在平台基础组件可信的情况下,则向所述TT返回利用对称加密算法(密钥是SKct,加密内容为随机数nonce2)对所述平台度量结果报告进行加密之后生成的和\或描述信息。描述信息是有助于所述TT解析加密后的内容,是该加密内容的文字描述,该描述信息可以有也可以没有。
在平台基础组件不可信的情况下,则向所述TT返回错误报告。
步骤S104,所述TT对获取到的所述进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,,并向所述CP发送同步确认信息;;
在步骤S104中,TT对获取到的所述进行安全硬件验证若验证为正确则更新SKCT,并发送已正确同步消息(同步确认信息)给CP,以实现CP与TT的SKCT的同步。否则,返回错误信息描述,并不更新加密存储的SKCT。
步骤S105,从所述CP处申请到令牌tokenCV的所述VP向所述TT发起度量请求;
在步骤S105中,VP向所述TT发起度量请求,其中,VP对TT的度量主要是应用层的环境度量,一个VP应用环境度量由VP自身度量。
在本发明实施例中,CP与TT之间主要是基础平台的度量,如内核、基础库等。VP对TT的度量则主要是应用层的环境度量。只有基础平台可信以及VP的应用环境可信,终端当前VP的运行环境才是可信的。在本发明实施例中,基础平台可信性由CP度量TT后提供可信结果就可,VP无需度量TT的基础环境可信,保护了系统和用户的运行信息,仅需要VP对TT的度量则主要是应用层的环境度量,简化了VP接入TT的复杂度。
步骤S106,所述TT依据所述度量请求向所述VP反馈所述TT的设备AIK索引和当前度量的随机数nonce3;
步骤S107,所述VP向所述CP申请对应所述TT的终端度量;
在步骤S107中,向所述CP申请对应所述TT的终端度量的构成包括:vpname||AIK索引||nonce3||nonceV||应用范围度量请求。
其中,vpname为所述VP的身份ID,所述AIK索引用于向所述CP表示向哪个TT申请度量,所述nonce3为所述TT发送的当前度量的随机数,所述nonceV为所述VP自身产生的随机数,所述应用范围度量请求用于表征所述VP向所述CP申请终端的度量文件范围。该度量文件指某一个应用自身的代码、配置文件、存储数据、临时文件、资源文件和访问的系统资源文件等,该范围是该应用环境的范围。
需要说明的是,该度量文件范围如果是CP、VP和TT三方之间已约定好的范围,则可以省略。
步骤S108,所述CP接收所述终端度量,并在预设度量许可列表中查询所述AIK索引,所述vpname和所述度量文件范围是否被许可;
在步骤S108中,当上述所述AIK索引,所述vpname和所述度量文件范围是被许可的,则执行步骤S109,若不被许可,则直接向所述VP返回错误描述。终止该次度量会话。
步骤S109,所述CP在许可的情况下,生成随机数nonceC,并依据所述nonceC、所述tokenCV和所述nonceV,基于带密钥的摘要算法HMAC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并向所述VP发送反馈信息及所述平台度量结果报告;
在步骤S109中,向所述BP发送的反馈信息的构成为:nonceC||accessticket||verifyticket||平台结果报告||HMAC(SKCV,nonce3||平台结果报告)。
其中,nonceC为所述CP生成的随机数,accessticket为本次度量的许可票据,verifyticket为所述CP通过加密方式下发给所述VP的所述verifykey,平台结果报告是所述CP向所述VP提供的所述平台可信远程证明,包含平台可信等级和具体描述,该具体描述的含义由CP与VP协商设定,至少需要描述基础安全组件的可信状态,通过HMAC运算保证完整性和身份来源。
步骤S110,所述VP接收所述反馈信息,依据所述nonceC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并利用所述SKCV和所述nonce3进行HMAC计算,验证所述平台结果报告是否完整;
在步骤S110中,平台结果报告是在HMAC计算的消息内容上的,所以持有HMAC密钥SKCV的VP即可验证HAMC消息的完整性,即该平台结果报告的完整性。在该平台结果报告中包含了CP对TT基础平台可信性的结果,如可信,或不可信。分析该平台结果报告即可知道终端平台的可信性。
步骤S111,所述VP在验证所述平台结果报告完整的情况下,分析所述平台度量结果报告中包含所述VP认可的所述TT的终端应用环境信息时,向所述TT推送高安全业务。
本发明实施例采用对称加密机制,在TT与CP的可信以及VP和CP的可信的共同作用下,使智能终端向推送高安全业务平台前端的第三方验证子系统远程证明智能终端的设备的身份以及终端平台和终端应用环境的可信性,由CP进行主导且基于对称加密机制,使用户信息的保护更加完善,高安全业务接入更加便捷,并实现在高安全业务接入时精确证明终端应用环境的目的。
实施例二
在上述本发明公开的实施例一的基础上,本发明实施例二在图1示出的在所述VP验证所述平台结果报告完整的情况之后,或者,当分析所述平台度量结果报告中未包含所述VP认可的所述TT的终端应用环境信息时,还增加了进一步进行终端应用环境度量的流程,如图2所示,主要包括以下步骤:
步骤S112,所述VP依据所述SKCV对所述反馈信息中的verifyticket进行解密,获取salt||verifykey;
在步骤S112中,所述salt为所述CP生成的随机数,用于帮助CP和TT同步生成verifykey,所述verifykey=HASH(salt||SKCT)。
verifykey是经hash(salt||SKCT)计算得到的,持有SKCT的TT和CP两方都是可以计算出来的。终端应用环境的度量值,TT会使用verifykey做HMAC运算再传输给VP做终端应用环境的可信性判断。
步骤S113,所述VP依据哈希HASH的PCR扩展操作计算所述度量文件范围的最终度量扩展值,所述度量文件范围被所述预设度量许可列表中所许可的度量文件范围内;
在步骤S113中,所述VP根据所述verifykey根据基于HMAC的PCR扩展操作计算所述度量文件范围的最终度量扩展值具体过程进行说明:对终端应用环境的度量算法,在TT中的度量代理采用并行机制度量应用环境时,输入度量代理的值为:度量文件的hash值记为m1,m2,...mi...mn,n>i>0,且n为整数;生成度量密钥verifykey所需的salt;加载到安全硬件使用的对称密钥SKCT的keyhandle索引;
基于上述输入度量代理的值,计算步骤为:
第一步,对当前寄存器中的度量扩展PCR值执行清零操作。此时PCR初始为0,hash值mi中i=1时,执行第二步;
第二步,安全硬件内部计算出度量密钥verifykey,度量密钥根据度量代理输入的salt和加载到安全硬件使用的对称密钥SKCT的keyhandle索引,计算verifykey=hash(salt||SKCT);
第三步,度量代理对度量文件计算hash值或者从SML中获取hash值;
第四步,度量代理请求安全硬件对度量文件列表依次执行基于HMAC的PCR扩展操作;
在第四步中,所述对度量文件列表依次执行基于HMAC的PCR扩展操作,包括:
首先,获取当前寄存器上存储的PCR值,记为old value,依据new value=(m′+oldvalue)mod(2N-1)计算,得到new value,其中,利用所述度量代理对度量文件的hash值mi计算中间值m′=HMAC(verifykey,mi),N为度量文件的hash值的输出长度;
然后,将得到的所述new value作为PCR值记入所述寄存器中;
之后,返回执行获取当前寄存器上存储的PCR值这一步骤,直至结束所述度量文件列表执行基于HMAC的PCR扩展操作,获取最终PCR扩展后得到的PCR值记为最终度量扩展值。
第五步,安全硬件对度量文件列表依次执行基于HMAC的PCR扩展操作,获取最终PCR扩展操作后得到的PCR值记为最终度量扩展值。
通过上述计算过程可输出保存在安全硬件上的PCR值。
步骤S114,向所述TT发送所述反馈信息中包含的本次度量的许可票据其中,nonce3为所述TT发送的当前度量的随机数,当所述度量文件范围为设定的隐私内容,则所述度量文件范围进行加密;
在步骤S114中,本次度量的许可票据的构成为:
其中,nonce3为所述TT发送的当前度量的随机数,当所述度量文件范围为设定的隐私内容,则所述度量文件范围进行加密;
accessticket中的度量文件范围为CP,VP和TT三方约定的范围,则(度量文件范围)部分为空,当所述度量文件范围为设定的隐私内容,则所述(度量文件范围)进行加密,否则加密为可选项。
描述信息为有助于TT理解解析accessticket,是一些辅助信息,可以反馈也可以不反馈。
步骤S115,所述TT利用加载于安全硬件的SKCT验证accessticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表;
在步骤S115中,由安全硬件验证并返回验证通过或不通过两种情况。安全硬件内部使用HMAC运算accessticket的度量文件范围、salt和nonce3,并比较获取到的运算摘要值,若相同,则返回验证通过;若不同,则返回验证不通过。
TT上层通过调用安全硬件接口获得结果,若通过,则使用SKCT解密出度量文件范围,将解密出的度量文件范围中的度量文件按照度量文件列表形式进行排列,由CP主导TT理解对应规则。nonce3和salt均为安全硬件验证中的一部分,验证nonce3和salt具有提高安全性和防止攻击的用途。
步骤S116,所述TT基于所述度量文件的哈希hash值和所述salt对所述度量文件列表中的度量文件执行PCR扩展操作,获取对应的最终度量扩展值,并将所述最终度量扩展值发送至所述VP,其中,所述hash值通过存储度量日志SML获取,或经由对所述度量文件进行哈希hash计算获得;
步骤S117,所述VP将所述度量扩展值与预设度量值进行比对,或与存储的最终度量扩展值进行比对;
在步骤S117中,进行PCR扩展操作的方式与上述步骤S113中给出的度量算法相同,最终度量扩展值是扩展的最终结果,也就是说最终度量扩展值是多次度量扩展的结果。
需要说明的是,真正的PCR扩展运算是在安全硬件中进行,所述TT中的度量代理只是调用接口实现PCR扩展操作。
整体上说,度量代理在验证票据accessticket合法的情况下开始度量扩展操作(度量整个VP的应用环境状态),完成后发送完成响应给APP,其PCR值保存在安全硬件中。VP的应用则通过接口获得该PCR值(度量扩展值),发送给VP验证。
在步骤S117中,VP因为有verifykey可提前计算出当前终端的可信状态下的PCR值与TT发送的PCR值(即度量扩展值)进行对比。
步骤S118,所述VP在比对结果为一致的情况下,确定所述TT的终端应用环境被认可,向所述TT推送高安全业务。
本发明实施例通过采用对称加密机制,在TT与CP的可信以及VP和CP的可信的共同作用下,由CP进行主导且基于对称加密机制,使用户信息的保护更加完善,高安全业务接入更加便捷,并实现在高安全业务接入时精确证明终端应用环境的目的。进一步的,基于验证accessticket的度量文件范围、salt和nonce3提高安全性和防止攻击,以及通过执行PCR扩展操作获取经过多次扩展运算后的最终度量扩展值,作为终端应用环境状态是否可信的判断,增加了对终端应用环境状态可信度判断的精确度。
实施例三
在上述本发明公开的实施例一和实施例二的基础上,本发明实施例三对图1中示出的步骤S103,所述CP在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用所述SKCT对所述nonce2进行加密之后生成的反馈至所述TT,其具体执行过程如图3所示:
步骤S301,所述CP接收携带有所述SKCT和nonce2的度量报告,并利用所述CP的平台私钥进行解密,获取所述SKCT;
步骤S302,所述CP利用解密获取到的所述SKCT对所述度量报告进行再次解密,获取所述度量报告中的存储度量日志SML;
步骤S303,所述CP获取所述度量报告中的AIK证书,使用预先获取到的CA根证书对所述AIK证书进行签名验证,在验证通过后,确认所述AIK证书有效并提取所述AIK证书中的公钥;
步骤S304,所述CP根据PCR扩展算法计算从所述SML中获取所述度量报告中的PCRs;
步骤S305,所述CP利用所述公钥解密所述AIK的签名值,获取对应的解密签名值,将所述PCRs的签名值及与所述PCRs一起被AIK签名的所述挑战nonce1与所述解密签名值进行比对,当比对结果为一致时,确认所述PCRs验证通过;
步骤S306,所述CP在验证通过的所述PCRs的情况下,根据所述存储度量日志SML判断所述TT中不存在非预期的运行结果时,确认所述度量报告通过验证;
步骤S307,所述CP生成相应的平台度量结果报告与所述SKCT一起保存;
步骤S308,所述CP利用所述SKCT对所述nonce2进行加密之后生成的反馈至所述TT。
在上述本发明公开的实施例一和实施例二的基础上,本发明实施例三对图1中示出的步骤S104,所述TT对获取到的所述进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,并向所述CP发送同步确认信息,其具体执行过程如图4所示:
步骤S401,所述TT依据所述TT与所述CP之间的共享对称密钥SKCT对所述进行解密,获取当前的nonce2;
步骤S402,所述TT比对解密获取的所述当前的nonce2与所述TT生成度量报告时产生的nonce2,当比对结果是一致时,确认通过所述TT的安全硬件验证;
步骤S403,所述TT在安全硬件验证通过的情况下,对存储的SKCT进行更新,使所述CP与所述TT中的SKCT同步;
步骤S404,所述TT向所述CP发送同步确认消息。
在上述本发明公开的实施例一和实施例二的基础上,本发明实施例三对图2中示出的步骤S115,所述TT利用加载于安全硬件的SKCT验证accessticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表,其具体执行过程如图5所示:
步骤S501,所述TT中的应用软件APP请求加载对称密钥SKCT的加密密钥结构至所述TT的安全硬件中,并由所述TT的安全硬件向所述VP反馈对应所述SKCT的keyhandle索引;
步骤S502,所述应用软件APP将接收并许可的所述accessticket,以及所述keyhandle索引传递给所述TT中的度量代理;
步骤S503,所述度量代理请求所述安全硬件验证所述accessticket中的度量文件范围、salt和nonce3的完整性;
步骤S504,所述安全硬件利用HMAC算法计算所述度量文件范围、salt和nonce3,并将计算获取到的运算摘要值与预设的运算摘要值进行比较;
步骤S505,所述安全硬件在比较结果相同的情况下,确认所述accessticket通过验证并进行解密,获取所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表。
本发明采用对称加密机制,在TT与CP的可信以及VP和CP的可信的共同作用下,使智能终端向推送高安全业务平台前端的第三方验证子系统远程证明智能终端的设备的身份以及终端平台和终端应用环境的可信性,由CP进行主导且基于对称加密机制,使用户信息的保护更加完善,高安全业务接入更加便捷,并实现在高安全业务接入时精确证明终端应用环境的目的。
实施例四
基于上述本发明公开的实施例一、实施例二和实施例三的基础上,智能终端TT所涉及的终端处理流程主要包括:CP与TT之间的交互,VP与TT之间的交互,下面结合上述本发明公开的实施例一、实施例二和实施例三中公开的一种智能终端的远程证明方法,进行流程说明,所涉及到的具体原理可参见上述实施例一至实施例三中相应的部分。
TT与CP通信的终端流程如图6所示,主要为以下步骤:
1、TT应用层A请求创建可迁移对称密钥SKCT,SKCT与当前平台基础组件状态PCRs绑定,安全硬件B返回父密钥加密的密钥结构。
需要说明的是,只有当当前PCRs(所述TT中的度量代理C提供的)与创建时状态一致,该密钥结构才可以加载到安全硬件B从而使用密钥功能。于此同时,请求密钥迁移,安全硬件B根据CP平台公钥返回可迁移到CP平台的密钥结构体。
2、TT的应用层A请求PCR引证操作,安全硬件B使用AIK私钥签名返回SignAIK(PCRs||nonce1)。
3、应用层11加载加密的SKCT密钥结构,通过返回的keyhandle索引使用所述SKCT,使用所述SKCT做为对称加密SML的密钥,通过所述安全硬件B加密生成加密的数据。所述应用层A生成nonce2并把发送给CP验证。
4、应用层A在解析CP返回的信息后,把nonce2和给安全硬件B验证,并返回验证结果。若验证通过,则应用层更新存储该SKCT的加密结构。
在上述执行1~4的过程中,所涉及到的所述TT的安全硬件可看做一个黑盒子,SKCT是安全硬件创建的,存储在安全硬件存储器内部,安全硬件外部只能使用安全硬件定义的功能,如密钥迁移、加密解密和验证hmac。
为了区分各个密钥和使用各个密钥的功能,使用名为keyhandle的索引对应于某一个具体使用的密钥,如此,安全硬件可根据keyhanel索引确认使用哪个密钥对应的功能。
由于,安全硬件内部的存储容量有限,所以部分创建的密钥不是常驻在安全硬件内部的,而是加密存储在外部的,有需要的时候才加载到安全硬件内部。对于加载到安全硬件内部的密钥,安全硬件都会返回keyhandle用于告之已加载到安全硬件,可使用其定义和规定的功能。
父密钥是加密存储在安全硬件外部的密钥的密钥(父密钥为加密密钥,存储在外部的密钥为被加密对象)。父密钥加密的密钥结构(可安全保存在安全硬件外部)主要包括密钥的允许的功能,授权数据,被加密密钥的公钥和被父密钥公钥加密的(被加密密钥的)私钥。
在下次使用的时候加载该密钥结构,安全硬件通过授权数据(口令认证身份用途)和父密钥的私钥解密出被加密的密钥私钥并使用密钥功能运算。
密钥结构Keyblob只有持有CP平台私钥的实体方可解密出SKct,而父密钥加密的密钥结构则只有持有父密钥私钥的安全硬件才可以解密出SKct。这两个密钥结构分别对应TT应用层可使用SKct的功能和把SKct安全转移到CP平台的作用。
TT与VP通信的终端流程如图7所示,主要为以下步骤:
1、VP对应的TT应用软件APP请求加载SKCT的加密密钥结构到安全硬件B中,返回keyhandle索引。
2、TT应用软件APP把许可即访问票据accessticket传递给度量代理C,同时把keyhandle传给度量代理C以使用SKCT验证票据。
3、度量代理请求安全硬件B验证accessticket。
验证包括(度量文件范围)、salt和nonce3值完整性的验证。验证成功后要求安全硬件B解密度量文件范围,度量代理理解范围,若是范围是约定的,则验证通过后accessticket直接生成度量文件列表,之后进行步骤4。否则返回应用软件APP没有许可应答,结束本次验证。
4、度量代理C对专属应用层的某个PCR寄存器执行清零reset操作。
5、度量代理C根据度量文件列表开始度量,执行PCR扩展操作,文件的hash值可来源于SML或者再次对度量文件进行hash计算。度量代理C输入salt和文件的hash值通过安全硬件进行PCR扩展操作。
6、扩展操作完毕后发送响应码给VP应用,用以提示度量结束。
7、应用软件APP请求获取专属应用层的该PCR值,发送给VP前端验证应用环境完整性。
本发明实施例通过采用对称加密机制,在TT与CP的可信以及VP和CP的可信的共同作用下,由CP进行主导且基于对称加密机制,使用户信息的保护更加完善,高安全业务接入更加便捷,并实现在高安全业务接入时精确证明终端应用环境的目的。进一步的,基于验证accessticket的度量文件范围、salt和nonce3提高安全性和防止攻击,以及通过执行PCR扩展操作获取经过多次扩展运算后的度量值,作为终端应用环境状态是否可信的判断,增加了对终端应用环境状态可信度判断的精确度。
实施例五
上述本发明公开的实施例中详细描述了一种智能终端远程证明方法,对于本发明的方法可采用多种形式的系统实现,因此本发明还公开了一种智能终端远程系统,该系统应用上述本发明实施例公开的智能终端远程证明方法,系统中所涉及到的原理或者处理过程可参见上述方法实施例,下面给出具体的实施例进行详细说明。
如图8示出的一种智能终端远程证明系统的结构示意图,包括:TT,CP和VP。
所述TT中包括响应单元1,第一解密单元2和第一反馈单元3;所述CP中包括第一请求单元4,生成单元5和查询生成单元6;所述VP中包括发起第二请求单元7,申请单元8,验证单元9和第一推送单元10,所述VP预先向所处CP申请到令牌tokenCV。
第一请求单元4,用于向所述TT中的响应单元1发送平台度量请求;
响应单元1,用于响应并依据所述平台度量请求创建可迁移对称密钥SKCT,并通过完整性度量值PCR引证操作向所述CP中的生成单元5发送携带有所述SKCT的度量报告;
生成单元5,用于在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用对称加密算法对所述平台度量结果报告进行加密之后生成的反馈至所述TT中的第一解密单元2;
第一解密单元2,用于对获取到的所述进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,并向所述CP发送同步确认信息;
第二请求单元7,用于向所述TT中的第一反馈单元3发起度量请求;
第一反馈单元3,用于依据所述度量请求向所述VP中的申请单元8反馈所述TT的设备AIK索引和当前度量的随机数nonce3;
申请单元8,用于向CP中的查询生成单元6申请对应所述TT的终端度量,所述终端度量的构成包括vpname||AIK索引||nonce3||nonceV||应用范围度量请求,其中,vpname为所述VP的身份ID,所述AIK索引用于向所述CP表示向那个TT申请度量,所述nonce3为所述TT发送的当前度量的随机数,所述nonceV为所述VP自身产生的随机数,所述应用范围度量请求用于表征所述VP向所述CP申请终端的度量文件范围;
查询生成单元6,用于接收所述申请单元8发送的所述终端度量,并在预设度量许可列表中查询所述AIK索引,在所述vpname和所述度量文件范围被许可的情况下,生成随机数nonceC,并依据所述nonceC、所述tokenCV和所述nonceV,基于带密钥的摘要算法HMAC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并向VP中的验证单元9发送反馈信息nonceC||accessticket||verifyticket||平台结果报告||HMAC(SKCV,nonce3||平台结果报告)及所述平台度量结果报告;
其中,nonceC为所述CP生成的随机数,accessticket为本次度量的许可票据,verifyticket为所述CP通过加密方式下发给所述VP的所述verifykey,平台结果报告是所述CP向所述VP提供的所述平台可信远程证明;
验证单元9,用于接收所述反馈信息,依据所述nonceC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并利用所述SKCV和所述nonce3进行HMAC计算,验证所述平台可信远程证明是否完整;
第一推送单元10,用于在所述平台可信远程证明完整的情况下,当验证所述平台度量结果报告完整且分析所述平台度量结果报告中包含所述VP认可的所述TT的终端应用环境信息时,向所述TT推送高安全业务。
所述VP还包括:
第二解密单元,用于在所述VP验证所述平台可信远程证明完整的情况之后,或者,当分析所述平台可信远程证明中未包含所述VP认可的所述TT的终端应用环境信息时,依据所述SKCV对所述反馈信息中的verifyticket进行解密,获取saltverifykey,其中,所述salt为所述CP生成的随机数,用于帮助CP和TT同步生成verifykey,所述verifykey=HASH(salt||SKCT);
度量值计算单元,用于根据所述verifyticket计算所述度量文件范围的最终度量扩展值并存储,所述度量文件范围被所述预设度量许可列表中所许可的度量文件范围内;
第二反馈单元,用于向所述TT发送反馈信息中的本次度量的许可票据其中,nonce3为所述TT发送的当前度量的随机数,当所述度量文件范围为设定的隐私内容,则所述(度量范围)进行加密;
第三解密单元,用于利用加载于安全硬件的SKCT验证accessticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表;
度量扩展单元,用于所述TT基于所述度量文件的哈希hash值和所述salt对所述度量文件列表中的度量文件执行PCR扩展操作,获取对应的最终度量扩展值,并将所述最终度量扩展值发送至所述VP,其中,所述hash值通过存储度量日志SML获取,或经由对所述度量文件进行哈希hash计算获得;
比对单元,用于将所述度量扩展值与预设度量值进行比对,或与存储的最终度量扩张值进行比对;
第二推送单元,用于在比对结果为一致的情况下,确定所述TT的终端应用环境被认可,向所述TT推送高安全业务。
上述所述度量值计算单元包括:
清零模块,用于对当前寄存器中的度量扩展PCR值执行清零操作;
安全硬件计算模块,用于在安全硬件内部计算出度量密钥verifykey,度量密钥根据度量代理输入的salt和加载到安全硬件使用的对称密钥SKCT的keyhandle索引,计算verifykey=hash(salt||SKCT);以及对度量文件列表依次执行基于HMAC的PCR扩展操作,获取最终PCR扩展操作后得到的PCR值记为最终度量扩展值;
度量代理模块,用于对度量文件计算hash值或者从SML中获取hash值,以及请求安全硬件计算模块对度量文件列表依次执行基于HMAC的PCR扩展操作。
针对上述图8示出的生成单元5,具体包括:
一次解密模块,用于接收携带有所述SKCT和nonce2的度量报告,并利用所述CP的平台私钥进行解密,获取所述SKCT;
二次解密模块,用于一次解密获取到的所述SKCT对所述度量报告进行再次解密,获取所述度量报告中的存储度量日志SML;
证书验证模块,用于获取所述度量报告中的AIK证书,并使用预先获取到的CA根证书对所述AIK证书进行签名验证,在验证通过后,确认所述AIK证书有效并提取所述AIK证书中的公钥;;
PCR扩展模块,用于根据PCR扩展算法计算从所述SML中获取所述度量报告中的PCRs;
第一验证模块,用于利用所述公钥解密所述AIK的签名值,获取对应的解密签名值,将所述PCRs的签名值及与所述PCRs一起被AIK签名的所述挑战nonce1与所述解密签名值进行比对,当比对结果为一致时,确认所述PCRs验证通过;
第二验证模块,用于在验证通过的所述PCRs的情况下,根据所述存储度量日志SML判断所述TT中不存在非预期的运行结果时,确认所述度量报告通过验证,并生成相应的平台度量结果报告与所述SKCT一起保存;
加密模块,用于利用对称加密算法对所述平台度量结果报告进行加密之后生成的反馈至所述TT。
针对上述图8示出的第一解密单元2,具体包括:
第一解密模块,用于依据所述TT与所述CP之间的共享对称密钥SKCT对所述进行解密,获取当前的nonce2;
比对模块,用于比对解密获取的所述当前的nonce2与所述TT生成度量报告时产生的nonce2,当比对结果是一致时,确认通过所述TT的安全硬件验证;
更新模块,用于在安全硬件验证通过的情况下,对存储的SKCT进行更新,使所述CP与所述TT中的SKCT同步;
发送模块,用于向所述CP发送同步确认消息。
针对上述图8示出的一种智能终端远程证明系统,其中,所述TT还包括:
应用软件APP单元,用于将接收并许可的所述accessticket,以及所述keyhandle索引传递给所述TT中的度量代理单元;
度量代理单元,用于请求所述安全硬件验证所述accessticket中的度量文件范围、salt和nonce3的完整性;
安全硬件单元,用于利用HMAC算法计算所述度量文件范围、salt和nonce3,并将计算获取到的运算摘要值与预设的运算摘要值进行比较,在比较结果相同的情况下,确认所述accessticket通过验证并进行解密,获取所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表。
上述各个模块执行的具体过程以及所基于的原理与上述本发明实施例一至实施例四中公开的智能终端远程证明方法一致,可参照,这里不再进行赘述。
如图9为本发明实施例基于上述实施例一至实施例四中公开的方法,及实施例五中公开的系统示出的系统架构示意图。其中,包括:平台控制字系统CP,多个第三方验证子系统VP,智能终端TT,以及用于平台控制字系统CP与智能终端TT之间进行信息交互的专有网络S或互联网W,以及用于智能终端TT与第三方验证子系统VP之间,平台控制字系统CP与第三方验证子系统VP之间进行信息交互的互联网W。
综上所述:
本发明采用对称加密机制,由CP进行主导,使用户信息的保护更加完善,高安全业务接入更加便捷,并实现在高安全业务接入时精确证明终端应用环境的目的。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种智能终端远程证明方法,其特征在于,应用于智能终端远程证明系统,所述智能终端远程证明系统包括:智能终端TT,平台控制子系统CP和第三方验证子系统VP;该方法包括:
所述CP向所述TT发送平台度量请求;
所述TT响应并依据所述平台度量请求创建可迁移对称密钥SKCT,并通过完整性度量值PCR引证操作向所述CP发送携带有所述SKCT和nonce2的度量报告,nonce2用于确认迁移的所述SKCT是否成功;
所述CP在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用所述SKCT对所述nonce2进行加密之后生成的(nonce2)反馈至所述TT;
所述TT对获取到的所述(nonce2)进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,并向所述CP发送同步确认信息;
从所述CP处申请到令牌tokenCV的所述VP向所述TT发起度量请求;
所述TT依据所述度量请求向所述VP反馈所述TT的设备AIK索引和当前度量的随机数nonce3;
所述VP向所述CP申请对应所述TT的终端度量,所述终端度量的构成包括Vpname||AIK索引||nonce3||nonceV||应用范围度量请求,其中,vpname为所述VP的身份ID,所述AIK索引用于向所述CP表示向哪个TT申请度量,所述nonce3为所述TT发送的当前度量的随机数,所述nonceV为所述VP自身产生的随机数,所述应用范围度量请求用于表征所述VP向所述CP申请终端的度量文件范围;
所述CP接收所述终端度量,并在预设度量许可列表中查询所述AIK索引,所述vpname和所述度量文件范围是否被许可;
所述CP在许可的情况下,生成随机数nonceC,并依据所述nonceC、所述tokenCV和所述nonceV,基于带密钥的摘要算法HMAC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并向所述VP发送反馈信息nonceC||access ticket||verify ticket||平台结果报告||HMAC(SKCV,nonce3||平台结果报告),及所述平台度量结果报告;
其中,nonceC为所述CP生成的随机数,access ticket为本次度量的许可票据,verifyticket为所述CP通过加密方式下发给所述VP的verify key,平台结果报告是所述CP向所述VP提供的所述平台可信远程证明;
所述VP接收所述反馈信息,依据所述nonceC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并利用所述SKCV和所述nonce3进行HMAC计算,验证所述平台结果报告是否完整;
所述VP在所述平台结果报告完整的情况下,分析所述平台度量结果报告中包含所述VP认可的所述TT的终端应用环境信息时,向所述TT推送高安全业务。
2.根据权利要求1所述的方法,其特征在于,在执行所述方法之前,包括:所述VP向所述CP发送申请注册的信息,并获取申请到的令牌tokenCV。
3.根据权利要求1所述的方法,其特征在于,在所述VP验证所述平台结果报告完整的情况之后,或者,当分析所述平台度量结果报告中未包含所述VP认可的所述TT的终端应用环境信息时,还包括:
所述VP依据所述SKCV对所述反馈信息中的verify ticket进行解密,获取salt||verifykey,其中,所述salt为所述CP生成的随机数,用于帮助CP和TT同步生成verify key,所述verify key=HASH(salt||SKCT);
所述VP根据所述verify key根据基于HMAC的PCR扩展操作计算所述度量文件范围的最终度量扩展值,所述度量文件范围被所述预设度量许可列表中所许可的度量文件范围内;
所述VP向所述TT发送所述反馈信息中包含的本次度量的许可票据其中,nonce3为所述TT发送的当前度量的随机数,当所述度量文件范围为设定的隐私内容,则所述度量文件范围进行加密;
所述TT利用加载于安全硬件的SKCT验证access ticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表;
所述TT基于所述度量文件的哈希hash值和所述salt对所述度量文件列表中的度量文件执行基于HMAC的PCR扩展操作,获取对应的最终度量扩展值,并将所述最终度量扩展值发送至所述VP,其中,所述hash值通过存储度量日志SML获取,或经由对所述度量文件进行哈希hash计算获得;
所述VP将所述度量扩展值与预设度量值进行比对,或与存储的最终度量扩展值进行比对;
所述VP在比对结果为一致的情况下,确定所述TT的终端应用环境被认可,向所述TT推送高安全业务。
4.根据权利要求3所述的方法,其特征在于,所述VP根据所述verify key根据基于HMAC的PCR扩展操作计算所述度量文件范围的最终度量扩展值,包括:
对当前寄存器中的度量扩展PCR值执行清零操作;
安全硬件内部计算出度量密钥verify key,度量密钥根据度量代理输入的salt和加载到安全硬件使用的对称密钥SKCT的keyhandle索引,计算verify key=hash(salt||SKCT);
度量代理对度量文件计算hash值或者从SML中获取hash值;
度量代理请求安全硬件对度量文件列表依次执行基于HMAC的PCR扩展操作;
安全硬件对度量文件列表依次执行基于HMAC的PCR扩展操作,获取最终PCR扩展操作后得到的PCR值记为最终度量扩展值;
其中,所述对度量文件列表依次执行基于HMAC的PCR扩展操作,包括:
获取当前寄存器上存储的PCR值,记为old value,依据new value=(m′+old value)mod(2N-1)计算,得到new value,其中,利用所述度量代理对度量文件的hash值mi计算中间值m′=HMAC(verify key,mi),N为度量文件的hash值的输出长度;
将得到的所述new value作为PCR值记入所述寄存器中;
返回执行获取当前寄存器上存储的PCR值这一步骤,直至结束所述度量文件列表执行基于HMAC的PCR扩展操作,获取最终PCR扩展后得到的PCR值记为最终度量扩展值。
5.根据权利要求3所述的方法,其特征在于,所述TT利用加载于安全硬件的SKCT验证accessticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表,包括:
所述TT中的应用软件APP请求加载对称密钥SKCT的加密密钥结构至所述TT的安全硬件中,并由所述TT的安全硬件向所述应用软件APP反馈对应所述SKCT的keyhandle索引;
所述应用软件APP将接收并许可的所述access ticket,以及所述keyhandle索引传递给所述TT中的度量代理;
所述度量代理请求所述安全硬件验证所述access ticket中的度量文件范围、salt和nonce3的完整性;
所述安全硬件利用HMAC算法计算所述度量文件范围、salt和nonce3,并将计算获取到的运算摘要值与预设的运算摘要值进行比较;
所述安全硬件在比较结果相同的情况下,确认所述access ticket通过验证并进行解密,获取所述度量文件范围,并传递给度量代理,所述度量代理将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表。
6.根据权利要求1~5中任意一项所述的方法,其特征在于,所述平台度量请求中包括:挑战nonce1;
所述携带有所述SKCT和nonce2的度量报告的构成包括:
其中,nonce2用于确认迁移的密钥SKCT是否成功,由所述TT产生;
AIK和AIK证书代表设备身份,为所述TT的安全硬件的身份证言密钥和公钥证书;
SML为存储度量日志,包含度量文件的摘要值;
PCRs为安全硬件上的PCR寄存器值,表征当前所述TT平台的运行状态结果,与所述挑战nonce1一起被AIK签名;
SKCT为所述TT依据所述平台度量请求在所述TT的安全硬件上创建的一段可迁移的对称密钥,所述SKCT与所述PCRs绑定,以的形式迁出至所述CP,Keyblob为所述CP的公匙加密;
||为串联操作。
7.根据权利要求6所述的方法,其特征在于,所述CP在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用所述SKCT对所述nonce2进行加密之后生成的(nonce2)反馈至所述TT,包括:
所述CP接收携带有所述SKCT和nonce2的度量报告,并利用所述CP的平台私钥进行解密,获取所述SKCT;
所述CP利用解密获取到的所述SKCT对所述度量报告进行再次解密,获取所述度量报告中的存储度量日志SML;
所述CP获取所述度量报告中的AIK证书,使用预先获取到的CA根证书对所述AIK证书进行签名验证,在验证通过后,确认所述AIK证书有效并提取所述AIK证书中的公钥;
所述CP根据PCR扩展算法计算从所述SML中获取所述度量报告中的PCRs;
所述CP利用所述公钥解密所述AIK的签名值,获取对应的解密签名值,将所述PCRs的签名值及与所述PCRs一起被AIK签名的所述挑战nonce1与所述解密签名值进行比对,当比对结果为一致时,确认所述PCRs验证通过;
所述CP在验证通过的所述PCRs的情况下,根据所述存储度量日志SML判断所述TT中不存在非预期的运行结果时,确认所述度量报告通过验证;
所述CP生成相应的平台度量结果报告与所述SKCT一起保存;
所述CP利用所述SKCT对所述nonce2进行加密之后生成的(nonce2)反馈至所述TT。
8.根据权利要求1~5中任意一项所述方法,其特征在于,所述TT对获取到的所述(nonce2)进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,并向所述CP发送同步确认信息,包括:
所述TT依据所述TT与所述CP之间的共享对称密钥SKCT对所述(nonce2)进行解密,获取当前的nonce2;
所述TT比对解密获取的所述当前的nonce2与所述TT生成度量报告时产生的nonce2,当比对结果是一致时,确认通过所述TT的安全硬件验证;
所述TT在安全硬件验证通过的情况下,对存储的SKCT进行更新,使所述CP与所述TT中的SKCT同步;
所述TT向所述CP发送同步确认消息。
9.一种智能终端远程证明系统,其特征在于,包括响应单元,第一解密单元和第一反馈单元的智能终端TT,包括第一请求单元,生成单元和查询生成单元的平台控制子系统CP和包括发起第二请求单元,申请单元,验证单元和第一推送单元的第三方验证子系统VP,所述VP预先向所处CP申请到令牌tokenCV;
第一请求单元,用于向所述TT中的响应单元发送平台度量请求;
响应单元,用于响应并依据所述平台度量请求创建可迁移对称密钥SKCT,并通过完整性度量值PCR引证操作向所述CP中的生成单元发送携带有所述SKCT和nonce2的度量报告,所述nonce2用于确认迁移的所述SKCT是否成功;
生成单元,用于在验证通过所述度量报告的情况下,生成相应的平台度量结果报告与经所述CP的平台私钥解密的所述SKCT一起保存,并将利用所述SKCT对所述nonce2进行加密之后生成的(nonce2)反馈至所述TT中的第一验证单元;
第一验证单元,用于对获取到的所述(nonce2)进行安全硬件验证,在验证通过的情况下,更新所述SKCT并将所述SKCT加载到安全硬件中,并向所述CP发送同步确认信息;
第二请求单元,用于向所述TT中的第一反馈单元发起度量请求;
第一反馈单元,用于依据所述度量请求向所述VP中的申请单元反馈所述TT的设备AIK索引和当前度量的随机数nonce3;
申请单元,用于向所述CP中的查询生成单元申请对应所述TT的终端度量,所述终端度量的构成包括vpname||AIK索引||nonce3||nonceV||应用范围度量请求,其中,vpname为所述VP的身份ID,所述AIK索引用于向所述CP表示向那个TT申请度量,所述nonce3为所述TT发送的当前度量的随机数,所述nonceV为所述VP自身产生的随机数,所述应用范围度量请求用于表征所述VP向所述CP申请终端的度量文件范围;
查询生成单元,用于接收所述申请单元发送的所述终端度量,并在预设度量许可列表中查询所述AIK索引,在所述vpname和所述度量文件范围被许可的情况下,生成随机数nonceC,并依据所述nonceC、所述tokenCV和所述nonceV,基于带密钥的摘要算法HMAC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并向所述VP中的验证单元发送反馈信息nonceC||access ticket||verify ticket||平台结果报告||HMAC(SKCV,nonce3||平台结果报告)及所述平台度量结果报告;
其中,nonceC为所述CP生成的随机数,access ticket为本次度量的许可票据,verifyticket为所述CP通过加密方式下发给所述VP的verify key,平台结果报告是所述CP向所述VP提供的所述平台可信远程证明;
验证单元,用于接收所述反馈信息,依据所述nonceC计算临时会话密钥SKCV=HMAC(tokenCV,nonceC||nonceV),并利用所述SKCV和所述nonce3进行HMAC计算,验证所述平台结果报告是否完整;
第一推送单元,用于在所述平台结果报告完整的情况下,当验证所述平台度量结果报告完整且分析所述平台度量结果报告中包含所述VP认可的所述TT的终端应用环境信息时,向所述TT推送高安全业务。
10.根据权利要求9所述的系统,其特征在于,所述VP还包括:
第二解密单元,用于在所述VP验证所述平台结果报告完整的情况之后,或者,当分析所述平台度量结果报告中未包含所述VP认可的所述TT的终端应用环境信息时,依据所述SKCV对所述反馈信息中的verify ticket进行解密,获取salt||verifykey,其中,所述salt为所述CP生成的随机数,用于帮助CP和TT同步生成verify key,所述verify key=HASH(salt||SKCT);
度量值计算单元,用于根据所述verify ticket计算所述度量文件范围的最终度量扩展值,所述度量文件范围被所述预设度量许可列表中所许可的度量文件范围内;
第二反馈单元,用于向所述TT发送反馈信息中的本次度量的许可票据其中,nonce3为所述TT发送的当前度量的随机数,当所述度量文件范围为设定的隐私内容,则所述(度量文件范围)进行加密;
第三解密单元,用于利用加载于安全硬件的SKCT验证access ticket的度量文件范围、salt和nonce3,并解密出所述度量文件范围,将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表;
度量扩展单元,用于所述TT基于所述度量文件的哈希hash值和所述salt对所述度量文件列表中的度量文件执行PCR扩展操作,获取对应的最终度量扩展值,并将所述最终度量扩展值发送至所述VP,其中,所述hash值通过存储度量日志SML获取,或经由对所述度量文件进行哈希hash计算获得;
比对单元,用于将所述度量扩展值与预设度量值进行比对,或与存储的最终度量扩展值进行比对;
第二推送单元,用于在比对结果为一致的情况下,确定所述TT的终端应用环境被认可,向所述TT推送高安全业务。
11.根据权利要求10所述的系统,其特征在于,所述度量值计算单元包括:
清零模块,用于对当前寄存器中的度量扩展PCR值执行清零操作;
安全硬件计算模块,用于在安全硬件内部计算出度量密钥verify key,度量密钥根据度量代理输入的salt和加载到安全硬件使用的对称密钥SKCT的keyhandle索引,计算verifykey=hash(salt||SKCT);以及对度量文件列表依次执行基于HMAC的PCR扩展操作,获取最终PCR扩展操作后得到的PCR值记为最终度量扩展值;
度量代理模块,用于对度量文件计算hash值或者从SML中获取hash值,以及请求安全硬件计算模块对度量文件列表依次执行基于HMAC的PCR扩展操作。
12.根据权利要求11所述的系统,其特征在于,所述TT还包括:
应用软件APP单元,用于将接收并许可的所述access ticket,以及所述keyhandle索引传递给所述TT中的度量代理单元;
度量代理单元,用于请求所述安全硬件验证所述access ticket中的度量文件范围、salt和nonce3的完整性;
安全硬件单元,用于利用HMAC算法计算所述度量文件范围、salt和nonce3,并将计算获取到的运算摘要值与预设的运算摘要值进行比较,在比较结果相同的情况下,确认所述access ticket通过验证并进行解密,获取所述度量文件范围,并传递给度量代理,所述度量代理将所述度量文件范围中包含的度量文件按照列表方式进行排列,生成对应的度量文件列表。
13.根据权利要求9所述的系统,其特征在于,所述生成单元包括:
一次解密模块,用于接收携带有所述SKCT和nonce2的度量报告,并利用所述CP的平台私钥进行解密,获取所述SKCT;
二次解密模块,用于一次解密获取到的所述SKCT对所述度量报告进行再次解密,获取所述度量报告中的存储度量日志SML;
证书验证模块,用于获取所述度量报告中的AIK证书,使用预先获取到的CA根证书对所述AIK证书进行签名验证,在验证通过后,确认所述AIK证书有效并提取所述AIK证书中的公钥;
PCR扩展模块,用于根据PCR扩展算法计算从所述SML中获取所述度量报告中的PCRs;
第一验证模块,用于利用所述公钥解密所述AIK的签名值,获取对应的解密签名值,将所述PCRs的签名值及与所述PCRs一起被AIK签名的挑战nonce1与所述解密签名值进行比对,当比对结果为一致时,确认所述PCRs验证通过;
第二验证模块,用于在验证通过的所述PCRs的情况下,根据所述存储度量日志SML判断所述TT中不存在非预期的运行结果时,确认所述度量报告通过验证,并生成相应的平台度量结果报告与所述SKCT一起保存;
加密模块,用于利用所述SKCT对所述nonce2进行加密之后生成的(nonce2)反馈至所述TT。
14.根据权利要求9所述的系统,其特征在于,所述第一解密单元包括:
第一解密模块,用于依据所述TT与所述CP之间的共享对称密钥SKCT对所述(nonce2)进行解密,获取当前的nonce2;
比对模块,用于比对解密获取的所述当前的nonce2与所述TT生成度量报告时产生的nonce2,当比对结果是一致时,确认通过所述TT的安全硬件验证;
更新模块,用于在安全硬件验证通过的情况下,对存储的SKCT进行更新,使所述CP与所述TT中的SKCT同步;
发送模块,用于向所述CP发送同步确认消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310539008.0A CN103560887B (zh) | 2013-11-04 | 2013-11-04 | 智能终端远程证明方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310539008.0A CN103560887B (zh) | 2013-11-04 | 2013-11-04 | 智能终端远程证明方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103560887A CN103560887A (zh) | 2014-02-05 |
CN103560887B true CN103560887B (zh) | 2016-09-28 |
Family
ID=50015043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310539008.0A Active CN103560887B (zh) | 2013-11-04 | 2013-11-04 | 智能终端远程证明方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103560887B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973680B (zh) * | 2014-04-29 | 2016-01-13 | 神华集团有限责任公司 | 云计算平台完整性验证方法 |
CN109714168B (zh) | 2017-10-25 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 可信远程证明方法、装置和系统 |
CN109960940B (zh) * | 2019-02-18 | 2021-01-01 | 深圳供电局有限公司 | 一种基于日志的嵌入式设备控制流证明方法及系统 |
CN114884689A (zh) * | 2019-07-12 | 2022-08-09 | 华为技术有限公司 | 一种远程证明方法及装置 |
CN110635904B (zh) * | 2019-09-16 | 2020-07-31 | 绍兴文理学院 | 一种软件定义物联网节点远程证明方法及系统 |
CN112688782B (zh) * | 2019-10-17 | 2023-09-08 | 华为技术有限公司 | 一种组合式设备的远程证明方法及设备 |
CN111611623B (zh) * | 2020-07-03 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 一种隐私数据处理方法和装置 |
CN114710319B (zh) * | 2022-03-04 | 2024-04-12 | 可信计算科技(无锡)有限公司 | 一种基于可信计算的裁决判定方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011015007A1 (zh) * | 2009-08-03 | 2011-02-10 | 西安西电捷通无线网络通信有限公司 | 一种安全的远程证明方法 |
CN102685092A (zh) * | 2011-11-29 | 2012-09-19 | 河海大学 | 一种用于证明远程平台安全属性的远程证明方法 |
CN103179129A (zh) * | 2013-03-29 | 2013-06-26 | 华南理工大学 | 一种基于云计算IaaS环境的远程证明方法 |
CN103220300A (zh) * | 2012-12-05 | 2013-07-24 | 清华大学 | 一种支持动态远程证明的移动终端系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101124900B1 (ko) * | 2007-04-30 | 2012-04-12 | 인터디지탈 테크날러지 코포레이션 | 새로운 기능성을 갖춘 홈 (e)노드-B |
-
2013
- 2013-11-04 CN CN201310539008.0A patent/CN103560887B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011015007A1 (zh) * | 2009-08-03 | 2011-02-10 | 西安西电捷通无线网络通信有限公司 | 一种安全的远程证明方法 |
CN102685092A (zh) * | 2011-11-29 | 2012-09-19 | 河海大学 | 一种用于证明远程平台安全属性的远程证明方法 |
CN103220300A (zh) * | 2012-12-05 | 2013-07-24 | 清华大学 | 一种支持动态远程证明的移动终端系统 |
CN103179129A (zh) * | 2013-03-29 | 2013-06-26 | 华南理工大学 | 一种基于云计算IaaS环境的远程证明方法 |
Non-Patent Citations (1)
Title |
---|
《基于可信计算的移动智能终端安全技术研究》;方明伟;《中国优秀博士学位论文全文数据库·信息科技辑》;20130715(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103560887A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103560887B (zh) | 智能终端远程证明方法和系统 | |
WO2021179449A1 (zh) | 一种基于证书身份认证的拟态防御系统及证书签发方法 | |
EP2866166B1 (en) | Systems and methods for enforcing third party oversight data anonymization | |
WO2018112946A1 (zh) | 注册及授权方法、装置及系统 | |
US7526649B2 (en) | Session key exchange | |
TWI454111B (zh) | 用於確保通訊之鑑別及完備性的技術 | |
CN109409122A (zh) | 文件存储方法及其电子设备、存储介质 | |
US20210044428A1 (en) | Blockchain-based personal information management apparatus and method | |
Gürgens et al. | Security evaluation of scenarios based on the TCG’s TPM specification | |
CN111027086A (zh) | 一种私有数据保护方法和系统 | |
CN109472164A (zh) | 合同数据的验证方法及其网络和电子设备 | |
CN103634114B (zh) | 智能密码钥匙的验证方法及系统 | |
US10498712B2 (en) | Balancing public and personal security needs | |
US11212095B2 (en) | Allowing restricted external access to devices | |
CN106027503A (zh) | 一种基于tpm的云存储数据加密方法 | |
CN105871538A (zh) | 量子密钥分发系统、量子密钥分发方法及装置 | |
JP2013509805A (ja) | 一往復での鍵証明 | |
CN113014444B (zh) | 一种物联网设备生产测试系统及安全保护方法 | |
US11038676B2 (en) | Cryptographic systems and methods using distributed ledgers | |
CN109491965A (zh) | 购售电合同的存储方法及其网络和电子设备 | |
CN103916246A (zh) | 一种基于可信计算的考试防作弊方法及系统 | |
CN116490868A (zh) | 用于可信执行环境中的安全快速机器学习推理的系统和方法 | |
CN111651794A (zh) | 基于联盟链的电子数据管理方法、装置和存储介质 | |
US11398906B2 (en) | Confirming receipt of audit records for audited use of a cryptographic key | |
KR102559101B1 (ko) | 전력 계량 장치, 전력 계량 서버 및 블록 체인 기반의 전력 계량 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |