这篇翻译不完整。请帮忙从英语翻译这篇文章

草案
本页尚未完工.

TCP/IP 在全世界被广泛应用于提供网络通信。  TCP/IP 通信由四个工作层组成。当用户想要通过网络传输数据时,数据就会从更高层通过中间层逐渐传递到最底层,每层都会添加对应的信息。在每一层, 逻辑单元通常由标头和有效载荷组成。有效载荷由上一层传递下来的信息组成,而头部包含特定于层的信息,例如地址。在应用程序层,有效负载是实际的应用程序数据。最底层通过物理网络发送累积数据;然后,数据通过层向上传递到目的地。基本上,由层生成的数据通过其下面的层封装在更大的容器中。从最高到最低的四个TCP / IP层如下所示。

  • 应用层 。 该层发送和接收特定应用程序的数据,例如域名系统(DNS),超文本传输​​协议(HTTP)和简单邮件传输协议(SMTP)。
  • 传输层。  该层提供面向连接或无连接的服务,用于在网络之间传输应用层服务。传输层可以任选地确保通信的可靠性。传输控制协议(TCP)和用户数据报协议(UDP)是常用的传输层协议。
  • 网络层。  该层通过网络根据特定路由发送数据包。 Internet协议(IP)是TCP / IP的基本网络层协议。网络层上的其他常用协议是因特网控制消息协议(ICMP)和因特网组管理协议(IGMP)。
  • 数据链路层。 该层处理物理网络组件上的通信。最着名的数据链路层协议是以太网。

存在用于TCP / IP模型的每一层的网络通信的安全控制。如前所述,数据从最高层传递到最低层,每层添加更多信息。因此,较高层的安全控制不能为较低层提供保护,因为较低层执行较高层不知道的功能。每层可用的安全控制包括:

  • 应用层。  必须为每个应用程序建立单独的控制。例如,如果应用程序需要保护跨网络发送的敏感数据,则可能需要修改应用程序以提供此保护。虽然这为应用程序的安全性提供了非常高的控制和灵活性,但可能需要大量资源投入才能为每个应用程序正确添加和配置控件。设计一个密码健全的应用程序协议是非常困难的,正确实现它更具挑战性,因此创建新的应用程序层安全控制可能会产生漏洞。此外,某些应用程序,尤其是现成的软件,可能无法提供此类保护。虽然应用程序层控件可以保护应用程序数据,但它们无法保护TCP / IP信息(如IP地址),因为此信息存在于较低层。只要有可能,用于保护网络通信的应用层控制应该是基于标准的解决方案,这些解决方案已经使用了一段时间。一个例子是安全的多用途互联网邮件扩展(S / MIME),它通常用于加密电子邮件消息。
  • 传输层。此层的控件可用于保护两台主机之间的单个通信会话中的数据。由于IP信息是在网络层添加的,因此传输层控件无法保护它。传输层协议的最常见用途是保护HTTP流量;通常使用传输层安全性(TLS)协议。 (TLS是SSL版本3的基于标准的版本。有关TLS的更多信息,请参阅RFC 4346,TLS协议版本1.1,可从https://www.ietf.org/rfc/rfc4346.txt 获得。另一个很好的来源信息是NIST SP 800-52,传输层安全的选择和使用指南,可从https://csrc.nist.gov/publications/nistpubs/ )。TLS的使用通常要求每个应用程序支持TLS;但是,与通常涉及应用程序的广泛定制的应用程序层控件不同,传输层控件(如TLS)的干扰要小得多,因为它们不需要了解应用程序的功能或特性。尽管使用TLS可能需要修改某些应用程序,但TLS是经过充分测试的协议,其中有多个实现已添加到许多应用程序中,因此与在应用程序层添加保护相比,它是一种风险相对较低的选项。传统上,TLS已用于保护基于HTTP的通信,并可与SSL门户VPN一起使用。
  • 网络层。此层的控件可应用于所有应用程序;因此,它们不是特定于应用程序的。例如,可以在该层保护两个主机或网络之间的所有网络通信,而无需修改客户端或服务器上的任何应用程序。在某些环境中,网络层控制(如互联网协议安全性(IPsec))提供了比传输或应用程序层控制更好的解决方案,因为向单个应用程序添加控件存在困难。网络层控制还为网络管理员提供了一种强制执行某些安全策略的方法。网络层控制的另一个优点是,由于在该层添加了IP信息(例如,IP地址),所以控制可以保护分组内的数据和每个分组的IP信息。但是,与传输和应用程序层控制相比,网络层控制提供的保护特定应用程序的控制和灵活性较低SSL隧道VPN提供了保护TCP和UDP通信(包括客户端/服务器和其他网络流量)的能力,因此可用作网络层VPN。
  • 数据链路层。 数据链路层控制应用于特定物理链路上的所有通信,例如两个建筑物之间的专用电路或连接到Internet服务提供商(ISP)的拨号调制解调器连接。专用电路的数据链路层控制通常由称为数据链路加密器的专用硬件设备提供;用于其他类型连接的数据链路层控制,例如拨号调制解调器通信,通常通过软件提供。由于数据链路层位于网络层之下,因此该层的控制可以保护数据和IP信息。与其他层的控件相比,数据链路层控件相对简单,这使得它们更容易实现;此外,它们还支持IP以外的其他网络层协议。由于数据链路层控制特定于特定物理链路,因此它们无法保护与多个链路的连接,例如通过Internet建立VPN。基于互联网的连接通常由链接在一起的若干物理链路组成;保护与数据链路层控制的这种连接将需要为每个链路部署单独的控制,这是不可行的。数据链路层协议已经使用多年,主要是为不应信任的特定物理链路提供额外保护。

由于它们可以同时为许多应用程序提供保护而无需对其进行修改,因此经常使用网络层安全控制来保护通信,尤其是在诸如因特网的共享网络上。网络层安全控制提供单一解决方案,用于保护所有应用程序的数据,以及保护IP信息。然而,在许多情况下,另一层的控制比网络层控制更适合提供保护。例如,如果只有一个或两个应用程序需要保护,则网络层控制可能过多。 SSL等传输层协议最常用于为与各个基于HTTP的应用程序进行通信提供安全性,但它们也用于为其他类型的应用程序(如SMTP,存在点(POP),Internet)的通信会话提供保护。消息访问协议(IMAP)和文件传输协议(FTP)。由于所有主要的Web浏览器都包含对TLS的支持,因此希望使用受TLS保护的基于Web的应用程序的用户通常不需要安装任何客户端软件或重新配置其系统。传输层安全协议的较新应用程序保护HTTP和非HTTP应用程序通信,包括客户端/服务器应用程序和其他网络流量。每一层的控件都提供了其他层控件的优点和功能。

SSL是最常用的传输层安全控制。根据SSL的实现和配置方式,它可以提供以下类型的保护的任意组合:

  • 机密性。  SSL可以确保未授权方无法读取数据。这是通过使用加密算法和秘密密钥加密数据来实现的 - 秘密密钥是仅为双方交换数据所知的值。数据只能由拥有密钥的人解密。
  • 完整性。 SSL可以确定数据是否在传输过程中(有意或无意)更改。通过生成消息认证码(MAC)值可以确保数据的完整性,MAC值是数据的密钥加密校验和。如果更改数据并重新计算MAC,则旧MAC和新MAC将不同。
  • 对等实体认证。  每个SSL端点都可以确认其希望与之通信的另一个SSL端点的标识,从而确保从预期的主机发送网络流量和数据。 SSL身份验证通常是单向执行的,向客户端验证服务器,但可以相互执行。
  • 重发保护。  相同的数据不会多次传送,并且数据不会严重无序传送。

Original Document Information

  • Author(s): Sheila Frankel, Paul Hoffman, Angela Orebaugh, and Richard Park
  • Title: National Institute of Standards and Technology (NIST) Special Publication 800-113, Guide to SSL VPNs
  • Last Updated Date: July 2008
  • Copyright Information: This document is not subject to copyright.

文档标签和贡献者

此页面的贡献者: baiweichen
最后编辑者: baiweichen,