杜海濤
(無錫商業(yè)職業(yè)技術學院 江蘇 無錫 214063)
隨著社會的進步和計算機技術的發(fā)展,網絡的普及率越來越高,使網絡化成為企業(yè)信息化發(fā)展大趨勢,當人們在享受信息化帶來的眾多好處的同時,網絡安全問題已成為信息時代人類共同面臨的挑戰(zhàn)。
在網絡環(huán)境下,各種應用都需要通過身份認證來確認用戶的合法性,然后再確定用戶的個人數據和特定權限。身份認證是其他的安全服務的基礎,一旦身份認證系統被攻破,那么系統的其他安全措施都將形同虛設。身份認證可以采用各種各樣形式進行認證,口令認證系統以其密碼算法的抗攻擊能力強、兼容性好、使用方便可靠等顯著特點而逐漸成為身份認證技術的主流。根據驗證口令的產生方式的不同,口令認證可以分為靜態(tài)口令認證、一次性口令認證和雙因素動態(tài)口令認證。
靜態(tài)口令認證是指用戶登錄系統進行身份認證的過程中,提交給系統的驗證數據是固定不變的。靜態(tài)口令認證主要用于一些比較簡單的系統或安全性要求不高的系統,例如:PC機的開機口令、Unix系統中用戶的登錄、Windows用戶的登錄、電話銀行查詢系統的帳戶口令等。
靜態(tài)口令認證方案根據是否采用加密的方法分為兩種:口令匹配認證和算法匹配認證。
口令匹配認證:系統中的口令文件存放的是用戶口令的明文,當用戶登錄時,輸入身份ID和對應口令PW,系統根據用戶身份ID在口令文件中查找匹配的身份口令記錄。
算法匹配認證:系統中的口令文件存放的是口令的雜湊值,而不是口令明文本身。在使用加密的口令存儲方案的認證系統中,用戶登錄時,輸入身份ID和對應口令PW,然后計算口令PW的雜湊值,并將ID和口令PW的雜湊值傳送給系統進行認證,系統根據用戶身份ID在口令文件中查找匹配的身份口令記錄。由于雜湊函數的單向性,任何人都無法通過獲取存放在口令文件中的雜湊值而得到口令明文。
靜態(tài)口令認證存在著諸多的不安全因素。靜態(tài)口令認證具有以下缺陷:
(1)易泄密:常見泄密形式有,輸入泄密、傳輸泄密、共享性泄密、記錄泄密等。
(2)可被窮舉攻擊:由于靜態(tài)口令在一段時間內保持不變,惡意用戶可以用黑客工具長時間地進行窮舉分析。
(3)泄密不可知性:當靜態(tài)口令泄密后,系統和用戶都無法及時地獲知口令是否巳經泄密。
(4)長期性:靜態(tài)口令多使用一天就多一天泄密的危險,其危險性與日俱增。
所以根據以上缺陷,針對靜態(tài)口令系統的攻擊方法層出不窮,針對靜態(tài)口令方案的攻擊有以下方法:重放攻擊、窮舉攻擊、猜測與字典攻擊等;同時還可以通過窺探、釣魚詐騙、垃圾搜索等方式獲得口令。
一次性動態(tài)口令認證也稱動態(tài)口令認證,其機制是產生驗證信息的時候中加入不定因素,使每次登錄過程中網絡傳送的數據包都不同,以此來提高登錄的安全性。不定因子可以是用戶登錄的時間或者用戶登錄的次數等。
一次性口令通常通過一種稱為令牌的專用硬件來生成。令牌內置電源、密碼生成芯片和顯示屏。密碼生成芯片運行專門的密碼算法,根據當前時間或使用次數生成當前口令并顯示在顯示屏上。遠程系統采用相同的算法計算當前的有效口令。用戶使用時只需要將動態(tài)令牌上顯示的當前口令輸入客戶端計算機,即可實現身份認證。由于每次使用的口令必須由令牌動態(tài)產生,而且只有合法用戶才持有該硬件,所以只要通過口令驗證就可以認為該用戶的身份是可靠的。由于用戶每次使用的口令都不相同,即使黑客截獲了某一次登錄時使用的口令,也無法利用這個口令來仿冒合法用戶的身份。
一次性口令認證系統通過使用令牌產生的無法猜測和復制的一次性口令接入系統,保證了接入遠程系統的終端用戶確實為授權實體,有效地保護了信息系統的安全性,大大降低了非法訪問的風險。所以一次性口令認證具有以下優(yōu)點:
(1)動態(tài)性:令牌每次產生的口令都是不同的,而且口令都只在其產生的時間范圍內有效。
(2)隨機性:驗證口令每次都是隨機產生的,不可預測。
(3)一次性:驗證口令使用過一次后就失效,不能重復使用。
(4)不可復制性:驗證口令與令牌是緊密相關的,不同的令牌產生不同的動態(tài)口令。
(5)抗窮舉攻擊性:由于動態(tài)性的特點,如果單位時間內窮舉不到,那么下一單位時間就需要重新窮舉。另外還可以通過系統設置,限制單位時間內用戶嘗試登錄的次數,從而進一步降低窮舉攻擊的風險。
一次性口令盡管具有上述眾多優(yōu)點,但是如果用戶終端與系統的時間或登錄次數不能保持良好的同步,就可能發(fā)生授權用戶無法登錄的問題。
雙因素動態(tài)口令認證機制,是在靜態(tài)口令認證的基礎上,增加一個物理因素,并在登錄過程中增加不確定的變化因素以生成動態(tài)變化的驗證信息。其認證流程如下:用戶在業(yè)務終端上登錄時輸入用戶身份ID和靜態(tài)口PW;業(yè)務終端通過專用設備將第二個物理認證因素上的數據讀入;業(yè)務終端將對靜態(tài)口令和第二個物理因素數據進行密碼處理得到動態(tài)的驗證口令,然后將動態(tài)驗證口令送到中心主機進行驗證。中心主機系統將驗證口令數據包解密后,進行安全認證。業(yè)務終端接收中心主機返回的認證結果,并根據結果決定用戶的操作。最常見的物理因素有:生物特征和智能卡。智能卡與靜態(tài)口令結合使用的認證方式也是目前應用最廣泛的雙因素動態(tài)口令認證機制。
動態(tài)口令是隨機變化的一種口令形式,一個口令只能使用一次,重復使用的口令將被拒絕接受。動態(tài)口令的生成方法很多,但主要是采用數學手段來實現的。有使用簡單的密碼運算處理的,如基于挑戰(zhàn)應答機制的動態(tài)口令;也有應用復雜數學方法算法進行處理的。為了保證動態(tài)口令的唯一性和及時性,通常在驗證口令的生成過程加入時變參數以確保驗證口令是最新的。為了保證動態(tài)口令認證方案的安全性,必須保證驗證口令中的時變參數的完整性。
消息的完整性通常通過使用消息認證碼和數字簽名等密碼技術來保證。在實際應用中,通常使用的時變參數有序列號、時戮和隨機數三種。
使用序列號作為動態(tài)口令的時變參數時,驗證方必須為每個認證實體記錄和維護其序列號的狀態(tài)信息來確定以前己經使用過的和仍然有效的序列號。同時,驗證方還需提供特別的程序以防止環(huán)境或敵手破壞正常的序列。因而,序列號通常適用于較小的、相對封閉的系統中,這樣系統維護序列號的狀態(tài)信息的代價才不會太高。
使用時戳作為動態(tài)口令的時變參數時,驗證方只需驗證動態(tài)口令中的時戳的有效性,因而需要保證時鐘的同步和安全。但驗證方無需維護每個認證實體相對應的類似于序列號的長期狀態(tài)信息,也無需維護類似于隨機數的每次會話連接的短期狀態(tài)信息。時戮機制比較適用應用于內存資源比較珍貴的系統中,系統需要維護的狀態(tài)信息將大大減少。
使用隨機數作為動態(tài)口令的時變參數時,驗證方只需驗證認證實體返回的帶有驗證方產生的隨機數的應答認證的正確性。驗證方需要確保用于時變參數的隨機數是密碼學上安全的隨機數,同時使用隨機數的動態(tài)口令都需要通過需要交互才能完成認證。在一般的挑戰(zhàn)/應答機制的認證系統中均可以使用隨機數。在實際應用中,可以綜合使用上述時變參數來提供更好的安全方案。
靜態(tài)口令認證采用“用戶名+靜態(tài)口令”的方式來進行用戶的認證,這種靜態(tài)口令固定不變的、長期有效的,有易于泄漏、易于猜測、易于攻擊的缺陷。動態(tài)口令認證每次使用的密碼都不相同,使不法分子無法仿冒合法用戶的身份,而且加密算法的安全性極高,采用物理隔離,在交易過程中,很難被黑客替換或截獲,但口令卡一旦丟失也會給用戶帶來損失。雙因素動態(tài)口令認證彌補了靜態(tài)口令與動態(tài)口令各自的缺陷,把動態(tài)口令和靜態(tài)口令結合起來使用,既保留了靜態(tài)口令的特性,又增加了動態(tài)口令的優(yōu)點,因此具有雙保險的意義。
[1]王猛,盧建朱,李曉峰.基于智能卡的遠程口令認證方案.計算機應用,2005,25(10):2289-2290.
[2]徐成強,史清華.一種基于智能卡的新型雙向認證方案淮海工學院學報:自然科學版,2006,15(l):22-24.
[3]孟艷紅,李雅紅,黃靜.一種簡單的遠程動態(tài)口令認證方案.沈陽工業(yè)大學學報,2005,27(l):74-76.
[4]鄧飛進,范磊,施建俊.使用智能卡的動態(tài)口令認證機制.計算機工程,2005,31(24):172-174.