<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 基于SoC的IPSec協(xié)議實(shí)現技術(shù)

基于SoC的IPSec協(xié)議實(shí)現技術(shù)

——
作者:林中輝 吳卓 沈亮 時(shí)間:2006-04-30 來(lái)源:?jiǎn)纹瑱C及嵌入式系統應用 收藏
引  言  

IPSe[1]作為一種實(shí)現VPN的安全協(xié)議體系,目前已在VPN設備中廣泛使用。但是,隨著(zhù)千兆位高速網(wǎng)絡(luò )的技術(shù)發(fā)展,對VPN設備在時(shí)效性等方面提出了更高的要求。因此,必須從體系結構等方面,研究新的技術(shù)方法實(shí)現IPSec。在IPSec安全設備中,技術(shù)將是一種較好的選擇。soC將系統的CPU、I/O接口、存儲器、算法、協(xié)議處理等模塊全部集成到單一半導體芯片上,實(shí)現IPSec協(xié)議的全部功能,成為構筑IPSec安全設備的核心部件,極大地提高了高速V。PN網(wǎng)絡(luò )的安全性、可靠性、時(shí)效性以及較高的性能價(jià)格比。

 

1  IPSec協(xié)議  

IPSec協(xié)議是因特網(wǎng)工程任務(wù)組(IETF)針對TCP/IP協(xié)議沒(méi)有安全機制的嚴重缺陷而專(zhuān)門(mén)制定的IP安全標準,用以在IP層實(shí)現訪(fǎng)問(wèn)控制、無(wú)連接完整性、數據源驗證、抗重播、數據加密和有限的業(yè)務(wù)流機密性等多種安全服務(wù)。該標準由一系列協(xié)議組成,各協(xié)議之間的關(guān)系如圖1所示。


*基金項目:“十五”期間國家密碼發(fā)展基金密碼理論研究課題“密碼soc芯片的體系結構和安全性研究”。    

有關(guān)協(xié)議的解釋如下:  

①AH[2] (Authentication Header)是一個(gè)安全協(xié)議頭,在傳輸模式下為IP層數據流提供數據完整性、數據源身份認證、一些可選的和有限的抗重播服務(wù)。    

②EsP[3] (Encapsulating Security Payload)是一個(gè)插入到IP數據報內部的協(xié)議頭,為IP層流量數據提供機密性、數據源身份認證、抗重播以及數據完整性等安全服務(wù)。  

③認證與加密算法是IPSec實(shí)現安全數據傳輸的核心,其中,加密算法用于ESP,可以采用DES、IDEA等密碼算法;認證算法用于A(yíng)H,可以采用3DES、RC5等算法。    

④IKE[4](Internet Key Exchange)是密鑰交換協(xié)議,用于在IPSec通信雙方建立共享安全參數及驗證過(guò)的密鑰,以建立一種安全關(guān)聯(lián)關(guān)系。    

⑤DoI(Domain of Interpretation)是一個(gè)單獨的文檔,用于存放IKE協(xié)商的參數。    

⑥SA(Security ASSOCiation)是安全關(guān)聯(lián)協(xié)議,是主機、路由器兩個(gè)應用IPS ec實(shí)體之間的一種單向邏輯連接。sA有安全策略庫(sPDB)和安全關(guān)聯(lián)庫(sADB),存儲了安全策略的具體細節,包括保護的內容、保護的方式、保護通信數據的主體等策略。

 

2  技術(shù)  

目前,平臺主要用于CSoC、SoPC、EPGA等芯片開(kāi)發(fā)。其中,CSoC稱(chēng)為可配置系統級芯片,一般包括1個(gè)處理器內核、可編程邏輯陣列和其它一些通用部件;SoPC是可編程的單芯片系統,如Altera的Nios內核模塊;EPGA是以FPGA為主體的SoC芯片。使用這些SoC開(kāi)發(fā)平臺,可以充分利用系統級芯片集成度高和性能優(yōu)越的特點(diǎn),靈活設計開(kāi)發(fā)各種專(zhuān)用Soc芯片。

(1)開(kāi)發(fā)平臺的選擇  

SoC平臺開(kāi)發(fā)套件包括:各種工具與資源軟件、可以重構的硬件電路結構驗證平臺和使用說(shuō)明書(shū)等。其可用軟件資源包括:供選用的多種嵌入式處理器核,硬件模塊設計語(yǔ)言及其編譯器,仿真、綜合和布局、布線(xiàn)工具等;設計語(yǔ)言包括HDL、C/C++等。開(kāi)發(fā)平臺的選擇取決于器件的來(lái)源:當選用商品化器件時(shí),可以選擇Altera的SOPC開(kāi)發(fā)環(huán)境QUARTUSII;當選擇自主研發(fā)Soc時(shí),應使用相關(guān)的專(zhuān)用開(kāi)發(fā)平臺。

(2)lP庫的選擇  

IP庫的選擇應針對器件類(lèi)型,選擇通用的IP核。對安全性要求較高的算法模塊,應采取訪(fǎng)問(wèn)控制、抗解剖分析等技術(shù)措施;對可變邏輯模塊,應采用FPGA,以保證可編程的特點(diǎn)。

(3)芯片結構的選擇  

SoC的主體部分由CPU和組成。在設計過(guò)程中,芯片結構的選擇應從系統應用規劃、協(xié)議處理速度要求、便于實(shí)現、Vetilog HDL編程實(shí)現結構化,以及所用邏輯模塊的實(shí)際結構等幾個(gè)角度入手。    

Altera的SoC芯片[5]構成如圖2所示。


(4)軟硬件系統設計  

SoC的基本結構是具有一個(gè)成多個(gè)微處理器,以及可編程硬件邏輯,因此,在SoC設計中必須進(jìn)行軟硬件的協(xié)同設計。軟硬件協(xié)同設計的技術(shù)性很強,它既有SoC設計的靈活性,又有SoC設計中難以揣摩、充滿(mǎn)變數的復雜性,將涉及到硬件資源的規劃和整個(gè)系統性能的實(shí)現。

(5)系統集成設計  

系統集成設計的關(guān)鍵技術(shù),主要是IP核的無(wú)縫連接系統設計和相關(guān)的可測試技術(shù),包括緊密耦合、傳輸特性、時(shí)鐘綜合和測試接口等。

(6)低功耗管理設計  

低功耗設計是對有相關(guān)要求的器件進(jìn)行的一種設計技術(shù),設計中主要通過(guò)一些系統狀態(tài)、橋接控制等來(lái)實(shí)現。

 

3  基于SoC的IPSec實(shí)現技術(shù)

3.1  基本結構    

以SoC實(shí)現IPSec的多協(xié)議模塊包括:①I(mǎi)PSec協(xié)議輸入、輸出引擎,是通過(guò)協(xié)議解析,決定數據流程的處理;②安全關(guān)聯(lián)、密鑰交換、密碼算法等,其中,安全關(guān)聯(lián)模塊為其直接提供所需參數,密鑰交換模塊用于IKE自動(dòng)管理的SAD,算法模塊是實(shí)現IP數據加解密和認證的基本模塊;③接口模塊,是IPSec與IPV4/IPv6協(xié)議的接口界面。SoC中的CPU核,實(shí)施系統管理、策略管理和密鑰管理等功能。  

基于SoC的IPSec協(xié)議結構如圖3所示。  


IPSec的主體部分是多協(xié)議處理的硬件模塊。在SoC設計過(guò)程中,應通過(guò)優(yōu)化設計,以滿(mǎn)足IPSec的功能和性能要求;采用片上操作系統,以滿(mǎn)足設計的靈活性、可繼承性和可復用性等IP特性;結合CPU的結構、性能和指令系統,進(jìn)行軟硬件系統設計,以達到各個(gè)模塊之間的通信、傳輸和控制等一體化設計。  

基于SoC的IPSec芯片結構如圖4所示。  


圖4中IPSec協(xié)議的IKE密鑰交換、策略管理、SAD手工注入由實(shí)時(shí)操作系統來(lái)處理,而IPSec輸入輸出引擎的協(xié)議解析、安全策略庫(SAD、SPD)、密鑰快速查找(CAM)、加解密算法、GMAC通信接口等由硬件模塊構造。通信接口實(shí)現以太網(wǎng)鏈路幀的接收、發(fā)送、校驗等功能。芯片中還應設計看門(mén)狗,用于防止系統死機;另外,要設計跟蹤模塊,用于系統軟硬件調試。  

綜上所述,在實(shí)現IPSec協(xié)議的SoC芯片中,主要協(xié)議棧處理都由硬件模塊實(shí)現,CPu負責管理調度和密鑰配置。

3.2  功能實(shí)現

(1)lPSec協(xié)議的輸出與輸入引擎處理  

對于輸出數據包,IPSec協(xié)議輸出引擎先調用策略管理模塊,查詢(xún)SPD,確定數據包應使用的安全策略。根據策略管理模塊的指示,協(xié)議引擎對該數據包作出如下3種可能的處理:    

①如存在有效的SA,則取出相應的參數,將數據包封裝(包括加密、驗證,添加IPSec頭和IP頭等),然后發(fā)送。  

②如尚未建立SA,策略管理模塊啟動(dòng)或觸發(fā)IKE協(xié)商。協(xié)商成功后,按①中的步驟處理;不成功則應將數據包丟棄,并記錄出錯信息。  

③如存在SA但無(wú)效,策略管理模塊將此信息向IKE通告,請求協(xié)商新的SA,協(xié)商成功后按①中的步驟處理,不成功則應將數據包丟棄。  

對于輸入數據包,IPSec協(xié)議引擎先調用策略管理模塊,查詢(xún)SAD。如得到有效的SA,則對數據包進(jìn)行解封(還原),再查詢(xún)SPD,驗證為該數據包提供的安全保護是否與策略配置的相符。如相符,則將還原后的數據包交給TCP層或轉發(fā)。如不相符,或要求應用IPSec但未建立SA,或SA無(wú)效,則將數據包丟棄,并記錄出錯信息。

(2)SPDB和SADB實(shí)現技術(shù)  

IPSec協(xié)議處理數據報文的過(guò)程中需要通過(guò)不斷地查詢(xún)SADB和SPDB來(lái)驗證數據的合法性和取出密鑰進(jìn)行數據報的加解密處理,因此,對IPSec處理性能而言,如何選擇保存SADB和SPDB的數據結構至關(guān)重要。另外由于SA和SP的數量都是動(dòng)態(tài)地變化的,必須選擇合適的存儲結構。如用軟件方法設計一個(gè)合理的數據結構進(jìn)行存儲,在系統的SADB和SPDB規模比較小時(shí)SA和SP的查詢(xún)速度還可以接受,但隨著(zhù)SADB和sPDB規模的擴大,系統的查詢(xún)能力必然下降。因為在查詢(xún)中最好的情況是一次命中,而大多數情況下都不會(huì )是一次命中,查詢(xún)的效率必然下降,從而影響IPSec協(xié)議的處理。要從根本上解決查詢(xún)效率的問(wèn)題必須分析SADB和SPDB的設計要求,才能找到解決方法。

SPDB和SADB的設計基于每一個(gè)SA對應一條SPD。SA和SPD在各數據庫中具有相同的地址。利用指針互指,只要在其中一個(gè)數據庫查找到匹配的字段,就能同時(shí)得到兩個(gè)數據庫的地址指針。因此,SPDB和SADB的設計應該滿(mǎn)足下列要求:  

①對于該數據結構能夠有效地進(jìn)行查詢(xún),得到確切的或者基于選擇符的匹配結果,包括源地址、目的地址、協(xié)議和SPI。    

②能夠為選擇符保存通配、范圍或確切的值。    

③隱藏指向SADB和SPDB的指針,保證兩個(gè)結構間的同步。    

④對SA/SP條目進(jìn)行排序保存,以便匹配查找一直能快速完成。  

采用硬件設計技術(shù)通常是提高協(xié)議處理速度的好方法。其中,CAM(Content_Addressable Memory)是按內容尋址存儲器,是由控制和匹配兩大部分組成的。通過(guò)控制部分,可以把需要寫(xiě)進(jìn)CAM中的數據通過(guò)SPDB和SADB管理模塊寫(xiě)進(jìn)CAM中,供查找時(shí)使用。在匹配口可以輸入數據,找出該匹配數據所在地址并返回。在實(shí)際設計中,SADB或SPDB數據庫內容連續存儲在RAM空間中。CAM中寫(xiě)入需要查找的匹配輸入項<SPI,目標地址,協(xié)議>三元組等,匹配輸出是32位作為查詢(xún)SADB和SPDB在RAM中的地址,這種匹配方法一次查詢(xún)只需幾個(gè)時(shí)鐘周期即可完成。在SADB和SPDB規模很大時(shí)系統的查詢(xún)速度不會(huì )降低。目前CAM的匹配速度很快,查找速度可以達到1億次/s,而在一個(gè)1000Mb/s的網(wǎng)絡(luò )口上每秒連續傳最大包的個(gè)數為1000


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>