仲偉強,韓 濤
(卡斯柯信號有限公司, 北京 100070)
在分布式系統(tǒng)中,運行的設(shè)備需要根據(jù)用戶要求頻繁更新配置數(shù)據(jù),為了確認設(shè)備上更新的配置數(shù)據(jù)正確性,通常采用在PC機或設(shè)備的維護終端回讀配置數(shù)據(jù)的版本信息,然后再人工確認的方式。上述方法存在如下缺點。
1)PC機或設(shè)備的維護終端通常不是安全設(shè)備,其中可能保存過時的配置數(shù)據(jù)版本信息,從而可能導致其顯示出的配置數(shù)據(jù)版本信息與其回讀到的版本信息不一致的。
2)即使顯示出的配置數(shù)據(jù)版本信息與回讀到的一致,但在人工確認環(huán)節(jié)存在人為失誤的風險。例如,配置到設(shè)備上的數(shù)據(jù)版本錯誤且該錯誤的版本信息已被PC機或維護終端正確地回讀并顯示,但人工確認錯誤也將導致設(shè)備上運行了錯誤版本的數(shù)據(jù)。
3)即使數(shù)據(jù)版本信息正確,但數(shù)據(jù)不一定被配置到了正確的設(shè)備上。例如分布式系統(tǒng)中存在相同的多個設(shè)備,但每個設(shè)備需要配置不同的數(shù)據(jù),此時就存在數(shù)據(jù)配置錯誤的風險。
4)本方法采用了安全算法將設(shè)備的特征信息生成校驗碼并通過比對校驗碼的一致性來判斷配置到設(shè)備上的數(shù)據(jù)是正確的,整個校驗過程由設(shè)備自動完成無需人工干預(yù),既提高了工作效率,也避免了人工介入引起的風險。
特征信息包含以下幾種:
1)分布式系統(tǒng)所在的地理位置編號:用于區(qū)分不同的分布式系統(tǒng),同一分布式系統(tǒng)中的設(shè)備,該編號相同;
2)分布式系統(tǒng)中各設(shè)備的編號:用于區(qū)分同一分布式系統(tǒng)中的設(shè)備,同一分布式系統(tǒng)中不同的設(shè)備,該編號不同;
3)各設(shè)備上配置的硬件版本:用于區(qū)分設(shè)備的不同硬件配置,硬件配置不同,硬件版本號不同;
4)各設(shè)備上配置的數(shù)據(jù)版本:用于區(qū)分設(shè)備的不同數(shù)據(jù)配置,數(shù)據(jù)配置不同,數(shù)據(jù)版本號不同;
5)各設(shè)備上配置的軟件版本:用于區(qū)分設(shè)備的不同軟件配置,軟件配置不同,軟件版本號不同。
一方面,采用安全算法生成校驗碼后,通過專用設(shè)備進行存儲;另一方面,將上述特征信息寫入到配置數(shù)據(jù)中,在分布式系統(tǒng)設(shè)備上配置數(shù)據(jù)時,需要同時配置生成的校驗碼。配置完數(shù)據(jù)后,設(shè)備初始化過程中,采用相同算法,將寫入到配置數(shù)據(jù)中的特征信息在線生成校驗碼,然后與存儲在專用設(shè)備上的校驗碼進行比對。如果一致,則系統(tǒng)完成初始化并投入運行;否則,將初始化失敗,無法投入運行。
整體流程如圖1所示。
采用如下安全算法生成校驗碼,如果由于特征信息的存儲設(shè)備發(fā)生隨機性失效時,也會在設(shè)備初始化過程中被檢查出來:
其中:
i=1,2,3……n,n為特征信息的個數(shù);
j=1,2,3……m,m為分布式系統(tǒng)設(shè)備的運算通道個數(shù);
CheckSumj:運算通道j的校驗碼;
Xi:第i個特征信息;
Aj:計算運算通道j校驗碼所使用的常量(作為取模運算的常量);
θj:計算運算通道j校驗碼所使用的常量(作為卷積運算的常量);
Sigj(i):與第i個特征信息對應(yīng)的第j個運算通道的簽名;
Mod:取模運算。
基于加密設(shè)備特征信息的配置數(shù)據(jù)自動校驗方法應(yīng)用如圖2所示,在數(shù)據(jù)配置及校驗過程的應(yīng)用場景,包含以下幾個步驟。
圖2 應(yīng)用示意Fig.2 Application schematic
1)生成離線校驗碼
a.通過PC,采用安全算法,將如圖3所示的A、B、C設(shè)備特征信息離線生成如圖4所示的校驗碼。
b.并將生成的校驗碼導入存儲校驗碼的專用設(shè)備上。
c.通過存儲校驗碼的專用設(shè)備,將校驗碼導入現(xiàn)場設(shè)備中。
2)添加特征信息到數(shù)據(jù)中
a.將設(shè)備的特征信息添加到要配置的數(shù)據(jù)中。
圖3 特征信息Fig.3 Characteristic information
圖4 校驗碼Fig.4 Check sum
b.將編譯好的數(shù)據(jù)導入到存儲數(shù)據(jù)設(shè)備中。
c.通過存儲數(shù)據(jù)設(shè)備,將校驗數(shù)據(jù)導入現(xiàn)場設(shè)備中。
3)生成在線校驗碼
a.現(xiàn)場設(shè)備將導入的數(shù)據(jù)中的特征信息進行提取。
b.采用相同的安全算法,將提取的特征信息在線生成校驗碼。
4)在線校核
現(xiàn)場設(shè)備將導入的校驗碼與在線生成的校驗碼進行比對。如果一致,則初始化成功;否則,初始化失敗。
與現(xiàn)有技術(shù)相比,本方法具有如下優(yōu)點。
1)無需對配置的數(shù)據(jù)版本信息進行回讀,避免了在回讀過程中引入的讀錯、顯示錯誤的風險。
2)通過將設(shè)備的特征信息生成校驗碼來自動校驗配置數(shù)據(jù)版本的正確性,避免了人工確認失誤的風險。
3)采用了安全算法生成校驗碼,如果保存該校驗碼的專用設(shè)備故障而導致校驗碼錯誤,也會在設(shè)備初始化過程中被檢查出來。
4)無需攜帶PC也可完成配置數(shù)據(jù)版本校驗工作。