• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

Keychain技术白皮书



1 概述

1.1 产生背景

在实际组网中,为防止协议模拟攻击对设备造成危害,常常对设备路由协议进行加密,密钥无法匹配的对端路由器,无法和本端建立邻居关系,从而对设备造成危害。常规的加密都是在设备静态配置的,无法根据时间段来制定密钥的生效与否。

1.2 技术优点

l keychain是加密规则(key)的集合,用来为应用程序提供动态认证功能。

l keychain在不中断业务的前提下,通过定期更改用于认证的密钥和算法来提升网络数据传输的安全性。

2 技术实现

2.1 概念介绍

2.1.1 时间模式

发送时间和接收时间可以配置为绝对时间模式和周期时间模式。

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

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

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

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

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

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

在Keychain创建时就需要指定时间模式,key-id的发送和接收时间根据Keychain的时间模式进行配置。

2.1.2 验证字标识符

keychain是一系列key-id的集合,key-id用来唯一表示认证信息。认证信息包括认证密码和认证算法。通过设置key-id的接收和发送时间实现动态变更认证信息。

活跃的发送key-id,当key-id处于系统配置的发送时间范围内时,该key-id处于活跃状态,key-id使用配置好的认证算法和认证。当应用程序发送报文生成信息认证码(Message Authentication Code,MAC)时,使用key-id携带的认证信息。

活跃的接收key-id,当key-id处于系统配置的接收时间范围内时,该key-id处于活跃状态,key-id使用配置好的认证算法和认证。当应用程序接收到报文,验证生成信息认证码(Message Authentication Code,MAC)时,使用key-id携带的认证信息。

同一网段的接口的验证字口令必须相同,可指定使用MD5/HMAC-MD5/HMAC-SHA-256验证方式、简单验证方式或keychain验证方式,但不能同时指定;使用MD5/HMAC-MD5/HMAC-SHA-256验证方式时,可配置多条MD5/HMAC-MD5/HMAC-SHA-256验证命令,但key-id是唯一的,同一key-id只能配置一个验证字。

2.1.3 认证算法

keychain支持hmac-md5、hmac-sha-1、hmac-sha-256 、md5认证算法:

l MD5/HMAC-MD5验证模式下,明文密钥为1~16个字符的字符串;密文密钥为33~53个字符的字符串。

l HMAC-SHA-256验证模式下,明文密钥为1~255个字符的字符串;密文密钥为33~373个字符的字符串。

2.1.4 认证密钥

l Cipher方式密钥:以密文方式设置密钥。密文密钥为33~41个字符的字符串;

l Plain方式密钥:以明文方式设置密钥,该密钥将以密文形式存储。明文密钥为1~8个字符的字符串。

2.1.5 接收容忍时间

当路由器上的发送key-id发生改变时,对应的接收key-id也必须立即发生改变。由于时间是不同步的,在两个路由器上的key-id发生改变时,可以会有时间延迟。在该时间段,由于key-id的不一致将导致报文丢失。为了避面该情况出现,需要在接收key-id发生切换时有一个平滑的过渡,因此在一个优雅的时间段,允许两个接收key-id同时应用。

这个优雅的时间段称为接收容忍时间,只能对接收key-id应用。配置接收容忍时间,接收key-id的启动和结束时间都将做相应的延长。可以在每一个keychain中配置接收容忍时间。

2.2 工作机制

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

3 配置注意

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

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

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

4 典型配置

典型组网如下所示:Router A和Router B之间建立OSPF邻居,使用keychain认证方式对发送和接收的报文进行校验。具体要求为:Router A和Router B的keychain中创建key 1和key 2,key 1的生命周期结束后,自动切换成key 2来对报文进行校验。2015/02/06的10:00:00到11:00:00时使用key1中指定明文密钥123456,md5认证算法,进行认证。2015/02/06的11:00:00到12:00:00时使用key2中指定明文密钥pwd123,hmac-md5认证算法进行认证。

新华三官网
联系我们