構建虛擬專用網的身份安全
基于公開密鑰體系(PKI)的認證
PKI即Public Key Infrastruction的縮寫,也就是所謂“公開密鑰體系”,是一種利用現代密碼學的公鑰密碼技術在公開的網絡環境中提供數據加密以及數字簽名服務的,統一的技術框架。使用公開的密鑰算法(也稱非對稱加密算法)的用戶同時擁有匹配的公鑰和私鑰。私鑰由用戶保存,且不能泄露,公鑰則要廣泛公開的發布。私鑰無法通過公鑰計算獲得。公開密鑰體系的作用不僅可用于安全密鑰交換,還可用于鑒別用戶的身份,下面將就如何鑒別用戶身份進行描述。
當服務器端需要驗證客戶端的身份時,服務器端產生一個隨機數,發送給客戶端,客戶端通過USB接口,把隨機數R傳送入USB Key中,使用自己的私鑰對隨機數進行加密,并把加密結果傳給服務器端,服務器端通過使用客戶的公鑰對接收到的加密數據進行解密,對比解密后的數是否和隨機數R一致,一致就通過驗證。
基于沖擊/響應服務的應用
下圖為基于沖擊響應體制實現強雙因子認證流程示意圖以及USB Key在網絡安全登錄拓撲圖:
USB Key認證流程圖
當需要在網絡上驗證用戶身份時,先由客戶端向服務器發出一個驗證請求。服務器接到此請求后生成一個隨機數并通過網絡傳輸給客戶端(此為沖擊)。客戶端將收到的隨機數通過USB接口提供給USB Key,由USB Key使用該隨機數與存儲在USB Key中的密鑰進行MD5-HMAC運算并得到一個結果作為認證證據傳給服務器(此為響應)。與此同時,服務器也使用該隨機數與存儲在服務器數據庫中的該客戶密鑰進行MD5-HMAC運算,如果服務器的運算結果與客戶端傳回的響應結果相同,則認為客戶端是一個合法用戶。
密鑰運算分別在USB Key硬件和服務器中運行,不出現在客戶端內存中,也不在網絡上傳輸,由于MD5-HMAC算法是一個不可逆的算法,就是說知道密鑰和運算用隨機數就可以得到運算結果,而知道隨機數和運算結果卻無法計算出密鑰,從而保護了密鑰的安全,也就保護了用戶身份的安全。
【編輯推薦】