计算机网络详情5.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.4.1 报文鉴别 许多报文并不需要加密但却需要数字签名,以便让报文的接收者能够鉴别报文的真伪。 然而对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算。 当我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪。 报文摘要 MD (Message Digest) A 将报文 X 经过报文摘要算法运算后得出很短的报文摘要 H。然后然后用自己的私钥对 H 进行 D 运算,即进行数字签名。得出已签名的报文摘要 D(H)后,并将其追加在报文 X 后面发送给 B。 B 收到报文后首先把已签名的 D(H) 和报文 X 分离。然后再做两件事。 用A的公钥对 D(H) 进行E运算,得出报文摘要 H 。 对报文 X 进行报文摘要运算,看是否能够得出同样的报文摘要 H。如一样,就能以极高的概率断定收到的报文是 A 产生的。否则就不是。 报文摘要的优点 仅对短得多的定长报文摘要 H 进行数字签名要比对整个长报文进行数字签名要简单得多,所耗费的计算资源也小得多。 但对鉴别报文 X 来说,效果是一样的。也就是说,报文 X 和已签名的报文摘要 D(H) 合在一起是不可伪造的,是可检验的和不可否认的。 报文摘要算法 报文摘要算法就是一种散列函数。这种散列函数也叫做密码编码的检验和。报文摘要算法是防止报文被人恶意篡改。 报文摘要算法是精心选择的一种单向函数。 可以很容易地计算出一个长报文 X 的报文摘要 H,但要想从报文摘要 H 反过来找到原始的报文 X,则实际上是不可能的。 若想找到任意两个报文,使得它们具有相同的报文摘要,那么实际上也是不可能的。 报文摘要算法MD5 把任意长的报文按模264计算其余数(64bit),追加在报文的后面。 在报文和余数之间填充 1~512bit的数据块,使的填充后的总长度是512的整数倍。填充的首位是1,后面都是0。 把追加和填充后的报文分割成一个个512bit的数据块,每个512bit的报文数据再分成4个128bit的数据块依次送到不同的散列函数进行4轮计算。每一轮又都按32bit的小数据块进行复杂的运算。一直到最后计算出128bit的MD5报文摘要代码。 报文摘要算法MD5 MD5算法可以对任意长的报文进行运算,最后得出128bit 的报文摘要代码。 MD5报文摘要代码中的每一位都与原来 报文中的每一位有关。 安全散列算法SHA和MD5相似,但码长为160位,比MD5更安全,但慢一些。 报文摘要的实现 A 比较 签名 核实签名 报文 X ? H D 运算 D(H) A 的私钥 报文 X D(H) B 报文摘要 报文 X D(H) 发送 E 运算 H 签名的报文摘要 H 报文摘要 运算 A 的公钥 报文摘要 运算 报文摘要 报文摘要 因特网 7.4.2 实体鉴别 实体鉴别和报文鉴别不同。 报文鉴别是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。 最简单的实体鉴别过程 A 发送给 B 的报文的被加密,使用的是对称密钥 KAB。 B 收到此报文后,用共享对称密钥 KAB 进行解密,因而鉴别了实体 A 的身份。 A B A, 口令 KAB 明显的漏洞 入侵者 C 可以从网络上截获 A 发给 B 的报文。C 并不需要破译这个报文(因为这可能花很多时间)而可以直接把这个由 A 加密的报文发送给 B,使 B 误认为 C 就是 A。然后 B 就向伪装是 A 的 C 发送应发给 A 的报文。 这就叫做重放攻击(replay attack)。C 甚至还可以截获 A 的 IP 地址,然后把 A 的 IP 地址冒充为自己的 IP 地址(这叫做 IP 欺骗),使 B 更加容易受骗。 使用不重数 为了对付重放攻击,可以使用不重数(nonce)。不重数就是一个不重复使用的大随机数,即“一次一数”。 在鉴别过程中不重数可以使B能够把重复的鉴别请求和新的鉴别请求区分开。 使用不重数进行鉴别 A B A, RA RB KAB RA RB KAB , 时间 使用不重数进行鉴别 A首先用明文发送自己的身份A和一个不重数RA给B。 B响应A的查问,用共享的密钥KAB对RA加密后发给A,同时也给出自己的不重数RB。 最后A再响应B的查问,用共享的密钥KAB对RB加密后发回给B。 中间人攻击 A B 我是 A 中间人 C 我是 A RB RB SKC 请把公钥发来 PKC RB RB SKA 请把公钥发来 PKA DATA PKC DATA PKA 时间 中间人攻击说明 A 向 B 发送“我是 A”的报文,并给出了自己的身份。此报文被“中间人” C 截获,C 把此报文原封不动地转发给 B。B 选择一个不重数 R

文档评论(0)

congemm + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档