李玉行
【摘 要】對通信主機進行有效的身份認證對于提高網絡通信的安全性具有重要意義,在主機地址和標識分離機制的基礎上,設計實現了一種具有層次結構的主機標識標簽,并在此基礎上設計了一種通過PKI機制實現主機實名標識的產生與分發機制,實現了對主機身份的實名認證,確保主機身份的可信性。進一步,還實現了一種基于P2P架構的主機身份標識映射模型,為網絡用戶提供高容錯性和高擴展性的地址標識映射服務。提出了一種分級認證中心組織結構下的通信雙方身份鑒別機制,能夠通過基本數據交換和證書查詢,在雙方進行通信之前對主機的身份進行鑒別,有效保證通信的安全性和可追溯性。
【關鍵詞】地址標識分離;主機身份認證
0 引言
身份管理和網絡可信性是確保網絡空間繁榮和健康發展的關鍵因素,并關系到未來網絡基礎設施和網絡架構,其重要性不言而喻。隨著網絡空間安全技術的發展,目前各國均希望充分發揮自己在此領域的主導作用,加強身份管理技術研發和部署,力圖爭奪在該項技術和標準方面的話語權。然而,在TCP/IP網絡體系結構中,IP地址具有雙重語義,既標識了結點的唯一身份,同時還描述了該結點在網絡中的位置。這種語義過載使得在TCP/IP網絡中,很難通過IP地址對主機的身份進行標識。影響現有網絡可信性的一個重要因素就是網絡實體身份的動態性,亦即主機IP地址可以根據需要進行動態變化,從而導致網絡中存在源地址欺騙等多種攻擊手段。這一問題產生的根源是網絡設備僅檢查數據包的目的地址,而對源地址不進行驗證,增加了安全、管理以及計費的難度。
目前對于網絡內主機身份的認證問題并沒有一套成體系的成熟解決方案,大部分研究都是圍繞其中某一特定問題展開研究,基本上屬于在現有網絡架構上針對不同問題打各種補丁,缺少系統級的解決方案。在這樣一種解決思路下,目前設計實現了多種機制解決IP通信網絡中的主機認證問題,例如通過接入控制客戶端實現主機的實名接入網絡,要求用戶必須憑身份令牌和口令帳號上網;局域網內通過IP地址和MAC地址綁定對主機身份進行認證;不少單位也開發了多種網絡身份認證系統等。但這些方案均存在一些不足,如接入控制客戶端本質上是應用層的解決方案,存在效率低等問題,并且其用戶名/密碼的登錄方式也很容易被破解;由于用戶可以動態修改相關地址信息,IP地址和MAC地址綁定的方案更是難以保證安全和可信問題。
事實上,現有大部分解決方案并未涉及到導致主機身份不可信的本質原因,因而只能屬于一種治標不治本的方案。在現有IP通信網絡體系結構中,由于IP地址承擔著主機標識符和主機尋址符的雙重角色,且可以由用戶對其進行動態修改,因而導致了現有IP網絡結構中缺少一種對主機身份進行有效標識和認證的機制。未來設計中必須要對IP地址的雙重身份進行解耦合,設計一種專門用于標識主機身份的符號,以保證網絡中主機身份的可信性。
1 基于地址標識分離的主機身份認證機制
1.1 主機地址標識分離技術
由前述分析可以發現,IP地址的雙重屬性是導致上述問題的一個根本原因,既充當身份標識符又充當尋址符的IP地址使得主機的身份信息與其位置信息密切相關,一旦由于位置變化導致主機的IP地址發生改變,將直接導致基于IP地址進行身份認證機制的失效。為此,我們借鑒現有HIP技術在解決地址標識分離方面的思想,提出一種基于地址標識分離的主機身份認證機制。
首先,為了解決IP地址的雙重屬性問題,在TCP/IP體系結構中的網絡層與傳輸層之間引入主機標識層,分離網絡層和運輸層的緊密耦合關系,為網絡中每臺主機分配一個全局唯一的主機標識(Host Identity,HI)來標識主機身份。上層應用利用HI作為通信主機的身份標識,底層通信程序則利用IP地址作為主機的位置標識,分離了IP地址的雙重功能和語義過載。主機標識和IP地址之間動態綁定,由主機標識協議負責兩者的映射關系維護,從而使得在主機標識保持不變的情況下,可以動態地改變主機的IP地址而不影響上層通信。圖1給出了傳統TCP/IP機制與地址標識分離機制之間的對比情況。
在引入主機標識符后,上層網絡服務通過主機標識符和IP地址進行標識,端主機可以根據需要動態改變IP地址。當IP地址變化后,端主機通知地址標識映射系統進行IP地址和主機標識綁定的改變即可,所有正在進行的通信隨后切換為新的IP地址進行通信,因此底層IP地址的變換不會對上層主機標識產生影響。
在主機標識層之上,HIP定義了一個新的命名空間:主機標識命名空間,主機標識命名空間要求網絡中任何端系統都必須具有一個全局唯一的主機標識HI。并且出于安全性考慮,HI采用非對稱密鑰體制中的公鑰,但是現行的非對稱密鑰體制太多,而且每一種體制所使用的密鑰長度也不相同。如果在數據通信的過程中直接采用公鑰來標識主機身份,則這種長度各異的標識會給協議標準化工作帶來不可預計的困難,而且若將長度不定的標識符作為查表的索引,也會增加查表的復雜性,降低查表效率。為了解決這個問題,HIP協議在HI的基礎上定義一個主機標識標簽(Host Identity Tag,HIT),HIT是對HI進行Hash運算得到的結果,本身具有加密和認證的雙重功能,并且為了與IPv6保持結構統一,HIT被定義為128位,所以在API和上層協議中便于統一進行通信雙方地址的定義。另外,兩個主機之間HIT具有統計學上的全局唯一性,能夠確保主機全局身份標識的唯一性。并且由于HIT是定長的,使得協議編碼和計算報文長度等等都非常方便。鑒于HIT具有的這些特性,我們可以利用HIT來實現安全、快速、低成本和可擴展性好的主機實名身份標識和認證機制。
1.2 網絡主機實名身份認證機制
為了實現安全可信通信,通信過程中通信雙方必須首先能夠鑒別彼此身份。在采用主機地址標識協議之后,可以為接入網絡的每臺主機都分配一個全局唯一的HIT,并且通過層次化的CA保證HIT與用戶身份的正確關聯,因此,可以利用這一優勢實現主機身份鑒別功能,用于通信雙方進行相互認證。
地址標識分離機制實現了主機標識的不變性和IP地址的按需改變,因此可以基于主機標識進行主機身份的認證,通信雙方通過主機標識進行相互通信,而在具體傳輸過程中再將主機標識轉化為當前IP地址,主機可以根據需要進行IP地址的任意變化而不影響身份認證。我們在前述地址標識分離的基礎上,建立一套支持安全認證的動態地址標識映射系統,圖2描述了這一系統的基本架構,其核心組件即最上層的地址標識認證映射系統,該系統由在現有IP網絡中部署的大量認證解析服務器所組成,并且為了避免單點故障的問題,這些認證解析服務器之間按照類似P2P結構中的分布式方式進行組織,負責對主機進行身份認證和地址標識映射。
圖3給出了網絡主機實名身份認證機制的基本流程,在層次結構的CA管理下,通信發起方I與響應方R進行通信,為了互相認證彼此的身份,兩者交互過程如下:
1)發起方I查詢DNS服務器,獲取響應方R的主機標識HI-R,主機標識標簽HIT-R以及IP地址IP-R。
2)發起方I與響應方R互相交換身份信息,包括實名證書、簽名等。
3)發起方I向CA認證服務器認證R的身份信息,在認證過程中,本機CA可能還需要向其上級CA發起進一步查詢。
4)響應方R向CA認證服務器認證I的身份信息,在認證過程中,本機CA可能還需要向其上級CA發起進一步查詢。
5)身份認證通過后雙方建立信任關系,兩者隨后可以進行安全可信的通信。
盡管上述機制能夠實現通信雙方身份認證,但由于缺乏對主機標識的真實性鑒別機制,仍存在中間人攻擊、DoS攻擊等安全漏洞,為此,我們對其進一步完善,借鑒HIP協議實現的基本交換過程,提出了高可信安全IP通信系統中主機身份認證算法TA-Authen,圖4給出了TA-Authen的協議交互基本流程。
在HIP協議中,通信雙方進行正式通信之前,首先要進行一個基于四次握手的HIP基本交換(BEX,Basic EXchange)過程,用于在通信雙方之間建立一個安全關聯,以便鑒別主機身份,防范諸如DoS攻擊、重放攻擊等惡意攻擊行為,并生成后續通信使用的Diffie-Hellman密鑰和協商相關通信參數。為了實現對主機身份的實名可信認證,在前述基于PKI的主機標識分配管理基礎上,我們對HIP協議的基本交換過程進行擴展,構建具有可信身份認證功能的通信認證機制。圖4描述了這種引入CA認證后,基于HIP BEX交換過程的主機可信身份認證機制,四次握手的報文分別為I1、R1、I2、R2,并根據認證需要攜帶相應的認證信息,雙方通過CA進行認證和反饋分別通過Authen和相應的ACK報文實現。
分析前述主機身份認證過程TA-Authen可以發現,其中通過CA中心實現了對通信雙方的身份認證,為實現可信通信奠定基礎。圖5給出了在高可信安全IP通信系統中主機進行通信時的基本結構圖,由該圖可以看到,應用程序利用主機實名地址解析模塊、主機實名證書認證模塊和HIP基本交換處理模塊對通信雙方的可信身份進行驗證,且驗證過程中還需要與PKI中的CA中心進行交互以判斷雙方身份的真實性。在我們提出的層次化PKI結構模型中,通信雙方為了驗證彼此的真實身份,首先必須都持有一級CA的根證書,并根據該根證書和各級網管中心的CA證書中的AIA鏈接逐次取得上級CA的證書,形成一個證書鏈,最終按照算法1通過證書鏈中順序驗證主機實名證書。
圖5 基于可信標識的實體身份認證結構
算法1給出了對證書鏈的驗證順序,針對其中每一個證書,需要對其合法有效性進行驗證,由于在本系統中證書形成一個層次化的結構,因此具體過程也包括利用數字簽名驗證證書和相應的證書撤銷列表的合法性、通過有效期和證書撤銷列表驗證證書的有效性。由于證書和證書撤銷列表均有相應的數字簽名,所以,利用相應的公鑰信息就可以進行合法性驗證;另外,如果證書存在對應的證書撤銷列表且該信息合法,則說明該證書已被撤銷。
2 標識認證映射系統架構設計
由前述討論可以發現,地址標識認證映射系統既負責對主機的身份進行認證,又負責主機標識與其最新IP地址之間的動態映射,因此是實現網絡移動目標防護機制HI-MTD的基礎與核心,需要具有高度的容錯能力和可擴展性。為了能夠實現對主機標識和相應IP地址的高效映射,兼顧性能與可擴展性等要求,借鑒對等網絡在容錯等方面的優越性,我們設計實現了一種基于OpenDHT結構的主機標識地址映射模型,實現主機標識和IP地址之間的動態映射關系管理。
模型的基本結構如圖6所示,系統中所有的認證映射服務器邏輯上形成了一個類似于Chord[10]的環形空間,每個結點負責一個范圍的邏輯空間,所有結點構成了整個地址標識認證映射系統的邏輯空間。每個地址標識認證映射服務器的主機標識通過哈希函數映射成一個結點標識,作為該服務器結點在邏輯空間中的地址;系統中的數據對象描述符也由哈希函數進行哈希處理,記為數據對象的關鍵字Key。假設一個地址標識映射數據記錄的標識符為HS,則有Key=Hash(HS),而這個記錄將會存儲在地址為successor(Hash(HS))的地址標識認證映射服務器結點上,這里successor(k)代表標識符大于或等于k的第一個結點,反映在Chord環上,successor(k)就是從k開始順時針方向距離最近的結點。
為了提高系統的安全性,我們在地址標識認證映射服務器處增加相應的安全措施,對增加、刪除或者修改其中的記錄都實行嚴格的身份認證操作,確保記錄的有效性。采用P2P存儲系統負責地址標識認證映射系統中數據信息的分發、存儲和查詢,能解決集中式結構因為嚴格的等級結構和中心控制而帶來的單點失效、性能瓶頸等問題,增強了系統自身的生存能力。
3 結束語
身份認證對于提高網絡通信的安全性具有重要意義,但IP地址的雙重屬性導致在網絡中進行主機身份認證的困難性。在主機地址和標識分離機制的基礎上,設計實現了一種具有層次結構的主機標識標簽,并在此基礎上設計了一種通過PKI機制實現主機實名標識的產生與分發機制,實現了對主機身份的實名認證,確保主機身份的可信性。在此基礎上,還實現了一種基于P2P架構的主機身份標識映射模型,為網絡用戶提供高容錯性和高擴展性的地址標識映射服務。提出了一種分級CA組織結構下的通信雙方身份鑒別機制,能夠通過基本數據交換和證書查詢,在雙方進行通信之前對主機的身份進行鑒別,有效保證通信的安全性和可追溯性。
【參考文獻】
[1]RFC 4423.Host Identity Protocol(HIP)Architecture[Z].IETF,2006.
[2]Pekka Nikander.The Host Identity Protocol(HIP):Bringing mobility,multi-homing,and baseline security together[J].Security and Privacy in Communications Networks and the Workshops,2007(9).
[3]Marc Barisch,Alfredo Matos.Integrating User Identity Management Systems with the Host Identity Protocol[J].Computers and Communications,2009(7):830-836.
[4]Kristiina Karvonen,Miika Komu and ere.Usable Security Management with Host identity Protocol[J].Computer systems and Applications,2009(2):279-286.
[5]Miika Komu,Application Programming Interfaces for the Host Identity Protocol. http://infrahip.hiit.fi/hip-native-api-final.pdf.
[6]Richard Barber.Implementing Public Key Infrastructures in a Dynamic Business Environment[J].Computers & Security,2000,19(20):230-233.
[7]RFC 6253.Host Identity Protocol Certificates[Z].IETF,2011.
[8]Open Chord,http://open-chord.sourceforge.net/.
[責任編輯:田吉捷]