定義
鏈路加密(又稱線上加密)是傳輸數據僅在物理層前的數據鏈路層進行加密。接收方是傳送路徑上的各台節點機,信息在每台節點機內都要被解密和再加密,依次進行,直至到達目的地。
鏈路加密,有時也叫做鏈路級或鏈路層加密,它是同一網路內兩點傳輸數據時在數字鏈路層加密信息的一種數字保密方法。在主伺服器端的數據是明文的,當它離開主機的時候就會加密,等到了下個連結(可能是一個主機也可能是一個中集節點)再解密,然後在傳輸到下一個連結前在加密。每個連結可能用的不同的密鑰或不同的加密算法。這個過程將持續到數據的接收端。
鏈路加密加密發生在最低協定層(OSI模型的第一二層)。因為這一過程保護了傳輸的數據,鏈路加密在不能保證傳輸線的安全的時候就變得尤為重要。然而由於信息在每個傳輸路徑上的主機里解密,當信息必須經過那些不能確定主機間是否安全的通路時。
特性
對於在兩個網路節點間的某一次通信鏈路,鏈路加密能為網上傳輸的數據提供安全保證。對於鏈路加密,所有訊息在被傳輸之前進行加密,在每一個節點對接收到的訊息進行解密,然後先使用下一個鏈路的密鑰對訊息進行加密,再進行傳輸。在到達目的地之前,一條訊息可能要經過許多通信鏈路的傳輸。
由於在每一個中間傳輸節點訊息均被解密後重新進行加密,因此,包括路由信息在內的鏈路上的所有數據均以密文形式出現。這樣,鏈路加密就掩蓋了被傳輸訊息的源點與終點。由於填充技術的使用以及填充字元在不需要傳輸數據的情況下就可以進行加密,這使得訊息的頻率和長度特性得以掩蓋,從而可以防止對通信業務進行分析。
儘管鏈路加密在計算機網路環境中使用得相當普遍,但它並非沒有問題。鏈路加密通常用在點對點的同步或異步線路上,它要求先對在鏈路兩端的加密設備進行同步,然後使用一種鏈模式對鏈路上傳輸的數據進行加密。這就給網路的性能和可管理性帶來了副作用。
線上路/信號經常不通的海外或衛星網路中,鏈路上的加密設備需要頻繁地進行同步,帶來的後果是數據丟失或重傳。另一方面,即使僅一小部分數據需要進行加密,也會使得所有傳輸數據被加密。
在一個網路節點,鏈路加密僅在通信鏈路上提供安全性,訊息以明文形式存在,因此所有節點在物理上必須是安全的,否則就會泄漏明文內容。然而保證每一個節點的安全性需要較高的費用,為每一個節點提供加密硬體設備和一個安全的物理環境所需要的費用由以下幾部分組成:保護節點物理安全的雇員開銷,為確保全全策略和程式的正確執行而進行審計時的費用,以及為防止安全性被破壞時帶來損失而參加保險的費用。
在傳統的加密算法中,用於解密訊息的密鑰與用於加密的密鑰是相同的,該密鑰必須被秘密保存,並按一定規則進行變化。這樣,密鑰分配在鏈路加密系統中就成了一個問題,因為每一個節點必須存儲與其相連線的所有鏈路的加密密鑰,這就需要對密鑰進行物理傳送或者建立專用網路設施。而網路節點地理分布的廣闊性使得這一過程變得複雜,同時增加了密鑰連續分配時的費用。
其它方式
還有一種方式:端--端加密
端--端加密是為數據從一端傳送到另一端提供的加密方式。數據在傳送端被加密,在最終目的地(接收端)解密,中間節點處不以明文的形式出現。
採用端--端加密是在套用層完成,即傳輸前的高層中完成。除報頭外的的報文均以密文的形式貫穿於全部傳輸過程。只是在傳送端和最終端才有加、解密設備,而在中間任何節點報文均不解密,因此,不需要有密碼設備。同鏈路加密相比,可減少密碼設備的數量。另一方面,信息是由報頭和報文組成的,報文為要傳送的信息,報頭為路由選擇信息。由於網路傳輸中要涉及到路由選擇,在鏈路加密時,報文和報頭兩者均須加密。而在端--端加密時,由於通道上的每一個中間節點雖不對報文解密,但為將報文傳送到目的地,必須檢查路由選擇信息,因此,只能加密報文,而不能對報頭加密。這樣就容易被某些通信分析發覺,而從中獲取某些敏感信息。
加密方式比較
加密傳輸方式的比較
數據保密變換使數據通信更安全,但不能保證在傳輸過程中絕對不會泄密。因為在傳輸過程中,還有泄密的隱患。
鏈路加密方式
採用鏈路加密方式,從起點到終點,要經過許多中間節點,在每個節點地均要暴露明文(節點加密方法除外),如果鏈路上的某一節點安全防護比較薄弱,那么按照木桶原理(木桶水量是由最低一塊木板決定),雖然採取了加密措施,但整個鏈路的安全只相當於最薄弱的節點處的安全狀況。
鏈路加密,每條物理鏈路上,不管用戶多少,可使用一種密鑰。在極限情況下,每個節點都與另外一個單獨的節點相連,密鑰的數目也只是n*(n-1)/2 種。這裡n是節點數而非用戶數,一個節點一般有多個用戶。
端--端加密方式
採用端--端加密方式,只是傳送方加密報文,接收方解密報文,中間節點不必加、解密,也就不需要密碼裝置。此外,加密可採用軟體實現,使用起來很方便。在端--端加密方式下,每對用戶之間都存在一條虛擬的保密信道,每對用戶應共享密鑰(傳統密碼保密體制,非公鑰體制下),所需的密鑰總數等於用戶對的數目。對於幾個用戶,若兩兩通信,共需密鑰n*(n-1)/2種,每個用戶需(n-1)種。這個數目將隨網上通信用戶的增加而增加。為安全起見,每隔一段時間還要更換密鑰,有時甚至只能使用一次密鑰,密鑰的用量很大。
總結
從身份認證的角度看,鏈路加密只能認證節點,而不是用戶。使用節點A密鑰的報文僅保證它來自節點A。報文可能來自A的任何用戶,也可能來自另一個路過節點A的用戶。因此鏈路加密不能提供用戶鑑別。端--端加密對用戶是可見的,可以看到加密後的結果,起點、終點很明確,可以進行用戶認證。
總之,鏈路加密對用戶來說比較容易,使用的密鑰較少,而端--端加密比較靈活,用戶可見。對鏈路加密中各節點安全狀況不放心的用戶也可使用端--端加密方式。