1、第12章 身份识别方案,识别(identification)和身份验证(authentication)区别: 当说到身份验证时,通常存在一些承载信息的消息在通信双发之间交换,其通信的一方或双方需要被验证。 识别(有时称为实体验证)是对一个用户身份的实时验证,它不需要交换承载信息的消息。,一个安全的识别协议至少应该满足以下两个条件: 证明者A能向验证者B证明他的确是A; 在证明者A向验证者B证明他的身份后,验证者B没有获得任何有用的信息,B不能模仿A向第三方证明他是A。,无线网络中通常使用质询-响应识别(challenge-response identification)或强识别方案: A通过密
2、码和用户名向B登记。 B发给A一个随机号码(质询) A用一个随机号码的加密值答复,其中使用了A的密码作为密钥完成加密(响应)。 B证明A确实拥有密钥(密码)。,12.1 Schnorr身份识别方案,用户A将其身份名I及公开密钥送交验证者B。验证者根据TA的数字签名来验证用户A的公开密钥; 用户A任选一整数r,1 rq-1计算X=rmodp,并将X送给验证者B; 验证者B任选一整数e0,2t-1,送给用户A; 用户A送给验证者B:y=r+semod q; 验证者B验证: 。,安全性分析 针对一般交互式用户身份证明协议,都必须满足以下三种性质。 完全性(Completeness):若用户与验证者双
3、方都是诚实地执行协议,则有非常大的概率(趋近于1),验证者将接受用户的身份。 健全性或合理性(Soundness):若用户根本不知道与用户名字相关的密钥,且验证者是诚实的,则有非常大的概率,验证者将拒绝接受用户的身份。 隐藏性(Witness hiding):若用户是诚实的,则不论协议进行了多少次以及不论任何人(包括验证者)都无法从协议中推出用户的密钥,并且无法冒充用户的身份。,12.2 Okamoto身份识别方案,A随机选择两个数 ,并计算; A将他的证书 和X发送给B; B通过检测 真来验证TA的签名; B随机选择一个数 ,并将e发送给A; A计算 并将y1,y2发给B; B验证 。,12
4、. 3 Guillou-Quisquater身份识别方案,A随机选择一个整数 并计算; A将他的证书 和X发送给B; B通过检测 真来验证TA的签名; B随机选择一个数 ,并将e发送给A; A计算 并将y发送给B; B验证 。,12.4 基于身份的身份识别方案,12.4.1 Shamir的基于身份的密码方案的基本思想 安全性主要依赖于以下几个方面: 所使用的密码变换(诸如加密变换、签名变换等)的安全性; 存储在密钥产生中心的特权信息的保密性; 在密钥产生中心给用户颁布Smart卡之前所完成的识别检测的严格性(要求用户 提供的身份确实能唯一确定用户,而且用户不能否认); 为了阻止用户的Smart
5、卡的丢失、复制或未授权的使用,用户所采取的措施。,公钥签名方案和基于身份的签名方案之间的差别,要实现shamir的基于身份的密码方案的思想,我们需要一个具有下列两个附加条件的公钥密码体制: 当知道种子时,秘密密码能从公钥中很容易地求出。 从一对特定的公开密钥和秘密密钥求出它们的种子是困难的。,12.4.2 Guillou-Quisquater的基于身份的识别协议,A随机选择一个整数 并计算 A把ID(A)和X发送给B; B计算 ; B随机选择一个数 ,并将e发送给A; A计算 并将y发送给B; B验证 。,12.5 转换身份识别为签名方案,Schnorr签名方案 设p及q是一个大素数,且q|(
6、p-1),在Zp上离散对数问题是难处理的。设Zp*是一个阶为q的元素。H是一个Hash函数。, , 。值 是公开的,s是保密的。对 和一个(秘密的)随机数r Zq*,定义对消息m的签名,其中 , 。对m,X Zp*和y Zq,定义 。,Okamoto签名方案,当A对消息签名m时,首先随机选择两个数 ,然后计算:, ,A对消息m的签名是三重组(e,y1,y2)。当接收者B收到签名(e,y1,y2)时,B计算 ,并验证 。,Guillou-Quisquater签名方案,A对消息的签名过程为: 随机选择一个整数 并计算; 计算 ; 计算 ,A对消息m的签名是对(e,y)。 接收者B验证签名的过程为:
7、 获得A的公钥n,b,v; 计算 和 ; 验证是否有e=e,如果e=e,则B接受A的签名,否则,拒绝。,小结,本章主要介绍了三类身份识别方案:Schnorr身份识别方案、Okamoto身份识别方案、Guillou-Quisquater身份识别方案。这些方案都是较实用的识别方案。 在识别协议中,有两类协议是特别诱人的,一类是零知识识别协议,另一类是基于身份的识别协议。有关零知识识别协议的典型代表是Feige-Fiat-Shamir识别协议。有关基于身份的识别协议是Shamir首次提出的一种观点。 Brickell及McCurley将Schnorr协议中的参数略做修改,发展出一种美国Sandia国家实验室所用的协议。该协议数学理论上较Schnorr协议更完整。,