簡(jiǎn)述ipsec的工作原理
IPsec(IP Security)是IETF制定的三層隧道加密協(xié)議,它為Internet上傳輸?shù)臄?shù)據(jù)提供了高質(zhì)量的、可互操作的、基于密碼學(xué)的安全保證。特定的通信方之間在IP層通過(guò)加密與數(shù)據(jù)源認(rèn)證等方式,提供了以下的安全服務(wù):
數(shù)據(jù)機(jī)密性(ConfidenTIality):IPsec發(fā)送方在通過(guò)網(wǎng)絡(luò)傳輸包前對(duì)包進(jìn)行加密。
數(shù)據(jù)完整性(Data Integrity):IPsec接收方對(duì)發(fā)送方發(fā)送來(lái)的包進(jìn)行認(rèn)證,以確保數(shù)據(jù)在傳輸過(guò)程中沒(méi)有被篡改。
數(shù)據(jù)來(lái)源認(rèn)證(Data AuthenTIcaTIon):IPsec在接收端可以認(rèn)證發(fā)送IPsec報(bào)文的發(fā)送端是否合法。
防重放(AnTI-Replay):IPsec接收方可檢測(cè)并拒絕接收過(guò)時(shí)或重復(fù)的報(bào)文。
IPsec具有以下優(yōu)點(diǎn):
支持IKE(Internet Key Exchange,因特網(wǎng)密鑰交換),可實(shí)現(xiàn)密鑰的自動(dòng)協(xié)商功能,減少了密鑰協(xié)商的開銷??梢酝ㄟ^(guò)IKE建立和維護(hù)SA的服務(wù),簡(jiǎn)化了IPsec的使用和管理。
所有使用IP協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)膽?yīng)用系統(tǒng)和服務(wù)都可以使用IPsec,而不必對(duì)這些應(yīng)用系統(tǒng)和服務(wù)本身做任何修改。
對(duì)數(shù)據(jù)的加密是以數(shù)據(jù)包為單位的,而不是以整個(gè)數(shù)據(jù)流為單位,這不僅靈活而且有助于進(jìn)一步提高IP數(shù)據(jù)包的安全性,可以有效防范網(wǎng)絡(luò)攻擊。
IPSec的目標(biāo)
l 為IPv6和IPv6提供具有較強(qiáng)的互操作能力
l 高質(zhì)量的基于密碼的安全
l 在IP層實(shí)現(xiàn)多種安全服務(wù),包括:訪問(wèn)控制,無(wú)連接完整性,數(shù)據(jù)源驗(yàn)證,抗重播,機(jī)密性和有限的業(yè)務(wù)流機(jī)密性
IPSec安全體系結(jié)構(gòu)圖
IPSec安全體系內(nèi)容
驗(yàn)證頭部AH:
為IP包提供數(shù)據(jù)完整性校驗(yàn)和身份認(rèn)證功能;
驗(yàn)證算法由SA指定;
認(rèn)證的范圍:整個(gè)包。
封裝安全載荷ESP:
提供機(jī)密性,數(shù)據(jù)源驗(yàn)證,抗重播以及數(shù)據(jù)完整性等安全服務(wù);
簡(jiǎn)述ipsec的工作原理加密算法和身份驗(yàn)證方法均有SA指定。
用于兩種模式:傳輸模式和隧道模式
AH頭格式
AH傳輸模式
AH隧道模式
AH處理過(guò)程
1) 對(duì)于發(fā)出去的包的處理構(gòu)造AH
l 創(chuàng)建一個(gè)外出SA(手工或通過(guò)IKE)
l 產(chǎn)生序列好
l 填充AH頭的各字段
l 計(jì)算ICV(Integrity Check Value完整性檢驗(yàn)值)
內(nèi)容包括:IP頭中部分域,AH自身,上層協(xié)議數(shù)據(jù)
l AH頭中的”下一頭部“置為原IP包頭中的”協(xié)議“字段的值,原IP包頭的”協(xié)議字段置為51(代表AH)
2) 對(duì)于接受到的包處理:
l 分片裝配
l 查找SA
依據(jù):目標(biāo)IP地址,AH協(xié)議,SPI
l 檢查序列號(hào)
l ICV檢查
ESP頭格式ESP傳輸模式
ESP隧道模式
ESP處理過(guò)程
1) 對(duì)出發(fā)出去的包的處理
l 查找SA
l 加密
l 封裝必要的數(shù)據(jù),放到payload data域中,不同的模式,封裝數(shù)據(jù)的范圍不同
l 增加必要的padding數(shù)據(jù)
l 加密操作
l 驗(yàn)證
l 計(jì)算ICV 注意:針對(duì)加密后的數(shù)據(jù)進(jìn)行計(jì)算
2) 對(duì)于接受到的包的處理
l 分片裝配
l 查找SA
依據(jù):目標(biāo)IP地址,ESP協(xié)議,SPI
l 檢查序列號(hào)(可選,針對(duì)重放攻擊)
使用一個(gè)滑動(dòng)串口來(lái)檢查序列號(hào)的重放
l ICV檢查
l 解密
根據(jù)SA中指定的算法和迷失,參數(shù),對(duì)于被加密部分的數(shù)據(jù)進(jìn)行解密
去掉padding
重構(gòu)原始的IP包
SA(Security Association)安全聯(lián)盟
l SA是單向的(無(wú)法反推)
l SA是“協(xié)議相關(guān)”的(與協(xié)議對(duì)應(yīng))
l 每個(gè)SA通過(guò)三個(gè)參數(shù)來(lái)標(biāo)志,《spi,dst(src),protocol》
安全參數(shù)索引SPI(Security Parameters Index)
對(duì)方IP地址
安全協(xié)議標(biāo)識(shí):AH or ESP
l SA與IPSec系統(tǒng)中實(shí)現(xiàn)的兩個(gè)數(shù)據(jù)庫(kù)有關(guān)
安全策略數(shù)據(jù)庫(kù)(SPD)
安全關(guān)聯(lián)數(shù)據(jù)庫(kù)(SAD)
密鑰管理(Key Management)
l ISAKMP定義了密鑰管理框架。ISAKMP與IKE一樣,IKE是高級(jí)版本。
l IKE是母線真是確定用于IPSec的密鑰交換協(xié)議。
ISAKMP參考RFC2308文檔,IKE協(xié)議參考RFC2409文檔。
兩階段交換第一階段:建立起ISAKMP SA —— IKE SA
雙方(例如ISAKMP Sservers)商定如何保護(hù)以后的通訊,通信雙方建立一個(gè)已通過(guò)身份鑒別和安全保護(hù)的通道;
此SA將用于保護(hù)后表的protocol SA的協(xié)商過(guò)程。
第二階段:建立起針對(duì)其他安全協(xié)議的SA —— IPSec SA
這個(gè)階段可以建立多個(gè)SA;
此SA將被相應(yīng)的安全協(xié)議用于博阿虎數(shù)據(jù)或者消息的交換。
IPSec-VPN協(xié)議和算法IP安全協(xié)議:AH,ESP
數(shù)據(jù)加密標(biāo)準(zhǔn):DES,3DES
公共密鑰密碼協(xié)議:Diffe-Hellman(D-H)
散列算法:MD5,SHA-1
公鑰加密算法:RSA
Internet密鑰交換:IKE
證書授權(quán)中心:CA