目录 | 第1-2页 |
中文摘要 | 第2-3页 |
英文摘要 | 第3-7页 |
引言 | 第7-8页 |
第一章 概述 | 第8-16页 |
§1.1 IPSEC协议简介 | 第8-9页 |
§1.2 SA | 第9-15页 |
§1.2.1 SA定义及应用范围 | 第9-10页 |
§1.2.2 SA的作用 | 第10页 |
§1.2.3 SA的组合 | 第10-12页 |
§1.2.4 SAD和SPD | 第12-15页 |
§1.2.4.1 SPD | 第13页 |
§1.2.4.2 选择符 | 第13-14页 |
§1.2.4.3 SAD | 第14-15页 |
§1.3 SA和密钥管理 | 第15-16页 |
§1.3.1 手工管理 | 第15页 |
§1.3.2 自动管理 | 第15-16页 |
第二章 安全策略系统设计 | 第16-21页 |
§2.1 设计目标 | 第16页 |
§2.2 实现思想 | 第16-18页 |
§2.2.1 Netfilter的HOOK机制的介绍 | 第17-18页 |
§2.3 总体结构 | 第18-21页 |
§2.3.1 功能模块 | 第18-19页 |
§2.3.2 处理模块 | 第19-21页 |
第三章 安全策略系统实现 | 第21-55页 |
§3.1 SPD模块实现 | 第21-32页 |
§3.1.1 实现思想 | 第21页 |
§3.1.2 radix树的实现 | 第21-30页 |
§3.1.2.1 实现原理 | 第21-23页 |
§2.1.2.2 重要数据结构 | 第23-27页 |
§3.1.2.2.1 策略表头结构radij_node_head | 第23页 |
§3.1.2.2.2 策略节点结构radij_node | 第23-25页 |
§3.1.2.2.3 入口结构rjtentry | 第25-26页 |
§3.1.2.2.4 数据结构间的关系 | 第26-27页 |
§3.1.2.3 对树操作的实现 | 第27-30页 |
§3.1.2.3.1 初始化rj_inithead和rj_init | 第27-28页 |
§3.1.2.3.2 匹配rj_match | 第28页 |
§3.1.2.3.3 查找rj_search | 第28-29页 |
§3.1.2.3.4 添加rj_addroute | 第29页 |
§3.1.2.3.5 删除rj_delete | 第29-30页 |
§3.1.3 对SPD操作的程序实现 | 第30-32页 |
§3.1.3.1 选择符的实现 | 第30页 |
§3.1.3.2 SPD初始化ipsec_radijinit | 第30页 |
§3.1.3.3 添加策略项ipsec_makeroute | 第30-31页 |
§3.1.3.4 查找策略项ipsec_findroute | 第31页 |
§3.1.3.5 清除策略项ipsec_breakroute | 第31-32页 |
§3.2 SAD模块实现 | 第32-35页 |
§3.2.1 实现思想 | 第32页 |
§3.2.2 数据结构 | 第32-34页 |
§3.2.2.1 tdb | 第32-34页 |
§3.2.3 对SAD的基本操作 | 第34-35页 |
§3.2.3.1 初始化ipsec_tdbinit | 第34页 |
§3.2.3.2 添加SA puttdb | 第34页 |
§3.2.3.3 获取SA gettdb | 第34-35页 |
§3.2.3.4 清除SA束deltdbchain | 第35页 |
§3.3 接口模块的实现 | 第35-42页 |
§3.3.1 实现思想 | 第35-38页 |
§3.3.1.1 PF_KEY协议简介 | 第36页 |
§3.3.1.2 PF_KEY套接字 | 第36-37页 |
§3.3.1.3 PF_KEY消息 | 第37-38页 |
§2.3.1.3.1 主要消息类型 | 第37页 |
§3.3.1.3.2 基本消息头格式 | 第37-38页 |
§3.3.2 接口操作 | 第38-42页 |
§3.3.2.1 PF_KEY协议初始化pfkey_init | 第38页 |
§3.3.2.2 PF_KEYsocket的创建 | 第38-39页 |
§3.3.2.3 PF_KEYsocket的发包过程 | 第39-40页 |
§3.3.2.3.1 程序流程图 | 第39-40页 |
§3.3.2.3.2 具体实现 | 第40页 |
§3.3.2.4 PF_KEY socket的收包过程 | 第40-41页 |
§3.3.2.5 消息处理 | 第41-42页 |
§3.3.2.5.1 SADB_ADD消息处理 | 第41页 |
§3.3.2.5.2 SADB_X_ADDFLOW消息处理 | 第41-42页 |
§3.4 配置管理模块实现 | 第42-46页 |
§3.4.1 实现思想 | 第42页 |
§3.4.2 配置文件 | 第42-45页 |
§3.4.2.1 通用连接段信息 | 第43-44页 |
§3.4.2.2 手工密钥连接段信息 | 第44页 |
§3.4.2.3 自动密钥连接段信息 | 第44-45页 |
§3.4.3 配置管理实现 | 第45-46页 |
§3.4.3.1 添加一个SA | 第45页 |
§3.4.3.2 添加一条安全策略 | 第45-46页 |
§3.4.3.3 手工密钥方式的启动 | 第46页 |
§3.4.3.4 自动密钥方式的启动 | 第46页 |
§3.5 IPSEC外出策略处理模块实现 | 第46-50页 |
§3.5.1 实现思想 | 第46-47页 |
§3.5.2 程序实现 | 第47-50页 |
§3.5.2.1 程序流程图 | 第47-49页 |
§3.5.2.2 具体实现 | 第49-50页 |
§3.6 IPSEC进入策略处理模块实现 | 第50-55页 |
§3.6.1 实现思想 | 第50-51页 |
§3.6.1.1 进入策略预处理 | 第50页 |
§3.6.1.2 进入策略处理 | 第50-51页 |
§3.6.2 程序实现 | 第51-55页 |
§3.6.2.1 程序流程图 | 第51-53页 |
§3.6.2.2 具体实现 | 第53-55页 |
第四章 系统存在问题分析与解决思考 | 第55-60页 |
§4.1 策略的正确性与策略冲突问题 | 第55-56页 |
§4.2 策略的相关性与一致性问题 | 第56-60页 |
§4.2.1 策略决议 | 第57-58页 |
§4.2.2 策略相关与解相关 | 第58页 |
§4.2.3 策略的一致性 | 第58-60页 |
结束语 | 第60-61页 |
致谢 | 第61-62页 |
参考文献 | 第62页 |