一种可信平台控制模块的授权协议制造技术

技术编号:14195085 阅读:93 留言:0更新日期:2016-12-15 15:04
本发明专利技术涉及一种可信平台控制模块的授权协议,方法包括:外部调用者设置标志ifCreateKey,并建立外部调用者与可信平台控制模块间AP会话;外部调用者调用AP会话并执行可信平台控制模块命令TPCM_Example,若ifCreateKey的属性值为FLASE,则利用授权数据authData对外部调用者与可信平台控制模块间的交互数据进行完整性验证,若ifCreateKey的属性值为TRUE,则将临时密钥sessionKey作为密钥对外部调用者与可信平台控制模块间的交互数据进行加解密和完整性验证;外部调用者执行TPCM_AP_TERMINATE命令,结束AP会话;本发明专利技术提供的方法可以满足三种不同的应用场景:对象无关、对象相关和授权数据植入,能保证数据传输过程中的完整性和机密性,并对外部实体进行访问控制,防止外部实体对TPCM内敏感数据的未授权访问和使用。

Authorization protocol for trusted platform control module

The invention relates to a trusted platform control module of the licensing agreement, methods include: external caller set the flag ifCreateKey, and set up the external caller with a trusted platform control module between the AP session; external caller invokes the AP session control module and execute the command TPCM_Example ifCreateKey trusted platform, if the property value is FLASE, using authData data on external authorization the caller with a trusted platform control module between the interactive data integrity verification, if the value of the ifCreateKey attribute is TRUE, it will be a temporary key sessionKey as the key to the external caller with a trusted platform control module between interactive data encryption and integrity verification; external callers execute TPCM_AP_TERMINATE commands, AP the end of the session; the present invention provides a method for to meet the three different scenarios: the object, the object is irrelevant Off and authorization data implantation, to ensure the integrity and confidentiality of the data transmission process, and access control of external entities, to prevent unauthorized access and use of external entities sensitive data within the TPCM.

【技术实现步骤摘要】

本专利技术涉及信息安全领域,具体涉及一种可信平台控制模块的授权协议
技术介绍
TPM是TCG国际可信计算联盟组织设计的一款可信计算芯片,其鉴权机制与我国TPCM机制相类似。为了实现资源的授权访问,TPM执行一系列精心设计的协议来抵御各种形式的攻击,即授权协议。授权协议的目的就是向TPM证明访问者有权限通过指定的函数访问这个对象。授权主要针对可能会影响安全、隐私或者会暴露平台秘密的TPM命令。验证的依据来自于一个共享的秘密——授权数据(AuthData)。共有三种授权协议能够安全的将授权数据从访问者传送到TPM,并验证其正确性。包括:对象无关授权协议OIAP(Object-Independent Authorization Protocol),对象相关授权协议OSAP(Object-Specific Authorization Protocol)和授权数据植入协议ADIP(Authorization Data Inplant Protocol)。共有三种授权数据管理协议用来创建或修改授权数据。TPM规范中包括三个授权数据管理协议:授权数据插入协议ADIP(AuthData Insertion Protocol),授权数据修改协议ADCP(AuthData Change Protocol)和非对称授权数据修改协议AACP(Asymmetric Authorization Change Protocol)。在这些授权协议中,OIAP和OSAP这两个协议用于建立会话环境,ADIP、这三个协议用于处理授权信息。这些协议在设计过程中充分考虑了可能受到的安全威胁,通过HMAC和非对称加密技术保证授权数据传递过程中的完整性和机密性、并通过”rolling nonce”滚动随机数机制,防止重放攻击和中间人攻击。我国的可信计算研究起步较早,国家也加大力度支撑可信计算的研究和发展。并制定和编写了一系列的可信计算技术规范和方案。其中在《可信计算平台密码方案》中,提出了AP授权协议框架。该标准所建立会话,是针对特定实体的。在会话建立过程中使用实体的authData、实体生成的nonce值、TPCM生成的nonce值,通过HMAC计算生成一个会话临时密钥sessionKey。使用sessionKey和SM4、SM3算法来进行加密和HMAC计算,以保证数据在实体和TPCM直接传递时的完整性和机密性。通过使用序列号递增机制来防止重放攻击和中间人攻击。在对TPCM中的敏感资源进行调用时,一般需要口令来做到访问控制,同时对输入和输出参数要能够确保未被篡改,此外对口令修改等敏感信息操作需要进行加密通信。因此在完成命令接口功能性的同时,需要利用AP协议满足以上安全要求。AP协议需要保证外部实体与TPCM之间的访问控制、数据的完整性、以及敏感信息的机密性。针对这几种需求,需要AP协议适应三种不同的应用场景:对象无关的应用:AP协议向任意实体提供多个会话,此时要求AP会话可以在不同实体之间复用。对象相关的应用:AP会话与实体相关,创建的会话只能在同一实体中使用。授权数据使用:执行授权数据的创建、修改的操作,要求AP协议在保证访问控制、数据完整性外,还需对数据进行加密保护。原始的AP协议框架与OSAP协议相似,是和实体相关的,每次创建会话时,都需要使用实体的授权数据来生成会话临时密钥,无法在不同实体之间进行复用。使得在面对OIAP协议的应用场景中其资源利用效率低,这对于资源稀缺的芯片来说是一个弊端。因此,有必要在保留AP协议的安全性同时,对AP协议进行扩展,以满足此种应用场景,兼顾芯片功能接口对于会话资源的利用效率。
技术实现思路
本专利技术提供一种可信平台控制模块的授权协议,其目的是使授权协议可以满足三种不同的应用场景:对象无关、对象相关和授权数据植入,能保证数据传输过程中的完整性和机密性,并对外部实体进行访问控制,防止外部实体对TPCM内敏感数据的未授权访问和使用。本专利技术的目的是采用下述技术方案实现的:一种可信平台控制模块的授权协议,其改进之处在于,包括:外部调用者设置标志ifCreateKey,向所述可信平台控制模块发送会话请求命令TPCM_AP_CREATE,建立所述外部调用者与所述可信平台控制模块间AP会话,其中,建立所述AP会话过程中,所述可信平台控制模块生成随机数seq,并将所述随机数seq与所述外部调用者共享,若ifCreateKey的属性值为FLASE,则所述可信平台控制模块不生成临时密钥sessionKey,若ifCreateKey的属性值为TRUE,则所述可信平台控制模块生成临时密钥sessionKey;所述外部调用者调用所述AP会话并执行可信平台控制模块命令TPCM_Example,若ifCreateKey的属性值为FLASE,则利用授权数据authData对所述外部调用者与所述可信平台控制模块间的交互数据进行完整性验证,若ifCreateKey的属性值为TRUE,则将所述临时密钥sessionKey作为密钥对所述外部调用者与所述可信平台控制模块间的交互数据进行加解密和完整性验证,其中,所述外部调用者与所述可信平台控制模块间每发送一次数据包,所述随机数seq自加1;所述外部调用者执行TPCM_AP_TERMINATE命令,结束所述AP会话,释放所述AP会话资源。优选的,所述建立所述外部调用者与所述可信平台控制模块间AP会话,包括:所述外部调用者根据授权数据会话句柄AuthDataHandle获取授权数据AuthData,并利用随机数生成器生成随机数callerNonce;所述外部调用者将标志ifCreateKey、会话请求命令TPCM_AP_CREATE、授权数据会话句柄AuthDataHandle、随机数callerNonce和校验值inMac发送至所述可信平台控制模块,其中,所述校验值inMac=HMAC(AuthData,TPCM_AP_CREATE||ifCreateKey||callerNonce|);所述可信平台控制模块重构校验值Mac=HMAC(AuthData,TPCM_AP_CREATE||ifCreateKey||callerNonce),若Mac=inMac,则所述可信平台控制模块接收的数据为完整数据;所述可信平台控制模块创建会话session,生成对应的会话句柄sessionHandle、随机数TPCMNonce和随机数seq,其中,seq=HASH(callerNonce||TPCMNonce);若ifCreateKey的属性值为FLASE,则所述可信平台控制模块不生成临时密钥sessionKey,若ifCreateKey的属性值为TRUE,则所述可信平台控制模块生成临时密钥sessionKey,其中,sessionKey=HMAC(AuthData,seq);所述可信平台控制模块生成校验值outMac=HMAC(AuthData,seq||TPCMNonce),并将会话句柄sessionHandle、随机数TPCMNonce、校验值outMac和随机数seq返回至所述外部调用者,保存会话句柄sessionHandle、随机数seq和临时密钥sessionKey;所述外部调用者重构校验值Ma本文档来自技高网
...
一种可信平台控制模块的授权协议

【技术保护点】
一种可信平台控制模块的授权协议,其特征在于,所述方法包括:外部调用者设置标志ifCreateKey,向所述可信平台控制模块发送会话请求命令TPCM_AP_CREATE,建立所述外部调用者与所述可信平台控制模块间AP会话,其中,建立所述AP会话过程中,所述可信平台控制模块生成随机数seq,并将所述随机数seq与所述外部调用者共享,若ifCreateKey的属性值为FLASE,则所述可信平台控制模块不生成临时密钥sessionKey,若ifCreateKey的属性值为TRUE,则所述可信平台控制模块生成临时密钥sessionKey;所述外部调用者调用所述AP会话并执行可信平台控制模块命令TPCM_Example,若ifCreateKey的属性值为FLASE,则利用授权数据authData对所述外部调用者与所述可信平台控制模块间的交互数据进行完整性验证,若ifCreateKey的属性值为TRUE,则将所述临时密钥sessionKey作为密钥对所述外部调用者与所述可信平台控制模块间的交互数据进行加解密和完整性验证,其中,所述外部调用者与所述可信平台控制模块间每发送一次数据包,所述随机数seq自加1;所述外部调用者执行TPCM_AP_TERMINATE命令,结束所述AP会话,释放所述AP会话资源。...

【技术特征摘要】
1.一种可信平台控制模块的授权协议,其特征在于,所述方法包括:外部调用者设置标志ifCreateKey,向所述可信平台控制模块发送会话请求命令TPCM_AP_CREATE,建立所述外部调用者与所述可信平台控制模块间AP会话,其中,建立所述AP会话过程中,所述可信平台控制模块生成随机数seq,并将所述随机数seq与所述外部调用者共享,若ifCreateKey的属性值为FLASE,则所述可信平台控制模块不生成临时密钥sessionKey,若ifCreateKey的属性值为TRUE,则所述可信平台控制模块生成临时密钥sessionKey;所述外部调用者调用所述AP会话并执行可信平台控制模块命令TPCM_Example,若ifCreateKey的属性值为FLASE,则利用授权数据authData对所述外部调用者与所述可信平台控制模块间的交互数据进行完整性验证,若ifCreateKey的属性值为TRUE,则将所述临时密钥sessionKey作为密钥对所述外部调用者与所述可信平台控制模块间的交互数据进行加解密和完整性验证,其中,所述外部调用者与所述可信平台控制模块间每发送一次数据包,所述随机数seq自加1;所述外部调用者执行TPCM_AP_TERMINATE命令,结束所述AP会话,释放所述AP会话资源。2.如权利要求1所述的方法,其特征在于,所述建立所述外部调用者与所述可信平台控制模块间AP会话,包括:所述外部调用者根据授权数据会话句柄AuthDataHandle获取授权数据AuthData,并利用随机数生成器生成随机数callerNonce;所述外部调用者将标志ifCreateKey、会话请求命令TPCM_AP_CREATE、授权数据会话句柄AuthDataHandle、随机数callerNonce和校验值inMac发送至所述可信平台控制模块,其中,所述校验值inMac=HMAC(AuthData,TPCM_AP_CREATE||ifCreateKey||callerNonce|);所述可信平台控制模块重构校验值Mac=HMAC(AuthData,TPCM_AP_CREATE||ifCreateKey||callerNonce),若Mac=inMac,则所述可信平台控制模块接收的数据为完整数据;所述可信平台控制模块创建会话session,生成对应的会话句柄sessionHandle、随机数TPCMNonce和随机数seq,其中,seq=HASH(callerNonce||TPCMNonce);若ifCreateKey的属性值为FLASE,则所述可信平台控制模块不生成临时密钥sessionKey,若ifCreateKey的属性值为TRUE,则所述可信平台控制模块生成临时密钥sessionKey,其中,sessionKey=HMAC(AuthData,seq);所述可信平台控制模块生成校验值outMac=HMAC(AuthData,seq||TPCMNonce),并将会话句柄sessionHandle、随机数TPCMNonce、校验值outMac和随机数seq返回至所述外部调用者,保存会话句柄sessionHandle、随机数seq和临时密钥sessionKey;所述外部调用者重构校验值Mac=HMAC(AuthData,seq||TPCMNonce),若Mac=outMac,则所述外部调用者接收的数据为完整数据;所述外部调用者生成临时密钥sessionKey=HMAC(AuthData,seq),并保存会话句柄sessionHandle、随机数seq和临时密钥sessionKey。3.如权利要求1所述的方法,其特征在于,所述外部调用者调用所述AP会话并执行可信平台控制模块命令TPCM_Example,若ifCreateKey的属性值为FLASE,则利用授权数据authData对所述外部调用者与所述可信平台控制模块间的交互数据进行完整性验证,若ifCreateKey的属性值为TRUE,则将所述临时密钥sessionKey作为密钥对所述外部调用者与所述可信平台控制模块间的交互数据进行加解密和完整性验证,包括:若ifCreateKey的属性值为TRUE,则所述外部调用者将临时密钥sessionKey作为密钥,利用对称分组密码算法对输入数据comData进行加密,输入加密数据encComData=Enc(sessionKey,comData),并生成校验值inMac=HMAC(sessionKey,seq||encComData);...

【专利技术属性】
技术研发人员:孙瑜孙悦李万兴姜殊佳姜林剑
申请(专利权)人:北京可信华泰信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1