《网络信息安全》

上传人:ldj****22 文档编号:51579599 上传时间:2018-08-15 格式:PPT 页数:87 大小:736.50KB
返回 下载 相关 举报
《网络信息安全》_第1页
第1页 / 共87页
《网络信息安全》_第2页
第2页 / 共87页
《网络信息安全》_第3页
第3页 / 共87页
《网络信息安全》_第4页
第4页 / 共87页
《网络信息安全》_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《《网络信息安全》》由会员分享,可在线阅读,更多相关《《网络信息安全》(87页珍藏版)》请在金锄头文库上搜索。

1、网络信息安全中国科学技术大学肖 明 军2导入新课 尽管经过近20年的观察公钥数字签名算法本身 是非常坚固的,但是由于公钥加密的密钥分配 很随便,公钥可以放在目录内,电话黄页(商业 电话)上或电子公告牌里,任何人都可获得某人 或某公司的公钥,所以现在有一个问题,就是 这种算法本身不能确信某人的公钥真正是他本 人的,而不是伪造的。公钥毕竟只是一串数字 ,它不具有某个人的个人属性,也不包含其拥 有者的任何私人数据。为了解决这一问题,就 产生了数字证书。3第6章 PKI认证教学目的n数字签名技术的基本原理n鉴别技术与方法n数字证书重点难点n数字签名技术与CA认证技术的实现与应用41. PKI基本概念P

2、KI定义nPublic Key Infrastructure,用公钥原理和技术实 施和提供安全服务的具有普适性的安全基础设施。n基本的PKI认证技术消息认证数字签名数字摘要身份认证51.1 消息认证消息认证(MAC,Message Authentication Code)是指通信双方在一个不 安全的信道上传送消息,第三方入侵者可能截取消息进行分析从而伪造或篡 改发送的消息,因此通信双方希望交换消息而拒绝接受入侵者伪造或篡改的 消息。 消息认证是一个不保密的认证方案,一个使通信双方能进行公开通信而不受 人侵者欺骗的协议。一个典型的认证方案包括一个算法称为认证算法。认 证算法需要两个输人,即消息和

3、认证密钥,用它来产生消息的认证标签。为 了发送一个消息,发方先将消息和认证密钥输入认证算法,其计算结果称为 消息的认证标签,再将消息和认证标签一起发送。收方收到消息和认证标签 后,先用同样的认证密钥和收到的消息输入认证算法,检验其计算结果是否 与收到的认证标签相同,若相同,则认为消息未经篡改,接受该消息;若不 相同,则认为消息被入侵者篡改,拒绝接受该消息。一般假设入侵者知道认证算法,但不知道认证密钥,因此认证方案与私钥密 码体制一样有密钥分发问题。61.1 消息认证安全认证方案的要求n通信双方能有效地产生任意消息的认证标签n通信双方能有效地验证一给定的数字串是否是一给定消息的认证标签n没有入侵

4、者能有效地产生通信双方发送消息的消息认证标签认证方案的安全性:n基于信息论方法的定义(无条件安全性)n基于算法复杂性理论的定义(有条件安全性)消息认证与数字签名的区别在于消息认证不要求通信双方以外 的任何人能有效地验证认证标签的真实性。数字签名方案也是 消息认证的一种方式,但消息认证方案不一定构成数字签名方 案。71.2 数字签名数字签名(Digital Signature)的定义:n是一种通过向公正的第三方证明的方式提供消息的 来源和内容认证的方法。n是通过一个单向函数对要传送的报文进行处理得到 ,用以认证报文来源并核实报文是否发生变化的一 个字母数字串。数字签名的作用n验证消息发送方的身份

5、n验证消息内容的完整性 81.2 数字签名数字签名的要求n收方能够有效地确认或证实发方的签名,该签名不 能伪造。n发方能够有效地在产生自己的签名,发出签名的消 息送收方后,就不能再否认他所签发的信息。n收方对已收到的签名消息不能否认,即有收到认证 。n第三者可以确认收发双方之间的消息传送,但不能 伪造这一过程。 9数字签名与手工签名的区别n数字签名数字的,因消息而异n手工签名模拟的,因人而异 数字签名与消息认证的区别n数字签名第三者可以确认收发双方的消息传送n消息认证只有收发双方才能确认消息的传送1.2 数字签名10数字签名的分类n无仲裁数字签名n有仲裁数字签名无仲裁数字签名n仅涉及通信方(发

6、送方,接收方),它假定接收方知道发送方的公开密钥 。数字签名可以通过使用发送方(签名者)的私有密钥对整个报文进行加 密,或对报文的杂凑值进行加密来形成。接收方(验证者)可存储明文和 签名已备解决争端时使用。需要验证签名时,验证者可利用发送方公钥 解密签名,再与发送方出示的明文或明文摘要进行比较,即可完成。n所有的无仲裁签名方案都有一个共同的弱点:方案的有效性依赖于发送 方私有密钥的安全性。发送方要抵赖发送某一消息时,可能会声称其私 有密钥丢失或被窃,从而声称他人伪造了他的签名。通常需要采用与私 有密钥安全性相关的行政管理控制手段来制止或削弱这种情况,但威胁 在某种程度上依然存在。改进的方式可以

7、要求被签名的信息包含一个时 间戳,并要求将已暴露的密钥报告给一个授权中心。1.2 数字签名111.2 数字签名有仲裁数字签名n有仲裁数字签名方案按如下方式进行:每个从签名 者x发往验证者Y的签名报文首先被送给仲裁者A。 仲裁者A对该报文和它的签名进行验证以检验签名 的有效性。然后对报文注明日期,附上一个已经经 过仲裁证实属实的说明后发给Y。nA的存在解决了直接签名方案所面临的问题:x可能 否认发送过该报文。在这种方案中,仲裁起着监督 的作用,所有通信方必须充分信任仲裁机构。123种有仲裁数字签名方案,其中x表示签名者,Y表示验证者,A 表示仲裁,M表示报文,Kxa表示x与A之间的共享密钥,Ka

8、y表 求Y与A之间的共享密钥,Kxy表尔X与Y之间的共享密钥。n使用常规加密方式仲裁者可以看见报文: xA:M|EKxaIDX| H(M) AY:EKayIDx|M| EKxaIDX|H(M)|T x:准备报文M计算其杂凑值H(M),用x的标识符IDx和杂凑值构成 签名,并将消息及签名经Kxa加密后发送给A; A:解密签名,用H(M)验证消息M,然后将IDx、M ,经Kxa密后的签 名和时间戳一起经Kay加密后发送给Y; Y:解密A发来的信息,并可将M和签名保存起来。 发生纠纷时解决方法如下: Y:向A发送EKayIDx|M| EKxaIDX|H(M) A:用Kav恢复IDx,M和签名EKxa

9、IDX|H(M) ,然后用Kxa解密签名 并验证杂凑值。1.2 数字签名131.2 数字签名n使用常规加密方式,仲裁不能看到报文: XA:IDx|EKxyM| EKxaIDX|H(EKxyM) AY:EKayIDx|EKxyM|EKxaIDX|H(EKxyM)|T x:将标识符IDx,密文EKxyM,以及对IDx和密文消息的杂 凑值用EKxa加密后形成签名发送给A; A:解密签名,用杂凑值验证消息,这时A只能验证消息的密 文而不能读取其内容,然后,A将来自X的所有信息加上时间 戳,并用EKay加密后发送给Y: 尽管A不能看到报文内容,但它所处的位置还是可以防止X和Y 中某一方不诚实。和第一种方

10、案一样仲裁可以和签名者联 合否认一个签名报文,或者和验证者联合伪造签名者的签名 。使用公钥加密的方法能解决此问题。141.2 数字签名n使用公开密钥加密,仲裁不能看到报文: xA:IDx|EKRxIDx|EKUy(EKRxM) AY:EKRaIDx|EKUyEKRxM|T x:对报文M双重加密,首先,用X的私有密钥KRx,然后,用Y的公开密钥 KUy,形成一个经签名且保密的消息,然后,将该信息以及X的标识符一 起用KRx加密后与IDx一起发送给A,这种内部双重加密的消息对A以及 对除Y以外的其他人都是保密的; A:验证X的公私密钥对的有效件如果有效,则向Y发送报文,报文是用 KRa加密的,报文

11、中包括IDx、双重加密的报文和一个时间戳,否则拒绝 。 这个方案和前两个力案相比有许多优点。通信前各方没有共享任何信息, 可以防止联合欺骗的发生。向时,从x发结Y的报文内容对A和其他任何 入都是保密的。15数字签名算法DSS数字签名是由美国国家标准化研究院和国 家安全局共同开发的。主要用于与美国政府作 生意的公司,其他公司使用的很少。RSA与DSS都采用了公钥算法。16RSA公钥签名算法n发送方用对方公开的单向函数对报文进行变换,得 到数字签名。然后用私钥对数字签名加密后随报文 一同发送过去。n接收方用发送方的公开密钥对数字签名进行解密, 得到数字签名明文;n接受方对接收到的明文通过单向函数进

12、行变换,得 到新的数字签名,比较两个签名。相同证明签名有 效,否则无效。17RSA公钥签名算法RSA签名算法相当于RSA加密/解密算法的逆过程n系统参数:设n=pq,且p和q是两个大素数,e和d为满足ed 1mod(n)的整数,其中,()是欧拉函数;n公开密钥:n,e;n私有密钥:p,q,d;n签名算法:Sig(x)=xd mod n;n验证算法:Ver(x,y)=TRUEx=ye mod n (x,y)ZnZn。 对于消息对(x,y),若y是x的有效签名,则ye=xed=xt(n)+1=x mod n, 即验证算法成立。 用户A若想用RSA签名方案对消息x签名,只需公开它的公钥n和e,由于用

13、 户私钥是保密的,因此,A是惟一能产生签名的人,任何要验证用户A签 名的用户只需查到A的公钥即可验证签名。18A向B 发送消息,用A的私钥加密(签名) B收到密文后,用A的公钥解密(验证)PlainText加密 算法解密 算法cipherPlainTextABA的私钥A的公钥RSA公钥签名算法19DSS数字签名标准DSS算法的参数如下:n系统的公开参量: p:素数其中2L-1p2L,512L1024,且L为64的倍 数:即比特长度在512-1024之间,长度增量为64bit; q:(p-1)的素因子,其中,2159q2160;g:域Zp*中阶为q的元素,即g=h(p-1)/q mod p (1

14、hp- 1)n用户的私钥; x:用户在0,q-1中随机选取的整数。n用户的公钥ygx mod p。(安全性基于基于离散对数难题 ) 公钥为(p,q,g,y)20DSS数字签名标准DSS签名和验证n签名 签名者随机选取k0,q-1,计算 r=(gk mod p) mod q s=k-1(H(M)+xr) mod q 则 Sig(M)=(r,s)n验证 w=(s)-1 mod q,u1=H(M)wmod q, u2=(r)w mod q,v=(gu1yu2)mod pmod q Ver(x,y)=TRUEv=rnM为要签名的消息;H(M)为使用SHA-1生成的M的杂凑值 ;M,r,s为接受到的M,

15、r,s;21DSS数字签名标准图示22用对称加密算法进行对称加密算法所用的加密解密的密钥相同,由 于计算速度快而应用于对大量数据的加密过程 ,常用算法如DES、RD4等。 Lamport-Diffie算法进行逐位进行签名,只要 有一位发生改变,接收方就得不到正确的签名 ,因此安全性高。缺点是签名太长;签名密钥 和验证信息不能重复使用。23加入数字签名和验证加入数字签名和验证才能真正实现公开网络上 的安全传输。加入数字签名和验证的过程如下 :n1发送方用哈希函数从原文得到数字签名,然后用 私有密钥对数字签名进行加密,然后附加在原文的 后面(形成要传输的文件);n2发送方再选择一个秘密密钥对这个文

16、件进行加密 ,然后将加密后的文件传输接收方;n3发送方用接收方的公开密钥对秘密密钥进行加密 ,并传输给接收方。24加入数字签名和验证2验证过程n接收方用私有密钥对秘密密钥密文进行解密,得到 秘密密钥明文。n接收方用秘密密钥对文件进行解密,得到加密的数 字签名和明文;n接收方用发送方的公开密钥对数字签名进行解密, 得到数字签名的明文;n接收方用得到的明文和哈希函数重新计算数字签名 ,并与解密后的数字签名进行比较。如果相同,说 明文件在传输过程中没有损坏。25加入数字签名和验证3安全确认发送方身份n如果第三方冒充发送方发出一个文件,因为接收方 在对数字签名解密时使用的是发送方的公开密钥, 只要第三方不知道发送方的私有密钥,解密出来的 数字签名和经过计算的数字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号