 密码学 优点 缺点
对称加密:
① 加密、解密同一个密钥PUB
② DES,3DES,AES
③ 通常用作加密真正的数据流 1) 加密速度非常快
2) 得到的密文紧凑(大小不会差别很大) 1) KEY的管理分发(把KEY发给对方,容易抓包取得)
2) 不支持数字签名
非对称加密(公共密钥算法):
① 加密、解密使用不同的KEY(可以使用任何一个KEY加密,但必须使用另外一个KEY去解密)
② DH、RSA、ECC
③ 不用作加密数据流,常用于数据证书或KEY的管理 1) 加密速度慢
2) 密文不紧凑(加密后的密文比原文大很多)
理想的解决方案:
 数字签名
 数字证书
单纯的数字签名不能完成身份认证,必须和数字证书相结合
第三方的信任机构
A. 双方都把公钥发给第三方信任机构(当然也要获取第三方的公钥)
B. 第三方通过自己的私钥加密双方的公钥并发给双方(签名)
C. 那么双方的通信首先交换由CA加过密的证书,交换完后第一个认证的就是用CA的公钥把对方的发过来的证书解开,再用对方公钥验证其身份。
 IPSec协议框架
优点:
① 密钥协商的开销被大大的消减了(只要在出口路由器上配置加密、解密,省去每个用户都要去密钥的协商)
② 客户端不需要更改应用程序
③ 容易构建VPN
缺点:
很难解决“抵赖性”之类问题
一、 IPSec的两种保护模式
① Transport mode
1. 加密点=通信点
2. 保留原有数据包的IP头部
② Tunnel mode
1. 加密点≠通信点
2. 需要打上新的IP头部
IP Header IP Data(Not Encrypted)
Transport IP Header IPSec Header Data(Encrypted)
Tunnel New IP Header IPSec Header IP Header IP Data(Not Encrypted)
二、 SA 安全联盟
SA是两个通信实体经协商建立起来的一种协定。它们决定了用保护数据包的IPSec协议、转码方式、密钥以及密钥的有效存在时间等待。任何IPSec实施方案始终会构建一个SA数据库(SADB),由它来维护IPSec协议用来保障数据包安全的SA记录。
1. SA是单向的。
如果两个主机(比如A和B)正在通过ESP进行安全通信,那么主机A就需要有一个SA,即SA(out),用来处理外发的数据包;另外还需要有一个不同的SA,即SA(in),用来处理进来的数据包。主机A的SA(out)和主机B的SA(in)将共享相同的加密参数(比如密钥)
2. SA还是“与协议相关的”
每一种协议都有一个SA。如果主机A和B同时通过AH和ESP进行安全通信,那么每个主机都会针对每一种协议来构建独立的SA。
三、 SPD 安全策略数据库
匹配的流量必须要加密的,否则不能转发出去
四、 IPSec的组成部分
1. ESP(安全负载)协议
① IP协议号:50
② 不对IP Header进行封装
因为IPSec是三层加密的,需要靠IP Header传输的,如果连IP Header都加密,怎么传输呢!
Tunnel Mode ESP
IP header
SPI
Sequence number
IV
IP header
TCP / UDP header
Data
Pad Pad length Next header
Authentication data
① SPI:和IP头之间的目标地址以及协议结合在一起,用来标识用于处理数据包的特定的那个安全联盟
② 序列号:使ESP具有了抵抗重播攻击的能力
③ 初始化向量(IV):作为CBC加密的种子
④ 填充项:用于在ESP中保证边界的正确和扰乱原始数据实际长度
⑤ 下一个头:表明数据类型,这一数据包含在载荷数据字段内。如果在Tunnel mode下使用ESP,这个值就会是4,表示IP – in –IP,如果在Transport mode下使用ESP,这个值表示的就是它背后的上一级协议类型,比如TCP对应的就是6
⑥ 身份验证数据:用于容纳数据完整性的检验结果
2. (认证头)AH协议
① IP协议号:51
② 不提供加密
Tunnel Mode AH
New IP header
Next header 负载长度 保留
SPI
Sequence number
Authentication data
IP header
TCP / UDP header
Data
3. Internet密钥交换(IKE)协议——协议密钥的
负载在两个IPSec对等体间协商一条IPSec隧道的协议
① 协商协议参数
② 交换公共密钥
③ 对双方进行认证
④ 在交换后对密钥进行管理
协商完成之后会建立一个IPSec SA
a) SA是单向的(不能通过SA反推出算法、密钥信息)
b) SA是“协议相关”的(AH、ESP)
c) 只包含三个参数:
① 安全参数索引
② 对方IP地址
③ 安全协议标识:AH or ESP
d) SA与IPSec系统中实现的两个数据库有关
① 全策略数据库(SPD)
② 安全关联数据库(SAD)
L2L
路由
1. Internet需要有加密点的路由(本图中是直连)
为什么不需要通信点路由?
通信点是感兴趣流,要加密,外面会封装一个加密点的包来穿越Internet,Internet根本看不到包里面加密的部分。
2. 通信点需要有:对端通信点路由(本图中R3:192.168.3.0)
3. 加密点设备需要有:
① 对端加密点的路由(本图中R1:202.96.3.0)
② 感兴趣流的目的(对端通信点)
4. 保障通信
① 通信协议:UDP 500 IKE
② 封装方式:AH/ESP
R1的配置:
第一步:打开ISAKMP(默认是打开)