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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Lib Whack (.dll)
调用 Pluto (.exe)
Lib Pluto (.dll)
调用
Gmp Lib (.dll) Lib Base (.dll) Lib Des (.dll) Public目录下
发命令uto进程,完成SA的动态协商
业务推广部
17
主要函数
业务推广部
19
结论
本文对IKE的安全性进行了分析,重点阐述了 IKE模块的设计和实现。该系统能够为IPSEC动态 协商SA,且可以更新维护。改进后的协议相对于 原来的IKE协议在抵御DoS攻击和抵御中间人攻击 上也都有所增强。由于时间比较短,对模块的实 现考虑得还不是很全面,因此在具体的实现上还 显得有些粗糙,特别是与其它模块的互连上还需 要进一步调试和完善。
业务推广部
12
网络消息处理子模块
网络消息处理模块负责与协商的对方进行协商 信息的交换,它既充当服务器又充当客户端角色。 当监听UDP / 500端口时它是服务器,作为协商的 响应者。当它发出协商请求时,它作为协商的发起 者充当客户端。监听和发送都使用UDP/500端口。
业务推广部
13
时钟事件处理子模块
• 启动模块:main.cpp • 监听模块:sever.cpp • Whack命令控制模块:whack.cpp • 应用层与内核通信模块:kernel.cpp
业务推广部
18
测试结果
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
业务推广部
2
IPSEC协议—体系结构
安全体系结构
ESP协议
AH协议
加密算法
认证算法
解释域DOI
密钥管理
策略
业务推广部
3
IKE协议的组成
• ISAKMP协议:它是一种密钥交换框架,独立 于具体的密钥交换协议。它定义了消息交换的 体系结构。
• OAKLEY协议:提出了基于模式的机制在两个 IPSEC对等体之间达成相同加密密钥。
业务推广部
15
IKE状态库
IKE在协商时必须要构建一个协商隧道, 而且在协商期间还需要记录每个SA的状态、 协商的密钥、算法等参数。所以在设计中采 用了两个重要的数据结构来表示协商遂道和 SA的状态,分别是connection和state。
业务推广部
16
IKE模块的整体实现思路
调用
调用
Whack (.e xe)
Delete _ connection
函数功能 添加协商隧道
删除协商隧道
Initiate _ connection
启动一个隧道的协商
Terminate _ connection
终止一个隧道的协商
Load _ pre-shared_secrets 装载加密和公钥信息
业务推广部
11
内核消息处理子模块
Device Control ( ); # define WAIT_SA_NEGOTIATION_REQUEST # define SA_NEGOTIATION_REQUUEST # define STOP_IKE_LISTEN_THREAD # define SA_DOWNLOAD_FOR_SPDENTRY
业务推广部
9
消息服务器模块框架
时钟事件 队列
消息服务器 Sever监听
网络接口 队列
内核消息 接口
管理消息 接口
业务推广部
Handle_timer_event() Comm_handle () Start IKE () Whack_handle ()
10
管理消息处理子模块
函数名 Add _ connection
CKY_I= SHA(secret_i,源IP│目的IP│源UDP 端口号│目的UDP端口号│时间i)
业务推广部
6
对DOS攻击的分析与改进
CKY_R= MD5 (secret_r,源IP│目的IP│源UDP端口号│ 目的UDP端口号│时间r │CKY_I)
CKY_R= MD5 (secret_r,源IP│目的IP│ 时间r │ CKY_I)
dosckyimd5secreti源ip目的ip源udp端口号目的udp端口号时间ickyishasecreti源ip目的ip源udp端口号目的udp端口号时间idosckyrmd5secretr源ip目的ip源udp端口号目的udp端口号时间rckyickyrmd5secretr源ip目的ip时间rckyiike消息服务器模块用户管理接口命令数据系统管理模块读写信息配置文件应用层核心层日志文件ike验证模块windowsapiike状态库命令sa数据库系统管理模块负责整个系统的运行环境和监控
• SKEME协议:描述了一种通用的密钥交换技 术。这种技术提供了基于公钥的身份认证和快 速密钥刷新。
业务推广部
4
IKE交换模式
IKE定义了4种可能的交换模式:主模式、野蛮模 式、快速模式和新群模式。前两个模式协商SA,用于 第1阶段的交换;后两个用于第2阶段的交换过程。无 论是主模式还是野蛮模式都包含4种认证方式:
预共享密钥认证(Pre_shared Key); 公钥加密认证(Public Encryption); 改进的公钥加密认证(Revised Public Encryption); 数字签名认证(Public Signature)。
业务推广部
5
对DOS攻击的分析与改进
CKY_I= MD5 (secret_i,源IP│目的IP│源UDP 端口号│目的UDP端口号│时间i)
业务推广部
7
IKE模块的总体框架
用户管理接口 命令 数据
系统管理模块
读/写 信息
命令
消息服务器模块 查询 更改
配置文件 日志文件
应用层 核心层
IKE 状态库
IKE验证模块
WINDOWS API
SA数据库
业务推广部
8
系统管理模块
系统管理模块负责整个系统的运行环 境和监控。它为用户显示系统的运行状态、 提供状态设置服务,为IKE守护进程提供 运行需要的参数。
业务推广部
20
谢谢大家!
业务推广H 部
21
21
事件类型 EVENT_REINIT_SECRET
EVENT_RETRANSMIT
EVENT_SA_REPLACE EVENT_SA_EXPIRE EVENT_SA_DISCARD
处理方法
调用init _secret( )重新协商本地密 钥素材并重新注册该事件 重传消息,当达到最大重传次数时 就放弃,每次重传的时间间隔加倍 调用ipsecdoi _replace函数更新SA
IPSEC中密钥交换协议的 研究与实现
许晶
业务推广H 部
1
1
研究背景和意义
作为IPSEC VPN的重要技术之一的IKE协议 对IPSEC VPN的安全性有着非常重要的作用。但 IKE协议包含了太多的可选项和灵活性,系统过于 复杂。可以说,安全最大的敌人是复杂性,系统 越复杂,存在的安全漏洞就可能越多,安全评估 就越困难。
用协商的新SA代替该过期的SA
删除SA
业务推广部
14
IKE验证模块
根据IKE协议的RFC文档,每种模式的协商过 程都有固定的消息条数且每条消息的内容都作明确 的规定。有差别的就是在不同的认证方式下,载荷 的加密/解密方式有所不同。这样按照协商过程中接 收到的消息来划分协商状态,每种状态都有对应的 状态迁移函数。当协商过程中下一条消息到来,就 调用此时状态所对应的迁移函数进行分析处理,验 证通过就跃迁到下一个状态。
相关文档
最新文档