8.21IPSEC安全基礎后篇,IKE工作過程

一、數據存儲完整性校驗

數據存儲完整性校驗需通過加密密鑰實現。數據存儲前還需通過身份認證,該過程同樣依賴密鑰完成。

二、對稱key的產生、傳遞、管理

VPN中需使用多組對稱密鑰:

  • 數據加解密需獨立密鑰
  • 數據完整性校驗需獨立密鑰
  • 身份認證需獨立密鑰
  • 不同功能的密鑰必須獨立,以增強VPN安全性。同種功能的密鑰可復用,但跨功能密鑰需嚴格區分。
1.對稱key的傳遞:

對稱密鑰傳遞依賴非對稱加密算法。算法原理雖簡單,但實現復雜度高。

1) DH算法

DH算法通過私鑰與對方公鑰計算生成相同對稱密鑰,該密鑰用于保護數據傳輸。

  • VPN僅使用DH算法的前半部分(密鑰協商階段)
  • 對稱密鑰始終不在網絡中傳輸,僅通過本地計算驗證
  • DH密鑰組

DH組類型

密鑰特性

安全性對比

直線型算法(如DH組2/3)

密鑰長度較長(如1024位)

計算簡單,需更長密鑰保障安全

橢圓曲線算法(如163位)

密鑰長度較短

計算復雜,同等安全性下密鑰更短

密鑰長度與安全性非絕對正比,需結合算法復雜度評估。當前推薦使用橢圓曲線算法(如DH組20+)。

2.思考

同一設備可建立多條VPN隧道,各隧道參數(加密算法、校驗方式等)可獨立配置。

  • 隧道間數據嚴格隔離,網段不可重疊
  • 每條隧道需綁定唯一保護策略(如傳輸模式/隧道模式ESP)
  • 安全關聯(SA)用于統一管理隧道參數,確保數據按預設規則處理。

三、SA概述

安全關聯(SA)是IPSec的核心規則集,每個VPN連接對應多組SA:

  • 單向通信需獨立SA(如A→B與B→A需分別配置)
  • 單條VPN連接通常包含4個SA(出/入方向各一對)
1.安全關聯

SA包含以下協商參數:

  • 協議類型(AH/ESP)
  • 傳輸模式(傳輸/隧道)
  • 加密算法與密鑰
  • 驗證算法與密鑰
  • SA生成方式:
  • 手工配置:參數永不過期,維護成本高
  • IKE自動協商:動態管理,支持定期更新
2.SA如何產生

SA通過協議自動協商生成。SA與IP不同,其作用是在IPSec VPN中雙方協定并保護數據。

1) 手工配置
  • 手工配置的SA無過期時間,密鑰使用時間越長,安全性越低。
  • 手工配置需在兩端設備上完全一致,且物理距離較遠時配置難度大。
  • 配置錯誤風險高,需通過電話或消息同步策略,效率低。
  • 適用場景:實驗室測試或開發環境,項目中基本不使用。
2) IKE自動管理
  • IKE(互聯網密鑰交換協議)為協議簇,用于動態建立、維護和刪除SA。
  • 自動協商的SA具有生命周期,與路由、ARP等網絡協議類似。
  • 本地無符合條件SA時,設備自動啟動IKE協議協商。
  • IKE適用于生產環境,手工配置僅用于特殊場景。

四、IKE工作過程

1.IKE概述
  • IKE全稱為互聯網密鑰交換,用于動態建立、維護和刪除SA。
  • IKE為協議簇,包含多種子協議,主要功能包括密鑰協商和認證。
  • ISAKMP協議定義了消息交換體系和狀態轉換流程,為IKE核心協議。
2.ISAKMP協議
  • ISAKMP為標準協議,文檔公開,廠商設備均支持。
  • 協議定義了SA協商的完整流程,包括建立、修改和刪除。
  • 僅提供參數框架,具體實現由設備廠商決定。
1) ISAKMP報文格式
  • ISAKMP報文格式固定,使用UDP傳輸,默認端口為500(廠商可能不同)。
  • 協議獨立于密鑰交換,可被不同密鑰交換協議使用。
  • NAT穿越技術通過添加UDP頭部解決IPSec與NAT兼容性問題,支持單公網地址多隧道。
  • ESP加密后傳輸層不可見,需依賴NAT穿越實現端口區分。
  • 密鑰管理IKE任務

IPSec VPN使用IKE自動協商SA的過程分為兩個階段:

  • 階段一任務:
    • 雙向ISAKMP SA協商,包含三部分:
      • 協商安全參數:包括加密算法、驗證算法、DH組、身份認證方式及密鑰生存周期
      • 建立初始SA
      • 交換計算密鑰材料:通過DH算法交換公鑰及隨機數,生成身份認證密鑰、數據加解密密鑰、完整性校驗密鑰
    • 身份認證:通過后進入階段二
  • 階段二任務:
    • 生成兩個單項IPSec SA用于保護數據
    • 協商內容:
      • 數據傳輸協議(AH/ESP)
      • 傳輸模式(傳輸模式/隧道模式)
      • 數據保護算法(加密算法、校驗算法)
      • 密鑰生存周期
    • 步驟:
      • 交換密鑰計算材料
      • 生成密鑰
      • 身份認證
  • IKE協商的兩個階段

    

對比項

階段一

階段二

SA類型

ISAKMP SA(IKE SA)

IPSec SA

模式

主模式(6報文)/野蠻模式(3報文)

快速模式(3報文)

保護對象

階段二協商報文

用戶數據

復用性

可保護多個階段二協商

獨立生成

報文總數

主模式+快速模式=9報文

野蠻模式+快速模式=6報文

2) ISAKMP報文攜帶的載荷
  • ISAKMP消息報頭

ISAKMP報文采用火車式結構:

  • 報頭固定字段:
    • 發起方Cookie:通過哈希算法(源IP+源端口+隨機數+時間戳)生成前64位,用于身份標識且不可逆推
    • 應答方Cookie:首報文置零,后續報文由接收方生成
    • 特性:
      • 單次協商中Cookie不可變
      • 不同協商會話Cookie必然不同
  • 下一載荷字段:指示報頭后首個載荷類型
  • 防篡改機制:Cookie變更將導致報文丟棄
  • 載荷類型

ISAKMP可攜帶的載荷類型包括:

  • SA載荷(安全聯盟參數)
  • 密鑰交換載荷
  • 身份認證載荷
  • 證書載荷(僅證書認證時存在)
  • 哈希/簽名載荷
  • 隨機數載荷
  • 通知/刪除載荷
  • 版本號

    版本號字段包含主版本和次版本標識,無實際協商功能。

  • 交換類型

    交換類型字段用于標識階段一的協商模式:

  • 主模式(值1)

野蠻模式(值2)

  • 該字段不參與階段二(快速模式)標識。
  • 標志

    標志的最后三位具有特定功能:從最后一位開始依次為加密位、提交位和純驗證位

  • 加密位功能:值為1表示頭部后面的所有載荷被加密,值為0表示明文傳輸
  • 提交位作用:確保被保護數據發送前完成協商,未完成協商則禁止發送數據
  • 純驗證位含義:允許特定機構(如政府公安)實施密鑰恢復機制,可解密截獲的報文
  • 報文ID

    第一階段報文ID:全為零值

  • 第二階段報文ID:由發起方生成隨機值,用于唯一標識第二階段狀態
  • 報文長度定義:頭部與所有載荷的總長度之和
  • 載荷頭部

    載荷頭部結構包含三個要素:

    • 下一載荷類型標識:指示后續載荷的數據類型
    • 當前載荷長度:本段數據的字節長度
    • 實際數據內容:具體傳輸的有效信息
  • 終止標識規則:當下一載荷類型值為零時,表示報文結束
3) 一個完整的ISAKMP報文結構

ISAKMP報文采用模塊化結構:由頭部和多個可擴展的載荷組成

  • 載荷數量特性:根據實際需求靈活配置,支持攜帶2-4個或更多載荷
  • 與IPV6報文結構的相似性:兩者均采用頭部+擴展頭的設計,使IPV6原生支持IPSec加密功能
3.IKE協商第一階段過程分析

1) IKE協商第一階段目的及任務

階段一核心目標:協商建立ISAKMP SA(或IKE SA)

  • 需完成的三個關鍵任務:
    • 加密套件協商
    • 密鑰材料交換與生成
    • 通信雙方身份認證
2) 加密套件:
  • 加密套件包含五個要素:
    • 加密算法
    • 哈希算法
    • DH組參數
    • 身份認證方式
    • SA生命周期
3) 交換密鑰計算材料,生成密鑰
  • 密鑰生成分兩步:
    • 交換計算材料:包含DH公鑰和隨機數
    • 生成最終密鑰:基于共享材料進行密碼運算
4) 身份認證
  • 認證階段作用:驗證通信雙方身份的合法性
  • 典型認證方式:預共享密鑰機制
5) 主模式六個報文

報文序號

功能分類

傳輸內容

方向

1-2

加密套件協商

發起方支持的加密套件列表

發起方→應答方

3-4

密鑰材料交換

DH公鑰與隨機數

雙向交互

5-6

身份認證

基于預共享密鑰的認證信息

雙向確認

6) 加密套件的選擇
  • 加密套件選擇原則:
    • 優先級判定標準:選擇雙方支持的最小策略編號
    • 安全配置建議:將高安全等級的套件配置為較小編號
7) 第1、2個ISAKMP報文
  • 首報文關鍵字段:
    • 發起方Cookie:用于標識會話
    • 加密套件列表:包含全部支持的策略組合
  • 應答方處理邏輯:從匹配的套件中選擇策略編號最小的配置項
8) 身份認證密鑰
  • 身份認證密鑰(s key.ID)通過隨機數算法計算生成
  • 計算要素包括預共享密鑰和雙方隨機數,通過prf算法生成
  • s key ID杠d密鑰作為中間材料使用,計算方式為:身份認證密鑰+DH對稱密鑰+發起方cookie+應答方cookie
  • s key ID杠d密鑰用于后續加密密鑰和完整性校驗密鑰的計算
9) 完整性認證密鑰和數據加解密密鑰

密鑰類型

計算要素

功能

算法特性

完整性認證密鑰

s key ID + s key ID杠d + DH對稱密鑰

數據完整性校驗

算法固定,不同算法添加常數不同

數據加解密密鑰

s key ID + s key ID杠d + DH對稱密鑰

數據加密解密

AES/DES/3DES等加密算法實現

10) 身份認證過程
  • 身份認證步驟:將SA信息、cookie值及身份信息通過身份認證密鑰進行散列計算
  • 發起方操作:生成散列值后附加身份ID,使用e密鑰加密并通過a密鑰校驗完整性
  • 應答方驗證:解密后通過cookie和SA信息驗證身份,需雙向認證(發起方→應答方→發起方)
  • 主模式六個報文中有兩個加密報文,階段一生成的密鑰用于后續通信保護
11) 階段一與階段二的關系

階段一生成的加密密鑰和完整性校驗密鑰直接應用于階段二的快速模式,實現安全參數協商。

12) 階段二:快速模式
  • 核心目標:協商IPsec SA(安全關聯)
  • 協商內容包括:
    • 協議類型(AH/ESP)
    • 工作模式(傳輸/隧道)
    • 加密算法與校驗算法
    • 生命周期參數
13) 階段二:快速模式任務

快速模式通過三個報文完成:

  • 發起方發送安全參數(含加密套件)及密鑰計算材料
  • 應答方確認參數并返回驗證信息
  • 雙方確認SA建立
14) 階段二:安全參數
  • 安全參數組成:協議類型、工作模式、加密算法、校驗算法、生命周期
  • 報文保護機制:使用階段一生成的e密鑰加密和a密鑰校驗
  • 密鑰材料更新:需重新生成DH公鑰和隨機數,確保前向安全性
4.IKE協商第二階段過程分析
  • 第二階段協商內容包括:proposal載荷、ESP加密算法、校驗算法、傳輸/隧道模式選擇、生命周期參數
  • 關鍵載荷構成:
    • KE載荷:包含DH公鑰隨機值
    • 身份ID載荷:用于通信雙方身份標識
    • 哈希載荷:使用階段一生成的完整性校驗密鑰對加密數據做認證
  • 哈希值功能:應答方通過該值完成報文完整性校驗

五、IPSec協議概述

1.IPSec協議保護IP數據的方式

完整性校驗哈希值用于應答方驗證報文完整性,該值可見于報文特定字段。

2.eNSP新建拓撲

加密數據通過哈希值實現校驗功能,該機制未在報文顯式標注。第一階段協商生成的密鑰材料為校驗基礎。

3.密鑰計算材料與身份認證
  • 答方處理流程:
    • 確認安全參數(SA)
    • 發送包含應答方公鑰和隨機數的密鑰計算材料
    • 附加身份ID載荷
  • 密鑰生成時機:收到第二個報文后,應答方可計算全部五個會話密鑰
4.密鑰計算與安全參數確認
  • 身份認證機制:通過R哈希載荷實現應答方身份驗證
  • 發起方驗證條件:
    • 安全參數已確認
    • 密鑰材料完整接收
    • 具備身份ID及認證函數
5.身份認證與密鑰保護

處理階段

完成動作

剩余任務

第三個報文

安全參數確認

應答方認證發起方身份

密鑰生成完成

附加發起方身份載荷

保護機制:所有報文參數受第一階段密鑰保護,實際內容不可見

6.實驗平臺與隧道模式

GRE over IPSec實驗中隧道模式通過GRE實現,而純IPSec實驗需顯式配置階段二工作模式。后者需明確指定ESP封裝協議、加密算法及完整性驗證方式。

六、實驗

實驗配置差異:

  • 混合模式:GRE隧道隱式確定IPSec模式參數
  • 獨立模式:需手動配置ESP協議參數及傳輸/隧道模式選項

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/94166.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/94166.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/94166.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡連接的核心機制

一、網絡連接全流程拆解(含7大步驟動態交互) 1. 用戶輸入網址:從域名到IP的跨越 操作觸發:用戶在瀏覽器輸入 www.example.com,觸發 DNS域名解析。核心協議:DNS(基于UDP/TCP)。硬件設…

小程序個人信息安全檢測技術:從監管視角看加密與傳輸合規

1. 前言 在監管通報中,小程序因“未采取加密、去標識化等安全技術措施”被處罰的案例屢見不鮮。很多開發者疑惑:明明用了HTTPS,為什么還會被判定“未加密”?監管機構是如何通過技術手段發現這些問題的?本文將從技術原…

ansible playbook 實戰案例roles | 實現db2自動安裝

文章目錄一、核心功能描述二、roles內容2.1 文件結構2.2 主配置文件2.3 tasks文件內容三、files文件內容四、vars文件內容免費個人運維知識庫,歡迎您的訂閱:literator_ray.flowus.cn 一、核心功能描述 這個 Ansible Role 的核心功能是:?自動…

webrtc中win端音頻---windows Core Audio

一、Core Audio 系統內核框架 圖中顯示的是渲染的音頻數據如何從大多數應用程序流向揚聲器的簡化表示。對于采集來說,音頻數據的路徑是完全相同,但流向是相反的。從圖中可以看到,一些高階API(例如MME,DirectSound等),對 Core Audio APIs 進行了封裝,使用這些API能夠更容…

【數據可視化-96】使用 Pyecharts 繪制主題河流圖(ThemeRiver):步驟與數據組織形式

🧑 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

【Android】Activity 如何進行數據傳輸

三三要成為安卓糕手 一:Activity之間的數據傳輸 問題:不同的Activity之間怎么進行數據傳輸呢? 比如第一個頁面中有一些字符串數據之類的要通過數據傳輸,傳遞給第二個頁面進行顯示的 1:MainActivity做處理 在定義一個按鈕&#xf…

C#語言的語法(數據類型)

數據類型 表2.1給出了C#的主要數據類型。注意,基本類型的長度與計算機或操作系統的類型無關。C# 中的字符是16位的寬度,可以表示非拉丁語言中的所有字符。它使用一種叫雙字節碼的字符編碼 系統,其中定義了絕大多數可書寫語言的數以千計的字符…

Vue3 + TypeScript全局阻止非輸入區域的Backspace鍵,防止回退頁面

main.ts/*** 應用程序主入口** 初始化 Vue 應用并掛載到 DOM*/ import "./assets/style/main.scss";import { createApp } from "vue"; // 全局引入element-plus,對打包后的文件大小不是很在乎,那么使用全局導入會更方便 import Ele…

01數據結構-堆排序

01數據結構-堆排序前言1.堆2.堆的操作邏輯3.堆的代碼實現前言 數據結構中的堆是一種結構,C語言的堆是空間管理的程序員malloc,free的空間,兩者沒多大關系。 1.堆 邏輯上 堆(Heap)是一類基于完全二叉樹的特殊數據結構…

在線課程|基于SprinBoot+vue的在線課程管理系統(源碼+數據庫+文檔)

在線課程 目錄 基于SprinBootvue的在線課程管理系統 一、前言 二、系統設計 三、系統功能設計 1 管理員模塊的實現 2在線課程 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八、源碼獲取: 博主介紹:??大廠碼農|…

Python海象運算符:=

文章目錄簡介??條件判斷優化循環控制簡化?推導式高效計算?正則匹配與數據提取?性能對比參考文獻簡介 海象運算符 :,又稱??賦值表達式??(Assignment Expression),Python 3.8 后可用,PEP 572 引入,…

Vue 2 項目中快速集成 Jest 單元測試(超詳細教程)

在 Vue 項目中編寫單元測試,是提升代碼質量和維護性的關鍵一步。本文將帶你從零開始,在一個 Vue 2 Vue CLI 項目中集成 Jest 作為單元測試框架,并運行第一個測試用例。? 適用于 Vue 2 項目(如你使用的是 vue-cli-service&#x…

PostgreSQL15——管理表空間

管理表空間一、基本概念二、創建表空間三、修改表空間四、刪除表空間一、基本概念 在 PostgreSQL 中,它是通過表空間(Tablespaces)來實現邏輯對象(表、索引等)與物理文件之間的映射。創建數據庫或者數據表&#xff08…

趣打印高級版--手機打印軟件!軟件支持多種不同的連接方式,打印神器有這一個就夠了!

軟件介紹(文末獲取)趣打印高級版是一款手機打印軟件。軟件支持五種不同的連接方式,每種都有穩定且快速的反應,用戶均可通過手機進行打印機的遠程使用和設置。軟件還支持上傳不同格式的文檔類型進行打印,方便快捷&#…

【開源框架】7 款流行的 Vue 3 后臺管理框架對比

以下是 7 個流行的 Vue 3 后臺管理框架在 Star 數(截至 2025 年 8 月21日的 GitHub 最新數據)、框架特點、基于的技術棧及開源協議四個方面的詳細對比: 1. Vue-Vben-Admin GitHub 地址:https://github.com/vbenjs/vue-vben-admin…

Datawhale工作流自動化平臺n8n入門教程(一):n8n簡介與平臺部署

前言 在數字化時代,重復性的工作任務正在消耗著我們大量的時間和精力。從數據同步到營銷自動化,從客戶服務到內容管理,這些瑣碎但必要的任務往往讓我們疲于應對。而工作流自動化工具的出現,為我們提供了一個優雅的解決方案。 今天…

SRE - 定位與能力

僅為個人知識總結與記錄 Site Reliability Engineer:站點可靠性工程(SRE 軟件工程師 運維專家 可靠性專家) 相對傳統的運維工程師,SER 注重開發,效率,追求自動化。對于 SRE 工程師,追究的就是…

StarRocks學習4-查詢優化與性能調優

? 1. 執行計劃分析(EXPLAIN) 🌟 作用: 用于查看 SQL 的執行路徑,判斷是否命中索引、物化視圖、Join 策略、并行度等。 📌 常用命令: EXPLAIN SELECT ...; EXPLAIN VERBOSE SELECT ...;&#x1…

CentOS系統安裝Git全攻略

文章目錄? 方法一:使用 yum 或 dnf 包管理器安裝(推薦)1. 更新系統軟件包(非必須)[^1]2. 安裝 Git3. 驗證安裝? 方法二:從源碼編譯安裝(適用于需要自定義版本或配置)1. 安裝依賴包2. 下載 Git 源碼3. 編譯…

VR交通安全學習機-VR交通普法體驗館方案

VR交通安全學習機是一種基于虛擬現實技術的互動式教育設備,旨在通過虛擬環境模擬真實的交通場景,幫助用戶深入了解交通規則、交通信號、道路安全等知識,并通過沉浸式的體驗讓他們親身感受到不遵守交通規則的后果。無論是駕駛員、行人還是騎行…