计算机网络安全第三章网络安全基础3数字签名.ppt
《计算机网络安全第三章网络安全基础3数字签名.ppt》由会员分享,可在线阅读,更多相关《计算机网络安全第三章网络安全基础3数字签名.ppt(94页珍藏版)》请在三一办公上搜索。
1、计算机网络安全,第三章 网络安全基础(3),第章 网络安全基础,加密算法;报文摘要算法;数字签名;认证协议;IPSec。这些算法一方面是实现保密性、完整性和不可抵赖性的核心,另一方面是实现其他网络安全技术的基础。,数字签名,问题的提出假定John向Mary发送一个带鉴别的报文,可能会出现如下的争执:1、Mary可能伪造不同的报文,并声称它来自John。Mary只要简单地生成一个报文,并附加使用由John和Mary所共享的密钥生成的鉴别码即可。2、John可以否认发送过该报文。因为Mary伪造一个报文是可能的,无法证明John发送过该报文这一事实。,不可否认性的应用需求,网络通信中,希望有效防止
2、通信双方的欺骗和抵赖行为。简单的报文鉴别技术只能使通信免受来自第三方的攻击,无法防止通信双方之间的互相攻击。Y 伪造一个不同的消息,但声称是从 X 收到的;X可以否认发过该消息,Y 无法证明 X 确实发了该消息;原因:鉴别技术基于秘密共享。数字签名技术为此提供了一种解决方案。,数字证书是证明用户身份的网上标识,在网络中识别通讯各方的身份,即在虚拟社会中解决“我是谁”的问题。通俗的讲,数字证书就好像是网上用户的身份证,能够保证您在网络上进行的交易是安全的和可信的。数字签名就是对消息进行消息摘要计算,再利用数字证书提供的密钥文件,达到利用计算机数据签章的效果。数字签名是使用密码系统时最特殊的一种功
3、能数字签名的法定效力,将相等于一般的“手写签名”。使用数字签名,更需要SHA(单向散列函数)的配合,才能防止各种可能的攻击。,(一)数字签名的概念,数字签名的实际应用,在现实生活中用公章、签名等来实现的抗否认,在网上可以借助数字证书的数字签名来实现。如将来的地税局的网上银行,网上审批都可以通过数字签名来保证身份的认证,实现网上业务的防伪造和防抵赖。,发送方A,接收方B,A将加密的消息发送给B,网 络,用发送方A的公匙解密,密 文,密 文,明 文,明 文,用发送方A的私匙加密,数字签名的功能,是对现实生活中笔迹签名的功能模拟。必须能够用来证实签名的作者和签名的时间。对消息进行签名时,必须能够对消
4、息的内容进行鉴别。签名应具有法律效力,必须能被第三方证实用以解决争端。必须包含对签名进行鉴别的功能。,I.文件发送者即签名者不能否认所发送信息的签名;II.文件接收者能够验证发送者所发送信息签名的真实性;III.采用数字签名技术,只要保证签名方私钥信息的秘密性,就能够保证任何其他人都无法对签名进行伪造;IV.因为任何更改都可以导致签名的无效,所以不能对发送者的原始信息进行任何更改。,数字签名的作用,数字签名的设计目标,签名的比特模式是依赖于消息报文的,也就是说,数据签名是以消息报文作为输入计算出来的,签名能够对消息的内容进行鉴别;数据签名对发送者来说必须是惟一的,能够防止伪造和抵赖;产生数字签
5、名的算法必须相对简单易于实现,且能够在存储介质上保存备份;对数字签名的识别、证实和鉴别也必须相对简单,易于实现;伪造数字签名在计算上是不可行的,无论攻击者采用何种方法(利用数字签名伪造报文,或者对报文伪造数字签名)。,数字签名的实施方案(实例),数字签名方案实施过程:1、签章体系 用户利用签章计算机,对文件进行消息摘要(一般使用SHA算法),并进行电子签章(数据签名)2、CA体系 用户通过CA机构合法获得数字证书,即获得了对应唯一的公钥/私钥对,私钥存于签章钥匙盘,用于数字签名过程。3、验证体系 由CA利用公钥进行验证,以确定数据未有更改。,数字签名的实施方案(实例),数字签名解决方案,数字签
6、名的实施方案(实例),数字签名实现过程,数字签名原理,数字签名技术是结合消息摘要函数和公钥加密算法的具体加密应用技术。数字签名(Digital Signature)指一个用自己的非对称密码算法(如:RSA算法)私钥加密后的信息摘要,附在消息后面;别人得到这个数字签名及签名前的信息内容,使用该用户分发的非对称密码算法公钥,就可以检验签名前的信息内容在传输过程或分发过程中是否己被篡改并且可以确认发送者的身份。,数字签名原理,对于一个典型的数字签名体系而言,它必须包含2个重要的组成部分:即签名算法(Signature Algorithm)和验证算法(Verification Algorithm)。,
7、数字签名原理,1.发送方签名过程发送方创建数字签名的过程如下:(1)为保证签名的速度,A先将原文进行单向HASH运算生成定长的消息摘要A,数字签名原理,(2)利用自己的私钥加密消息摘要得到数字签名A,并将数字签名附在原消息后面,数字签名原理,(3)通讯时用户A将自己的原文和签名文一起通过网络送给通讯对方即用户B,数字签名原理,2.接收方验证过程接收方B接收到发送方的签名消息后,对的签名消息进行验证的过程如下:(1)将消息中的原消息与数字签名分离出来,数字签名原理,(2)使用A的公钥解密数字签名得到摘要,数字签名原理,(3)利用与发送方A相同的散列函数重新计算原消息的摘要,数字签名原理,(4)比
8、较解密后获得的消息摘要A与重新计算产生的消息摘要B,若相等则说明消息在传输过程中没有被篡改,否则消息不可靠。,数字签名的解决方案,可分为两类:直接数字签名方案;基于仲裁的数字签名方案。,分类,直接数字签名功能:鉴别、数字签名。弱点:(1)方案的有效性依赖于发方私钥的安全性。(2)某个私钥真的可能在时间T在X处被盗。,(a)利用发送方的私钥加密,(b)利用发送方的私钥报文散列码加密,直接数字签名,实现比较简单,在技术上仅涉及到通信的源点X和终点Y双方。终点Y需要了解源点X的公开密钥Kua。发送方A可以使用其私有密钥KRA对整个消息报文进行加密来生成数字签名。更好的方法是使用KRA对消息报文的散列
9、码进行加密来形成数字签名。,直接数字签名的安全性,方案的安全性依赖于发送方X私有密钥的安全性。发送方可以声称自己的私有密钥丢失或被盗用,而否认其发送过某个报文。改进:每个签名报文中包含一个时间戳。问题:X 的私有密钥确实在时间 T 被窃取;攻击者窃取 X 的密钥后,则可能发送带有 X 的签名报文,附上一个等于 T 的时间戳,接受者无法判别。,基于仲裁的数字签名,通过引入仲裁来解决直接签名方案中的问题。仲裁者必须是一个所有通信方都能充分信任的仲裁机构。基本工作方式(假定用户X和Y之间进行通信):每个从X发往Y的签名报文首先被送给仲裁者A;A检验该报文及其签名的出处和内容,然后对报文注明日期,并附
10、加上一个“仲裁证实”的标记发给Y。,基于仲裁的数字签名技术,数字签名的目的是使发送者无法抵赖曾经发送过报文P;通信双方均需到权威机构注册;用户A发送给用户B的报文,附带时间戳T和随机数RA先发送给权威机构;权威机构在转发给用户B的信息中附带用密钥KBB加密发送者、时间戳和报文摘要后的密文,KBB只有权威机构知道;由权威机构对报文P、发送者、发送时间进行认证。,需仲裁的数字签名,注:X发方;Y收方;A仲裁;M报文,3.5 数字签名,基于对称密钥算法的数字签名技术;基于公开密钥算法的数字签名技术。,基于仲裁的数字签名-对称密钥加密方式,发送方X和仲裁A共享一个密钥Kax。数字签名由X的标识符IDx
11、和报文的散列码H(M)构成,用密钥Kax进行加密。过程:(1)X A:MEKax(IDxH(M)。(2)A Y:EKay(IDxMEKax(IDxH(M)T)。(3)Y存储报文M及签名。,对称密钥加密方式,争端解决方式Y A:EKay(IDxMEKax(IDxH(M)。仲裁A可用Kay恢复出IDx、M及签名,然后再用Kax对签名解密并验证其散列码。特点:Y 不能直接验证 X 的签名。双方都需要高度相信 AY 相信 A 已对消息认证,X 不能否认其签名;X 信任 A 没有暴露 Kxa,无人可伪造 DS;双方都信任 A 处理争议是公正。问题:报文 M 明文传送给,有可能被窃听。,对称密钥加密方式,
12、明文加密的方案(1)X A:IDxEKxy(M)EKax(IDxH(EKxy(M)。(2)A Y:EKay(IDxEKxy(M)EKax(IDxH(EKxy(M)T)。特征:X 与 Y 之间共享密钥 Kxy。DS 的构成:IDx 和消息密文的散列码用 Kax 加密。DS 的验证:A 解密签名,用散列码验证消息。A 只能验证消息的密文,而不能读取其内容。A 将来自 X 的所有信息加上时间戳并用 Kay 加密后发送给Y。问题:A 和发送方 X 联手可以否认签名的信息。A和接收方 Y 联手可以伪造发送方 X 的签名。,公开密钥加密方式,特点:仲裁者看不见消息的内容。过程:X 对报文 M 进行两次加密
13、。经过双重加密后,报文 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优点:通信各方之间无须共享任何信息,从而避免了联手作弊;只要 KRa 安全,则不会出现伪造 A 发送的消息;消息的内容是保密的,包括对 A 在内。,基于公开密钥的数字签名技术,基本原理公钥PKA和私钥SKA一一对应;由公证机构证明公钥PKA和用户A的绑定关系;证明拥有(或者知道)私钥
14、SKA的用户X就是用户A;建立报文P和私钥SKA之间的关联,就可确定报文P由用户A发送。,认证中心的目的就是证明用户和公钥之间的绑定;认证中心通过证书证明这种绑定,证书由明文和密文两部分组成,密文部分称为数字签名,它是用认证中心私钥加密明文报文摘要后的密文;认证中心和公钥之间绑定由上一级认证中心用证书证明。,基于公开密钥的数字签名技术,规则一:EPKA(DSKA(P)=P,通过公钥PKA加密还原的一定是通过私钥SKA解密运算的结果;规则二:无法根据报文摘要h,求出报文X,且使得MD(X)h;根据上述规则,一旦满足条件MD(P)=EPKA(数字签名),得出数字签名DSKA(MD(P),可以断定报
15、文P由知道私钥SKA的用户发送,知道私钥SKA的用户是和公钥PKA绑定的用户。,基于公开密钥的数字签名技术,数字签名算法,1.DSA签名算法DSA(Digital Signature Algorithm)是Schnorr和ElGamal签名算法的变种。EIGamal方案基于有限域上的离散对数问题。DSA中涉及的参数可以描述如下:p是一个素数,满足2L-1l,即g的阶是q mod p。=gamod p,其中a是随机或者伪随机生成的整数且满足0aq。k是随机或者伪随机生成的整数且满足kq。把p,q,g和公开而保密a和k。对每一次签名都应该生成一个新的k值。,数字签名算法,1)签名过程对于给定的k,
16、消息m的签名定义如下:sig(m,k)=(y,s)其中y=(gk mod p)mod qs=(k-1(MD5(m)+ay)mod q杂凑函数MD5用于把可变长度的消息m转变为一个160比特的消息摘要,然后再用数字签名方案对它进行签名。,数字签名算法,2)验证过程设ver(m,y,s)是验证算法,它以上述定义的消息m和y,s为输入。签名的验证通过下面的计算来完成:w=s-1 mod qd1=(MD5(m)*w)mod qd2=(y*w)mod qv=(gd1*d2)mod p)mod q若v=y,则ver(m,y,s)的输出为真,否则为假。消息m的签名是有效的当且仅当ver(m,y,s)的输出为
17、真。如果ver(m,y,s)的输出为假,则说明或者消息m被篡改,或者该签名不是签名者的合法签名。,数字签名算法,3)安全性分析由于DSA是基于有限域上离散对数问题,出于短期安全性考虑要求域Zp的素数p的长度至少为1024比特,而考虑到长期安全性则要求其长度至少为2048比特。,数字签名算法,2.RSA签名算法Rivest、shamir和Adleman于1978年提出了RSA数字签名和公钥算法,这是第一个较完善的公开密钥算法,它既能用于加密也能用于数字签名,而认证过程相当于保密过程的逆过程。在已提出的公开密钥算法中,RSA是最容易理解和实现的,这个算法也是最流行的。RSA算法以它的三个发明者Ro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 网络安全 第三 基础 数字签名

链接地址:https://www.31ppt.com/p-6606812.html