1, 耿煜 2,武金木 3,王占川
(1.河北工業(yè)大學(xué)計算機軟件學(xué)院,天津 300130 E-mail:gy0402@sina.com)
摘要:本文主要介紹了加密網(wǎng)卡的設(shè)計和加密網(wǎng)卡對數(shù)據(jù)的處理。首先結(jié)合目前網(wǎng)絡(luò)安全的現(xiàn)狀分析了加密網(wǎng)卡的產(chǎn)生是勢在必趨的,并指出了加密網(wǎng)卡對數(shù)據(jù)安全的重要作用;繼而提出了該加密網(wǎng)卡的設(shè)計思想,詳細闡述了加密網(wǎng)卡的工作流程,并根據(jù)加密網(wǎng)卡所包含的重要組成部分,分別對排列碼加密算法及IPSec進行了介紹。最后指出了加密網(wǎng)卡的應(yīng)用前景必將更加廣泛。
關(guān)鍵詞:網(wǎng)卡,IPSec, 排列碼加密解密算法,ESP封裝
1. 引言
以Internet為代表的全球性信息化浪潮日益深刻,信息網(wǎng)絡(luò)技術(shù)的應(yīng)用正日益普及和廣泛,應(yīng)用層次正在深入,應(yīng)用領(lǐng)域從傳統(tǒng)的、小型業(yè)務(wù)系統(tǒng)逐漸向大型、關(guān)鍵業(yè)務(wù)系統(tǒng)擴展。伴隨網(wǎng)絡(luò)的普及,安全日益成為影響網(wǎng)絡(luò)效能的重要問題,而Internet所具有的開放性、國際性和自由性在增加應(yīng)用自由度的同時,對安全提出了更高的要求。
目前,網(wǎng)絡(luò)安全技術(shù)的應(yīng)用主要包括數(shù)據(jù)加密技術(shù)、防火墻技術(shù)、防病毒技術(shù)等。數(shù)據(jù)加密技術(shù)是為提高信息系統(tǒng)的數(shù)據(jù)安全性、保密性和防止秘密數(shù)據(jù)被破解所采用的主要手段之一。應(yīng)用最為廣泛、綜合功能最強的是防火墻技術(shù)。防火墻是一種用來控制網(wǎng)絡(luò)之間互相訪問的網(wǎng)絡(luò)互連設(shè)備,通常是軟件和硬件的組合體,它在Internet與內(nèi)部網(wǎng)之間建立起一個安全網(wǎng)關(guān),保護了內(nèi)部網(wǎng)絡(luò)免受非法用戶的侵入。
從安全保密的角度來看,互聯(lián)網(wǎng)的安全主要指內(nèi)部網(wǎng)(Intranet)的安全,因此除了在內(nèi)部網(wǎng)與外部網(wǎng)的聯(lián)接處用防火墻進行隔離之外,還應(yīng)在內(nèi)部網(wǎng)構(gòu)筑安全保密系統(tǒng),以確保內(nèi)部網(wǎng)的安全。密碼技術(shù)是保護信息安全的主要手段之一,加密軟件就是伴隨著對信息安全的要求應(yīng)運而生,信息的加密和解密運算需要占用CPU的資源,大大降低了系統(tǒng)運行的效率。
而硬件加密網(wǎng)卡則提高了加密的速度,不但簡化了信息處理過程,而且提高了整個網(wǎng)絡(luò)的性能。實現(xiàn)了基于加密的強訪問控制,從而有效地保護局域網(wǎng)內(nèi)部主機間、主機與網(wǎng)關(guān)間的通信,防止了局域網(wǎng)內(nèi)部的第三臺計算機進行竊聽;而且當(dāng)移動用戶安裝了加密網(wǎng)卡后,與企業(yè)總部通信時,加密網(wǎng)卡就可以保證流經(jīng)Internet的數(shù)據(jù)的安全。所以,加密網(wǎng)卡也可以保護外部網(wǎng)的安全。
2. 加密網(wǎng)卡系統(tǒng)介紹
2.1 主要性能指標
工作方式:全雙工/半雙工
接口標準:與計算機采用PCI總線接口,與網(wǎng)絡(luò)采用雙絞線RJ-45接口,可采用屏蔽或非屏蔽雙絞線
數(shù)據(jù)傳輸速率(bit/s):10M/100M
密碼方式:基于排列碼的分組加密
密鑰方式:數(shù)字串或任意的文字串
加密強度:比DES高 105781
加密時延:7.5ns內(nèi)完成1個分組的加密
2.2 加密網(wǎng)卡的設(shè)計
網(wǎng)卡工作在物理層和數(shù)據(jù)鏈路層之間,在IP層之下,主要完成數(shù)據(jù)鏈路層的功能,所有發(fā)送和接收的數(shù)據(jù)都必須經(jīng)過網(wǎng)卡。IPSec是有效保護IP層數(shù)據(jù)報的安全,它提供了一種標準的、健壯的以及包容廣泛的機制,可用它為IP及上層協(xié)議(如TCP、UDP)提供安全保證。將IPSec的加密、解密模塊集成在網(wǎng)卡上,而將IPSec的密鑰交換與管理模塊、SPD、SAD放在虛擬設(shè)備的驅(qū)動程序中實現(xiàn),這樣就在網(wǎng)絡(luò)內(nèi)部需要保護的主機之間建立了一條條安全隧道,有效地實現(xiàn)了局域網(wǎng)內(nèi)部的安全。而網(wǎng)卡就是安全隧道兩端的封裝/解封裝設(shè)備。
我們在網(wǎng)卡原有的功能結(jié)構(gòu)基礎(chǔ)上,增加加密模塊、解密模塊、封裝模塊、解封裝模塊,加密緩沖區(qū)、解密緩沖區(qū)。并且為加密模塊、解密模塊、封裝模塊、解封裝模塊設(shè)置輸入數(shù)據(jù)線、輸出數(shù)據(jù)線以及控制線。加密網(wǎng)卡的功能流程圖如圖一。

當(dāng)主機發(fā)送數(shù)據(jù)時,由驅(qū)動程序控制詢問SPD,判斷是否加密或丟棄,如果丟棄,則直接丟棄;如果加密,則送到加密緩沖區(qū),進行加密,當(dāng)安全封裝完,就送到發(fā)送緩沖區(qū);不加密則直接送到發(fā)送緩沖區(qū),進行網(wǎng)卡發(fā)送數(shù)據(jù)的工作。
當(dāng)接收數(shù)據(jù)時,由網(wǎng)絡(luò)接口控制器將數(shù)據(jù)送到網(wǎng)卡上,先進行網(wǎng)卡接收工作,然后由接收緩沖器將數(shù)據(jù)送到主機接口控制處,最后由驅(qū)動程序判斷該包是否加密數(shù)據(jù)包,如果判斷該包是加密數(shù)據(jù)則送到解密緩沖區(qū),進行解封裝,然后進行解密,最后詢問SPD判斷該包是否丟棄,如果丟棄,則直接丟棄,否則,送給主機;如果判斷該包不是加密數(shù)據(jù),由驅(qū)動程序詢問SPD是否對該包進行丟棄,如果丟棄,則直接丟棄;否則,則直接送給主機。
驅(qū)動程序是網(wǎng)卡不可缺少的一個組成部分。在網(wǎng)卡驅(qū)動程序原功能的基礎(chǔ)上,將具有基于排列碼加密解密算法的IPSec基本功能的安全聯(lián)盟和密鑰協(xié)商與管理功能的模塊在網(wǎng)卡驅(qū)動程序中實現(xiàn)就形成了加密網(wǎng)卡的驅(qū)動程序。
2.3 加密算法的介紹
該加密網(wǎng)卡采用排列碼加密解密算法。排列碼加密解密算法是一種分組密碼,但它突破了傳統(tǒng)分組密碼從明文到密文的一對一映射關(guān)系,形成了多對多映射的分組密碼新概念,從而提高了加密強度。該算法已經(jīng)申請了中國專利,專利證號為:99107969.8[10]。
(圖二)所示為排列碼加密解密原理示意圖,它的加密強度比世界最先進的DES高 105781 多倍;加密速度極快,僅幾級門電路的延遲。本算法采用Maxplus設(shè)計此算法的專門功能部件來提高算法的加密速度。加密模塊采用ALTERA 公司的MAX7000B系列產(chǎn)品 EPM7256BQC208-5。
2.4 IPSec的原理及結(jié)構(gòu)
IPSec是一種比高層安全協(xié)議(如SOCK v5)的性能更好,實現(xiàn)起來更方便的安全協(xié)議,它可以實現(xiàn)密鑰的自動管理以降低人工管理密鑰的開銷,而且對于傳輸層以上的應(yīng)用來說它是完全透明的,具有更好的兼容性。
IPSec主要利用兩種IPSec協(xié)議來提供安全服務(wù):驗證頭AH(Authentication Header)和封裝安全負載ESP(Encapsulating Security Paylaod)。其中,AH可以提供數(shù)據(jù)源地址驗證、面向無連接的數(shù)據(jù)完整性以及抗重播服務(wù);ESP除了提供上述服務(wù)之外,還可以選擇提供機密性和有限的流量機密性服務(wù)。這兩種協(xié)議都既可以用來保護一個完整的IP負載,也可以用來保護IP負載中的上層協(xié)議。此外,IPSec提供了兩種工作模式:傳輸模式和隧道模式,傳輸模式用于端到端的安全保障,即可以實現(xiàn)主機對主機傳輸層的數(shù)據(jù)包的通信保護;而網(wǎng)關(guān)之間的安全保護或通過路由器發(fā)送數(shù)據(jù)包來提供安全服務(wù)時,則使用IPSec的隧道模式,該模式提供對IP分組的保護。
在IPSec協(xié)議套件中還包含了用于密鑰交換和管理的Internet密鑰交換協(xié)議IKE(Internet Key Exchange)以及相應(yīng)的解釋域、加密和認證算法、安全策略等協(xié)議組件。其中有兩個重要的概念:SA(安全聯(lián)盟)和SP(安全策略)。SA是兩個IPSec通信實體間通過協(xié)商建立起來的一種協(xié)定,IPSec實施方案最終會構(gòu)建一個SA數(shù)據(jù)庫(SAD),由它來維護SA記錄。SP為進/出數(shù)據(jù)包的處理提供了一組安全策略參數(shù),并以記錄的形式存放在SP數(shù)據(jù)庫(SPD)中。
2.5 加密網(wǎng)卡對數(shù)據(jù)的處理過程
任何安裝了該加密網(wǎng)卡的兩臺主機進行通信都要經(jīng)過三個步驟,第一,通信雙方確認對方的身份,即進行身份認證,建立安全通道ISAKMP SA。第二,通信雙方協(xié)商IPSEC SA的各參數(shù),并將SA添加到SAD中。最后,兩主機開始正常通信,一切安全保護的運算工作都由網(wǎng)卡負責(zé),對用戶是透明的。
該加密網(wǎng)卡采用REALTEK的8139D作為主芯片,IPSec以BITS(Bump-in-the-stack)方式實現(xiàn),ESP封裝,工作在傳送模式下,采用預(yù)共享密鑰進行身份認證。
該加密網(wǎng)卡對發(fā)送接收數(shù)據(jù)的處理過程如圖三、圖四。
3.應(yīng)用前景
隨著網(wǎng)絡(luò)的開放性、共享性和
互聯(lián)網(wǎng)絡(luò)的不斷擴大,網(wǎng)絡(luò)內(nèi)部的安全必將會越來越受到重視。IPSec是一個開放的體系結(jié)構(gòu)和一個開放的框架,它為網(wǎng)絡(luò)層安全提供了一個穩(wěn)定的、長期持久的基礎(chǔ)。而建立在IPSec體系上的加密網(wǎng)卡系統(tǒng)能有效的解決網(wǎng)絡(luò)內(nèi)部端到端的數(shù)據(jù)通信,而且采用硬件加密克服了原先的軟件加密速度慢的問題,從而為
網(wǎng)絡(luò)安全提供了更有效的保護。因此采用加密網(wǎng)卡保護網(wǎng)絡(luò)數(shù)據(jù)傳送安全的優(yōu)越性會越來越明顯,必將會得到更廣泛的應(yīng)用。