CN102685092A - 一种用于证明远程平台安全属性的远程证明方法 - Google Patents

一种用于证明远程平台安全属性的远程证明方法 Download PDF

Info

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
Application number
CN2011103863409A
Other languages
English (en)
Other versions
CN102685092B (zh
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.)
Hohai University HHU
Original Assignee
Hohai University HHU
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 Hohai University HHU filed Critical Hohai University HHU
Priority to CN201110386340.9A priority Critical patent/CN102685092B/zh
Publication of CN102685092A publication Critical patent/CN102685092A/zh
Application granted granted Critical
Publication of CN102685092B publication Critical patent/CN102685092B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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)
Figure 397200DEST_PATH_IMAGE001
Figure 261994DEST_PATH_IMAGE002
Figure 661752DEST_PATH_IMAGE003
均为素数阶
Figure 993638DEST_PATH_IMAGE004
的循环群。假设在
Figure 946114DEST_PATH_IMAGE001
Figure 737353DEST_PATH_IMAGE002
Figure 878484DEST_PATH_IMAGE003
这三个群中计算离散对数问题是困难的。
Figure 438778DEST_PATH_IMAGE005
是一个双线性映射,满足下三个条件:
(1) 双线性:设
Figure 774207DEST_PATH_IMAGE006
Figure 849479DEST_PATH_IMAGE007
,满足
Figure 832271DEST_PATH_IMAGE009
(2) 非退化性:存在
Figure 837136DEST_PATH_IMAGE007
Figure 963486DEST_PATH_IMAGE008
使得
Figure 446420DEST_PATH_IMAGE010
(3) 可计算性:对于
Figure 548018DEST_PATH_IMAGE007
Figure 723785DEST_PATH_IMAGE008
,存在一个多项式时间的高效算法可以计算出
Figure 275114DEST_PATH_IMAGE011
困难问题
对于群
Figure 624056DEST_PATH_IMAGE001
,定义如下几个密码学困难问题:
(1) 离散对数困难问题(Discrete Logarithm Problem DLP):给定
Figure 655389DEST_PATH_IMAGE012
,找一个整数
Figure 130233DEST_PATH_IMAGE013
,使得
Figure 784331DEST_PATH_IMAGE014
成立;
(2) 计算co-Diffie-Hellman问题(Computational co-Diffie-Hellman Problem co-CDHP):对于
Figure 90547DEST_PATH_IMAGE015
Figure 342537DEST_PATH_IMAGE016
Figure 945424DEST_PATH_IMAGE017
,已知
Figure 573851DEST_PATH_IMAGE018
,计算
(3) 判定co-Diffie-Hellman问题(Decision co-Diffie-Hellman Problem co-DDHP):对于
Figure 547678DEST_PATH_IMAGE020
Figure 429232DEST_PATH_IMAGE017
已知
Figure 945927DEST_PATH_IMAGE021
,判定
Figure 867615DEST_PATH_IMAGE022
是否成立。
在模拟实现过程中将用到的背景技术主要是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:属性证书颁布者生成用于颁布证书和远程证明的系统参数;所述系统参数包括公钥和私钥,其具体生成步骤如下:
步骤A-1,令
Figure 167796DEST_PATH_IMAGE001
Figure 403605DEST_PATH_IMAGE002
Figure 476604DEST_PATH_IMAGE003
均为素数阶
Figure 132975DEST_PATH_IMAGE004
的循环群,随机选取
Figure 291424DEST_PATH_IMAGE001
生成元
Figure 616019DEST_PATH_IMAGE002
生成元
Figure 380975DEST_PATH_IMAGE024
;属性证书颁布者随机选取整数
Figure 26720DEST_PATH_IMAGE025
作为私钥,计算公钥
Figure 956062DEST_PATH_IMAGE026
Figure 692068DEST_PATH_IMAGE005
是满足条件的双线性映射;
步骤A-2,令
Figure 64143DEST_PATH_IMAGE027
Figure 758036DEST_PATH_IMAGE028
Figure 873760DEST_PATH_IMAGE029
Figure 838174DEST_PATH_IMAGE030
为四个抗碰撞的哈希函数,其中
Figure 882615DEST_PATH_IMAGE031
Figure 299690DEST_PATH_IMAGE032
Figure 542420DEST_PATH_IMAGE034
步骤A-3,属性证书颁布者将上述系统参数
Figure 256298DEST_PATH_IMAGE035
作为公钥公开,私钥
Figure 363931DEST_PATH_IMAGE013
保密;
步骤B:在证明者向属性证书颁布者提出颁布证书请求时,由TPM模拟器将证明者选取的一个随机数进行处理后作为秘密值嵌入属性证书中,然后由属性证书颁布者根据证明者提供的平台配置为证明者提供属性证书;具体步骤如下:
步骤B-1:属性证书颁布者选择随机数
Figure 322922DEST_PATH_IMAGE036
,然后将其发送给TPM模拟器;
步骤B-2:由TPM模拟器选择证明者提供的随机数
Figure 934032DEST_PATH_IMAGE037
,计算证明者提供的平台配置
Figure 84391DEST_PATH_IMAGE038
,然后计算TPM模拟器的私钥
Figure 413741DEST_PATH_IMAGE039
Figure 235810DEST_PATH_IMAGE039
的计算方法为:
Figure 701426DEST_PATH_IMAGE040
;其中,
Figure 648785DEST_PATH_IMAGE041
由DAA证书颁布者提供的参数,
Figure 465431DEST_PATH_IMAGE042
是TPM模拟器内部用于计算
Figure 655690DEST_PATH_IMAGE039
的种子;
步骤B-3,由TPM模拟器计算:
Figure 733553DEST_PATH_IMAGE044
Figure 335698DEST_PATH_IMAGE045
;然后将
Figure 644506DEST_PATH_IMAGE047
发送给属性证书颁布者;
步骤B-4:属性证书颁布者根据
Figure 665158DEST_PATH_IMAGE047
计算
Figure 456396DEST_PATH_IMAGE048
,然后检查公式:
Figure 161309DEST_PATH_IMAGE049
是否成立;如果成立进入下一步骤,否则退出;
步骤B-5:假设
Figure 783921DEST_PATH_IMAGE038
满足的属性为
Figure 352305DEST_PATH_IMAGE050
,计算:
Figure 197551DEST_PATH_IMAGE051
Figure 142374DEST_PATH_IMAGE052
;然后将
Figure 557174DEST_PATH_IMAGE053
发送给TPM模拟器;
步骤B-6:由TPM模拟器计算
Figure 688390DEST_PATH_IMAGE054
,将
Figure 732176DEST_PATH_IMAGE054
发送给验证者,最后由验证者验证下式:
Figure 267062DEST_PATH_IMAGE055
;当验证通过则将
Figure 177249DEST_PATH_IMAGE056
作为属性证书颁布,否则退出;
步骤C:证明者根据步骤A所述系统参数,从属性证书中去除在步骤B中嵌入的秘密值,然后由证明者对属性证书进行签名;具体步骤如下:
步骤C-1:验证者选择随机数
Figure 728579DEST_PATH_IMAGE057
作为新鲜因子,将该随机数
Figure 15203DEST_PATH_IMAGE057
发送给TPM模拟器;
步骤C-2:TPM模拟器选择随机数作为盲化因子,计算:
Figure 407199DEST_PATH_IMAGE060
Figure 538152DEST_PATH_IMAGE062
Figure 578713DEST_PATH_IMAGE064
步骤C-3:证明者将作为属性证书的签名
Figure 931645DEST_PATH_IMAGE066
,然后将
Figure 620115DEST_PATH_IMAGE067
发送给验证者;
步骤D:验证者获得证明者的签名后,用属性证书颁布者提供的公钥验证证明者的签名; 具体步骤如下:
步骤D-1:验证
Figure 636263DEST_PATH_IMAGE068
,若验证该公式成立则继续下面的验证,否则退出;
步骤D-2:属性证书颁布者将不符合安全属性的属性证书添加进撤销列表中,验证者对于撤销列表中所有的
Figure 865119DEST_PATH_IMAGE069
进行验证,当
Figure 585075DEST_PATH_IMAGE070
成立,则退出;反之进入下一步骤;
步骤D-3:验证
Figure 444447DEST_PATH_IMAGE071
,当验证成立,表明平台配置
Figure 115600DEST_PATH_IMAGE072
满足属性
Figure 974578DEST_PATH_IMAGE073
,验证通过;否则,表明平台配置
Figure 47576DEST_PATH_IMAGE072
不满足属性
Figure 77849DEST_PATH_IMAGE073
,验证失败退出。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
(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中的初始化步骤;
Figure 862397DEST_PATH_IMAGE001
Figure 142252DEST_PATH_IMAGE003
均为素数阶的循环群。随机选取
Figure 989172DEST_PATH_IMAGE001
生成元
Figure 927303DEST_PATH_IMAGE023
Figure 974893DEST_PATH_IMAGE002
生成元
Figure 845504DEST_PATH_IMAGE024
。属性证书颁布者选取私钥
Figure 978545DEST_PATH_IMAGE015
,计算公钥
Figure 622464DEST_PATH_IMAGE005
是满足条件的双线性映射。令
Figure 6325DEST_PATH_IMAGE033
Figure 762928DEST_PATH_IMAGE034
为四个抗碰撞的哈希函数。属性证书颁布者公开参数
Figure 476806DEST_PATH_IMAGE035
,私钥
Figure 148221DEST_PATH_IMAGE013
保密。
(二)属性证书颁发模块,对应于图4中的属性证书颁发步骤;
步骤1:属性证书颁布者选择随机数
Figure 605747DEST_PATH_IMAGE036
,然后将其发送给TPM。
步骤2:TPM选择随机数
Figure 777709DEST_PATH_IMAGE037
,计算平台配置,然后利用TPM的私钥
Figure 257418DEST_PATH_IMAGE039
Figure 253056DEST_PATH_IMAGE039
是在颁布DAA证书时由TPM计算,并保存起来,不向外界透露。
计算方法:
Figure 485717DEST_PATH_IMAGE040
;其中,
Figure 806976DEST_PATH_IMAGE041
是由DAA颁布者提供,
Figure 420360DEST_PATH_IMAGE042
是TPM内部用于计算
Figure 977944DEST_PATH_IMAGE039
的种子;计算:
Figure 563646DEST_PATH_IMAGE043
Figure 790228DEST_PATH_IMAGE044
Figure 94171DEST_PATH_IMAGE045
Figure 198655DEST_PATH_IMAGE046
最后将
Figure 638864DEST_PATH_IMAGE047
发送给属性证书颁布者。
步骤3:属性证书颁布者根据
Figure 301926DEST_PATH_IMAGE047
计算
Figure 388438DEST_PATH_IMAGE048
。然后检查下式是否成立:
Figure 732831DEST_PATH_IMAGE049
如果成立继续执行下面协议,否则退出。
假设
Figure 293126DEST_PATH_IMAGE038
满足属性
Figure 861510DEST_PATH_IMAGE050
,计算:
Figure 586332DEST_PATH_IMAGE052
Figure 63450DEST_PATH_IMAGE053
发送给TPM。
步骤4:然后TPM计算
Figure 802735DEST_PATH_IMAGE051
Figure 807381DEST_PATH_IMAGE054
,将
Figure 555895DEST_PATH_IMAGE054
发送给主机,最后由主机验证下式:
(1)
若(1)式验证通过则将
Figure 968DEST_PATH_IMAGE056
作为属性证书。
(三)证明模块,对应于图4中的证明步骤;
步骤5:验证者选择随机数
Figure 552298DEST_PATH_IMAGE057
,将
Figure 838923DEST_PATH_IMAGE057
发送给TPM。
步骤6:TPM选择随机数
Figure 228316DEST_PATH_IMAGE074
,计算:
Figure 73518DEST_PATH_IMAGE059
Figure 373099DEST_PATH_IMAGE061
Figure 616998DEST_PATH_IMAGE062
Figure 636032DEST_PATH_IMAGE063
Figure 598172DEST_PATH_IMAGE064
Figure 226599DEST_PATH_IMAGE065
作为
Figure 325005DEST_PATH_IMAGE050
的签名
Figure 529589DEST_PATH_IMAGE066
,最后将
Figure 775762DEST_PATH_IMAGE067
发送给验证者。
(四)验证模块,对应于图4中的验证步骤;
步骤7:验证
Figure 207881DEST_PATH_IMAGE068
,若相等继续下面的验证,否则退出。
步骤8:对于撤销列表中所有的,若
Figure 787209DEST_PATH_IMAGE070
,则退出。
步骤9:验证下式
Figure 458362DEST_PATH_IMAGE071
(2)
(五) 撤销模块
由于平台升级,打补丁,新的病毒、网络攻击等原因,使得
Figure 428592DEST_PATH_IMAGE072
已经不满足属性
Figure 125DEST_PATH_IMAGE073
,则
Figure 188847DEST_PATH_IMAGE069
添加到撤销列表中。
系统的具体实施方式主要有两步:第一步先是安装PBC库;第二步是安装虚拟TPM设备。运行及测试基于属性的远程证明模拟系统主要也有两步:第一步是启动PBA服务;第二步是运行用户测试程序。
依照本发明,当使用本发明的用于证明远程平台安全属性的远程证明方法时,首先由系统参数生成模块生成系统参数,然后用户平台向可信第三方发出证书请求,可信第三方根据用户平台配置为其颁发属性证书。当用户发出证明请求时,证明系统通过签名证明自己持有有效的证书。最后验证者利用可信第三方的公钥和撤销列表验证签名的有效性。
综上所述,本发明引入了指定验证者签名的思想,提出了一个用于证明远程平台安全属性的远程证明方法。该方法的优点是属性证书的长度和签名长度比较短,计算量较小。不但可以降低通信量,且提高了证明效率。基于PBC库,实现了本发明提出的用于证明远程平台安全属性的远程证明方法。
对于该技术领域的普通技术人员来说,根据以上实施类型可以很容易的联想到其他的优点和变形。因此,本发明不局限于上述具体实施例,其仅仅做为例子对本发明的一种形态进行详细,示范性的说明。在不背离发明宗旨的范围内,本领域普通技术人员可以根据上述具体实施例通过各种等同替换所得到的技术方案,但是这些技术方案均应该包含在本发明的权利要求的范围及其等同的范围之内。

Claims (1)

1.一种用于证明远程平台安全属性的远程证明方法,其特征在于,包括以下步骤:
步骤A:属性证书颁布者生成用于颁布证书和远程证明的系统参数;所述系统参数包括公钥和私钥,其具体生成步骤如下:
步骤A-1,令
Figure DEST_PATH_IMAGE001
Figure 140443DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE003
均为素数阶
Figure 539194DEST_PATH_IMAGE004
的循环群,随机选取
Figure 405257DEST_PATH_IMAGE001
生成元
Figure DEST_PATH_IMAGE005
生成元
Figure 171273DEST_PATH_IMAGE006
;属性证书颁布者随机选取整数
Figure DEST_PATH_IMAGE007
作为私钥,计算公钥
Figure 690110DEST_PATH_IMAGE008
是满足条件的双线性映射;
步骤A-2,令
Figure 212227DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
Figure DEST_PATH_IMAGE013
为四个抗碰撞的哈希函数,其中
Figure 707821DEST_PATH_IMAGE016
步骤A-3,属性证书颁布者将上述系统参数
Figure 292518DEST_PATH_IMAGE018
作为公钥公开,私钥
Figure DEST_PATH_IMAGE019
保密;
步骤B:在证明者向属性证书颁布者提出颁布证书请求时,由TPM模拟器将证明者选取的一个随机数进行处理后作为秘密值嵌入属性证书中,然后由属性证书颁布者根据证明者提供的平台配置为证明者提供属性证书;具体步骤如下:
步骤B-1:属性证书颁布者选择随机数
Figure 486564DEST_PATH_IMAGE020
,然后将其发送给TPM模拟器;
步骤B-2:由TPM模拟器选择证明者提供的随机数
Figure DEST_PATH_IMAGE021
,计算证明者提供的平台配置
Figure 618337DEST_PATH_IMAGE022
,然后计算TPM模拟器的私钥
Figure DEST_PATH_IMAGE023
的计算方法为:
Figure 162637DEST_PATH_IMAGE024
;其中,由DAA证书颁布者提供的参数,是TPM模拟器内部用于计算的种子;
步骤B-3,由TPM模拟器计算:
Figure DEST_PATH_IMAGE027
Figure 60470DEST_PATH_IMAGE028
Figure DEST_PATH_IMAGE029
Figure 547820DEST_PATH_IMAGE030
;然后将发送给属性证书颁布者;
步骤B-4:属性证书颁布者根据
Figure 286100DEST_PATH_IMAGE031
计算
Figure 946627DEST_PATH_IMAGE032
,然后检查公式:
Figure DEST_PATH_IMAGE033
是否成立;如果成立进入下一步骤,否则退出;
步骤B-5:假设
Figure 821173DEST_PATH_IMAGE022
满足的属性为,计算:
Figure DEST_PATH_IMAGE035
Figure 767318DEST_PATH_IMAGE036
;然后将
Figure DEST_PATH_IMAGE037
发送给TPM模拟器;
步骤B-6:由TPM模拟器计算
Figure 999296DEST_PATH_IMAGE035
Figure 118562DEST_PATH_IMAGE038
,将
Figure 245918DEST_PATH_IMAGE038
发送给验证者,最后由验证者验证下式:
Figure DEST_PATH_IMAGE039
;当验证通过则将
Figure 519642DEST_PATH_IMAGE040
作为属性证书颁布,否则退出;
步骤C:证明者根据步骤A所述系统参数,从属性证书中去除在步骤B中嵌入的秘密值,然后由证明者对属性证书进行签名;具体步骤如下:
步骤C-1:验证者选择随机数
Figure DEST_PATH_IMAGE041
作为新鲜因子,将该随机数发送给TPM模拟器;
步骤C-2:TPM模拟器选择随机数
Figure 699006DEST_PATH_IMAGE042
作为盲化因子,计算:
Figure DEST_PATH_IMAGE043
Figure 934946DEST_PATH_IMAGE044
Figure DEST_PATH_IMAGE045
Figure 633650DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE047
步骤C-3:证明者将
Figure DEST_PATH_IMAGE049
作为属性证书的签名
Figure 149174DEST_PATH_IMAGE050
,然后将
Figure DEST_PATH_IMAGE051
发送给验证者;
步骤D:验证者获得证明者的签名后,用属性证书颁布者提供的公钥验证证明者的签名; 具体步骤如下:
步骤D-1:验证
Figure 821595DEST_PATH_IMAGE052
,若验证该公式成立则继续下面的验证,否则退出;
步骤D-2:属性证书颁布者将不符合安全属性的属性证书添加进撤销列表中,验证者对于撤销列表中所有的
Figure DEST_PATH_IMAGE053
进行验证,当
Figure 804332DEST_PATH_IMAGE054
成立,则退出;反之进入下一步骤;
步骤D-3:验证
Figure DEST_PATH_IMAGE055
,当验证成立,表明平台配置
Figure 853190DEST_PATH_IMAGE056
满足属性
Figure DEST_PATH_IMAGE057
,验证通过;否则,表明平台配置
Figure 237773DEST_PATH_IMAGE056
不满足属性,验证失败退出。
CN201110386340.9A 2011-11-29 2011-11-29 一种用于证明远程平台安全属性的远程证明方法 Expired - Fee Related CN102685092B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 河南科技大学 一种面向多媒体社交网络的数字内容分发方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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