預共享密鑰的優缺點
預共享密鑰驗證不需要在公鑰結構 (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 的詳細信息,請參閱部署公鑰結構。