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

Posted 思源湖的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《计算机网络自顶向下方法》读书笔记:计算机网络中的安全相关的知识,希望对你有一定的参考价值。

前言

打算系统学习下计算机网络,就来翻阅经典的自顶向下

本篇是第八章计算机网络中的安全,先讨论能够加密通信的密码技术,鉴别正在与之通信的对方并确保报文完整性;然后研究基本的密码学原则怎样用于生成安全的网络协议

资源:

1、概述

安全通信(secure communication)具有下列所需要的特性:

  • 机密性(confidentiality):仅有发送方和希望的接收方能够理解传输报文的内容。 因为窃听者可以截获报文,这必须要求报文在一定程度上进行加密(encrypted), 使截取的报文无法被截获者所理解
  • 报文完整性(message integrity):Alice和Bob希望确保其通信的内容在传输过程中未被改变——恶意篡改或者意外改动
  • 端点鉴别(end-point authentication):发送方和接收方都应该能证实通信过程所涉及的另一方,以确信通信的另一方确实具有其所声称的身份
  • 运行安全性(operational security):防火墙位于机构网络和公共网络之间,控制接入和来自网络 的分组。入侵检测系统执行“深度分组检查”任务,向网络管理员发岀有关可疑活动的警告

2、密码学的原则

(1)对称密钥密码体制

包括DES ( Data Encryption Standard,数据加密标准)、
3DES和AES ( Advanced Encryption Standard,高级加密标准)

(2)公开密钥加密

如RSA,参见现代密码系列:RSA密码详解

3、报文完整性和数字签名

(1)密码散列函数(cryptographic hash function)

找到任意两个不同的报文x和y使得H(x)=H(y)在计算上是不可能成立的,包括MD5和SHA系列

(2)报文鉴别码

除了使用密码散列函数外,Alice和Bob将需要共享秘密s。这个共享的秘密只不过是一个比特串,它被称为鉴别密钥(authentication key)。使用这个共享秘密,报文完整性能够执行如下:

  • Alice生成报文m,用s级联m以生成m+s,并计算散列H(m+s)(例如使用SHA-1),H(m+s)被称为报文鉴别码(Message Authentication Code, MAC)
  • Alice将MAC附加到报文m上,生成扩展报文(m, H(m+s)),并将该扩展 报文发送给Bob
  • Bob接收到一个扩展报文(m,h),由于知道s,计算出报文鉴别码H(m+s),如 果H(m+s)=h,Bob得到结论:一切正常

(3)数字签名


4、端点鉴别

端点鉴别(end-point authentication):一个实体经过计算机网络向另一个实体证明其身份的过程

通过使用在生存期中只出现一次的值R,然后核对返回的值KA-B®, Bob能够确定两点:Alice是她所声称的那个人(因为她知道加密所需的秘密密钥),Alice是活跃的(因为她已经加密了 Bob刚刚产生的不重数R)

5、安全电子邮件

机密性


端点鉴别和完整性


结合在一起

6、SSL

本节讲下安全套接字层(Secure Socket Layer, SSL), SSL版本3的一个稍加修改的版本被称为运输层安全性(Transport Layer Security, TLS),已经由IETF标准化[RFC 4346 ]

(1)握手

Bob需要:

  • 与Alice创建一条TCP连接
  • 验证Alice是真实的Alice
  • 发送给Alice 一个主密钥

完整过程:

  • 客户发送它支持的密码算法的列表,连同一个客户的不重数
  • 从该列表中,服务器选择一种对称算法(例如AES)、一种公钥算法(例如具有特定密钥长度的RSA)和一种MAC算法。它把它的选择以及证书和一个服务器不重数返回给客户
  • 客户验证该证书,提取服务器的公钥,生成一个前主密钥(Pre-Master Secret, PMS),用服务器的公钥加密该PMS,并将加密的PMS发送给服务器
  • 使用相同的密钥导岀函数(就像SSL标准定义的那样),客户和服务器独立地从PMS和不重数中计算出主密钥(Master Secret, MS)。然后该MS被切片以生成两个密码和两个MAC密钥。此外,当选择的对称密码应用于CBC (例如3DES或AES),则两个初始化向量(Initialization Vector, IV)也从该MS获得,这两个IV分别用于该连接的两端。自此以后,客户和服务器之间发送的所有报文均被加密和鉴别(使用MAC)
  • 客户发送所有握手报文的一个MAC
  • 服务器发送所有握手报文的一个MAC

(2)秘钥导出

Alice和Bob都使用MS生成4个密钥:

  • EB:用于从Bob发送到Alice的数据的会话加密密钥
  • MB:用于从Bob发送到Alice的数据的会话MAC密钥
  • EA:用于从Alice发送到Bob的数据的会话加密密钥
  • MA:用于从Alice发送到Bob的数据的会话MAC密钥

(3)数据传输

假定每个TCP报文段正好封装了一个记录,我们现在看看Alice将如何处理这些报文段:

  • 在Alice端运行的TCP将认为一切正常,将这两个记录传递给SSL子层
  • 在Alice端的SSL将解密这两个记录
  • 在Alice端的SSL将使用在每个记录中的MAC来验证这两个记录的数据完整性
  • SSL将解密的两条记录的字节流传递给应用层;但是Alice收到的完整字节流由于记录的颠倒而次序不正确!

7、IPsec

IPsec为任意两个网络层实体(包括主机和路由器)之间的IP数据报提供了安全,许多机构(公司、政府部门、非营利组织等等)使用IPsec创建了运行在公共因特网之上的虚拟专用网(Virtual Private Network, VPN)


数据报文

8、使LAN安全

有线等效保密(Wired Equivalent Privacy, WEP)


802.11i的运行

结语

简单过了一遍各个层面的安全设计和考虑

以上是关于《计算机网络自顶向下方法》读书笔记:计算机网络中的安全的主要内容,如果未能解决你的问题,请参考以下文章

《计算机网络自顶向下方法》读书笔记:网络层

《计算机网络自顶向下方法》读书笔记:网络层

《计算机网络自顶向下方法》读书笔记:传输层

《计算机网络自顶向下方法》读书笔记:传输层

《计算机网络自顶向下方法》读书笔记:应用层

《计算机网络自顶向下方法》读书笔记:应用层