Internet安全協議 學習筆記
文章目錄
第一部分 安全協議基礎
第一章 概述
1.1 Internet協議與安全需求
- 資訊系統安全範圍:物理安全,電腦保安,網路安全
- 資訊保安的目標:保密性,完整性,可用性——CIA
- 攻擊型別:Interruption(攔截),Interception(竊聽),Modification(篡改),Fabrication(偽造)
- 網路安全需求:
- 身份鑑別
- 訪問控制
- 可用性(3A)
- 資料機密性
- 資料完整性
- 抗否認性
- 常見安全協議:
- Kerberos協議:解決分散式場景下的安全認證與授權問題
- IPSEC:解決IP層的安全加固問題
- SSL/TLS協議:解決傳輸層的安全加固問題
- SET協議:提供安全支付的一種經典問題解決方案
- PGP協議:無政府狀態下的網際網路信任安全問題解決方案
- CSP: 提供一種電子合約簽訂的解決方案
1.2 密碼學回顧
-
加密四要素:金鑰,演算法,明文,密文
-
公鑰密碼體系:加密,鑑別
- 數字簽名(簽名和校驗兩部分),安全屬性:不可否認性,不可偽造性,可第三方仲裁
- 金鑰分配:
- 公鑰證書:初始化階段,頒發階段,撤銷階段
- 安全屬性:保密性,完整性,不可否認性
- 基於CA的電子證書(包含公鑰,申請者資訊,證書有效期)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-2WLMoUEg-1604212344522)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201012204907765.png)] - 建立過程:申請人建立公私鑰;填充申請資訊併傳送(用CA公鑰加密);CA檢驗申請;CA建立證書並用自己私有金鑰對其簽名;傳送/郵寄證書
- PKI:核心是CA
- 可逆公鑰密碼體制
- 公鑰證書:初始化階段,頒發階段,撤銷階段
-
Hash函式:輸入任意長度,輸出固定長度;單向函式;容易計算
1.3 邏輯學回顧
- 命題邏輯
- 連線詞將原子謂片語合為符合謂詞:合取,析取,否定
- 謂詞邏輯
- 原子公式與符合謂詞公式
第二章 安全協議
基礎概念
- 協議:一組語義和語法規則,決定功能部件在通訊時如何進行工作;兩個或兩個以上的參與者採取一系列的步驟,以完成某項特定的任務
- 安全協議(背!):基於密碼體制,在分散式系統和通訊網中,實現金鑰分配、身份認證、資訊保密、電子商務等服務
- 準則:主體身份標識,簽名,隨機數,時戳——系統中各個主體承認的可靠分散式時鐘
- 缺陷:陳舊訊息(上一輪次訊息),並行會話
- 訊息重放對策:序列號,時戳,挑戰應答
- 良好金鑰標準:新鮮,來自可信第三方,僅為協議指定合法主體擁有
協議例項
-
RPC 協議:利用已有的共享金鑰建立新的會話金鑰 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-p0l8k4nZ-1604212344537)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013150520624.png)]
-
多重會話攻擊:攻擊者在不同會話中,先後扮演接收方B和傳送方B,重放A的部分。最終A更新了會話金鑰,實際的B沒有更新
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-8LNDgJQf-1604212344551)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013150856843.png)]
-
加固:在加密內容中新增接收方的身份標識
-
-
NS 對稱金鑰協議:可信第三方參與,分配會話金鑰 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-qYSZOhFC-1604212344566)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013151033528.png)]
- 攻擊:替換加密內容,使雙方獲得的會話金鑰不相同 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-rwAn4KHq-1604212344573)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013151143515.png)]
-
Otway-Rees 協議:通過可信伺服器分配共享金鑰 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-nu6cyZ9V-1604212344575)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013151349786.png)]
- 攻擊:攻擊者偽裝B,收到1)後重放,即 Z ( B ) → A : M , E ( K a s : N a , M , A , B ) Z(B)\rightarrow A:M,E(K_{as}:N_a,M,A,B) Z(B)→A:M,E(Kas:Na,M,A,B)
- 加固:挑戰應答,新鮮數+1
-
大嘴青蛙協議:一種對稱金鑰管理協議 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-LkcZynbU-1604212344581)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013151855016.png)]
- 攻擊:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-pLiYwHob-1604212344584)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013152012692.png)]
- 加固:在發往S的訊息中加入傳送方的身份標識
-
NS 公鑰協議:A和B通過可信第三方交換公鑰 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-LAAfbSPY-1604212344585)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013152202433.png)]
- 攻擊:攻擊者可以是合法使用者,在兩個輪次內重放。 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-AiX3t71Y-1604212344590)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013152357602.png)]
- 輪次1:A與攻擊者握手交換key
- 輪次2:攻擊者假冒A與B通訊,使B以為與A交換公鑰,但A並不知情
- 加固:在6)中加入傳送方和接收方的身份標識
- 攻擊:攻擊者可以是合法使用者,在兩個輪次內重放。 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-AiX3t71Y-1604212344590)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013152357602.png)]
-
Denning Sacco 金鑰分配協議 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-5tqaxOhe-1604212344592)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013151223521.png)]
- 攻擊:B可向C重放被A私鑰加密的內容(用C的公鑰封裝),使C以為和A有會話金鑰
- 加固:A私鑰加密內容中,加入接收方的身份標識
-
協議設計原則:
- 不引入額外的加密和訊息欄位
- Nonce 與時戳不可完全混用
- nonce 本身需要加密——基於隨機數的挑戰應答機制,需要有效保護隨機數
- 時戳使用前提是有可靠的分散式時鐘機制
第二部分 常見的安全協議
第三章 Kerberos
-
基本概念和過程
-
單點登入機制:能夠使用一組憑據登入一次,並訪問有權訪問的所有系統和聯機資源
- KDC 給予 tickettgt ——認證
- TGT 可以用於獲取其他的服務票據 ticketv ——授權
Kerberos 協議原理
-
基於 NS 可信第三方協議和 Denning Sacco 協議
-
基本概念:
- Principal:被認證的安全個體
- AS:認證使用者(通過long-term key),給予使用者tgt和short-term key
- tgs:通過tgt和short-term key認證使用者,通過發放ticket對使用者授權和訪問控制
- KDC:網路服務,提供ticket與臨時會話金鑰
- Ticket:一個記錄,客戶憑此向伺服器證明身份。被伺服器金鑰加密
- Authenticator:一個特殊記錄,包含最近產生的資訊,被客戶與伺服器之間的共享金鑰加密
- Credentials:一個ticket加上一個會話金鑰
- Principal:被認證的安全個體
-
認證與授權邏輯分離
-
設定不同的票據生命週期
-
過程:第一輪與AS互動(返回tgs票據和與TGS的會話金鑰,同時通過Kc認證C的身份),第二輪與TGS互動(傳送tgs票據與認證頭,告訴tgs使用者已被AS認證,返回v票據以及臨時會話金鑰),第三輪與V互動(傳送v票據與認證頭,認證頭用於證明使用者已被AS認證,返回一個應答)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-bnavqUbd-1604212344595)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013113528569.png)] -
v5過程:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-tNVMDxNU-1604212344597)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013114915578.png)]
Kerberos v5
- 改進:
- 擴充套件加密演算法
- 不限制票據生命週期
- 跨域訪問更為自然:獲得本地 TGS 的訪問權,請求一張遠端TGS的票據許可票據,向遠端TGS申請服務許可票據
- 不再雙重加密
- 採用新鮮數防止訊息重放;採用 subkey 機制,防止使用同一票據的使用同一會話金鑰的多個client-server連線被重放攻擊
Kerberos 協議優缺點
- 優點:
- 密碼不在網上傳輸,猜測更困難
- 單點登入機制,更加便捷,不用記憶多個口令
- 儲存上有效能優勢
- 票據與認證頭結合,票據被盜後難以使用
- 缺點:
- 缺少撤銷機制:tgt 無法撤銷
- 伺服器可模擬任何人;可能是效能的瓶頸:所有人都要連線
- 金鑰管理
- 使用了時戳,需要時鐘同步
- 跨域認證繁瑣
- 口令安全問題
第四章 PGP&CSP
PGP
-
公鑰環,私鑰環,PGP的處理流程
-
基礎:
- 主要解決身份鑑別和保密性問題:跳轉節點不可控,伺服器可能在境內或境外
- Email工作原理:電子郵件客戶端——SMTP協議、傳送方電子郵件伺服器埠25——TCP連線,SMTP協議——接收方電子郵件服務埠25——pop3協議tcp連線埠110——電子郵件客戶端
- PGP公鑰分發:
- 每個人都可以做CA,將B的公鑰簽發給第三方,第三方自行決定是否信任——B信任A且獲得A簽名的C公鑰,則B信任C公鑰
- 存在風險:A檢查不當/A被賄賂——用不用在於B本身,同時可設定公鑰(證書)的信任度
- none,partial,complete
- 個體的信任水平決定了簽發的證書信任水平
- 可主動撤銷公鑰;證書頒發者可撤銷證書;證書和金鑰存在有效期
-
加密與認證過程(要求能夠默寫!):
- 壓縮在簽名之後進行:便於採用不同的壓縮演算法;驗證方可以只儲存原始內容和簽名
- 加密在壓縮之後進行:加強加密強度,冗餘減少,密碼分析更為困難
- 加密在簽名後進行:如果不是,可能被替換籤名
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-cxtZF37F-1604212344599)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013123444314.png)]
-
訊息生成與接收:passphrase:口令,使用者解密private key[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-uGIEJ0dA-1604212344602)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013123807139.png)]
- 生成:
- 使用者id作為索引獲取傳送者的私鑰,使用者輸入口令來解密私鑰,建立簽名(傳送方私鑰環)
- 生成會話金鑰加密,接收方ID作為索引獲取接受方的公鑰,建立訊息(傳送方公鑰環)
- 接收:
- 訊息內金鑰ID欄位作為索引獲取加密私鑰,使用者輸入口令解密私鑰,獲得會話金鑰解密內容(接收方私鑰環)
- 簽名金鑰id作為索引獲取公鑰,恢復摘要,計算摘要並認證(接收方公鑰環)
- 生成:
-
金鑰資料庫
- 公鑰環 pubring:主要儲存接收方的公鑰。時戳,key id,公鑰,信任度,user id等
- 私鑰環 secring:傳送方的公私鑰對,私鑰加密處理。時戳,key id,公鑰,加密私鑰,user id
-
信任模型:
- web of trust信任模型
- 無集中授權機構
- 計算公鑰環內每個公鑰的信任度,使用者解釋信任水平
- 公鑰信任水平決定於金鑰的簽名數目和每個簽名的信任度,要不時計算
CSP(不考)
-
TTP的作用,Asokan-Shoup-Waidner 協議, Abuse-Free 版本協議
-
要求公平交換:同時成功或同時失敗
-
問題:
- 若程式出錯,則難以達成一致;網路存在時延
- 非同步提交協議存在 “脆弱性視窗(window of vulnerability)”,即單個程式的延遲會導致系統的等待
-
沒有TTP則協議並不健壯:每一次訊息傳送均有TTP參與,或者TTP僅在被請求時候決斷
- 公平性:不允許欺騙對方(A沒有B的簽名,則B不能有A的簽名——TTP的撤銷功能)
- 及時性:不必無限等待(TTP進行恰當的實時的終止)
-
Asokan-Shoup-Waidner 協議
- 三種場景 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-QZy3umJG-1604212344605)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013130941976.png)]
- 成交子協議:沒有收到m3或m4,在沒有提出撤銷的情況下,強制實行,否則撤銷
- 撤銷子協議:沒有收到m2,在沒有成交的前提下,強制撤銷。a1為 sigM (abort, m1),否則成交
- TTP職責:
- AB同意下,T 強制達成協議
- T 發放撤銷令牌,合同不成立
- T 基於first-come-first-serve 之上決定撤銷還是簽訂,且T僅在A或者B請求下介入——樂觀的協議
- 重放攻擊:K在上一輪獲得了M的兩條訊息,由此K在下一輪冒充M與Q簽訂合同
- 改進:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-cUVyQN9y-1604212344606)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013132006596.png)]
- 三種場景 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-QZy3umJG-1604212344605)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013130941976.png)]
-
Abuse-Free
-
Private Contract Signature:特殊的加密原語,防止abuse
- B 無法將來自A的訊息拿來呈現給 C,僅B和T能驗證簽名有效性
- T 轉換籤名為公開的sigA,但不自用
-
TTP作用:
- 將PCS轉換為普通簽名
- 釋出撤銷令牌
- 僅在被請求時候介入,先來先服務
-
三種場景:
-
攻擊:攻擊者率先申請撤銷,之後B遲遲收不到第三個訊息,向T申請成交,則T洩露了sigB(text)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-TNgX6Qxa-1604212344609)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013140540214.png)]改進:如果T轉換為傳統簽名,則T被追責 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-b79pGBei-1604212344612)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013135833727.png)]
-
任何公平,樂觀和及時的簽訂協議中, 若一方是樂觀的, 則另一方擁有優勢
-
第五章 SET
- 電子支付基本流程,雙重數字簽名,SET流程
SET簡介
- 電子交易型別:
- 無安全措施支付模式:風險由商家承擔,並掌握使用者信用卡資訊
- 通過第三方代理人支付模式:電子郵件確認使用者身份,支付由可信第三方完成
- 數字現金支付模式:適用於小額交易,數字現金完成身份認證,數字現金髮行負責使用者與商家的資金轉移
- 簡單加密支付系統模式:對稱與非對稱加密,數字簽名確認真實性,業務伺服器和服務軟體支援
- 安全電子交易SET支付模式:商家只看到訂貨資訊,持卡人與商家相互認證
- SET只關心支付問題;脫離於底層協議的安全性,安全來自SET本身
- 要求獨立於傳輸安全
雙重數字簽名
- 數字簽名:內容雜湊,私鑰簽名摘要
- 數字證書:
- data with digital signature from CA;data:過期日期,證書頒發涉及的雙方
- 數字ID包括:公鑰,名字,地址,過期日期,頒發CA
- 雙重數字簽名:
- 兩個訊息連線在一起,這兩個訊息面向的物件不同
- Order Information (OI): 客戶給商家,訂單資訊
- Payment Information (PI): 客戶給銀行,消費資訊
- A給商家OI+PI,商家看不到PI,商家發PI給S(銀行)——確保資訊不被非法使用
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-JJBbWQcC-1604212344615)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015143841205.png)]
SET流程
-
訊息流:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-A940MOhb-1604212344617)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015144214229.png)]
-
具體流程
- 客戶傳送訂單和支付資訊
- 商家向支付閘道器請求支付授權
- 商家確認客戶訂單
- 商家向客戶提供商品
- 商家向支付閘道器請求支付
-
InitReq/InitRes:下訂單,支付初始化,明文
- InitReq:持卡人獲得商家與支付閘道器的證書
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-SjELK9FP-1604212344620)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015145119308.png)]
- InitReq:持卡人獲得商家與支付閘道器的證書
-
PReq/Pres:持卡人校驗證書,生成OI/PI,下單
- PReq:SET核心
- 傳送:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-huzYvkvU-1604212344623)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015145422765.png)]
- 商家驗證:儲存PI並轉發,校驗持卡人證書,雙重簽名,從支付閘道器獲取授權,發回響應確認訂單(授權延遲,則發回“請稍後查詢”)[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-O2SoltPL-1604212344625)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015150655248.png)]
- PRes:無加密,商家僅簽名訊息,其中完成程式碼(CompletionCode)代表交易狀態 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-8ZB3WKFJ-1604212344627)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015165548517.png)]
- PReq:SET核心
-
AuthReq& AuthRes:認證,校驗持卡人信用;商家簽名並公鑰加密AuthReq,根據AuthRes結果運輸商品。H(Order)表明和PI的一致性,
- AuthReq:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Vc2MdmnH-1604212344629)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015165822110.png)]- 接收後的處理:解密Req,校驗商家簽名,解密PI,校驗雙重簽名,PI抽取卡資料。
- 確保PI和AuthReq的一致性
- H(Order),PI,AuthReq共同校驗持卡人、商家對訂購行為的一致性
- 生成AuthRes與捕獲令牌
- 接收後的處理:解密Req,校驗商家簽名,解密PI,校驗雙重簽名,PI抽取卡資料。
- AuthRes:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-phzdRNZn-1604212344630)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015170239100.png)]
- AuthReq:
-
CapReq&CapRes(Cap:捕獲):完成已授權交易的支付
- 通過捕獲令牌Cap Token(金額證據)完成支付(可能在多次AuthRes的捕獲令牌累積後完成,即CapReq中一次傳送多個Cap Token)
- CapReq: { { C a p R e q } s i g M } P K A \{ \{ CapReq\} sig_M \} PK_A {{CapReq}sigM}PKA;CapRes: { { C a p R e q } s i g A } P K M \{ \{ CapReq\} sig_A \} PK_M {{CapReq}sigA}PKM
-
交易過程:
- 驗證電子證書9次
- 傳遞證書7次
- 驗證數字簽名6次
- 進行簽名5次
- 對稱加密和非對稱加密4次
-
SET核心技術
- 數字證書
- 數字簽名
- 電子信封(會話金鑰加密,公鑰加密會話金鑰)
- 公鑰加密
-
對比SSL:
- SET實現非常複雜,商家和銀行都需要改造系統以實現互操作,需要CA支援
- SET是一個多方的報文協議,允許各方報文交換不是實時的;SSL面向連線,且只是在兩方之間建立一條安全連線
- SET報文能夠在銀行內部網或者其他網路上傳輸,SSL之上的卡支付系統只能與Web瀏覽器捆綁
- SET安全性更高
第六章 IPSEC
- IPsec的基本概念:SA, SPD,AH,ESP, 隧道模式, 傳輸模式, Outbound & Inbound 處理,兩個階段SA的區別
- IP安全
- 通訊雙方身份驗證
- 資料完整性與機密性保護
- IP地址欺騙
IPsec概念
- IPsec:一組安全IP協議集,現代密碼學方法支援機密性和認證性服務
- 認證包的發起者,防止傳輸中的攔截和篡改,提供訪問控制、無連線完整性、資料來源鑑別、載荷機密性和有限流量機密服務
- IPv4可選,IPv6必選
- 機制:認證、資訊機密性和金鑰管理
- 兩個分離的層:IKE(網際網路金鑰交換)與 IP-Sec record sub-layer(流量封裝與保護)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-fey5Wwyx-1604212344632)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015171707201.png)]
- SA(Security Association)
- 由SPI(Security Parameter Index,安全引數索引)和目標地址組成,它表示通訊方如何使用安全服務進行安全通訊
- 單個IPsec連線至少需要2個SA
- 引數:認證演算法與模式,加密演算法與模式,金鑰及生命週期等
- SPI:兩部VPN主機之間以隨機數或手動指定的唯一值,其目的是要作為資料庫的索引值
- SAD(Security Association Data)
- 含有所有活躍的SA
- 存放在 SAD 中的引數有 SPI 值、目的端IP、安全協議號(AH或ESP)、AH 驗證演算法等
- SPD(Security Policy Data)
- 使用者定義的策略:每個報文的安全服務及其水平
- 用來存放 IPSec 的規則,這些規則用來定義哪些流量需要走 IPSec
- AH(Authentication Header)
- 每一個資料包上新增一個身份驗證報頭,提供資料來源認證、完整性保護和重放保護,無機密性保護
- AH校驗包含源地址,與NAT衝突
- 傳輸模式:AH被插在IP頭之後、所有的傳輸層協議之前、其它IPSec協議頭之前
- 隧道模式:AH插在原始的IP頭之前,並生成一個新的IP頭放在AH之前
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-kTzOb6TI-1604212344635)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015185725856.png)]- 輸出:
- SA查詢
- 生成序列號
- 計算ICV校驗值(完整性保護)
- 填充,分段
- 接收:
- 充足
- SA查詢
- 序列號驗證
- ICV驗證
- 輸出:
- ESP(Encapsulating Security Payload)
- 完整性,加密性,重放保護,無不可否認性,認證性取決加密演算法
- IP包頭部(含選項欄位)不會被驗證,不存在NAT模式衝突;原IP地址被當作有效載荷的一部分受到保護;可以隱藏資料包目的地址,以保護端對端隧道通訊中資料的安全性;隧道模式可提供資料流加密服務
- 傳輸模式:origin IP hdr + ESP hdr + TCP + Data + ESP trlr + ESP auth;加密 TCP 到 ESP trlr,認證 ESP hdr 到 ESP trlr
- 隧道模式:New IP hdr + ESP hdr + origin IP hdr + TCP + Data + ESP trlr + ESP auth;加密origin IP hdr 到ESP trlr,認證ESP hdr 到ESP trlr
- ESP 提供加密處理,AH無法提供;AH 提供抗抵賴性,ESP無法提供。組合使用時,先ESP後AH,因此ESP頭可被AH保護
- 輸出:同上,生成序列號後對資料包加密
- 接收:同上,ICV驗證後對資料包解密
- 模式架構[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-xErVJgH4-1604212344639)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201015190358715.png)]
- 對稱加密(DES),基於對稱加密的單向雜湊(MD5/SHA-1)
IPsec機理
- ISAKMP:SA協商與金鑰管理協議
- Internet Key Exchange(IKE)用於配置 IPSEC,位於UDP之上,是後者的信令協議:通訊雙方協商加/解密演算法及其金鑰、金鑰的生命期、驗證演算法,在 ISAKMP 規定的一個框架內運作;IKE不是在網路上直接傳送金鑰,而是通過一系列資料的交換,最終計算出雙方共享的金鑰
- IKE為IPsec協商建立SA,並把建立的引數及生成金鑰交給IPsec;IPsec使用IKE建立的SA對IP報文加密或驗證處理
- 階段1:兩個IKE對等體間建立一個認證過的安全通道(通過UDP埠500),即協商建立IKE SA
- 主模式:協商加密與hash演算法,並用Diffie-Hellman交換金鑰,校驗身份(六個報文)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-tmfo0Kgx-1604212344640)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016121144602.png)] - 主動(快速)模式:所有協商、金鑰交換等壓縮成更少的包,更快但容易被嗅探(三個報文)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-3tDcElgz-1604212344642)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016121208560.png)] - 區別:
- 互動6個訊息——互動3個訊息
- 只能基於IP確定預共享金鑰——基於ID(主機名+IP)確定預共享金鑰
- 安全性較高,前四個訊息明文傳輸,後兩個訊息加密,保護對端身份——安全性較低,前兩個訊息明文傳輸,後一個訊息加密,不保護對端身份
- 速度較慢——速度較快
- 適用於公網IP固定,點對點環境——適合公網IP不定,且可能存在NAT裝置
- 主模式:協商加密與hash演算法,並用Diffie-Hellman交換金鑰,校驗身份(六個報文)
- 階段2:協商 IPSec SA引數,建立 IPSec SA,週期性的重新協商IPSec SA
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-pe5dsmyM-1604212344644)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201101111418188.png)] - 主模式身份驗證方式:
- 預共享金鑰認證
- 數字簽名認證
- 公鑰加密認證
- IPsec 執行:
- 可在主機或閘道器上使用:
- 主機:端到端安全服務,可用IPSec所有模式
- 路由器:對進入專用網路的使用者進行身份驗證和授權,允許建立VPN
- 在OS或堆疊的bump上整合
- 可在主機或閘道器上使用:
IPsec應用
- 具體應用
- 加強電子商務安全
- IP級別加密和/或驗證所有流量
- 分散式防火牆
- 虛擬專用網
- 應用流程:
- 主機A通知本機的IPSec驅動程式檢查IP篩選器,檢視資料包是否需要受保護以及需要受到何種保護
- 驅動通知IKE開始安全協商
- 主機A給B傳送IKE請求安全協商通知,主機B上的IKE收到請求安全協商通知,並響應,A與B建立SA第一階段協商,生成共享主金鑰
- A與B建立SA第二階段協商,生成SA對(入站SA和出站SA, SA包括金鑰和SPI )
- 驅動程式用出站SA對資料包進行簽名(完整性檢查)和加密
- IP層傳送與接收
- 接收方驅動程式使用入站SA檢查完整性簽名與/或對資料包進行解密
- 驅動程式將解密後的資料包提交上層TCP/IP驅動程式,再由TCP/IP驅動程式將資料包提交主機B的接收應用程式
第七章 SSL
- 基本概念,協議過程
SSL概念
-
加固 http 層,使得TCP實現可靠、端對端的服務
-
TLS 向後相容 SSLv3
- 認證(公私鑰+數字證書)
- 保密性(會話金鑰)
- 完整性(查驗Message Authentication Code,MAC)
- 抗重放攻擊(序列號與隨機數)
-
子層:SSL Record Protocol (所有操作發生的位置),SSL Management: (握手/密碼更改/警報協議)
-
體系: [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-kLkbgncK-1604212344647)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016143101520.png)]
-
核心為握手協議,完成傳輸資料前的加密演算法協商,共享金鑰建立,相互認證
基本過程
- 握手過程流程圖:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Mxrz6Zjj-1604212344649)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016144005838.png)] - 過程1:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-hgbVfPVc-1604212344651)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016150306151.png)]- r A r_A rA:新鮮數,4位元組時戳+28位元組隨機數
- S e s s I D SessID SessID:新的會話則為0,否則為已有會話ID
- C i p h L i s t CiphList CiphList:客戶機支援、按優先順序遞減的金鑰交換和加密演算法列表
- C i p h c h o i c e Ciphchoice Ciphchoice:伺服器選擇的加密套件
- 最後雙方知道:(1)SSL版本(2)金鑰交換、資訊驗證和加密演算法(3)壓縮方法(4)有關金鑰生成的兩個隨機數。
- 過程2:伺服器認證與金鑰交換
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-WSIdeYu7-1604212344652)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016150802399.png)]- 伺服器傳送X.509證書及證書鏈( K G K_G KG為伺服器私鑰)
- 伺服器傳送公鑰(可選,有些情況不需要)
- 伺服器向客戶端請求證書(ValidCertAuthorities 標識伺服器將接受的許可權)
- 備註:僅當已傳送的伺服器證書訊息包含的資料不足以允許客戶端交換金鑰時,伺服器才會傳送伺服器預主金鑰交換訊息。
- 過程3:客戶機認證與金鑰交換
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-JUjy9qWs-1604212344654)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016151506417.png)]- 客戶驗證併傳送證書
- 訊息9用於認證
- + K G +K_G +KG:公鑰,來自伺服器證書
- M e s s a g e 1 t o 8 Message1to8 Message1to8:前8條訊息的串聯
- M S MS MS:主金鑰
- 如果伺服器請求證書,傳送certificates;如果客戶沒有證書,則傳送client key exchange訊息。最後發一個verify,對第一條訊息以來的所有握手訊息的MAC值進行簽名。
- 備註:
- 主金鑰master key:48位元組,預主金鑰轉化為來
- 預主金鑰premaster key:兩個偽隨機流互斥混合在一起
- [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-xg0NDK0j-1604212344658)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016152727036.png)]
- 過程4:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Taoc3KPI-1604212344660)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201016152949310.png)]- 客戶機通知伺服器更改密碼(通過更改密碼協議)
- 伺服器用自己更改的密碼訊息進行響應
- Finish Message為用加密套件和會話金鑰加密的資料,用於驗證正式傳輸資料之前對剛剛建立的加解密通道
- ChangeCipherSpec 是一個獨立的協議,用於告知服務端,客戶端已經切換到之前協商好的加密套件(Cipher Suite)的狀態,準備使用之前協商好的加密套件加密資料並傳輸了
- 證書校驗:必須識別證書鏈中信任的CA(一個CA可以為另一個CA頒發證書);必須驗證證書是否已被撤銷(CA釋出證書撤銷列表)
- 加密金鑰:
- Master Secret:由雙方分別生成的隨機值和預共享金鑰生成
- Key material:由master secret和雙方共享的隨機值生成
- Encryption key:從Key material中提取,是對稱金鑰
- 總結:
- 交換Hello訊息,對於演算法、交換隨機值等協商一致
- 交換必要的密碼引數,以便雙方得到統一的premaster secret
- 交換證書和相應的密碼資訊,以便進行身份認證
- 產生master secret
- 把安全引數提供給SSL記錄層
- 檢驗雙方是否已經獲得同樣的安全引數
- SSL 告警協議:表明異常出現
- 2個位元組的訊息
- warning則第一個位元組為1,fatal則第一個位元組為2且第二個位元組說明錯誤種類(握手失敗,意外訊息等)
- SSL 記錄協議:提供機密性(雙方共有的金鑰加密)與認證性(產生另一把共有金鑰計算MAC)
- 資料分段後壓縮
- 新增MAC(訊息認證碼)後加密
- 新增Record Header(內容型別+內容長度+SSL版本)
- 間接問題:比TCP會話慢2-10倍
- 握手階段的公私鑰加密
- 資料傳輸階段的對稱金鑰加密
- 不提供UDP應用的安全保護,不能對抗通訊流量分析,存在主金鑰洩露和客戶端假冒問題
第三部分 安全協議分析
第八章 BAN
- 訊息描述:形式化方式對協議訊息進行描述
- 初始假設:對協議外部特性假設,如對可信第三方的信任假設、對隨機數新鮮性的假設,
- 推理規則:邏輯方法的核心
- 主體信念:邏輯分析方法的結果
BAN邏輯概念
- 符號:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-HqIpsmCh-1604212344661)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019221040569.png)]
BAN邏輯框架
-
推理規則:
- 訊息意義規則:從加密訊息所使用金鑰和訊息中的而祕密,推斷髮送者身份
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-ipxuQxec-1604212344664)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019222513232.png)] - 隨機數驗證規則:P相信X新鮮,且P相信Q曾經傳送過X,則P相信Q相信X b e l ( P , f r e s h ( X ) ) a n d b e l ( P , s a i d ( Q , X ) ) = > b e l ( P , b e l ( Q , X ) ) bel(P,fresh(X))\ and \ bel(P,said(Q,X)) => bel(P,bel(Q,X)) bel(P,fresh(X)) and bel(P,said(Q,X))=>bel(P,bel(Q,X))
- 仲裁規則:擴充套件主體的信任
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-FM68YHgA-1604212344665)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019223340498.png)] - 信念規則:信念在訊息級聯與分割中的一致性,以及信仰在此類操作中的傳遞性
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-MVOVZdHP-1604212344671)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019223619292.png)] - 接受規則:主體在協議執行中獲取訊息:P接收到訊息,也就接收到訊息的組成部分;收到加密訊息後能讀出訊息原文的情況
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-fcpnhgr5-1604212344672)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019223823832.png)] - 新鮮規則:訊息的一部分是新鮮的,則整個訊息也是新鮮的;隨機數驗證規則;
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-KqV6Fifi-1604212344674)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019223723107.png)] - 傳遞規則:P相信Q傳送過整個訊息,則P相信Q傳送過訊息的一部分 b e l ( P , s a i d ( Q , ( X , Y ) ) = > b e l ( P , s a i d ( Q , X ) ) bel(P, said(Q, (X,Y)) \ => bel(P, said(Q, X)) bel(P,said(Q,(X,Y)) =>bel(P,said(Q,X))
- 訊息意義規則:從加密訊息所使用金鑰和訊息中的而祕密,推斷髮送者身份
-
若干假設:
- 時間假設:區分此次協議開始的時間和過去的時間;某一觀點在協議開始時成立,則當前輪次也成立;過去的觀點不一定成立
- 金鑰假設:金鑰不能從密文推出;無金鑰則不能解密;主體能夠知道是否它使用正確解密金鑰
- 主體假設:參與協議的主體都是誠實的
- 自身訊息可識別假設:接收方能分辨訊息是否是自己已傳送過的
-
應用:
- 協議理想化預處理
- 給定初始狀態和基於的假設
- 形勢化協議達成的安全目標
- 由推理規則、會話事實與假設,推理
案例分析
-
NS協議漏洞分析
- 假定:三個主體(S的權威性),兩個長期共享金鑰,一個臨時會話金鑰,兩個隨機數(新鮮性);目標:完成協議後,A和B相信擁有一個僅它們和伺服器知道的會話金鑰
- 理想化協議
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-7oqFG0tp-1604212344675)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019225151611.png)] - 初始狀態與假設
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-eNkjvrbo-1604212344677)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019230230856.png)] - 安全目標
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-8CmDcKKY-1604212344679)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201019230209912.png)] - 邏輯證明
-
BAN邏輯缺陷
- 非標準的理想化協議過程,省略對推理主體信仰無用的部分——明文忽略問題
- 理想化過分依賴於分享者的直覺,原始協議和理想化協議存在語義鴻溝
- 不合理假設:主體誠實
第九章 Commsp
- 從反面尋找協議漏洞,如果找到攻擊步驟,說明協議有缺陷
- CSP(communication Sequential Processes,通訊順序程式):一種用於描述通過傳遞訊息進行通訊的並行代理(parallel agents)系統的符號
CSP基礎
- 基本術語:
- 事件:通過執行的一系列事件描述協議
- 通道:不同事件型別看作不同通道,並規定傳遞的資料型別
- 程式:執行狀態中的一個動作/事件以及動作結束後的狀態
- 常用程式:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Qhm6KxCB-1604212344681)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201020111309276.png)] - 程式間選擇:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-ydvUce3s-1604212344683)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201020112626105.png)] - 並行程式: [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-PmGbbWGs-1604212344684)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201020112801696.png)]
- 重新命名: [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-wBGDa2qZ-1604212344686)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201020112858644.png)]
- 條件結構(if-then-else): [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-HrXY0gvV-1604212344690)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201020113041176.png)]
- 跡與精煉:跡是一個事件序列。如果程式Q的跡為程式P跡的子集,稱Q的跡精煉P的跡 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-LQNOX57y-1604212344691)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201020113413379.png)]
- 協議目標的CSP描述
- 保密性:有保密性的m不能被通訊以外的使用者得到(或者m是一個對接收者不透明的量)
- 認證性:身份認證目標表現為以下斷言成立[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-iyx7v0o0-1604212344694)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201020113652271.png)]
案例分析
- 協議規範和協議實現兩個CSP作為輸入,檢查協議的實現是否精煉了規範
- 具體見PPT Yahalom協議
相關文章
- Raft協議學習筆記Raft協議筆記
- Raft 協議學習筆記Raft協議筆記
- 學習筆記 - DNS協議筆記DNS協議
- IP協議學習筆記協議筆記
- OAuth 2.0 協議學習筆記OAuth協議筆記
- CAN匯流排協議 學習筆記協議筆記
- Networking && Internet 計網學習筆記一筆記
- TCP/IP學習筆記之協議和郵件TCP筆記協議
- ZooKeeper一致性協議ZAB學習筆記協議筆記
- 學習筆記-Verilog實現IIC匯流排協議筆記協議
- 計算機網路學習筆記(10) TCP/IP協議棧 之TELNET協議計算機網路筆記TCP協議
- ICMP Internet控制資訊協議協議
- 比特幣學習筆記————附錄2 比特幣改進協議比特幣筆記協議
- 逆向與安全學習筆記筆記
- SPI通訊協議筆記協議筆記
- IIC通訊協議筆記協議筆記
- unity學習筆記-C#協程Unity筆記C#
- 華為帳號服務學習筆記(五):OpenID Connect協議詳解筆記協議
- Neo4j/cypher學習筆記與學習建議筆記
- 華為帳號服務學習筆記(二):OAuth2.0協議詳解筆記OAuth協議
- 網路協議課堂筆記協議筆記
- L2TP協議筆記協議筆記
- BGP路由協議學習一路由協議
- 趣談網路協議筆記(1)協議筆記
- 比特幣學習筆記————10、比特幣安全比特幣筆記
- 飛機的 PHP 學習筆記九:安全PHP筆記
- numpy的學習筆記\pandas學習筆記筆記
- golang學習筆記(二)—— 深入golang中的協程Golang筆記
- session工作原理是什麼?網路安全網路協議學習Session協議
- MQTT工作筆記0001---MQTT協議概述MQQT筆記協議
- 使用wireshark學習網路協議協議
- Python學習之迭代器協議Python協議
- Solidity語言學習筆記————43、安全考量Solid筆記
- 飛機的 PHP 學習筆記之安全篇PHP筆記
- ESP32藍芽學習--GATT協議學習藍芽協議
- 學習筆記筆記
- swoole 學習筆記-做一頓飯來理解協程筆記
- 滄小海基於xilinx srio核的學習筆記之第五章 Rapidio協議詳述筆記API協議