網絡安全協議
安全協議概述:在信息網絡中,可以在ISO七層協議中的任何一層採取安全措施。大部分安全措施都採用特定的協議實現。
🌼IPv6 extension headers
中繼點選項(Hop-by-hop options)
尋路頭標(Routing)
報片頭標(Fragment)
信宿選項(Destination options)
認證頭標(Authentication)
安全淨荷加密頭標(Encryption Security Payload)
🌼IPSec
- IPSec中的安全組合(SA)
- 需求
認證
、加密算法
及其參數、密鑰
- SA:
爲使通信雙方的認證/加密算法及其參數、密鑰的一致,相互間建立的聯繫被稱爲安全組合或安全關聯
(Security Association)。
通過密鑰管理協議在通信雙方之間進行協商,協商完畢後,雙方都在它們的安全關聯數據庫
(SAD)中存儲該SA參數。
SA由一個三元組唯一地標識,該三元組爲安全索引參數SPI
、一個用於輸出處理的目的IP地址(或用於輸入處理的源IP地址)
和協議
(如AH或ESP)。
SA是單向
的,在雙向通信時要建立兩個SA
。對於某一主機來說,某個會話的輸出數據和輸入數據流需要兩個獨立的SA。
安全參數索引(SPI)
SPI是爲了唯一標識SA而生成的一個32位整數。包含在AH頭標和ESP頭標中,其值1~255被IANA留作將來使用,0被保留,目前有效的值爲256~232-1
有了SPI,相同源、目的節點的數據流可以建立多個SA
安全策略數據庫(SPD)
SPD中包含一個策略條目的有序表,通過使用一個或多個選擇符來確定每一個條目。
選擇符可以是五元組(目的/源地址,協議,目的/源端口號),或其中幾個。
條目中包含:
策略(是否需要IPSec處理):丟棄,繞過,加載IPSEC
SA規範
IPSec協議(AH or ESP)
操作模式
算法
對外出處理,應在SPD中查找指向SAD中SA的指針
安全關聯數據庫(SAD)
SAD包含現行的SA條目,每個SA由三元組索引,一個SAD條目包含下面域:
序列號計數器:32位整數,用於生成AH或ESP頭中的序列號
序列號溢出:是一個標誌,標識是否對序列號計數器的溢出進行審覈。
抗重放窗口:使用一個32位計數器和位圖確定一個輸入的AH或ESP數據包是否是重放包
SAD包含現行的SA條目,每個SA由三元組索引,一個SAD條目包含下面域:
AH的認證算法和所需密鑰
ESP的認證算法和所需密鑰
ESP加密算法,密鑰,初始向量(IV)和IV模式
IPSec操作模式
路徑最大傳輸單元(PMTU)
SA生存期
🌼認證頭標AH
- AH協議
提供無連接的完整性、數據源認證和抗重放保護服務
不提供保密性服務
AH使用消息認證碼(MAC)對IP進行認證 - 認證頭標
- 安全參數索引
此32比特和目的(或源)IP地址、IPSec協議(AH或ESP)組合即可確定SA,以確定採用的IPSec協議、操作模式、密碼算法、密鑰等。當建立新SA時,SPI的產生由目的系統選擇。 - 序列號
單調增加的32位無符號整數,利用該域抵抗重發攻擊(Replay Attack)。 - 認證數據
是一個長度可變的域,長度爲32比特的整數倍。具體格式因認證算法而異 。該認證數據也被稱爲數據報的完整性校驗值(ICV)。 - 外出處理
使用相應的選擇符(目的IP地址,端口號和傳輸協議)查找安全策略數據庫獲取策略。如需要對分組進行IPSec處理,且到目的主機的SA已經建立,那麼符合分組選擇符的SPD將指向外出SA數據庫的一個相應SA束。如果SA還未建立,IPSec將調用IKE協商一個SA,並將其連接到SPD條目上。
產生或增加序列號,當一個新的SA建立時,序列號計數器初始化爲0,以後每發一個分組,序列號加1
計算ICV
轉發分組到目的節點 - 進入處理
若IP分組採用了分片處理,要等到所有分片到齊後重組
使用IP分組頭中的SPI、目的IP地址以及IPSec協議在進入的SA數據庫中查找SA,如果查找失敗,則拋棄該分組,並記錄事件。
使用已查到的SA進行IPSec處理。
使用分組中的選擇符進入SPD查找一條域選擇符匹配的策略,檢查策略是否相符
檢查序列號,確定是否爲重放分組,
使用SA指定的MAC算法計算ICV,並與認證數據域中的ICV比較,如果兩值不同,則拋棄分組 - 完整性校驗值ICV的計算
根據SA指定的認證算法和密鑰對IP分組計算出消息認證碼。
MAC的計算包括IP頭標,計算前先將可變域置0,在隧道模式下,內部IP頭標的可變域不用設爲0。
ICV的長度依賴於使用的MAC算法,例如,HMAC-MD5的ICV是128位,HMAC-SHA1的ICV是160位。如果ICV不是32的整數倍,就需要填充成32的整數倍。
🌼加密頭標ESP
ESP提供數據保密性
、無連接完整性
、抗重播服務
。ESP大都採用對稱密碼體制加密,這是因爲公鑰密碼系統的運算量要比對稱密碼大得多,ESP使用消息認證碼(MAC)提供認證服務。
- 外出處理
使用分組的相應選擇符(目的IP地址、端口、傳輸協議等)查找安全策略數據庫(SPD)獲取策略,如分組需要IPSec處理,且其SA已建立,則與選擇符相匹配的SPD項將指向安全關聯數據庫中的相應SA,否則則使用IKE建立SA。
生成或增加序列號
加密分組,SA指明加密算法,一般採用對稱密碼算法
計算完整性校驗值 - 進入處理
若IP分組分片,先重組
使用目的IP地址、IPSec協議、SPI進入SAD索引SA,如果查找失敗,則丟棄分組
使用分組的選擇符進入SPD中查找與之匹配的策略,根據策略檢查該分組是否滿足IPSec處理要求
檢查抗重播功能
如SA指定需要認證,則檢查數據完整性
解密
🌼IPSec的傳輸模式與隧道模式
- 傳輸模式
AH和ESP頭標被插在IP頭標及其他選項(或擴展頭標)之後,但在傳輸層協議之前。它保護淨荷的完整性和機密性。
- 隧道模式
在隧道模式下,AH或ESP頭標插在IP頭標之前,另外生成一個新的IP頭放在前面,隧道的起點和終點的網關地址就是新IP頭的源/目的IP地址。
保護整個IP分組
🌼IPSec隧道模式的應用-VPN
VPN( Virtual Private Networks )虛擬專網
在虛擬專網中,任意兩個節點之間的連接並沒有傳統專網所需的端到端的物理鏈路,而是利用某種公衆網的資源動態組成的。
IETF草案理解基於IP的VPN爲:"使用IP機制仿真出一個私有的廣域網“
通過隧道技術在公共數據網絡上仿真一條點到點的專線技術。
所謂虛擬,是指用戶不再需要擁有實際的專用線路,而是使用Internet公共線路。所謂專用網絡,是指用戶可以爲自己制定一個最符合自己需求的網絡。
IPSec VPN就是利用IPSec技術在Internet上建立的VPN
虛擬專網的用途
🌼IPSec的實現
Windows 2000
FreeBSD,OpenBSD
KAME:www.kame.net
OpenBSD Doc :www.openbsd.org/faq/faq13.html
Linux
FreeS/Wan:www.swan.org
Solaris
Cisco IOS (PIX and Routers)
🌼SSL
- SSL概述
特點
:
提供傳輸層的安全服務(按7層協議,也可以認爲是會話層)
最先(1995年)是由Netscape公司開發的,被廣泛應用於Web等安全服務,後改編爲Internet標準TLS (Transport Layer Security) (TLS1.0,RFC2246與SSL3.0類似)
獨立於應用層
傳輸層採用TCP提供可靠業務
SSL 可分成兩層:
SSL握手協議:用於在客戶與服務器之間建立安全連接之前交換安全信息
SSL記錄協議 (低):確定數據安全傳輸模式
解決的問題/功能
:
客戶對服務器的身份認證
SSL服務器允許客戶的瀏覽器使用標準的公鑰加密技術和一些可靠的認證中心(CA)的證書,來確認服務器的合法性。
服務器對客戶的身份認證
也可通過公鑰技術和證書進行認證,也可通過用戶名,password來認證。
建立服務器與客戶之間安全的數據通道
SSL要求客戶與服務器之間的所有發送的數據都被髮送端加密、接收端解密,同時還檢查 數據的完整性
提供的安全服務
:
用戶和服務器的合法性認證
using X.509v3 digital certificates
傳輸數據的機密性
using one of DES, Triple DES, IDEA, RC2, RC4, …
傳輸數據的完整性
using MAC with MD5 or SHA-1
- SSL體系結構與協議
工作原理:
採用握手協議建立客戶與服務器之間的安全通道,該協議包括雙方的相互認證,交換密鑰參數
採用告警協議向對端指示其安全錯誤
採用改變密碼規格協議改變密碼參數
採用記錄協議封裝以上三種協議或應用層數據(記錄類型20=改變密碼規格,21=告警,22=握手,23=應用層數據)
握手協議:
客戶和服務器之間相互鑑別
協商加密算法和密鑰
它提供連接安全性,有三個特點
身份鑑別,至少對一方實現鑑別,也可以是雙向鑑別
協商得到的共享密鑰是安全的,中間人不能夠知道
協商過程是可靠的
SSL改變密碼規格協議和告警協議:
SSL Change Cipher Spec Protocol
改變密碼規格(參數)
SSL Alert Protocol
通知SSL對端有關安全錯誤警報,警報的級別有警告和致命兩種( warning or fatal )
錯誤的原因有:
unexpected message, bad record mac, decompression failure, handshake failure, illegal parameter
close notify, no certificate, bad certificate, unsupported certificate, certificate revoked, certificate expired, certificate unknown
SSL記錄協議:
機密性(confidentiality)
using symmetric encryption with a shared secret key defined by Handshake Protocol
IDEA, RC2-40, DES-40, DES, 3DES, RC4-40, RC4-128
message is compressed before encryption
報文完整性(message integrity)
using a MAC with shared secret key
similar to HMAC but with different padding
- SSL協議的安全性分析
SSL協議採用的加密和認證算法
加密算法與會話密鑰:算法有RC4,RC2,IDEA和DES;密鑰由消息散列函數MD5產生
認證算法:採用X.509證書
安全優勢
監聽和中間人攻擊(√)
流量數據分析攻擊(x)
截拼攻擊(√)
重發攻擊(√)
HTTPS:
HTTPS(SSL之上的HTTP)是指結合HTTP和SSL來實現Web瀏覽器和Web服務器之間的安全通信。
URL:https:// (端口號:443)
加密的元素:
請求文檔的URL;
文檔的內容;
瀏覽器格式的內容(格式是由瀏覽器用戶決定的)
在瀏覽器和服務器之間傳輸的Cookies
HTTP報頭的內容 - SSL的應用
匿名SSL連接
使用SSL的基本模式——僅對服務器驗證,用於用戶註冊等信息的保護
SSL VPN
服務器端需要驗證證書,客戶端可以驗證證書或用戶名加密碼
電子商務
商家和銀行必須有證書
客戶和商家之間的通信用匿名方式,兼顧了安全和易用性
商家與銀行之間傳送的是顧客數據,通信雙方必須先互相驗證證書
🌼提問
- 隧道模式和傳輸模式的區別?
傳輸模式在發送信息的源點進行,隧道模式是在網關進行,在IPSec進行。隧道模式是在目標網絡的網關才解封,傳輸模式是在目標站點才解封。 - 信息安全的五大性質如何保證?
保密性:加密(對稱加密–>速度快,加密的對象是數據和非對稱加密–>方便密鑰管理和分配,加密的對象是密鑰)
完整性
真實性:消息真實()和實體真實
可用性:關於網絡攻防
不可抵賴性:數字簽名(具有唯一性)
在消息認證中用密碼哈希函數生成消息認證碼MAC可以同時保證真實性和完整性。