[精选]网络安全之密码体制讲义32713.pptx
复习计算机网络第七章网络安全之密码体制第 7 章 网络安全 7.1 7.2 两类密码体制 7.2.1 对称密钥密码体制 7.2.2 公钥密码体制第 7 章 网络安全(续)7.3 数字签名7.4 鉴别 7.4.1 报文鉴别 7.4.2 实体鉴别7.5 密钥分配 7.5.1 对称密钥的分配 7.5,2 公钥的分配第 7 章 网络安全(续)7.6 因特网使用的安全协议 7.6.1 网络层安全协议 7.6.2 运输层安全协议 7.6.3 应用层的安全协议破7.7 链路加密与端到端加密 7.7.1 链路加密 7.7.2 端到端加密明文 X 截获密文 Y7.1.3 一般的数据加密模型 加密密钥 K明文 X密文 Y截取者篡改A BE 运算加密算法D 运算解密算法因特网解密密钥 K一些重要概念n 密码编码学(cryptography)是密码体制的设计学,n 密码分析学(cryptanalysis)是在未知密钥的情况下从密文推演出明文或密钥的技术。n 密码学(cryptology)是以上两者的合称。n 如果不论截取者获得了多少密文,但在密文中都没有足够信息来唯一地确定对应明文,这一密码体制称无条件安全的,或称理论上是不可破的。n 如果密码体制中的密码不能被可使用的计算资源破译,这一密码体制称在计算上是安全的。7.2 两类密码体制 7.2.1 对称密钥密码体制 n 常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。这种加密系统又称对称密钥系统。数据加密标准 DESn 数据加密标准 DES 属于常规密钥密码体制,是一种分组密码。n 在加密前,先对整个明文进行分组。每组长为 64 位。n 然后对每一个 64 位二进制数据进行加密处理,产生一组 64 位密文数据。n 最后将各组密文串接起来,即得出整个密文。n 使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。DES 的保密性n DES 的保密性仅取决于对密钥的保密,而算法是公开的。n DES 是世界上第一个公认的实用密码算法标准。n 目前较为严重的问题是 DES 密钥的长度。n 现在已设计出搜索 DES 密钥的专用芯片。7.2.2 公钥密码体制n 公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。n 公钥密码体制的产生主要是因为两个方面的原因,一是常规密钥密码体制的密钥分配问题,另一是对数字签名的需求。n 现有最著名的公钥密码体制是RSA 体制,它基于数论中大数分解问题的体制,由美国三位科学家 Rivest,Shamir 和 Adleman 于 1976 年提出并在 1978 年正式发表的。加密密钥与解密密钥 n 在公钥密码体制中,加密密钥(即公钥)PK 是公开信息,而解密密钥(即私钥或秘钥)SK 是需要保密的。n 加密算法 E 和解密算法 D 也都是公开的。n 虽然秘钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。n 注意n 公钥密码体制并不具有比传统加密体制更加优越之处n 由于目前公钥加密算法的开销较大,在可见的将来还看不出来要放弃传统的加密方法公钥算法的特点 n 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复明文:n 解密密钥是接收者专用的秘钥,对其他人保密。n 加密密钥是公开的,但不能用它来解密,即 公钥算法的特点(续)n 加密和解密的运算可以对调,即 n 在计算机上容易地产生成对的 PK 和 SK。n 从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。n 加密和解密算法都是公开的。公钥密码体制 密文Y E 运算加密算法D 运算解密算法加密 解密明文 X明文 X A BB 的私钥 SKB密文Y 因特网B 的公钥 PKB7.3 数字签名n 数字签名必须保证以下三点:(1)报文鉴别接收者能够核实报文发送者的真伪;(2)报文的完整性接收者确信收到的数据未被篡改;(3)不可否认发送者事后不能抵赖对报文的签名,即抵赖没有发送过该报文。n 采用公钥算法更容易实现数字签名的方法。密文 数字签名的实现 D运算明文 X 明文 X A BA 的私钥 SKA因特网签名 核实签名E运算密文 A 的公钥 PKA数字签名的实现n 因为除 A 外没有别人能具有 A 的私钥,所以除 A 外没有别人能产生这个密文。因此 B 相信报文 X 是 A 签名发送的。n 若 A 要抵赖曾发送报文给 B,B 可将明文和对应的密文出示给第三者。第三者很容易用 A 的公钥去证实 A 确实发送了 X 给 B。n 反之,若 B 将 X 伪造成 X,则 B 不能在第三者前出示对应的密文。这样就证明了 B 伪造了报文。具有保密性的数字签名 核实签名 解密 加密 签名 E 运算 D 运算明文 X 明文 X A BA 的私钥 SKA因特网E 运算B 的私钥 SKBD 运算加密与解密签名与核实签名B 的公钥 PKBA 的公钥 PKA密文7.4 鉴别n 对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则用鉴别(authentication)。n 报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间等)真伪。n 使用加密就可达到报文鉴别的目的。但在网络的应用中,许多报文并不需要加密。应当使接收者能用很简单的方法鉴别报文的真伪。n 鉴别与授权(authorization)不同n 授权涉及到的问题是:所进行的过程是否被允许(如是否可以对某文件进行读或写)。7.4.1 报文鉴别 n 许多报文并不需要加密但却需要数字签名,以便让报文接收者鉴别报文的真伪。n 对很长的报文进行数字签名会使计算机增加很大的负担。n 当我们传送不需要加密的报文时,应使接收者能用很简单的方法鉴别报文真伪。报文摘要 MD(Message Digest)n A 将报文 X 经过报文摘要算法运算后得出很短的报文摘要 H。然后用自己的私钥对 H 进行 D 运算,即进行数字签名。得出已签名的报文摘要 D(H)后,并将其追加在报文 X 后面发送给 B。n B 收到报文后首先把已签名的 D(H)和报文 X 分离。然后再做两件事。n 用A 的公钥对 D(H)进行E 运算,得出报文摘要 H。n 对报文 X 进行报文摘要运算,看是否能够得出同样的报文摘要 H。如一样,就能以极高的概率断定收到的报文是 A 产生的。否则就不是。报文摘要的优点n 仅对短得多的定长报文摘要 H 进行数字签名要比对整个长报文进行数字签名要简单得多,所耗费的计算资源也小得多。n 对鉴别报文 X 来说,效果是一样的。报文 X 和已签名的报文摘要 D(H)合在一起是不可伪造的,是可检验的和不可否认的。报文摘要算法n 报文摘要算法就是一种散列函数。报文摘要算法是防止报文被人恶意篡改。n 报文摘要算法是精心选择的一种单向函数。n 很容易地计算出一个长报文 X 的报文摘要 H,但要想从报文摘要 H 反过来找到原始的报文 X,则实际上是不可能的。n 若想找到任意两个报文,使得它们具有相同的报文摘要,那么实际上也是不可能的。报文摘要的实现 A比较签名 核实签名报文 XH D 运算 D(H)A 的私钥报文 X D(H)B报文摘要报文 X D(H)发送 E 运算H签名的报文摘要H报文摘要运算A 的公钥 报文摘要运算报文摘要报文摘要因特网7.4.2 实体鉴别 n 实体鉴别和报文鉴别不同。n 报文鉴别是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。最简单的实体鉴别过程 n A 发送给 B 的报文被加密,使用的是对称密钥 KAB。n B 收到此报文后,用共享对称密钥 KAB 进行解密,因而鉴别了实体 A 的身份。n 明显的漏洞:重放攻击A BA的身份,登录口令KAB使用不重数n 为了对付重放攻击,可以使用不重数(nonce)。不重数是一个不重复使用的大随机数,即“一次一数”。区分重复鉴别请求和新鉴别请求。ABA,RARBKABRARBKAB,时间中间人攻击 A B我是 A中间人 C我是 ARBRBSKC请把公钥发来PKCRBRBSKA请把公钥发来PKADATAPKCDATAPKA时间7.5 密钥分配 n 密钥管理包括:密钥产生、分配、注入、验证和使用。这里只讨论密钥的分配。n 密钥分配是密钥管理中最大的问题。密钥必须通过最安全的通路进行分配。7.5.1 对称密钥的分配n 目前常用的密钥分配方式是设立密钥分配中心 KDC(Key Distribution Center)。n KDC 是大家都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥(仅使用一次)。n 用户 A 和 B 都是 KDC 的登记用户,并已经在 KDC 的服务器上安装了各自和 KDC 进行通信的主密钥(master key)KA 和 KB。“主密钥”可简称为“密钥”。对称密钥的分配A B密钥分配中心KDCA,B,KABKB用户专用主密钥用户 主密钥 A KA B KB A,B,KABKABKBKA,时间A,BABKerberosAASTGSTKAB,A,KABKBT+1KABA,KSTKS,B,KTGA,KABKB,B,KABKSKTGKAA,KSKS,AS:鉴别服务器TGS:票据授权服务器KA:A 的对称密钥KTG:TGS 的对称密钥KS:A 和TGS 通信的会话密钥T:时间戳7.5.2 公钥的分配n 需要一个值得信赖的机构认证中心CA(Certification Authority),将公钥与其对应的实体(人或机器)进行绑定(binding)。n CA一般由政府出资建立。每个实体都有CA 发来的证书(certificate),里面有公钥及其拥有者的标识信息。此证书被 CA 进行了数字签名。任何用户都可从可信的地方获得认证中心 CA 的公钥,此公钥用来验证某个公钥是否为某个实体所拥有。有的大公司也提供认证中心服务。证书的结构公钥基础设施PKIn 定义(P215)n 狭义:证书管理的工具n 广义:P216n PKI的组成n 最终试题EE(持有数字证书的用户或依赖方)n 认证中心CA(负责颁发、管理和吊销EE 的证书)n 注册中心RA(对最终用户的注册管理,被CA 信任,可选实体)n 证书库Repository(公开数字证书和证书注销列表CRL)