李 露,謝映宏,李蔚凡,丁 凱,李 峰
(1.長(zhǎng)園深瑞繼保自動(dòng)化有限公司,廣東 深圳 518057;2.深圳市峰泳科技有限公司,廣東 深圳 518115)
隨著信息安全技術(shù)的快速發(fā)展和《能源生產(chǎn)和消費(fèi)革命戰(zhàn)略2016—2030》的逐步推進(jìn),配電網(wǎng)終端的接入形式呈現(xiàn)多元化發(fā)展,開(kāi)放互動(dòng)網(wǎng)絡(luò)環(huán)境已形成,配電網(wǎng)終端的通信安全面臨著前所未有的挑戰(zhàn)。目前,電力系統(tǒng)通信協(xié)議主要有IEC 870-5-101(以下簡(jiǎn)稱“101”)、IEC 870-5-104(以下簡(jiǎn)稱“104”)、IEC 61850、DNP3(分布式網(wǎng)絡(luò)協(xié)議)。這些協(xié)議在設(shè)計(jì)之初均為封閉隔離,沒(méi)有采用加密認(rèn)證等安全手段,使得網(wǎng)絡(luò)攻擊者很容易對(duì)數(shù)據(jù)進(jìn)行監(jiān)聽(tīng)、篡改、拒絕服務(wù)攻擊[1]。近年來(lái)已有很多學(xué)者對(duì)協(xié)議本身的安全功能進(jìn)行改進(jìn)研究,但有一定的局限性,沒(méi)有從系統(tǒng)層面進(jìn)行方案的剖析、比較和測(cè)試驗(yàn)證。
2010 年“震網(wǎng)”事件發(fā)布后,各方將協(xié)議安全提到首要日程中,并對(duì)協(xié)議內(nèi)部的安全性進(jìn)行廣泛研究[2-11]。文獻(xiàn)[12-13]分別提出DNP Sec 和DNP SAv5A 安全防護(hù),前者重點(diǎn)修改數(shù)據(jù)鏈路層,后者重點(diǎn)加固應(yīng)用層,但仍存在數(shù)據(jù)的竊聽(tīng)攻擊。文獻(xiàn)[14]使用SCAPY測(cè)試了大量的分組數(shù)據(jù),證實(shí)存在重放、欺騙、竊聽(tīng)攻擊。文獻(xiàn)[15]通過(guò)發(fā)送大量測(cè)試數(shù)據(jù),導(dǎo)致DNP應(yīng)用層數(shù)據(jù)接收緩沖區(qū)溢出,產(chǎn)生拒絕服務(wù)攻擊。文獻(xiàn)[16]研究了配電終端軟硬件的可信安全防護(hù)方案,基于BIOS(基本輸入輸出系統(tǒng))、引導(dǎo)、操作系統(tǒng)內(nèi)核、驅(qū)動(dòng)程序、應(yīng)用程序等,構(gòu)成一個(gè)可信的、安全的ESAM(嵌入式安全控制模塊)芯片;該機(jī)制很大程度上依賴于強(qiáng)大的平臺(tái),小型的配電網(wǎng)終端很難發(fā)揮其可信安全系統(tǒng)防護(hù)方案。文獻(xiàn)[17]介紹了傳統(tǒng)的配電網(wǎng)終端接入在安全防護(hù)和海量終端接入認(rèn)證方面存在的不足,提出一種基于標(biāo)識(shí)密碼公鑰體制的安全通信協(xié)議;該協(xié)議在安全性方面有所改善,但沒(méi)有通過(guò)專業(yè)的安全測(cè)試進(jìn)行漏洞挖掘分析。
針對(duì)以上研究存在的問(wèn)題,本文針對(duì)配電網(wǎng)終端的協(xié)議安全問(wèn)題展開(kāi)研究,設(shè)計(jì)一種基于國(guó)密算法的應(yīng)用層規(guī)約改進(jìn)和網(wǎng)絡(luò)層加密、認(rèn)證雙重安全架構(gòu),有效解決配電網(wǎng)終端開(kāi)放互聯(lián)安全威脅問(wèn)題。通過(guò)應(yīng)用層精簡(jiǎn)的協(xié)議安全改進(jìn)、比較和驗(yàn)證,提高安全架構(gòu)的效率和安全性。
網(wǎng)絡(luò)層和應(yīng)用層的身份認(rèn)證和密鑰協(xié)商,都需要用到對(duì)稱加密、非對(duì)稱加密、哈希計(jì)算。對(duì)稱加密對(duì)通信報(bào)文的數(shù)據(jù)進(jìn)行加密,非對(duì)稱加密用于雙向認(rèn)證的簽名及數(shù)字證書(shū)的簽名,哈希計(jì)算主要用于數(shù)據(jù)完整性計(jì)算。
為適應(yīng)中國(guó)國(guó)情發(fā)展,滿足國(guó)家信息安全客觀要求,對(duì)國(guó)外相關(guān)的經(jīng)典密碼算法進(jìn)行比較和分析,總結(jié)了RFC(請(qǐng)求注解)標(biāo)準(zhǔn)的加密算法未來(lái)可能帶來(lái)的威脅和風(fēng)險(xiǎn)。國(guó)密標(biāo)準(zhǔn)與RFC 標(biāo)準(zhǔn)相關(guān)的典型算法見(jiàn)表1。
表1 典型算法
1.1.1 SM2與RSA算法介紹
SM2 算法是國(guó)密標(biāo)準(zhǔn)中的非對(duì)稱算法,其技術(shù)基礎(chǔ)為ECC(橢圓曲線算法),數(shù)學(xué)基礎(chǔ)為橢圓曲線離散對(duì)數(shù)。以下對(duì)SM2 的加密解密流程進(jìn)行說(shuō)明。
設(shè)G為橢圓曲線的一個(gè)基點(diǎn),(x,y)為橢圓曲線的坐標(biāo)點(diǎn),C、C1、C2、C3、t為計(jì)算變量,KDF為密鑰派生函數(shù),Hash為哈希函數(shù),PB為用戶B的公鑰,S為比特串,[k]P表示橢圓曲線上點(diǎn)P的k倍點(diǎn),⊕為異或操作,||為比特串的拼接操作,M為要發(fā)送的消息比特串,klen為M的比特串長(zhǎng)度。對(duì)M進(jìn)行加密需執(zhí)行如下步驟[18]:
步驟1,用隨機(jī)數(shù)發(fā)生器產(chǎn)生隨機(jī)數(shù)k∈[1,n-1]。
步驟2,計(jì)算橢圓曲線點(diǎn)C1=[k]G=(x1,y1),將C1的數(shù)據(jù)類型轉(zhuǎn)換為比特串。
步驟3,計(jì)算橢圓曲線點(diǎn)S=[h]PB,若S是無(wú)窮遠(yuǎn)點(diǎn),則報(bào)錯(cuò)并退出。
步驟4,計(jì)算橢圓曲線點(diǎn)[k]PB=(x2,y2),將計(jì)算后的坐標(biāo)點(diǎn)數(shù)據(jù)類型轉(zhuǎn)換為比特串。
步驟5,計(jì)算t=KDF(x2‖y2,klen),若t為全0比特串,則返回步驟1。
步驟6,計(jì)算C2=M⊕t。
步驟7,計(jì)算C3=Hash(x2‖M‖y2)。
步驟8,輸出密文C=C1‖C3‖C2。
解密過(guò)程為上述操作的逆過(guò)程,通過(guò)私鑰解密后,再對(duì)原始的數(shù)據(jù)進(jìn)行完整性檢測(cè)。
與SM2算法相比較,RSA算法的技術(shù)基礎(chǔ)為世界難題大樹(shù)分解,描述為:
對(duì)于較大的素?cái)?shù)p和q,n=pq具有如下數(shù)學(xué)性質(zhì):若已知p和q,計(jì)算n非常容易;若已知n,求解p和q非常困難。
1.1.2 SM2與RSA算法比較
SM2與RSA算法的主要區(qū)別有以下兩個(gè)方面:
1)采用的算法原理不同,橢圓曲線算法能以較小的密鑰和較少的數(shù)據(jù)傳輸,效率較高。
2)安全性方面,橢圓曲線的數(shù)學(xué)理論非常復(fù)雜,難以工程實(shí)現(xiàn)。近幾年隨著量子計(jì)算的快速發(fā)展,RSA算法的暴力破解方法已經(jīng)產(chǎn)生。
1.2.1 SM1、SM4、AES算法介紹
SM1 和SM4 算法為國(guó)密標(biāo)準(zhǔn)的分組密碼算法,明文和密鑰長(zhǎng)度均為128位,加密和解密的密鑰相同。SM1 算法因源碼非公開(kāi),算法以知識(shí)產(chǎn)權(quán)授權(quán)的形式存在于硬核中,釋放了內(nèi)存資源,安全性和快速性比AES(高級(jí)加密標(biāo)準(zhǔn))都略高一籌。
SM4算法加密和密鑰流程如圖1所示。由圖1可知,加密和解密都需要通過(guò)32 輪非線性迭代實(shí)現(xiàn),而解密的輪密鑰為加密所用的輪密鑰逆序。相比于AES,SM4 采用的分組長(zhǎng)度也是128 位,但輪迭代次數(shù)和操作有差異。每一輪的操作包括行移位、列混淆、密鑰輪加。
圖1 SM4算法流程
1.2.2 SM4與AES算法分析
SM4算法與AES算法的主要區(qū)別如下:
1)算法結(jié)構(gòu)。算法結(jié)構(gòu)如表2所示,包括兩種算法的密鑰長(zhǎng)度、分組長(zhǎng)度、迭代次數(shù)。
表2 算法結(jié)構(gòu)
2)輪操作。SM4輪操作包括將32位明文與輪密鑰異或、基于S 盒的字節(jié)到字節(jié)代替、基于移位的線性變化。
AES 輪操作包括使用S 盒完成分組的字節(jié)到字節(jié)代替、行移位、列混淆、密鑰輪加。
綜上所述,兩種算法的安全性均基于S 盒的非線性及線性變化提供的擴(kuò)散作用,密鑰的使用方式都是將密鑰與明文或加密結(jié)果異或。區(qū)別在于,SM4 在每輪的開(kāi)始使用密鑰,AES 在每輪的最后使用密鑰。
3)密鑰管理算法。SM4 的密鑰管理算法和加密算法基本相同,同樣將密鑰分為32 位的4 組,通過(guò)S 盒代替、線性變化來(lái)產(chǎn)生各輪密鑰。AES算法的密鑰產(chǎn)生較為繁瑣,代碼實(shí)現(xiàn)較為復(fù)雜,對(duì)嵌入式平臺(tái)內(nèi)存資源要求較高。
通信數(shù)據(jù)的完整性通過(guò)哈希計(jì)算實(shí)現(xiàn),計(jì)算后的哈希值用于判斷原始數(shù)據(jù)是否被惡意篡改。哈希算法在國(guó)密標(biāo)準(zhǔn)中為SM3算法,RFC標(biāo)準(zhǔn)中為SHA(安全散列算法)系列。哈希值被廣泛應(yīng)用在數(shù)字簽名、消息認(rèn)證、數(shù)據(jù)完整性檢測(cè)等領(lǐng)域。
SM3算法是在SHA-256基礎(chǔ)上的一種改進(jìn)算法,采用Merkle-Damgard 結(jié)構(gòu),消息分組為512位,摘要值長(zhǎng)度為256位。SM3算法流程如圖2所示,需要進(jìn)行多次填充和迭代壓縮。
圖2 SM3算法流程
SM3算法的壓縮處理與SHA-256相似,但壓縮函數(shù)的每一輪使用2個(gè)消息字。摘要生成過(guò)程均包括填充和迭代壓縮過(guò)程。
2005 年我國(guó)密碼學(xué)家王小云[19-20]等人給出了SHA-1的碰撞算法,SHA-1的安全性已經(jīng)存在漏洞。相比于SHA-1算法,SM3的安全性較高。
SM3 算法同樣可以通過(guò)國(guó)家密碼局授權(quán)的形式固化于硬件中進(jìn)行加密解密運(yùn)算,在計(jì)算效率和安全性方面都有很大提升。
國(guó)密算法的IPSec(互聯(lián)網(wǎng)安全協(xié)議)設(shè)計(jì)基于原始RFC傳輸架構(gòu),將不太安全的RFC標(biāo)準(zhǔn)的加密、簽名、哈希算法替換成自主可控的SM1、SM2、SM3、SM4 算法,符合國(guó)家對(duì)重要電力基礎(chǔ)設(shè)施的高安全標(biāo)準(zhǔn)。依據(jù)IPSec VPN技術(shù)規(guī)范,在配電網(wǎng)終端實(shí)現(xiàn)國(guó)密IPSec兩種工作模式。
1.4.1 隧道模式
隧道模式保護(hù)所有IP(因特網(wǎng)協(xié)議)數(shù)據(jù)并封裝新的IP 頭部,原始的IP 頭部不再進(jìn)行IP 路由。隧道模式能夠?yàn)镮P 層數(shù)據(jù)提供完整的數(shù)據(jù)保護(hù),包括IP頭部和IP數(shù)據(jù)載荷,一般使用在網(wǎng)關(guān)或終端中。隧道模式AH(認(rèn)證頭)和ESP(安全數(shù)據(jù)載荷)協(xié)議如圖3、圖4所示。由圖3可知,原始的IP地址是遠(yuǎn)端的源地址和目的地址,新的IP 頭部包含IPSec 本端和對(duì)端地址。在隧道模式下,AH協(xié)議保護(hù)原始的IP 頭和IP 數(shù)據(jù)載荷。由圖4 可知,隧道模式下,ESP 協(xié)議同樣保護(hù)原始的IP頭和IP數(shù)據(jù)載荷。
圖3 隧道模式AH協(xié)議
圖4 隧道模式ESP協(xié)議
1.4.2 傳輸模式
傳輸模式保護(hù)原始IP 頭部后面的數(shù)據(jù),在原始的IP 頭和payload 間插入IPSec 頭部,可提供端到端的加密會(huì)話。傳輸模式AH 協(xié)議和ESP 協(xié)議如圖5、圖6 所示。由圖5 可知,在國(guó)密IPSec 傳輸模式下,AH 協(xié)議插入到TCP 之前。由圖6 可知,隧道模式下ESP協(xié)議插入到TCP和Data的前后,并保護(hù)原始的IP數(shù)據(jù)載荷和數(shù)據(jù)完整性。
圖5 傳輸模式AH協(xié)議
圖6 傳輸模式ESP協(xié)議
綜上可知,國(guó)密IPSec 傳輸模式下,通過(guò)AH頭或ESP頭對(duì)IP層數(shù)據(jù)載荷進(jìn)行保護(hù),原始IP頭保持不變;國(guó)密IPSec 隧道模式下,通過(guò)新的IPSec 頭進(jìn)行數(shù)據(jù)路由,而原先的IP 頭和數(shù)據(jù)被保護(hù)起來(lái),內(nèi)部的路由信息也被保護(hù)起來(lái)。
安全架構(gòu)采用輪訓(xùn)和突發(fā)兩種通信模式,主站可請(qǐng)求子站,子站響應(yīng);子站也可突發(fā)上送數(shù)據(jù)給主站,主站響應(yīng)。通信方式采用網(wǎng)口,安全架構(gòu)在應(yīng)用層和網(wǎng)絡(luò)層進(jìn)行加密和認(rèn)證,同時(shí)具備雙重加密認(rèn)證屬性,保證了數(shù)據(jù)傳輸?shù)臋C(jī)密性、完整性和身份的合法性。
安全架構(gòu)如圖7 所示,應(yīng)用層主要完成加密、認(rèn)證、業(yè)務(wù)建立,網(wǎng)絡(luò)層完成密鑰協(xié)商和加密隧道建立。安全架構(gòu)設(shè)計(jì)重點(diǎn)解決消息欺騙、消息篡改、竊聽(tīng)攻擊、重放攻擊、中間人攻擊等問(wèn)題。網(wǎng)絡(luò)層和安全層的脆弱性解決策略如表3所示,主要從欺騙、重放、篡改、竊聽(tīng)等維度進(jìn)行分析和設(shè)計(jì)。
圖7 安全架構(gòu)
表3 脆弱性解決策略
對(duì)101 和104 協(xié)議進(jìn)行安全性改造,并在配電終端PRS-3351保護(hù)測(cè)控裝置上應(yīng)用。在原101和104報(bào)文的基礎(chǔ)上,增加安全層協(xié)議報(bào)文。安全層協(xié)議報(bào)文格式如表4所示,信息安全擴(kuò)展區(qū)包含時(shí)間戳、隨機(jī)數(shù)、簽名,最終哈希計(jì)算生成MAC(消息認(rèn)證碼)。
表4 安全層協(xié)議報(bào)文格式
考慮到協(xié)議的安全改進(jìn)會(huì)影響通信效率,在心跳幀和初始化鏈路幀中不采用加密方式,其他進(jìn)行加密處理。安全擴(kuò)展區(qū)定義如表5所示。由表5 可知,密文區(qū)的信息安全擴(kuò)展區(qū)也作了精簡(jiǎn)設(shè)計(jì),針對(duì)不同的101和104應(yīng)用業(yè)務(wù)類型,添加了時(shí)間戳、隨機(jī)數(shù)和簽名,數(shù)據(jù)字節(jié)總長(zhǎng)度僅為79字節(jié)。
表5 安全擴(kuò)展區(qū)定義
定義時(shí)間戳可確保通信報(bào)文的時(shí)效性。隨機(jī)數(shù)可提供數(shù)據(jù)的不可預(yù)測(cè)性,此種機(jī)制能夠保存報(bào)文的新鮮度,防止重放攻擊。簽名信息是對(duì)信息的完整性和不可抵賴性作保證,為主站和終端的雙向認(rèn)證提供技術(shù)支撐。
2.1.1 傳統(tǒng)認(rèn)證
終端的接入需要接受主站認(rèn)證,同時(shí)終端也對(duì)主站進(jìn)行認(rèn)證,安全認(rèn)證流程如圖8所示。
圖8 安全認(rèn)證流程
2.1.2 認(rèn)證改進(jìn)
相比于傳統(tǒng)接入認(rèn)證管理,加密網(wǎng)關(guān)負(fù)責(zé)配電網(wǎng)終端的認(rèn)證和接入管理,通過(guò)證書(shū)中心為每個(gè)終端簽名證書(shū),因此加密網(wǎng)關(guān)需要負(fù)責(zé)大量的用戶證書(shū)信息。由于未能考慮到證書(shū)吊銷或注銷等不及時(shí)性問(wèn)題,身份認(rèn)證存在一定的管理缺陷。為了避免多次人工進(jìn)行證書(shū)簽發(fā),安全架構(gòu)集成證書(shū)在線狀態(tài)接口,防止相關(guān)敏感數(shù)據(jù)泄露和通信負(fù)荷增加。動(dòng)態(tài)認(rèn)證流程如圖9所示,終端接口查詢并緩存簽名信息,有效解決人工維護(hù)的不安全性問(wèn)題。
圖9 動(dòng)態(tài)認(rèn)證流程
2.1.3 數(shù)據(jù)加密流程
采用國(guó)密算法對(duì)數(shù)據(jù)進(jìn)行加密,能夠保證數(shù)據(jù)的機(jī)密性。由表4 可知,信息安全擴(kuò)展區(qū)的MAC可保證數(shù)據(jù)的完整性,加密后的密文數(shù)據(jù)能夠保證數(shù)據(jù)的機(jī)密性,防止竊聽(tīng)。
應(yīng)用層對(duì)標(biāo)準(zhǔn)的101和104報(bào)文進(jìn)行加密封裝后,數(shù)據(jù)經(jīng)由傳輸層到達(dá)網(wǎng)絡(luò)層,并通過(guò)國(guó)密IPSec進(jìn)行網(wǎng)絡(luò)層的加密和認(rèn)證。
為保證加密隧道完全可靠,設(shè)計(jì)基于終端到網(wǎng)關(guān)之間的加密隧道。加密認(rèn)證設(shè)計(jì)由ISAKMP(因特網(wǎng)安全關(guān)聯(lián)和密鑰管理協(xié)議)、AH 協(xié)議、ESP 協(xié)議三部分組成。傳輸模式采用隧道模式,目的是對(duì)原始透明的IP數(shù)據(jù)包進(jìn)行二次封裝。IPSec的安全體系框架如圖10所示。
圖10 IPSec安全體系框架
2.2.1 密鑰協(xié)商
密鑰管理協(xié)議為建立安全聯(lián)盟過(guò)程,便于身份和密鑰的同步。協(xié)議設(shè)計(jì)采用ISAKMP,報(bào)文使用UDP(用戶數(shù)據(jù)協(xié)議)500端口進(jìn)行傳輸。
ISAKMP 需要通過(guò)兩個(gè)階段的交換。第一階段,終端和加密網(wǎng)關(guān)建立ISAKMP SA,該SA 是協(xié)商通信雙方共享策略和密鑰[21]。第二階段,終端和加密網(wǎng)關(guān)使用第一階段的ISAKMP SA 協(xié)商建立IPSec SA,IPSec SA 是為了保護(hù)數(shù)據(jù)通信而使用共享策略和密鑰[22]。
兩個(gè)模式的交換,有主模式和快速模式。主模式用于第一階段交換,實(shí)現(xiàn)終端和網(wǎng)關(guān)之間的身份鑒別和密鑰交換,從而得到會(huì)話密鑰,此密鑰用于保護(hù)第二階段的協(xié)商過(guò)程。快速模式用于第二階段交換,實(shí)現(xiàn)終端和網(wǎng)關(guān)之間的IPSec SA協(xié)商,確定通信雙方的IPSec 安全策略及會(huì)話密鑰。
密鑰協(xié)商過(guò)程中的證書(shū)通過(guò)權(quán)威的CA(認(rèn)證機(jī)構(gòu))簽發(fā),并對(duì)證書(shū)交換的方式進(jìn)行SM2算法認(rèn)證簽名授權(quán),解決了RFC模式下RSA認(rèn)證算法存在的中間人攻擊問(wèn)題。第一階段協(xié)商和第二階段協(xié)商過(guò)程如圖11所示。
圖11 協(xié)商交換流程
第一階段協(xié)商,首先完成SA安全聯(lián)盟,響應(yīng)方發(fā)送安全聯(lián)盟和響應(yīng)方的證書(shū)簽名及證書(shū)加密。然后,發(fā)送方和響應(yīng)方進(jìn)行密鑰數(shù)據(jù)交換,并用臨時(shí)密鑰Sk 進(jìn)行SM2 公鑰加密保護(hù)和簽名。最后,發(fā)送方和響應(yīng)方鑒別前面的交換過(guò)程,用協(xié)商好的對(duì)稱密碼算法進(jìn)行數(shù)據(jù)加密。
第二階段協(xié)商,首先發(fā)送方發(fā)送哈希載荷和安全聯(lián)盟載荷。然后,接收方也發(fā)送一個(gè)哈希載荷和安全聯(lián)盟載荷。最后,發(fā)送方發(fā)送的哈希載荷對(duì)前面的交換進(jìn)行鑒別。
攻擊者就算截獲了密鑰交換的信息,無(wú)法通過(guò)DH密鑰交換協(xié)議的漏洞,也無(wú)法取得密鑰。所以從安全性角度來(lái)看,密鑰協(xié)商交換是一種高度安全協(xié)議,可有效防止中間人攻擊。
2.2.2 加密算法流程
網(wǎng)絡(luò)層IPSec密鑰協(xié)商成功,隨后加密隧道成功建立,雙方的數(shù)據(jù)業(yè)務(wù)通過(guò)ESP 協(xié)議封裝對(duì)原始的IP頭和數(shù)據(jù)載荷進(jìn)行加密傳輸。依據(jù)國(guó)密IPSec VPN 技術(shù)規(guī)范,數(shù)據(jù)業(yè)務(wù)傳輸?shù)倪^(guò)程中通過(guò)國(guó)密算法SM1 或SM4 進(jìn)行對(duì)稱加密,通過(guò)SM3進(jìn)行業(yè)務(wù)數(shù)據(jù)完整性保護(hù)。利用國(guó)密算法的封閉性及硬件加密卡定制實(shí)現(xiàn)加密和解密過(guò)程。
加密流程如圖12所示,收到IP層數(shù)據(jù)后,通過(guò)響應(yīng)的算法標(biāo)識(shí)進(jìn)行接口調(diào)用,最后完成明文加密并對(duì)IP 層數(shù)據(jù)包進(jìn)行再次封裝,通過(guò)鏈路發(fā)送出去。
圖12 加密流程
101或104報(bào)文中通過(guò)源地址和目的地址的組合來(lái)區(qū)分報(bào)文信息的來(lái)源和目的,繼而表明主站和終端身份。這種方式易被攻擊者偽裝合法地址,從而偽造通信報(bào)文,形成欺騙攻擊。安全架構(gòu)的雙向認(rèn)證技術(shù)能夠明確確定正在與之授權(quán)的用戶通信并提供服務(wù),一旦惡意用戶闖入,則添加錯(cuò)誤日志信息,便于審計(jì)和追溯。
通信過(guò)程中,應(yīng)用層重要戳報(bào)文操作通過(guò)SM3 函數(shù)進(jìn)行摘要計(jì)算并添加時(shí)間進(jìn)行簽名。攻擊者惡意篡改報(bào)文,對(duì)端進(jìn)行驗(yàn)簽和MAC驗(yàn)證時(shí)報(bào)錯(cuò),并添加錯(cuò)誤日志信息,便于審計(jì)。通過(guò)這種方式,保障了數(shù)據(jù)的完整性和不可抵賴性。
電網(wǎng)數(shù)據(jù)的重要性不言而喻,一旦電網(wǎng)數(shù)據(jù)被竊聽(tīng),終端實(shí)時(shí)遙測(cè)數(shù)據(jù)、電能信息和控制數(shù)據(jù)等都可以用來(lái)進(jìn)行行為分析,并利用人工智能技術(shù)進(jìn)行預(yù)測(cè)。應(yīng)用層通過(guò)SM1 或SM4 進(jìn)行加密,而國(guó)密算法SM1 未公開(kāi),可在很大程度上防止竊聽(tīng),具備出口數(shù)據(jù)加密效果。
為防止攻擊者發(fā)送一個(gè)目的主機(jī)曾接受過(guò)的數(shù)據(jù)包,通過(guò)應(yīng)用層時(shí)間戳和網(wǎng)絡(luò)層的序列號(hào)來(lái)防止重放攻擊。
為排除不同算法和不同軟硬件平臺(tái)的性能差異,通過(guò)C 語(yǔ)言軟件編程實(shí)現(xiàn)OPENSSL 庫(kù)的AES、RSA、SHA 國(guó)際算法。方案一采用國(guó)家密碼算法,方案二采用RFC 標(biāo)準(zhǔn)算法,考慮到101和104協(xié)議數(shù)據(jù)業(yè)務(wù)載荷不超過(guò)256字節(jié),分別選取128 字節(jié)、256 字節(jié)、512 字節(jié)的二進(jìn)制文件,硬件處理器為國(guó)產(chǎn)自研的FUXI 100 MHz,操作系統(tǒng)為國(guó)產(chǎn)自研的Sylix。
加密和解密時(shí)間如表6 所示。數(shù)據(jù)載荷越大,加密和解密的時(shí)間越長(zhǎng)。SM4 算法的加密和解密時(shí)間相當(dāng),時(shí)間均衡的原因是算法的對(duì)稱性。而AES 的解密時(shí)間略長(zhǎng)于加密時(shí)間,時(shí)間不均衡的原因是算法的非對(duì)稱性。按照通信協(xié)議數(shù)據(jù)載荷為128 字節(jié)計(jì)算,SM4 的加密和解密時(shí)間低于AES,效率高于AES。
表6 加密解密時(shí)間比較
表7 對(duì)比了方案一和方案二的哈希計(jì)算時(shí)間。由表7 可知,SM3 哈希計(jì)算時(shí)間隨著輸入樣本數(shù)據(jù)的增加而增加,SHA256 哈希計(jì)算時(shí)間也是類似。但在執(zhí)行時(shí)間上,SM3 時(shí)間比SHA256 時(shí)間略長(zhǎng),主要原因是SM3 設(shè)計(jì)是基于SHA256,算法的復(fù)雜度高于SHA256。按照通信協(xié)議數(shù)據(jù)載荷為128字節(jié)計(jì)算,哈希計(jì)算的時(shí)間基本相當(dāng)。
表7 哈希計(jì)算時(shí)間比較
相比于101和104協(xié)議的原始報(bào)文結(jié)構(gòu),改進(jìn)后的安全層協(xié)議確實(shí)存在毫秒級(jí)的額外加密耗時(shí)。為了驗(yàn)證加密算法的復(fù)雜度是否對(duì)配電網(wǎng)終端通信系統(tǒng)的實(shí)時(shí)性造成影響,通過(guò)軟件添加終端和主站的出/入口時(shí)間戳,實(shí)測(cè)終端對(duì)網(wǎng)絡(luò)層和應(yīng)用層加解密的時(shí)間消耗。
安全規(guī)約終端處理時(shí)間如圖13 所示,網(wǎng)口接收耗時(shí)2 s。整個(gè)時(shí)間包括網(wǎng)口接收數(shù)據(jù)、網(wǎng)絡(luò)層解密、網(wǎng)絡(luò)層哈希驗(yàn)證、應(yīng)用層解密、應(yīng)用層MAC 驗(yàn)證、應(yīng)用層處理、應(yīng)用層加密、應(yīng)用層MAC計(jì)算、網(wǎng)絡(luò)層加密、網(wǎng)絡(luò)層MAC計(jì)算。
圖13 安全規(guī)約終端處理時(shí)間
安全規(guī)約傳輸時(shí)間如圖14 所示,通過(guò)主站側(cè)請(qǐng)求報(bào)文可知,總傳輸耗時(shí)在3 s。傳輸耗時(shí)包括應(yīng)用層規(guī)約處理、網(wǎng)絡(luò)層無(wú)線模塊加密、主站加密網(wǎng)關(guān)加/解密等。
圖14 安全規(guī)約傳輸時(shí)間
傳輸時(shí)間比較見(jiàn)表8。相比于傳統(tǒng)規(guī)約,安全架構(gòu)存在500 ms 延時(shí),但同時(shí)帶來(lái)網(wǎng)絡(luò)層和應(yīng)用層的雙重加密。因此,安全架構(gòu)在效率和安全之間取得了較好的平衡。
表8 傳輸時(shí)間比較
根據(jù)上述設(shè)計(jì)的安全架構(gòu),配電網(wǎng)終端PRS-3342 進(jìn)行安全性測(cè)試和國(guó)家信息安全研究中心認(rèn)證測(cè)試,并給出響應(yīng)數(shù)據(jù)。測(cè)試環(huán)境如圖15所示。
圖15 通信測(cè)試環(huán)境
4.3.1 安全性測(cè)試
通過(guò)加密主站建立密鑰和隧道,建立完畢后,主站進(jìn)行應(yīng)用層雙向認(rèn)證,業(yè)務(wù)完全建立成功,密鑰協(xié)商如圖16所示。從圖16可知,密鑰協(xié)商的兩個(gè)階段順利完成。
圖16 密鑰協(xié)商
載荷安全數(shù)據(jù)如圖17所示。由圖17可知,業(yè)務(wù)交互通過(guò)ESP數(shù)據(jù)進(jìn)行端到端的數(shù)據(jù)加密傳輸,保證了敏感信息的機(jī)密性。
圖17 載荷安全數(shù)據(jù)
4.3.2 國(guó)家信息安全研究中心測(cè)試
配電網(wǎng)終端通信協(xié)議安全架構(gòu)的設(shè)計(jì),涉及到協(xié)議層次的安全測(cè)試。國(guó)家信息安全研究中心的測(cè)試比較全面,協(xié)議層次相關(guān)的測(cè)試項(xiàng)目和結(jié)論如表9 所示。由表9 可知,配電終端能夠使用SM3算法計(jì)算度量值,具有加/解密、簽名驗(yàn)簽功能,可與主站雙向認(rèn)證,支持國(guó)密SM2、SM3、SM4 算法,應(yīng)用層安全改進(jìn)協(xié)議無(wú)程序崩潰、緩沖區(qū)溢出、拒絕服務(wù)等異常。測(cè)試詳情見(jiàn)測(cè)試報(bào)告,編號(hào)為NA-RW-1470/2103-21CJ11-01。
表9 部分測(cè)試項(xiàng)目和結(jié)論
配電網(wǎng)終端通信協(xié)議的安全架構(gòu)采用國(guó)密算法設(shè)計(jì),對(duì)標(biāo)準(zhǔn)的應(yīng)用層規(guī)約和網(wǎng)絡(luò)層進(jìn)行安全改進(jìn),具有認(rèn)證和加密雙重屬性,很好地解決了協(xié)議安全本身的脆弱性問(wèn)題。協(xié)議的安全性分析和測(cè)試驗(yàn)證結(jié)果表明:
1)該通信協(xié)議的安全架構(gòu)集成了網(wǎng)絡(luò)層和應(yīng)用層雙重防護(hù)。
2)改造后的安全層協(xié)議并未因?yàn)樾略龅募用芩惴ǖ膹?fù)雜度導(dǎo)致通信效率降低。
3)通信協(xié)議的安全架構(gòu)能夠有效抵御欺騙、篡改、竊聽(tīng)、中間人等網(wǎng)絡(luò)攻擊,保障配電網(wǎng)通信系統(tǒng)的安全。