ATM網絡捷變加密系統(tǒng)如何設計
什么是捷變加密系統(tǒng),其實所謂的捷變加密系統(tǒng)就是指系統(tǒng)能夠在各種不同的密碼參數(shù)(密鑰、初始變量、當前狀態(tài)、密鑰長度、算法、操作模式等變量)間快速輕易地來回切換。那么我們今天探討的基于ATM網絡的捷變加密系統(tǒng),就是將捷變加密系統(tǒng)放置在ATM網絡的匯聚點處,如防火墻中等,從而使得用戶可以通過不可信的公網建立自己可信的VPN。
一、ATM網絡捷變加密系統(tǒng)設計中需要注意的問題
1、ATM網絡密碼同步問題
ATM網絡不同于其它網絡,它存在著信元丟失的問題。傳輸過程中緩沖器的溢出或錯誤的發(fā)生均可能造成信元的丟失。在捷變的ATM網絡加密系統(tǒng)中,信元的丟失將引起密碼的失步,嚴重的還會導致數(shù)據(jù)的丟失以及錯誤的擴散等。因此在設計加密算法或加密模式時就應考慮自同步能力或采取一定的措施,如定期地對所傳輸?shù)臄?shù)據(jù)流進行同步處理等,從而把信元丟失所帶來的損失降低到最小。
2、ATM網絡尋址問題
在ATM的信元結構中,UNI和NNI的VPI/VCI字段長度分別為24比特和28比特,這意味著在ATM網絡中和ATM網際之間可能建立的連接數(shù)最多將分別達到2的24次方個和2的28次方個。由于每一個可能的連接都需要存儲有相應的密碼參數(shù),因此所需的存儲空間將非常巨大。要想在一個信元頭的處理時間內線性搜索如此大的存儲空間,顯然十分困難。然而事實上,由于同一時間內活動著的連接數(shù)目比較有限,因此采用內容可定址寄存器等技術就可以大大緩解這個問題。
3、ATM網絡吞吐量問題
當加密進程或解密進程的速度趕不上最大信元到達率時,應當對VC的信元吞吐量進行限制,以避免發(fā)生信元丟失。這可在VC建立期間通過連接接入控制CAC進行,也可在VC建立之后通過介入流量控制來進行。不管采用何種方式,對于交換網絡來說,加密和解密設備都不再透明,而是應當主動參與到連接建立或VC控制中去。
4、服務質量
當加密和解密設備采用強度捷變或算法捷變時,由于不同的算法、密鑰長度、模式等對于延遲1吞吐量、錯誤擴散、失步等的敏感程度都不同,因此,數(shù)據(jù)的加解密可能會對服務質量造成一些間接的影響。這樣,在連接建立過程中進行服務質量協(xié)商時必須把加密模式等因素也考慮進去。在采用算法捷變加密時,盡管使用同一算法的VC的信元次序都能夠得到保證,但對于使用不同算法的VC來說,情況則未必如此。然而,由于加密系統(tǒng)的輸出端口只有一個,因此,所有加密后的信元流,不管其延遲程度如何,在輸出端口都要進行排隊,以重新組合成一個新的信元流。這樣,即使對于使用同一個加密算法的同一VC上的所有信元,也可能因為排隊而引入額外的信元時延抖動CDV。
為了消除或減少由于CDV的增加而給網絡服務質量所帶來的影響,需要采取一定的措施。一種方案是讓加密設備參與到連接建立時的服務質量協(xié)商過程中,在協(xié)商時,充分考慮CDV的變化情況,從而將變化后的CDV控制在所協(xié)商的范圍內。另一種方案就是在低時延的密碼路徑輸出端安放一個緩沖設備以增加時延,從而使得各種不同時延的算法之間能夠達到時延平衡。這種方案雖然降低了CDV,然而卻是以增加了信元的傳輸時延CTD為代價的。
5、保證機制
必須考慮兩種類型的保證機制:用戶控制機制和服務控制機制。其中用戶控制機制用來檢驗用戶是否具有使用某種服務、某種算法或某個密鑰長度的權利,服務控制機制則主要用于保證被授權的服務總能夠正確地得到激發(fā)。
對于加密算法捷變或強度捷變的加密設備,由于系統(tǒng)中存在有多種不同的算法或加密模式,某些特定的算法或某種特定的密碼強度可能會被非授權的用戶所使用,因此對此類設備進行用戶控制的意義非同尋常。在進行用戶控制時,一般可以采用認證等手段。從物理上講,這可以是用來提供訪問控制的IC卡或其它類似設備。
除了用戶控制之外,還必須進行服務控制,以保證服務總是能夠正確地被激發(fā)。具體來說,就是加密設備必須保證用戶所使用的正是他被授權的密碼參數(shù)。當系統(tǒng)中具有多種加密算法時,這種類型的保證顯得尤為重要。采用標記、監(jiān)控等技術就可以實現(xiàn)這種類型的保證。
二、ATM網絡捷變加密系統(tǒng)加密系統(tǒng)的總體結構
它由以下幾個部分組成:物理I/O模塊、信元標識與關聯(lián)模塊、信元路由模塊、加密模塊、信元歸并模塊、密鑰管理模塊,以及非實時控制模塊等。
按照對時間的敏感程度,可將整個系統(tǒng)分為兩個部分:實時部分與非實時部分。實時部分包括物理I/O模塊、信元標識與關聯(lián)模塊、信元路由模塊、加密模塊、信元歸并模塊等,非實時部分包括密鑰管理模塊和非實時控制模塊。整個系統(tǒng)的設計都必須以滿足實時部分的要求為目標,否則就會引入過剩的延遲。在實現(xiàn)時也可從與ATM的關系上將整個系統(tǒng)劃分為兩個子系統(tǒng):ATM專用子系統(tǒng)與安全加密子系統(tǒng)。這樣兩部分的設計就可以分開進行,從而不僅便于實現(xiàn),也有利于產品的更新?lián)Q代。
1、ATM專用子系統(tǒng)
該子系統(tǒng)中,數(shù)據(jù)的流向首先從I/O端口開始,經過標識與關聯(lián)模塊,然后進行信元路由。在將數(shù)據(jù)送入安全加密部分進行加密和解密處理之后,數(shù)據(jù)又返回到信元歸并模塊,最后又經由I/O端口流出。
(1)物理I/O端口
在發(fā)送側,I/O口的作用就是接收從主機發(fā)來的原始數(shù)據(jù),并將加密后的數(shù)據(jù)輸出到ATM網絡中。在接收側,其作用就是接收從網絡發(fā)來的數(shù)據(jù)并將解密后的數(shù)據(jù)發(fā)送給主機。
(2)標識與關聯(lián)模塊
ATM網絡具有面向連接的特性,其信元中的VPI/VCI域用于指示有關網絡中的連接信息。利用這一特性,在進行捷變的加密系統(tǒng)設計時,使得該域除了指示連接信息之外,還用于指定信元所使用的密碼參數(shù)。在加密設備中,當接收到從I/O口送來的數(shù)據(jù)時,首先的工作就是對ATM信元進行標識與關聯(lián)。
由于在非實時控制模塊中所處理的都是組裝后的信息,而不是原始的ATM信元,因此,在將數(shù)據(jù)送交該模塊處理之前,應當先對信元進行分拆與重裝操作。
(3)非實時控制模塊
該模塊用于提供一些加密設備本身所需要的,無需實時處理的一些控制功能,如連接的管理與維護以及對加密設備自身的管理等。在對信元進行標識之后,非實時性信元如信令信元等就被轉送到非實時控制模塊。這意味著信元將由高速的實時通道轉到低速的非實時性通道中去。這一過程可通過FIFO實現(xiàn)。由于FIFO必須以全速率來滿足實時通道的傳輸要求,因此,F(xiàn)IFO的時鐘頻率必須足夠大。此外,由于非實時性通道的速率比實時性通道的要低得多,因此FIFO的深度也要足夠大。
(4)信元路由
當設備支持多種加密算法時,應當對算法進行分割,以防止有意或無意的濫用。最好能使一種加密算法僅對應一條密碼路徑。同樣,一條密碼路徑所使用的也最好是自己唯一的硬件設備,如狀態(tài)向量存儲器、通信加密密鑰(TEK)存儲器、信元處理器、密鑰生成器,以及加密器等。因此,需要有專門的信元路由器將信元路由到正確的路徑中去。在圖1所示的結構中,所有的非實時性信元都被路由到非實時性控制模塊中,而所有的實時性信元都被路由到各自的密碼路徑中。
在信元路由器和密碼路徑之間,既可以使用點到點的結構,也可以使用總線結構。當前的PCI總線在66M的工作頻率下可支持64位的數(shù)據(jù)傳輸,從而可使整個系統(tǒng)的數(shù)據(jù)傳輸速率達到4.2Gbps。
然而,從安全的角度出發(fā),點到點結構更有利于實現(xiàn)多種密碼路徑之間的分割,從而能夠確保數(shù)據(jù)的加密和解密操作總是在正確的密碼參數(shù)作用下進行。
(5)信元歸并
與加密系統(tǒng)前端所連接的路由模塊相對應,在加密模塊末端連接有信元歸并模塊,用以把多個密碼路徑中送出的數(shù)據(jù)流歸并成一條高速的信元流,然后經由物理端口送出。它的設計與信元路由器的設計比較類似。
出于保證服務質量方面的考慮,在實現(xiàn)信元的歸并時可選用如下兩種方案:
(1)先來先服務隊列
該方案中,所有加密模塊輸出的信元都被送到FIFO中排隊,隨后按照進入FIFO的先后次序組裝成SONET(或SDH)幀并送到I/O端口。該方案比較簡單而且易于實現(xiàn)。然而,由于各種加密算法的時延可能相差很大,因此由加密系統(tǒng)輸出的信元流中可能存在著很大的時延抖動。
(2)延遲匹配
這種方案是各個密碼路徑的尾部都放置有緩沖設備。依據(jù)各種算法延遲的不同,進行不同程度的緩沖處理,從而使得加密模塊輸出的信元流保持著與輸入時相同的信元次序。這樣,就可以在很大程度上降低時延抖動。然而,正是由于緩沖的作用,整個系統(tǒng)的平均傳輸時延可能會因此大大增加。
2、安全加密子系統(tǒng)
安全加密子系統(tǒng)是捷變加密設備中的關鍵組成部分,它具體實施信元的加密工作,有效地防止了對所截獲數(shù)據(jù)信息的非法解讀,從而保證了ATM網絡中信息的安全傳送。
為了實現(xiàn)對信元數(shù)據(jù)的加密,安全加密子系統(tǒng)必須具有兩種功能:
一是用于生成和維護加密密鑰的密鑰管理功能,二是用于實現(xiàn)機密性服務的加密和解密功能。前者通過密鑰管理模塊實現(xiàn),后者則通過加密模塊實現(xiàn)。其它一些安全性服務,如抗流量分析、安全認證等一般都可在信令部分或高層中實現(xiàn)。
(1)加密模塊
加密模塊由密鑰生成器、加密器、狀態(tài)向量存儲器、TEK存儲器以及信元處理器等五個部分組成。
流經信元處理器的信元有兩類:用戶數(shù)據(jù)信元和與安全相關的OAM信元(如同步信元等)。盡管對于每一個信元來講,信元處理器都必須對其進行實時性的處理,然而根據(jù)信元類型的不同,信元處理器所作的處理也有所不同。對于用戶數(shù)據(jù)信元,信元處理器必須將其轉送到密鑰生成器和加密器中,實現(xiàn)適當?shù)募用芎徒饷芴幚恚欢鴮τ谕叫旁?,信元處理器則直接進行同步信元的處理就行了。
1)密碼同步
除了處理用戶信元之外,加密模塊還必須對同步信元作出處理。同步信元的處理包括同步信元的插入與接收兩種操作。在進行同步信元的插入操作時,首先從狀態(tài)向量存儲器中取出當前的狀態(tài)向量SV并加以更新。更新主要包括使跳數(shù)加1、設置相應的I/R位、將序列號與分段號置O,以及將LFSR(線性反饋移位寄存器)的值置為當前值等。除了將更新后的SV寫入同步信元之外,還應將其回寫到狀態(tài)向量存儲器中,以備下一個同步信元所用。此外,在同步信元末尾還要加上CRC-10,以便在收端對其進行完整性檢驗。
2)加密和解密
在進行數(shù)據(jù)加密和解密之前,先要生成數(shù)據(jù)加密和解密密鑰。首先,信元處理器依據(jù)信元頭所附帶的關聯(lián)信息,從狀態(tài)向量存儲器中檢索出適當?shù)臓顟B(tài)向量SV并送入到密鑰生成器中。但對于TEK而言,由于它自身的敏感性,信元處理器不能直接對其進行讀寫操作,而只是將有關的地址信息傳送給密鑰生成器,由密鑰生成器自己完成對TEK的讀取工作。
在數(shù)據(jù)加密密鑰生成期間,用戶數(shù)據(jù)(信元凈荷)一直保存在FIFO中。當數(shù)據(jù)加密密鑰生成之后,用戶數(shù)據(jù)將與數(shù)據(jù)加密密鑰一道被送入加密器中,從而開始了數(shù)據(jù)的加解密處理。
接收到同步信元時,加密模塊首先檢驗CRC-IO是否準確,然后檢查跳數(shù)是否合法。若無誤則開始同步處理。
(2)密鑰管理
密鑰管理本身屬于非實時性控制部分,對于每一個連接,密鑰管理模塊都要為加密設備生成一個TEK。
由于密鑰信息本身的敏感性要求,因此應當防止對TEK的非法泄露。為此,需要在密鑰管理模塊與加密模塊之間建立一條被保護的路徑??梢圆捎秒p端口存儲器,通過讀/寫端口連接密鑰管理模塊,只讀端口連接加密模塊的方式,在兩個模塊之間建立一條點到點的連接來實現(xiàn)。值得注意的是,除了對TEK數(shù)據(jù)進行保護之外,對TEK地址信息的保護也很重要。事實上,加密模塊與密鑰管理模塊都只能從非實時控制模塊中接收TEK地址信息。從這個角度講,有關TEK地址信息的有效性與可信度就完全取決于非實時性控制模塊的有效性與可信度了。
ATM網絡捷變加密系統(tǒng)實現(xiàn)時,除了按照對時間的敏感程度,將整個系統(tǒng)劃分為實時部分與非實時部分,也可以從與ATM的關系上把整個系統(tǒng)劃分為ATM專用部分與安全加密部分。這樣,兩個部分就可以分開進行設計,不僅便于實現(xiàn),也有利于產品的更新。
小知識之ATM網絡
ATM是Asynchronous Transfer Mode(ATM)異步傳輸模式的縮寫,是實現(xiàn)B-ISDN的業(yè)務的核心技術之一。ATM是以信元為基礎的一種分組交換和復用技術。它是一種為了多種業(yè)務設計的通用的面向連接的傳輸模式。它適用于局域網和廣域網,它具有高速數(shù)據(jù)傳輸率和支持許多種類型如聲音、數(shù)據(jù)、傳真、實時視頻、CD質量音頻和圖像的通信。



