1 / 21

IPSEC 中密钥交换协议的 研究与实现

IPSEC 中密钥交换协议的 研究与实现. 许晶. 研究背景和意义. 作为 IPSEC VPN 的重要技术之一的 IKE 协议 对 IPSEC VPN 的安全性有着非常重要的作用。但 IKE 协议包含了太多的可选项和灵活性 , 系统过于 复杂。可以说,安全最大的敌人是复杂性,系统 越复杂,存在的安全漏洞就可能越多,安全评估 就越困难。. 安全体系结构. ESP 协议. AH 协议. 认证算法. 加密算法. 解释域 DOI. 策略. 密钥管理. IPSEC 协议 — 体系结构. IKE 协议的组成.

elton
Download Presentation

IPSEC 中密钥交换协议的 研究与实现

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IPSEC中密钥交换协议的 研究与实现 许晶

  2. 研究背景和意义 作为IPSEC VPN的重要技术之一的IKE协议 对IPSEC VPN的安全性有着非常重要的作用。但 IKE协议包含了太多的可选项和灵活性,系统过于 复杂。可以说,安全最大的敌人是复杂性,系统 越复杂,存在的安全漏洞就可能越多,安全评估 就越困难。

  3. 安全体系结构 ESP协议 AH协议 认证算法 加密算法 解释域DOI 策略 密钥管理 IPSEC协议—体系结构

  4. IKE协议的组成 • ISAKMP协议:它是一种密钥交换框架,独立 于具体的密钥交换协议。它定义了消息交换的 体系结构。 • OAKLEY协议:提出了基于模式的机制在两个 IPSEC对等体之间达成相同加密密钥。 • SKEME协议:描述了一种通用的密钥交换技 术。这种技术提供了基于公钥的身份认证和快 速密钥刷新。

  5. IKE交换模式 IKE定义了4种可能的交换模式:主模式、野蛮模 式、快速模式和新群模式。前两个模式协商SA,用于 第1阶段的交换;后两个用于第2阶段的交换过程。无 论是主模式还是野蛮模式都包含4种认证方式: 预共享密钥认证(Pre_shared Key); 公钥加密认证(Public Encryption); 改进的公钥加密认证(Revised Public Encryption); 数字签名认证(Public Signature)。

  6. 对DOS攻击的分析与改进 CKY_I= MD5(secret_i,源IP│目的IP│源UDP 端口号│目的UDP端口号│时间i) CKY_I= SHA(secret_i,源IP│目的IP│源UDP 端口号│目的UDP端口号│时间i)

  7. 对DOS攻击的分析与改进 CKY_R= MD5 (secret_r,源IP│目的IP│源UDP端口号│ 目的UDP端口号│时间r│CKY_I) CKY_R= MD5 (secret_r,源IP│目的IP│ 时间r │CKY_I)

  8. 用户管理接口 命令数据 命令 系统管理模块 读/写 信息 消息服务器模块 查 询 更 改 IKE 状态库 IKE验证模块 日志文件 配置文件 应用层 核心层 WINDOWS API SA数据库 IKE模块的总体框架

  9. 系统管理模块 系统管理模块负责整个系统的运行环 境和监控。它为用户显示系统的运行状态、 提供状态设置服务,为IKE守护进程提供 运行需要的参数。

  10. 时钟事件 队列 Handle_timer_event() 网络接口 队列 Comm_handle () 消息服务器 Sever监听 内核消息 接口 Start IKE () 管理消息 接口 Whack_handle () 消息服务器模块框架

  11. 管理消息处理子模块

  12. 内核消息处理子模块 Device Control ( ); # define WAIT_SA_NEGOTIATION_REQUEST # define SA_NEGOTIATION_REQUUEST # define STOP_IKE_LISTEN_THREAD # define SA_DOWNLOAD_FOR_SPDENTRY

  13. 网络消息处理子模块 网络消息处理模块负责与协商的对方进行协商 信息的交换,它既充当服务器又充当客户端角色。 当监听UDP / 500端口时它是服务器,作为协商的 响应者。当它发出协商请求时,它作为协商的发起 者充当客户端。监听和发送都使用UDP/500端口。

  14. 时钟事件处理子模块

  15. IKE验证模块 根据IKE协议的RFC文档,每种模式的协商过 程都有固定的消息条数且每条消息的内容都作明确 的规定。有差别的就是在不同的认证方式下,载荷 的加密/解密方式有所不同。这样按照协商过程中接 收到的消息来划分协商状态,每种状态都有对应的 状态迁移函数。当协商过程中下一条消息到来,就 调用此时状态所对应的迁移函数进行分析处理,验 证通过就跃迁到下一个状态。

  16. IKE状态库 IKE在协商时必须要构建一个协商隧道, 而且在协商期间还需要记录每个SA的状态、 协商的密钥、算法等参数。所以在设计中采 用了两个重要的数据结构来表示协商遂道和 SA的状态,分别是connection和state。

  17. 调用 调用 Gmp Lib (.dll) Whack (.e xe) Lib Whack (.dll) Lib Base (.dll) 调用 调用 Lib Des (.dll) Pluto (.exe) Lib Pluto (.dll) Public目录下 公用函数 发命令 Whack .exe Pluto进程,完成SA的动态协商 IKE模块的整体实现思路

  18. 主要函数 • 启动模块:main.cpp • 监听模块:sever.cpp • Whack命令控制模块:whack.cpp • 应用层与内核通信模块:kernel.cpp

  19. 测试结果 initiating Main Mode STATE_MAIN_I1:initiate STATE_MAIN_I2:sent MI2,expecting MR2 STATE_MAIN_I3:sent MI3,expecting MR3 STATE_MAIN_I4:ISAKMP SA established initiating Quick Mode PSK+ENCRYPT+TUNNEL STATE_QUICK_I1:initiate TEST Quick_Int1 is succeed STATE_QUICK_I2:sent QI2, IPSEC SA established

  20. 结论 本文对IKE的安全性进行了分析,重点阐述了 IKE模块的设计和实现。该系统能够为IPSEC动态 协商SA,且可以更新维护。改进后的协议相对于 原来的IKE协议在抵御DoS攻击和抵御中间人攻击 上也都有所增强。由于时间比较短,对模块的实 现考虑得还不是很全面,因此在具体的实现上还 显得有些粗糙,特别是与其它模块的互连上还需 要进一步调试和完善。

  21. 谢谢大家!

More Related