07-keychain配置
本章节下载: 07-keychain配置 (192.63 KB)
目 录
keychain是加密规则(key)的集合,用来为应用程序提供动态认证功能。keychain在不中断业务的前提下,通过定期更改用于认证的密钥和算法来提升网络数据传输的安全性。
keychain支持绝对时间模式,该模式的keychain中,key的生命周期是UTC(Coordinated Universal Time,国际协调时间)绝对时间,不受系统的时区和夏令时的影响。
一个keychain中的不同key可配置各自的认证密钥、认证算法和生命周期。当系统时间处于key的生命周期内时,应用程序可以利用它对发送和接收的报文进行校验。当keychain内各个key的生命周期具有连续性时,随着系统时间的推移,各个key能够依次生效,从而实现动态地更改应用程序使用的认证算法和认证密钥。
配置keychain时需要注意以下几点:
· 同一个keychain内的各个key使用send-lifetime utc指定的生命周期不可重叠,以确保在同一时刻,应用程序只使用一个key对发送的报文进行校验。
· 认证双方在同一时间内所使用的key的认证算法和认证密钥必须一致。
(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 | md5 } algorithm-id
缺省情况下,MD5认证算法的算法ID是3,HMAC-MD5认证算法的算法ID是5。
使用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-256 | md5 }
缺省情况下,未配置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指定为缺省的发送key。
缺省情况下,keychain中不存在缺省发送key。
在完成上述配置后,在任意视图下执行display命令可以显示配置后keychain的运行情况,通过查看显示信息验证配置的效果。
表1-1 keychain显示和维护
操作 |
命令 |
显示keychain信息 |
display keychain [ name keychain-name [ key key-id ] ] |
Switch A和Switch B之间建立OSPF邻居,使用keychain认证方式对发送和接收的报文进行校验。具体要求为:Switch A和Switch B的keychain中创建key 1和key 2,key 1的生命周期结束后,自动切换成key 2来对报文进行校验。
图1-1 keychain配置组网图
(1) 配置Switch A
# 配置接口的IP地址(略)。
# 配置OSPF基本功能。
<SwitchA> system-view
[SwitchA] ospf 1 router-id 1.1.1.1
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 192.1.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit
# 配置名称为abc的keychain,并指定其工作于绝对时间模式。
[SwitchA] keychain abc mode absolute
# 在keychain abc中创建key 1和key 2,并配置其认证算法、认证密钥和生命周期。
[SwitchA-keychain-abc] key 1
[SwitchA-keychain-abc-key-1] authentication-algorithm md5
[SwitchA-keychain-abc-key-1] key-string plain 123456
[SwitchA-keychain-abc-key-1] send-lifetime utc 10:00:00 2015/02/06 to 11:00:00 2015/02/06
[SwitchA-keychain-abc-key-1] accept-lifetime utc 10:00:00 2015/02/06 to 11:00:00 2015/02/06
[SwitchA-keychain-abc-key-1] quit
[SwitchA-keychain-abc] key 2
[SwitchA-keychain-abc-key-2] authentication-algorithm hmac-md5
[SwitchA-keychain-abc-key-2] key-string plain pwd123
[SwitchA-keychain-abc-key-2] send-lifetime utc 11:00:00 2015/02/06 to 12:00:00 2015/02/06
[SwitchA-keychain-abc-key-2] accept-lifetime utc 11:00:00 2015/02/06 to 12:00:00 2015/02/06
[SwitchA-keychain-abc-key-2] quit
[SwitchA-keychain-abc] quit
# 配置接口Vlan-interface 100使用keychain验证模式。
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ospf authentication-mode keychain abc
[SwitchA-Vlan-interface100] quit
(2) 配置Switch B
# 配置接口的IP地址(略)。
# 配置OSPF基本功能。
[SwitchB] ospf 1 router-id 2.2.2.2
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 192.1.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
# 配置名称为abc的keychain,并指定其工作于绝对时间模式。
[SwitchB] keychain abc mode absolute
# 在keychain abc中创建key 1和key2,并配置其认证算法、认证密钥和生命周期。
[SwitchB-keychain-abc] key 1
[SwitchB-keychain-abc-key-1] authentication-algorithm md5
[SwitchB-keychain-abc-key-1] key-string plain 123456
[SwitchB-keychain-abc-key-1] send-lifetime utc 10:00:00 2015/02/06 to 11:00:00 2015/02/06
[SwitchB-keychain-abc-key-1] accept-lifetime utc 10:00:00 2015/02/06 to 11:00:00 2015/02/06
[SwitchB-keychain-abc-key-1] quit
[SwitchB-keychain-abc] key 2
[SwitchB-keychain-abc-key-2] authentication-algorithm hmac-md5
[SwitchB-keychain-abc-key-2] key-string plain pwd123
[SwitchB-keychain-abc-key-2] send-lifetime utc 11:00:00 2015/02/06 to 12:00:00 2015/02/06
[SwitchB-keychain-abc-key-2] accept-lifetime utc 11:00:00 2015/02/06 to 12:00:00 2015/02/06
[SwitchB-keychain-abc-key-2] quit
[SwitchB-keychain-abc] quit
# 配置接口Vlan-interface 100使用keychain验证模式。
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] ospf authentication-mode keychain abc
[SwitchB-Vlan-interface100] quit
(1) 当系统时间处于2015/02/06的10:00:00到11:00:00时,通过查看以下信息来确认keychain的运行状态。
# 查看Switch A的keychain信息,发现key 1为有效key。
[SwitchA] display keychain
Keychain name : abc
Mode : absolute
Accept tolerance : 0
TCP kind value : 254
TCP algorithm value
HMAC-MD5 : 5
MD5 : 3
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 2015/02/06 to 11:00:00 2015/02/06
Send status : Active
Accept lifetime : 10:00:00 2015/02/06 to 11:00:00 2015/02/06
Accept status : Active
Key ID : 2
Key string : $c$3$7TSPbUxoP1ytOqkdcJ3K3x0BnXEWl4mOEw==
Algorithm : hmac-md5
Send lifetime : 11:00:00 2015/02/06 to 12:00:00 2015/02/06
Send status : Inactive
Accept lifetime : 11:00:00 2015/02/06 to 12:00:00 2015/02/06
Accept status : Inactive
# 查看Switch B的keychain信息,发现key 1为有效key。
[SwitchB]display keychain
Keychain name : abc
Mode : absolute
Accept tolerance : 0
TCP kind value : 254
TCP algorithm value
HMAC-MD5 : 5
MD5 : 3
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 2015/02/06 to 11:00:00 2015/02/06
Send status : Active
Accept lifetime : 10:00:00 2015/02/06 to 11:00:00 2015/02/06
Accept status : Active
Key ID : 2
Key string : $c$3$t4qHAw1hpZYN0JKIEpXPcMFMVT81u0hiOw==
Algorithm : hmac-md5
Send lifetime : 11:00:00 2015/02/06 to 12:00:00 2015/02/06
Send status : Inactive
Accept lifetime : 11:00:00 2015/02/06 to 12:00:00 2015/02/06
Accept status : Inactive
(2) 当系统时间处于2015/02/06的11:00:00到12:00:00时,通过查看以下信息来确认keychain的运行状态。
# 查看Switch A的keychain信息,发现key 2为有效key。
[SwitchA]display keychain
Keychain name : abc
Mode : absolute
Accept tolerance : 0
TCP kind value : 254
TCP algorithm value
HMAC-MD5 : 5
MD5 : 3
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 2015/02/06 to 11:00:00 2015/02/06
Send status : Inactive
Accept lifetime : 10:00:00 2015/02/06 to 11:00:00 2015/02/06
Accept status : Inactive
Key ID : 2
Key string : $c$3$7TSPbUxoP1ytOqkdcJ3K3x0BnXEWl4mOEw==
Algorithm : hmac-md5
Send lifetime : 11:00:00 2015/02/06 to 12:00:00 2015/02/06
Send status : Active
Accept lifetime : 11:00:00 2015/02/06 to 12:00:00 2015/02/06
Accept status : Active
# 查看Switch B的keychain信息,发现key 2为有效key。
[SwitchB]display keychain
Keychain name : abc
Mode : absolute
Accept tolerance : 0
TCP kind value : 254
TCP algorithm value
HMAC-MD5 : 5
MD5 : 3
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 2015/02/06 to 11:00:00 2015/02/06
Send status : Inactive
Accept lifetime : 10:00:00 2015/02/06 to 11:00:00 2015/02/06
Accept status : Inactive
Key ID : 2
Key string : $c$3$t4qHAw1hpZYN0JKIEpXPcMFMVT81u0hiOw==
Algorithm : hmac-md5
Send lifetime : 11:00:00 2015/02/06 to 12:00:00 2015/02/06
Send status : Active
Accept lifetime : 11:00:00 2015/02/06 to 12:00:00 2015/02/06
Accept status : Active
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!