◆曹若愚 祖向榮
(華北電力大學(xué)(北京)控制與計(jì)算機(jī)工程學(xué)院 北京 102206)
高級(jí)量測(cè)體系(Advanced metering infrastructure,AMI)的主要特點(diǎn)是利用安全、可靠的通信網(wǎng)絡(luò)實(shí)現(xiàn)用戶與供電之間的雙向數(shù)據(jù)交換,有效實(shí)施互動(dòng)用電,是智能電網(wǎng)實(shí)現(xiàn)需求響應(yīng)、能源管理等功能的基礎(chǔ),其可靠部署與安全運(yùn)行是電網(wǎng)智能化的關(guān)鍵。智能電網(wǎng)是一個(gè)由分布式服務(wù)器和IoT 設(shè)備組成的復(fù)雜系統(tǒng),先進(jìn)的IoT 和M2M技術(shù)與智能電網(wǎng)的融合產(chǎn)生了許多新的不可預(yù)見(jiàn)的挑戰(zhàn),導(dǎo)致安全漏洞和惡意威脅。AMI 主要由三部分組成:智能電表(Smart Meter,SM),數(shù)據(jù)集中器(Data Concentration Unit,DCU)和計(jì)量數(shù)據(jù)管理系統(tǒng)(Metering data management system,MDMS)。SM 采集的用戶用電數(shù)據(jù)經(jīng)過(guò)DCU 傳輸?shù)組DMS。SM 可定時(shí)或者實(shí)時(shí)獲取用戶側(cè)的多種計(jì)量值,如用電量、用電功率、電壓和電流等信息,然后由通信網(wǎng)絡(luò)傳輸?shù)紻CU。DCU 將從智能電表收集到的計(jì)量值傳輸?shù)組DMS 進(jìn)一步處理。然而,SM 是AMI 網(wǎng)絡(luò)的重要組成部件,是信息域、物理域和社會(huì)域多域融合的接口,在傳輸計(jì)量數(shù)值的過(guò)程中,不管是設(shè)備還是傳輸?shù)臄?shù)據(jù)都會(huì)面臨各種威脅,例如竊聽(tīng)、節(jié)點(diǎn)偽造、重放攻擊和拒絕服務(wù)攻擊等,設(shè)備也可能會(huì)遭受人為的物理上的損毀,或設(shè)備本身老化影響其正常功能。因此應(yīng)當(dāng)設(shè)計(jì)合適的信息安全方案來(lái)保證數(shù)據(jù)和系統(tǒng)安全。
AMI 網(wǎng)絡(luò)眾多設(shè)備節(jié)點(diǎn)計(jì)算及存儲(chǔ)資源受限,無(wú)法應(yīng)對(duì)傳統(tǒng)的通信和安全協(xié)議。因此,應(yīng)認(rèn)真考慮滿足AMI 通信、計(jì)算與存儲(chǔ)等具體開(kāi)銷要求的實(shí)用、輕量級(jí)的認(rèn)證機(jī)制,在設(shè)計(jì)認(rèn)證方案時(shí)必須綜合考慮包括密鑰分配與獲取,密鑰存儲(chǔ)空間占用,加解密算法的選用,認(rèn)證實(shí)現(xiàn)方法的復(fù)雜度等問(wèn)題。本文基于分布式認(rèn)證、密鑰預(yù)分配和秘密共享,并綜合考慮AMI 中各設(shè)備實(shí)體有限的計(jì)算資源與通信開(kāi)銷,提出了一種采用對(duì)稱密鑰算法,利用密鑰分片實(shí)現(xiàn)輕量級(jí)的AMI分布式身份認(rèn)證的方法。
密鑰預(yù)分配,即預(yù)先生成一個(gè)大密鑰池,并對(duì)密鑰進(jìn)行編號(hào)。對(duì)每個(gè)節(jié)點(diǎn),隨機(jī)選取一部分密鑰預(yù)先存儲(chǔ),當(dāng)雙方需要通信時(shí),相互交換密鑰序號(hào)信息,以發(fā)現(xiàn)共有密鑰[1]。密鑰預(yù)分配已得到廣泛的應(yīng)用和改進(jìn),例如,文獻(xiàn)[2][3][4]中,分別基于Reed-Solomon 碼和整合二進(jìn)制Goppa 碼、網(wǎng)格傳感器網(wǎng)絡(luò)和正交數(shù)組的漢明距離對(duì)密鑰與分配方案進(jìn)行了改進(jìn)。秘密共享最早由Shamir 和Blackly 在1979年提出。文獻(xiàn)[5][6]基于中國(guó)剩余定理分別結(jié)合素?cái)?shù)分布定理和整數(shù)環(huán)改進(jìn)了秘密共享方案。分布式認(rèn)證更適用于資源受限設(shè)備,其基本思想是借助目標(biāo)節(jié)點(diǎn)的后續(xù)節(jié)點(diǎn)認(rèn)證目標(biāo)節(jié)點(diǎn)的真實(shí)性[7]??稍诎踩酚煞椒ㄖ袘?yīng)用全分布式認(rèn)證方案[8]。無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)中的認(rèn)證方案在智能電網(wǎng)中同樣有參考意義,主要是借助經(jīng)典數(shù)學(xué)計(jì)算難題和單向哈希函數(shù)實(shí)現(xiàn)網(wǎng)關(guān)間的認(rèn)證[9],利用群成員狀態(tài)向量的群密鑰協(xié)商方法[10]?;跁r(shí)間認(rèn)證設(shè)計(jì)的WSN 偽身份雙向認(rèn)證方案[11],分布式物聯(lián)網(wǎng)中WSN 的兩階段認(rèn)證協(xié)議[12]以及Ad hoc 的WSN 認(rèn)證方案[13]??蓴U(kuò)展和密鑰降級(jí)的認(rèn)證方案基于設(shè)備特性生成并分配一個(gè)tag,利用此tag 完成認(rèn)證[14]。Jung Young-Ae 首次設(shè)計(jì)了有關(guān)DCU 的認(rèn)證方案[15]。利用可驗(yàn)證隨機(jī)函數(shù)和橢圓曲線加密設(shè)計(jì)SM 的認(rèn)證[16]。認(rèn)證方案中加密算法的選用會(huì)影響方案的性能,一次性密碼(OTP)在認(rèn)證協(xié)議中有非常重要的作用[17]。此外,Meulenaer GD 等人對(duì)設(shè)備的能耗進(jìn)行了檢測(cè)[18]。
綜上所述,以上研究與基本理論對(duì)認(rèn)證方案的設(shè)計(jì)有深刻意義,但仍存在一定的問(wèn)題。密鑰預(yù)分配會(huì)占用節(jié)點(diǎn)過(guò)多的存儲(chǔ)空間,且無(wú)論哪個(gè)節(jié)點(diǎn)被攻破,攻擊者都會(huì)獲取其他節(jié)點(diǎn)的密鑰,對(duì)系統(tǒng)產(chǎn)生更惡劣的影響。秘密共享方案依賴于較復(fù)雜的數(shù)學(xué)運(yùn)算并不適合。分布式認(rèn)證[7]需要參加認(rèn)證的節(jié)點(diǎn)過(guò)多,缺乏靈活性。針對(duì)上述問(wèn)題,本文進(jìn)行了改進(jìn)。本文設(shè)計(jì)的認(rèn)證方案參考了秘密共享的思路,將設(shè)備的密鑰分為若干個(gè)密鑰片,同時(shí)參考了密鑰預(yù)分配的思路,在初始化階段將設(shè)備的部分密鑰片分配到其他SM 和中心節(jié)點(diǎn)DCU 中,能夠避免預(yù)分配密鑰泄露的問(wèn)題,還可緩解DCU 的存儲(chǔ)壓力。認(rèn)證過(guò)程中只使用對(duì)稱密鑰加密算法,借助其他SM 實(shí)現(xiàn)分布式認(rèn)證。提出的認(rèn)證方案不依賴數(shù)字證書(shū),避免了使用復(fù)雜加密算法,認(rèn)證完成的同時(shí)也可以完成雙方通信密鑰的傳遞,并且通過(guò)性能分析,把方案的能耗和通信量以及存儲(chǔ)消耗均維持在較低水平。
AMI 實(shí)體由三部分組成:分別是智能電表SM,數(shù)據(jù)集中器DCU和計(jì)量數(shù)據(jù)管理系統(tǒng)MDMS。
MDMS:有足夠的計(jì)算與存儲(chǔ)資源,管理系統(tǒng)所有實(shí)體信息,包括實(shí)體ID、實(shí)體屬性、注冊(cè)時(shí)間等,為每個(gè)實(shí)體生成的密鑰和隨機(jī)數(shù),每一個(gè)DCU 與SM 的對(duì)應(yīng)關(guān)系,每個(gè)簇中的電表分組,每個(gè)SM 與存儲(chǔ)其密鑰片的SM 間的對(duì)應(yīng)關(guān)系。
DCU:SM 與DCU 通信時(shí),默認(rèn)DCU 可信。DCU 計(jì)算與存儲(chǔ)資源相對(duì)SM 較強(qiáng),能夠存儲(chǔ)與其通信的SM 的ID、隨機(jī)數(shù)和部分密鑰,存儲(chǔ)簇中電表分組情況以及每個(gè)SM 與存儲(chǔ)其密鑰片的SM 間的對(duì)應(yīng)關(guān)系。
SM:每個(gè)SM 只與一個(gè)DCU 進(jìn)行通信。可存儲(chǔ)同簇同組的其他SM 的密鑰片,接受來(lái)自DCU 的指令和信息,參與對(duì)同組中某一SM 的認(rèn)證,SM 之間不通信。
AMI 實(shí)體架構(gòu)如圖1所示,其中,連接到同一個(gè)DCU 的SM 記為一簇,該DCU 也被稱為中心節(jié)點(diǎn)。屬于同一個(gè)簇的SM 又分為多個(gè)組,每個(gè)組中只有少數(shù)的電表,提出的認(rèn)證方案在組中實(shí)現(xiàn)。
圖1 AMI 實(shí)體架構(gòu)
敵手模型可以進(jìn)行與任意實(shí)體相同的運(yùn)算,可獲得實(shí)體使用的加密解密函數(shù),可截獲和篡改SM 和DCU 之間通信時(shí)傳播的任何信息,可模仿任意的實(shí)體;但是敵手模型不能獲得實(shí)體中存儲(chǔ)的隨機(jī)數(shù)和密鑰,也不能夠竊聽(tīng)或者截取各實(shí)體初始化階段的任何信息。
為了進(jìn)一步說(shuō)明提出的認(rèn)證方案,本節(jié)將對(duì)初始化和認(rèn)證兩個(gè)階段進(jìn)行詳細(xì)介紹。假設(shè)以某DCU 為中心節(jié)點(diǎn)的一個(gè)SM 分組中有SMm,SM1,SM2,...,SMn 等電表,以認(rèn)證SMm 為例,初始化和認(rèn)證流程如圖2所示;圖中符號(hào)及其含義如表1所示。
圖2 系統(tǒng)實(shí)體初始化和認(rèn)證流程
表1 方案中符號(hào)和含義
如圖2 上半部分所示,設(shè)備初始化流程如下。
(1)SMm 和DCU:SMm 向MDMS 提供有關(guān)SMm 的信息:SMmID、time、attrs;DCU 向MDMS 提供有關(guān)DCU 的信息:DCUID、time、attrs;SMn 向MDMS 提供有關(guān)SMn 的信息:SMmID、time、attrs。
MDMS 根據(jù)SMm,DCU 和SMn 提供的信息,需要:
1)生成密鑰SMmkey 和隨機(jī)數(shù)rSMm 連同DCUID 返回給SMm,其中SMmkey 用于與DCU 通信,rSMm 用于密鑰生成器(GenE()或GenD())的唯一種子,生成認(rèn)證過(guò)程中需要的密鑰。
2)生成密鑰DCUkey 和隨機(jī)數(shù)rDCU,將DCUkey、rDCU 和MDMSID 傳輸給DCU 存儲(chǔ),然后,將SM 的分組情況及每個(gè)SM 的隨機(jī)數(shù)和SMmkeyc0 發(fā)送到DCU 存儲(chǔ)。
3)生成密鑰SMnkey 和隨機(jī)數(shù)rSMn 連同DCUID 返回給SMn,另外MDMS 將SMmkey 分為“1+n”個(gè)片段:SMmkeyc0,SMmkeyc1,SMmkeyc2,...,SMmkeycn。將SMmkeyc1 和SMmkeyc2 放入SM1存儲(chǔ),SMmkeyc2 和SMmkeyc3 放入SM2 存儲(chǔ),...,將SMmkeycn和SMmkeyc1 放入SMn 存儲(chǔ)。
(2)MDMS:計(jì)量數(shù)據(jù)管理系統(tǒng)MDMS 需要先生成自身的密鑰MDMSkey,用于生成各個(gè)實(shí)體的密鑰,在各AMI 實(shí)體初始化完成后,記錄各個(gè)實(shí)體的ID、密鑰和隨機(jī)數(shù),每個(gè)DCU 和SM 的從屬關(guān)系,記錄每一簇SM 的分組關(guān)系以及每個(gè)SM 與存儲(chǔ)其密鑰片段的其他SM 的對(duì)應(yīng)關(guān)系,最后還需要存儲(chǔ)各個(gè)實(shí)體注冊(cè)時(shí)的信息。
當(dāng)有SMm 要傳輸信息時(shí),首先要通過(guò)身份認(rèn)證,認(rèn)證過(guò)程如圖2 下半部分所示。
(1)SMm 先將rSMm 作為加密密鑰生成器的唯一種子,生成用于向DCU 證明身份的密鑰rSMmEkey=GenE(rSMm);然后截取與DCU 的通信密鑰的前半段得到halfSMmkey,計(jì)算SMmX=E(rSMmEkey,halfSMmkey);將得到的信息(SMmID,SMmX)發(fā)送給DCU。
(2)DCU 接收到SMmA 后,先生成用于向各個(gè)電表請(qǐng)求密鑰片的密鑰 RSMnEkey= GenE(RSMn);然后計(jì)算 DCUXn= E(RSMnEkey,SMmID,SMmX);將(SMmX,DCUXn,SMmID)發(fā)送到SMn(n=0,1,2,...n)。
(3)SMn 先生成用于處理 DCU 密鑰片請(qǐng)求的密鑰rSMnEkey=GenE(rSMn);然后計(jì)算DCUxn= E(rSMnEkey,SMmX,SMmID);將DCUxn 與DCUXn 對(duì)比,如果不一致,則拒絕響應(yīng)此密鑰片請(qǐng)求,如果一致,則根據(jù)SMmID 查找對(duì)應(yīng)的SMmkeycn 并加密,即SMmkeycne=E(rSMnEkey,SMmkeycn),將其發(fā)送到DCU。
(4)當(dāng)DCU 接收到其他電表返回的加密密鑰片之后,首先將其解密,即計(jì)算SMmkeycned= D(RSMnDkey,SMmkeycne);然后結(jié)合已有的SMmkeyc0,將所有密鑰片進(jìn)行拼接,得到SMmkeyg,進(jìn)一步可得到halfSMmkeyg;再根據(jù)SMmID 查找對(duì)應(yīng)的RSMm,計(jì)算認(rèn)證SMm 需要的密鑰RSMmEkey=GenE(RSMm);最后將halfSMmkeyg 進(jìn)行加密,得到結(jié)果 SMmXg= E(RSMmEkey,halfSMmkeyg)。將SMmXg 與SMmX 進(jìn)行對(duì)比,如果一致,說(shuō)明認(rèn)證成功,同時(shí)說(shuō)明SMmkey=SMmkeyg,并可進(jìn)行下一步通信,否則終止認(rèn)證失敗。要注意,此次數(shù)據(jù)傳輸完成后,DCU 就將SMmkeyg刪除。
若最終認(rèn)證成功,則SMm,SMn 會(huì)將自身的隨機(jī)數(shù)即rSMm 和rSMn 加1 并分別計(jì)算rSMmEkey 和rSMnEkey,DCU 將RSMm 和RSMn 加1,并且計(jì)算新的RSMmEkey,RSMnEkey,下一次通信時(shí)可以直接使用,節(jié)約時(shí)間。
本節(jié)將以64bits 密鑰長(zhǎng)度的DES 加密算法為例,從計(jì)算次數(shù)、通信量、能耗以及DCU 內(nèi)存消耗等方面對(duì)提出的方案進(jìn)行分析。然后對(duì)如何抵御攻擊和應(yīng)對(duì)設(shè)備故障進(jìn)行闡述。
(1)計(jì)算次數(shù)。提出的方案完成一次認(rèn)證所有SM 需要的加解密次數(shù)如表2所示。橫向表頭代表參與認(rèn)證的其他電表個(gè)數(shù),其中2≤n≤64,通常取較小的值,縱向表頭代表各個(gè)實(shí)體、以及每個(gè)設(shè)備的總計(jì)和平均計(jì)算次數(shù)。因?yàn)槊看握J(rèn)證過(guò)程中用到的密鑰可在設(shè)備空閑時(shí)生成,所以不計(jì)入認(rèn)證過(guò)程的計(jì)算次數(shù)。
表2 一次認(rèn)證需要的加解密次數(shù)
(2)有效通信量和能耗。實(shí)體ID 長(zhǎng)度設(shè)置為16bits,完成一次認(rèn)證所有實(shí)體之間的通信量如表3所示。橫向表頭代表參與認(rèn)證的其他電表個(gè)數(shù),其中2≤n≤64,通常取較小的值,縱向表頭代表數(shù)據(jù)在實(shí)體之間的流向,最后統(tǒng)計(jì)總通信量和所有節(jié)點(diǎn)平均通信量。對(duì)于長(zhǎng)度小于64 bits 的密鑰片,加密結(jié)果仍然是64 bits。按照MICAz 規(guī)范,發(fā)送和接收1bit 數(shù)據(jù)的能耗分別為0.6μJ 和0.67μJ[18],結(jié)合表3 容易計(jì)算節(jié)點(diǎn)能耗,在此不再贅述。
表3 一次認(rèn)證的有效通信量(bits)
其他一些認(rèn)證和密鑰協(xié)商算法的通信量如表4所示??煽闯?,提出的方案中當(dāng)參與認(rèn)證的其他電表個(gè)數(shù)不多于5 個(gè)時(shí),本文方案的通信量要少于其他三種方案,這也符合方案設(shè)計(jì)的初衷,如果有太多的電表參與認(rèn)證,則一方面通信的負(fù)擔(dān)會(huì)增大,另一方面容易出現(xiàn)因電表本身的故障而認(rèn)證失敗的情況。
表4 認(rèn)證通信量對(duì)比(bits)
(3)DCU 存儲(chǔ)消耗。本方案與傳統(tǒng)方案中DCU 存儲(chǔ)密鑰所需的存儲(chǔ)空間對(duì)比如表5所示。橫向表頭代表參與認(rèn)證的其他電表個(gè)數(shù),其中2≤n≤64,通常取較小的值。可以看到,在本文提出的方案中,中心節(jié)點(diǎn)DCU 存儲(chǔ)密鑰所需的空間是幾乎不變的,因?yàn)槌跏蓟瘯r(shí)MDMS 將SMmkey 分為1+n 片,對(duì)于每一個(gè)SM,DCU 需要存儲(chǔ)的密鑰片長(zhǎng)度為,又因?yàn)樵摻M中SM 個(gè)數(shù)為1+n,所以理論上DCU 存儲(chǔ)密鑰所需的存儲(chǔ)空間就是單個(gè)密鑰長(zhǎng)度,即64bits。而傳統(tǒng)方案中,存儲(chǔ)密鑰所需的空間隨著參與認(rèn)證節(jié)點(diǎn)個(gè)數(shù)的增加而線性增加。
表5 DCU 存儲(chǔ)密鑰所需空間(單位bits)
(1)抗重放攻擊。我們提出的認(rèn)證方案可以抵御重放攻擊。首先,SMm 向DCU 發(fā)出通信請(qǐng)求時(shí),需要先生成新的密鑰rSMmEkey,然后計(jì)算SMmX,認(rèn)證成功后rSMm 會(huì)增加1,因此每次獲得的rSMmEkey 不同,進(jìn)而每次的SMmX 也是不同的,所以敵手無(wú)法對(duì)設(shè)備進(jìn)行重放攻擊;其次,當(dāng)DCU 向SMn 請(qǐng)求密鑰片時(shí)也使用了類似的方法。
(2)預(yù)防竊聽(tīng)。當(dāng)SMm 請(qǐng)求與DCU 通信時(shí)發(fā)送SMmX,敵手可以竊聽(tīng)SMmX,但是無(wú)法獲得rSMm 和SMmkey,所以無(wú)法獲得傳輸?shù)募用苄畔?。其次,DCU 向SMn 發(fā)送密鑰片請(qǐng)求時(shí)也是類似的情況。最后,當(dāng)SMn 向DCU 發(fā)送加密密鑰片時(shí),也是先利用隨機(jī)數(shù)生成密鑰,然后再對(duì)密鑰片進(jìn)行加密,因此密鑰片并不是明文傳輸,并且敵手模型不能獲取rSMn,所以,當(dāng)SMmkeycne 被竊聽(tīng)時(shí),不會(huì)導(dǎo)致密鑰的泄露。如果敵手通過(guò)暴力求解獲得了某些密鑰片段,仍然無(wú)法重組完整的密鑰,因?yàn)樵诔跏蓟瘯r(shí)每個(gè)SM 都有一個(gè)密鑰片段存儲(chǔ)在DCU。
(3)辨別虛假SM。假設(shè)敵手偽造一個(gè)與正常電表功能完全相同的“偽電表”,同樣具備密鑰,隨機(jī)數(shù)以及相應(yīng)的對(duì)稱加密算法,但不能得到關(guān)于合法節(jié)點(diǎn)的隨機(jī)數(shù)和密鑰片。因?yàn)槊總€(gè)SM 與DCU 通信所需的隨機(jī)數(shù)和密鑰在初始化階段已經(jīng)賦值完畢,因此敵手無(wú)法獲得任何實(shí)體的隨機(jī)數(shù)和密鑰及密鑰片,也就無(wú)法獲得任何密鑰;當(dāng)偽造節(jié)點(diǎn)偽造密鑰片請(qǐng)求時(shí)也需要用到隨機(jī)數(shù),因其無(wú)法獲得與SMn相關(guān)的隨機(jī)數(shù)rSMn,SMn也無(wú)法搜索出與偽造電表相對(duì)應(yīng)的隨機(jī)數(shù),無(wú)法對(duì)偽造的請(qǐng)求做出回應(yīng)。
(4)防篡改。DCU 收到通信請(qǐng)求時(shí),需要先獲得組合密鑰,再驗(yàn)證通信請(qǐng)求是否正常,如果通信請(qǐng)求被篡改,最終能夠分辨。當(dāng)SMn 收到密鑰片請(qǐng)求時(shí),首先需要用自身隨機(jī)數(shù)進(jìn)行計(jì)算以驗(yàn)證請(qǐng)求是否合法;如果DCU 接收到篡改的密鑰片也很容易分辨,因?yàn)閷⒚荑€片重組后需要計(jì)算SMmXg 并與SMmX 對(duì)比,獲得不同的結(jié)果則認(rèn)證失敗,不難排查是否是密鑰片被篡改。
(5)應(yīng)對(duì)設(shè)備故障。提出的方案中,需要多個(gè)其他電表參與某一個(gè)電表的認(rèn)證,由于電表部署在開(kāi)放環(huán)境中,所以有必要應(yīng)對(duì)參與認(rèn)證的電表出現(xiàn)故障的情況。在此舉例說(shuō)明本方案中提出的應(yīng)對(duì)方法。
1)當(dāng)3 個(gè)其他電表SM1,SM2 和SM3 參與認(rèn)證目標(biāo)SM 時(shí),按照本文的方案,在初始化時(shí)先將密鑰分為4 片,記為p0,p1,p2和p3,然后進(jìn)行如下操作:
(p1,p2)----->SM1(將p1,p2 存入SM1 中),
(p2,p3)----->SM2,(p3,p1)----->SM3,p0----->DCU,
正常認(rèn)證時(shí),DCU 向其他電表請(qǐng)求密鑰片,SM1,SM2 和SM3分別返回p1,p2 和p3,DCU 可以獲得完整密鑰。
現(xiàn)在假設(shè)SM3 故障,第一次密鑰片請(qǐng)求后會(huì)缺失p3,那么DCU需要向提供p2 的電表(即SM2)發(fā)出對(duì)p3 的請(qǐng)求,如果可以獲得p3,那么便可以得到完整的密鑰。如果仍不能認(rèn)證成功,就說(shuō)明至少有兩個(gè)電表故障,需要人工干預(yù)檢查。
2)當(dāng)4 個(gè)電表SM1,SM2,SM3 和SM4 參與認(rèn)證時(shí),密鑰分為5 片:p0,p1,p2,p3 和p4,然后進(jìn)行如下操作:
(p1,p2)----->SM1,(p2,p3)----->SM2,(p3,p4)----->SM3,
(p4,p1)----->SM4,p0----->DCU,
電表故障時(shí)應(yīng)對(duì)方法同上。當(dāng)參與認(rèn)證的電表數(shù)變化時(shí),密鑰片分配方法以此類推。如果某些電表或者某地區(qū)的電表故障率較高,可在一個(gè)電表中適當(dāng)?shù)卮鎯?chǔ)多個(gè)密鑰片,具體一個(gè)節(jié)點(diǎn)中需要存儲(chǔ)幾個(gè)密鑰片可根據(jù)實(shí)際情況而定。
本文根據(jù)AMI 中實(shí)體的網(wǎng)絡(luò)結(jié)構(gòu)和信息傳輸方式以及實(shí)體的客觀情況,提出了一種基于分布式認(rèn)證,密鑰預(yù)分配和秘密共享的輕量級(jí)AMI 實(shí)體的身份認(rèn)證方案。方案將SM 密鑰分片存儲(chǔ)到其他SM中,中心節(jié)點(diǎn)DCU 的密鑰存儲(chǔ)壓力被分散到各個(gè)SM;借助同組的其他SM 對(duì)目標(biāo)SM 進(jìn)行認(rèn)證,充分利用了同組的其他SM,不需要另設(shè)的可信第三方參與,也不需要復(fù)雜的數(shù)字證書(shū),同時(shí)可在一定程度上應(yīng)對(duì)設(shè)備出現(xiàn)故障的情況;考慮到無(wú)論使用任何復(fù)雜或者精巧的加密算法,都改變不了某些AMI 實(shí)體計(jì)算資源有限的客觀情況,因此方案只使用相對(duì)簡(jiǎn)單的對(duì)稱加密算法,結(jié)合分布式認(rèn)證思路,實(shí)現(xiàn)了較低的復(fù)雜度,通信量和能耗開(kāi)銷;完成認(rèn)證時(shí),通信雙方可獲得共同的對(duì)稱通信密鑰,無(wú)須另外進(jìn)行協(xié)商。目前方案尚處于理論分析和模擬實(shí)現(xiàn)階段,并沒(méi)有真正部署在真實(shí)環(huán)境中,下一步工作將注重在實(shí)際環(huán)境中的應(yīng)用。