欢迎来到天天文库
浏览记录
ID:21469146
大小:98.00 KB
页数:21页
时间:2018-10-18
《ipsec中密钥交换协议的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、IPSEC中密钥交换协议的研究与实现许晶研究背景和意义作为IPSECVPN的重要技术之一的IKE协议对IPSECVPN的安全性有着非常重要的作用。但IKE协议包含了太多的可选项和灵活性,系统过于复杂。可以说,安全最大的敌人是复杂性,系统越复杂,存在的安全漏洞就可能越多,安全评估就越困难。IPSEC协议—体系结构安全体系结构ESP协议密钥管理策略解释域DOI认证算法加密算法AH协议IKE协议的组成ISAKMP协议:它是一种密钥交换框架,独立于具体的密钥交换协议。它定义了消息交换的体系结构。OAKLEY协议:提出了基于
2、模式的机制在两个IPSEC对等体之间达成相同加密密钥。SKEME协议:描述了一种通用的密钥交换技术。这种技术提供了基于公钥的身份认证和快速密钥刷新。IKE交换模式IKE定义了4种可能的交换模式:主模式、野蛮模式、快速模式和新群模式。前两个模式协商SA,用于第1阶段的交换;后两个用于第2阶段的交换过程。无论是主模式还是野蛮模式都包含4种认证方式:预共享密钥认证(Pre_sharedKey);公钥加密认证(PublicEncryption);改进的公钥加密认证(RevisedPublicEncryption);数字签名认
3、证(PublicSignature)。对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模块的总体框架消息服务器模块查询更改用户管理接口
4、命令数据系统管理模块读/写信息配置文件应用层核心层日志文件IKE验证模块WINDOWSAPIIKE状态库命令SA数据库系统管理模块系统管理模块负责整个系统的运行环境和监控。它为用户显示系统的运行状态、提供状态设置服务,为IKE守护进程提供运行需要的参数。消息服务器模块框架Whack_handle()消息服务器Sever监听内核消息接口网络接口队列时钟事件队列管理消息接口Handle_timer_event()Comm_handle()StartIKE()管理消息处理子模块函数名函数功能Add_connection添加
5、协商隧道Delete_connection删除协商隧道Initiate_connection启动一个隧道的协商Terminate_connection终止一个隧道的协商Load_pre-shared_secrets装载加密和公钥信息内核消息处理子模块DeviceControl();#defineWAIT_SA_NEGOTIATION_REQUEST#defineSA_NEGOTIATION_REQUUEST#defineSTOP_IKE_LISTEN_THREAD#defineSA_DOWNLOAD_FOR_SPDE
6、NTRY网络消息处理子模块网络消息处理模块负责与协商的对方进行协商信息的交换,它既充当服务器又充当客户端角色。当监听UDP/500端口时它是服务器,作为协商的响应者。当它发出协商请求时,它作为协商的发起者充当客户端。监听和发送都使用UDP/500端口。时钟事件处理子模块事件类型处理方法EVENT_REINIT_SECRET调用init_secret()重新协商本地密钥素材并重新注册该事件EVENT_RETRANSMIT重传消息,当达到最大重传次数时就放弃,每次重传的时间间隔加倍EVENT_SA_REPLACE调用ip
7、secdoi_replace函数更新SAEVENT_SA_EXPIRE用协商的新SA代替该过期的SAEVENT_SA_DISCARD删除SAIKE验证模块根据IKE协议的RFC文档,每种模式的协商过程都有固定的消息条数且每条消息的内容都作明确的规定。有差别的就是在不同的认证方式下,载荷的加密/解密方式有所不同。这样按照协商过程中接收到的消息来划分协商状态,每种状态都有对应的状态迁移函数。当协商过程中下一条消息到来,就调用此时状态所对应的迁移函数进行分析处理,验证通过就跃迁到下一个状态。IKE状态库IKE在协商时必须要
8、构建一个协商隧道,而且在协商期间还需要记录每个SA的状态、协商的密钥、算法等参数。所以在设计中采用了两个重要的数据结构来表示协商遂道和SA的状态,分别是connection和state。IKE模块的整体实现思路Pluto进程,完成SA的动态协商调用调用Whack(.exe)LibWhack(.dll)Pluto(.exe)LibPluto(.d
此文档下载收益归作者所有