郭 麗 張亞利
[摘要]在分析SSL等認證網關不足的基礎上,提出一個基于USB KEY的安全認證網關的設計方案,然后給出其身份認證協議,并對其安全性進行分析。
[關鍵詞]USB KEY 認證網關 PKI SSL
中圖分類號:TP3 文獻標識碼:A 文章編號:1671-7597(2009)0720048-02

一、引言
隨著網絡應用的普及,網絡安全越來越受到人們的重視,網絡身份認證作為網絡安全的重要組成部分,一直是受關注的熱點。
安全認證網關是一個認證服務器,對受保護網絡提供身份認證支持,對于網絡外的訪問者進行統一的身份認證。傳統的基于用戶名和口令的認證方式過于簡單,極易被竊取,已經遠遠不能滿足實際安全需求,為了提高認證的安全性,現在的認證網關一般采用PKI(公鑰基礎設施)體系,使用數字證書的方式對用戶身份進行認證。
在PKI框架下,安全認證網關需要相應認證協議支持來完成用戶的認證,現在比較常見的認證協議是SSL協議,但是SSL是一種基于端到端的安全協議,與具體應用綁定緊密,對于多種應用支持作得不好。另外一種方式是采用IPSEC協議,在IP層做工作來完成對上層應用的支持,這種方式需要在操作系統內核層加入代碼,實現復雜,容易造成系統不穩定。
本文提出了一種在應用層實現,在不與應用程序綁定的情況下,透明地實現對多應用地支持,并基于USB KEY進一步保障了用戶身份的真實性。
二、USB KEY技術分析
用戶的數字證書和私鑰等機密信息可以以文件的形式存儲在磁盤上,但為了安全起見,證書和私鑰一般存放于物理載體中,最常見的載體便是USB KEY。
一個典型的USB KEY的內部結構如圖1所示:
USB KEY內部主要分為兩大部分:智能卡芯片和USB芯片。智能卡芯片是USB KEY的核心,通過內置卡內操作系統來完成卡內資源的管理,其一方面實現了證書、密鑰的安全存儲,另一方面還實現了多種加解密算法。USB芯片負責完成智能卡芯片與用戶主機通訊,是核心的智能卡芯片與用戶主機溝通的橋梁。
使用USB KEY有以下好處:
1.實現了雙因子認證。用戶只有同時擁有USB KEY以及知道其PIN碼才能使用USB KEY。
2.密鑰不出卡。USB KEY當中自帶了各種密碼算法,在密鑰不出卡的前提下,能夠進行各種基于密鑰的加解密運算,防止了密鑰的泄漏。
3.加解密速度快。在USB KEY當中,基于硬件實現了加解密算法,相對于軟件實現方式,其加解密速度更快。
三、安全認證網關的技術方案
(一)安全認證網關體系結構

如圖2所示,安全認證網關位于受保護的企業網絡出口處,負責對訪問本網絡企業服務的用戶進行認證。防火墻位于認證網關之外,負責對一些基于網絡的攻擊進行過濾。用戶終端裝有終端認證代理程序,啟動終端認證代理程序,并插入USB KEY才能夠與安全認證網關進行通信。
LDAP(輕量級目錄服務器)上存放了用戶證書,安全認證網關通過檢索LDAP可以獲取用戶證書,利用CRL(證書撤銷列表),對用戶證書的有效性進行驗證。
網絡內部的WEB服務器、EMAIL服務器、辦公自動化服務器等應用均位于安全認證網關之后,安全認證網關通過規則庫來判斷對哪些應用提供身份認證服務。
(二)認證證書的頒發
為了提高認證的安全性,安全認證網關基于PKI體系架構,通過證書對用戶進行認證。系統通過CA(證書中心)為參與認證的各實體頒發證書,證書和密鑰分發情況如下:
認證網關:擁有網關證書和網關私鑰,同時為了驗證用戶證書的頒布者,其還要擁有CA根證書;
USB KEY:擁有用戶證書和用戶私鑰和CA的根證書;
LDAP:存放系統所有的證書以及CRL列表。
(三)安全認證規則
對于受保護網絡來說,并不是所有服務都需要認證的,比如企業或政府部門中對外服務的網站系統等,在認證網關上可以配置對網絡中的哪些服務進行身份認證防護,對服務的區分可以通過提供服務器的IP地址和服務開放的端口進行,所以安全認證規則通過IP+端口進行。對于未配置的端口,采取放過的措施。
四、安全身份認證協議
安全認證網關的核心是身份認證協議,身份認證協議的安全性與易用性直接影響到了安全認證網關的安全性和可用性。SSL和IPSEC協議雖然在安全性上強度較高,但是其易用性不足。本系統的身份認證協議充分考慮了其易用性,采用了挑戰應答的方式進行了協議流程的設計,協議流程如圖3所示。
具體步驟如下:
1.客戶端程序連接服務器的端口,請求訪問服務。
2.安全認證網關捕獲客戶端程序對服務器受保護端口的請求,并阻塞該請求。然后安全認證網關向安全認證客戶端發起挑戰消息。該消息中包含的是一個隨機數。
3.安全認證客戶端收該隨機數后,將轉發該隨機數給USBKEY。
4.USBKEY利用其私鑰將該隨機數進行加密,并將加密后的密文返回給安全認證客戶端。
5.安全認證客戶端將USBKEY中返回的消息,連同客戶端的ID標識發送給認證網關。
6.認證網關收到該消息后,根據客戶端的ID從LDAP上查詢用戶證書,將證書中的用戶公鑰提取出來,利用公鑰將該消息解密,如果解密得到的消息中的隨機數與之前其產生的隨機數相同,則認為用戶合法,否則認為用戶非法。
7.如果判斷用戶合法,則放開第2步中阻塞的用戶請求,否則拒絕用戶的請求。

上述協議通過采用挑戰應用的方式,不傳遞用戶私鑰即可完成認證,有效地防止的常用的攻擊,下面通過對常用的攻擊形式進行分析,來說明本協議的安全性。
1.密鑰嗅探。通過對用戶發送數據包的監測,解析出其中的密碼。這從理論上是不可行的,因為在本協議中,用戶并沒有將其密鑰直接發送到認證網關進行認證,而是發送的加密后的隨機數消息,根據公鑰密碼算法理論,攻擊者是不可能破解出來密鑰的。
2.重放攻擊。即對以前用戶認證的消息包進行重放,使安全網關接受該用戶。但這也是無法做到的,因為用戶每次發送的消息都是根據網關的隨機數加密而來的,而隨機數會以很低的概率重復的,攻擊者得到的以前消息在之后的認證中是不能使用的。
3.在客戶端植入木馬程序,盜取用戶的私鑰。從上面協議可以看出,用戶的私鑰放在USB KEY中,USB KEY只返回給安全認證客戶端加密后的消息,并沒有返回其私鑰,而USB KEY中的私鑰從硬件設計上是不出USB KEY的,所以木馬程序也無法獲取用戶的私鑰。
4.USB KEY丟失。USB KEY實現的雙因子認證,除了擁有USB KEY多點,還需要知道PIN碼才能打開,所以即使KEY丟失了,攻擊者也無法使用該用戶登錄。
通過以上分析,可以看出該協議能夠抵擋常見的攻擊,具有一定的安全性,在協議的易用性上,相對于SSL、IPSEC協議要簡單許多,其完全可以在操作系統應用層工作,便于實現,另外認證客戶端并沒有和具體的應用客戶端程序相綁定,是獨立客戶端,可以方便地用于多種客戶端的場合。
五、結論
本文針對于SSL、IPSEC等認證網關的缺點,提出了基于USBKEY的認證網關的技術方案,給出了其身份認證協議,并對其進行安全性進行了分析。該協議不但具有一定的安全性,使用用起來也比較簡單,具有一定的實用價值。
參考文獻:
[1]關振勝,公鑰基礎設施PKI與認證機構CA[M].北京:電子工業出版社,2002.
[2]卿斯漢,認證協議兩種形式化分析方法的比較,軟件學報[J].2004,14.
[3]李中獻、詹榜華、楊義先,認證理論與技術發[J].展.電子學報,1999,7.
[4]趙戰生、馮登國、戴英伙、荊繼武,信息安全技術淺談[M].北京:科學出版社,1999.
作者簡介:
郭麗(1981-),女,漢族,河南南陽人,學士學位,河南省工業設計學校,助教;張亞利(1981-),女,漢族,河南焦作人,學士學位,河南省工業設計學校,助教。