需求:IPSec在×××对等体设备实现的安全特性,如数据的机密性,完整性,验证等。

效果:对公网上传输的数据进行加密,即使***通过某种窃听工具截获到数据,也无法了解数据信息的含义;也可以实现数据传输双方的身份验证,避免***伪装成网络中的合法用户***网络资源。

理论:    ×××概述

        ×××起源是为了解决明文数据在网络上传输带来的安全隐患而兴起的。TCP/IP协议簇中的很多协议都采用明文传输,如telnet,ftp,ftfp等。

        ×××可以对公网上传输的数据进行加密,即使***通过某种窃听工具截获数据,也无法了解数据信息的含义,也可以实现数据传输双方的身份验证,避免***伪装成网络中的合法用户***网络资源。

        ×××就是在两个网络实体之间建立的一种受保护的连接,两个实体可以通过点到点的链路直接相连。

        受保护可以理解为加密技术防止数据被窃听,数据完整性验证防止数据被破坏,篡改,通过认证机制实现通信方身份确认,防止通信数据被截获和回放。

        ×××技术定义了何种流量需要被保护,数据保护的机制,数据的封装过程。

    ×××的模式与类型

        ×××的连接模式(两种模式实际上定义了两台实体设备之间传输数据时所采用的不同的封装过程)

            传输模式:在整个×××的传输过程中,ip包头没有封装,就是从源端到目的端数据始终使用原有的ip地址进行通信。而传输的时机数据载荷被封装在×××报文。对于×××传输而言,×××的报文封装过程就是数据的加密过程。

            隧道模式:×××设备将整个三层数据报文封装在×××数据内,再为封装后的数据报文添加新的ip包头,新ip包头封装的×××设备的ip地址信息,所以被截获数据后,无法了解实际载荷数据的内容,也无法知道时机通信双方的地址,多用于总公司和分公司跨广域网的通信。

        ×××的类型

            站点到站点×××:通过隧道模式在×××网关之间保护两个或更多的站点之间的流量,站点间的流量通常是指局域网之间的通信流量,L2L ***多用于总公司与分公司之间在internet上传输重要数据。×××网关中间的网络是透明的,总公司的终端设备通过×××连接访问分公司的网络资源,数据包封装的ip地址都是公司内网地址。

            远程访问×××:通常用于单用户设备与×××网关之间的通信连接,更适用于隧道模式。一般单一用户更容易成为******的对象。实现隧道模式的通信,需要给远程客户端分配两个ip地址:一个是它自己的NIC地址,另一个是内网地址。远程客户端在×××建立过程中同时充当×××网关和终端用户。

    ×××技术

        加密算法就是将数据转换成另外一种形式的过程。利用算法可以实现数据加密,数据完整性验证,身份验证等。

        对称加密算法

            使用同一密钥。

            发送方和接收方共享密钥

            发送方的×××网关通过加密函数将明文加密为密文数据

            接受方的×××网关通过解密函数将数据还原为明文数据

    wKiom1i9CEGxd4GyAABReuTGSUA088.png-wh_50

            DES算法:IBM的研发产品,密钥长度为64位,8位用于奇偶校验,实际有效长度为56位

            3DES算法:NIST在1999年研发的3DES,3DES使用了三个阶段的DES,同时使用三个不同的56位密钥。

            AES算法:支持128,196,256为密钥长度,有效的密钥长度可达上千位。AES算法采用了更为高效的编写方法,对CPU的占有率较少。

         非对称加密算法:使用公钥和是要两个不同的密钥进行加密和解密。用一个密钥加密的数据仅能被另一个密钥解密,且不能从一个密钥推导出另一个密钥。

            通信双方交换公钥

            发送方的×××网关通过公钥将明文数据加密成为密文数据

            接收方的×××网关通过自己的私钥解密数据。整个过程私钥没有在网络中传输。

            非对称加密的计算效率要比对称加密算法低得多。

            DH算法:RSA(使用三位科学家名字的首字母命名),DSA(数字签名算法),DH。DH一般被用于实现IPSec中的internet密钥交换(IKE)协议。

                原理:通信双方交换公钥后,会用自己的密钥和对方的公钥通过DH算法计算出一个共享密钥,然后双方会使用这个共享密钥加密传输数据。DH算法支持可变密钥长度,CIsco的路由器只支持DH组1,2,5.DH组1的有效密钥长度为768,DH组2的有效密钥长度为1024,DH组5的有效密钥长度为1536。

                密钥交换:带外共享(磁盘,U盘)带内共享(Telnet.SSH等连接方式通过网络传输密钥)    解决这个问题:可以通过非对称加密算法(DH算法)加密对此称加密算法的密钥,再用对称加密算法加密实际传输的数据。

            HAMC(散列消息验证码)实现验证功能

                ×××领域,对数据进行来源和完整性验证通常是借助散列算法实现的,HMAC功能专门用来处理数据即数据包相关的验证。它使用了一个共享的对称密钥来产生固定的输出结果--数字签名。HMAC属于单向散列算法的一个字节。

                原理

                    双方共享执行hash算法密钥

                    路由器a的用户数据与共享密钥通过hash算法得到数字签名

                    路由器a将数字签名和用户数据一同传送给路由器b

                    路由器b执行相同的算法过程得到数字签名

                    路由器b对比数字签名是否一致

            MD5和SHA

                SHA(安全散列算法)是有NIST开发,一般称为SHA-啊,可以产生160位的签名。

            IPSec ×××

                对等体建立IPSec ×××连接步骤:

                    流量触发IPSec:一旦有×××流量经过×××网关连接过程就开始建立。

                    建立管理连接:ISAKM/IKE阶段1构建一个安全的管理连接,只是一个准备工作,不被用来传输实际的数据。明确设备是如何实现验证,使用什么加密及认证算法,使用那种DH组等

                    建立数据连接:ISAKM/IKE阶段2就是用来完成,数据连接用于传输真正的用户数据

         ISAKMP/IKE阶段1

                定义了消息的格式和密钥交换协议的机制,以及构建连接的协商过程。IKE是一个混合型协议,定义了密钥的产生,共享和管理。IKE使用UDP端口500.

            ISAKEMP/IKE阶段1的交换过程有两个模式:主动模式和积极模式。积极模式比主模式快,但是相对不安全。

                ×××的类型是站点还是远程访问,都需要完成三个任务;

                    协商采用何种方式建立管理连接

                    通过DH算法共享密钥信息

                    对等体彼此身份验证

                    这三个任务通过六个数据报文完成,前两个数据包用于协商对等体间的管理连接使用何种安全策略;中间两个数据包通过DH算法产生并交换加密算法和HMAC功能所需的密钥;最后两个数据包使用预共享密钥等方式执行对等体间的身份验证。前四个报文为明文传输,从第五个报文开始为密文传输,前四个数据包通过各种算法最终产生的密钥用于第五,第六个数据包即后续数据的加密。

                交换ISAKM/IKE传输集:传输集就是一组用来保护管理连接的安全措施。主要包括:

                        加密算法:DES,3DES,AES

                        HMAC功能:MD5或SHA-1

                        设备验证类型:预共享密钥

                        Diffic-Hellman密钥组:Cisco支持1.2.5.7

                        管理连接的生存周期

                设备可能不止一个传输集,如果设备发起连接,将传输集列表发送到远端对等体设备并进行依次对比,直到匹配。如果对比所有传输集后没有发现匹配的传输集,管理连接将无法建立,IPSec连接失败。两端设备都只有一个传输集,且一端配置DES加密算法,另一端配置了3DES加密算法,就会,也会导致IPSec建立失败;只有两端配置相同的加密算法,才建立。

                通过DH算法实现密钥交换:协商管理连接的按,而共享密钥的产生与交换就要通过Diffic-Hellman来实现。DH算法属于非对称加密算法,因此他将产生公钥/私钥对的组合,且彼此共享公钥。×××对等体用对方的公钥和自己的私钥通过一种功能运算常说一个安全的共享密钥。

                实现设备间的身份验证:最常用的方法就是预共享密钥,对等体间通过带外方式共享密钥,并存储在设备的本地。设备验证的构成可以通过加密算法或HMAC功能两种方法实现,而加密算法很少用于身份验证,多数情况会通过HMAC功能实现。

            Cisco路由器设备IPSec ×××管理连接建立构成的配置

                配置安全策略(ISAKMP/IKE策略包含策略的序列号,加密算法,散列算法,验证方法,DH组,生存周期)

                    crypto isakmp policy priority

                crypto isakmp policy命令用于建立ISAKMP/IKE的管理连接策略,每个策略对应一个序列号(1~10000),序列号越低,优先级越高。

                    encryption { des | 3des | aes}

                encryption命令用于指定管理连接建立的最后两个数据报文采用何种加密算法

                    hash {sha | md5}

                hash命令指定了验证过程采用HAMC的功能

                    authentication {pre-share | rsa-encr | rsa-sig}

                authentication命令指定了设备身份验证的方式。

                    group {1 | 2 | 5}

                gourp命令用于指定DH密钥组,默认使用DH1,组号越大,算法越安全,占用设备资源也多

                    lifetime seconds

                lifetime命令指定管理连接的生存周期,默认为86400s

                    show crypto isakmp policy

                查看安全策略配置

               配置预共享密钥

                    crypto isakmp key {0 | 6} keystring address peer-address {subnet_mask}

                    0表示密钥为密文,6表示密钥被加密

                    keystring表示密钥的具体内容

                    perr-address表示对端与之共享密钥的对等体设备地址

                    subnet_mask为可选迷恋,默认使用255.255.255.255做掩码

                    可以通过show crypto isakemp key命令查看,通过show run查看的密钥配置中仍然显示明文密码。

                增加安全性,增加一个选项来加密密钥,但要求设备的ios镜像必须支持AES加密

                    key config-key password-encrypt

                    密钥至少为八个字母长度