CN102685092A - 一种用于证明远程平台安全属性的远程证明方法 - Google Patents
一种用于证明远程平台安全属性的远程证明方法 Download PDFInfo
- Publication number
- CN102685092A CN102685092A CN2011103863409A CN201110386340A CN102685092A CN 102685092 A CN102685092 A CN 102685092A CN 2011103863409 A CN2011103863409 A CN 2011103863409A CN 201110386340 A CN201110386340 A CN 201110386340A CN 102685092 A CN102685092 A CN 102685092A
- Authority
- CN
- China
- Prior art keywords
- attribute
- attribute certificate
- tpm
- certificate
- certifier
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种用于证明远程平台安全属性的远程证明方法,属于安全认证技术领域。本发明包括系统参数生成步骤、属性证书颁布步骤、证明步骤、验证步骤和证书颁布者对不满足安全属性的证书进行撤销的撤销步骤。本发明的证明方法中引入了指定验证者签名的思想,在属性证书颁布中嵌入了证明者的私有信息,即首先由TPM选取一个随机数作为秘密值保存起来。然后属性证书颁布者将此随机数包含在属性证书中。因为只有持有随机数的证明者才能验证属性证书的正确性。证明者为了向验证者证明自己持有有效的属性证书,则必须将属性证书中的随机数去除掉,这样验证者才能使用属性证书颁布者的公钥验证的有效性。
Description
技术领域
本发明涉及可信计算中的认证技术,尤其涉及认证技术中用于证明远程平台安全属性的远程证明方法。
背景技术
随着网络技术和电子商务的迅猛发展,对网络体系结构和终端系统的安全威胁不断加大,同时对其安全要求也在不断的提升。在此大的背景下,于1999年,Intel等公司成立了“可信计算平台联盟”(TCPA)。 TCPA联盟于2003年改组为“可信计算组织”(TCG)。TCG的可信计算所体现的终端安全思想,己成为当前发展信息安全的重要理念。
远程证明是可信计算的重要功能之一,得到了国内外学者与研究机构的广泛关注。远程证明的目标就是向远程用户证明自己的平台是可信的。远程证明的方法有很多,如:基于语义的远程证明,TPM规范1.1中二进制远程证明和基于属性的远程证明等。
由于基于属性的远程证明具有许多优点,如:可以隐藏平台的具体配置等,得到了学术界的广泛关注。近几年在基于属性的远程证明研究领域取得了许多研究成果。2004年,由Sadeghi和Poritz等人分别在不同的文献中提出到了基于属性的远程证明概念。在基于属性的远程证明概念被提出的两年后,即2006年,Chen和Landfermann等人用CL签名实现了一个基于属性的证明协议。并在强RSA假定和DL假定下证明了协议的安全性。该方案需要一个可信第三方为证明者颁布属性证书,Chen和Löhr等人为了提高证明效率,于2008年用环签名实现了一个不需要可信第三方的基于属性的远程证明方案。2009年,秦宇和冯登国针对以前方案的属性粒度较粗,缺乏灵活性等缺点,提出了基于组件属性的远程证明方案。该方案将以前的属性粒度细化至组件,实现方法大致同Chen的方案也是利用CL签名和零知识签名实现。该方案相对以前基于属性的远程证明方案更加的灵活。2009年,Qin等人针对Chen和秦宇的方案计算量较大、签名长度较长的缺点,首次用双线性映射(bilinear maps)构造了一个基于属性的远程证明方案。该方案无论在签名长度和计算量上,较以前方案都有很大改善。
Chen,秦和Qin的方案都是基于零知识签名实现,其缺点是计算复杂,签名长度较长。Chen的另一个远程证明方案基于环签名实现,其所用的环签名虽在计算复杂度上有所降低,但签名长度与环成员的数目成正比,为了保证匿名性,成员数量又不能太少,所以签名长度还是相对较长。针对上述方案的缺点,因此有必要构造了一个高效的基于属性的远程证明方案,用于证明远程平台的安全属性。
下面将首先对几个相关的概念进行说明:
双线性映射
(bilinear map)
困难问题
在模拟实现过程中将用到的背景技术主要是TPM(Trusted Platform Module,可信平台模块)模拟器和PBC库,分别将它们简介如下:
2004年,瑞士联邦理工学院的Mario Strasser等人基于GMP库开发了TPM模拟器。GMP库支持任意精度的自由算术软件库,包括整数、有理数和浮点数。
TPM模拟器是对TPM硬件的模拟实现,其目的是在没有TPM硬件的情况下,可以提供TPM的一般功能。TPM模拟器发展至今最新版本号为0.6,实现了TPM的大部分功能。因为国内配置有TPM的计算机一般价格较贵,这给可信计算的研究造成了许多不便,TPM模拟器的出现在一定程度上解决了这一困难,所以对TPM模拟器的研究与实现也是一个非常有意义的工作。估计在不久的将来,TPM模拟器将被应用到可信虚拟机,在虚拟机上实现可信计算。
TPM模拟器总体架构如图1所示,由密码模块(Crypto Module)、TPM模拟器引擎(TPM Emulator Engine)和tpmd(TPM Deamon,TPM虚拟光驱)构成了TPM模拟器核心,完成TPM功能的模拟。tpmd-dev是一个内核模块,在内核态虚拟一个TPM硬件设备/dev/tpm。TPM模拟器实现的硬件设备/dev/tpm是一个杂项设备(misc device)。TDDL(TPM Device Driver
Library,TPM设备驱动库)是按TCG规范定义的驱动接口。应用程序(Application)可以直接访问tpmd,也可以通过TDDL,还可以跳过TDDL直接访问TPM硬件设备/dev/tpm。
PBC库是由斯坦福大学Ben Lynn基于GMP库开发的自由软件库。其目的是为了快速实现基于pairing的密码系统。该库是用C语言实现,计算pairing的效率较高。在一个配置为1GHz Pentium III的计算机上,计算pairing最快只需11ms,最慢耗时31ms。该库主要提供了三方面的接口:pairing接口、成员变量接口和pairing的输入参数。pairing接口主要是根据pairing的输入参数完成pairing的初始化和pairing计算。PBC库对群、环和域上的成员统一使用数据结构element_t存储。成员变量接口是主要完成群、环和域上的成员的初始化和相关操作。
发明内容
本发明所要解决的技术问题是为了实现远程证明,提高效率,不仅缩短签名长度,而且降低计算代价,提出一种用于证明远程平台安全属性的远程证明方法和系统。
本发明为解决上述技术问题采用以下技术方案:
一种用于证明远程平台安全属性的远程证明方法,包括如下步骤:
步骤A:属性证书颁布者生成用于颁布证书和远程证明的系统参数;所述系统参数包括公钥和私钥,其具体生成步骤如下:
步骤B:在证明者向属性证书颁布者提出颁布证书请求时,由TPM模拟器将证明者选取的一个随机数进行处理后作为秘密值嵌入属性证书中,然后由属性证书颁布者根据证明者提供的平台配置为证明者提供属性证书;具体步骤如下:
步骤C:证明者根据步骤A所述系统参数,从属性证书中去除在步骤B中嵌入的秘密值,然后由证明者对属性证书进行签名;具体步骤如下:
步骤D:验证者获得证明者的签名后,用属性证书颁布者提供的公钥验证证明者的签名; 具体步骤如下:
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
(1)在证书颁发阶段,提高了证书的安全性,因为只有持有秘密值的证明者才能验证证书的有效性。
(2)在证明阶段,因为只有持有秘密值的证明者才能够从属性证书中去除该秘密值,使得验证者能使用属性证书颁布者的公钥验证属性证书的有效性。当验证者验证去除秘密值后的属性证书的有效性后,则可以说明该属性证书是证明者的,且该证书是有效的。这样不但可以避免使用复杂的零知识签名向验证者证明自己持有一个有效的证书,而且计算量大大的降低,从而提高了证明效率。
(3)因为计算量降低,所以本系统证明阶段的所有计算都由TPM完成。这样设计的好处是无需主机的参与,方案更加的安全。
附图说明
图1是TPM模拟器总体架构图;
图2是本发明基于属性的远程证明模拟系统的架构图;
图3是本发明基于属性的远程证明模拟系统的工作流程图;
图4是PBA核心算法工作流程图;
图5是PBA引擎所包括的模块示意图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明的用于证明远程平台安全属性的远程证明方法是通过引入指定验证者签名的思想,这不仅缩短了证书和签名长度,而且降低了计算代价。
从应用程序的角度,证明远程平台安全属性的远程证明方法可以设计成一套模拟系统,该模拟系统可以设计成两种架构。如图1所示,一种是应用程序直接使用TDDL库,这样模拟系统可以只设计一个完成PBA功能的核心模块,然后再实现TDDL库接口,这样应用程序就可以和使用真实TPM一样,完成PBA功能。另一种是应用程序跳过TDDL,直接访问TPM设备。
这两种架构各有其好处,前一种架构的的好处是:因为模拟系统的所有程序都工作于用户态,所以工作效率较高,速度快。这种架构的缺点是:应用程序不能直接访问TPM设备,即该模拟是从TDDL层开始屏蔽。
第二种架构的好处是:对应用程序来说是无法感知是和真实的TPM设备交互还是在和一个模拟器交互,即模拟的效果比较真实。其缺点是:因为涉及到内核态和用户态的数据交换,所以模拟速度较第一种要慢一些,但这一点时间上的差别对应用程序来说是可以忽略的。
综合考虑,本发明选择第二种架构。如图2所示,该架构主要由三个组件构成:用户接口测试组件、TPM虚拟组件和PBA引擎。
PBA引擎和用户接口测试组件是工作在用户态,TPM虚拟组件工作在内核态。将PBA引擎设计在用户态的好处是用户态的接口比较丰富,实现难度较小。将各组件简述如下:
(1) TPM虚拟组件:该组件主要实现两个功能:一是在内核创建一个虚拟的字符型设备/dev/tpm,本系统中将该设备的主设备号定为252,次设备号为0。另一个功能是负责将用户的请求通过本地套接字/var/tpm/tpm_socket:0发送给PBA引擎,再将PBA引擎返回的结果发送给用户。
(2) PBA引擎:主要由两部分组成,一个是服务监听程序,另一个是PBA服务器;其中,服务监听程序创建了一个本地socket:/var/tpm/tpm_socket:0,然后一直监听该本地socket,该socket是PBA引擎与TPM虚拟组件的通讯通道。PBA服务器负责从服务监听程序接受用户请求,然后送到命令解析程序解析用户请求,如果是系统定义的命令,则再提交PBA核心算法执行,最后将结果通过服务监听程序发送给内核模块,即TPM虚拟组件。
(3)用户测试模块:主要用于访问由TPM虚拟组件创建的TPM虚拟设备/dev/tpm。向/dev/tpm发送用户请求,然后获得相应的结果。
根据上述各模块的功能,结合图3所示,将用于证明远程平台安全属性的远程证明方法的模拟系统工作流程详述如下:
(1) 用户先打开设备/dev/tpm,然后通过系统函数write()将用户请求发送给/dev/tpm。
(2) 设备/dev/tpm的驱动通过tpm_read()将用户态数据拷贝到内核态。tpm_write ()主要是通过内核函数copy_from_user ()实现。然后调用sock_sendmsg(),通过本地socket:/var/tpm/tpm_socket:0将用户请求发送给PBA引擎。此处值得注意的是内核空间和用户空间的内存保护问题,如果不加以保护可能引发致命的错误。
(3) PBA引擎执行完后,通过本地socket:/var/tpm/tpm_socket:0将执行结果发送给/dev/tpm。/dev/tpm调用内核函数sock_recvmsg()接收,将执行结果传入内核。
(4)设备/dev/tpm将从PBA引擎接收的执行结果通过驱动中的tpm_read()函数发送给用户。该函数主要通过内核函数copy_to_user ()实现,将数据从内核空间拷贝到用户空间。
其中PBA算法是PBA引擎的核心,参照图4所示,PBA算法的流程包括初始化步骤、属性证书颁发步骤、证明步骤、验证步骤。下面结合图5中PBA引擎的工作流程对各步骤进行详细的介绍。
如图5所示,PBA引擎包括系统参数生成模块、属性证书颁布模块、证明模块、验证模块、撤销模块,各模块的具体工作方法如下:
(一) 参数生成模块,对应于图4中的初始化步骤;
(二)属性证书颁发模块,对应于图4中的属性证书颁发步骤;
如果成立继续执行下面协议,否则退出。
(1)
(三)证明模块,对应于图4中的证明步骤;
(四)验证模块,对应于图4中的验证步骤;
步骤9:验证下式
(五) 撤销模块
系统的具体实施方式主要有两步:第一步先是安装PBC库;第二步是安装虚拟TPM设备。运行及测试基于属性的远程证明模拟系统主要也有两步:第一步是启动PBA服务;第二步是运行用户测试程序。
依照本发明,当使用本发明的用于证明远程平台安全属性的远程证明方法时,首先由系统参数生成模块生成系统参数,然后用户平台向可信第三方发出证书请求,可信第三方根据用户平台配置为其颁发属性证书。当用户发出证明请求时,证明系统通过签名证明自己持有有效的证书。最后验证者利用可信第三方的公钥和撤销列表验证签名的有效性。
综上所述,本发明引入了指定验证者签名的思想,提出了一个用于证明远程平台安全属性的远程证明方法。该方法的优点是属性证书的长度和签名长度比较短,计算量较小。不但可以降低通信量,且提高了证明效率。基于PBC库,实现了本发明提出的用于证明远程平台安全属性的远程证明方法。
对于该技术领域的普通技术人员来说,根据以上实施类型可以很容易的联想到其他的优点和变形。因此,本发明不局限于上述具体实施例,其仅仅做为例子对本发明的一种形态进行详细,示范性的说明。在不背离发明宗旨的范围内,本领域普通技术人员可以根据上述具体实施例通过各种等同替换所得到的技术方案,但是这些技术方案均应该包含在本发明的权利要求的范围及其等同的范围之内。
Claims (1)
1.一种用于证明远程平台安全属性的远程证明方法,其特征在于,包括以下步骤:
步骤A:属性证书颁布者生成用于颁布证书和远程证明的系统参数;所述系统参数包括公钥和私钥,其具体生成步骤如下:
步骤B:在证明者向属性证书颁布者提出颁布证书请求时,由TPM模拟器将证明者选取的一个随机数进行处理后作为秘密值嵌入属性证书中,然后由属性证书颁布者根据证明者提供的平台配置为证明者提供属性证书;具体步骤如下:
步骤C:证明者根据步骤A所述系统参数,从属性证书中去除在步骤B中嵌入的秘密值,然后由证明者对属性证书进行签名;具体步骤如下:
步骤D:验证者获得证明者的签名后,用属性证书颁布者提供的公钥验证证明者的签名;
具体步骤如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110386340.9A CN102685092B (zh) | 2011-11-29 | 2011-11-29 | 一种用于证明远程平台安全属性的远程证明方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110386340.9A CN102685092B (zh) | 2011-11-29 | 2011-11-29 | 一种用于证明远程平台安全属性的远程证明方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102685092A true CN102685092A (zh) | 2012-09-19 |
CN102685092B CN102685092B (zh) | 2014-11-19 |
Family
ID=46816463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110386340.9A Expired - Fee Related CN102685092B (zh) | 2011-11-29 | 2011-11-29 | 一种用于证明远程平台安全属性的远程证明方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102685092B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103560887A (zh) * | 2013-11-04 | 2014-02-05 | 深圳数字电视国家工程实验室股份有限公司 | 智能终端远程证明方法和系统 |
CN104125199A (zh) * | 2013-04-25 | 2014-10-29 | 中国科学院软件研究所 | 一种基于属性的匿名认证方法及系统 |
CN108171042A (zh) * | 2017-11-16 | 2018-06-15 | 中国科学院软件研究所 | 一种基于可信执行环境的系统配置属性证明方法及系统 |
CN109508272A (zh) * | 2017-09-14 | 2019-03-22 | 佛山市顺德区顺达电脑厂有限公司 | 可信赖模块的功能验证方法 |
US20210243030A1 (en) * | 2020-01-30 | 2021-08-05 | Dell Products L.P. | Systems And Methods To Cryptographically Verify An Identity Of An Information Handling System |
US11604880B2 (en) | 2020-02-25 | 2023-03-14 | Dell Products L.P. | Systems and methods to cryptographically verify information handling system configuration |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039186A (zh) * | 2007-05-08 | 2007-09-19 | 中国科学院软件研究所 | 系统日志的安全审计方法 |
CN101043338A (zh) * | 2007-04-27 | 2007-09-26 | 中国科学院软件研究所 | 基于安全需求的远程证明方法及其系统 |
CN101344903A (zh) * | 2008-09-02 | 2009-01-14 | 中国科学院软件研究所 | 基于tpm的多实例动态远程证明方法 |
US20090129600A1 (en) * | 2007-11-15 | 2009-05-21 | Brickell Ernie F | Apparatus and method for a direct anonymous attestation scheme from short-group signatures |
CN102223420A (zh) * | 2011-07-07 | 2011-10-19 | 河南科技大学 | 一种面向多媒体社交网络的数字内容分发方法 |
-
2011
- 2011-11-29 CN CN201110386340.9A patent/CN102685092B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043338A (zh) * | 2007-04-27 | 2007-09-26 | 中国科学院软件研究所 | 基于安全需求的远程证明方法及其系统 |
CN101039186A (zh) * | 2007-05-08 | 2007-09-19 | 中国科学院软件研究所 | 系统日志的安全审计方法 |
US20090129600A1 (en) * | 2007-11-15 | 2009-05-21 | Brickell Ernie F | Apparatus and method for a direct anonymous attestation scheme from short-group signatures |
CN101344903A (zh) * | 2008-09-02 | 2009-01-14 | 中国科学院软件研究所 | 基于tpm的多实例动态远程证明方法 |
CN102223420A (zh) * | 2011-07-07 | 2011-10-19 | 河南科技大学 | 一种面向多媒体社交网络的数字内容分发方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125199A (zh) * | 2013-04-25 | 2014-10-29 | 中国科学院软件研究所 | 一种基于属性的匿名认证方法及系统 |
CN104125199B (zh) * | 2013-04-25 | 2019-04-02 | 中国科学院软件研究所 | 一种基于属性的匿名认证方法及系统 |
CN103560887A (zh) * | 2013-11-04 | 2014-02-05 | 深圳数字电视国家工程实验室股份有限公司 | 智能终端远程证明方法和系统 |
CN103560887B (zh) * | 2013-11-04 | 2016-09-28 | 深圳数字电视国家工程实验室股份有限公司 | 智能终端远程证明方法和系统 |
CN109508272A (zh) * | 2017-09-14 | 2019-03-22 | 佛山市顺德区顺达电脑厂有限公司 | 可信赖模块的功能验证方法 |
CN109508272B (zh) * | 2017-09-14 | 2022-04-05 | 佛山市顺德区顺达电脑厂有限公司 | 可信赖模块的功能验证方法 |
CN108171042A (zh) * | 2017-11-16 | 2018-06-15 | 中国科学院软件研究所 | 一种基于可信执行环境的系统配置属性证明方法及系统 |
CN108171042B (zh) * | 2017-11-16 | 2021-07-30 | 中国科学院软件研究所 | 一种基于可信执行环境的系统配置属性证明方法及系统 |
US20210243030A1 (en) * | 2020-01-30 | 2021-08-05 | Dell Products L.P. | Systems And Methods To Cryptographically Verify An Identity Of An Information Handling System |
US11909882B2 (en) * | 2020-01-30 | 2024-02-20 | Dell Products L.P. | Systems and methods to cryptographically verify an identity of an information handling system |
US11604880B2 (en) | 2020-02-25 | 2023-03-14 | Dell Products L.P. | Systems and methods to cryptographically verify information handling system configuration |
Also Published As
Publication number | Publication date |
---|---|
CN102685092B (zh) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102685092B (zh) | 一种用于证明远程平台安全属性的远程证明方法 | |
US11048805B2 (en) | Method for storing data on a storage entity | |
Jakobsson et al. | Proving without knowing: On oblivious, agnostic and blindfolded provers | |
CN110677376B (zh) | 认证方法、相关设备和系统及计算机可读存储介质 | |
Cai et al. | Towards private, robust, and verifiable crowdsensing systems via public blockchains | |
CN109858265A (zh) | 一种加密方法、装置及相关设备 | |
Bacelar Almeida et al. | Full proof cryptography: verifiable compilation of efficient zero-knowledge protocols | |
CN102307096B (zh) | 一种基于伪rsa密钥的新近公开密钥加密算法的数据加密系统 | |
CN103002040B (zh) | 一种云计算用户数据检查的方法 | |
CN101873307A (zh) | 基于身份的前向安全的数字签名方法、装置及系统 | |
CN103902915B (zh) | 一种可信工控终端及其构建方法 | |
CN109960903A (zh) | 一种应用加固的方法、装置、电子设备及存储介质 | |
CN103530578B (zh) | 一种android系统的软构可信平台模块STPM的构建方法 | |
CN102231729A (zh) | 支持多种ca身份认证的方法 | |
CN105718807A (zh) | 基于软tcm和可信软件栈的安卓系统及其可信认证系统与方法 | |
Wang et al. | Privacy-preserving energy storage sharing with blockchain | |
CN107729746A (zh) | 一种基于数字签名的已安装应用程序防篡改方法及系统 | |
CN103560889A (zh) | 一种x509数字证书与证书应用之间的精确化身份认证方法 | |
CN110463160A (zh) | 用于云计算的弹性公共密钥基础架构 | |
CN109104419A (zh) | 一种区块链账号的生成方法及系统 | |
Wang et al. | Privacy-preserving energy storage sharing with blockchain and secure multi-party computation | |
CN106612183B (zh) | 国产操作系统下应用软件的交叉数字签名方法及系统 | |
CN102983969B (zh) | 一种操作系统的安全登录系统及安全登录方法 | |
CN114006702A (zh) | 一种零知识证明分割电路及信息验证方法 | |
Kelkar et al. | Complete knowledge: Preventing encumbrance of cryptographic secrets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141119 Termination date: 20181129 |