VPN技术(五):加密技术和安全协议

Introduction

加密将数据加密成密文,只有拥有密钥的计算机可以解密密文并使用数据。加密技术分为两大阵营:对称加密和公钥加密。

  1. 对称加密
    所有的计算机共享同一个密钥,这份密钥同时用于加密和解密数据。
  2. 公钥加密
    需要数据的计算机共享同一个公钥,而加密使用一个私钥,公钥用于解密数据,私钥用于加密数据。

VPN使用的安全协议

通过VPN传输的数据,都是通过加密的。在数据传入VPN通道时加密,传出VPN通道时解密。为了保证安全,VPN使用的密钥不止一套,因此需要安全协议来保证安全性。

Site to site VPN

Site to site VPN使用GRE(Generic routing encapsulation)和IPSec(Internet protocol security)作为安全协议。

GRE

GRE提供了在IP层上,用于封装数据包以及传输数据的框架。包括在发送端和接收端,如何对不同类型的包进行封装。

IPSec

IPSec广泛应用在IP层上的安全数据传输,IPSec可以在不同的设备之间进行加解密,设备包括了路由器、防火墙、服务器和用户客户端。IPSec由下面两个组件构成:

  1. Authentication Header(AH):利用哈希算法,隐藏真实包头信息,并将哈希结果作为新的包头。
  2. Encapsulated Security Payload(ESP):通过对称密钥,对数据包内容进行加密。

Remote access VPN

Remote access VPN使用PPP(Point to point Protocol)作为安全协议,具体来讲,使用下面三种协议:

  1. PPTP(Point-to-point Tunneling Protocol):提供40-bit和128-bit的加密技术,用于PPP协议中的加密场景。
  2. L2F(Layer 2 Forwarding):由思科开发,使用PPP协议中的认证场景。
  3. L2TP(Layer 2 Tunneling Protocol):结合PPTP和L2F,支持IPSec,也可用于Site to site VPN的场景。

Summary

本文简单地介绍了VPN使用的加密技术以及安全协议。当然,真正需要设计、开发、部署一个新的VPN时仍然需要查阅详细的相关资料。对于Tunneling协议,内容较多,这里没有太多篇幅介绍。

(本文出自csprojectedu.com,转载请注明出处)