A、加密学原理
知识准备
peer--意指两端做×××的设备
DPD(Dead peer detection )--在一端有两个peer时做冗余备份的东东,用来检测链路是否可用,远端设备是否有效。
对称加密算法--只有一个密匙,即用来加密,也用来解密,速度快,密文紧凑,用于大量数据的传送
非对称加密--有一对密匙,如果用其中一个加密,必须用另一个解密。速度较慢,密文不紧凑,通常只用于数字签名,或加密一些小文件。
非对称加密的三个代表:DH(diffie-hellman)、RSA、ECC
对称加密代表:3DES--有三个密匙,用第一个密匙加密,用第二个密匙解密,再用第三个密匙加密
非对称加密代表RSA--有一对密匙,一个公匙,一个私匙,私匙加密,公匙解密,或者公匙加密,私匙解密
通常的应用方法,用非对称加密法来传送对称加密的密匙,或用在数字签名当中。
数字签名是用私匙加密,公匙解密。
diffie-hellman key exchange--用对方的公匙和自已的私匙产生一个双方都能知道的KEY,作对称加密用
DH group 1的长度是768位
DH group 2的长度是1024位
md5是验证,不是加密,用来做哈希
PKI--公共密匙架构,基于证书的×××
HASH的特点:
1、不管输入什么数据,输出是定长的
2、只要输入有一点微小变化,输出就会发生很大的变化,也就是雪崩效应
ESP在IP中的协议号是50
AH在IP中的协议号是51
UDP 500 isakmp协商过程所用的端口
NAT-T 使用UDP 4500端口
SA--安全关联
SPI--用来唯一定义一条IPsec通道
IK8的台子可以做安全实验
SDM--使用外部界面来配置×××
B、IPsec-×××--virtual private network
什么是×××--虚拟专用网
×××作用--在公网上传输私网路由,将私有网络联系起来
IPsec-×××是三层的×××
×××的类型:
1、GRE 2、VPDN 3、MPLS(不提供加密,由SP帮你完成) 4、IPSEC(加密,由自已部署)
另一种分类:1、remote ××× 2、L2L
IPsec-×××提供三个特性:
1、authentication 每一个IP包的认证
2、data integrity 验证数据完整性,保证在传输过程中没有被人为改动
3、confidentiality (私密性)数据包的加密
IPsec协议集包括三个协议:
1、internet key exchange(IKE)密匙交换协议
协议双方使用的算法,密匙,协商用的,协商完成再用下面的方法封装数据。
IKE动态的,周期性的在两个PEER之间更新密钥
2、encapsulating secutity payload(ESP)封装安全负载
可以对数据包认证,加密,封装,协议号--50,通常使用3DES来进行加密
3、authentication header (AH)
只提供认证,封装,不提供加密,明文传送,协议号--51
IPsec×××的两种模式--
传输模式:在原包头之后插入一个字段,ESP使用
通道模式:产生一个新IP包头,AH使用,site-to-site的×××就是这种模式
--------------------------------------------------------------------------------------------------------------------------
①IKE
也是由三个不同的协议组成:
1、SKEME
2、Oakley
3、ISAKMP--定义了信息交换的体系结构,也就是格式//都是用来交换密钥
IKE的作用:用于在两个peer之间协商建立IPsec-×××通道
1、协商参数
2、产生KEY,交换KEY、更新KEY
建立×××通道的过程:分两个分阶段
第一阶段:
1、authenticate the peers
2、negotiate a bidirectional SA
3、main mode or aggressive mode(主模式或主动模式)
第二阶段:
1、IPsec SAs/SPIs
2、quick mode(快速模式)
②ESP
是一个三层协议,协议号是50
--------------------------------------------------------------------
IPsec×××的两种模式--
传输模式:在原包头之后插入一个字段,ESP使用
通道模式:产生一个新IP包头,AH使用
site-to-site ipsec ×××的协商过程,分两个阶段
1、establish ISAKMP policy
2、configure IPsec transform set
3、configure crypto ACL 配置感兴趣流,内部私网的地址去访问对端私网的地址就是感兴趣流。
4、configure crypto map
5、apply crypto map to the interface 在接口下应用
6、configure interface ACL 确定在外网接口放行哪些流量
建立×××通道的过程:分两个分阶段
第一阶段:
1、authenticate the peers
2、negotiate a bidirectional SA
3、main mode or aggressive mode(主模式或主动模式)
第二阶段:
1、IPsec SAs/SPIs
2、quick mode(快速模式)
第一阶段的协商过程总共有6个包:
1、消息1和消息2用于peer之间协商加密机制
ISAKMP包含有ISAKMP头、SA负载、提议负载、转换负载等字段
总之是让双方协商好我们之间使用啥子协议、加密方法
2、消息3和消息4用于相互之间交换公共密匙
两端的peer先各自生成自已的私匙和公匙,同时还产生一个临时值。然后再使用消息3或消息4将各自的公匙和临时值进行交换。
交换完公匙后,每个peer先根据对方的公匙和自已的私匙生成一个共享秘密(使用DH算法),再根据共享秘密、对方的临时值、预共享密钥产生出三个SKEY:
SKEYID_d--此密匙被用于计算后续IPsec密匙资源
SKEYID_a--此密匙被用于提供后续IKE消息的数据完整性以及认证
SKEYID_e--此密匙被用于对后续IKE消息进行加密
消息3和4的ISAKMP包含以下字段:ISAKMP包头、密匙交换负载(KE)、临时值负载
3、消息5和消息6用于两个peer之间进行认证,这两个消息是用SKEYID_e进行过加密的。
每个peer根据一大堆东东生成一个Hash值,再将这个值和自已的标识ID(通常是IP或主机名)发送给对方。当然,使用的就是消息5或消息6。
每个peer收到对方的ID和Hash值后,先根据对方的ID找到对方的公匙,再计算本地Hash值,如果本地Hash值和对方的Hash值一样,就表示认证成功。
这一步完成后,IKE SA被建立,主模式认证完成
第二阶段的协商过程总共有3条消息:
1、第一、二条信息是两个peer之间协商形成IPsec SA的封装协议、模式、加密算法,还要互发用DH重新生成的新的公匙和临时值,以及其它一些参数,像SPI、ID等等。
2、第三条消息通常由发起者发送给响应者,起一个确认的作用
第三条信息发送前,两端的peer必须先用和DH相关的信息生成一个新的DH秘密,然后用该值和SKEYID_d以及其他一些参数一起来生成最终加解密的KEY。
本置实例:
一、定义感兴趣流:(只有这些原目地址才是×××感兴趣的,即要封装的.)
ip access-list extended ×××
permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
二、IKE第一阶段
crypto isakmp policy 10
encryption des
hash md5
authentication pre-share
group 2
crypto isakmp key cisco address 202.100.13.3
pre-share key 定义
三、IKE第二阶段
crypto ipsec transform-set MYSET esp-des esp-md5-hmac
mode tunnel
四、把感兴趣流与转换集映射一下
crypto map MYMAP 10 ipsec-isakmp
set peer 202.100.13.3 设置×××对等体的地址
set tranform-set MYSET 设置转换集
match address ××× 感兴趣流和转换集的绑定
五、MAP与接口绑定
int s0
crypto map MYMAP
show crypto isakmp policy
show crypto isakmp sa 第一阶段的SA
show crypto ipsec sa 第二阶段的SA
show crypto engineer
crypto ipsec security-association lifetime kilobytes 第二阶段的一个协商时间,也就是说多长时间后重新协商密匙。也可按已发了多少流量来进行协商。
clear crypto isakmp 清第一阶段
clear crypto sa 清第二阶段
UDP 500协商过程所用的端口
NAT-T使用UDP 4500端口
SA安全关联
SPI用来唯一定义一条IPsec通道
设定接口只允许跑×××流量,在接口入设置
access-list 100 permit udp any eq 500 any eq isakmp
access-list 100 permit esp any any
或access-list 100 permit ahp any any
注意:在老IOS中,对包解密后还会再匹配一次访问列表,新的IOS中就不会,所以在老的IOS中要加入一条
access-list 100 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255
GRE
GRE是通常在tunnal中使用,可用来建×××,但不能加密
GRE通用路由封装---一个三层协议,能够将非IP的流量转换成IP流量,能对IP或非IP包进行再封装,在原始包头的前面增加一个GRE包头和一个新IP包头。明文传送,没有安全性。
新IP | GRE | 老IP | TCP | data
20字节 4字节
GRE有很好的隧道特性
1、支持多协议
2、支持组播
但是不安全
小知识:在tunnal中,指定目标地址之后,只要在本地路由表中有这个地址,tunnal就会up
注意在GRE中感兴趣流的定义:
access-list 100 permit gre host 202.100.13.3 host 202.100.12.2 必须定义公网地址
clear crypto ipsec sa 清第二阶段
GRE over IPsec(实用性很高的技术,不像IPsec×××那样麻烦)
原理:在tunnel中,先用GRE对数据包封装成IP包,再用IPsec加密
新IP | esp | GRE | 老IP | TCP | data
深蓝色的是加密的部分
IPsec只能对IP包加密,不能对非IP包加密。
easy×××---ramote access 使用这种方法
两个主要目的:
1、简单的client配置,easy ××× remote
2、中心的client配置,动态的推送配置到client,easy ××× server
所以client很easy,server端的配置一点都不easy
××× 3005以上的设备都可以做server
1700、1800可以做client,实际上不光可以用硬件来做client,软件也可以做,在移动办公中就是软件做
1800以上都可以做server
比site-to-site方式多了一个1.5阶段,使用主动模式
用SDM配置ipsec-×××
HTTPS: tcp 443端口
SSH: tcp 22端口
<http://www.cisco.com/go/sdm>
安装时要先装一个JAVE虚拟机
路由器上要先配置:
ip domain-name cisco.com
clock timezone GMT +8
clock set
ip http secure-server
username ccnp privilege 15 password cisco
line vty 0 4
login local 只能用local
transport input ssh 只允许ssh
测试:从R3上登录R2一下:
R3# ssh -l ccnp 202.100.12.2
password:cisco
----------------------------------------
crypto isakmp keepalive 10 3 开启DBD检测
crypto map MYMAP 10 ipsec-isakmp
set peer 202.100.13.3 default
set peer 202.100.1.2 设置两个peer 冗余备份
set tranform-set MYSET
match address ×××
转载于:https://blog.51cto.com/huangshuiyong/1137048