楊家全
(云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,昆明 650217)
隨著電動(dòng)汽車市場(chǎng)的快速發(fā)展,作為充電基礎(chǔ)設(shè)施的電動(dòng)汽車充電樁也得到了大規(guī)模的應(yīng)用部署。根據(jù)中國(guó)電動(dòng)汽車充電基礎(chǔ)設(shè)施促進(jìn)聯(lián)盟預(yù)測(cè),2020 年將新增公共充電樁15.6 萬臺(tái),公共充電樁保有量將達(dá)到66.7 萬臺(tái);新增私人充電樁37.3 萬臺(tái),私人充電樁數(shù)量將達(dá)到107.6 萬臺(tái)。
然而,充電設(shè)施大量分散建設(shè)在居民區(qū)、商業(yè)區(qū),分布廣、間隔遠(yuǎn),存在著明顯的信息安全隱患。因此,充電樁作為電動(dòng)汽車主要的充電設(shè)備,不僅要滿足為電動(dòng)汽車提供便捷、安全、可靠的供電需求,而且要具備強(qiáng)大的信息安全防護(hù)能力。信息安全防護(hù)的首要工作就是對(duì)充電網(wǎng)絡(luò)系統(tǒng)中的實(shí)體節(jié)點(diǎn)進(jìn)行身份鑒別,從而解決充電樁系統(tǒng)中存在的包括充電樁設(shè)備、運(yùn)營(yíng)平臺(tái)在內(nèi)的各網(wǎng)絡(luò)節(jié)點(diǎn)的身份仿冒問題,保證系統(tǒng)內(nèi)實(shí)體的真實(shí)性。
以下通過對(duì)當(dāng)前成熟的PKI 身份鑒別機(jī)制進(jìn)行分析,針對(duì)充電樁的具體應(yīng)用場(chǎng)景,對(duì)證書內(nèi)容進(jìn)行簡(jiǎn)化以及對(duì)認(rèn)證流程進(jìn)行優(yōu)化,同時(shí)采用國(guó)產(chǎn)SM2 算法,提出了一套存儲(chǔ)空間占用低、認(rèn)證過程耗時(shí)少的身份鑒別系統(tǒng),并進(jìn)行了實(shí)驗(yàn)室驗(yàn)證。
身份鑒別通過驗(yàn)證信息的發(fā)送方和接收方的身份是否與其所宣稱的一致,保障通信實(shí)體身份的真實(shí)性,是信息安全的第一道防護(hù)關(guān)卡。身份鑒別的本質(zhì)是被鑒別方有一些信息,除被鑒別方自己外任何第三方不能偽造,被鑒別方能夠使鑒別方相信它確實(shí)擁有那些秘密,則它的身份就得到了認(rèn)證。
安全的鑒別機(jī)制是建立在成熟的密碼學(xué)算法的基礎(chǔ)之上的,使用密碼算法不但可以產(chǎn)生身份鑒別使用的口令,還可以保證鑒別消息的完整性、機(jī)密性以及抵抗各種攻擊,實(shí)踐證明密碼學(xué)是保證鑒別安全的基礎(chǔ)。在各種基于密碼學(xué)的身份鑒別機(jī)制中,基于PKI(公鑰密碼基礎(chǔ)設(shè)施)的身份鑒別技術(shù)是當(dāng)前網(wǎng)絡(luò)與信息安全領(lǐng)域技術(shù)成熟度最高、應(yīng)用范圍最廣泛的一種解決方案。
PKI 是通過使用公鑰密碼技術(shù)和數(shù)字證書來確保信息安全并負(fù)責(zé)對(duì)數(shù)字證書持有者進(jìn)行身份鑒別的一種體系。基于PKI 的身份鑒別機(jī)制首先要求被鑒別的實(shí)體向權(quán)威的CA 機(jī)構(gòu)申請(qǐng)數(shù)字證書,數(shù)字證書通常采用X.509 格式,證書內(nèi)容包含證書持有者的身份標(biāo)識(shí)和公鑰等豐富的信息。
基于PKI 的身份鑒別機(jī)制主要包含驗(yàn)證證書有效性和驗(yàn)證實(shí)體是否擁有與數(shù)字證書對(duì)應(yīng)的私鑰。證書有效性的驗(yàn)證包括對(duì)證書的有效期、CA 證書鏈以及證書吊銷列表CRL 的驗(yàn)證;驗(yàn)證實(shí)體是否擁有與數(shù)字對(duì)應(yīng)的私鑰可以是基于數(shù)字簽名的挑戰(zhàn)應(yīng)答方式,也可以是遵循GB/T 15843.3《信息技術(shù) 安全技術(shù) 實(shí)體鑒別 第3 部分:采用數(shù)字簽名技術(shù)的機(jī)制》標(biāo)準(zhǔn)的鑒別流程。
盡管基于PKI 的身份鑒別機(jī)制在包含電力、金融在內(nèi)的許多行業(yè)得到了廣泛應(yīng)用,但由于其鑒別過程復(fù)雜、性能要求高和證書存儲(chǔ)空間大的特點(diǎn),在部分物聯(lián)網(wǎng)應(yīng)用場(chǎng)景中,采用PKI 身份鑒別機(jī)制將帶來更大延時(shí)、消耗更高計(jì)算性能和占用更多存儲(chǔ)空間。
電動(dòng)汽車充電網(wǎng)絡(luò)作為典型的物聯(lián)網(wǎng)應(yīng)用場(chǎng)景,通過簡(jiǎn)化X.509 數(shù)字證書的內(nèi)容,設(shè)計(jì)適用于充電網(wǎng)絡(luò)系統(tǒng)的高效身份鑒別流程;同時(shí)選用國(guó)產(chǎn)SM2 橢圓曲線密碼算法作為證書簽名算法,進(jìn)一步提升身份鑒別的強(qiáng)度。
目前國(guó)際上在PKI 體系中一般采用RSA 算法作為主要的公鑰密碼算法,而RSA 算法是基于大整數(shù)難分解。隨著大數(shù)分解方法的逐漸完善、計(jì)算機(jī)運(yùn)算速度的不斷提高,為了保障安全性,安全應(yīng)用中采用RSA 算法的大整數(shù)要求越來越大,密鑰的位數(shù)也逐新增加。當(dāng)前普遍認(rèn)可2048 位以上的RSA 算法才具有安全保障。但是,加解密的速度是跟密鑰長(zhǎng)度密切相關(guān)的,增加密鑰長(zhǎng)度勢(shì)必會(huì)降低加解密的速度,其對(duì)應(yīng)的硬件實(shí)現(xiàn)也更加復(fù)雜。
相比較RSA 算法,ECC 橢圓曲線算法采用了比較短的密鑰長(zhǎng)度。與大數(shù)分解問題及有限域上離散對(duì)數(shù)問題相比,由于ECC 的困難性是基于優(yōu)先于上的橢圓曲線離散對(duì)數(shù)問題,橢圓曲線離散對(duì)數(shù)問題的求解難度要大得多。
SM2 算法由國(guó)家密碼管理局于2010 年12月17 日發(fā)布,是我國(guó)自主設(shè)計(jì)的公鑰密碼算法,基于更加安全先進(jìn)的橢圓曲線密碼機(jī)制,在國(guó)際標(biāo)準(zhǔn)的ECC 橢圓曲線密碼理論基礎(chǔ)上進(jìn)行自主研發(fā)設(shè)計(jì),具備ECC 算法的性能特點(diǎn)并實(shí)現(xiàn)優(yōu)化改進(jìn)。
SM2 算法主要基于素域Fp的橢圓曲線參數(shù),其數(shù)字簽名算法適用于商業(yè)應(yīng)用中的數(shù)字簽名和驗(yàn)證,對(duì)于密鑰K,相應(yīng)的簽名算法為sigk∈siG,其中sigk:M →S,對(duì)任意的消息m ∈M,有s=sigk(m),那么s ∈S 為消息m的簽名。
SM2 算法和RSA 算法都屬于公鑰加密算法,但兩者分別基于不同的數(shù)學(xué)理論基礎(chǔ)。與RSA算法相比,SM2 算法具有抗攻擊性強(qiáng)、CPU 占用少、內(nèi)存使用少、網(wǎng)絡(luò)消耗低、加密速度快等特點(diǎn)。因此,采用SM2 算法作為公鑰密碼算法頒發(fā)證書、進(jìn)行身份鑒別。
X.509 數(shù)字證書中的主體名稱、頒發(fā)者名稱、擴(kuò)展域等信息主要用于增強(qiáng)證書的可讀性,不參與實(shí)體身份鑒別。而充電樁等物聯(lián)網(wǎng)設(shè)備的存儲(chǔ)空間有限,在不影響認(rèn)證強(qiáng)度的情況下,通過去除X.509 數(shù)字證書中部分不參與實(shí)體身份鑒別的數(shù)據(jù)域,減小證書存儲(chǔ)占用空間。數(shù)字證書的簡(jiǎn)化結(jié)構(gòu)如下所示。
上述的證書結(jié)構(gòu)由issuerUniqueID、subjectUniqueID、publicKeyInfo、validity 和signatureValue 五個(gè)數(shù)據(jù)域構(gòu)成。這些域的含義如下:
1)issuerUniqueID:頒發(fā)者唯一標(biāo)識(shí),系統(tǒng)內(nèi)唯一標(biāo)識(shí)頒發(fā)者身份的字段。
2)subjectUniqueID:主體唯一標(biāo)識(shí),系統(tǒng)內(nèi)唯一標(biāo)識(shí)當(dāng)前主體身份的字段,與頒發(fā)者唯一標(biāo)識(shí)具有一致的編碼格式。
3)publicKeyInfo:用來表示主體的公鑰信息,包括主體的簽名和加密公鑰。僅當(dāng)證書還用于加密時(shí),主體的加密公鑰數(shù)據(jù)項(xiàng)存在。
4)validity:有效期限,具體包括證書有效期的起始時(shí)間(notBefore)和證書有效期的終止時(shí)間(notAfter)。notBefore 和notAfter 兩個(gè)時(shí)間使用GeneralizedTime通用時(shí)間類型進(jìn)行編碼。
5)signatureValue:頒發(fā)者簽名,頒發(fā)者用自己的私鑰對(duì)上述域的雜湊值簽名的結(jié)果。
基于簡(jiǎn)化數(shù)字證書的身份認(rèn)證系統(tǒng)在電動(dòng)汽車充電樁系統(tǒng)網(wǎng)絡(luò)中包括充電樁設(shè)備、認(rèn)證加密網(wǎng)關(guān)以及證書管理中心,如圖1 所示。
圖1 基于簡(jiǎn)化數(shù)字證書的身份認(rèn)證系統(tǒng)
在進(jìn)行身份認(rèn)證前,證書管理中心為系統(tǒng)中的充電樁設(shè)備和接入服務(wù)網(wǎng)關(guān)簽發(fā)簡(jiǎn)化的數(shù)字證書。已簽發(fā)證書的充電樁設(shè)備使用ESAM安全芯片存儲(chǔ)SM2 簽名和加密私鑰、設(shè)備證書以及簽發(fā)者證書(即證書管理中心的證書)。由于ESAM 安全芯片能夠有效保障私鑰安全,避免私鑰泄露,因此接入服務(wù)網(wǎng)關(guān)僅需要驗(yàn)證設(shè)備證書的簽名值以及證書的有效期。
已簽發(fā)證書的接入服務(wù)網(wǎng)關(guān)使用專用的密鑰安全存儲(chǔ)模塊存儲(chǔ)SM2 簽名和加密私鑰、網(wǎng)關(guān)證書以及簽發(fā)者證書(即證書管理中心的證書)。接入服務(wù)網(wǎng)關(guān)是內(nèi)置密碼卡的硬件密碼模塊,在提供高性能的密碼運(yùn)算功能的同時(shí),同樣能夠有效保障私鑰安全,避免私鑰泄露,因此充電樁設(shè)備僅需驗(yàn)證網(wǎng)關(guān)證書的簽名值以及證書的有效期。
簽發(fā)證書后,充電樁設(shè)備和加密認(rèn)證網(wǎng)關(guān)之間即可進(jìn)行雙向的身份鑒別,采用基于數(shù)字簽名技術(shù)的鑒別機(jī)制,鑒別流程如圖2 所示。
圖2 雙向身份認(rèn)證流程
步驟1:充電樁設(shè)備生成隨機(jī)數(shù)序列RT,將RT與設(shè)備唯一標(biāo)識(shí)DevID 發(fā)送給接入服務(wù)網(wǎng)關(guān)。
步驟2:接入服務(wù)網(wǎng)關(guān)校驗(yàn)DevID是否符合預(yù)定的規(guī)則,檢驗(yàn)通過后,生成隨機(jī)數(shù)序列RS,并使用自身簽名私鑰對(duì)RT和RS的組合序列進(jìn)行簽名;將RS、簽名值、網(wǎng)關(guān)證書CertS發(fā)送給終端設(shè)備。
步驟3:充電樁設(shè)備對(duì)CertS和隨機(jī)數(shù)組合序列的簽名值進(jìn)行驗(yàn)證,驗(yàn)證通過后,即完成充電樁設(shè)備對(duì)網(wǎng)關(guān)的身份鑒別;充電樁設(shè)備對(duì)網(wǎng)關(guān)證書CertS進(jìn)行驗(yàn)證,只需要檢查證書是否在有效期限內(nèi)以及證書管理中心對(duì)證書的簽名即可,無需檢查CRL 或在線向證書管理中心查詢網(wǎng)關(guān)證書是否被吊銷。
步驟4:充電樁設(shè)備使用自身簽名私鑰對(duì)RS和RT的組合序列進(jìn)行簽名;將簽名值、設(shè)備證書CertT發(fā)送給接入服務(wù)網(wǎng)關(guān)。
步驟5:接入服務(wù)網(wǎng)關(guān)對(duì)CertT和隨機(jī)數(shù)組合序列的簽名值進(jìn)行驗(yàn)證,驗(yàn)證通過后,即完成網(wǎng)關(guān)對(duì)充電樁設(shè)備的身份鑒別;網(wǎng)關(guān)對(duì)充電樁設(shè)備證書CertT進(jìn)行驗(yàn)證,同樣只需檢查證書是否在有效期限內(nèi)以及證書管理中心對(duì)證書的簽名,無需檢查CRL 或在線向證書管理中心查詢?cè)O(shè)備證書是否被吊銷。
步驟6:接入服務(wù)網(wǎng)關(guān)身份認(rèn)證的結(jié)果返回給充電樁設(shè)備。
本文通過對(duì)現(xiàn)有身份鑒別技術(shù),尤其是基于密碼學(xué)的PKI 身份認(rèn)證體系進(jìn)行了研究,結(jié)合電動(dòng)汽車充電網(wǎng)絡(luò)的特點(diǎn),提出了一套適用于充電樁系統(tǒng)的新型身份認(rèn)證體系。與傳統(tǒng)的PKI 身份認(rèn)證系統(tǒng)相比,代表身份的數(shù)字證書去除了常規(guī)X.509 中描述性信息,對(duì)于存儲(chǔ)空間有限的充電樁設(shè)備,大幅降低了證書存儲(chǔ)占用的空間;簡(jiǎn)化的數(shù)字證書中同時(shí)包含了簽名和加密公鑰,在一個(gè)證書中實(shí)現(xiàn)了原來需要簽名和加密兩個(gè)X.509 證書才能實(shí)現(xiàn)的雙密鑰體制;使用證書管理系統(tǒng)直接簽發(fā)實(shí)體證書,身份鑒別過程中就無須進(jìn)行復(fù)雜的證書鏈驗(yàn)證;整個(gè)雙向身份鑒別流程僅需要2 次SM2 簽名和4 次SM2 驗(yàn)簽運(yùn)算,簡(jiǎn)化了認(rèn)證流程,降低了通信時(shí)延。