目录

一、整个IPsec工作过程

二、IKE阶段1

三、IKE阶段2

四、IPsec协议

五、华为设备配置命令

(一)安全提议  xxx proposal

(二)IKE对等体  ike peer

(三)IPSec安全框架 ipsec profile

(四)IPSec安全策略 ipsec policy

(五)ACL方式建立IPSec隧道

(六)虚拟接口方式建立IPSec隧道

六、华为设备配置举例

(一)总部——多分支:多个Tunnel接口借用同一个物理接口地址,一个Tunnel接口对应一个分支。

(二)总部——多分支:总部采用安全策略组方式与分支建立多条IPSec隧道。

(三)配置虚拟隧道接口建立IPSec隧道

(四)配置虚拟隧道接口建立GRE over IPSec隧道

七、认证/HASH/指纹/摘要算法

(一)效果展示

(二)各种算法

八、对称加密算法

(一)特点和用途

(二)名称说明

(三)各种算法

九、DH组

(一)DH

(二)DH原理

(三)DH组

一、整个IPsec工作过程

1. 启动IKE:   当路由器接收到与访问列表匹配的内容时,将启动 IKE 进程,启动隧道创建。

2. IKE阶段1: 协商安全联盟以构建 IKE 阶段 1 隧道(ISAKMP 隧道)。

说明:

(1)被称之为ISAKMP隧道,是因R1和R2之间交互的报文叫ISAKMP报文(承载在UDP报文上,端口号为500)

(2)双方交互后,统一了加密算法、认证或HASH算法、DH组(以及用于构建加密密钥的材料),形成了ISAKMP隧道,并通过隧道采用预共享密钥或证书方式进行对等体双方的身份确认。

(3)此阶段的目的是对接下来双方需要进行交互的参数进行加密和认证,这些参数在阶段2形成一个隧道叫IPSec隧道,直接服务于业务数据。

3. IKE阶段2: 在IKE阶段1隧道内,建立IKE阶段2隧道(IPsec隧道)。

说明:

(1)利用IKE阶段1形成的隧道对对方选择的是ESP还是AH协议,ESP/AH中的HASH和加密算法是什么,还有采用的是传输模式还是隧道模式进行交互,业务数据的保护将基于这些参数。本阶段隧道所谓IPsec隧道建立了。

(2)ESP/AH报文中索引值SPI字段来自于阶段1中ISAKMP报文交互时产生的SPI值(或Cookie值)。

4. 数据传输:  通过 IKE 阶段2隧道保护用户发送的数据。

5. 终止隧道:  当没有用户数据需要保护时,IPsec 隧道将在一段时间后终止。

二、IKE阶段1

IKE 阶段 1 的主要目的是建立可用于 IKE 阶段 2 的安全隧道。

可以将第一阶段分解成三个小步骤:

第 1 步:谈判

具有应保护流量的对等方将启动 IKE 阶段 1 协商。两个对等方将就以下项目进行协商:

  • 散列(HASH/认证):使用散列算法来验证完整性,比如 MD5 或 SHA。
  • 身份验证:每个对等方都必须证明他是谁。两个常用选项是预共享密钥或数字证书
  • DH 组:DH 组确定在密钥交换过程中使用的密钥的强度。较高的组数更安全,但计算时间更长。
  • 生存周期 : IKE 阶段 1 隧道能保持多久?生命周期越短,它就越安全,因为重建它意味着还将使用新的密钥构建所需材料。每个厂商使用不同的生命周期,常见的默认值为 86400 秒(1 天)。
  • 加密:使用什么算法进行加密?例如,DES、3DES 或 AES。

第 2 步:DH 密钥交换

一旦协商成功,两个对等方就会知道使用什么策略。接下来他们将用协商的 DH 组来交换密钥构建所需材料。最终结果将是两个对等方将拥有一个相同的密钥。

第 3 步:身份验证

最后一步是两个对等方将使用他们在协商中商定的身份验证方法相互进行身份验证。当身份验证成功时,表示完成了 IKE 阶段 1,并建立了一个双向的 IKE 阶段 1 隧道(又名 ISAKMP 隧道)。这意味着两个对等方都可以在此隧道上发送和接收东西。

上述三个步骤可以使用两种不同的模式完成:

  • 主模式(Main Mode):提供身份保护。
  • 野蛮模式(Aggressive Mode):协商速度更快,但不提供身份保护。

主模式使用六条消息,而野蛮模式仅使用三条消息。主模式被认为更安全。

主模式时报文交互情况如下图1-6(来自网络):

交互报文1:

交互报文2:

交互报文3:

交互报文4、5、6:

野蛮模式下的报文交互如下图1-3(来自网络):

三、IKE阶段2

IKE 阶段 2 隧道(IPsec 隧道)实际上将用于保护用户数据。建立 IKE 阶段 2 隧道只有一种模式,称为快速模式。

就像在 IKE 阶段 1 中一样,对等方将就一些项目进行协商:

  • IPsec 协议:使用 AH 还是 ESP?
  • 封装模式:传输模式还是隧道模式?
  • 加密:使用什么加密算法?DES、3DES 还是 AES?
  • 身份验证:使用什么身份验证算法?MD5 还是 SHA?
  • 生命周期:IKE 阶段 2 隧道的有效期是多久?当隧道即将到期时,将刷新密钥构建所需材料。
  • (可选)DH 交换:用于 PFS(完美前向保密)。

PFS 是可选的,并强制对等方再次运行 DH 交换以在每个 IKE 阶段 2 快速模式下生成新的共享密钥。
这种协商发生在我们的 IKE 阶段 1 隧道的保护范围内,因此报文中看不到任何东西。

报文交互过程如下(来自网络):

四、IPsec协议

AH 和/或 ESP 是我们用来实际保护用户数据的两种协议。它们都可以用于传输或隧道模式。AH 提供身份验证和完整性,但不提供任何加密。ESP 是更受欢迎,因为它可能加密IP流量。

AH报文头:

ESP报文头:

传输模式:

隧道模式:

综上,IPSec阶段,或阶段2需要协商的内容主要有:加密算法、HASH(认证)算法、ESP或AH、隧道模式/传输模式。

数据包在ESP+隧道模式下的装与拆的过程(来自网络):

装包过程:

1、在原IP报文末尾添加尾部(ESP trailer)信息。由于所选加密算法可能是块加密,那么当最后一块长度不够时就需要进行填充(padding),附上填充长度(pad length)方便解包时顺利找出用来填充的那一段数据。Next header标明被加密的数据报文的类型,如TCP。 
2、将原IP报文以及第1步得到的ESP尾部作为一个整体进行加密。具体的加密算法与密钥由SA给出。
3、为第2步得到的加密数据添加ESP头部。ESP头由两部分组成,SPI和序号(sequence number)。加密数据与ESP头合称为“xxx”。 
4、附加完整性度量结果(ICV,Integrity check value)。对第三步得到的“xxx”做摘要,得到一个完整性度量值并附在ESP报文的尾部。
5、加上新的IP头。新构造的IP头附在ESP报文的前面组成一个新的IP报文。注意这个新的IP头的目的地址跟源地址可以不一样。协议类型为50,说明它里面装的是一个IPsec报文。

拆包过程:

1、接收方收到数据报文后,发现协议类型是50,知道这是一个IPsec包。首先查看ESP头,通过里面的SPI决定数据报文所对应的SA。
2、计算“xxx”部分的摘要,与附在末尾的ICV做对比,如果一样的话说明数据是完整的。否则可以断定所收到的报文已经不是原来的报文了。
3、检查Seq里的顺序号,保证数据是新到的。
4、根据SA所提供的加密算法和密钥,解密被加密过的数据,即“xxx”。得到原IP报文与ESP尾部(trailer)。
5、根据ESP尾部里的填充长度信息,我们可以找出填充字段的长度,删去后就得到原来的IP报文。
6、最后根据得到的原IP包的目的地址来进行转发。

五、华为设备配置命令

(一)安全提议  xxx proposal

安全提议(Proposal)指的是,双方对需要保护的数据进行处理的方式和参数。

1、IKE安全提议

ike proposal proposal-number
    authentication-method { pre-share | rsa-signature | digital-envelope }
    authentication-algorithm  xxx
    encryption-algorithm  xxx
    dh  xxx

2、IPSec安全提议

ipsec proposal proposal-name
    transform { ah | esp | ah-esp }    
    ah authentication-algorithm   xxx
    esp authentication-algorithm   xxx
    esp encryption-algorithm  xxx
    encapsulation-mode { transport | tunnel }

(二)IKE对等体  ike peer

采用IKE动态协商方式建立IPSec隧道(ike阶段1-->ike阶段2后建立)前,协商的双方各方面属性必须一样,或者必须是对等体,才能开启协商。

ike peer peer-name

version { 1 | 2 },缺省启用IKEv2版本。
    exchange-mode { main | aggressive | auto }(可选),IKEv1阶段1协商模式。缺省主模式。
    local-address ipv4-address(可选),配置IKE协商时的本端IP地址。缺省情况下,根据路由选择到对端的出接口,将该出接口地址作为本端IP地址。一般情况下本端IP地址不需要配置。
    remote-address { [ vpn-instance vpn-instance-name ] { ipv4-address | host-name host-name } | authentication-address start-ipv4-address [ end-ipv4-address ] }(可选),配置IKE协商时的对端IP地址或域名。缺省情况下,系统没有配置IKE对等体的对端地址或域名。
    ike-proposal proposal-number,引用IKE安全提议。 proposal-number是一个已创建的IKE安全提议。
    配置身份认证参数。预共享密钥认证(pre-share)| RSA签名认证(rsa-signature)| RSA数字信封认证(digital-envelope)

(三)IPSec安全框架 ipsec profile

一个IPSec安全框架相当于一个IPSec安全策略,与IPSec安全策略不同的是,安全框架由名称唯一确定,且只能通过IKE协商方式配置

IPSec安全框架无需通过ACL定义数据流,而是保护所有路由到IPSec虚拟隧道接口的数据流。在IPSec虚拟隧道接口下应用IPSec安全框架后只会生成一条IPSec隧道,并对所有路由到该隧道接口的数据流进行IPSec保护,简化了安全策略管理的复杂度。  为保证IKE协商成功,安全框架中所有配置的参数必须在本端和对端相匹配。

ipsec profile profile-name
    proposal proposal-name,在安全框架中引用IPSec安全提议。proposal-name是一个已创建的IPSec安全提议。
    ike-peer peer-name,在安全框架中引用IKE对等体。peer-name是一个已创建的IKE对等体。
    tunnel remote interface interface-type interface-number(可选),配置IPSec隧道的IKE协商报文出接口。

说  明:

1、IPSec安全框架引用的IKE对等体不需要指定本端地址tunnel local,因为IPSec安全框架进行IKE协商时,选用的本端地址是通过GRE或IPSec虚拟隧道接口的源地址指定的,IPSec安全框架所引用的IKE对等体中的tunnel local配置不生效。

2、采用IPSec安全框架时,IKE协商使用的对端地址优先选用IPSec隧道接口下配置的destination,只有在IPSec隧道接口下没有配置destination时,才会使用IKE对等体下配置的remote-address。remote-address和destination命令同时配置时,必须确保两者配置的IP地址一致,否则会导致IKE协商失败。如果要IKE对等体冗余,则不能在IPSec虚拟隧道接口下配置destination,而要在安全框架引用的IKE对等体中配置remote-address。

(四)IPSec安全策略 ipsec policy

IPSec安全策略是创建SA的前提,它规定了对哪些数据流采用哪种保护方法。

配置IPSec安全策略时,通过引用ACL和IPSec安全提议,将ACL定义的数据流和IPSec安全提议定义的保护方法关联起来,并可以指定SA的协商方式、IPSec隧道的起点和终点、所需要的密钥和SA的生存周期等。

一个IPSec安全策略由名称和序号共同唯一确定相同名称的IPSec安全策略为一个IPSec安全策略组。IPSec安全策略分为手工方式IPSec安全策略、ISAKMP方式IPSec安全策略和策略模板方式IPSec安全策略。用户可根据实际需要选择一种配置。

下图为 IPSec安全策略组的组成:

手工方式IPSec安全策略

手工方式IPSec安全策略所有的安全参数都需要手工配置,配置工作量大,因而适用于小型静态环境。  手工方式IPSec安全策略需要用户分别针对出/入方向SA手工配置认证/加密密钥、SPI等参数,并且隧道两端的这些参数需要镜像配置,即本端的入方向SA参数必须和对端的出方向SA参数一样;本端的出方向SA参数必须和对端的入方向SA参数一样。

ipsec policy policy-name seq-number manual
    security acl acl-number
    proposal proposal-name
    tunnel local ipv4-address,配置IPSec隧道的本端地址(起点)。
    tunnel remote ip-address,配置IPSec隧道的对端地址(终点)。
    sa spi outbound { ah | esp } spi-number,配置出方向SA的SPI。
    sa spi inbound { ah | esp } spi-number,配置入方向SA的SPI。
    sa string-key { inbound | outbound } ah cipher string-key,配置AH协议的认证密钥(以字符串方式输入)。
    sa string-key { inbound | outbound } esp cipher string-key,配置ESP协议的认证密钥(以字符串方式输入)。

ISAKMP方式IPSec安全策略

ISAKMP方式IPSec安全策略适用于对端IP地址固定的场景,一般用于分支的配置。

ipsec policy policy-name seq-number isakmp
    security acl acl-number
    proposal proposal-name
    ike-peer peer-name
    tunnel local { ipv4-address | applied-interface }(可选),配置IPSec隧道的本端地址。
    tunnel remote { applied-interface | interface interface-type interface-number }(可选),配置IPSec隧道的IKE协商报文出接口。

(五)ACL方式建立IPSec隧道

在一个接口上应用一个IPSec安全策略组,实际上是同时应用了IPSec安全策略组中所有的IPSec安全策略,从而能够对不同的数据流采用不同的IPSec联盟进行保护。  当从一个接口发送数据时,将按照从小到大的序号查找IPSec安全策略组中每一个IPSec安全策略。如果数据流匹配了一个IPSec安全策略引用的ACL,则使用这个IPSec安全策略对数据流进行处理;如果没有匹配,则继续查找下一个IPSec安全策略;如果数据与所有IPSec安全策略引用的ACL都不匹配,则直接被发送,即IPSec不对数据流加以保护。

接口应用IPSec安全策略组的配置原则:

  • IPSec安全策略应用到的接口一定是建立隧道的接口,且该接口一定是到对端私网路由的出接口。误将IPSec安全策略应用到其它接口会导致VPN业务不通。
  • 一个接口只能应用一个IPSec安全策略组,一个IPSec安全策略组也只能应用到一个接口上。
  • 当IPSec安全策略组应用于接口后,不能修改该安全策略组下安全策略的引用的ACL、引用的IKE对等体。

说明:

  • 在Tunnel接口上应用IPSec安全策略,并执行命令source指定该接口的地址时,必须执行命令tunnel local配置隧道的本端地址,否则会导致IKE协商失败。
  • 多分支接入总部的场景中,总部采用多个Tunnel接口借用同一个物理接口地址时,总部可以通过IKE对等体中的对端IP或对端ID来识别分支接入的Tunnel接口(仅IKEv1野蛮模式支持对端ID方式)。
  • 多分支接入总部的场景中,如果总部出现部分Tunnel接口的接口地址借用了物理接口地址、部分Tunnel接口的Source地址借用了物理接口地址或部分Tunnel接口的隧道本端地址借用了物理接口的虚地址混合配置,容易造成IKE对等体和Tunnel接口的映射关系发生错误,导致IPSec隧道建立失败。

(六)虚拟接口方式建立IPSec隧道

配置虚拟隧道

虚拟隧道接口(即Tunnel接口)是一种三层逻辑接口,针对协议类型为GRE、mGRE或IPSec的逻辑接口,设备可提供IPSec保护功能。它建立在IKE协商的基础上。通过配置虚拟隧道接口,并在虚拟隧道接口视图下应用IPSec安全框架使得IPSec隧道建立。  协议类型为IPSec的Tunnel接口的IP地址可以手工配置,也可以通过IKEv2协商动态申请。后者在大规模分支接入总部的场景中,可减少分支设备的配置和维护工作量。

说明:

  • 多分支接入总部的场景中,总部采用多个Tunnel接口借用同一个物理接口地址时,总部可以通过IKE对等体中的对端IP或对端ID来识别分支接入的Tunnel接口(仅IKEv1野蛮模式支持对端ID方式),如果总部Tunnel接口执行命令destination指定了分支接口的地址,则总部优先根据此命令识别分支的接入。
  • 多分支接入总部的场景中,如果总部出现部分Tunnel接口的接口地址借用了物理接口地址、部分Tunnel接口的Source地址借用了物理接口地址混合配置,容易造成IKE对等体和Tunnel接口的映射关系发生错误,导致IPSec隧道建立失败。

interface tunnel interface-number
    tunnel-protocol { gre [ p2mp ] | ipsec },配置隧道接口的封装模式。
    ip address ip-address { mask | mask-length } [ sub ],配置Tunnel接口的IPv4私网地址。
    source { [ vpn-instance vpn-instance-name ] source-ip-address | interface-type interface-number [ standby ] },配置Tunnel接口的源地址或源接口。
    destination [ vpn-instance vpn-instance-name ] dest-ip-address(可选),配置Tunnel接口的目的地址。
    ipsec profile profile-name [ shared ],在Tunnel接口上应用IPSec安全框架,使其具有IPSec的保护功能。

tunnel-protocol:

隧道接口的封装模式根据实际需要设置为IPSec、GRE或者mGRE方式,才能在Tunnel口下绑定IPSec安全框架。 IPSec:Tunnel接口建立IPSec隧道,保证在Internet上传输单播数据的安全保密性。 GRE:Tunnel接口实现GRE over IPSec功能,除了可以传输单播数据,还可以传输组播数据。先对数据进行GRE封装,再对GRE封装后的报文进行IPSec加密,完成对数据安全可靠的传输。

destination:

当IPSec虚拟隧道接口的目的地址未配置时,可使用IPSec安全框架引用的IKE对等体下配置的对端地址主动发起协商。当IPSec虚拟隧道接口下的目的地址和IKE对等体下的对端地址均未配置时,本端只能被动接受对端发起的协商。  如果隧道接口的封装模式设置为GRE方式,则两端都需要配置目的地址。

ipsec profile:

一个Tunnel接口只能应用一个IPSec安全框架。未指定shared时,一个IPSec安全框架最多应用在4个Tunnel接口上;指定shared时,一个IPSec安全框架最多应用在64个Tunnel接口上。  仅mGRE类型的Tunnel接口支持配置shared参数。  多个Tunnel接口指定同一个出接口时,这些Tunnel接口必须应用相同的IPSec安全框架,并配置shared参数,否则两端无法建立IPSec隧道。

六、华为设备配置举例

(一)总部——多分支:多个Tunnel接口借用同一个物理接口地址,一个Tunnel接口对应一个分支。

Router A:

#
acl number 3000
 rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
acl number 3001
 rule 10 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.3.0 0.0.0.255

#
ipsec proposal tran1   
 esp authentication-algorithm sha2-256
 esp encryption-algorithm aes-256
#
ike proposal 10
  encryption-algorithm aes-256    
  dh group14        
  authentication-algorithm sha2-256        
  authentication-method pre-share    
  integrity-algorithm hmac-sha2-256     
  prf hmac-sha2-256

#
ike peer b
 pre-shared-key cipher %^%#W)04NhZ:bP=~"=KQu\CN6KcK#NE5:(Os2L57]r5I%^%#
 ike-proposal 10
 remote-address 1.1.5.1
ike peer c
 pre-shared-key cipher %^%#W)04NhZ:bP=~"=KQu\CN6KcK#NE5:(Os2L57]r5I%^%#
 ike-proposal 10
 remote-address 1.1.6.1

#
ipsec policy map1 10 isakmp
 security acl 3000
 ike-peer b
 proposal tran1
ipsec policy map2 10 isakmp
 security acl 3001
 ike-peer c
 proposal tran1

#
interface GigabitEthernet1/0/1
 ip address 1.1.3.1 255.255.255.0
#
interface GigabitEthernet1/0/3
 ip address 10.1.1.1 255.255.255.0

#
interface Tunnel0/0/0
 ip address unnumbered interface GigabitEthernet1/0/1
 tunnel-protocol ipsec
 ipsec policy map1

interface Tunnel0/0/1
 ip address unnumbered interface GigabitEthernet1/0/1
 tunnel-protocol ipsec
 ipsec policy map2


ip route-static 0.0.0.0 0.0.0.0 1.1.3.2
ip route-static 10.1.2.0 255.255.255.0 Tunnel0/0/0 
ip route-static 10.1.3.0 255.255.255.0 Tunnel0/0/1
#

(二)总部——多分支:总部采用安全策略组方式与分支建立多条IPSec隧道。

Router C:

#
ipsec policy policy1 10 isakmp
 security acl 3002
 ike-peer rut1
 proposal tran1
ipsec policy policy1 11 isakmp
 security acl 3003
 ike-peer rut2
 proposal tran1
#
interface GigabitEthernet0/0/1
 ip address 60.1.3.1 255.255.255.0
 ipsec policy policy1
#
interface GigabitEthernet0/0/2
 ip address 192.168.3.2 255.255.255.0
#
ip route-static 60.1.1.0 255.255.255.0 60.1.3.2
ip route-static 60.1.2.0 255.255.255.0 60.1.3.2
ip route-static 192.168.1.0 255.255.255.0 60.1.3.2
ip route-static 192.168.2.0 255.255.255.0 60.1.3.2
#

(三)配置虚拟隧道接口建立IPSec隧道

分支子网较为庞大,有大量需要IPSec保护的数据流,可基于虚拟隧道接口方式建立IPSec隧道,对Tunnel接口下的流量进行保护,不需使用ACL定义待保护的流量特征。

Router A:

#
ipsec proposal tran1
 esp authentication-algorithm sha2-256
 esp encryption-algorithm aes-128
#
ike proposal 5
 encryption-algorithm aes-128
 dh group14
 authentication-algorithm sha2-256
 authentication-method pre-share
 integrity-algorithm hmac-sha2-256
 prf hmac-sha2-256

#
ike peer spub
 version 1
 pre-shared-key cipher %^%#JvZxR2g8c;a9~FPN~n'$7`DEV&=G(=Et02P/%\*!%^%#
 ike-proposal 5

#
ipsec profile profile1
 ike-peer spub
 proposal tran1

#
interface Tunnel0/0/0
 ip address 192.168.1.1 255.255.255.0
 tunnel-protocol ipsec
 source 1.1.1.1
 destination 2.1.1.1 
 ipsec profile profile1
#
interface GigabitEthernet1/0/0
 ip address 1.1.1.1 255.255.255.0
#
interface GigabitEthernet2/0/0
 ip address 10.1.1.1 255.255.255.0

#
ip route-static 2.1.1.0 255.255.255.0 1.1.1.12
ip route-static 10.1.2.0 255.255.255.0 tunnel0/0/0
#

(四)配置虚拟隧道接口建立GRE over IPSec隧道

企业希望对分支与总部之间相互访问的流量(包括组播数据)进行安全保护。由于组播数据无法直接应用IPSec,所以基于虚拟隧道接口方式建立GRE over IPSec,对Tunnel接口下的流量进行保护。

Router A:

#
ipsec proposal tran1
 esp authentication-algorithm sha2-256
 esp encryption-algorithm aes-128
#
ike proposal 5
 encryption-algorithm aes-128
 dh group14
 authentication-algorithm sha2-256
 authentication-method pre-share
 integrity-algorithm hmac-sha2-256
 prf hmac-sha2-256
#
ike peer spub
 version 1
 pre-shared-key cipher %^%#JvZxR2g8c;a9~FPN~n'$7`DEV&=G(=Et02P/%\*!%^%#
 ike-proposal 5
#
ipsec profile profile1
 ike-peer spub
 proposal tran1
#
interface Tunnel0/0/0
 ip address 192.168.1.1 255.255.255.0
 tunnel-protocol gre
 source 1.1.1.1
 destination 2.1.1.1

 ipsec profile profile1
#
interface GigabitEthernet1/0/0
 ip address 1.1.1.1 255.255.255.0
#
interface GigabitEthernet2/0/0
 ip address 10.1.1.1 255.255.255.0
#
ip route-static 2.1.1.0 255.255.255.0 1.1.1.2
ip route-static 10.1.2.0 255.255.255.0 tunnel0/0/0
#

七、认证/HASH/指纹/摘要算法

(一)效果展示

hash generator online | encode-decode.com

(二)各种算法

md2
md4
md5
sha1
sha224
sha256
sha384
sha512/224
sha512/256
sha512
sha3-224
sha3-256
sha3-384
sha3-512
ripemd128
ripemd160
ripemd256
ripemd320
whirlpool
tiger128,3
tiger160,3
tiger192,3
tiger128,4
tiger160,4
tiger192,4
snefru
snefru256
gost
gost-crypto
adler32
crc32
crc32b
fnv132
fnv1a32
fnv164
fnv1a64
joaat
haval128,3
haval160,3
haval192,3
haval224,3
haval256,3
haval128,4
haval160,4
haval192,4
haval224,4
haval256,4
haval128,5
haval160,5
haval192,5
haval224,5
haval256,5

八、对称加密算法

(一)特点和用途

加解密使用相同密钥,加密速度快,适用加解密大文件。

(二)名称说明

AES-128-CBC

  • AES:   加密算法的名称。 这里叫高级加密标准。其他对称加密算法有:DES、3-DES等。
  • 128  :   密钥大小。 AES 加密使用 3 种密钥大小(128 位、192 位和 256 位)。AES 中的块大小也是 128 位。
  • CBC:  加密模式。 指加密算法的输入端除了明文和加密密钥外,还会有其他参数,比如初始向量 IV、附加消息 F等。有多种加密模式,加密模式不同,算法的工作速度、并行性和安全级别则不同。常见模式包括CBC(密码块链接),ECB(电子密码本),CFB(密码反馈),CTR(计数器)等,其他模式有GCM(伽罗瓦计数器模式)等。

(三)各种算法

aes-128-cbc
aes-128-cbc-hmac-sha1
aes-128-cfb
aes-128-cfb1
aes-128-cfb8
aes-128-ctr
aes-128-ecb
aes-128-ofb
aes-128-xts
aes-192-cbc
aes-192-cfb
aes-192-cfb1
aes-192-cfb8
aes-192-ctr
aes-192-ecb
aes-192-ofb
aes-256-cbc
aes-256-cbc-hmac-sha1
aes-256-cfb
aes-256-cfb1
aes-256-cfb8
aes-256-ctr
aes-256-ecb
aes-256-ofb
aes-256-xts
aes128
aes192
aes256
bf
bf-cbc
bf-cfb
bf-ecb
bf-ofb
camellia-128-cbc
camellia-128-cfb
camellia-128-cfb1
camellia-128-cfb8
camellia-128-ecb
camellia-128-ofb
camellia-192-cbc
camellia-192-cfb
camellia-192-cfb1
camellia-192-cfb8
camellia-192-ecb
camellia-192-ofb
camellia-256-cbc
camellia-256-cfb
camellia-256-cfb1
camellia-256-cfb8
camellia-256-ecb
camellia-256-ofb
camellia128
camellia192
camellia256
cast
cast-cbc
cast5-cbc
cast5-cfb
cast5-ecb
cast5-ofb
des
des-cbc
des-cfb
des-cfb1
des-cfb8
des-ecb
des-ede
des-ede-cbc
des-ede-cfb
des-ede-ofb
des-ede3
des-ede3-cbc
des-ede3-cfb
des-ede3-cfb1
des-ede3-cfb8
des-ede3-ofb
des-ofb
des3
desx
desx-cbc
rc2
rc2-40-cbc
rc2-64-cbc
rc2-cbc
rc2-cfb
rc2-ecb
rc2-ofb
rc4
rc4-40
rc4-hmac-md5
seed
seed-cbc
seed-cfb
seed-ecb
seed-ofb
aes-128-ccm
aes-128-gcm
aes-192-ccm
aes-192-gcm
aes-256-ccm
aes-256-gcm
blowfish
id-aes128-ccm
id-aes128-gcm
id-aes192-ccm
id-aes192-gcm
id-aes256-ccm
id-aes256-gcm

九、DH组

(一)DH

DH,即Diffie-Hellman算法。在Internet这类不安全网络上,通信双方通过DH算法最终得到相同的密钥(对称密钥)。

(二)DH原理

略。

(三)DH组

dh-group— 用于密钥建立的 Diffie-Hellman 组。

group1— 768 位模指数 (MODP) 算法。

group2— 1024 位 MODP 算法。

group5— 1536 位 MODP 算法。

group14— 2048 位 MODP 组。

group15— 30​​72 位 MODP 算法。

group16— 4096 位 MODP 算法。

group19— 256 位随机椭圆曲线组以素数(ECP 组)算法为模。

group20— 384 位随机 ECP 组算法。

group21— 521 位随机 ECP 组算法。

group24— 具有 256 位素数阶子组的 2048 位 MODP 组。

建议使用group14, group15, group16, group19, group20, 或group21代替group1, group2, 或group5。

声明:转载请注明来源!

学习笔记——IPSec相关推荐

  1. 《安全测试指南》——配置管理测试【学习笔记】

    配置管理测试 1.网路和基础设置配置测试(OTG-CONFIG-001) 测试方法:已知服务器漏洞(APache.IIS等).略. 2.应用平台配置测试(OTG-CONFIG-002) 测试方法: a ...

  2. 【学习笔记】密码学入门(2) 单向散列函数,消息认证码,数字签名,证书

    [学习笔记]密码学入门(2) 单向散列函数,消息认证码,数字签名,证书 学习笔记 2 – 混合密码系统 在密码学入门(1)中提到了基本的密码形式,对称密码和公钥密码以及混合密码系统. 这一部分将学习到 ...

  3. 图解密码技术学习笔记

    主题:图解密码技术 简介:密码技术入门学习 参考:译者分享 作者:ybb 时间:2021年12月15日 周自恒直播课学习笔记 4.分组密码的模式 4.1 DES和AES作为对称加密时使用的分组密码只能 ...

  4. 学习笔记:匿名通信与暗网研究综述

    本文仅为作者学习笔记,内容源自论文"匿名通信与暗网研究综述--罗军舟等"本身以及相关网络搜索 1.匿名通信与暗网 匿名通信指采取一定的措施隐蔽通信流中的通信关系,使窃听者难以获取或 ...

  5. CoAP协议学习笔记 3.1 CoAP协议翻译 加密基础介绍

    CoAP协议学习笔记可点此查看. 1 前言 在之前的学习中,没有过多关注加密.但实际部分厂家的IoT平台(阿里云.OneNET)已经启用了相关安全处理,有必要深入学习下. 在 CoAP 协议 RFC7 ...

  6. 日志分析工具 LogParser 学习笔记

    1.LogParser是什么? 官方文档解释:log Parser是一款功能强大的多功能工具,可提供对基于文本的数据(例如日志文件,XML文件和CSV文件)以及Windows®操作系统上的关键数据源( ...

  7. 【计算机网络学习笔记17】网络安全、加密技术、“Virtual Private Network”技术

    [计算机网络学习笔记17]网络安全.加密技术."Virtual Private Network"技术 一.网络安全概述 1.1 网络系统的安全目标: 1.可用性(Availabil ...

  8. CCNP350-401学习笔记(易错题合集)

    CCNP350-401学习笔记(1-50题)_殊彦_sy的博客-CSDN博客CCNP350-401学习笔记(2023.2.17)https://blog.csdn.net/shuyan1115/art ...

  9. Rancher 系列教学视频学习笔记(1)

    Rancher 系列教学视频-学习笔记(1) 一.培训视频学习笔记1<容器管理平台Rancher官方介绍>(Rancher 1.0 发布) 视频地址:http://v.youku.com/ ...

最新文章

  1. 人工智能助力全国大学智能车竞赛
  2. Linux apache源码安装自定义Server
  3. 如何打造不怕被嗅探的3389登陆
  4. [js] 使用delete删除数组,其长度会改变吗
  5. html5手机端三级联动城市选择代码,省市县三级联动(jQuery手机端收货地址选择地区代码)...
  6. 《Linux高性能服务器编程》——2.4 IP路由
  7. Java(38)_BorderLayout布局
  8. MYSQL数据库管理与应用
  9. python分号怎么用_go、java已经python中分号的使用
  10. 千兆网线与千兆水晶头接法
  11. java 图文混排_图文混排的几种实现方案
  12. JS事件之事件绑定与事件监听
  13. python写小说阅读器_手把手教你用Python制作简易小说阅读器
  14. mirosoft Edge出现闪退怎么办
  15. Android应用禁止截屏
  16. python海龟绘图小猪佩奇_海龟绘图(Turtle Graphics)
  17. 数据湖iceberg-day02-Hive与Iceberg整合
  18. ArcGIS教程:创建面积图
  19. 达人秀计算机教学,回顾〡信息技术达人秀
  20. html跳转qq浏览器,javascript,_银联在线支付接口,qq浏览器不能跳转,javascript - phpStudy...

热门文章

  1. 编写应用程序,计算两个非零正整数的最大公约数和最小公倍数,要求两个非零正整数从键盘输入。
  2. 利用NTLDR进入RING0的方法及MGF病毒技术分析
  3. CYUSB3014 I2C eeprom 启动
  4. 百度网盘下载太慢,试试阿里云网盘?
  5. 长尾关键词排名优化技巧
  6. R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据、获取美国10年期债券收益率数据
  7. Google 人工智能基本原则
  8. 【ceph】CEPH 单活MDS主从切换流程|REPLAY
  9. UE4虚幻引擎开发手机游戏
  10. Xcode真机测试(无需开发者账号)