概念
端到端加密是在源結點和目的結點中對傳送的PDU進行加密和解密,因此報文的安全性不會因中間結點的不可靠而受到影響。
端到端加密不僅適用于互聯(lián)網環(huán)境,而且同樣也適用于廣播網。
在端到端加密的情況下,PDU的控制信息部分不能被加密,否則中間結點就不能正確選擇路由。這就使得這種方法易于受到通信量分析的攻擊。雖然也可以通過發(fā)送一些假的PDU來掩蓋有意義的報文流動,但這要以降低網絡性能為代價。由于各結點必須持有與其他結點相同的密鑰,這就需要在全網范圍內進行密鑰管理和分配。
為了獲得更好的安全性,可將鏈路加密與端到端加密結合在一起使用。鏈路加密用來對PDU的目的地址B進行加密,而端到端加密則提供了端對端的數(shù)據(jù)進行保護。1
端到端加密應在運輸層或其以上各層來實現(xiàn)。若選擇在運輸層進行加密,可以使安全措施對用戶來說是透明的。這樣可不必為每一個用戶提供單獨的安全保護,但容易遭受運輸層以上的攻擊。當選擇在應用層實現(xiàn)加密時,用戶可根據(jù)自己的特殊要求來選擇不同的加密算法,而不會影響其他用戶。這樣,端到端加密更容易適合不同用戶的要求。端到端加密不僅適用于互聯(lián)網環(huán)境,而且同樣也適用于廣播網。2
在端到端加密下的若干措施端到端加密更適合OSI環(huán)境,但體系結構也更加復雜,尤其采用網內密鑰分配時更是如此。
對于防止析出報文內容的措施,當然應直接采用加密技術。若加密在會話層或應用層完成,則所有的傳輸層控制信息對攻擊者來說都是可知的。若加密由傳輸層來完成,則僅僅在網絡層及以下各層的控制信息是暴露的。若加密由網絡層來完成,則網絡層協(xié)議控制信息對網絡層的PDU所通過的每一個節(jié)點都是不可知的,因而中間節(jié)點無法正確選擇路由。所以網絡層一般不能提供端到端保護。這樣,傳輸層就是實現(xiàn)端到端加密的最低層。
一次連接使用一個不同的密鑰是反攻擊的一個有力措施。采用不同的加密方式還可進一步掩蓋數(shù)據(jù)的模式。
抗擊通信量分析的措施涉及掩蓋協(xié)議實體之間的報文交流的頻率、分組長度等。適當?shù)逆溌芳用苣芊乐垢鞣N通信量分析,但端到端加密很難做到這一點。
若加密在傳輸層完成,攻擊者就只能在網絡地址這一級觀察數(shù)據(jù)模式。換言之,攻擊者能夠知道哪一些傳輸層實體在交換信息,但卻不知哪些高層實體在交換信息。
掩蓋網絡地址模式在OSI環(huán)境中是不可能的。要做到這一點將涉及到用全網范圍的一個密鑰對網絡層的PDU的實際目的地址進行加密,并將這些PDU送交網絡中的所有主機。這當然會使網絡的有效寬帶急劇下降,并浪費大量主機處理能力。因此,端到端加密實際上只能在傳輸層及其以上各層實現(xiàn)。
對于更改報文流的抗擊就是要檢測報文的完整性、真實性和有序性。這里最基本的是要保證報文的完整性。在通信協(xié)議中的差錯檢驗碼可以用來檢測PDU由于傳輸錯誤而造成的報文更改,但這不能防止對PDU完整性的蓄意攻擊。這時必須采用鑒別技術。例如,可以在報文中插入報文鑒別碼MAC,它是報文和密鑰的密碼函數(shù)。如果報文被篡改了,那么在接收到的報文重新計算MAC時,幾乎就不可能得到與發(fā)送一致的MAC。
為了保證報文的真實性,應使收方實體能可靠地確定一個PDU所在的連接及其傳送方向。為此,應在所有時間內使每一個連接都有一個唯一1標識符,并將此標識符回到通過這個連接的每一個PDU上。利用這個唯一的標識符就能可靠地確定PDU所屬的連接。若每一個連接都使用不同的密鑰,則此密鑰就可以提供一個隱含的唯一標識符。
為了防止對有序性的攻擊,可在每一個PDU中增加一個序號,同時不得在某個連接唯一標識符存在期間重復使用該序號。對序號重復使用的限制,防止了攻擊者在序號循環(huán)后重復一個舊的PDU。
對于拒絕報文服務,發(fā)送PDU的實體能夠檢測到這種攻擊,但卻無法通知對方。
要檢測出這類攻擊需要增加一個請求應答機構,此機構要求雙方實體周期性地交換一對PDU,以確定雙方之間是否存在一條通路。
偽造連接初始化攻擊有兩種,一是以假身份建立一個連接,另一種重發(fā)一個以前是合法的連接初始化序列的記錄。
要抵抗一種攻擊,可使連接必須按照某種方法來建立。雙方已知的密鑰加密就含有鑒別的隱含信息。只有已知密鑰的人員才能對信息加密和解密。要抵抗第二種攻擊,連接初始化必須有一個鑒別連接時間完整性的機構或方法,即驗證初始化過程是否是實時的。3