• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

19-安全配置指导

目录

02-keychain配置

本章节下载 02-keychain配置  (209.31 KB)

02-keychain配置


1 keychain

1.1  keychain简介

keychain是加密规则(key)的集合,用来为应用程序提供动态认证功能。keychain在不中断业务的前提下,通过定期更改用于认证的密钥和算法来提升网络数据传输的安全性。

1.1.1  keychain的工作机制

一个keychain中的不同key可配置各自的认证密钥、认证算法和生命周期。当系统时间处于key的生命周期内时,应用程序可以利用它对发送和接收的报文进行校验。当keychain内各个key的生命周期具有连续性时,随着系统时间的推移,各个key能够依次生效,从而实现动态地更改应用程序使用的认证算法和认证密钥。

1.1.2  keychain的时间模式

keychain支持绝对时间模式和周期性时间模式,不同时间模式下,key的生命周期不同:

·     绝对时间模式:该模式的keychain中,key的生命周期是UTC(Coordinated Universal Time,国际协调时间)绝对时间,不受系统的时区和夏令时的影响。

·     周期性时间模式:该模式的keychain中,key的生命周期是根据系统的本地时间计算的,会受到系统的时区和夏令时的影响。包括以下四种模式:

¡     daily:按天的周期性时间模式,key的生命周期是从一天之内的指定起始时间到指定结束时间,每天重复。

¡     weekly:按周的周期性时间模式,key的生命周期是从一周之内的指定起始日到指定结束日,每周重复。

¡     monthly:按月的周期性时间模式,key的生命周期是从一月之内的指定起始日期到指定结束日期,每月重复。

¡     yearly:按年的周期性时间模式,key的生命周期是从一年之内的指定起始月到指定结束月,每年重复。

1.2  keychain配置限制和指导

配置keychain时需要注意以下几点:

·     同一个keychain内的各个key使用send-lifetime指定的生命周期不可重叠,以确保在同一时刻,应用程序只使用一个key对发送的报文进行校验。

·     认证双方在同一时间内所使用的key的认证算法和认证密钥必须一致。

1.3  配置绝对时间模式的keychain

(1)     进入系统视图。

system-view

(2)     创建keychain,并进入keychain视图。

keychain keychain-name mode absolute

(3)     (可选)配置TCP认证。

¡     配置TCP增强认证选项中的类型值。

tcp-kind kind-value

缺省情况下,TCP增强认证选项中的类型值为254。

¡     配置TCP认证算法对应的算法ID。

tcp-algorithm-id { hmac-md5 | hmac-sha-256 | hmac-sm3 | md5 | sm3 } algorithm-id

缺省情况下,MD5认证算法的算法ID是3,HMAC-MD5认证算法的算法ID是5,HMAC-SHA-256认证算法的算法ID是7,SM3认证算法的算法ID是51,HMAC-SM3认证算法的算法ID是52。

使用TCP作为传输层协议的通信双方,类型值及相同的算法ID对应的认证算法必须一致。在与友商设备互通时,请检查类型值及算法ID的配置,确保两端一致。

(4)     (可选)延长key在报文接收时的生命周期。

accept-tolerance { value | infinite }

缺省情况下,没有为keychain中的key延长其在报文接收时的生命周期。

用户需要修改认证双方的校验信息时,可能会出现由于校验信息的不匹配导致的业务中断。为了避免上述情况的发生,可使用该命令为应用协议提供不中断其业务的报文校验服务。

(5)     创建一个key,并进入key视图。

key key-id

(6)     配置key。

¡     配置key的认证算法。

authentication-algorithm { hmac-md5 | hmac-sha-1 | hmac-sha-256 | hmac-sm3 | md5 | sm3 }

缺省情况下,未配置key的认证算法。

¡     配置key的认证密钥。

key-string { cipher | plain } string

缺省情况下,未配置key的认证密钥。

¡     配置用来校验发送报文时key的UTC模式的生命周期。

send-lifetime utc start-time start-date { duration { duration-value | infinite } | to end-time end-date }

缺省情况下,未配置用来校验发送报文时key的生命周期。

¡     配置用来校验接收报文时key的UTC模式的生命周期。

accept-lifetime utc start-time start-date { duration { duration-value | infinite } | to end-time end-date }

缺省情况下,未配置用来校验接收报文时key的生命周期。

¡     (可选)将当前key指定为keychain的缺省发送key。

default-send-key

缺省情况下,keychain中不存在缺省发送key。

同一个keychain中,只能将一个key指定为缺省的发送key。

1.4  配置周期性时间模式的keychain

(1)     进入系统视图。

system-view

(2)     创建keychain,并进入keychain视图。

keychain keychain-name mode periodic { daily | monthly | weekly | yearly }

(3)     (可选)配置TCP认证。

¡     配置TCP增强认证选项中的类型值。

tcp-kind kind-value

缺省情况下,TCP增强认证选项中的类型值为254。

¡     配置TCP认证算法对应的算法ID。

tcp-algorithm-id { hmac-md5 | hmac-sha-256 | hmac-sm3 | md5 | sm3 } algorithm-id

缺省情况下,MD5认证算法的算法ID是3,HMAC-MD5认证算法的算法ID是5,HMAC-SHA-256认证算法的算法ID是7,SM3认证算法的算法ID是51,HMAC-SM3认证算法的算法ID是52。

使用TCP作为传输层协议的通信双方,类型值及相同的算法ID对应的认证算法必须一致。在与友商设备互通时,请检查类型值及算法ID的配置,确保两端一致。

(4)     (可选)为keychain中的key延长其在报文接收时的生命周期。

accept-tolerance { value | infinite }

缺省情况下,没有为keychain中的key延长其在报文接收时的生命周期。

用户需要修改认证双方的校验信息时,可能会出现由于校验信息的不匹配导致的业务中断。为了避免上述情况的发生,可使用该命令为应用协议提供不中断其业务的报文校验服务。

(5)     在keychain中添加key。

¡     创建一个key,并进入key视图。

key key-id

(6)     配置key。

¡     配置key的认证算法。

authentication-algorithm { hmac-md5 | hmac-sha-1 | hmac-sha-256 | hmac-sm3 | md5 | sm3 }

缺省情况下,未配置key的认证算法。

¡     配置key的认证密钥。

key-string { cipher | plain } string

缺省情况下,未配置key的认证密钥。

¡     配置用来校验发送报文时key的周期性时间模式的生命周期。请选择其中一项进行配置。

send-lifetime daily start-day-time to end-day-time

send-lifetime date { month-day&<1-31> | start-month-day to end-month-day }

send-lifetime day { week-day | start-week-day to end-week-day }

send-lifetime month { month | start-month to end-month }

缺省情况下,未配置用来校验发送报文时key的生命周期。

¡     配置用来校验接收报文时key的周期性时间模式的生命周期。请选择其中一项进行配置。

accept-lifetime daily start-day-time to end-day-time

accept-lifetime date { month-day&<1-31> | start-month-day to end-month-day }

accept-lifetime day { week-day | start-week-day to end-week-day }

accept-lifetime month { month | start-month to end-month }

缺省情况下,未配置用来校验接收报文时key的生命周期。

¡     (可选)将当前key指定为keychain的缺省发送key。

default-send-key

缺省情况下,keychain中不存在缺省发送key。

同一个keychain中,只能将一个key指定为缺省的发送key。

1.5  keychain显示和维护

可在任意视图下执行以下命令,显示keychain信息。

display keychain [ name keychain-name [ key key-id ] ]

1.6  keychain典型配置举例

1.6.1  keychain基本功能配置举例

1. 组网需求

Router A和Router B之间建立OSPF邻居,使用keychain认证方式对发送和接收的报文进行校验。具体要求为:Router A和Router B的keychain中创建key 1和key 2,key 1的生命周期结束后,自动切换成key 2来对报文进行校验。

2. 组网图

图1-1 keychain配置组网图

3. 配置步骤

(1)     配置Router A

# 配置接口的IP地址(略)。

# 配置OSPF基本功能。

<RouterA> system-view

[RouterA] ospf 1 router-id 1.1.1.1

[RouterA-ospf-1] area 0

[RouterA-ospf-1-area-0.0.0.0] network 192.1.1.0 0.0.0.255

[RouterA-ospf-1-area-0.0.0.0] quit

[RouterA-ospf-1] quit

# 配置名称为abc的keychain,并指定其工作于绝对时间模式。

[RouterA] keychain abc mode absolute

# 在keychain abc中创建key 1和key 2,并配置其认证算法、认证密钥和生命周期。

[RouterA-keychain-abc] key 1

[RouterA-keychain-abc-key-1] authentication-algorithm md5

[RouterA-keychain-abc-key-1] key-string plain 123456

[RouterA-keychain-abc-key-1] send-lifetime utc 10:00:00 2019/02/06 to 11:00:00 2019/02/06

[RouterA-keychain-abc-key-1] accept-lifetime utc 10:00:00 2019/02/06 to 11:00:00 2019/02/06

[RouterA-keychain-abc-key-1] quit

[RouterA-keychain-abc] key 2

[RouterA-keychain-abc-key-2] authentication-algorithm hmac-md5

[RouterA-keychain-abc-key-2] key-string plain pwd123

[RouterA-keychain-abc-key-2] send-lifetime utc 11:00:00 2019/02/06 to 12:00:00 2019/02/06

[RouterA-keychain-abc-key-2] accept-lifetime utc 11:00:00 2019/02/06 to 12:00:00 2019/02/06

[RouterA-keychain-abc-key-2] quit

[RouterA-keychain-abc] quit

# 配置接口GigabitEthernet0/0/1使用keychain验证模式。

[RouterA] interface GigabitEthernet0/0/1

[RouterA-GigabitEthernet0/0/1] ospf authentication-mode keychain abc

[RouterA-GigabitEthernet0/0/1] quit

(2)     配置Router B

# 配置接口的IP地址(略)。

# 配置OSPF基本功能。

<RouterB> system-view

[RouterB] ospf 1 router-id 2.2.2.2

[RouterB-ospf-1] area 0

[RouterB-ospf-1-area-0.0.0.0] network 192.1.1.0 0.0.0.255

[RouterB-ospf-1-area-0.0.0.0] quit

[RouterB-ospf-1] quit

# 配置名称为abc的keychain,并指定其工作于绝对时间模式。

[RouterB] keychain abc mode absolute

# 在keychain abc中创建key 1和key2,并配置其认证算法、认证密钥和生命周期。

[RouterB-keychain-abc] key 1

[RouterB-keychain-abc-key-1] authentication-algorithm md5

[RouterB-keychain-abc-key-1] key-string plain 123456

[RouterB-keychain-abc-key-1] send-lifetime utc 10:00:00 2019/02/06 to 11:00:00 2019/02/06

[RouterB-keychain-abc-key-1] accept-lifetime utc 10:00:00 2019/02/06 to 11:10:00 2019/02/06

[RouterB-keychain-abc-key-1] quit

[RouterB-keychain-abc] key 2

[RouterB-keychain-abc-key-2] key-string plain pwd123

[RouterB-keychain-abc-key-2] authentication-algorithm hmac-md5

[RouterB-keychain-abc-key-2] send-lifetime utc 11:00:00 2019/02/06 to 12:00:00 2019/02/06

[RouterB-keychain-abc-key-2] accept-lifetime utc 11:00:00 2019/02/06 to 12:00:00 2019/02/06

[RouterB-keychain-abc-key-2] quit

[RouterB-keychain-abc] quit

# 配置接口GigabitEthernet0/0/1使用keychain验证模式。

[RouterB] interface GigabitEthernet0/0/1

[RouterB-GigabitEthernet0/0/1] ospf authentication-mode keychain abc

[RouterB-GigabitEthernet0/0/1] quit

4. 验证配置

(1)     当系统时间处于2019/02/06的10:00:00到11:00:00时,通过查看以下信息来确认keychain的运行状态。

# 查看Router A的keychain信息,发现key 1为有效key。

[RouterA] display keychain

 

 Keychain name          : abc

   Mode                 : absolute

   Accept tolerance     : 0

   TCP kind value       : 254

   TCP algorithm value

     HMAC-MD5           : 5

     HMAC-SHA-256       : 7

     MD5                : 3

     HMAC-SM3           : 52

     SM3                : 51

   Default send key ID  : None

   Active send key ID   : 1

   Active accept key IDs: 1

 

   Key ID               : 1

     Key string         : $c$3$dYTC8QeOKJkwFwP2k/rWL+1p6uMTw3MqNg==

     Algorithm          : md5

     Send lifetime      : 10:00:00 2019/02/06 to 11:00:00 2019/02/06

     Send status        : Active

     Accept lifetime    : 10:00:00 2019/02/06 to 11:00:00 2019/02/06

     Accept status      : Active

 

   Key ID               : 2

     Key string         : $c$3$7TSPbUxoP1ytOqkdcJ3K3x0BnXEWl4mOEw==

     Algorithm          : hmac-md5

     Send lifetime      : 11:00:00 2019/02/06 to 12:00:00 2019/02/06

     Send status        : Inactive

     Accept lifetime    : 11:00:00 2019/02/06 to 12:00:00 2019/02/06

     Accept status      : Inactive

# 查看Router B的keychain信息,发现key 1为有效key。

[RouterB]display keychain

 

 Keychain name          : abc

   Mode                 : absolute

   Accept tolerance     : 0

   TCP kind value       : 254

   TCP algorithm value

     HMAC-MD5           : 5

     HMAC-SHA-256       : 7

     MD5                : 3

     HMAC-SM3           : 52

     SM3                : 51

   Default send key ID  : None

   Active send key ID   : 1

   Active accept key IDs: 1

 

   Key ID               : 1

     Key string         : $c$3$/G/Shnh6heXWprlSQy/XDmftHa2JZJBSgg==

     Algorithm          : md5

     Send lifetime      : 10:00:00 2019/02/06 to 11:00:00 2019/02/06

     Send status        : Active

     Accept lifetime    : 10:00:00 2019/02/06 to 11:00:00 2019/02/06

     Accept status      : Active

 

   Key ID               : 2

     Key string         : $c$3$t4qHAw1hpZYN0JKIEpXPcMFMVT81u0hiOw==

     Algorithm          : hmac-md5

     Send lifetime      : 11:00:00 2019/02/06 to 12:00:00 2019/02/06

     Send status        : Inactive

     Accept lifetime    : 11:00:00 2019/02/06 to 12:00:00 2019/02/06

     Accept status      : Inactive

(2)     当系统时间处于2019/02/06的11:10:00到12:00:00时,通过查看以下信息来确认keychain的运行状态。

# 查看Router A的keychain信息,发现key 2为有效key。

[RouterA]display keychain

 

 Keychain name          : abc

   Mode                 : absolute

   Accept tolerance     : 0

   TCP kind value       : 254

   TCP algorithm value

     HMAC-MD5           : 5

     HMAC-SHA-256       : 7

     MD5                : 3

     HMAC-SM3           : 52

     SM3                : 51

   Default send key ID  : None

   Active send key ID   : 2

   Active accept key IDs: 2

 

   Key ID               : 1

     Key string         : $c$3$dYTC8QeOKJkwFwP2k/rWL+1p6uMTw3MqNg==

     Algorithm          : md5

     Send lifetime      : 10:00:00 2019/02/06 to 11:00:00 2019/02/06

     Send status        : Inactive

     Accept lifetime    : 10:00:00 2019/02/06 to 11:00:00 2019/02/06

     Accept status      : Inactive

 

   Key ID               : 2

     Key string         : $c$3$7TSPbUxoP1ytOqkdcJ3K3x0BnXEWl4mOEw==

     Algorithm          : hmac-md5

     Send lifetime      : 11:00:00 2019/02/06 to 12:00:00 2019/02/06

     Send status        : Active

     Accept lifetime    : 11:00:00 2019/02/06 to 12:00:00 2019/02/06

     Accept status      : Active

# 查看Router B的keychain信息,发现key 2为有效key。

[RouterB]display keychain

 

 Keychain name          : abc

   Mode                 : absolute

   Accept tolerance     : 0

   TCP kind value       : 254

   TCP algorithm value

     HMAC-MD5           : 5

     HMAC-SHA-256       : 7

     MD5                : 3

     HMAC-SM3           : 52

     SM3                : 51

   Default send key ID  : None

   Active send key ID   : 1

   Active accept key IDs: 1

 

   Key ID               : 1

     Key string         : $c$3$/G/Shnh6heXWprlSQy/XDmftHa2JZJBSgg==

     Algorithm          : md5

     Send lifetime      : 10:00:00 2019/02/06 to 11:00:00 2019/02/06

     Send status        : Inactive

     Accept lifetime    : 10:00:00 2019/02/06 to 11:00:00 2019/02/06

     Accept status      : Inactive

 

   Key ID               : 2

     Key string         : $c$3$t4qHAw1hpZYN0JKIEpXPcMFMVT81u0hiOw==

     Algorithm          : hmac-md5

     Send lifetime      : 11:00:00 2019/02/06 to 12:00:00 2019/02/06

     Send status        : Active

     Accept lifetime    : 11:00:00 2019/02/06 to 12:00:00 2019/02/06

     Accept status      : Active

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们