安徽工程大学 信息安全原理及应用 第7讲 数字签名与身份认证
合集下载
数字签名与身份认证

盲签名的过程: (1)Alice将文件M乘一个随机数得M’,这个随机数通常称为盲因子,Alice将盲消息M’送给Bob; (2)Bob在M’上签名后,将其签名Sig(M’)送回Alice; (3)Alice通过除去盲因子,可从Bob关于M’的签名Sig(M’)中得到Bob关于原始文件M的签名Sig(M)。
根据用户拥有什么来判断,Something the user possesses (拥有) 身份证、护照、门钥匙、磁卡钥匙等
根据用户是什么来判断, Something the user is (or How he behaves) (特征) 指纹、声音、视网膜、签名、DNA等
身份认证的主要方法
基于口令的身份认证 基于智能卡的身份认证 基于生物特征的身份认证 签名识别法 指纹识别技术 语音识别系统 视网膜图像识别系统 还有其他一些不常见的方法:唇印、脚印、头盖骨的轮廓、人体骨骼对物理刺激的反应
一次性口令的安全原理 使用一次性口令序列 n次 第一个口令——使用单向函数n次 p(1)=f(f(f(f(s)))) 第二个口令——使用单向函数n-1次 p(2)=f(f(f(s))) 依次类推
一次性口令系统实例
1991年,贝尔通信研究中心(Bellcore)首次研制出了基于一次性口令思想的身份认证系统S/KEY。 FreeBSD操作系统下的一次性口令系统——OPIE(One-time Passwords In Everything)
数字签名体制
常规数字签名体制 (1)RSA签名 (2)DSS签名 (3)ECDSA签名 特殊数字签名体制 (4)不可否认签名 (5)失败-终止签名 (6)盲签名 (7)批量签名 (8)群签名 (9)代理签名 (10)多重签名
RSA签名原理
根据用户拥有什么来判断,Something the user possesses (拥有) 身份证、护照、门钥匙、磁卡钥匙等
根据用户是什么来判断, Something the user is (or How he behaves) (特征) 指纹、声音、视网膜、签名、DNA等
身份认证的主要方法
基于口令的身份认证 基于智能卡的身份认证 基于生物特征的身份认证 签名识别法 指纹识别技术 语音识别系统 视网膜图像识别系统 还有其他一些不常见的方法:唇印、脚印、头盖骨的轮廓、人体骨骼对物理刺激的反应
一次性口令的安全原理 使用一次性口令序列 n次 第一个口令——使用单向函数n次 p(1)=f(f(f(f(s)))) 第二个口令——使用单向函数n-1次 p(2)=f(f(f(s))) 依次类推
一次性口令系统实例
1991年,贝尔通信研究中心(Bellcore)首次研制出了基于一次性口令思想的身份认证系统S/KEY。 FreeBSD操作系统下的一次性口令系统——OPIE(One-time Passwords In Everything)
数字签名体制
常规数字签名体制 (1)RSA签名 (2)DSS签名 (3)ECDSA签名 特殊数字签名体制 (4)不可否认签名 (5)失败-终止签名 (6)盲签名 (7)批量签名 (8)群签名 (9)代理签名 (10)多重签名
RSA签名原理
第05章 数字签名与身份认证

报文作为输入计算出来的,签名能够对消息的内容进行鉴别; 数据签名对发送者来说必须是惟一的,能够防止伪造和抵赖; 产生数字签名的算法必须相对简单易于实现,且能够在存储介质上保 存备份; 对数字签名的识别、证实和鉴别也必须相对简单,易于实现; 伪造数字签名在计算上是不可行的,无论攻击者采用何种方法(利用 数字签名伪造报文,或者对报文伪造数字签名)。
B
沈阳航空航天大学
1:消息+签名
T
基于仲裁的数字签名
A
B
2:消息、签名+仲裁的验证
实现的方案
基于对称密钥的方案 基于公开密钥的方案
沈阳航空航天大学
基于仲裁的数字签名--对称密钥加密方式 改进--明文加密的方案 ① A → T :IDA‖EKAB (M)‖EKTA( IDA‖H (EKAB(M)) )。 ② T→ B :EKTB( IDA‖EKAB (M)‖EKTA( 争端解决方式(A否认发送了报文M的时候) IDA‖H (EKAB(M))‖T )。 特征: 发送方A和仲裁T共享一个密钥KTA 。 B → T :EKTB( IDA‖M‖EKTA( IDA‖H(M) ) )。 ① A与 B 之间共享密钥 KAB 。 仲裁T可用KTB恢复出IDA 、M及签名,然后再用KTAK 加密。 ② DS 的构成:IDA和消息密文的散列码用 对签名解密并验证 数字签名由A的标识符IDA和报文的散列码H(M)构 TA 其散列码。 ③ DS 的验证:T 解密签名,用散列码验证消息。 成 ,用密钥KTA只能验证消息的密文,而不能读取其内容。 --T 进行加密。 ④ T将来自 A 的所有信息加上时间戳并用 KTB 加密后发送给B 。 过程: 问题: ① T 和发送方 A 联手可以否认签名的信息。 特点: (1)A → T :M‖EKTA( IDA‖H(M) )。 ② T和接收方 B 不能直接验证 A 的签名。 B联手可以伪造发送方 A 的签名。 (2)T → B③ 因为签名所使用的密钥是T 与用户共享的。 :EKTB 双方都需要高度相信 T:( IDA‖M‖EKTA( IDA‖H(M) )‖T )。 (3) (1)B 相信 T 已对消息认证,A 不能否认其签名; B存储报文M及签名。 (2)A 信任 T 没有暴露 KTA,无人可伪造EKTA( IDA‖H(M) ); (3)双方都信任 T 处理争议是公正。 问题: (1)报文 M 明文传送,有可能被窃听。 (2)若仲裁T不可信,则T 可能伪造数字签名。
B
沈阳航空航天大学
1:消息+签名
T
基于仲裁的数字签名
A
B
2:消息、签名+仲裁的验证
实现的方案
基于对称密钥的方案 基于公开密钥的方案
沈阳航空航天大学
基于仲裁的数字签名--对称密钥加密方式 改进--明文加密的方案 ① A → T :IDA‖EKAB (M)‖EKTA( IDA‖H (EKAB(M)) )。 ② T→ B :EKTB( IDA‖EKAB (M)‖EKTA( 争端解决方式(A否认发送了报文M的时候) IDA‖H (EKAB(M))‖T )。 特征: 发送方A和仲裁T共享一个密钥KTA 。 B → T :EKTB( IDA‖M‖EKTA( IDA‖H(M) ) )。 ① A与 B 之间共享密钥 KAB 。 仲裁T可用KTB恢复出IDA 、M及签名,然后再用KTAK 加密。 ② DS 的构成:IDA和消息密文的散列码用 对签名解密并验证 数字签名由A的标识符IDA和报文的散列码H(M)构 TA 其散列码。 ③ DS 的验证:T 解密签名,用散列码验证消息。 成 ,用密钥KTA只能验证消息的密文,而不能读取其内容。 --T 进行加密。 ④ T将来自 A 的所有信息加上时间戳并用 KTB 加密后发送给B 。 过程: 问题: ① T 和发送方 A 联手可以否认签名的信息。 特点: (1)A → T :M‖EKTA( IDA‖H(M) )。 ② T和接收方 B 不能直接验证 A 的签名。 B联手可以伪造发送方 A 的签名。 (2)T → B③ 因为签名所使用的密钥是T 与用户共享的。 :EKTB 双方都需要高度相信 T:( IDA‖M‖EKTA( IDA‖H(M) )‖T )。 (3) (1)B 相信 T 已对消息认证,A 不能否认其签名; B存储报文M及签名。 (2)A 信任 T 没有暴露 KTA,无人可伪造EKTA( IDA‖H(M) ); (3)双方都信任 T 处理争议是公正。 问题: (1)报文 M 明文传送,有可能被窃听。 (2)若仲裁T不可信,则T 可能伪造数字签名。
应用密码学 第7章 认证理论与技术—数字签名(1)

数字签名方案里面都会使用消息摘要算法.
•小结:数字签名应具有的性质:
(1)收方能确认或证实发方的签字,但不能伪造; (2)发方发出签名后的消息,就不能否认所签消息; (3)收方对已收到的消息不能否认; (4)第三者可以确认收发双方之间的消息传送,但不能伪造这一过程; (5)必须能够验证签名者及其签名的日期时间; (6)必须能够认证被签名消息的内容; (7)签名必须能够由第三方验证,以解决争议。
17
(3)验证过程。 公众在看到消息m和对其签名s后,利用Bob的公开验证密钥{e, n}对 消息进行验证。 公众计算:m≡se mod n是否成立,若成立,则Bob的签名有效。 公众认为消息m的确是Bob所发布,且消息内容没有被篡改。 也就是说,公众可以容易鉴别发布人发布的消息的完整性。
2020/3/26
于是人们就想,能不能对已经协商好的电子文档进行和手写签名一样的电 子签名呢?并且这个电子签名和要求手写签名具有相同的法律效力,同时也是 安全的,也即不能被伪造。这样,一方签名后,可以通过电子邮件发送给另一 方,效率高而且花费小。
数字签名的概念由Diffie和Hellman于1976年提出,目的是通过签名者对电子 文件进行电子签名,使签名者无法否认自己的签名,同时别人也不能伪造,实现 与手写签名相同的功能,具有与手写签名相同的法律效力。
由于数字签名技术在现在和未来社会里对政府、企事业、一般团体和个人的 重要影响,世界各国都加强了对它的研究。
• 1994年美国政府正式颁发了美国数字签名标准DSS(Digital Signature Standard),美国于2000年6月30日正式签署的《电子签名法案》,明确承认了 电子签名、电子合同和电子记录的法律效力,被认为是网络时代的重大立法。 • 2000年-2001年,爱尔兰、德国、日本、波兰等国政府也先后通过各自的电 子签名法案。
•小结:数字签名应具有的性质:
(1)收方能确认或证实发方的签字,但不能伪造; (2)发方发出签名后的消息,就不能否认所签消息; (3)收方对已收到的消息不能否认; (4)第三者可以确认收发双方之间的消息传送,但不能伪造这一过程; (5)必须能够验证签名者及其签名的日期时间; (6)必须能够认证被签名消息的内容; (7)签名必须能够由第三方验证,以解决争议。
17
(3)验证过程。 公众在看到消息m和对其签名s后,利用Bob的公开验证密钥{e, n}对 消息进行验证。 公众计算:m≡se mod n是否成立,若成立,则Bob的签名有效。 公众认为消息m的确是Bob所发布,且消息内容没有被篡改。 也就是说,公众可以容易鉴别发布人发布的消息的完整性。
2020/3/26
于是人们就想,能不能对已经协商好的电子文档进行和手写签名一样的电 子签名呢?并且这个电子签名和要求手写签名具有相同的法律效力,同时也是 安全的,也即不能被伪造。这样,一方签名后,可以通过电子邮件发送给另一 方,效率高而且花费小。
数字签名的概念由Diffie和Hellman于1976年提出,目的是通过签名者对电子 文件进行电子签名,使签名者无法否认自己的签名,同时别人也不能伪造,实现 与手写签名相同的功能,具有与手写签名相同的法律效力。
由于数字签名技术在现在和未来社会里对政府、企事业、一般团体和个人的 重要影响,世界各国都加强了对它的研究。
• 1994年美国政府正式颁发了美国数字签名标准DSS(Digital Signature Standard),美国于2000年6月30日正式签署的《电子签名法案》,明确承认了 电子签名、电子合同和电子记录的法律效力,被认为是网络时代的重大立法。 • 2000年-2001年,爱尔兰、德国、日本、波兰等国政府也先后通过各自的电 子签名法案。
信息安全:数字签名

给定私钥did和消息m选取随机数rzid输出签名id是否成立这里hhcha和cheon在预言机模型下证明了方案的安全性他们的思路被普遍应用于基于身份的签名方案的安全性证明中2021320编辑课件30一次数字签名方案环签名代理签名不可否认签名故障停止式签名方案指定接收人签名多重数字签名批验证数字签名门限签名2021320编辑课件312021320编辑课件32用电子手段来证实一个用户的身份及用户对网络资源的访问权限由权威认证中心certificateauthorityca签发主要用于数字签名的一个数据文件它包含用户身份信息用户公钥信息以及身份验证机构数字签名即相当于一个网上身份证
❖ 简单地说,数字签名就是指消息的发送者通过某 种签名方法产生的别人无法伪造的一段“特殊报 文”,该报文就是签名
2020/10/18
计算机科学与技术学院
6
签名方案的组成
一个签名方案是满足下列条件的五元组(P, A, K, S, V):
1. P:所有可能消息组成的有限集
2. A:所有可能签名组成的有限集
❖ 签名过程如下:
1. 系统初始化过程:同加密算法。公钥为(p,g,
y),私钥为x (1≤x<p-1),其中y=gxmod p
2. 签名过程:给定消息M,签名者A进行如下计算:
①选择随机数k∈Zp*,且k与(p-1)互素;
②首先计算消息M的哈希值H(M),然后计算:
r =gk mod p;
s = (H(M)-xr) k-1mod( p-1)
1
4. x为随机数,0<x<q,计算y=gx mod p
▪ 参数p、q、g可以公开,且可为一组用户公用。 x和y分别为用户的私钥和公钥
2020/10/18
计算机科学与技术学院
❖ 简单地说,数字签名就是指消息的发送者通过某 种签名方法产生的别人无法伪造的一段“特殊报 文”,该报文就是签名
2020/10/18
计算机科学与技术学院
6
签名方案的组成
一个签名方案是满足下列条件的五元组(P, A, K, S, V):
1. P:所有可能消息组成的有限集
2. A:所有可能签名组成的有限集
❖ 签名过程如下:
1. 系统初始化过程:同加密算法。公钥为(p,g,
y),私钥为x (1≤x<p-1),其中y=gxmod p
2. 签名过程:给定消息M,签名者A进行如下计算:
①选择随机数k∈Zp*,且k与(p-1)互素;
②首先计算消息M的哈希值H(M),然后计算:
r =gk mod p;
s = (H(M)-xr) k-1mod( p-1)
1
4. x为随机数,0<x<q,计算y=gx mod p
▪ 参数p、q、g可以公开,且可为一组用户公用。 x和y分别为用户的私钥和公钥
2020/10/18
计算机科学与技术学院
信息安全原理与技术之消息认证与数字签名

• 第二,验证信息本身的完整性,这称为消 息认证,验证数据在传送或存储过程中没 有被篡改、重放或延迟等。
认证的目的
• 可提供认证功能的认证码的函数可分为三 类:
– 加密函数:使用消息发送方和消息接收方共 享的密钥对整个消息进行加密,则整个消息 的密文作为认证符。
– 消息认证码:它是消息和密钥的函数,产生 定长度值,该值作为消息的认证符。
• 在这种方法中假定通信双方A和B共享密 钥K。若A向B发送消息M时,则A使用消
息M和密钥K,计算MAC=C(K,M)
消息认证码的使用
消息认证码的使用(续)
MAC的安全要求
• MAC中使用了密钥,这点和对称密钥加密 一样,如果密钥泄漏了或者被攻击了,则 MAC的安全性则无法保证。
• 在基于算法的加密函数中,攻击者可以尝 试所有可能的密钥以进行穷举攻击,一般 对k位的密钥,穷举攻击需要2(k-1)步。
• 攻击者针对下面的MAC算法,则不需要使用穷举攻击即可获 得密钥信息。
• 设消息M=(X1||X2||…||Xm),即由64位分组Xi联结而成。定义
Δ(M)=X1X2… Xm Ck(M)=EK[Δ(M)] 攻击者可以用任何期望的Y1至Ym-1替代X1至Xm-1,用Ym替代 Xm来进行攻击,其中Ym如下计算的:
• 3.抗强碰撞性:找到任何满足H(x)=H(y) 的偶对(x,y)在计算上是不可行的。
生日攻击(Birthday Attack)
• 如果攻击者希望伪造消息M的签名来欺骗接收者 ,则他需要找到满足H(M’)=H(M)的M’来替代M 。对于生成64位散列值的散列函数,平均需要 尝试263次以找到M’。但是建立在生日悖论上的 生日攻击法,则会更有效。
MAC的性质
• 一个安全的MAC函数应具有下列性质:
认证的目的
• 可提供认证功能的认证码的函数可分为三 类:
– 加密函数:使用消息发送方和消息接收方共 享的密钥对整个消息进行加密,则整个消息 的密文作为认证符。
– 消息认证码:它是消息和密钥的函数,产生 定长度值,该值作为消息的认证符。
• 在这种方法中假定通信双方A和B共享密 钥K。若A向B发送消息M时,则A使用消
息M和密钥K,计算MAC=C(K,M)
消息认证码的使用
消息认证码的使用(续)
MAC的安全要求
• MAC中使用了密钥,这点和对称密钥加密 一样,如果密钥泄漏了或者被攻击了,则 MAC的安全性则无法保证。
• 在基于算法的加密函数中,攻击者可以尝 试所有可能的密钥以进行穷举攻击,一般 对k位的密钥,穷举攻击需要2(k-1)步。
• 攻击者针对下面的MAC算法,则不需要使用穷举攻击即可获 得密钥信息。
• 设消息M=(X1||X2||…||Xm),即由64位分组Xi联结而成。定义
Δ(M)=X1X2… Xm Ck(M)=EK[Δ(M)] 攻击者可以用任何期望的Y1至Ym-1替代X1至Xm-1,用Ym替代 Xm来进行攻击,其中Ym如下计算的:
• 3.抗强碰撞性:找到任何满足H(x)=H(y) 的偶对(x,y)在计算上是不可行的。
生日攻击(Birthday Attack)
• 如果攻击者希望伪造消息M的签名来欺骗接收者 ,则他需要找到满足H(M’)=H(M)的M’来替代M 。对于生成64位散列值的散列函数,平均需要 尝试263次以找到M’。但是建立在生日悖论上的 生日攻击法,则会更有效。
MAC的性质
• 一个安全的MAC函数应具有下列性质:
网络信息安全技术-第四章 数字签名与认证技术

密钥生成算法Gen
者消以息签对名(m秘, 密s)密为钥输S入k对,消输息出m0所或做1,的即 V签er名(P,k,即m,Ssi)g→(S{k0,,m1)}→,s如。果
签名生成算法Sig
s∈Sig(m),则输出1说明签名有效; 反之输出0,则说明签名无效
签名验证算法Ver
21:09:30
4.2 消息认证与哈希函数
第4章 数字签名与认证技术
21:09:30
第四章 数字签名与认证技术
在网络环境下,数字签名与认证技术是信 息完整性和不可否认性的重要保障,是公钥密 码体制的重要应用。信息的发送方可以对电子 文档生成数字签名,信息的接收方则在收到文 档及其数字签名后,可以验证数字签名的真实 性。身份认证则是基于数字签名技术为网络世 界中实体的身份提供可验证性。
21:09:30
哈希函数的结构
由Merkle提出的迭代哈希函数一般结构如图 所示,这也是目前大多数哈希函数(MD5、SHA-1、
RIPEMD)的结构。其中,IV称为初始向量,CV称 为链接变量,Yi是第i+1个输入消息分组,f称为 压缩函数,L为输入的分组数,l为哈希函数的输 出长度,b为输入分组长度。
哈希函数的性质 哈希函数的结构 安全哈希函数(SHA) 消息认证
21:09:30
哈希函数的性质
定义 哈希(Hash)函数是一个输入为任意长的二元
串,输出为固定长度的二元串的函数。一般用
H(·)表示哈希函数,若输出是长度为l的二元串,
哈希函数表示为:
H(·):{0,1}*→{0,1}l
21:09:30
碰撞性(Collision Resistant),是指求出
任意M,M′∈{0,1}*,且M′≠M,使得 H(M′)=H(M)是困难的。
数字签名及身份认证课件

12
第3章 数字签名和认证技术
数字签名机制提供了一种鉴别方法, 通常用于银行、 电子贸 易方面等,以解决如下问题:
(1) 伪造:接收者伪造一份文件,声称是对方发送的; (2)抵赖:发送者或接收者事后不承认自己发送或接收过文 件; (3)冒充:网上的某个用户冒充另一个用户发送或接收文件; (4) 篡改:接收者对收到的文件进行局部的篡改。
1)报文加密函数。加密整个报文,以报文的密文作为鉴别。 2)报文鉴别码。依赖公开的函数对报文处理,生成定长的鉴 别标签。 3)散列函数。将任意长度的报文变换为定长的报文摘要,并 加以鉴别。
2
第3章 数字签名和认证技术
3.1.1 报文鉴别概述 鉴别是验证通信对象是原定的发送者而不是冒名顶替者
的技术。既,通信的接收方能够鉴别验证所收到的报文的真伪。 1、报文源的鉴别 接收方使用约定的密钥(由发方决定)对收到的密文进
6
第3章 数字签名和认证技术
(2)询问—应答 用户A向B发出一个一次性随机数作为询问, 如果收到 B 发来的消息(应答)也包含一正确的一次性随机数, A就认为B发来的消息是新的并接收之。
其中时间戳法不能用于面向连接的应用过程,这是由于时间 戳法在实现时有它的困难性。首先是需要在不同的处理器时钟之 间保持同步,那么所用的协议必须是容错的以处理网络错误,并 且是安全的以对付恶意攻击。第二,如果协议中任一方的时钟出 现错误而暂时地失去了同步,则将使敌方攻击成功的可能性增加。 最后还由于网络本身存在着延迟,因此不能期望协议的各方能保 持精确的同步。所以任何基于时间戳的处理过程,协议等都必须 允许同步有一个误差范围。考虑到网络本身的延迟,误差范围应 足够大,考虑到可能存在的攻击,误差范围又应足够小。 31
35
第3章 数字签名和认证技术
数字签名机制提供了一种鉴别方法, 通常用于银行、 电子贸 易方面等,以解决如下问题:
(1) 伪造:接收者伪造一份文件,声称是对方发送的; (2)抵赖:发送者或接收者事后不承认自己发送或接收过文 件; (3)冒充:网上的某个用户冒充另一个用户发送或接收文件; (4) 篡改:接收者对收到的文件进行局部的篡改。
1)报文加密函数。加密整个报文,以报文的密文作为鉴别。 2)报文鉴别码。依赖公开的函数对报文处理,生成定长的鉴 别标签。 3)散列函数。将任意长度的报文变换为定长的报文摘要,并 加以鉴别。
2
第3章 数字签名和认证技术
3.1.1 报文鉴别概述 鉴别是验证通信对象是原定的发送者而不是冒名顶替者
的技术。既,通信的接收方能够鉴别验证所收到的报文的真伪。 1、报文源的鉴别 接收方使用约定的密钥(由发方决定)对收到的密文进
6
第3章 数字签名和认证技术
(2)询问—应答 用户A向B发出一个一次性随机数作为询问, 如果收到 B 发来的消息(应答)也包含一正确的一次性随机数, A就认为B发来的消息是新的并接收之。
其中时间戳法不能用于面向连接的应用过程,这是由于时间 戳法在实现时有它的困难性。首先是需要在不同的处理器时钟之 间保持同步,那么所用的协议必须是容错的以处理网络错误,并 且是安全的以对付恶意攻击。第二,如果协议中任一方的时钟出 现错误而暂时地失去了同步,则将使敌方攻击成功的可能性增加。 最后还由于网络本身存在着延迟,因此不能期望协议的各方能保 持精确的同步。所以任何基于时间戳的处理过程,协议等都必须 允许同步有一个误差范围。考虑到网络本身的延迟,误差范围应 足够大,考虑到可能存在的攻击,误差范围又应足够小。 31
35
信息安全--04-身份认证课件

5
1、基于口令的认证
对口令的攻击
窃听 Login:UserA
Password:12345
监听
6
1、基于口令的认证(续)
对口令的攻击
截取/重放 认证信息(加密的口令)
拷贝认证信息 然后重放
7
1、基于口令的认证(续)
对口令的攻击 字典攻击:根据调查结果可知,大部份的人为 了方便记忆选用的密码都与自己周遭的事物有 关,例如:身份证字号、生日、车牌号码、在 办公桌上可以马上看到的标记或事物、其他有 意义的单词或数字,某些攻击者会使用字典中 的单词来尝试用户的密码。 穷举攻击(Brute Force):也称蛮力破解。这 是一种特殊的字典攻击,它使用字符串的全集 作为字典。
13
1、基于口令的认证(续)
基于单向函数的口令认证
f是单向函数,p是口令,id是身份 Alice提供p||id 计算机计算f(p) 计算机与存储的值f(p)||id 作比较 由于计算机不再存储口令表,所以敌手侵入计算机
偷取口令的威胁就减少了
f(p1)
id1
f(p2)
id2
f(p3)
16
1、基于口令的认证(续)
SKEY
Alice输入随机数R,计算机计算x1=f(R)、x2=f(x1)、…、 xn+1=f(xn)。Alice保管x1 ,x2 ,x3 ,。。。,xn这些数的列 表,计算机在登录数据库中Alice的名字后面存储xn+1的值。
当Alice第一次登录时,输入名字和xn,计算机计算f(xn),并 把它和xn+1比较,如果匹配,就证明Alice身份是真的。然后, 计算机用xn代替xn+1。Alice将从自己的列表中取消xn。
1、基于口令的认证
对口令的攻击
窃听 Login:UserA
Password:12345
监听
6
1、基于口令的认证(续)
对口令的攻击
截取/重放 认证信息(加密的口令)
拷贝认证信息 然后重放
7
1、基于口令的认证(续)
对口令的攻击 字典攻击:根据调查结果可知,大部份的人为 了方便记忆选用的密码都与自己周遭的事物有 关,例如:身份证字号、生日、车牌号码、在 办公桌上可以马上看到的标记或事物、其他有 意义的单词或数字,某些攻击者会使用字典中 的单词来尝试用户的密码。 穷举攻击(Brute Force):也称蛮力破解。这 是一种特殊的字典攻击,它使用字符串的全集 作为字典。
13
1、基于口令的认证(续)
基于单向函数的口令认证
f是单向函数,p是口令,id是身份 Alice提供p||id 计算机计算f(p) 计算机与存储的值f(p)||id 作比较 由于计算机不再存储口令表,所以敌手侵入计算机
偷取口令的威胁就减少了
f(p1)
id1
f(p2)
id2
f(p3)
16
1、基于口令的认证(续)
SKEY
Alice输入随机数R,计算机计算x1=f(R)、x2=f(x1)、…、 xn+1=f(xn)。Alice保管x1 ,x2 ,x3 ,。。。,xn这些数的列 表,计算机在登录数据库中Alice的名字后面存储xn+1的值。
当Alice第一次登录时,输入名字和xn,计算机计算f(xn),并 把它和xn+1比较,如果匹配,就证明Alice身份是真的。然后, 计算机用xn代替xn+1。Alice将从自己的列表中取消xn。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个有效的验证算法Verifypk(m,s)={True,False}。
数字签名案例——软件防纂改
案例描述
从网上下载可执行的软件后,用户如何相信它 是无害的呢?大公司的软件可以信赖。可是如果黑
客用自己的软件冒充大公司的软件,或者篡改大公
司的软件,企图危害用户时怎么办?
数字签名案例——软件防纂改
所以U(xU, yU)=(m –dr)-1 k (mG- rQ)
=(m –dr)-1 (mkG- krdG)= (m –dr)-1 (mR- rdR)
=(m –dr) –1 R(m-dr)=R(x R ,y R)。
所以 x U =x R=r .
Hale Waihona Puke 利用椭圆密码实现数字签名3、椭圆曲线密码签名的应用
每个从X发往Y的签名消息首先被送给仲裁者A; A检验该报文及其签名的出处和内容,然后对报文注明日
期,并附加上一个“仲裁证实”的标记发给Y。
基于仲裁的数字签名--对称密钥加密方式(1)
发送方X和仲裁A共享一个密钥Kax 。A和Y共享密钥Kay。 数字签名由X的标识符IDx和消息的散列码H(M)构成 ,用密 钥Kax进行加密。 过程: (1)X → A :M‖EKax( IDx‖H(M) )。 (2)A → Y :EKay( IDx‖M‖EKax( IDx‖H(M) )‖T )。 (3) Y存储报文M及签名。
盲签名
盲签名与普通签名相比有两个显著的特点:
①签名者不知道所签署的数据内容; ②在签名被接收者泄露后,签名者不能追踪签名。即:如果把 签名的数据给签名者看,他确信是自己的签名,但他无法知 道什么时候对什么样的盲数据施加签名而得到此签名数据。
盲签名
接收者首先将待签数据进行盲变换,把变换后的盲数据发给
基于仲裁的数字签名--对称密钥加密方式(1)
当发生争端时解决方式
Y → A :EKay( IDx‖M‖EKax( IDx‖H(M) ) )。
仲裁A可用Kay恢复出IDx 、M及签名,然后再用Kax对签名 解密并验证其散列码。
基于仲裁的数字签名--对称密钥加密方式(1)
特点: Y 不能直接验证 X 的签名。 双方都需要高度相信 A Y 相信 A 已对消息认证,X 不能否认其签名; X 信任 A 没有暴露 Kxa,无人可伪造 签名; 双方都信任 A 处理争议是公正。
问题:
A 和发送方 X 联手可以否认签名的信息。 A和接收方 Y 联手可以伪造发送方 X 的签名。
基于仲裁的数字签名—公开密钥加密方式
特点:仲裁者看不见消息的内容。
过程:
X 对消息 M 进行两次加密。
经过双重加密后,报文 M 只有 Y 能够阅读,A 不能读取
XA: IDx || EKRx [ IDx || EKUy [ EKRx(M) ] ] A 能进行外层的解密,从而证实报文确实是来自 X 的 因为只有 X 拥有KRx 。 验证后 A 向 Y 发送用 KUy 加密的报文,其中包括时间戳 T AY: EKRa [ IDx || EKUy [ EKRx(M) ] || T]
2000年美国政府已将椭圆曲线密码引入数字签名标准DSS。
安全,密钥短、软硬件实现节省资源等特点。
盲签名
在普通数字签名中,签名者总是先知道数据的内容后才实施 签名,这是通常的办公事务所需要的。但有时却需要某个人 对某数据签名,而又不能让他知道数据的内容。称这种签名 为盲签名(Blind Signature)。在无记名投票选举和数字货 币系统中往往需要这种盲签名, 盲签名在电子商务和电子政务系统中有着广泛的应用前景。
必须能够验证签名者、签名日期和时间; 必须能够认证被签的消息内容; 签名应能够由第三方仲裁,以解决争执。
数字签名的满足条件
数字签名必须是与消息相关的二进制位串; 签名必须使用发送方某些独有的信息,以防伪造和否认; 产生数字签名比较容易;
识别和验证数字签名比较容易;
伪造数字签名在计算上是不可行的; 保存数字签名的拷贝是可行的。
El Gamal 签名方案的使用
签名是 (K,S) k 应该被销毁 同ElGamal 加密方案, 签名信息也是消息的2倍 验证 (K,S) 是 对M的签名: yK.KSmod p = aMmod p
ElGamal 签名方案举例
取 p=11, g=2 ;选择私钥 x=8;计算: y = ax mod p = 28 mod 11 = 3 ;公钥是: y=3,g=2,p=11 ;对 M=5 签名:选择随机数 k=9;确定 gcd(10,9)=1 计算: K = ak mod p = 29 mod 11 = 6 解: 5 = 8.6+9.S mod 10; 因此 S = 9.(5-8.6) = 3 mod 10 签名是 (K=6,S=3) ;要验证签名, 确认:36.63 = 25 mod 11 3.7 = 32 = 10 mod 11
案例解决方案
这个问题利用数字签名可以解决。 软件发行者生成软件后,用私钥对软件签名,再把软件
本身、签名结果、公钥证书制作成一个包发行。这样用户可
以从公钥证书知道发行者的真实身份,经验证签名可以确定
软件发行后有没有被篡改。
数字签名的解决方案
可分为两大类: 直接数字签名方案;
基于仲裁的数字签名方案。
(3) 用厂长的公开加密密钥e作运算x′=Ek(y),如果x′=x,则可证
实厂长的签名为真;否则为假。因为Ek(Dk(x))≡Dk(Ek(x))≡x(modn),
而Dk是唯一的且只有厂长本人知道。
RSA签名方案
设p与q是两个不同的素数,n=pq, (n)=(p-1)(q-1)。任取 一个与n互素且小于n的数 e,由de≡1(mod (n))求得唯一的解d, 1<d<n。公开 n 与 e,保密值 p,q 和 d。对x∈Zn,定义签名 算法S(· )为S(x)≡xd(modn);对y∈Zn,定义验证算法V(· )为
问题:
报文 M 明文传送给A,有可能被窃听。
基于仲裁的数字签名--对称密钥加密方式(2)
明文加密的方案(仲裁方不能阅读消息)
假定X和Y共享密钥Kxy。X用Kxa对其标识、用Kxy加密 后的消息的hash值产生签名,然后将其标识、用Kxy 加密后的消息和签名发送给A。
(1)X → A :IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M)) )。
不可否认性的应用需求
网络通信中,希望有效防止通信双方的欺骗和抵赖 《纽约客》杂志一张颇为著名的漫画 行为。
Y 伪造一个不同的消息,但声称是从 X 收到的; X可以否认发过该消息,Y 无法证明 X 确实发了该消息;
数字签名技术为此提供了一种解决方案。 它的作用 相当于手写签名。
数字签名的特征
利用椭圆曲线密码实现数字签名
一个椭圆曲线密码由下面的六元组描述: T=<p,a,b,G,n,h> 其 中 , p 为 大 于 3 素 数 , p 确 定 了 有 限 域 GF ( p ) ; 元 素
a,b∈GF(p),a和b确定了椭圆曲线;G为循环子群E1 的生成元, n为素数且为生成元G的阶,G和n确定了循环子群E1。 y2=x3+ax+b mod p
发送方可以声称自己的私有密钥丢失或被盗用,而否认其发送 过某个报文。
改进:每个签名报文中包含一个时间戳。
问题:
X 的私有密钥确实在时间 T 被窃取; 攻击者窃取 X 的密钥后,则可能发送带有 X 的签名报文,附上一 个等于 T 的时间戳,接受者无法判别。
基于仲裁的数字签名
通过引入仲裁来解决直接签名方案中的问题。 仲裁者必须是一个所有通信方都能充分信任的仲裁机构。 基本工作方式(假定用户X和Y之间进行通信):
利用椭圆曲线密码实现数字签名
2、验证签名
① 计算s-1 mod n;
②
③
利用公开的加密钥 Q 计算
U(xU , y U)= s-1(mG-rQ);
如果xU =r,则<r,s>是用户A对m的签名。 证明:因为s=(m –dr) k-1 mod n ,所以
s-1=(m–dr)-1 k mod n,
El Gamal 签名方案的使用
签名消息 M: 选择随机数 k, GCD(k,p-1)=1 计算 K = ak(mod p) 用 Euclidean (inverse) 扩展算法求 S: M = x.K + k.S mod (p-1); 即求 S = k-1(M - x.K) mod (p-1)
签名者。
经签名者签名后再发给接收者。
接收者对签名再作去盲变换,得出的便是签名者对原数据的
盲签名。
这样便满足了条件①。要满足条件②,必须使签名者事后看
到盲签名时不能与盲数据联系起来,这通常是依靠某种协议
来实现的。
盲签名
盲签名原理图:
数据 盲变换 签名 去盲变换
直接数字签名
实现比较简单,在技术上仅涉及到通信的源点X和终点Y 双方。 终点Y需要了解源点X的公开密钥Kux。 发送方A可以使用其私有密钥KRx对整个消息进行加密来 生成数字签名。
更好的方法是使用KRx对消息的散列码进行加密来形成数
字签名。
直接数字签名的安全性
方案的安全性依赖于发送方X私有密钥的安全性。
数字签名体制
一个数字签名体制应由以下部分组成:
一个明文消息空间M:某字母表中串的集合; 一个签名空间S:可能的签名集合;
一个签名密钥空间K:用于生成签名的可能密钥集合;一个认
证密钥空间K’:用于验证签名的可能密钥集合;
一个有效的密钥生成算法;
一个有效的签名算法s←Signsk(m) ;
(2)A → Y :EKay( IDx‖EKxy (M)‖EKax( IDx‖H (EKxy(M))‖T )。