学习笔记——IPSec

2023-11-13

目录

一、整个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。
 

声明:转载请注明来源!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习笔记——IPSec 的相关文章

随机推荐

  • 光控照明灯自动开关

    该光控照明灯自动开关电路采用继电器控制方式 可用来控制普通灯泡 日光灯 节能灯等多种照明灯具 可广泛用于车站 码头 机场等夜间需要连续照明的场所 电路结构与特点 如图所示光控照明灯自动开关电路 不仅具有结构简单 稳定可靠和安装方便等优点 而
  • LSTM这一篇就够了

    转自AI大本营https blog csdn net dQCFKyQDXYm3F8rB0 article details 82922386 短时记忆 NN 会受到短时记忆的影响 如果一条序列足够长 那它们将很难将信息从较早的时间步传送到后面
  • (2)Qt中的字符串类型

    字节数组 QByteArray 在Qt中QByteArray可以看做是C语言中 char 的升级版本 我们在使用这种类型的时候可通过这个类的构造函数申请一块动态内存 用于存储我们需要处理的字符串数据 1 构造函数 构造空对象 QByteAr
  • 记录一次合并单元格表格渲染错位问题。

    renderData this mergeSpanArr 系统名称合并的数组 this mergeSpanArrIndex 0 this zuhuSpanArr 租户合并列表 this zuhuSpanArrIndex 0 租户合并索引 l
  • 电脑怎么开启vt_华擎开启VT的方法

    第一步 重启电脑 屏幕亮起后不断按下 F2 键 进入BIOS页面 开机速度太快无法进入BIOS怎么办 第二步 在菜单中找到VT选项并开启 不同型号的主板 BIOS界面不相同 VT的叫法也不相同 1 进入BIOS页面后 找到 Advanced
  • 驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!

    同学们 抖音买家秀中的那些极具设计感的作品是怎么来的 你还在羡慕别人的绘画天赋 对着空白的画纸发呆吗 有没有想过将生硬的代码和灵动的艺术完美融合 有没有感到现代技术带来了戏剧性改变 从替代马车的汽车 到取代传统影像的数字摄影 再到今天的AI
  • Spring Expression Language(SpEL)实现ABAC鉴权模型, 动态计算实体的属性、操作类型、相关的环境来控制是否有对操作对象的权限

    author changjin wei 魏昌进 since 2022 11 26 ABAC授权模型 常用的授权模型 ABAC的访问控制 表达式语言 SpEL性能 ABAC实践 数据库设计 java程序 crud代码 security上下文
  • 使用jackson实现对象json相互转换(spring boot)

    之前的json转对象 对象转json 总是比较繁琐 不够简洁 自从接触到jackson之后 发现原来对象和json转换可以这么简单 拿一个天气预报的小例子来说明一下 如下图 若是有小误 还望指正 不说 直接上码 首先 在pom xml里弄好
  • 图像分辨率测试ISO12233 - 2017中文翻译

    译者序 目前的摄像头分辨率的测试 大多遵循ISO 12233标准 最近下载一份英文版的文档 和大家一起分享 仅供学习使用 目录 ISO 12233 Third Edition 2017 01 Foreword 前言 Introduction
  • Ant Design pro入门

    Ant Design pro入门 前言 一 了解Ant Design pro 二 使用步骤 1 快速入门 2 ant pro菜单 路由 前言 读此文章需要优先掌握知识 1 React 2 ts 3 Ant Design 一 了解Ant De
  • NLP学习(一)基础篇

    一 前言 2016年3月9日至15日和2017年5月23日至27日 分别在韩国首尔和中国嘉兴乌镇 韩国围棋九段棋手李世石 中国围棋九段棋手柯洁与人工智能围棋程序 阿尔法围棋 AlphaGo 之间的两场比赛 人类均以失败告终 更是激起了各种
  • 深度学习课程设计

    1 安装TensorFlow windows 命令窗口 pip install tensorflow 我之前已经安装过python 可能是因为安装python也安装了pip所以可以直接使用pip命令 之前下载过pycharm 但是没有激活
  • Ubuntu系统下pycharm导入numpy、sklearn等各类包的方法

    本方法适用于无法导入numpy pandas matplotlib sklearn等包 1 打开pycharm 点击左上角file gt setting gt Project gt Python Interpreter 2 点击 号后显示下
  • win10环境变量path误删(windows找不到文件%windir%\systempropertiesadvanced.exe)的解决办法

    首先给出错误 windows找不到文件 windir systempropertiesadvanced exe请确定文件是否正确后 再试一次 当时看到这个错误我真是绝望了 因为我各种百度找path变量怎么恢复 结果百度给一堆环境变量的设置方
  • java实现:《操作系统实验三》模拟内存管理

    固定分区分配 固定分区分配是最简单的一种多道程序存储管理方式 它将用户内存空间划分为若干个固定大小的区域 每个分区只装入一道作业 当有空闲分区时 便可以再从外存的后背作业队列中 选择适当大小的作业装入该分区 如此循环 优缺点 分区大小相等
  • MES管理系统在电子行业的作用和效益

    电子行业近年来发展很好 特别是MES管理系统对于生产的帮助 电子行业MES管理系统促进了行业的数字化转型 从而提高电子行业高效管理 使企业效益最大化 电子行业现状 1 产品 顶级企业只负责设计与销售 对于涉及制造的各级企业产品较多 并且产品
  • win版本的sqlmap报错解决

    原来好好地环境突然报如下错 查了好久资料 竟然没人遇到过 解决方法 python sqlmap py update 没想到吧 完美解决 原来是版本低的原因 我也是醉了 以此记录下
  • Nginx中location规则 与 URL重写(rewrite)详解

    1 Nginx中location与rewrite 1 1 location与rewrite常用的正则表达式 符号 作用 匹配输入字符串的起始位置 匹配输入字符串的结束位置 匹配前面的字符零次或多次 如 ol 能匹配 o 及 ol oll 匹
  • matlab转化上三角矩阵,怎么样把矩阵H变成【A B】,A为上三角矩阵

    p eye 21 21 p1 eye 21 21 pm c zeros 252 672 a1 1 21 a2 22 42 a3 43 63 a4 64 84 a5 85 105 a6 106 126 a7 127 147 a8 148 16
  • 学习笔记——IPSec

    目录 一 整个IPsec工作过程 二 IKE阶段1 三 IKE阶段2 四 IPsec协议 五 华为设备配置命令 一 安全提议 xxx proposal 二 IKE对等体 ike peer 三 IPSec安全框架 ipsec profile