预共享密钥是用于验证
L2TP/IPSec连接的
Unicode字符串。可以配置“
路由和
远程访问”来验证支持预共享密钥的VPN连接。许多操作系统都支持使用预共享密钥,包括
Windows Server 2003家族和Windows XP。也可以配置运行Windows Server 2003家族版的“路由和远程访问”的服务器,使用预共享密钥验证来自其他
路由器的连接。
预共享密钥验证不需要在
公钥结构 (
PKI) 方面上进行硬件投资与配置,只在使用计算机证书进行 L2TP/IPSec 验证时需要用到它。在
远程访问服务器上配置预共享密钥很简单,在远程访问客户端上配置它也相对容易。如果预共享密钥是以放在“连接管理器”配置文件内的方式发行,则对用户可以是透明的。如果您要建立 PKI 或者在管理 Active Directory 域,则可以配置“
路由和远程访问”以接受使用
计算机证书或预共享密钥的 L2TP/IPSec 连接。
但是,单个
远程访问服务器对需要预共享密钥进行
身份验证的所有 L2TP/IPSec 连接只使用一个预共享密钥。因此,必须对使用预共享密钥连接到
远程访问服务器的所有 L2TP/IPSec VPN 客户端发行相同的预共享密钥。除非预共享密钥是以放在“连接管理器”配置文件内的方式分发,否则每个用户必须手动输入预共享密钥。此限制进一步降低了部署安全性,增加了发生错误的机率。而且,如果远程访问服务器上的预共享
密钥发生更改,则手工配置预共享密钥的客户端将无法连接到该服务器上,除非客户端上的预共享密钥也进行更改。如果预共享密钥是以放在“连接管理器”配置文件内的方式分发给客户端的,则必须重新发行包括新预共享密钥的配置文件,并在客户端计算机上进行重新安装。与证书不同,预共享密钥的起源和历史都无法确定。由于这些原因,使用预共享密钥验证 L2TP/IPSec 连接被认为是一种安全性相对较差的
身份验证方法。如果需要一种长期、可靠的身份验证方法,则应考虑使用 PKI。
预共享密钥是在
远程访问服务器和 L2TP/IPSec 客户端上都要配置的字符序列。预共享密钥可以是至多 256 个 Unicode 字符任意组合的任意非
空字符串。当选择预共享密钥时,请考虑到使用“新建连接”向导创建 VPN 客户端连接的用户必须手动键入预共享密钥。为提供足够的安全性,密钥通常很长也很
复杂,这对大部分用户来说很难准确地键入。如果 VPN 客户端出现的预共享密钥与远程访问服务器上配置的预共享密钥有任何不同,客户端
身份验证将失败。
首次存储预共享密钥时,远程访问服务器和 VPN 客户端会尝试将 Unicode 字符串转化为 ASCII。如果尝试成功,则将使用 ASCII 版本的字符串进行身份验证。该策略确保预共享密钥不会在传输过程中被与 Unicode 标准不兼容的任何设备(如其他公司的
路由器)所破坏。如果预共享密钥无法存储为 ASCII,则使用 Unicode 字符串。如果 Unicode 预共享密钥必须由与 Unicode 标准不兼容的任何设备所处理,则连接尝试无疑会失败。
通过使用“连接管理器管理工具包 (CMAK)”向导,可以为用户创建自定义的连接。可使用 CMAK 向导创建包含预共享密钥的 VPN 连接配置文件。因为配置文件是自
解压缩的,所以用户不必键入预共享密钥,甚至不必知道存在预共享密钥。通过用个人识别码 (PIN) 加密预共享密钥,可进一步增加“连接管理器”配置文件分发的安全性。通过这种方法,用户不仅看不到而且也不必键入预共享密钥,您可以分别分发配置文件和 PIN,以减少未经授权的用户可能对网络的访问。
有关连接管理器配置文件的详细信息,请参阅连接管理器管理工具包。有关 VPN 的详细信息,请参阅
虚拟专用网和使用 IPSec 的虚拟专用网络。有关 PKI 的详细信息,请参阅部署公钥结构。