互联网使用的安全协议

网络层安全协议

IP几乎不具备任何安全性,不能保证:

  • 数据机密性;
  • 数据完整性;
  • 数据来源认证

IPsec 提供了标准、健壮且包含广泛的机制保证IP 层安全。IPsec 就是“IP安全(security)”的缩写。

IPsec的三个部分

  1. IP 安全数据报格式的两个协议
    (1)鉴别首部 AH (Authentication Header)协议:提供源点鉴别和数据完整性,但不能保密
    (2)封装安全有效载荷 ESP (Encapsulation SecurityPayload)协议:提供源点鉴别、数据完整性和保密。

  2. 有关加密算法的三个协议(在此不讨论)

  3. 互联网密钥交换 IKE (Internet KeyExchange)协议。

IP 安全数据报的两种工作方式

  1. 运输方式(transport mode)::在整个运输层报文段的前后分别添加若干控制信息,再加上 IP 首部,构成 IP 安全数据报。把整个运输层报文段都保护起来,适合于主机到主机之间的安全传送。需要使用 IPsec 的主机都运行 IPsec协议。
  2. 隧道方式 (tunnel mode): 在原始的 IP 数据报的前后分别添加若干控制信息,再加上新的 IP 首部,构成一个 IP 安全数据报。 这需要在 IPsec 数据报所经过的所有路由器上都运行 IPsec 协议。 隧道方式常用来实现虚拟专用网 VPN。

无论使用哪种方式,最后得出的 IP 安全数据报的 IP 首部都是不加密的。 所谓“安全数据报”是指数据报的数据部分是经过加密的,并能够被鉴别的。 通常把数据报的数据部分称为数据报的有效载荷(payload)。

安全关联SA

在使用 AH 或 ESP 之前,先要从源主机到目的主机建立一条网络层的逻辑连接。此逻辑连接叫做安全关联 SA (Security Association) 。 IPsec 就把传统互联网无连接的网络层转换为具有逻辑连接的网络层。

假定公司总部的主机 H1 要和分公司的主机 H2 通过互联网进行安全通信。公司总部与分公司之间的安全关联SA 就是在路由器 R1 和 R2 之间建立的。
在这里插入图片描述
若公司总部的主机 H1 要和某外地业务员的主机 H2 进行安全通信,需要在公司总部的路由器 R1 和外地业务员的主机 H2 建立安全关联 SA。
在这里插入图片描述

运输层的安全协议

现在广泛使用的有以下两个协议:

  • 安全套接字层 SSL (Secure Socket Layer)
  • 运输层安全 TLS (Transport Layer Security) 。

SSL 作用在端系统应用层的 HTTP 和运输层之间,在TCP 之上建立起一个安全通道,为通过 TCP 传输的应用层数据提供安全保障。1999年,IETF 在SSL3.0 基础上推出了传输层安全标准 TLS,为所有基于 TCP 的网络应用提供安全数据传输服务。
在这里插入图片描述

  • SSL / TLS建立在可靠的 TCP 之上,与应用层协议独立无关。
  • SSL / TLS 已被所有常用的浏览器和万维网服务器所支持。
  • SSL / TLS基本目标:实现两个应用实体之间的安全可靠通信。
  • 应用层使用 SSL 最多的就是 HTTP,但 SSL 并非仅用于 HTTP,而是可用于任何应用层的协议。应用程序 HTTP 调用 SSL 对整个网页进行加密时,网页上会提示用户,在网址栏原来显示http 的地方,现在变成了 https。在 http 后面加上的s代表 security,表明现在使用的是提供安全服务的 HTTP 协议(TCP 的 HTTPS 端口号是 443,而不是平时使用的端口号 80)。

SSL 提供的安全服务

(1) SSL 服务器鉴别,允许用户证实服务器的身份。支持 SSL 的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务器的公钥。

(2) SSL 客户鉴别,SSL 的可选安全服务,允许服务器证实客户的身份。

(3) 加密的 SSL 会话,对客户和服务器间发送的所有报文进行加密,并检测报文是否被篡改。

应用层的安全协议

PGP (Pretty Good Privacy) 是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。 PGP 并没有使用什么新的概念,它只是将现有的一些算法如 MD5,RSA,以及 IDEA 等综合在一起而已。 虽然 PGP 已被广泛使用,但 PGP 并不是互联网的正式标准。

PGP工作原理

  • PGP 提供电子邮件的安全性、发送方鉴别和报文完整性。
    假定 A 向 B 发送电子邮件明文 X,使用 PGP 进行加密。
    A 有三个密钥:A 的私钥、B 的公钥和 A 生成的一次性密钥。
    B 有两个密钥:B 的私钥和 A 的公钥。

发送方A的工作

在这里插入图片描述
(1) 对明文邮件 X 进行 MD5 运算,得出 MD5 报文摘要 H。用 A 的私钥对 H 进行加密(即数字签名),得出报文鉴别码 MAC,把它拼接在明文 X 后面,得到扩展的邮件 (X, MAC)。
(2) 使用 A 自己生成的一次性密钥对扩展的邮件 (X,MAC)进行加密。
(3) 用 B 的公钥对 A 生成的一次性密钥进行加密。因为加密所用的密钥是一次性的,即密钥只会使用一次,不会出现因为密钥泄露导致之前的加密内容被解密。
即使密钥被泄露了,也只会影响一次通信过程。
(4) 把加了密的一次性密钥和加了密的扩展的邮件发送给 B。

接收方B的工作

在这里插入图片描述
(1) 把被加密的一次性密钥和被加密的扩展报文 (X, MAC) 分离开。
(2) 用 B 自己的私钥解出 A 的一次性密钥。
(3) 用解出的一次性密钥对报文进行解密,然后分离出明文 X 和MAC。
(4) 用 A 的公钥对 MAC 进行解密(即签名核实),得出报文摘要 H。这个报文摘要就是 A 原先用明文邮件 X 通过 MD5 运算生成的那个报文摘要。
(5) 对分离出的明文邮件 X 进行 MD5 报文摘要运算,得出另一个报文摘要 H(X)。把 H(X) 和前面得出的 H 进行比较,是否和一样。如一样,则对邮件的发送方的鉴别就通过了,报文的完整性也得到肯定。

猜你喜欢

转载自blog.csdn.net/qq1350975694/article/details/107079302
今日推荐