《计算机网络 自顶向下方法》读书笔记 第8章 计算机网络中的安全

第8章 计算机网络中的安全

8.1什么是网络安全

1.安全通信具有下列所需要的特性:

  • 机密性。仅有发送方和希望的接收方能够理解传输报文的内容。因为窃听者可以截获报文,这必须要求报文在一定程度上进行加密,是截取的报文无法被截获者所理解。

  • 报文完整性。发送方和希望的接收方希望确保其通信的内容在传输过程中未被改变——或者恶意篡改或者意外活动。

  • 端点鉴别。发送方和接收方都应该能证实通信过程所涉及的另一方,以确信通信的另一方确实具有其所生成的身份。

  • 运行安全性。几乎所有的机构几天都有了于公共因特网连接的网络。这些网络因此潜在地能够被危及安全。攻击者能够试图在网络主机中安放蠕虫,获取公司秘密,勘察内部网络配置并发起DoS攻击。

8.2密码学的原则

1.发送者报文的最初形式被称为明文。发送者使用加密算法加密其明文报文,生成的加密报文被称为密文,该密文对任何入侵者看起来是不可懂的。发送方提供了一个密钥KA,它是一串数字或字符,作为加密算法的输入。加密算法以密钥和明文报文m为输入,生成的密文作为输出。用符号KA(m)表示使用密钥KA加密的明文报文m的密文形式。类似地,接收方将为解密算法提供密钥KB,将密文和接收方的密钥作为输入,输出初始明文。也就是说,如果接收方接收到一个加密的报文KA(m),他可通过计算KB(KA(m)) = m进行解密。在对称密钥系统中,发送方和接收方的密钥是相同并且是秘密的。在公开密钥系统中,使用一对密钥:一个密钥为发送方和接收方两人所知,另一个密钥只有发送方或接收方知道。

2.凯撒密码用于英语文本时,将明文报文中的每个字母用字母表中该字母后第k个字母进行替换。

3.凯撒密码的一种改进方法是单码代替密码,也是使用自字母表中的一个字母替换该字母表中的另一个字母。然而,并非按照规则的模式进行替换,只要每个字母都有一个唯一的替换字母,任一字母都可用另一字母替换,反之亦然。

4.当考虑入侵者破解加密方案的难易程度时,可以根据入侵者所拥有的信息分为三种不同的情况:

  • 唯密文攻击。有些情况下,入侵者只能得到截取的密文,也不了解明文报文的内容。

  • 已知明文攻击。如果入侵者以某种方式确信在密文报文中会出现的信息,就可以破解部分匹配关系。

  • 选择明文攻击。在选择明文攻击中,入侵者能够选择某一明文报文并得到该明文报文对应的密文形式。

5.多码代替密码是对单码代替密码的改进。多码代替密码的基本思想是使用多个单码代替密码,一个单码代替密码用于加密某明文中一个特定位置的字母。因此,在某明文报文中不同位置出现的相同字母可能以不同方式编码。

6.在块密码中,要加密的报文被处理为k比特的块。为了加密一个块,该密码采用了一对一映射,将k比特块的明文映射为k比特块的密文。块密码通常使用函数模拟随机排列表。例如当k = 64时,该函数首先将64比特块划分为8个块,每个块由8比特组成。每个8比特块由一个“8比特到8比特”表处理,这是个可管理的长度。接下来,这8个输出块被重新装配成一个64比特的块。该输出被回馈到64比特的输入,开始了第二次循环。经n此这样的循环后,该函数提供了一个64比特的密文块。

​ 如果使用上述的块密码,会出现一个微妙而重要的问题,即相同铭文块对应的密文块可能是相同的。为了解决这个问题,可以在密文中混合某些随机性,使得相同的明文块产生不同的密文块。令m(i)表示第i个明文块,c(i)表示第i个密文块,并且a⊕b表示两个比特串a和b的异或。将具有密钥S的块密码加密算法表示为KS。其基本思想如下:发送方为第i块生成一个随机的k比特数r(i),并且计算c(i) = KS(m(i)⊕r(i))。接收方收到c(i)和r(i),它能够通过计算m(i) = KS(c(i)⊕r(i))而恢复每个明文块。

​ 引入随机性产生了另一个问题:发送方必须传输一千两倍的比特。为了有效利用该技术,块密码通常使用了一种称为密码块链接(Cipher Block Chaining, CBC)的技术。其基本思想是仅随第一个报文发送一个随机值,然后让发送方和接收方使用计算的编码块代替后继的随机数。集体而言,CBC运行过程如下:

  • 在加密报文之前,发送方生成一个随机的k比特穿,称为初始向量(Initialization Vector, IV)。将该初始向量表示为c(0)。发送方以明文方式将IV发送给接收方。

  • 对第一个块,发送方计算m(1)⊕c(0),即计算第一块明文与IV的异或。然后通过块密码算法运行得到的结果以得到对应的密文块,即c(1) = KS(m(1)⊕c(0))。发送方向接收方发送加密块c(1)。

  • 对于第i个块,发送方根据c(i) = KS(m(i)⊕c(i – 1))生成第i个密文块。

7.在公开密钥密码中,发送方和接收方并未共享一个密钥,而接收方则由两个密钥,一个世界上任何人都可得到的公钥,另一个是只有接收方知道的私钥。使用符号$ K^+_B 和 和 K^-_B 来 分 别 表 示 接 收 方 的 公 钥 和 私 钥 。 为 了 与 接 收 方 通 信 , 发 送 方 首 先 取 得 接 收 方 的 公 钥 , 然 后 用 这 个 公 钥 和 一 个 众 所 周 知 的 加 密 算 法 , 加 密 他 要 传 递 给 发 送 方 的 报 文 m ; 即 发 送 方 计 算 来分别表示接收方的公钥和私钥。为了与接收方通信,发送方首先取得接收方的公钥,然后用这个公钥和一个众所周知的加密算法,加密他要传递给发送方的报文m;即发送方计算

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值