0731-84728105
15116127200
高(gāo)可靠加密通(tōng)信機(jī)制解決方案

一(yī)、 應用場景

    如圖1所示,對主機(jī)A與主機(jī)B間的TCP的通(tōng)信進行加解密處理。即主機(jī)A的TCP數據通(tōng)過網絡加密結點對其TCP數據加密後傳送給網絡,數據包經互聯網傳送給主機(jī)B端的網絡加解密結點進行解密處理,處理後的數據送給主機(jī)B 。反向同理。

圖1 應用場景圖

二、 方案1 固定密鑰的實現

     在網絡加解密的結點将TCP報(bào)文的序号按某一(yī)算(suàn)法進行加密處理,另外将TCP數據報(bào)文的DATA域的數據進行亂序處理,從(cóng)而實現在對TCP數據流報(bào)文進行發送序号亂序的同時實現了對報(bào)文内容的亂序加密處理。
具體硬件(jiàn)加密方式:
    網絡加解密結點解析所有經過它的數據流的報(bào)文,識别報(bào)文是否為(wèi)TCP/IPv4的類型報(bào)文,若是則根據圖2所示的TCP頭部格式,在傳送TCP數據時,将序号字段(Sequence Number)作為(wèi)密鑰進行加密處理。否則數據會(huì)直接轉發輸出。

圖2 TCP頭部格式
    另外,網絡加解密結點會(huì)針對其TCP類型報(bào)文的數據部分根據硬件(jiàn)處理格式進行亂序處理,從(cóng)而實現數據加密的功能(néng)。如圖3所示,硬件(jiàn)是将數據幀以128b(16B)的形式進行組織。

圖3 硬件(jiàn)處理幀形式
    根據網絡加解密結點對數據處理的特點,加密可以将每拍TCP報(bào)文數據部分的字節數據高(gāo)低(dī)4位對調來實現,如圖4所示。

圖4 數據位對調亂序示意圖
    硬件(jiàn)實現的難點:
  • 1) TCP報(bào)文解析(IPV4);
  • 2) TCP的校驗和重計算(suàn);
  • 3) 線速實現加密處理及恢複。
    優點:
  • 1) 可實現加解密處理;
  • 2) 可以保證處理延時。

三、 方案2 動态密鑰的實現

    動态密鑰是基于TCP類型的數據在握手的過程中傳遞,即在建立TCP的握手時協商此對應TCP流對應的密鑰;在連接結束時,删除其密鑰信息,在下(xià)次建立時随機(jī)獲取密鑰池中的新的密鑰來進行加密通(tōng)信。處理過程如圖5、6所示。

圖5 基于TCP建立的密鑰協商過程圖
    在TCP建立連接時,網絡加解密結點會(huì)監測,輸入報(bào)文是否主SYN的報(bào)文,若是,則從(cóng)密鑰池中随機(jī)申請一(yī)個(gè)密鑰(KEY),将密鑰信息随建立連接的報(bào)文發送給接收端,接收端接收密鑰信息,在接收到(dào)連接響應報(bào)文時,将确認的密鑰信息再返回給發送端,以确認其已經正确協商密鑰可以正常通(tōng)信。
    在TCP結束連接時,當結束發送端(主機(jī)A)發送FIN報(bào)文時,網絡加密結點先不立刻注銷密鑰信息,而是等待主機(jī)B發送結束時才注銷密鑰信息,因為(wèi)主機(jī)A在申請結束連接時,主機(jī)B可能(néng)還(hái)會(huì)向主機(jī)A發送TCP的數據,因此,需要等待主機(jī)B也發送結束報(bào)文時才進行密鑰的注銷。

圖6 基于TCP結束的密鑰取消過程圖
    密鑰池為(wèi)網絡加密結點内部存儲的密鑰的集合,密鑰池内有多(duō)種密鑰,為(wèi)了保證通(tōng)信的安全性,在每條TCP流進行通(tōng)信時,都會(huì)選用不同的密鑰進行加解密處理。從(cóng)而可以更細粒度的保證每條TCP數據流的安全性。
    同方案1相(xiàng)同在針對密鑰加密的同時還(hái)可以實現對報(bào)文内容的亂序處理,從(cóng)而進一(yī)步保證其數據的安全性。

四、 方案2 實現的優化

    在實現時,由于每條TCP的建立都會(huì)随機(jī)的在密鑰池中選擇密鑰進行連接且鏈路(lù)可以存在很長(cháng)時間無數據交互的情況或鏈路(lù)出現故障無法正常通(tōng)信的情況,因此在實現時針對每條流設定一(yī)個(gè)計時器(qì),即若有此流的報(bào)文交互則不斷更新其時間值到(dào)最新的時間點,若某條流長(cháng)時間無數據通(tōng)信時,則将此流對應的流表及協商的密鑰删除,在恢複通(tōng)信時重新協商密鑰進行通(tōng)信,如圖7所示。
    當流A的數據經過網絡加密節點時則更新其流A所對應的計時器(qì),流B和流C則保持不變,若已經達到(dào)超時的時間,則更改流狀态,将此流表項标記為(wèi)無效。若此時又(yòu)有對應流表的數據到(dào)來則使用默認密鑰進行加密處理,同時通(tōng)過TCP頭的狀态位的保留位,如圖2所示,來标記其加密的密鑰狀态,從(cóng)而是接收端也可以通(tōng)過相(xiàng)同密鑰解密。

圖7 流表狀态管理
    以上(shàng)為(wèi)TCP的兩種加密的方案,方案1為(wèi)固定密鑰實現方式,其實現比較簡單,加密效果則不太安全;方案2實現比較複雜(zá),可以針對不同的TCP流,選用不同的加密方法,從(cóng)而可以更細粒度的對通(tōng)信内容進行加密處理,從(cóng)而通(tōng)信内容會(huì)更加安全。另外,兩種實現方案都需要硬件(jiàn)對報(bào)文進行解析、報(bào)文亂序移位處理及報(bào)文TCP頭及IP頭部校驗和進行重新計算(suàn)處理,因此硬件(jiàn)資源開(kāi)銷比較大,但其可以保證加密處理的延時。
下(xià)載該文檔