07-keychain配置
本章节下载: 07-keychain配置 (195.78 KB)
keychain是加密规则(key)的集合,用来为应用程序提供动态认证功能。keychain在不中断业务的前提下,通过定期更改用于认证的密钥和算法来提升网络数据传输的安全性。
一个keychain中的不同key可配置各自的认证密钥、认证算法和生命周期。key由认证密钥、认证算法和生命周期三部分组成。一个keychain中不同key的认证密钥、认证算法和生命周期可以不同。当系统时间处于key的生命周期内时,应用程序可以利用它对发送和接收的报文进行校验。当keychain内各个key的生命周期具有连续性时,随着系统时间的推移,各个key能够依次生效,从而实现动态地更改应用程序使用的认证算法和认证密钥。
keychain支持绝对时间模式,该模式的keychain中,key的生命周期是UTC(Coordinated Universal Time,国际协调时间)绝对时间,不受系统的时区和夏令时的影响。
配置时需要注意以下几点:
· 同一个keychain内的各个key使用send-lifetime utc指定的生命周期不可重叠,以确保在同一时刻,应用程序只使用一个key对发送的报文进行校验。
· 认证双方在同一时间内所使用的key的认证算法和认证密钥必须一致。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建keychain,并进入keychain视图 |
keychain keychain-name [ mode absolute ] |
缺省情况下,不存在keychain |
(可选)配置TCP增强认证选项中的类型值 |
tcp-kind kind-value |
缺省情况下,TCP增强认证选项中的类型值为254 当使用TCP作为传输层协议与第三方设备互通时,本端和对端的类型值必须一致。如果不一致,则需要在本端配置本命令 |
(可选)配置TCP认证算法对应的算法ID |
tcp-algorithm-id { hmac-md5 | md5 } algorithm-id |
缺省情况下,MD5认证算法的算法ID是3,HMAC-MD5认证算法的算法ID是5 当使用TCP作为传输层协议与第三方设备互通时,本端和对端的类型值必须一致。如果不一致,则需要在本端配置本命令 |
(可选)为keychain中的key延长其在报文接收时的生命周期 |
accept-tolerance { value | infinite } |
缺省情况下,没有为keychain中的key延长其在报文接收时的生命周期 |
创建一个key,并进入key视图 |
key key-id |
缺省情况下,不存在key |
配置认证算法 |
authentication-algorithm { hmac-md5 | hmac-sha-256 | md5 } |
缺省情况下,未配置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的生命周期 |
(可选)为keychain指定缺省发送key |
default-send-key |
缺省情况下,keychain中不存在缺省发送key |
在完成上述配置后,在任意视图下执行display命令可以显示配置后keychain的运行情况,通过查看显示信息验证配置的效果。
表1-2 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!