文档介绍:第12章身份识别方案
识别(identification)和身份验证(authentication)区别:
当说到身份验证时,通常存在一些承载信息的消息在通信双发之间交换,其通信的一方或双方需要被验证。
识别(有时称为实体验证)是对一个用户身份的实时验证,它不需要交换承载信息的消息。
一个安全的识别协议至少应该满足以下两个条件:
证明者A能向验证者B证明他的确是A;
在证明者A向验证者B证明他的身份后,验证者B没有获得任何有用的信息,B不能模仿A向第三方证明他是A。
无线网络中通常使用质询-响应识别(challenge-response identification)或强识别方案:
A通过密码和用户名向B登记。
B发给A一个随机号码(质询)
A用一个随机号码的加密值答复,其中使用了A的密码作为密钥完成加密(响应)。
B证明A确实拥有密钥(密码)。
Schnorr身份识别方案
用户A将其身份名I及公开密钥送交验证者B。验证者根据TA的数字签名来验证用户A的公开密钥;
用户A任选一整数r,1≤ r≤q-1计算X=αrmodp,并将X送给验证者B;
验证者B任选一整数e∈[0,…,2t-1],送给用户A;
用户A送给验证者B:y=r+semod q;
验证者B验证: 。
安全性分析
针对一般交互式用户身份证明协议,都必须满足以下三种性质。
pleteness):若用户与验证者双方都是诚实地执行协议,则有非常大的概率(趋近于1),验证者将接受用户的身份。
健全性或合理性(Soundness):若用户根本不知道与用户名字相关的密钥,且验证者是诚实的,则有非常大的概率,验证者将拒绝接受用户的身份。
隐藏性(Witness hiding):若用户是诚实的,则不论协议进行了多少次以及不论任何人(包括验证者)都无法从协议中推出用户的密钥,并且无法冒充用户的身份。
Okamoto身份识别方案
A随机选择两个数,并计算;
A将他的证书和X发送给B;
B通过检测真来验证TA的签名;
B随机选择一个数,并将e发送给A;
A计算并将y1,y2发给B;
B验证。
12. 3 Guillou-Quisquater身份识别方案
A随机选择一个整数并计算;
A将他的证书和X发送给B;
B通过检测真来验证TA的签名;
B随机选择一个数,并将e发送给A;
A计算并将y发送给B;
B验证。
基于身份的身份识别方案
Shamir的基于身份的密码方案的基本思想
安全性主要依赖于以下几个方面:
所使用的密码变换(诸如加密变换、签名变换等)的安全性;
存储在密钥产生中心的特权信息的保密性;
在密钥产生中心给用户颁布Smart卡之前所完成的识别检测的严格性(要求用户
提供的身份确实能唯一确定用户,而且用户不能否认);
为了阻止用户的Smart卡的丢失、复制或未授权的使用,用户所采取的措施。
公钥签名方案和基于身份的签名方案之间的差别