楊家全,馮勇
(云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,云南 昆明 650217)
為了應(yīng)對(duì)能源危機(jī),新能源電動(dòng)汽車得到了廣泛的應(yīng)用[1-2]。同時(shí),為了滿足數(shù)量日益劇增的電動(dòng)汽車的充電需求,智能充電系統(tǒng)得以迅速發(fā)展,分布式智能充電樁被廣泛部署。智能充電樁作為電動(dòng)汽車連接能源的主要入口,擔(dān)負(fù)著重大的責(zé)任,包括給電動(dòng)汽車正常充電的電量輸出、充電電量的正確計(jì)費(fèi)、電動(dòng)汽車的充電安全以及充電過(guò)程中用戶和服務(wù)商、充電樁和充電樁之間的數(shù)據(jù)互通等[3-5]。
一個(gè)分布式充電樁在電動(dòng)汽車充電過(guò)程中的交互過(guò)程示意圖如圖1 所示,包含6 個(gè)實(shí)體,分別是電動(dòng)汽車、充電樁、用戶、手機(jī)終端應(yīng)用軟件、充電卡和后臺(tái)管理中心,其中,智能充電樁是交互的中心[6-8]。
圖1 一個(gè)分布式充電樁在充電過(guò)程中的交互過(guò)程
1)用戶:作為充電服務(wù)的發(fā)起者,用戶通過(guò)手機(jī)終端上的應(yīng)用軟件查找充電樁,進(jìn)行充值繳費(fèi),控制充電起始與停止,查詢充電的詳細(xì)數(shù)據(jù),如電壓、電流、電量、計(jì)費(fèi)等信息。
2)手機(jī)終端應(yīng)用軟件:作為用戶與充電樁和服務(wù)商后臺(tái)管理中心交互的橋梁,獲取用戶的充電起止指令,控制充電樁開(kāi)始與停止充電,并從充電樁獲取充電的詳細(xì)數(shù)據(jù)反饋給用戶;另外,與后臺(tái)管理中心交互完成用戶充值,并從后臺(tái)管理中心獲取充電樁位置等信息反饋給用戶。
3)后臺(tái)管理中心:作為充電服務(wù)的通過(guò)者,向手機(jī)終端應(yīng)用軟件反饋充電樁的詳細(xì)信息,以及用戶當(dāng)前電動(dòng)汽車充電的詳細(xì)數(shù)據(jù)信息;控制控制充電樁充電的起始與停止,并對(duì)用戶本次充電進(jìn)行計(jì)費(fèi)。
4)充電卡:作為用戶給電動(dòng)汽車進(jìn)行充電控制的另一種方式,充電卡插入智能充電樁的讀卡器上,可以查看充電卡的余額,并使用充電卡控制充電的起始與停止。
5)充電樁:作為充電服務(wù)的中心,其主要功能是完成給電動(dòng)汽車的充電工作,但是在整個(gè)充電工作的過(guò)程中,充電樁需要同后臺(tái)管理中心、手機(jī)終端應(yīng)用軟件或者充電卡進(jìn)行交互,從而完成電動(dòng)汽車的充電工作。
6)電動(dòng)汽車:作為充電服務(wù)的直接參與者,與智能充電樁交互,通過(guò)智能充電樁獲取電能源。
然而分布式智能充電樁在帶來(lái)方便的同時(shí)也面臨著日益嚴(yán)重的信息安全問(wèn)題,尤其是在電動(dòng)汽車充電過(guò)程中控制信息的機(jī)密性面臨巨大的挑戰(zhàn)。外部攻擊通過(guò)惡意攻擊代碼進(jìn)行控制,使智能充電樁無(wú)法正常給電動(dòng)汽車進(jìn)行充電工作,給用戶使用電動(dòng)汽車帶來(lái)不便,影響用戶正常生活;惡意篡改控制信息,造成用戶充電計(jì)費(fèi)異常,給用戶和服務(wù)商造成嚴(yán)重的經(jīng)濟(jì)損失。這些問(wèn)題將成為智能充電充電系統(tǒng)以及電動(dòng)汽車產(chǎn)業(yè)進(jìn)一步發(fā)展的嚴(yán)重阻礙。
為了解決上述問(wèn)題,本文提出一種智能充電樁控制信息的機(jī)密性保護(hù)方案,在充電系統(tǒng)中所有控制信息通過(guò)SM2 算法進(jìn)行加密,實(shí)現(xiàn)充電樁信息加密。該方案能夠有效保障智能充電樁控制信息的機(jī)密性,從而提高智能充電樁的安全性,進(jìn)一步促進(jìn)智能充電樁以及電動(dòng)汽車產(chǎn)業(yè)的良好發(fā)展。
目前在學(xué)術(shù)界在充電樁信息安全防護(hù)技術(shù)方面已取得一些研究成果,主要圍繞充電樁信息安全需求、充電樁 CAN 總線協(xié)議安全以及充電交易數(shù)據(jù)安全存儲(chǔ)等方面展開(kāi)。在充電樁信息安全需求方面,文獻(xiàn)[5]詳細(xì)描述了在電動(dòng)汽車充電過(guò)程中,用于通信的嵌入式設(shè)備(如充電樁中的核心芯片等)安全的重要性,并針對(duì)充電樁可能存在的信息安全問(wèn)題提出了一些應(yīng)對(duì)方案,最后主要是對(duì)電動(dòng)汽車在充電過(guò)程中用于的嵌入式設(shè)備所面臨的安全問(wèn)題進(jìn)行了總結(jié),并提出了嵌入式設(shè)備在應(yīng)用于充電樁方面未來(lái)的發(fā)展趨勢(shì)。文獻(xiàn)[10]分析了在當(dāng)前4G網(wǎng)絡(luò)的覆蓋下,充電樁所面臨的在線惡意攻擊、用戶私密數(shù)據(jù)可能被篡改或竊取等安全威脅,并提出了一種分別針對(duì)充電樁后臺(tái)管理中心、充電樁充電卡和手機(jī)終端充電樁應(yīng)用軟件的信息安全防護(hù)方案。在充電樁CAN 總線協(xié)議安全方面,文獻(xiàn)[7]分析了惡意攻擊者如何通過(guò)分布式充電樁和電動(dòng)汽車充電通信協(xié)議——CAN總線協(xié)議發(fā)動(dòng)攻擊,嚴(yán)重干擾智能充電樁的正常充電工作,對(duì)充電基礎(chǔ)設(shè)施的安全帶來(lái)巨大的威脅,并提出一種基于最大最小蟻群算法(MMAS) 的 CAN 總線協(xié)議模糊測(cè)試方法,對(duì)相關(guān)的報(bào)文進(jìn)行安全檢測(cè),有效提高CAN 總線協(xié)議的安全。另外,在充電交易數(shù)據(jù)安全存儲(chǔ)方面,文獻(xiàn)[8]方法通過(guò)對(duì)充電樁進(jìn)行用戶數(shù)據(jù)處理與用戶隱私信息加密,使每個(gè)用戶對(duì)與其自身相關(guān)的數(shù)據(jù)擁有絕對(duì)的控制權(quán),從而實(shí)現(xiàn)更為安全的隱私和交易數(shù)據(jù)的存儲(chǔ)。
綜上所述,在充電樁信息安全防護(hù)技術(shù)方面雖然已取得一些研究成果,但主要圍繞充電樁信息安全需求、充電樁 CAN 總線協(xié)議安全以及充電交易數(shù)據(jù)安全存儲(chǔ)等方面展開(kāi)。目前還沒(méi)有保護(hù)分布式智能充電樁控制信息機(jī)密性的相關(guān)方案,為了提高分布式智能充電樁工作的安全性、可靠性,以促進(jìn)電動(dòng)汽車的進(jìn)一步發(fā)展,設(shè)計(jì)一種保護(hù)分布式智能充電樁控制信息機(jī)密性的方案就顯得更為迫切。
SM2 算法和RSA 算法都是公鑰密碼算法,SM2 算法是一種更先進(jìn)安全的算法,在商用密碼體系中被用來(lái)替換RSA 算法。
SM2 主要分為SM2 加解密算法以及SM2簽名算法,數(shù)據(jù)的發(fā)送方和接收方各自持有一對(duì)公私鑰,發(fā)送方的公私鑰對(duì)用(PKSend,SKSend)表示,接收方的公私鑰對(duì)用(PKRecv,SKRecv)表示,明文用M表示,密文用C表示。
SM2 加密算法:發(fā)送方使用接收方的公鑰對(duì)明文數(shù)據(jù)進(jìn)行加密,得到密文后,將密文發(fā)送給數(shù)據(jù)的接收方:
SM2 解密算法:接收方收到密文數(shù)據(jù)后,用自己的私鑰對(duì)密文進(jìn)行解密,從而得到密文數(shù)據(jù):
SM2 簽名算法:發(fā)送方使用自己的私鑰對(duì)數(shù)據(jù)進(jìn)行簽名,得到簽名信息signInfo:
SM2 驗(yàn)證簽名算法:接收方使用發(fā)送方的公鑰對(duì)簽名進(jìn)行驗(yàn)簽,得到驗(yàn)驗(yàn)證簽名結(jié)果:
為了解決分布式智能充電樁控制信息機(jī)密性的問(wèn)題,本文使用國(guó)密SM2 算法對(duì)控制信息進(jìn)行加密傳輸,并將充電系統(tǒng)中的控制信息劃分為以下三類:
1)客戶端信息:指用戶使用手機(jī)終端應(yīng)用程序向服務(wù)端和充電樁發(fā)出的信息,包括用戶身份信息、充值信息、開(kāi)始充電請(qǐng)求、終止充電請(qǐng)求等[11-13]。
2)服務(wù)端信息:指后臺(tái)管理中心向用戶手機(jī)終端和充電樁發(fā)出的信息,包括充電樁位置信息、計(jì)費(fèi)信息、用戶身份驗(yàn)證反饋、開(kāi)始充電命令、終止充電命令等。
3)充電樁信息:指充電樁向用戶手機(jī)終端和后臺(tái)管理中心發(fā)出的信息,包括電流、電壓、電量、用戶身份驗(yàn)證、請(qǐng)求開(kāi)始充電和終止充電信息[14-15]。
在充電服務(wù)過(guò)程中,主要的涉及到控制信息機(jī)密性保護(hù)的過(guò)程是用戶請(qǐng)求開(kāi)始充電和用戶請(qǐng)求終止充電,本文將設(shè)計(jì)機(jī)密性保護(hù)方案對(duì)開(kāi)始充電和終止充電服務(wù)過(guò)程中涉及的控制信息進(jìn)行機(jī)密性保護(hù),方案中參數(shù)及含義如表1 所示。
表1 參數(shù)表
在使用分布式智能充電樁的充電系統(tǒng)中,涉及開(kāi)始充電服務(wù)的實(shí)體有用戶端、服務(wù)端、充電樁和電動(dòng)汽車。開(kāi)始充電機(jī)密性保護(hù)方案圖如圖2 所示,控制信息機(jī)密性保護(hù)服務(wù)過(guò)程如下:
圖2 開(kāi)始充電機(jī)密性保護(hù)
1)客戶端→充電樁:請(qǐng)求開(kāi)始充電。用戶端將加密的開(kāi)始充電請(qǐng)求和身份信息發(fā)送給充電樁,請(qǐng)求充電樁開(kāi)始為電動(dòng)汽車充電。其中,strEl表示開(kāi)始充電請(qǐng)求。
2)充電樁:處理充電請(qǐng)求。充電樁收到用戶端發(fā)送的數(shù)據(jù)包后,將其解密,獲得用戶的開(kāi)始充電請(qǐng)求、身份信息和用戶簽名。
3)充電樁→服務(wù)端:驗(yàn)證用戶請(qǐng)求。根據(jù)簽名信息進(jìn)行智能充電樁用戶識(shí)別,實(shí)現(xiàn)身份驗(yàn)證,并詢問(wèn)是否可以執(zhí)行用戶充電請(qǐng)求。
4)服務(wù)端:處理驗(yàn)證請(qǐng)求。服務(wù)端解密充電樁發(fā)送的數(shù)據(jù),驗(yàn)證用戶簽名,并驗(yàn)證用戶是否滿足執(zhí)行開(kāi)始充電請(qǐng)求的條件,主要分為以下兩步:
①解密:
②驗(yàn)證用戶:
5)服務(wù)端→充電樁:發(fā)布執(zhí)行命令。服務(wù)端給充電樁發(fā)布是否指令用戶充電請(qǐng)求的命令。其中,comInfo 表示執(zhí)行命令。
6)充電樁:處理命令。充電樁解密服務(wù)端發(fā)送的命令信息,根據(jù)命令選擇執(zhí)行步驟(7)或者步驟(8),如果用戶滿足開(kāi)始充電的條件,則充電樁執(zhí)行步驟(7),開(kāi)始為電動(dòng)汽車充電,否則直接執(zhí)行步驟(8),向用戶反饋拒絕執(zhí)行開(kāi)始充電的具體原因。其中,exe()表示執(zhí)行。
7)充電樁→電動(dòng)汽車:開(kāi)始充電。如果服務(wù)端發(fā)布的是執(zhí)行用戶充電請(qǐng)求,則充電樁開(kāi)始給電動(dòng)汽車充電,并執(zhí)行步驟(8),向用戶反饋當(dāng)前充電情況。
8)充電樁→用戶端:充電情況反饋。如果用戶滿足開(kāi)始充電條件,返回當(dāng)前充電的具體情況,例如電流、電壓、計(jì)費(fèi)信息鄧;如果用戶不滿足開(kāi)始充電條件,則返回拒絕執(zhí)行充電請(qǐng)求的原因。
在使用分布式智能充電樁的充電系統(tǒng)中,涉及終止充電服務(wù)的實(shí)體有用戶端、服務(wù)端、充電樁和電動(dòng)汽車。終止充電機(jī)密性保護(hù)方案圖如圖3 所示,控制信息機(jī)密性保護(hù)服務(wù)過(guò)程如下:
圖3 終止充電機(jī)密性保護(hù)
1)客戶端→充電樁:終止充電請(qǐng)求。用戶端將加密的終止充電請(qǐng)求和身份信息發(fā)送給充電樁,請(qǐng)求充電樁開(kāi)始為電動(dòng)汽車充電-終止充電請(qǐng)求。其中,endEl表示終止充電請(qǐng)求。
2)充電樁:處理終止充電請(qǐng)求。充電樁解密用戶發(fā)送的數(shù)據(jù),獲得用戶的終止充電請(qǐng)求、身份信息和用戶簽名,并根據(jù)驗(yàn)證結(jié)果選擇執(zhí)行步驟(3) 或者步驟(4),如果用戶身份驗(yàn)證通過(guò),則充電樁執(zhí)行步驟(3),終止本次充電,否則直接執(zhí)行步驟(4),向用戶反饋拒絕執(zhí)行終止充電的具體原因。
3)充電樁→電動(dòng)汽車:終止充電。如果驗(yàn)證用戶身份通過(guò),則充電樁執(zhí)行用戶終止充電請(qǐng)求,終止本次電動(dòng)汽車充電服務(wù)。
4)充電樁→用戶端:充電情況反饋。如果用戶身份通過(guò),正常終止充電,反饋本次充電具體信息,包括電量、充電時(shí)長(zhǎng)和費(fèi)用等信息;如果用戶身份未通過(guò),則反饋無(wú)法正常終止充電及相應(yīng)的原因。
5)充電樁→服務(wù)端:充電結(jié)束。充電樁向服務(wù)端反饋,本次充電結(jié)束,并將加密的本次充電的具體信息,包括用戶信息、電量、計(jì)費(fèi)等發(fā)送給服務(wù)端。其中,eLInfo表示充電信息。
6)服務(wù)端:充電結(jié)束處理。解密充電樁發(fā)送的用戶充電信息,記錄用戶本次充電詳細(xì)情況。主要分為以下兩步:
①解密充電樁發(fā)送的數(shù)據(jù):
②記錄用戶本次充電的詳細(xì)情況。
7)充電樁→用戶端:充電繳費(fèi)。用戶在充電完成后向服務(wù)端繳納本次充電的費(fèi)用。
下面對(duì)本文設(shè)計(jì)的分布式智能充電樁控制信息機(jī)密性保護(hù)方案進(jìn)行安全性分析,主要包括機(jī)密性和抗中間人攻擊。
機(jī)密性:控制信息的機(jī)密性保護(hù)是本文方案設(shè)計(jì)的主要目標(biāo),本文方案使用國(guó)密算法SM2 對(duì)充電服務(wù)過(guò)程中的關(guān)鍵控制信息進(jìn)行加密,這些控制信息包括用戶端的開(kāi)始充電請(qǐng)求、終止充電請(qǐng)求、充電樁的用戶驗(yàn)證請(qǐng)求和服務(wù)端的執(zhí)行命令。即使惡意用戶竊取到傳輸?shù)臄?shù)據(jù)包,由于沒(méi)有接收方的私鑰,其無(wú)法解密得到真實(shí)的數(shù)據(jù)內(nèi)容,因此能夠保證控制信息的機(jī)密性。
對(duì)于本研究來(lái)說(shuō),無(wú)論是服務(wù)端與用戶端還是服務(wù)端與充電樁端均傳輸加密后的數(shù)據(jù),即使惡意第三方采用中間人攻擊,獲得明文數(shù)據(jù),并且對(duì)于可能作惡的用戶端,在其提交請(qǐng)求時(shí)必須附加自身對(duì)請(qǐng)求信息的簽名,所以他人無(wú)法偽裝合法用戶,因此本方案能夠抗中間人攻擊。
為了對(duì)本文設(shè)計(jì)的機(jī)密性保護(hù)方案進(jìn)行驗(yàn)證和性能測(cè)試,系統(tǒng)開(kāi)發(fā)軟件為android studio 4.1,服務(wù)器選擇Windows10 64 位操作系統(tǒng),內(nèi)存8GB,Windows10 64 位操作系統(tǒng);實(shí)驗(yàn)安裝移動(dòng)端設(shè)備配置為MIUI 12.0.6 系統(tǒng)。
本文進(jìn)行多次實(shí)驗(yàn)測(cè)試,記錄方案主要算法過(guò)程的耗時(shí)情況,主要算法過(guò)程包括四個(gè),分別是加密、解密、簽名和驗(yàn)簽。各算法過(guò)程分別測(cè)試100 次,并取每10 次的平均值,即每個(gè)算法過(guò)程分別記錄10 各平均耗時(shí)數(shù)據(jù)。本文方法的加解密耗時(shí)情況見(jiàn)表2。
表2 時(shí)間記錄表 (單位/ms)
加解密的耗時(shí)結(jié)果如圖4 所示。
圖4 4個(gè)算法消耗時(shí)間對(duì)比
由表2 和圖4 可以看出,在時(shí)間開(kāi)銷方面,四個(gè)算法過(guò)程(加密、解密、簽名和驗(yàn)簽)的平均時(shí)間分別為10.3 ms、6.9 ms、5.2 ms 和4.9 ms。在各個(gè)算法過(guò)程中,時(shí)間開(kāi)銷最小的是驗(yàn)簽過(guò)程,平均耗時(shí)為4.9 極低 ms/次,時(shí)間開(kāi)銷最大的是加密過(guò)程,平均耗時(shí)為10.3 ms/次,但是每個(gè)算法過(guò)程的時(shí)間開(kāi)銷都極低,不會(huì)影響在充電服務(wù)過(guò)程中的用戶體驗(yàn)。
在電動(dòng)汽車充電過(guò)程中控制信息的機(jī)密性正面臨巨大的挑戰(zhàn),例如對(duì)電動(dòng)汽車信息進(jìn)行篡改、竊取控制信息,嚴(yán)重危害智能充電樁的正常工作,給用戶和服務(wù)商造成嚴(yán)重經(jīng)濟(jì)損失。
針對(duì)上述問(wèn)題,本文提出一種智能充電樁控制信息的保護(hù)方案,在充電系統(tǒng)中所有控制信息使用SM2 算法加密,并且要求用戶在提交請(qǐng)求時(shí)一并提高簽名信息。發(fā)送方發(fā)送的數(shù)據(jù)都利用接收方的密鑰進(jìn)行加解密,從而保證充電服務(wù)過(guò)程中控制信息的機(jī)密性;另外,對(duì)可能作惡的用戶端,要求其提交請(qǐng)求時(shí)附加對(duì)請(qǐng)求信息的簽名,從而保證控制信息的真實(shí)性。該方案能夠有效保障分布式智能充電樁在充電服務(wù)過(guò)程中控制信息的機(jī)密性,從而提高分布式智能充電樁充電系統(tǒng)的安全性。