文档介绍:第11-12讲数字签名和密码协议
8/2/2017
1
数字签名的基本概念
数字签名标准
其他签名方案
认证协议
身份证明技术
其他密码协议
8/2/2017
2
数字签名由公钥密码发展而来,它在网络安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有着重要应用。
首先介绍数字签名的基本概念和一些常用的数字签名算法,然后介绍身份认证协议、身份证明技术以及其他一些常用的密码协议。
8/2/2017
3
数字签名的基本概念
1 数字签名应满足的要求
上一章介绍的消息认证其作用是保护通信双方以防第三方的攻击,然而却不能保护通信双方中的一方防止另一方的欺骗或伪造。
通信双方之间也可能有多种形式的欺骗,例如通信双方A和B(设A为发方,B为收方)使用下图所示的消息认证码的基本方式通信,则可能发生以下欺骗:
8/2/2017
4
8/2/2017
5
① B伪造一个消息并使用与A共享的密钥产生该消息的认证码,然后声称该消息来自于A。
②由于B有可能伪造A发来的消息,所以A就可以对自己发过的消息予以否认。
这两种欺骗在实际的网络安全应用中都有可能发生,例如在电子资金传输中,收方增加收到的资金数,并声称这一数目来自发方。又如用户通过电子邮件向其证券经纪人发送对某笔业务的指令,以后这笔业务赔钱了,用户就可否认曾发送过相应的指令。
8/2/2017
6
因此在收发双方未建立起完全的信任关系且存在利害冲突的情况下,单纯的消息认证就显得不够。数字签名技术则可有效解决这一问题。类似于手书签名,数字签名应具有以下性质:
能够验证签名产生者的身份,以及产生签名的日期和时间。
能用于证实被签消息的内容。
数字签名可由第三方验证,从而能够解决通信双方的争议。
8/2/2017
7
由此可见,数字签名具有认证功能。为实现上述3条性质,数字签名应满足以下要求:
签名的产生必须使用发方独有的一些信息以防伪造和否认。
签名的产生应较为容易。
签名的识别和验证应较为容易。
对已知的数字签名构造一新的消息或对已知的消息构造一假冒的数字签名在计算上都是不可行的。
8/2/2017
8
数字签名的产生方式
数字签名的产生可用加密算法或特定的签名算法。
1. 由加密算法产生数字签名
利用加密算法产生数字签名是指将消息或消息的摘要加密后的密文作为对该消息的数字签名,其用法又根据是单钥加密还是公钥加密而有所不同。
8/2/2017
9
(1) 单钥加密
发送方A根据单钥加密算法以与接收方B共享的密钥K对消息M加密后的密文作为对M的数字签名发往B。该系统能向B保证所收到的消息的确来自A,因为只有A知道密钥K。再者B恢复出M后,可相信M未被篡改,因为敌手不知道K就不知如何通过修改密文而修改明文。具体来说,就是B执行解密运算Y=DK(X),如果X是合法消息M加密后的密文,则B得到的Y就是明文消息M,否则Y将是无意义的比特序列。
8/2/2017
10