中國(guó)人民銀行成都分行 張文軍
由于歷史的原因,各企業(yè)都存在一些以前開發(fā)的業(yè)務(wù)處理系統(tǒng),這些業(yè)務(wù)系統(tǒng)沒有考慮數(shù)據(jù)在局域網(wǎng)和廣域網(wǎng)傳輸時(shí)的機(jī)密性和完整性。要解決這些系統(tǒng)數(shù)據(jù)的安全傳輸問題,可以采用將應(yīng)用系統(tǒng)逐個(gè)改造,增加加密處理過程的方法來實(shí)現(xiàn),但這種方法需要投入大量的人力和物力;也可以采用主機(jī)加裝硬件加密裝置的方法實(shí)現(xiàn),但這種方法需要增加大量的投資,并且擴(kuò)展性差。因此,利用IPSec技術(shù),在網(wǎng)絡(luò)層實(shí)現(xiàn)加密傳輸,適應(yīng)已有的各種應(yīng)用系統(tǒng),保護(hù)已有的投資,成為我們的首選。
技術(shù)解析
IPSec協(xié)議是由IETF制定的一種基于IP協(xié)議的安全標(biāo)準(zhǔn),用于保證IP數(shù)據(jù)包傳輸時(shí)的安全性。IPSec協(xié)議由安全協(xié)議(包括AH協(xié)議和ESP協(xié)議)、密鑰管理協(xié)議(如IKE)以及認(rèn)證和加密算法組成。
IPSec支持傳輸模式和隧道模式。傳輸模式主要為上層協(xié)議提供保護(hù),即對(duì)IP包的載荷進(jìn)行保護(hù),通常用于兩個(gè)主機(jī)之間的端對(duì)端通信。隧道模式提供對(duì)所有IP包的保護(hù),即將整個(gè)IP包(含包頭和載荷)封裝,作為新的IP包的載荷進(jìn)行傳送。
其中,封裝安全載荷是插入IP數(shù)據(jù)包內(nèi)的一個(gè)協(xié)議頭,以便為IP提供機(jī)密性、數(shù)據(jù)源驗(yàn)證、抗重播以及數(shù)據(jù)完整性等安全服務(wù)。驗(yàn)證頭(AH)則用于為IP提供數(shù)據(jù)完整性、數(shù)據(jù)原始身份驗(yàn)證和一些可選的、有限的抗重播服務(wù)。IKE 是IPSec的自動(dòng)密鑰管理協(xié)議,它建立在Internet安全關(guān)聯(lián)和密鑰管理協(xié)議(ISAKMP)定義的框架上,定義出自己獨(dú)一無二的驗(yàn)證加密材料生成技術(shù),以及協(xié)商共享策略。
具體實(shí)現(xiàn)
目前,大部分單位的計(jì)算機(jī)都使用Windows 2000/XP操作系統(tǒng),因此,我們通過在Windows主機(jī)上實(shí)現(xiàn)IPSec來確保數(shù)據(jù)加密傳輸和認(rèn)證。我們采用NDIS技術(shù)在網(wǎng)絡(luò)層與數(shù)據(jù)鏈路層插入自己編寫的模塊的方式實(shí)現(xiàn)IPSec。NDIS是一種網(wǎng)絡(luò)接口規(guī)范,它將網(wǎng)絡(luò)硬件抽象為網(wǎng)絡(luò)驅(qū)動(dòng)程序。它將用來管理硬件的底層驅(qū)動(dòng)程序抽象為上層驅(qū)動(dòng)程序,也維護(hù)著狀態(tài)信息和網(wǎng)絡(luò)驅(qū)動(dòng)程序的參數(shù)。
我們實(shí)現(xiàn)的IPSec系統(tǒng)包括管理模塊、IKE密鑰交換模塊和IPSec驅(qū)動(dòng)模塊。其中:管理模塊實(shí)現(xiàn)對(duì)安全關(guān)聯(lián)數(shù)據(jù)庫(SAD)和安全策略數(shù)據(jù)庫(SPD)的管理,也可以通過IKE模塊發(fā)起密鑰交換;IKE密鑰交換模塊完成安全關(guān)聯(lián)(SA)建立、協(xié)商、修改和刪除等工作;IPSec驅(qū)動(dòng)模塊完成安全策略查詢(是否對(duì)IP包進(jìn)行IPSec處理),IP數(shù)據(jù)包的加/解密,數(shù)據(jù)包封裝/拆封等工作。
利用IPSec技術(shù),在網(wǎng)絡(luò)層實(shí)現(xiàn)IP數(shù)據(jù)包的加密傳輸和認(rèn)證,有效地彌補(bǔ)了應(yīng)用系統(tǒng)安全傳輸機(jī)制的不足,既提高了系統(tǒng)的安全性,又延長(zhǎng)了應(yīng)用系統(tǒng)的生命周期。