3 基于SoC的IPSec實(shí)現(xiàn)技術(shù)
3.1 基本結(jié)構(gòu)
以SoC實(shí)現(xiàn)IPSec的多協(xié)議模塊包括:①I(mǎi)PSec協(xié)議輸入、輸出引擎,是通過(guò)協(xié)議解析,決定數(shù)據(jù)流程的處理;②安全關(guān)聯(lián)、密鑰交換、密碼算法等,其中,安全關(guān)聯(lián)模塊為其直接提供所需參數(shù),密鑰交換模塊用于IKE自動(dòng)管理的SAD,算法模塊是實(shí)現(xiàn)IP數(shù)據(jù)加解密和認(rèn)證的基本模塊;③接口模塊,是IPSec與IPV4/IPv6協(xié)議的接口界面。SoC中的CPU核,實(shí)施系統(tǒng)管理、策略管理和密鑰管理等功能。
基于SoC的IPSec協(xié)議結(jié)構(gòu)如圖3所示。
IPSec的主體部分是多協(xié)議處理的硬件模塊。在SoC設(shè)計(jì)過(guò)程中,應(yīng)通過(guò)優(yōu)化設(shè)計(jì),以滿(mǎn)足IPSec的功能和性能要求;采用片上操作系統(tǒng),以滿(mǎn)足設(shè)計(jì)的靈活性、可繼承性和可復(fù)用性等IP特性;結(jié)合CPU的結(jié)構(gòu)、性能和指令系統(tǒng),進(jìn)行軟硬件系統(tǒng)設(shè)計(jì),以達(dá)到各個(gè)模塊之間的通信、傳輸和控制等一體化設(shè)計(jì)。
基于SoC的IPSec芯片結(jié)構(gòu)如圖4所示。
圖4中IPSec協(xié)議的IKE密鑰交換、策略管理、SAD手工注入由實(shí)時(shí)操作系統(tǒng)來(lái)處理,而IPSec輸入輸出引擎的協(xié)議解析、安全策略庫(kù)(SAD、SPD)、密鑰快速查找(CAM)、加解密算法、GMAC通信接口等由硬件模塊構(gòu)造。通信接口實(shí)現(xiàn)以太網(wǎng)鏈路幀的接收、發(fā)送、校驗(yàn)等功能。芯片中還應(yīng)設(shè)計(jì)看門(mén)狗,用于防止系統(tǒng)死機(jī);另外,要設(shè)計(jì)跟蹤模塊,用于系統(tǒng)軟硬件調(diào)試。
綜上所述,在實(shí)現(xiàn)IPSec協(xié)議的SoC芯片中,主要協(xié)議棧處理都由硬件模塊實(shí)現(xiàn),CPu負(fù)責(zé)管理調(diào)度和密鑰配置。
3.2 功能實(shí)現(xiàn)
(1)lPSec協(xié)議的輸出與輸入引擎處理
對(duì)于輸出數(shù)據(jù)包,IPSec協(xié)議輸出引擎先調(diào)用策略管理模塊,查詢(xún)SPD,確定數(shù)據(jù)包應(yīng)使用的安全策略。根據(jù)策略管理模塊的指示,協(xié)議引擎對(duì)該數(shù)據(jù)包作出如下3種可能的處理:
、偃绱嬖谟行У腟A,則取出相應(yīng)的參數(shù),將數(shù)據(jù)包封裝(包括加密、驗(yàn)證,添加IPSec頭和IP頭等),然后發(fā)送。
、谌缟形唇A,策略管理模塊啟動(dòng)或觸發(fā)IKE協(xié)商。協(xié)商成功后,按①中的步驟處理;不成功則應(yīng)將數(shù)據(jù)包丟棄,并記錄出錯(cuò)信息。
、廴绱嬖赟A但無(wú)效,策略管理模塊將此信息向IKE通告,請(qǐng)求協(xié)商新的SA,協(xié)商成功后按①中的步驟處理,不成功則應(yīng)將數(shù)據(jù)包丟棄。
對(duì)于輸入數(shù)據(jù)包,IPSec協(xié)議引擎先調(diào)用策略管理模塊,查詢(xún)SAD。如得到有效的SA,則對(duì)數(shù)據(jù)包進(jìn)行解封(還原),再查詢(xún)SPD,驗(yàn)證為該數(shù)據(jù)包提供的安全保護(hù)是否與策略配置的相符。如相符,則將還原后的數(shù)據(jù)包交給TCP層或轉(zhuǎn)發(fā)。如不相符,或要求應(yīng)用IPSec但未建立SA,或SA無(wú)效,則將數(shù)據(jù)包丟棄,并記錄出錯(cuò)信息。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |