文档详情

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

发布:2018-03-11约3.27千字共21页下载文档
文本预览下载声明
IPSEC中密钥交换协议的 研究与实现 许晶 研究背景和意义 作为IPSEC VPN的重要技术之一的IKE协议 对IPSEC VPN的安全性有着非常重要的作用。但 IKE协议包含了太多的可选项和灵活性,系统过于 复杂。可以说,安全最大的敌人是复杂性,系统 越复杂,存在的安全漏洞就可能越多,安全评估 就越困难。 IPSEC协议—体系结构 IKE协议的组成 ISAKMP协议:它是一种密钥交换框架,独立 于具体的密钥交换协议。它定义了消息交换的 体系结构。 OAKLEY协议:提出了基于模式的机制在两个 IPSEC对等体之间达成相同加密密钥。 SKEME协议:描述了一种通用的密钥交换技 术。这种技术提供了基于公钥的身份认证和快 速密钥刷新。 IKE交换模式 IKE定义了4种可能的交换模式:主模式、野蛮模 式、快速模式和新群模式。前两个模式协商SA,用于 第1阶段的交换;后两个用于第2阶段的交换过程。无 论是主模式还是野蛮模式都包含4种认证方式: 预共享密钥认证(Pre_shared Key); 公钥加密认证(Public Encryption); 改进的公钥加密认证(Revised Public Encryption); 数字签名认证(Public Signature)。 对DOS攻击的分析与改进 CKY_I= MD5 (secret_i,源IP│目的IP│源UDP 端口号│目的UDP端口号│时间i) CKY_I= SHA(secret_i,源IP│目的IP│源UDP 端口号│目的UDP端口号│时间i) 对DOS攻击的分析与改进 CKY_R= MD5 (secret_r,源IP│目的IP│源UDP端口号│ 目的UDP端口号│时间r │CKY_I) CKY_R= MD5 (secret_r,源IP│目的IP│ 时间r │ CKY_I) IKE模块的总体框架 系统管理模块 系统管理模块负责整个系统的运行环 境和监控。它为用户显示系统的运行状态、 提供状态设置服务,为IKE守护进程提供 运行需要的参数。 消息服务器模块框架 管理消息处理子模块 内核消息处理子模块 Device Control ( ); # define WAIT_SA_NEGOTIATION_REQUEST # define SA_NEGOTIATION_REQUUEST # define STOP_IKE_LISTEN_THREAD # define SA_DOWNLOAD_FOR_SPDENTRY 网络消息处理子模块 网络消息处理模块负责与协商的对方进行协商 信息的交换,它既充当服务器又充当客户端角色。 当监听UDP / 500端口时它是服务器,作为协商的 响应者。当它发出协商请求时,它作为协商的发起 者充当客户端。监听和发送都使用UDP/500端口。 时钟事件处理子模块 IKE验证模块 根据IKE协议的RFC文档,每种模式的协商过 程都有固定的消息条数且每条消息的内容都作明确 的规定。有差别的就是在不同的认证方式下,载荷 的加密/解密方式有所不同。这样按照协商过程中接 收到的消息来划分协商状态,每种状态都有对应的 状态迁移函数。当协商过程中下一条消息到来,就 调用此时状态所对应的迁移函数进行分析处理,验 证通过就跃迁到下一个状态。 IKE状态库 IKE在协商时必须要构建一个协商隧道, 而且在协商期间还需要记录每个SA的状态、 协商的密钥、算法等参数。所以在设计中采 用了两个重要的数据结构来表示协商遂道和 SA的状态,分别是connection和state。 IKE模块的整体实现思路 主要函数 启动模块:main.cpp 监听模块:sever.cpp Whack命令控制模块:whack.cpp 应用层与内核通信模块:kernel.cpp 测试结果 initiating Main Mode STATE_MAIN_I1:initiate STATE_MAIN_I2:sent MI2,expecting MR2 STATE_MAIN_I3:sent MI3,expecting MR3 STA
显示全部
相似文档