當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]1 前言針對(duì)Internet 的安全需要,為了給IPV4 和IPV6 數(shù)據(jù)報(bào)提供高質(zhì)量的、可互操作的、基于密碼學(xué)的安全性,Internet 工程任務(wù)組(IETF)頒布了IP 層安全標(biāo)準(zhǔn)IPSec。IPSec 在IP 層對(duì)數(shù)據(jù)包進(jìn)行高強(qiáng)度的安全處理,提供包

1 前言

針對(duì)Internet 的安全需要,為了給IPV4 和IPV6 數(shù)據(jù)報(bào)提供高質(zhì)量的、可互操作的、基于密碼學(xué)的安全性,Internet 工程任務(wù)組(IETF)頒布了IP 層安全標(biāo)準(zhǔn)IPSec。IPSec 在IP 層對(duì)數(shù)據(jù)包進(jìn)行高強(qiáng)度的安全處理,提供包括訪問(wèn)控制、無(wú)連接的完整性、數(shù)據(jù)源認(rèn)證、抗重播(replay)保護(hù)(序列完整性(sequence integrity)的一個(gè)組成部分)、保密性和有限傳輸流保密性在內(nèi)的服務(wù)。這些服務(wù)是基于IP 層的,提供對(duì)IP 及其上層協(xié)議的保護(hù)。

對(duì)于IPSec 數(shù)據(jù)流處理而言,有兩個(gè)必要的數(shù)據(jù)庫(kù):安全策略數(shù)據(jù)庫(kù)(SPD) 和安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD)。SPD 指定了用于到達(dá)或者源自特定主機(jī)或網(wǎng)絡(luò)的數(shù)據(jù)流的策略,而SAD 則包含了活動(dòng)的SA 參數(shù)。在啟動(dòng)IPSec 保護(hù)的源和目的之間,都需要設(shè)置單獨(dú)的輸入和輸出SPD 和SAD 。

經(jīng)受IPSec 保護(hù)的節(jié)點(diǎn)的通信流,無(wú)論是輸入還是輸出都必須查詢SPD。SPD 包含一個(gè)策略條目的有序列表,每個(gè)條目里又包含多個(gè)選擇符,輸入輸出數(shù)據(jù)流就是通過(guò)和這些選擇符比較來(lái)決定是否進(jìn)行安全保護(hù)。IPSec 允許的選擇符有目的IP 地址,源IP 地址,傳輸層協(xié)議,系統(tǒng)名和用戶ID。目的和源IP 地址可以是一個(gè)主機(jī)地址,廣播地址,單播地址,任意播地址,地址范圍,地址加子網(wǎng)掩碼或者通配地址;系統(tǒng)名和用戶ID 可以是完整的DNS 名或E-mail 地址。SPD 中的條目決定了處理通信流的粒度,策略可能規(guī)定與某特定的SA 或SA 束對(duì)應(yīng)的IPSec 服務(wù)應(yīng)該應(yīng)用到任何源自任何源或者去往任何目的地的所有通信流,策略也可能規(guī)定應(yīng)該基于特定的選擇符來(lái)決定不同SA 或SA 束的應(yīng)用??傊琒PD 在控制通過(guò)一個(gè)IPSec 系統(tǒng)的所有通信中發(fā)揮著非常重要的作用。為了在保證安全強(qiáng)度的前提下,提高IPSec 保護(hù)節(jié)點(diǎn)上的流處理速度,本文提出了一種采用硬件IDT75K62100 芯片實(shí)現(xiàn)快速的SPD 與SAD 數(shù)據(jù)庫(kù)的思想。

2 SPD 與SAD 硬件結(jié)構(gòu)

安全模塊的設(shè)計(jì)初衷就是為了在IPV6 路由器中對(duì)特定的數(shù)據(jù)流實(shí)現(xiàn)高速的IPSec 安全保護(hù),這就使得SPD 和SAD 的高速查找成為一個(gè)很關(guān)鍵的問(wèn)題,因?yàn)閷?duì)每一個(gè)包進(jìn)行IPSec 處理時(shí),都必須查找SPD 和SAD 以獲取相應(yīng)的處理策略,如果查找速度慢的話,將達(dá)不到高速的性能要求。數(shù)據(jù)庫(kù)可以用軟件來(lái)組織,也可以依托硬件來(lái)實(shí)現(xiàn),為了提高查找速度,我們使用硬件來(lái)做數(shù)據(jù)庫(kù)。目前支持高速查找的硬件主要有兩種:基于邏輯算法設(shè)計(jì)的SRAM 技術(shù)和基于半導(dǎo)體器件設(shè)計(jì)的CAM(Content Addressable Memory, 內(nèi)容尋址寄存器)技術(shù)。常用的隨機(jī)存儲(chǔ)器通過(guò)輸入地址來(lái)返回該地址所對(duì)應(yīng)的數(shù)據(jù)信息,而CAM 只需要輸入關(guān)鍵字的內(nèi)容就會(huì)將此關(guān)鍵字與CAM 中所有表項(xiàng)同時(shí)進(jìn)行比較,最后返回匹配表項(xiàng)在CAM 中對(duì)應(yīng)的地址信息。CAM 可以在一個(gè)硬件時(shí)鐘周期內(nèi)完成關(guān)鍵字的精確匹配查找,目前速度可達(dá)到266Mpps 。

CAM 雖然有很多優(yōu)勢(shì),但在本模塊中如果都采用CAM 來(lái)作為數(shù)據(jù)庫(kù),則一方面代價(jià)太高,因?yàn)檩斎胩幚砗洼敵鎏幚砀餍枰獌蓚€(gè)數(shù)據(jù)庫(kù)(SPD和SAD), 這樣一共需要四個(gè)CAM,而CAM 價(jià)格較為昂貴;另一方面將SPD 和SAD 分別設(shè)在兩塊CAM 中,這樣每處理一包需要進(jìn)行兩次查找,影響了速度。為此,我們特別研究了一種能夠?qū)崿F(xiàn)快速查找的數(shù)據(jù)庫(kù)硬件結(jié)構(gòu),這種結(jié)構(gòu)采用CAM 和SRAM 相結(jié)合的方式。這種結(jié)構(gòu)一方面在一定程度上降低了成本,另一方面解決了二次查找的問(wèn)題。

這種硬件結(jié)構(gòu)的組成原理是將SPD 設(shè)置在CAM 中,而將SAD 設(shè)置在SRAM 中,然后將CAM 和SRAM 級(jí)聯(lián)。這樣,在進(jìn)行IPSec 處理時(shí),先在CAM 中查SP,如果沒(méi)有找到相應(yīng)的SP, 則查找結(jié)束;如果查到了相應(yīng)的SP,則由CAM 將對(duì)應(yīng)的SA 在SRAM 中的存放地址送給SRAM, 然后從SRAM 中對(duì)應(yīng)地址將SA 取出送FPGA, 這樣避免了再由FPGA 對(duì)SAD 進(jìn)行查詢。這種數(shù)據(jù)庫(kù)的查找方法還引入了流水機(jī)制,即CAM 查到了前一報(bào)文的SP 后,將匹配地址送給SRAM,在SRAM 讀該地址對(duì)應(yīng)的SA 的同時(shí),CAM 可進(jìn)行對(duì)下一報(bào)文的SP 的查找。該查找方法中,CAM 與SRAM 的連接如圖一所示。

圖 1 :CAM 與SRAM 連接圖

3 75K62100 芯片的內(nèi)部結(jié)構(gòu) 實(shí)際設(shè)計(jì)中,CAM 選用IDT 公司的75K62100 ,其內(nèi)部邏輯結(jié)構(gòu)與主要外部總線如圖二所示。從圖中可以看出,該型號(hào)CAM 內(nèi)部主要由配置電路,指令譯碼,輸入輸出數(shù)據(jù)緩存,比較寄存器和數(shù)據(jù)存儲(chǔ)區(qū)等單元組成,外部總線有指令總線,數(shù)據(jù)總線和索引總線,另外還包括一條匹配標(biāo)志信號(hào)線。該CAM 的數(shù)據(jù)存儲(chǔ)區(qū)的容量為18M, 經(jīng)過(guò)配置電路配置,可以工作在256k×72bit (表項(xiàng)深度為256K, 寬度為72bit)、128K×144bit 、72K×288bit 等模式下。指令總線寬20 位,配置指令,讀寫(xiě)指令從該總線輸入。數(shù)據(jù)總線寬72 位, 輸入數(shù)據(jù)時(shí),先將數(shù)據(jù)寫(xiě)入數(shù)據(jù)輸入輸出緩存區(qū),在內(nèi)部地址譯碼控制下,再將數(shù)據(jù)寫(xiě)入數(shù)據(jù)存儲(chǔ)區(qū)或比較寄存器。比較后得到匹配項(xiàng)的地址由24 位索引總線送出,數(shù)據(jù)經(jīng)輸入輸出緩存器從數(shù)據(jù)總線輸出,并由匹配標(biāo)志信號(hào)線給出匹配狀態(tài)。

圖 2 :IDT75K62100 內(nèi)部邏輯結(jié)構(gòu)與外部總線示意圖

SRAM 選用IDT 公司的71V65603 ,該款SRAM 工作頻率為100M-150MHZ ,支持ZBT 技術(shù),容量為256KX36bit 。其內(nèi)部邏輯結(jié)構(gòu)及主要外部總線如圖三所示。

圖 3 :IDT71V65603 內(nèi)部邏輯結(jié)構(gòu)與外部總線示意圖

查找時(shí),先從包頭中提取出查表關(guān)鍵字送CAM 查SP,若查到了SP,則將此SP 對(duì)應(yīng)的SA 的地址通過(guò)CAM 索引總線送給SRAM 并將匹配標(biāo)志送IPSec 處理單元,SRAM 根據(jù)送來(lái)的地址將對(duì)應(yīng)的SA 通過(guò)數(shù)據(jù)總線寫(xiě)入IPSec 處理單元。每查到一條SA,則需要對(duì)SAD 中的該SA 條目進(jìn)行更新,因?yàn)镾A 中包括序列號(hào)和SA 生存期等需要及時(shí)更新的字段。更新過(guò)程和查找過(guò)程基本一致,先從CAM 中找到對(duì)應(yīng)的SP 條目,得到該SA 的存放地址,然后將修改后的SA 寫(xiě)入該地址或?qū)⒃璖A 刪除。

4 SPD 和SAD 數(shù)據(jù)格式設(shè)置

一個(gè)好的IPSec 協(xié)議實(shí)現(xiàn)方案,一定程度上取決于SPD 和SAD 條目的合理的設(shè)置,因?yàn)楹侠淼腟PD 和SAD 條目設(shè)置可以使IPSec 處理即不復(fù)雜,又達(dá)到了預(yù)期的安全保護(hù)的要求。

根據(jù)實(shí)際需要,本安全模塊的SPD 中每個(gè)條目設(shè)置源IP 地址,目的IP 地址,傳輸層協(xié)議三個(gè)選項(xiàng)。需要注意的是,源IP 地址和目的IP 地址項(xiàng)完全沒(méi)必要設(shè)為128 位的, 只需要儲(chǔ)存各自地址的高64 位即可,因?yàn)樵?28 位的IPV6 地址中,高64 位是所屬網(wǎng)絡(luò)地址,由于是在路由器上實(shí)現(xiàn)IPSec 保護(hù),故在進(jìn)行策略查找時(shí),只需要檢查數(shù)據(jù)包中的源和目的的網(wǎng)絡(luò)地址是否與策略庫(kù)中的網(wǎng)絡(luò)地址相匹配即可。傳輸層協(xié)議選項(xiàng)為8 位寬,對(duì)于輸出處理單元,只對(duì)TCP 和UDP 進(jìn)行安全保護(hù),故該選項(xiàng)的十進(jìn)制值應(yīng)為6(TCP)或17(UDP)

; 對(duì)于輸入處理單元,只對(duì)ESP 進(jìn)行處理,故該選項(xiàng)的十進(jìn)制值應(yīng)為50。由此看來(lái),SPD 的表項(xiàng)寬度應(yīng)在136 位以上。

對(duì)于輸出包處理的SAD,每個(gè)SA 條目包括SPI 字段,序列號(hào)計(jì)數(shù)器字段,序列號(hào)溢出字段,密鑰字段和SA 生存期字段。其中,SPI 字段為32 位寬, 取值范圍為256—232-1,我們規(guī)定,若SPI 為全1,則表示SA 尚未建立,需要進(jìn)行協(xié)商;若SPI 為其它有效值,則根據(jù)對(duì)應(yīng)的SA 進(jìn)行安全處理。序列號(hào)計(jì)數(shù)器字段為32 位寬,為所處理的數(shù)據(jù)包提供一個(gè)唯一的編號(hào)用來(lái)抗重放。序列號(hào)溢出字段為1 位寬,當(dāng)該位為‘1’時(shí),表示需要對(duì)序列號(hào)字段進(jìn)行溢出檢查;為‘0’表示不需進(jìn)行溢出檢查。密鑰字段128 位,存放3DES 算法的密鑰。SA 生存期字段16 位寬, 值為預(yù)先約定的該SA 所處理的數(shù)據(jù)包的個(gè)數(shù),每處理一包該值減一,為0 時(shí)該SA 過(guò)期, 重新協(xié)商。綜上所述,輸出包處理的SAD1 每個(gè)表項(xiàng)寬度應(yīng)在209 位。

對(duì)于輸入包處理的SAD2,每個(gè)條目包括SPI 字段,抗重放窗口字段,密鑰字段和SA 生存期字段??怪胤糯翱谧侄?2 位寬, 用來(lái)存放該SA 所接收到的驗(yàn)證有效的最大序列號(hào), 接收到的包的序列號(hào)如果小于該值將被丟棄。其它字段的設(shè)置與輸出包處理單元對(duì)應(yīng)字段相同,不再重復(fù)。綜上所述,輸入包處理的SAD 每個(gè)表項(xiàng)寬度為208 位。

需要說(shuō)明的是,以上設(shè)置是根據(jù)本安全模塊實(shí)際設(shè)計(jì)的需要設(shè)置的,在IPSec 協(xié)議中建議的一些選項(xiàng)在本設(shè)計(jì)中省略了。例如,SPD 中的SPI 選項(xiàng)被省略,因?yàn)楸驹O(shè)計(jì)中SPD 和SAD 是同時(shí)查找的,故可以將SPD 中的SPI 項(xiàng)省略。另外本安全模塊默認(rèn)使用隧道模式,密碼算法為3DES,不進(jìn)行認(rèn)證,故SAD 中的相關(guān)選項(xiàng)被省略。

在設(shè)計(jì)中,SPD1 和SPD2 所用CAM 都設(shè)置為128KX144bit 模式,數(shù)據(jù)存儲(chǔ)格式如圖4-1 所示。SAD1 和SAD2 均由SRAM 組成,其存儲(chǔ)空間為256KX36bit,這樣SAD1 和SAD2 中一條SA 條目需要占用6 個(gè)存儲(chǔ)單元。數(shù)據(jù)存儲(chǔ)格式如圖4-2 所示。

圖 4-2:SAD1 和SAD2 數(shù)據(jù)格式

5 創(chuàng)新點(diǎn)總結(jié)本文的創(chuàng)新點(diǎn)在于提出并實(shí)現(xiàn)了一種用硬件IDT75K62100 芯片實(shí)現(xiàn)快速的SPD 與SAD 數(shù)據(jù)庫(kù)的思想。目前的SPD 和SAD 往往用軟件的方式來(lái)實(shí)現(xiàn),但這極大地限制了IPSEC 處理數(shù)據(jù)流的速度,本文提出的這種思想,經(jīng)過(guò)實(shí)現(xiàn)與測(cè)試,對(duì)提高IPSEC 保護(hù)節(jié)點(diǎn)提高數(shù)據(jù)流的處理速度有很大的幫助。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉