CN106953733A - 一种平台软件完整性证明方法和装置 - Google Patents

一种平台软件完整性证明方法和装置 Download PDF

Info

Publication number
CN106953733A
CN106953733A CN201710325767.5A CN201710325767A CN106953733A CN 106953733 A CN106953733 A CN 106953733A CN 201710325767 A CN201710325767 A CN 201710325767A CN 106953733 A CN106953733 A CN 106953733A
Authority
CN
China
Prior art keywords
key
measurement
trust
request
information
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
CN201710325767.5A
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.)
Chengdu Lin Cheng Technology Co Ltd
Original Assignee
Chengdu Lin Cheng Technology 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 Chengdu Lin Cheng Technology Co Ltd filed Critical Chengdu Lin Cheng Technology Co Ltd
Priority to CN201710325767.5A priority Critical patent/CN106953733A/zh
Publication of CN106953733A publication Critical patent/CN106953733A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种平台软件完整性证明方法和装置,其中所述方法包括:在传统的实施PKI的三层信息系统基础上,基于完整性度量机制,设立可信权威第三方——度量中心,作为可信计算的信任仲裁与监督方,在信息数据流转和变换的关键环节实施可信完整性度量,形成数据度量可信链,通过对数据度量可信链关键数据的比较和分析,具体包括密钥分配方法、会话密钥协商方法、度量存储方法、快速检测方法和信息传输方法。本发明提出了的平台软件完整性证明方法和装置,提高了平台安全验证的安全性和灵活性。

Description

一种平台软件完整性证明方法和装置
技术领域
本发明涉及安全验证领域,具体涉及一种平台软件完整性证明方法和装置。
背景技术
随着信息技术的发展,各种计算资源通过网络的通信交互不断增加,各行业的信息化进程也不断加深,对计算机通信的依赖越来越多,与此同时,我国信息化建设也在全面深入的开展,计算机互联网的飞速发展,使信息系统的安全状况日趋复杂混乱。病毒、蠕虫、木马等恶意程序在网络和信息系统中传播、泛滥,信息系统不断面临来自不可预知情况的挑战,信息安全状况日益严峻,安全保密已成为信息系统建设的重要问题。
在可信计算平台联盟成立不久,中国国内开始了对可信计算的研究。在2000年6月到2004年10月期间,武汉瑞达公司和武汉大学合作率先研制出了我国第一款自主研制的可信计算平台。2005年,联想公司和兆日公司也先后推出了自己的可信平台产品,这些产品都获得了国家密码管理局的鉴定和认证。2006年开始,在国家密码管理局和全国信息安全标准委员会主持下,许多相关厂商共同参与制定了一系列可信计算的规范和标准,并组织了相关产品的研发,自此在各个层次上,可信计算产业链都有了很强的支持,并且已经被产业所接受,这为以后的可信计算平台的研究奠定了基础。
2008年中国可信计算联盟(Community Trusted Credit Union,CTCU)成立,同方、方正、浪潮、天融信等公司以及武汉大学、中科院软件所等高校和研究机构都开展了可信计算的研究。在此之后,国内对可信计算领域的研究得到了快速发展,并不断有新的可信计算技术和产品产生,我国的可信计算水平也得到国际认可,已经处于国际可信计算研究领域的前列。
TCG移动电话工作组MPWG发布MTM之后,国内学者也开始对移动可信平台体系架构的探索研究。不过在这方面的研究并没有像对可信计算平台研究那么多,一些学者也只是提出了基于可信计算的移动平台设计方案,没有推出相应功能的技术和产品。当越来越多的智能移动终端投入使用后,智能终端安全问题也成为了网络安全研究方面的一个新热点。原本存在于PC机上的病毒、蠕虫、木马、间谍软件和恶意软件问题也出现在了智能手机中,为了解决智能手机面临的这些安全问题,当前比较流行的解决方案是在智能手机上安装安全软件产品,例如瑞星杀毒软件手机版,但这些相关软件产品使用的是PC机上检测木马、病毒的方法,并不适用于处理器和存储能力受限的移动设备中。这时很多国内外学者都把目光转向了MPWG提出的移动可信平台MTM上,希望通过利用可信计算技术来解决窃听、隐私泄露等安全威胁。
可信计算领域里理论研究相对滞后于产品的开发,到目前为止,尚没有被大家所普遍认可的信任度量模型,也没有完善的信任链理论。
发明内容
至少部分的解决现有技术中存在的问题,本发明提出一种平台软件完整性证明方法和装置,包括:
在传统的实施PKI的三层信息系统基础上,基于完整性度量机制,设立可信权威第三方——度量中心,作为可信计算的信任仲裁与监督方,在信息数据流转和变换的关键环节实施可信完整性度量,形成数据度量可信链,通过对数据度量可信链关键数据的比较和分析,具体包括密钥分配方法、会话密钥协商方法、度量存储方法、快速检测方法和信息传输方法。
其中,定义符号如下:DATA为数据信息,M为明文,C为密文,h()为度量的杂凑函数,E()为加密计算函数,D()为解密计算函数,Request()为请求函数,hX为度量结果,PK为公钥,SK为私钥,密钥下标表示密钥所属用户,如PKB表示B的公钥,Ks为会话密钥,ID为身份标识,T为时间戳,N为随机数,IX-Y表示信息从X向Y传送的摘要,Trusted表示可信、NotTrusted表示不可信,MC为度量中心,DH为信息库,MF为中间层,CA为认证中心。在加、解密运算中,[]表示密钥所属者,如EPK[B]表示以B的公钥加密,在叙述中仍用下标标识密钥所属者;
密钥分配方法包括:
(1)用户A生成TA,A向CA发送(Request(B),IDA,TA),B表示用户B;
(2)CA接收后,识别IDA,确认IDA正确后,确认A发来的Request(B)和TA,
CA向A发送ESK[CA](PKB,Request(B),TA);
(3)若A在预定时限内收不到CA回复,重复(1)三次,若三次后没收到CA回复,报警退出;
若A在预定时限内收到CA回复,计算DPK[CA](ESK[CA](PKB,Request(B),TA))得到(PKB,Request(B),TA),如A确认Request(B)和TA为前面所发,则继续,否则报警退出。
会话密钥协商方法包括:
(1)通过密钥分配方法,A获取PKB
(2)用户A生成NA,用户A向用户B发送EPK[B](NA,IDA);
(3)B收到后,做DSK[B](EPK[B](NA,IDA))得到(NA,IDA);
(4)通过密钥分配方法,B获取PKA
(5)用户B生成NB,B向A发送EPK[A](NB,NA);
(6)若A在预定时限内收不到B回复,重复(2)三次,若三次后没收到B回复,报警退出;
若A在预定时限内收到B回复,做DSK[A](EPK[A](NB,NA))得到(NB,NA),比较NA,若与前面所发出的相同则继续,否则报警退出;
(7)A生成Ks,A向B发送EPK[B](NB,ESK[A](Ks));
(8)若B在预定时限内收不到A回复,重复(5)三次,若三次后没收到A回复,报警退出;
若B在预定时限内收到A回复,做DSK[B](EPK[B](NB,ESK[A](Ks)))得到(NB,ESK[A](Ks)),比较NB,若与前面所发出的相同则继续,否则报警退出;
(9)B用PKA解密做DPK[A](ESK[A](Ks))得到Ks
度量存储方法包括:
A向MC发送度量信息,度量信息主要包括度量值hX和度量报告MRX,
(1)A生成TA,A向MC发送EPK[MC](IA-B,TA,IDA);
(2)MC收到后,用函数DSK[MC]()解密,得(IA-B,TA,IDA),MC生成TMC,MC向A发送EPK[A](TA,TMC);
(3)A接收后,用函数DSK[A]()解密,得(TA,TMC),与先前所发出比较,若相同则继续,否则报警退出;
(4)A向MC发送
(5)MC收到后,用函数DSK[MC]()、DPK[A]()、解密,得hX,TMC,MRX,比较TMC,若与先前发出的相同则继续,否则报警退出;
按完整性度量机制,由TMC计算度量值得hX`,若hX`和hX相等则继续,否则报警退出;
(6)MC查找IA-B对应的存储链表ChainA-B,若不存在符合预定要求的链表,则创建一个含8个单元的连续存储区并清空,按顺序将hX和MRX存入存储区中首个单元,若已存在则将hX和MRX存入存储区中第一个空单元;8个单元的hX和MRX分别为h0、h1、h2、h3、h4、h5、h6、h7和MR0、MR1、MR2、MR3、MR4、MR5、MR6、MR7
MC向A发送EPK[A](ESK[MC](IA-B,TA));
(7)若A在预定时限内收不到MC回复,重复(1)三次,若三次后没收到MC回复,报警退出;
若A在预定时限内收到MC回复,使用DSK[A]()、DPK[MC]()解密EPK[A](ESK[MC](IA-B,TA)),得IA-B,TA,比较IA-B,TA,若与前面所发出的相同则继续,否则报警退出。
快速检测方法包括:
(1)B生成TB,B向MC发送EPK[MC](ESK[B](Request(),IA-B,TB));
(2)MC收到后,用函数DSK[MC]()、DPK[B]()解密,得(Request(),IA-B,TB),MC根据IA-B查找信任链ChainA-B,若没找到ChainA-B的存储单元,MC向B发送EPK[B](ESK[MC](None,IA-B,TB)),退出;
若找到ChainA-B的存储单元,比较存储单元中h0=h7、h1=h6、h2=h3、h4=h5的成立情况,组成4为二进制数,即成立结果为1,不成立结果为0,都不成立的4为二进制数为0000,不同的二进制数对应不同的返回状态及故障检测结果;
(3)根据二进制数的值得到返回状态及故障检测结果,分别为X和Y;
(4)MC向B发送EPK[B](ESK[MC](X,Y,TB))。
信息传输方法包括:用户A向用户B发送信息DATA,通过会话密钥协商方法、度量存储方法、快速检测方法完成公网上的保密信息传输并通报快速故障检测结果。
本发明还提出一种平台软件完整性证明装置,包括:
在传统的实施PKI的三层信息系统基础上,基于完整性度量机制,设立可信权威第三方——度量中心,作为可信计算的信任仲裁与监督方,在信息数据流转和变换的关键环节实施可信完整性度量,形成数据度量可信链,通过对数据度量可信链关键数据的比较和分析,具体包括密钥分配单元、会话密钥协商单元、度量存储单元、快速检测单元和信息传输单元。
本发明提出了的平台软件完整性证明方法和装置,提高了平台安全验证的安全性和灵活性。
附图说明
图1为本发明一种平台软件完整性证明方法的流程图;
图2为本发明一种平台软件完整性证明装置的框图。
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明采用基于信任度的验证结构,该结构包含具有可信计算模块TPM的被验证方、信任度验证代理、验证方以及为信任度验证代理提供服务的目录服务器。信任度验证代理是被验证方和验证方双方都信任的一个评估信任度的代理,它的验证结果不暴露被验证方的隐私信息,且具有权威性,由可信的第三方充当。
被验证方是请求接入到受保护网络且具有TPM的设备,被验证方的组件包括:
l)被验证平台:特指被验证方中的计算环境;
2)TPM:是可信计算的核心设备,为被验证平台提供安全存储和密码运算功能。
信任度验证代理:是执行二进制验证或平台配置的验证和信任度评估的可信第三方,对于被验证平台,验证代理是二进制验证机制中的验证者;而对于验证方,它是被验证平台的代理;信任度验证代理包含的组件是配置验证器和信任度转换器:
l)配置验证器:是对被验证平台发送的完整性度量信息进行验证的模块(在TCG系统中,可以对应于PTS模块),当接收到验证方的平台验证请求时,信任度验证代理挑战被验证方,使其发送完整性度量信息,配置验证器验证被验证方平台的配置状况,并将验证结果发送给信任度转换器;
2)信任度转换器:它主要负责评估被验证的信任度,当收到配置验证器将被验证方的平台验证结果,根据验证结果、信任度评估策略,信任度转换器将完整性度量信息转化平台信任度。
验证评估策略如描述或证明与被验证方的平台组件相关的影响安全的权重。例如,组件安全特性的影响因素可能有:制造商,她们产品的自身的构造和采用的技术可能影响组件的安全;评估权威,对组件安全特性的评估机构等也影响组件的安全;和组件的所有者,如果组件的使用者,企业、个人的使用也会对组件的安全要求不同;组件的功能,计算机平台的一些组件提供的服务不同,计算机系统对这些组件的安全需求不同,相应地它们的权重也就不同。
目录服务器是为被验证方的平台组件提供附加认证信息的服务器,该服务器通常是组件供应商或具有授权的可信第三方,目录服务器包括的组件有:
l)组件目录:是存储并为合法用户提供组件相关信息的实体,如软件供应商数据库通常提供该软件相应组件的哈希值以及相对应的最新产品描述信息;
2)信任度证明器:用来描述组件所具有的可信度(如某个组件提供哪些服务)的实体,该实体可以是发布某个组件的生产商,也可以是某些权威的评估机构,也可以是某些企业或个体所有者;
3)信任度策略:用来记录组件配置状况到信任度转换的安全策略,如在某些特殊应用上,会提高某些应用的权重等。
验证方为对请求者的平台完整性进行验证的设备,它主要
包括以下组件:
l)信任度验证器:在信任度验证交互过程,提供对被验证方的特定的安全需求,这些需求属于信任度评估的一部分,根据信任度验证代理发送的预定义的验证策略(如属性需求和可信策略)来对被验证方的可信性进行评估。
参见图1,本发明提出了一种平台软件完整性证明方法,包括:
验证方向信任度验证代理发起验证请求;
信任度验证代理向被验证方转发所述验证请求;
被验证方向信任度验证代理Quote消息和日志文件给验证代理;
信任度验证代理向验证方返回信任度验证结果。
本发明的上述方法具体包括:
平台验证请求:验证方发送一个消息给验证代理,该消息包括一个160B的随机数c、用于发送验证结果的背书密钥AIK和信任策略TPV
完整性度量请求:用一个已验证的通道,验证代理向被验证方转发所述消息;被验证方收到消息后,根据信任策略TPV,决定是否应答;
TPM Quote请求/响应:利用所述消息,被验证方请求并接收经AIK签名的Quote消息;
完整性度量:通过加密通道,被验证方发送Quote消息和日志文件给验证代理;
配置验证:根据PCR和日志文件和潜在的配置描述,验证代理重建被验证方的配置;
信任度验证:验证代理从被验证方的完整性度量结果、配置描述以及信任策略,来推导出被验证方的完整性信任度;
平台信任度:验证代理返回经签名的消息,该消息包含所述平台验证请求的内容和所述完整性信任度;验证方检查签名密钥的真实性;如果可靠,验证方从验证代理接收到信任度符合验证方的要求。
对于信任度验证,本发明采用混合验证,是两层验证链,第一是基于二进制配置的验证,第二是基于信任度的验证,验证代理根据己定义的标准确认平台配置和特定属性之间的对应关系的正确性,验证方CP、验证代理TDVP和被验证方AP生成的密钥对分别是{KpubCP,KpriCP}、{KpubTDVP,KpriTDVP}、{KpubAP,KpriAP},通过协商验证方CP与验证代理TDVP之间的会话密钥为KC,验证代理TDVP与被验证方AP之间的会话密钥为KA,信任度验证的流程为:
S1:为了获得被验证平台AP的平台的可信状态,验证方CP向验证代理TDVP发送信任度验证请求;
CP将被验证方的身份信息IDAP、随机数noncel、发送信任度验证的时间timel、CP的验证策略PoliciesCP和CP的身份信息AIK-CertifieateCP用TDVP的AIK公钥加密,加密保证了只有TDVP才能解密消息,然后将消息用CP和TDVP之间的会话密钥KC加密后发送给TDVP;
S2:验证代理TDVP收到CP的信任度验证请求消息后,用自己的AIK私钥解密,然后,TDVP向验证方提供的被验证方AP发送二进制验证请求:
TDVP将收到的CP的验证请求消息、随机数nonce1及发送信任度验证的时间timel用AIK的私钥签名,然后在用会话密钥KA加密后发送给AP,随机数用以验证自己之前发送的消息是否得到了相应的回复,私钥签名确保该消息是TDVP所发;
S3:AP收到TDVP的验证请求后,收集自身的平台配置信息,然后发送二进制验证响应:
AP将收集自身的平台完整性信息PCRsAP和随机数nonce2用AIK私钥加密签名,然后在和AIK证书用AP和TDVP之间的会话密钥加密后发送给TDVP;
S4:信任度评估后,TDVP分别向AP、CP发送信任度授权响应和信任度验证响应信息;
S5:AP向CP发送服务请求信息;
S6:当CP通过对AP的信任度验证后,CP响应服务请求信息。
用户之间交互的目的是实现可信平台之间的安全通信,或者说获得远程平台提供的服务。为了这一目的,可信计算定义了远程验证(RemoteAttestation,RA)机制,获得服务的计算机平台,即被验证方,以TPM为可信度量、存储和报告根,向远程验证者证明:自身系统具有的平台的软硬件配置状态,随后,远程验证平台判断被验证方是否处于一个可信状态,以便决定是否进行后续的通信。
然而,由于标准的TLS应用程序(如web浏览器)允许平台拥有者导出密钥,致使恶意用户可以获得用于通信的证书和私钥,而验证本身和终端身份之间缺少联系。这样,数据传输过程中,恶意用户容易利用通信协议和完整性报告协议的缺陷,冒充合法用户。
由于标准的TLS应用程序(如web浏览器)支持平台拥有者导出密钥,这样攻击者可以提取出身份证书(如X.509证书)和相应的私钥.在ssL/TLs协议建立过程中,恶意用户利用获取的证书和私钥,冒充成合法用户通过验证者对其身份验证,获得下次通信的会话密钥。在远程验证过程中,验证者仅认为,消息被传送给预期的接收者。而接收者将该消息作为合法消息进行处理,从而导致一系列的不良后果。
本发明的平台软件完整性证明方法进一步解决了上述问题。
由于SSL/TLS应用程序支持平台拥有者对计算机平台的证书和私钥的导出,这给恶意用户提供了冒充合法用户的可乘之机。为了从根本上改变这一问题,本发明改进了X.509证书的申请和密钥。A表示证书申请者,C表示证书的签发者,该证书的详细申请过程如下:
(l)A:从TPM中获得一对签名密钥对(K,K’);
(2)A用签名密钥对(K,K’)生成证书认证申请,并用AIK加密后传送给C;
(3)C验证申请,验证AIK证书,处理申请;
(4)C响应申请;
(5)A获得响应,解密随机数nonce;
(6)A向C发送认证确认后的随机数nonce;
(7)C向A颁发证书。
这样,在x.509证书中,证书的私钥是在TPM模块中产生。因此,该密钥具有可信平台密钥的一般功能,即密钥的加密和解密过程均在TPM内部完成。
本发明进一步的改进了SSL/TLS握手协议。由于原有的验证信息和终端身份之间缺乏联系,致使可信平台和服务器之间的信息被恶意用户利用的可能"而终端身份信息是在ssL/TLS握手协议中获得,而验证信息包含在平台软件完整性证明的过程中的完整性报告协议中,为此,我们将AIK证书引入到SSL/TLS协议中。用AIK的私钥K,对客户平台产生的随机数rand_c加密签名,同时将AIK私钥签名的客户平台的证书签名和AIK证书发送给服务器.服务器验证AIK证书,并用AIK公钥解密随机数rand_c和客户平台的证书,然后验证客户平台证书。
(l)使用客户端和服务器的AIK分别对各自证书cert_c和cert_s和随机数rand_c!rand_s加密签名;
(2)在密钥交换时,客户端和服务器端分别提供一部分密钥,这两部分共同产生主密钥;
(3)密钥交换式传输的数据,需要用各自的AIK签名后传输。
这样,即使恶意用户截获可信平台和服务器之间传送的信息,但因为没有相应的证书和密钥,而无法解密出信息。同时,AIK对平台证书的签名实现了平台终端证书和TPM硬件之间建立了联系,实现了它们之间的绑定,使SSL/TLS协议抗冒名重播攻击。
传统信息系统在公网上的信息传输方式,一般是在传输前由发送者将数据用分组密码加密,并对加密前明文计算散列值,传输后接收者用分组密码解密,并对解密后的明文计算散列值,接收者对接收到的散列值和计算所得散列值进行比较,如相同则表示数据完整,这样传统信息系统中每次经由公网传输信息,都要对数据进行分组密码的加、解密计算,目前的信息系统大多是多层级结构,通过公网传输信息的次数也相应比较多,又因为信息系统中需要传输的数据量越来越大,势必造成信息系统大量计算资源的消耗,而且传统信息系统中信息在进入信息库前是明文,降低了安全性能,对信息库专用通道的要求较高,实现代价也较高,同时,信息库管理员能直接获得信息库中存储的数据明文,对信息安全构成重大威胁,另外,传统信息系统对所发生的不可预知的故障不能提供快速检测支撑。
为解决上述问题,在传统的实施PKI的三层信息系统基础上,基于完整性度量机制,设立可信权威第三方——度量中心,作为可信计算的信任仲裁与监督方,设计多个协议,在信息数据流转和变换的关键环节实施可信完整性度量,形成数据度量可信链,通过对数据度量可信链关键数据的比较和分析,在保持PKI信息系统安全性的基础上,不仅能快速实现信息系统故障快速定位和提供检测报告,而且大大减少了信息系统在加!解密中的计算资源消耗,从而提高信息系统运行效率。
本发明的平台软件完整性证明方法进一步包括信息系统故障快速检测方法,具体包括:密钥分配方法、会话密钥协商方法、度量存储方法、快速检测方法和信息传输方法。
为更好的描述,定义符号如下:DATA为数据信息,M为明文,C为密文,h()为度量的杂凑函数,E()为加密计算函数,D()为解密计算函数,Request()为请求函数,hX为度量结果,PK为公钥,SK为私钥,密钥下标表示密钥所属用户,如PKB表示B的公钥,Ks为会话密钥,ID为身份标识,T为时间戳,N为随机数,IX-Y表示信息从X向Y传送的摘要,Trusted表示可信、Not Trusted表示不可信,MC为度量中心,DH为信息库,MF为中间层,CA为认证中心。在加、解密运算中,[]表示密钥所属者,如EPK[B]表示以B的公钥加密,在叙述中仍用下标标识密钥所属者,如PKB
密钥分配方法包括:
(1)用户A生成TA,A向CA发送(Request(B),IDA,TA),B表示用户B;
(2)CA接收后,识别IDA,确认IDA正确后,确认A发来的Request(B)和TA,
CA向A发送ESK[CA](PKB,Request(B),TA);
(3)若A在预定时限内收不到CA回复,重复(1)三次,若三次后没收到CA回复,报警退出;
若A在预定时限内收到CA回复,计算DPK[CA](ESK[CA](PKB,Request(B),TA))得到(PKB,Request(B),TA),如A确认Request(B)和TA为前面所发,则继续,否则报警退出。
会话密钥协商方法包括:
(1)通过密钥分配方法,A获取PKB
(2)用户A生成NA,用户A向用户B发送EPK[B](NA,IDA);
(3)B收到后,做DSK[B](EPK[B](NA,IDA))得到(NA,IDA);
(4)通过密钥分配方法,B获取PKA
(5)用户B生成NB,B向A发送EPK[A](NB,NA);
(6)若A在预定时限内收不到B回复,重复(2)三次,若三次后没收到B回复,报警退出;
若A在预定时限内收到B回复,做DSK[A](EPK[A](NB,NA))得到(NB,NA),比较NA,若与前面所发出的相同则继续,否则报警退出;
(7)A生成Ks,A向B发送EPK[B](NB,ESK[A](Ks));
(8)若B在预定时限内收不到A回复,重复(5)三次,若三次后没收到A回复,报警退出;
若B在预定时限内收到A回复,做DSK[B](EPK[B](NB,ESK[A](Ks)))得到(NB,ESK[A](Ks)),比较NB,若与前面所发出的相同则继续,否则报警退出;
(9)B用PKA解密做DPK[A](ESK[A](Ks))得到Ks
这样A、B双方都已确认会话密钥和通信对方身份。
度量存储方法包括:
A向MC发送度量信息,度量信息主要包括度量值hX和度量报告MRX,
(1)A生成TA,A向MC发送EPK[MC](IA-B,TA,IDA);
(2)MC收到后,用函数DSK[MC]()解密,得(IA-B,TA,IDA),MC生成TMC,MC向A发送EPK[A](TA,TMC);
(3)A接收后,用函数DSK[A]()解密,得(TA,TMC),与先前所发出比较,若相同则继续,否则报警退出;
(4)A向MC发送
(5)MC收到后,用函数DSK[MC]()、DPK[A]()、解密,得hX,TMC,MRX,比较TMC,若与先前发出的相同则继续,否则报警退出;
按完整性度量机制,由TMC计算度量值得hX`,若hX`和hX相等则继续,否则报警退出;
(6)MC查找IA-B对应的存储链表ChainA-B,若不存在符合预定要求的链表,则创建一个含8个单元的连续存储区并清空,按顺序将hX和MRX存入存储区中首个单元,若已存在则将hX和MRX存入存储区中第一个空单元;8个单元的hX和MRX分别为h0、h1、h2、h3、h4、h5、h6、h7和MR0、MR1、MR2、MR3、MR4、MR5、MR6、MR7
MC向A发送EPK[A](ESK[MC](IA-B,TA));
(7)若A在预定时限内收不到MC回复,重复(1)三次,若三次后没收到MC回复,报警退出;
若A在预定时限内收到MC回复,使用DSK[A]()、DPK[MC]()解密EPK[A](ESK[MC](IA-B,TA)),得IA-B,TA,比较IA-B,TA,若与前面所发出的相同则继续,否则报警退出。
快速检测方法包括:
(1)B生成TB,B向MC发送EPK[MC](ESK[B](Request(),IA-B,TB));
(2)MC收到后,用函数DSK[MC]()、DPK[B]()解密,得(Request(),IA-B,TB),MC根据IA-B查找信任链ChainA-B,若没找到ChainA-B的存储单元,MC向B发送EPK[B](ESK[MC](None,IA-B,TB)),退出;
若找到ChainA-B的存储单元,比较存储单元中h0=h7、h1=h6、h2=h3、h4=h5的成立情况,组成4为二进制数,即成立结果为1,不成立结果为0,都不成立的4为二进制数为0000,不同的二进制数对应不同的返回状态及故障检测结果;
(3)根据二进制数的值得到返回状态及故障检测结果,分别为X和Y;
(4)MC向B发送EPK[B](ESK[MC](X,Y,TB))。
信息传输方法包括:用户A向用户B发送信息DATA,通过会话密钥协商方法、度量存储方法、快速检测方法完成公网上的保密信息传输并通报快速故障检测结果。
参见图2,本发明还提出了与所述方法对应的平台软件完整性证明装置。
本发明提出了的平台软件完整性证明方法和装置,提高了平台安全验证的安全性和灵活性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (7)

1.一种平台软件完整性证明方法,包括:
在传统的实施PKI的三层信息系统基础上,基于完整性度量机制,设立可信权威第三方——度量中心,作为可信计算的信任仲裁与监督方,在信息数据流转和变换的关键环节实施可信完整性度量,形成数据度量可信链,通过对数据度量可信链关键数据的比较和分析,具体包括密钥分配方法、会话密钥协商方法、度量存储方法、快速检测方法和信息传输方法。
2.如权利要求1所述的方法,其中,
定义符号如下:DATA为数据信息,M为明文,C为密文,h()为度量的杂凑函数,E()为加密计算函数,D()为解密计算函数,Request()为请求函数,hX为度量结果,PK为公钥,SK为私钥,密钥下标表示密钥所属用户,如PKB表示B的公钥,Ks为会话密钥,ID为身份标识,T为时间戳,N为随机数,IX-Y表示信息从X向Y传送的摘要,Trusted表示可信、Not Trusted表示不可信,MC为度量中心,DH为信息库,MF为中间层,CA为认证中心。在加、解密运算中,[]表示密钥所属者,如EPK[B]表示以B的公钥加密,在叙述中仍用下标标识密钥所属者;
密钥分配方法包括:
(1)用户A生成TA,A向CA发送(Request(B),IDA,TA),B表示用户B;
(2)CA接收后,识别IDA,确认IDA正确后,确认A发来的Request(B)和TA,
CA向A发送ESK[CA](PKB,Request(B),TA);
(3)若A在预定时限内收不到CA回复,重复(1)三次,若三次后没收到CA回复,报警退出;
若A在预定时限内收到CA回复,计算DPK[CA](ESK[CA](PKB,Request(B),TA))得到(PKB,Request(B),TA),如A确认Request(B)和TA为前面所发,则继续,否则报警退出。
3.如权利要求2所述的方法,其中,
会话密钥协商方法包括:
(1)通过密钥分配方法,A获取PKB
(2)用户A生成NA,用户A向用户B发送EPK[B](NA,IDA);
(3)B收到后,做DSK[B](EPK[B](NA,IDA))得到(NA,IDA);
(4)通过密钥分配方法,B获取PKA
(5)用户B生成NB,B向A发送EPK[A](NB,NA);
(6)若A在预定时限内收不到B回复,重复(2)三次,若三次后没收到B回复,报警退出;
若A在预定时限内收到B回复,做DSK[A](EPK[A](NB,NA))得到(NB,NA),比较NA,若与前面所发出的相同则继续,否则报警退出;
(7)A生成Ks,A向B发送EPK[B](NB,ESK[A](Ks));
(8)若B在预定时限内收不到A回复,重复(5)三次,若三次后没收到A回复,报警退出;
若B在预定时限内收到A回复,做DSK[B](EPK[B](NB,ESK[A](Ks)))得到(NB,ESK[A](Ks)),比较NB,若与前面所发出的相同则继续,否则报警退出;
(9)B用PKA解密做DPK[A](ESK[A](Ks))得到Ks
4.如权利要求3所述的方法,其中,
度量存储方法包括:
A向MC发送度量信息,度量信息主要包括度量值hX和度量报告MRX,
(1)A生成TA,A向MC发送EPK[MC](IA-B,TA,IDA);
(2)MC收到后,用函数DSK[MC]()解密,得(IA-B,TA,IDA),MC生成TMC,MC向A发送EPK[A](TA,TMC);
(3)A接收后,用函数DSK[A]()解密,得(TA,TMC),与先前所发出比较,若相同则继续,否则报警退出;
(4)A向MC发送EPK[MC](ESK[A](hX,TMC)),EKs(MRX);
(5)MC收到后,用函数DSK[MC]()、DPK[A]()、DKs()解密,得hX,TMC,MRX,比较TMC,若与先前发出的相同则继续,否则报警退出;
按完整性度量机制,由TMC计算度量值得hX`,若hX`和hX相等则继续,否则报警退出;
(6)MC查找IA-B对应的存储链表ChainA-B,若不存在符合预定要求的链表,则创建一个含8个单元的连续存储区并清空,按顺序将hX和MRX存入存储区中首个单元,若已存在则将hX和MRX存入存储区中第一个空单元;8个单元的hX和MRX分别为h0、h1、h2、h3、h4、h5、h6、h7和MR0、MR1、MR2、MR3、MR4、MR5、MR6、MR7
MC向A发送EPK[A](ESK[MC](IA-B,TA));
(7)若A在预定时限内收不到MC回复,重复(1)三次,若三次后没收到MC回复,报警退出;
若A在预定时限内收到MC回复,使用DSK[A]()、DPK[MC]()解密EPK[A](ESK[MC](IA-B,TA)),得IA-B,TA,比较IA-B,TA,若与前面所发出的相同则继续,否则报警退出。
5.如权利要求4所述的方法,其中,
快速检测方法包括:
(1)B生成TB,B向MC发送EPK[MC](ESK[B](Request(),IA-B,TB));
(2)MC收到后,用函数DSK[MC]()、DPK[B]()解密,得(Request(),IA-B,TB),MC根据IA-B查找信任链ChainA-B,若没找到ChainA-B的存储单元,MC向B发送EPK[B](ESK[MC](None,IA-B,TB)),退出;
若找到ChainA-B的存储单元,比较存储单元中h0=h7、h1=h6、h2=h3、h4=h5的成立情况,组成4为二进制数,即成立结果为1,不成立结果为0,都不成立的4为二进制数为0000,不同的二进制数对应不同的返回状态及故障检测结果;
(3)根据二进制数的值得到返回状态及故障检测结果,分别为X和Y;
(4)MC向B发送EPK[B](ESK[MC](X,Y,TB))。
6.如权利要求5所述的方法,其中,
信息传输方法包括:用户A向用户B发送信息DATA,通过会话密钥协商方法、度量存储方法、快速检测方法完成公网上的保密信息传输并通报快速故障检测结果。
7.一种平台软件完整性证明装置,包括:
在传统的实施PKI的三层信息系统基础上,基于完整性度量机制,设立可信权威第三方——度量中心,作为可信计算的信任仲裁与监督方,在信息数据流转和变换的关键环节实施可信完整性度量,形成数据度量可信链,通过对数据度量可信链关键数据的比较和分析,具体包括密钥分配单元、会话密钥协商单元、度量存储单元、快速检测单元和信息传输单元。
CN201710325767.5A 2017-05-10 2017-05-10 一种平台软件完整性证明方法和装置 Pending CN106953733A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710325767.5A CN106953733A (zh) 2017-05-10 2017-05-10 一种平台软件完整性证明方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710325767.5A CN106953733A (zh) 2017-05-10 2017-05-10 一种平台软件完整性证明方法和装置

Publications (1)

Publication Number Publication Date
CN106953733A true CN106953733A (zh) 2017-07-14

Family

ID=59479046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710325767.5A Pending CN106953733A (zh) 2017-05-10 2017-05-10 一种平台软件完整性证明方法和装置

Country Status (1)

Country Link
CN (1) CN106953733A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981639A (zh) * 2019-03-23 2019-07-05 西安电子科技大学 基于区块链的分布式可信网络连接方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043338A (zh) * 2007-04-27 2007-09-26 中国科学院软件研究所 基于安全需求的远程证明方法及其系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043338A (zh) * 2007-04-27 2007-09-26 中国科学院软件研究所 基于安全需求的远程证明方法及其系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
徐日: ""可信计算平台完整性度量机制的研究与应用"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
徐日等: ""基于可信度量的信息系统故障快速诊断协议"", 《通信技术》 *
金园园: ""基于信任度的平台完整性验证模型"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981639A (zh) * 2019-03-23 2019-07-05 西安电子科技大学 基于区块链的分布式可信网络连接方法
CN109981639B (zh) * 2019-03-23 2021-04-06 西安电子科技大学 基于区块链的分布式可信网络连接方法

Similar Documents

Publication Publication Date Title
Feng et al. Blockchain-based cross-domain authentication for intelligent 5G-enabled internet of drones
Jiang et al. Improvement of robust smart‐card‐based password authentication scheme
Wei et al. SecCloud: Bridging secure storage and computation in cloud
CN103763631B (zh) 认证方法、服务器和电视机
Jiang et al. Cryptanalysis of smart‐card‐based password authenticated key agreement protocol for session initiation protocol of Zhang et al.
JP2016526342A (ja) ペアリングを使用した多因子ゼロ知識認証
Gambs et al. Prover anonymous and deniable distance-bounding authentication
Nagaraju et al. SecAuthn: Provably secure multi-factor authentication for the cloud computing systems
Albalawi et al. A survey on authentication techniques for the internet of things
Zhang et al. BTNC: A blockchain based trusted network connection protocol in IoT
Kravitz Transaction immutability and reputation traceability: Blockchain as a platform for access controlled iot and human interactivity
CN107104804A (zh) 一种平台完整性验证方法和装置
CN106657002A (zh) 一种新型防撞库关联时间多密码的身份认证方法
Darwish et al. A model to authenticate requests for online banking transactions
Khattak et al. Analysis of open environment sign-in schemes-privacy enhanced & trustworthy approach
Yang et al. IBA: A secure and efficient device-to-device interaction-based authentication scheme for Internet of Things
Xu et al. A decentralized lightweight authentication protocol under blockchain
Xiong et al. A novel quantum ring signature scheme without using entangled states
CN101888383B (zh) 一种可扩展的可信ssh的实现方法
CN106973067A (zh) 一种平台环境完整性检测方法和装置
Khan et al. A Provable Secure Cross-Verification Scheme for IoT Using Public Cloud Computing
CN106953733A (zh) 一种平台软件完整性证明方法和装置
Zhong et al. An efficient electronic english auction system with a secure on-shelf mechanism and privacy preserving
Nagaraju et al. An effective mutual authentication scheme for provisioning reliable cloud computing services
V. Jog Memory and machine attributes-based profiling and elliptic curve cryptography-based multi-level authentication for the security of Internet of Things

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170714

RJ01 Rejection of invention patent application after publication