论文部分内容阅读
IPSec是IP协议的一个扩展,它为IP及其上层协议提供安全保证。目前IPSec已经成为构建VPN(Virtual Private Network,虚拟专用网)的国际标准之一,而IKE(Internet Key Exchange,互联网密钥交换协议)作为IPSec协议的首选密钥交换协议主要负责SA的动态协商和管理。目前IKE协议的版本是IKEv2,在IKEv2协议中使用数字签名和预共享密钥对通信双方进行身份认证,这使得IPSec的部署需要PKI (Public Key Infrastructure,公共基础设施)或者进行预先安排。否则,网络中两个彼此陌生的主机不能直接使用IPSec进行通信。这一要求严重限制了IPSec的广泛应用。CGA (Cryptographically Generated Addresses,加密生成地址)协议是IETF针对IPv6邻居发现协议中的伪造IP地址攻击提出的,它能够解决由伪造IP地址导致的邻居发现协议的安全威胁。CGA可以完成基于IP地址的身份认证,从而解决一些由缺乏可信任的安全体系带来的安全问题。本文的研究目标是:通过将CGA应用到IPSec体系中,来解决在没有完善的PKI或进行预安排的环境下如何部署IPSec的问题,从而给IKEv2和IPSec的应用带来更多的灵活性。本文所做工作如下:1.介绍了IPSec和IKE的基本原理,重点对IKEv2协议的消息交换过程进行详细分析。然后对CGA协议进行介绍,分析了CGA协议的优点、缺陷和可能应用。2.提出了一种基于CGA认证的IKE扩展方案。并通过实现CGA协议为内核模块,在strongSwan开源代码中添加IKE和CGA模块通信相关代码,最终实现该方案。经过测试证明该方案可以成功添加SA。3.提出了IPv6的CGA扩展头机制,用以完成数据包的源认证和通信双方身份认证、抵御中间人攻击和一定程度的DoS攻击。4.在IPv6的CGA扩展头的基础上提出了IKE_CGA方案,该方案是CGA扩展头的一种应用,它可以替代IKE来完成IPSec安全关联的动态协商。