張清
摘要 隨著計算設備、通信設備以及網絡連接技術的進步發展,各類移動互聯網應用(如社交娛樂、商務金融交易、教育醫療服務等)逐漸被開發。然而,伴隨著移動互聯網應用的快速發展,安全問題也應運而生并成為制約這一領域發展的重要因素。作為網絡信息安全的重要組成部分,認證服務是系統安全中最重要的防線之一。由于移動設備以及網絡的開放性,認證協議也存在各種各樣的安全缺陷并面臨常見的攻擊手段,如消息重放、中間人、平行會話等。本文主要從三個角度對經典的認證協議進行分類概述。
【關鍵詞】認證服務 認證協議 安全缺陷 攻擊手段
越來越復雜的電子商務、事物處理和公共服務形式,使用戶越來越關注開放網絡環境中安全的通信方式。認證作為信息安全的重要部分之一,其安全性必須得以保障。至今為止,已有一系列經典的認證協議被相繼設計實現。但是,許多認證協議在公開不久后就被證明出其設計方式有明顯缺陷。Moore[l]指出這些攻擊往往不是密碼算法本身的缺陷引起的,而是協議的設計方法或使用算法的方法不當造成的。Clark和Jacob[2]在1997年總結了大量經典的認證協議,并針對大部分協議進行了安全性分析,給出具體的攻擊方式。本文主要從以下三個方面對這些認證協議進行分類概述。
1 基于認證對象的劃分
認證協議通常是指一個實體向另一個實體證明自己聲稱的某個特定屬性。根據屬性的不同,認證協議可分為消息認證(又稱數據源認證)和實體認證(又稱用戶認證)。消息認證的目的不僅要確保消息的完整性,還要確認消息的來源是否可信。而實體認證是為了確認用戶所聲明的身份是否與驗證方所尋求的用戶一致,其身份信息可以作為一條消息以消息認證機制來處理構成實體認證。值得注意的是,設計認證協議時往往需要保證消息和實體的鮮活性,以抵抗重放攻擊。因此,設計者通常會采用時間戳或者標準化的詢問,應答機制來證明消息或實體的鮮活性。
2 基于認證場景的劃分
由于認證協議即是一個通信過程,其必然涉及到至少兩個通信實體。因此依據真實的認證場景,可以將其分為單向認證和雙向認證。目前ISO(國際標準化組織)和IEC(國際電子協會)己將上述提到的詢問.應答機制標準化構成基本的單向認證機制,即兩個參與方中只有一個實體需要進行認證,比如電子郵件服務,其本質是接收者與發送者不需要同時在線,切接收者需要驗證消息是否來自于所謂的發送者。所謂雙向認證即兩個通信實體要互相認證,比如ISO和IEC提出的“ISO公鑰三次傳輸雙方認證協議”。但是,安全的雙向認證并不是簡單的進行兩次單向認證,其要求是一方的認證憑證需要包含一個與另一方認證憑證相關的上下文信息,且該上下文的狀態信息需要被記錄,這樣才能有效地抵抗“Wiener攻擊”。
3 基于認證協議的底層算法劃分
本節基于密碼算法依次介紹基于對稱密碼、基于非對稱/公鑰密碼以及基于可信第三方的認證協議。
基于對稱密碼的認證協議即認證雙方在開始通信前,共享一個對稱密鑰并約定一種對稱加密算法,驗證者收到認證請求需要用共享密鑰進行解密運算來確認聲稱者的合法性。假設協議中不需要對聲稱者的屬性信息保密,那么也可以使用單向函數(如哈希函數)來設計認證協議,此時雙方需要共享密鑰的同時約定一個帶密鑰的單向函數,聲稱者將屬性信息及其哈希值發送到驗證方,驗證方重新計算其屬性值的哈希值,并與接收到的哈希值比較,若相等,則判定對方為合法者。常見的基于口令的認證協議便采用了哈希函數,為了提高此類協議的安全性,Bellovin等提出利用概率加密技術(如加鹽操作)來放大口令空間,以抗擊專業攻擊者的在線竊聽及離線字典攻擊。
基于公鑰密碼的認證協議依賴于公鑰證書架構。某個聲稱者A利用自己的私鑰對某個屬性或者身份信息進行簽名,對應地,驗證者B可以通過公鑰證書架構獲得A的公鑰從而進一步驗證A的簽名。對應地,國際標準化組織ISO基于安全的非對稱密碼算法(如RSA算法、EIGamal數字簽名算法等)制定了一系列標準的公鑰認證協議。與此同時,一系列認證的密鑰交換協議被相繼提出,其中Diffie等提出的STS協議最為經典。該協議是Diffie-Hellman密鑰交換協議的一種變形,是因特網密鑰交換(IKE)協議的基礎,在認證及認證的密鑰交換這一領域中有重大意義。
上述兩種認證協議中,需要假設通信雙方事先共享了密鑰或者其中一方事先獲取了另一方的公鑰,但是標準通信模式中要求系統維護所有參與主體的通信狀態是不現實的,因此通信實體處于“交互.遺忘”模式。基于可信第三方的認證協議是為了讓互不相識的主體在認證前能夠通過可信第三方建立一個安全的通信信道,即通信雙方建立一個新的且安全的會話密鑰用以進行加密或簽名操作。基于可信第三方的對稱認證協議有很多,其中ISO/ISE的標準化認證協議中有兩個標準結構需要可信第三方參與;另外著名的Woo-Lam協議也是一個經典例子,該協議雖然被指出有許多致命的設計缺陷,但是在設計認證協議的難題研究中扮演了重要角色。與此同時,著名的Needham-Schroeder公鑰協議是基于可信第三方的公鑰認證協議。
4 總結
認證協議是網絡信息安全的重要保障,密碼算法是認證協議的核心組件,結合實際認證場景選擇密碼算法是保障認證效率的有效方法,正確調用密碼算法的方法是認證協議安全成功的關鍵。到目前為止,雖然有大量認證協議被實現,但這些協議陸續被證明有安全缺陷,因此尋求一種系統的方法來設計和分析認證協議是其理論研究的發展趨勢。
參考文獻
[1]J.H. Moore, "Protocol failures incryptosystems,” Proceedings of theIEEE, vol. 76, no.5, pp. 594-602, 1988.
[2]J. Clark and J.Jacob,”A survey ofauthentication protocol literature:version l.0."November 1997.