首页 理论教育 Schnorr身份识别方案的优化与应用

Schnorr身份识别方案的优化与应用

时间:2023-07-02 理论教育 版权反馈
【摘要】:Schnorr身份识别方案由Schnorr在1991年提出,它是一种计算量、通信量都很小的识别方案。但到目前为止,没有证明Schnorr身份识别方案是安全的。因此,针对一般交互式身份识别协议,有以下三方面要求。

Schnorr身份识别方案的优化与应用

Schnorr身份识别方案由Schnorr在1991年提出,它是一种计算量、通信量都很小的识别方案。该识别方案的安全性基于计算离散对数的困难性,它特别适用于在智能卡(Smart Card)上使用。

1.选择参数

Schnorr识别方案需要一个可信任的验证中心TA,且选择参数如下:

pq是两个大素数,且q|(p-1),q至少为140bit,而p至少512bit。

α∈Zp*,为q阶元。

hx)是输出为t bit的单向函数,t是一个安全参数(t=40bit或t=72bit)。

●选择签名生成算法Sigta和签名验证算法Verta

2.TA向示证者P颁发证书

1)TA为P建立身份信息IDP,一般为512bit。

2)P选取随机数x作为自己的私钥x∈[1,q-1],计算出公钥yα-x(mod p),P到TA处注册其公钥。

3)TA计算签名S=SigtaIDPy),将身份证书CertP=(IDPyS)发送给P。

3.示证者P向验证者V证明自己的身份

1)P将自己的身份证书CertP交给验证者V。

2)V通过检查证书CertP,来验证TA的签名。

3)P任意选择一整数rr∈[1,q-1],计算βαr(mod p)发给V。

4)V任选取一整数e∈[1,2t]作为询问值发送给P。

5)P计算wr+xe(mod q),把w作为对V的应答值发送给V。

6)V验证αwye(mod p),判断其是否等于β,若相等,则V相信对方就是P。(www.xing528.com)

实际上,若双方都诚实,则

αwyeαr+xeα-xeαr(mod p)≡β

4.安全性分析

掌握秘密随机数x的示证者P,对于验证者V的任何询问e他都能正确回答w并通过V的验证,所以该协议是完全的。在步骤5)中,由于随机整数r的干扰,P并未向V暴露自己的私钥x,而V完全可以相信P拥有私钥x,否则无法得到αwye(mod p)≡β的结果。

在步骤4)中,t是安全参数,如果t值不够大,则攻击者有可能猜中V的询问值e。假设攻击者在步骤3)中先选取w∈[1,q-1],再计算αwye(mod p)≡β,并将β送给V。在步骤5)他把自己已经选好的w送给V,V在验证时肯定通过。攻击者伪装成P成功的概率为2-t

假设攻击者知道P传递给V的一个β值,且成功伪装成P的概率大于2×2-t,这说明对于一个β值攻击者已知道了(e1w1)和(e2w2)两对值,使得

从而有

w1-w2≡xe1-e2)(mod q

因0<|e1-e2|<2tq,有gcd((e1-e2),q)=1,则(e1-e2-1存在,所以P的私钥可求出

x≡(w1-w2)(e1-e2-1(mod q

从上面的分析可知,攻击者能以不可忽视的概率成功伪装成示证者P,也必定知道P的秘密信息x,因此该协议不满足隐藏性;反过来,不知道P的秘密信息的人成功执行识别方案的概率可以忽略不计,从而该协议是合理的。但到目前为止,没有证明Schnorr身份识别方案是安全的。

因此,针对一般交互式身份识别协议,有以下三方面要求。

1)完全性:对于诚实的合法示证者和验证者,验证成功的概率几乎百分之百。

2)合理性:当不知道示证者信息和私钥时,验证通过的概率几乎为零。

3)隐蔽性:若示证者是诚实的,无论协议执行多少次,任何人(包括验证者)都无法推知示证者的密钥,无法冒充这个示证者。

然而,一个满足完全性和合理性的协议,未必是安全的。比如P可以把私钥有意泄露给C,从而C能够冒充P,使协议变得不安全。但完全性和合理性却不受影响。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈