仲伟强,韩 涛
(卡斯柯信号有限公司, 北京 100070)
在分布式系统中,运行的设备需要根据用户要求频繁更新配置数据,为了确认设备上更新的配置数据正确性,通常采用在PC机或设备的维护终端回读配置数据的版本信息,然后再人工确认的方式。上述方法存在如下缺点。
1)PC机或设备的维护终端通常不是安全设备,其中可能保存过时的配置数据版本信息,从而可能导致其显示出的配置数据版本信息与其回读到的版本信息不一致的。
2)即使显示出的配置数据版本信息与回读到的一致,但在人工确认环节存在人为失误的风险。例如,配置到设备上的数据版本错误且该错误的版本信息已被PC机或维护终端正确地回读并显示,但人工确认错误也将导致设备上运行了错误版本的数据。
3)即使数据版本信息正确,但数据不一定被配置到了正确的设备上。例如分布式系统中存在相同的多个设备,但每个设备需要配置不同的数据,此时就存在数据配置错误的风险。
4)本方法采用了安全算法将设备的特征信息生成校验码并通过比对校验码的一致性来判断配置到设备上的数据是正确的,整个校验过程由设备自动完成无需人工干预,既提高了工作效率,也避免了人工介入引起的风险。
特征信息包含以下几种:
1)分布式系统所在的地理位置编号:用于区分不同的分布式系统,同一分布式系统中的设备,该编号相同;
2)分布式系统中各设备的编号:用于区分同一分布式系统中的设备,同一分布式系统中不同的设备,该编号不同;
3)各设备上配置的硬件版本:用于区分设备的不同硬件配置,硬件配置不同,硬件版本号不同;
4)各设备上配置的数据版本:用于区分设备的不同数据配置,数据配置不同,数据版本号不同;
5)各设备上配置的软件版本:用于区分设备的不同软件配置,软件配置不同,软件版本号不同。
一方面,采用安全算法生成校验码后,通过专用设备进行存储;另一方面,将上述特征信息写入到配置数据中,在分布式系统设备上配置数据时,需要同时配置生成的校验码。配置完数据后,设备初始化过程中,采用相同算法,将写入到配置数据中的特征信息在线生成校验码,然后与存储在专用设备上的校验码进行比对。如果一致,则系统完成初始化并投入运行;否则,将初始化失败,无法投入运行。
整体流程如图1所示。
采用如下安全算法生成校验码,如果由于特征信息的存储设备发生随机性失效时,也会在设备初始化过程中被检查出来:
其中:
i=1,2,3……n,n为特征信息的个数;
j=1,2,3……m,m为分布式系统设备的运算通道个数;
CheckSumj:运算通道j的校验码;
Xi:第i个特征信息;
Aj:计算运算通道j校验码所使用的常量(作为取模运算的常量);
θj:计算运算通道j校验码所使用的常量(作为卷积运算的常量);
Sigj(i):与第i个特征信息对应的第j个运算通道的签名;
Mod:取模运算。
基于加密设备特征信息的配置数据自动校验方法应用如图2所示,在数据配置及校验过程的应用场景,包含以下几个步骤。
图2 应用示意Fig.2 Application schematic
1)生成离线校验码
a.通过PC,采用安全算法,将如图3所示的A、B、C设备特征信息离线生成如图4所示的校验码。
b.并将生成的校验码导入存储校验码的专用设备上。
c.通过存储校验码的专用设备,将校验码导入现场设备中。
2)添加特征信息到数据中
a.将设备的特征信息添加到要配置的数据中。
图3 特征信息Fig.3 Characteristic information
图4 校验码Fig.4 Check sum
b.将编译好的数据导入到存储数据设备中。
c.通过存储数据设备,将校验数据导入现场设备中。
3)生成在线校验码
a.现场设备将导入的数据中的特征信息进行提取。
b.采用相同的安全算法,将提取的特征信息在线生成校验码。
4)在线校核
现场设备将导入的校验码与在线生成的校验码进行比对。如果一致,则初始化成功;否则,初始化失败。
与现有技术相比,本方法具有如下优点。
1)无需对配置的数据版本信息进行回读,避免了在回读过程中引入的读错、显示错误的风险。
2)通过将设备的特征信息生成校验码来自动校验配置数据版本的正确性,避免了人工确认失误的风险。
3)采用了安全算法生成校验码,如果保存该校验码的专用设备故障而导致校验码错误,也会在设备初始化过程中被检查出来。
4)无需携带PC也可完成配置数据版本校验工作。