一種基于國密算法的智能表遠(yuǎn)程跳合閘控制方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種基于國密算法的智能表遠(yuǎn)程跳合閘控制方法,具體涉及一種主站連接密碼機(jī)將跳合閘命令用國密SM1算法加密成控制密文后下發(fā)到智能表中,智能表根據(jù)ESAM模塊解密結(jié)果輸出跳合閘動(dòng)作實(shí)現(xiàn)停復(fù)電的方法,本發(fā)明屬于用電信息采集系統(tǒng)技術(shù)領(lǐng)域。
背景技術(shù)
[0002] 隨著智能表大規(guī)模安裝使用和用電信息采集系統(tǒng)全面建設(shè)和實(shí)用化,智能表費(fèi)控功能開始在營銷業(yè)務(wù)中正式應(yīng)用。智能表費(fèi)控方式分為本地和遠(yuǎn)程兩種。遠(yuǎn)程費(fèi)控由主站定時(shí)采集用戶用電量,根據(jù)電量計(jì)算費(fèi)用,欠費(fèi)時(shí)向電表下發(fā)跳合閘指令實(shí)現(xiàn)停復(fù)電功能。
[0003] 現(xiàn)有技術(shù)中,主站的跳合閘指令經(jīng)過密碼機(jī)采用國密SM1算法加密成控制密文后,通過采集終端透明轉(zhuǎn)發(fā)到智能表中的,實(shí)現(xiàn)過程涉及到主站、密碼機(jī)、采集終端和智能表4個(gè)環(huán)節(jié),且每次下發(fā)前主站都需要與智能表進(jìn)行身份有效性認(rèn)證,一次完整的跳合閘操作需訪問密碼機(jī)2次,與采集終端通信2次,與智能表通信2次。通信過程復(fù)雜、出錯(cuò)率較高。
發(fā)明內(nèi)容
[0004] 為解決現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種基于國密算法的智能表遠(yuǎn)程跳合閘控制方法。
[0005] 為了實(shí)現(xiàn)上述目標(biāo),本發(fā)明采用如下的技術(shù)方案:
[0006] 一種基于國密算法的智能表遠(yuǎn)程跳合閘控制方法,其特征在于,包括:
[0007] 步驟一:建立插件管理器以負(fù)責(zé)3個(gè)以上插件的管理和調(diào)用,所述插件包括安全認(rèn)證插件、645規(guī)約插件、376規(guī)約插件;
[0008] 步驟二:插件管理器獲取上層應(yīng)用程序的XML命令,如果插件管理器判斷XML命令為費(fèi)控操作指令且第一隨機(jī)數(shù)和第二隨機(jī)數(shù)不可用,則調(diào)用安全認(rèn)證插件訪問密碼機(jī)以獲取第一隨機(jī)數(shù)和第一密文;
[0009] 步驟三:插件管理器分別調(diào)用645和376規(guī)約插件生成第一報(bào)文發(fā)送到通信機(jī)與電能表進(jìn)行身份認(rèn)證;
[0010] 步驟四:插件管理器取得身份認(rèn)證后,傳入第二隨機(jī)數(shù)、ESAM序列號(hào)、控制命令并調(diào)用安全認(rèn)證插件,安全認(rèn)證插件返回控制密文;
[0011] 步驟五:插件管理器獲取控制密文后,分別調(diào)用645和376規(guī)約插件獲得控制命令的結(jié)果,并將所述控制命令的結(jié)果發(fā)送到下層應(yīng)用程序。
[0012] 前述的一種基于國密算法的智能表遠(yuǎn)程跳合閘控制方法,其特征在于,所述步驟二包括:
[0013] 步驟2a:插件管理器獲取上層應(yīng)用程序的XML命令并對XML命令進(jìn)行預(yù)處理;
[0014] 步驟2b:插件管理器判斷XML命令為費(fèi)控操作指令;
[0015] 步驟2c:插件管理器先判斷第二隨機(jī)數(shù)是否可用,再判斷第一隨機(jī)數(shù)是否可用,如果第二隨機(jī)數(shù)和第一隨機(jī)數(shù)均不可用,則轉(zhuǎn)到步驟2d;
[0016] 步驟2d:插件管理器調(diào)用安全認(rèn)證插件;
[0017] 步驟2e:安全認(rèn)證插件訪問密碼機(jī),獲得第一隨機(jī)數(shù)和第一密文;
[0018] 步驟2f:安全認(rèn)證插件將第一隨機(jī)數(shù)和第一密文返回給插件管理器;
[0019] 步驟2g:插件管理器獲得第一隨機(jī)數(shù)和第一密文。
[0020] 前述的一種基于國密算法的智能表遠(yuǎn)程跳合閘控制方法,其特征在于,所述步驟三包括:
[0021] 步驟3a:插件管理器在獲得第一隨機(jī)數(shù)和第一密文后,調(diào)用645規(guī)約插件;
[0022] 步驟3b:645規(guī)約插件根據(jù)第一隨機(jī)數(shù)和第一密文生成安全認(rèn)證報(bào)文;
[0023] 步驟3c:645規(guī)約插件返回安全認(rèn)證報(bào)文給插件管理器,插件管理器獲取安全認(rèn)證報(bào)文;
[0024] 步驟3d:插件管理器調(diào)用376規(guī)約插件;
[0025] 步驟3e:376規(guī)約插件生成376透傳報(bào)文;
[0026] 步驟3f:376規(guī)約插件返回376透傳報(bào)文給插件管理器,插件管理器獲取376透傳報(bào)文并發(fā)送給通信機(jī);
[0027] 步驟3g:插件管理器獲取終端返回的報(bào)文,調(diào)用376規(guī)約插件;
[0028] 步驟3h:376規(guī)約插件解析376透傳報(bào)文并返回解析結(jié)果到插件管理器;
[0029] 步驟3i:插件管理器獲取376透傳報(bào)文解析結(jié)果并取出645規(guī)約;
[0030] 步驟3j:插件管理器訪問645規(guī)約插件;
[0031] 步驟3k:645規(guī)約插件解析645報(bào)文,并返回645報(bào)文給插件管理器,從而取得與電能表的身份認(rèn)證。
[0032] 前述的一種基于國密算法的智能表遠(yuǎn)程跳合閘控制方法,其特征在于,所述步驟四包括:
[0033] 步驟4a:插件管理器獲取第二隨機(jī)數(shù)和ESAM序列號(hào);
[0034] 步驟4b:插件管理器傳遞第二隨機(jī)數(shù)、ESAM序列號(hào)和控制命令給安全認(rèn)證插件;
[0035] 步驟4c:安全認(rèn)證插件獲取第二隨機(jī)數(shù)、ESAM序列號(hào)和控制命令后連接密碼機(jī),通過密碼機(jī)獲取控制密文,安全認(rèn)證插件返回控制密文給插件管理器。