论文部分内容阅读
随着计算机网络技术的发展,安全问题日益突出。一个安全系统至少应满足用户对系统保密性、完整性以及可用性的需求。IPSec是IETF提出的IP安全标准,它在网络层对数据进行加密和验证,独立于各种应用程序,可扩展性强,得到越来越广泛的重视。
本文结合校园网络的安全需求,研究了IPsec相关技术,并在Linux操作系统上,设计了一个面向主机传输模式的IPsec实现方案,其中包括模块设计和算法设计,给出了逻辑框图,并完成了部分实现工作。
本文所提出的设计包括实现IPSec的四个主要模块:安全策略模块、身份认证模块、安全封装载荷模块和密钥交换模块。安全策略模块确定对IP数据报提供什么保护以及如何提供这些保护,该模块包括安全策略数据库和安全关联数据库的实现方式以及相关的处理流程。身份认证模块执行对数据源的身份验证,提供数据完整性检查和抗重放攻击等安全服务,该模块涉及对身份认证头数据结构的定义以及数据进入和流出的处理流程。安全封装载荷模块主要通过加密处理提供保证数据机密性的安全服务。密钥交换模块用于在遵循IPsec协议的通信实体之间建立和协商安全关联,该模块被进一步划分成多个子模块,本文对其中的每一个子模块都给出了详细的描述。
为了提高方案的可实施性,特别是提高所设计的协议软件的性能,论文在方案设计过程中采用了一系列的关键技术和创新机制,其中包括:
1.使用Linux的NetFilter机制将IPSec处理嵌入IP处理方案。该机制通过构造一个内核模块来实现附加功能,可方便对底层网络功能的扩展,并容易实现IP软件与IPSec的无缝集成。
2.使用Radix结构实现安全策略库。Radix是一种二叉树,它在查找速度上有很大的优势,并且在构造上简单、灵活。
3.将哈希表用于安全关联数据库的实现模块。这种实现方式使得安全关联的创建、查找和删除等操作简单高效,占用资源较少,也容易在内核中实现。