歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> TCP/IP各層的安全性和提高各層安全性的方(一)

TCP/IP各層的安全性和提高各層安全性的方(一)

日期:2017/2/27 12:15:16   编辑:Linux文化

一、Internet層的安全性

對Internet層的安全協議進行標准化的想法早就有了。在過去十年裡,已經提出了一些方案。例如,“安全協議3號(SP3)”就是美國國家安全局以及標准技術協會作為“安全數據網絡系統(SDNS)”的一部分而制定的。“網絡層安全協議(NLSP)”是由國際標准化組織為“無連接網絡協議(CLNP)”制定的安全協議標准。“集成化NLSP(I-NLSP)”是美國國家科技研究所提出的包括IP和CLNP在內的統一安全機制。SwIPe是另一個Intenet層的安全協議,由Ioannidis和Blaze提出並實現原型。所有這些提案的共同點多於不同點。事實上,他們用的都是IP封裝技術。其本質是,純文本的包被加密,封裝在外層的IP報頭裡,用來對加密的包進行Internet上的路由選擇。到達另一端時,外層的IP報頭被拆開,報文被解密,然後送到收報地點。

Internet工程特遣組(IETF)已經特許Internet協議安全協議(IPSEC)工作組對IP安全協議(IPSP)和對應的Internet密鑰管理協議(IKMP)進行標准化工作。IPSP的主要目的是使需要安全措施的用戶能夠使用相應的加密安全體制。該體制不僅能在目前通行的IP(IPv4)下工作,也能在IP的新版本(IPng或IPv6)下工作。該體制應該是與算法無關的,即使加密算法替換了,也不對其他部分的實現產生影響。此外,該體制必須能實行多種安全政策,但要避免給不使用該體制的人造成不利影響。按照這些要求,IPSEC工作組制訂了一個規范:認證頭(Authentication Header,AH)和封裝安全有效負荷(Encapsulating Security Payload,ESP)。簡言之,AH提供IP包的真實性和完整性,ESP提供機要內容。

IP AH指一段消息認證代碼(Message Authentication Code,MAC),在發送IP包之前,它已經被事先計算好。發送方用一個加密密鑰算出AH,接收方用同一或另一密鑰對之進行驗證。如果收發雙方使用的是單鑰體制,那它們就使用同一密鑰;如果收發雙方使用的是公鑰體制,那它們就使用不同的密鑰。在後一種情形,AH體制能額外地提供不可否認的服務。事實上,有些在傳輸中可變的域,如IPv4中的time-to-live域或IPv6中的hop limit域,都是在AH的計算中必須忽略不計的。RFC 1828首次規定了加封狀態下AH的計算和驗證中要采用帶密鑰的MD5算法。而與此同時,MD5和加封狀態都被批評為加密強度太弱,並有替換的方案提出。

IP ESP的基本想法是整個IP包進行封裝,或者只對ESP內上層協議的數據(運輸狀態)進行封裝,並對ESP的絕大部分數據進行加密。在管道狀態下,為當前已加密的ESP附加了一個新的IP頭(純文本),它可以用來對IP包在Internet上作路由選擇。接收方把這個IP頭取掉,再對ESP進行解密,處理並取掉ESP頭,再對原來的IP包或更高層協議的數據就象普通的IP包那樣進行處理。RFC 1827中對ESP的格式作了規定,RFC 1829中規定了在密碼塊鏈接(CBC)狀態下ESP加密和解密要使用數據加密標准(DES)。雖然其他算法和狀態也是可以使用的,但一些國家對此類產品的進出口控制也是不能不考慮的因素。有些國家甚至連私用加密都要限制。

AH與ESP體制可以合用,也可以分用。不管怎麼用,都逃不脫傳輸分析的攻擊。人們不太清楚在Internet層上,是否真有經濟有效的對抗傳輸分析的手段,但是在Internet用戶裡,真正把傳輸分析當回事兒的也是寥寥無幾。

1995年8月,Internet工程領導小組(IESG)批准了有關IPSP的RFC作為Internet標准系列的推薦標准。除RFC 1828和RFC 1829外,還有兩個實驗性的RFC文件,規定了在AH和ESP體制中,用安全散列算法(SHA)來代替MD5(RFC 1852)和用三元DES代替DES(RFC 1851)。

在最簡單的情況下,IPSP用手工來配置密鑰。然而,當IPSP大規模發展的時候,就需要在Internet上建立標准化的密鑰管理協議。這個密鑰管理協議按照IPSP安全條例的要求,指定管理密鑰的方法。

因此,IPSEC工作組也負責進行Internet密鑰管理協議(IKMP),其他若干協議的標准化工作也已經提上日程。其中最重要的有:

IBM 提出的“標准密鑰管理協議(MKMP)”
SUN 提出的“Internet協議的簡單密鑰管理(SKIP)”
Phil Karn 提出的“Photuris密鑰管理協議”
Hugo Krawczik 提出的“安全密鑰交換機制(SKEME)”
NSA 提出的“Internet安全條例及密鑰管理協議”
Hilarie Orman 提出的“OAKLEY密鑰決定協議”
在這裡需要再次強調指出,這些協議草案的相似點多於不同點。除MKMP外,它們都要求一個既存的、完全可操作的公鑰基礎設施(PKI)。MKMP沒有這個要求,因為它假定雙方已經共同知道一個主密鑰(Master Key),可能是事先手工發布的。SKIP要求Diffie-Hellman證書,其他協議則要求RSA證書。

1996年9月,IPSEC決定采用OAKLEY作為ISAKMP框架下強制推行的密鑰管理手段,采用SKIP作為IPv4和IPv6實現時的優先選擇。目前已經有一些廠商實現了合成的 ISAKMP/OAKLEY方案。Photuris以及類Photuris的協議的基本想法是對每一個會話密鑰都采用Diffie-Hellman密鑰交換機制,並隨後采用簽名交換來確認Diffie--Hellman參數,確保沒有“中間人”進行攻擊。這種組合最初是由Diffie、Ooschot和Wiener在一個“站對站(STS)”的協議中提出的。Photuris裡面又添加了一種所謂的“cookie”交換,它可以提供“清障(anti-logging)”功能,即防范對服務攻擊的否認。

Photuris以及類Photuris的協議由於對每一個會話密鑰都采用Diffie-Hellman密鑰交換機制,故可提供回傳保護(back-traffic protection,BTP)和完整轉發安全性(perfect-forward secrecy,PFS)。實質上,這意味著一旦某個攻擊者破解了長效私鑰,比如Photuris中的RSA密鑰或SKIP中的Diffie-Hellman密鑰,所有其他攻擊者就可以冒充被破解的密碼的擁有者。但是,攻擊者卻不一定有本事破解該擁有者過去或未來收發的信息。

值得注意的是,SKIP並不提供BTP和PFS。盡管它采用Diffie-Hellman密鑰交換機制,但交換的進行是隱含的,也就是說,兩個實體以證書形式彼此知道對方長效Diffie--Hellman 公鑰,從而隱含地共享一個主密鑰。該主密鑰可以導出對分組密鑰進行加密的密鑰,而分組密鑰才真正用來對IP包加密。一旦長效Diffie-Hellman密鑰洩露,,則任何在該密鑰保護下的密鑰所保護的相應通信都將被破解。而且SKIP是無狀態的,它不以安全條例為基礎。每個IP包可能是個別地進行加密和解密的,歸根到底用的是不同的密鑰。

SKIP不提供BTP和PFS這件事曾經引起IPSEC工作組內部的批評,該協議也曾進行過擴充,試圖提供BTP和PFS。但是,擴充後的SKIP協議版本其實是在BTP和PFS功能的提供該協議的無狀態性之間的某種折衷。實際上,增加了BTP和PFS功能的SKIP非常類似於Photuris以及類Photuris的協議,唯一的主要區別是SKIP(仍然)需要原來的Diffie-Hellman證書。這一點必須注意:目前在Internet上,RSA證書比其他證書更容易實現和開展業務。

大多數IPSP及其相應的密鑰管理協議的實現均基於Unix系統。任何IPSP的實現都必須跟對應協議棧的源碼糾纏在一起,而這源碼又能在Unix系統上使用,其原因大概就在於此。但是,如果要想在Internet上更廣泛地使用和采納安全協議,就必須有相應的DOS或Windows版本。而在這些系統上實現Internet層安全協議所直接面臨的一個問題就是,PC上相應的實現TCP/IP的公共源碼資源什麼也沒有。為克服這一困難,Wagner和Bellovin實現了一個IPSEC模塊,它象一個設備驅動程序一樣工作,完全處於IP層以下。

Internet層安全性的主要優點是它的透明性,也就是說,安全服務的提供不需要應用程序、其他通信層次和網絡部件做任何改動。它的最主要的缺點是: Internet層一般對屬於不同進程和相應條例的包不作區別。對所有去往同一地址的包,它將按照同樣的加密密鑰和訪問控制策略來處理。這可能導致提供不了所需的功能,也會導致性能下降。針對面向主機的密鑰分配的這些問題,RFC 1825允許(甚至可以說是推薦) 使用面向用戶的密鑰分配,其中,不同的連接會得到不同的加密密鑰。但是,面向用戶的密鑰分配需要對相應的操作系統內核作比較大的改動。

雖然IPSP的規范已經基本制訂完畢,但密鑰管理的情況千變萬化,要做的工作還很多。尚未引起足夠重視的一個重要的問題是在多播 (multicast)環境下的密鑰分配問題,例如,在Internet多播骨干網(MBone)或IPv6網中的密鑰分配問題。

簡而言之,Internet層是非常適合提供基於主機對主機的安全服務的。相應的安全協議可以用來在Internet上建立安全的IP通道和虛擬私有網。例如,利用它對IP包的加密和解密功能,可以簡捷地強化防火牆系統的防衛能力。事實上,許多廠商已經這樣做了。RSA數據安全公司已經發起了一個倡議,來推進多家防火牆和TCP/IP軟件廠商聯合開發虛擬私有網。該倡議被稱為S-WAN(安全廣域網)倡議。其目標是制訂和推薦Internet層的安全協議標准.


摘自:http://hackers.home.chinaren.net


Copyright © Linux教程網 All Rights Reserved