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