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