法律状态公告日
法律状态信息
法律状态
2015-05-06
授权
授权
2013-04-10
实质审查的生效 IPC(主分类):H04W12/06 申请日:20121210
实质审查的生效
2013-03-13
公开
公开
(一)技术领域
本发明涉及一种用于嵌入可信平台模块(Trusted Platform Module,TPM)移动终端平台 的直接匿名证明方法,其更是一种用于可信移动终端平台的身份认证匿名性和不可追踪性的 方法,属于无线局域网可信接入安全领域。
(二)背景技术
无线局域网技术不断发展,移动终端设备越发普及,随时随地地接入网络以获取服务逐 渐成为现实,然而无线网络传输媒体的开放性带来的安全问题成为应用的瓶颈,其中带来一 个安全威胁是无线局域网网络环境下用户可以使用任意终端设备(手机,Pad,笔记本等) 接入网络获取服务,如果用户所使用的设备带有某些不安全的因素,则可能导致用户或服务 提供者的秘密信息被篡改或窃取等,如用户使用一台被攻击过的笔记本通过无线局域网访问 一些秘密信息,尽管用户拥有访问该信息的权限,但由于所使用的设备不安全仍会造成秘密 信息的泄漏。针对这种威胁,服务提供商有必要对终端设备建立平台身份认证,确保只有安 全可信的设备才可以获取服务。在无线环境下,用户及平台的身份认证是整个安全方案的基 础,而匿名性是无线网络认证的重要方面,用户在使用服务提供商提供如GPS等地图服务 时,该类服务会读取终端设备的硬件信息,从而造成了用户设备隐私的泄漏,若该类信息被 攻击者窃取进行非法应用,会给用户带来难以估计的损失,因而对终端平台的匿名认证方案 研究成为当前的研究热点之一。
可信计算组织(Trusted Computing Group,TCG)提出了一种基于可信平台模块TPM为 终端设备平台建立身份的方案,该方案已被国内外研究机构进行了深入的研究。可信芯片是 可信计算平台的核心和基础,是嵌入在终端设备防篡改的安全芯片,该芯片出厂时会被唯一 绑定一个签注密钥对,并由芯片提供硬件级保护,用此可标识可信计算平台的身份。如果可 信计算平台在远程认证时基于该密钥,则其隐私性将无法得到保障。因此可信计算平台与服 务提供商进行交互时,需要一种远程匿名认证机制来保护可信计算平台的隐私性,在不暴露 可信计算平台身份的同时进行远程认证。在TPM规范中提出了两种方案来解决可信计算平 台的隐私性保护问题。TPM v1.1规范提出的方案基于一个称为隐私CA(Privacy-CA)的可信 第三方。Privacy-CA为TPM签发身份证书,TPM将该证书发送给验证者,验证者将该证书 返回给Privacy-CA一同验证TPM证书的合法型。该方案存在每次通信过程都需要经过 Privacy-CA的缺点,Privacy-CA成为系统的安全和性能的瓶颈。为了弥补以上的不足, TPMv1.2规范采纳了Brickell等人首次提出的直接匿名证明(Direct Anonymous Attestation, DAA)方案,通过数学难题假设以及知识证明签名的原理,在满足用户可控的匿名性和不可 追踪性前提下,完成可信平台真实性的验证,在签名和验证的过程中不需要可信第三方的参 与,然而该DAA方案采用RSA密码体制导致密钥过长,签注密钥对(Endorsement Key, EK)证书管理复杂,认证协议交互复杂运算量大等不足,并不适用计算能力及存储能力有 限的移动终端等。基于此,我们发明了本方法,涉及的主要技术理论为双线性映射。
双线性对(Weil Pairing和Tate Pairing)在设计密码协议时起到了很大的作用,很多协议 和密码系统都利用了双线性对的理论。它可以把椭圆曲线上的离散对数问题转化到有限域上 的离散对数问题。
双线性映射:设G1、G2和GT分别是阶为素数的循环群,lq∈N,g1为G1的生成元, g2为G2的生成元,并且G1,G2上的离散对数问题是难解的。存在双线性映射e:G1×G2→ GT满足以下性质:
(1)双线性:e(aP,bQ)=e(P,Q)ab,对所有的P∈G1,Q∈G2,a,b∈Zq*都 成立;
(2)非退化性:存在P∈G1*,Q∈G2*,使得其中是GT的幺元;
(3)可计算性:对于P∈G1,Q∈G2,存在有效的算法来计算e(P,Q)。
(三)发明内容
(1)发明目的
本发明的目的是提出一种应用于可信移动终端平台的直接匿名证明方法。它可用于无线 局域网环境下某一网络域中服务提供者对请求服务的可信终端的匿名性认证,其实现平台签 注密钥对的产生、平台身份建立与撤销,以及移动终端身份认证。该方法满足匿名认证的正 确性、不可伪造性、不可追踪性要求,适用于计算资源有限且嵌有可信平台模块的移动终端 平台。
(2)技术方案
为了达到上述目的,本发明结合了双线性对技术,身份签名技术,零知识证明技术,其 技术方案如下。
本发明主要包括四个实体:1)终端厂商(Company,C):可信终端设备生产商,在移 动终端设备出厂时将EK密钥由写入TPM芯片中,并由可信芯片TPM提供硬件级的保护, 一经写入不可更改。其中每个终端设备均包括主机及可信芯片TPM,设备生产商通过硬件 的形式将两者绑定并不可解除;2)身份权威机构(Identity authority,I):负责对网络域中 的设备平台身份进行管理的机构;3)可信终端设备(S,H):嵌有可信芯片TPM的移动终 端设备,如手机、Pad、笔记本电脑等,其中S表示TPM模块,H表示终端设备主机;4) 验证者(Verifier,V):网络域中的服务提供者机构,对请求服务的设备验证其身份可信性。 以下将结合附图对所述的技术方案进行阐述,图1为系统架构图;图2为身份建立过程图; 图3为身份验证过程图。
本发明一种应用于可信移动终端平台的直接匿名证明方法,按照执行阶段其可分为系统 初始化、身份建立和身份验证三个阶段共9个步骤,评述如下:
阶段1:系统初始化:包括第(1)~(3)步,系统初始化分生产厂商系统初始化和身 份权威机构系统初始化两部分,两者独立存在,互不干扰。生产厂商系统初始化完成自身的 公私密钥对的生成,网络域身份权威机构系统初始化完成自身的公私密钥对的生成。身份权 威机构初始化完成后建立身份撤销列表并保持该列表的更新。
步骤1:生产厂商系统初始化:通过使用PBC库(Paring-Based Library)选取A类型双 线性对,并使用PBC库中随机数生成函数生成随机数,生成公私钥对并发布公钥;
步骤2:身份权威机构系统初始化:通过使用PBC库(Paring-Based Library)选取D类 型双线性对,并使用PBC库中随机数生成函数生成随机数,杂凑函数及生产厂商公钥,生 成公私钥对并初始化身份撤销列表;
步骤3:设备EK密钥对初始化:生产厂商对每一个出厂的设备根据厂商名、设备标识 号以及出厂日期等,并使用Cha-Cheon提出的基于身份的签名方案生成唯一的EK密钥对并 写入TPM 芯片中,并由其提供硬件级保护;
阶段2:身份建立过程:包括第(4)~(6)步,当终端设备欲加入某网络域时,首先 要由该网络域中的身份权威机构I为该设备(S,H)建立身份,该过程在安全信道中通信。
步骤4:发送挑战数:当终端设备请求该网络域内的身份建立过程时,身份权威机构向 其发送挑战数,以验证该终端身份可信。
步骤5:终端设备做出响应:终端接收挑战数,使用自身EK私钥对其签名,将签名后 的结果发给身份权威机构。
步骤6:验证与颁发身份证书:身份权威机构首先验证其身份是否在身份撤销列表中, 若其身份可信,则为其颁发身份证书,并发送给终端设备,终端设备保存该证书。
阶段3:身份验证过程;包括第(7)~(9)步,当终端在网络域内请求服务时,服务 提供者首先验证其平台的身份证书的是否真实有效且未被撤销,若验证通过,则为其提供服 务,否则拒绝提供服务。
步骤7:发送挑战数:服务提供者即验证者通过无线网络连接向请求服务的终端发送挑 战数。
步骤8:终端设备应答:终端设备将身份权威颁发的证书通过与随机数相乘进行一次盲 变换,得到临时身份证书Cert′,并将结果发送给验证者。
步骤9:验证身份证书的合法性:验证者通过查询身份撤销列表及相应计算验证终端的 临时身份证书,若验证通过,则为其提供服务,否则拒绝服务。
(3)优点及功效
本发明是一种应用于可信移动终端平台的直接匿名证明方法,涉及身份建立,身份验证 等过程。其优点和功效是:1)身份建立的正确性及不可伪造性;2)身份验证的正确性及不 可伪造性;3)身份验证匿名性及不可追踪性;4)前、后向安全性及证书不可复制;5)采 用双线性映射技术,减小了计算开销并有高的安全可靠性。
(四)附图说明
图1系统架构图
图2身份建立过程图
图3身份验证过程图
图4本发明所述方法流程图
图中符号,代号说明如表1所示。
表1主要符号
(五)具体实施方式
本发明主要包括四个实体:1)终端厂商(Company,C);2)身份权威机构(Identity authority, I);3)可信终端设备(S,H);4)验证者(Verifier,V)。以下将结合附图对所述的技术方 法进行详细阐述,图1为系统架构图;图2为身份建立过程图;图3为身份验证过程图。
主要的符号及算法解释如表2所示。
表2主要符号
我们的方法可分为系统初始化、身份建立过程、身份验证过程三个阶段。方法中的数学 计算可以调用PBC库中的函数完成计算,其中杂凑函数可以选取OpenSSL库中的杂凑函数, 如MD5,SHA-1等,下面是本发明的详细执行过程如下:见图4所示。
1.系统初始化阶段
系统初始化分生产厂商系统初始化和网络域身份权威机构系统初始化两部分,两者独立 存在,互不干扰。
步骤1:终端生产厂商C初始化过程如下:
(1)选取双线性映射ec:Gc1×Gc1→Gc2。其中Gc1为素数q阶循环群。使用PBC库生 成A类型双线性映射,A类型双线性映射参数选择样例如表3所示。
表3A类型双线性对生成参数样例
(2)选取Hash函数H1:{0,1}*→Gc1*。
(3)选定Gc1的生产元gc1,生成随机数s∈Zq*,计算Ppub=sgc1。
(4)生成公钥PKc={q,Gc1,Gc2,ec,gc1,ppub,H1}并发布,存储并保护对应私钥 SKc=s。
步骤2:身份权威机构I初始化过程如下:
(1)使用PBC库选取D类型双线性对以及选取G1、G2和GT分别是阶为素数的 循环群,lq∈N,g1为G1的生成元,g2为G2的生成元,选择双线性映射ec:G1×G2→GT。 其中D类型双线性对的生成参数样例如表4所示。
表4D类型双线性对生成参数样例
(2)选择Hash函数H:{0,1}*→{0,1}n。
(3)由函数(如PBC库中随机数生成函数)生成两个秘密随机数x,计算 X=x·g1,Y=y·g2。
(4)选择可信厂商C,并存储其公钥PKc={q,Gc1,Gc2,ec,gc1,Ppub,H1}。
(5)初始化撤销列表RL。
(6)生成身份权威机构I的公钥PKI={q,n,G1,G2,GT,g1,g2,e,X,Y,H}并 发布,存储并保护身份权威机构私钥SKI=(x,y)。
步骤3:设备EK密钥对生成过程如下:
对于终端设备(S,H),其中S表示该设备绑定的可信芯片,H表示该设备的主机平台。 厂商C的公钥PKc={q,Gc1,Gc2,ec,gc1,Ppub,H1},私钥SKc。
基于Cha-Cheon提出的基于身份签名方案,终端厂商C通过以下过程为终端设备生成 EK公私钥对。
(1)为设备分配唯一的序列号IDM∈{0,1}*,该IDM通常包含厂商标识符,设备序列号 等信息,此IDM即为该设备的EK公钥,计算QID=H1(IDM)。
(2)计算EK私钥EKpriυ=SKc·QID。
(3)将IDM、EKpriυ和QID注入可信芯片S中。
对于明文m,我们定义(S,H)用私钥EKpriυ产生签名的步骤如下:
(1)通过调用随机数生成函数选取秘密随机数
(2)通过PBC库中函数,在终端设备中计算U=rs·QID,h=H1(m||QID)∈Gc1*, V=(rs+h)·EKpriu,其中Q1D=H1(IDM)。
(3)(S,H)产生的签名为
接收到签名后,验证者验证等式ec(gc1,V)=ec(ppub,U+h· QID)是否成立,若等式成立,则接受签名,否则拒绝签名。
2.身份建立过程阶段
当终端设备欲加入某网络域时,首先要由该网络域中的身份权威机构I为该设备(S,H) 建立身份,身份权威机构I的公钥PKI={q,n,G1,G2,GT,g1,g2,e,X,Y,H},身 份权威机构私钥SKI=(x,y),身份权威机构I拥有可信厂商C的公钥 PKc={q,Gc1,Gc2,ec,gc1,Ppub,H1}。该通信过程在安全信道下进行,过程如图2所 示。
步骤4:发送挑战数:
身份权威机构I与设备(S,H)建立网络连接,并通过安全信道向设备(S,H)发送 挑战数NI,挑战数为随机数字符串与时间戳字符串的串接。
步骤5:终端设备(S,H)作出响应:
(1)S使用EK私钥EKpriv对该挑战数进行签名签名使用Cha-Cheon基 于身份的签名算法。
(2)S计算
(3)(S,H)通过安全信道发送至身份权威机构I。
步骤6:验证与颁发身份证书:
(1)身份权威机构I首先查询(f,IDM)是否在撤销列表RL中,若(f,IDM)未被撤销则 使用Cha-Cheon签名算法中验证签名算法验证的正确性,若验证通过,则该终 端设备可信,身份权威机构存储(f,IDM)。
(2)身份权威机构I通过调用随机数生成函数选取秘密随机数为该终端设备 平台颁发可信身份证书Cert=(C,D,E,F,W),其中C=r·g1,D=y·C,E=r· g2,F=x·E,W=f·E。
(3)身份权威机构I通过安全信道发送终端的身份证书Cert至终端设备(S,H),并由 H保存身份证书Cert。
3.身份验证过程阶段
终端设备(S,H)利用身份认证协议向验证者证明自己拥有身份权威机构I颁发的合法 身份证书Cert,由于证书的唯一性,仍然存在设备平台身份易被追踪而造成隐私泄漏的问题, 针对此问题,我们在每次验证时对Cert进行一次变换,生成临时身份证书Cert′,并用于验证 过程中。该过程如图3所示。
步骤7:发送挑战数:
验证者与设备(S,H)建立网络连接,并通过无线网络发送挑战数N至H,挑战数为 随机数字符串与时间戳字符串的串接。
步骤8:终端设备应答:
(1)H通过调用随机数生成函数选取秘密随机数计算 Cert′=(C′,D′,E′,F′,W′),其中C′=t·C,D′=t·D,E′=t·E,F′=t·F,W′=t· W,计算h=H(Cert′),发送(h,E′,N)到S。
(2)S通过调用随机数生成函数选取秘密随机数计算γ=z·E′,υ= H(h||γ||N),s=z+υ·fmod q,S将σ′=(υ,s)发送给H。
(3)H通过无线网络发送σ=(σ′,Cert′)到验证者。
步骤9:身份验证:
验证者收到σ=(σ′,Cert′)后,其中Cert′=(C′,D′,E′,F′,W′),σ′=(υ,s),进 行如下操作:
(1)从撤销列表RL中取已撤销的秘密数f′,计算W″=f′·E′,若W″=W′,则说明该 设备平台身份在撤销列表RL中,设备不可信,验证不通过,验证结束。
(2)若W″≠W′则说明该设备平台身份不在RL中,进行下一步的验证过程,若 e(C′,Y)=e(D′,g2)与e(X,E′)=e(g1,F′)均成立时,说明该设备拥有身份权威机构I 颁发的可信身份证书。否则验证不通过,验证结束。
(3)若上一步验证通过,则计算γ′=s·E′-υ·W′,h′=H(Cert′),υ′=H(h′||γ″||N),若 υ′=υ,则说明S中存有秘密数f,该设备是可信且拥有身份权威机构I颁发的合法身份证 书,至此验证通过,验证过程结束,验证者可以为设备(S,H)提供服务。
机译: 利用匿名密钥系统的可信平台模块认证和证明
机译: 利用匿名密钥系统进行可信平台模块的认证和认证
机译: 利用匿名密钥系统进行可信平台模块的认证和认证