?

自主可信網聯汽車充電樁系統*

2023-12-28 09:40霍奕戎范克科
信息安全與通信保密 2023年10期
關鍵詞:網關密鑰身份

霍奕戎,范克科,歐 嵬

(1.中國人民大學附屬中學,北京 100080;2.海南大學,海南 ???570228)

0 引 言

近幾年,我國新能源汽車產業相關政策不斷出臺,2020 年10 月20 日,國務院印發《新能源汽車產業發展規劃(2021—2035 年)》,指出發展新能源汽車是我國從汽車大國邁向汽車強國的必由之路,是應對氣候變化、推動綠色發展的戰略舉措;2022 年1 月10 日,國家發展改革委、國家能源局等多部門聯合印發《國家發展改革委等部門關于進一步提升電動汽車充電基礎設施服務保障能力的實施意見》[1]。習近平總書記多次強調:“發展新能源汽車是我國邁向汽車強國的必由之路?!蓖苿悠噺膯渭兊慕煌üぞ呦蛞苿又悄芙K端、儲能單元和數字空間轉變,帶動能源、交通、信息通信基礎設施改造升級,促進能源消費結構優化、交通體系和城市運行智能化水平提升,對建設清潔美麗世界、構建人類命運共同體具有重要意義。

“十三五”期間,我國充電基礎設施實現了跨越式發展,充電技術快速提升,標準體系逐步完備,產業生態穩步形成,建成世界上數量最多、輻射面積最大、服務車輛最全的充電基礎設施體系。截至2022 年1 月,全國總計上報公共類充電樁117.8 萬臺,環比增加3.1 萬臺,1 月保有量同比增長45.2%。但就目前而言,充電樁產業快速發展的背后仍存在居住社區建樁難、公共充電設施發展不均衡、用戶充電體驗有待提升、行業質量與安全監管體系有待完善等突出問題[2],亟須加快相關技術、模式與機制創新,進一步提升充電服務保障能力。

首先,當前電動汽車配套服務系統智能化水平不高,運營方式的局限性和充換電車輛服務需求不斷增長的矛盾越來越凸顯;其次,目前的充電樁服務系統側重于滿足用戶需求,對充電樁的遠程監控、使用者的身份驗證以及用戶隱私信息保護缺乏安全考量[3];最后,充電樁廠商的關注點更多集中于硬件安全,例如鋰電池合規性、充電樁過充等方面,忽略了新能源汽車智能化進程中凸顯出的云端漏洞[4-7]。這些導致充電樁及其配套服務云平臺[8]漏洞頻出,安全攻擊層出不窮[9-10]:

(1)2018 年,施耐德電氣有限公司發布安全公告,該公司旗下電動汽車充電樁產品EVLink Parking 被曝出多個安全漏洞:硬編碼憑證漏洞CVE-2018-7800、代碼注入漏洞CVE-2018-7801 以及結構化查詢語言(Structured Query Language,SQL)漏洞CVE-2018-7802。攻擊者可通過以上漏洞運用非法手段獲取系統或者設備的非法訪問權限,對系統正常用戶及其云端系統具有極大的危害性。

(2)2020 年,GeekPwn2020 國際安全極客大賽中,騰訊的Blade Team 團隊在比賽現場實現了對“無感支付”式直流式充電樁的漏洞攻擊演示:僅需要獲得模擬受害者的車輛身份標識,并使用特殊設備,利用電動汽車電池管理系統(Battery Management System,BMS)與直流充電樁通信協議中的身份認證漏洞,就能輕松完成盜刷操作。

(3)充電樁運營平臺在整個充電流程中涉及充電樁啟停管控以及包括用戶金融賬戶、身份信息在內的敏感隱私信息,而大多數充電樁運營平臺對充電樁沒有設置用戶訪問控制策略,邊界防護措施薄弱,安全配置策略缺失,且運維平臺一般暴露在公網中,受攻擊的可能性較大,極易造成用戶敏感信息的泄露;設備管理方面,在充電基礎設施進行啟動登錄、移動終端登錄、運營平臺訪問等過程中未使用身份認證管理或在登錄過程中使用弱口令,容易造成信息泄露或篡改,甚至不可估量的損失。

針對上述問題,基于我國充電樁產業信息安全現狀[11-19],設計實現自主可信網聯汽車充電樁系統,致力提升用戶充電體驗、完善充電樁安全監管體系、助力信息基礎設施建設。

本文貢獻包括:

(1)通過商用密碼算法及其應用體系,對用戶信息、充電樁信息和超文本傳輸協議(Hyper Text Transfer Protocol,HTTP)請求報文等數據進行加密,使用SM2+SM3 對數據進行數字簽名,保障數據的機密性與完整性[20-21];在散列消息身份驗證碼(Hashed Message Authentication Code,HMAC)密鑰交換過程中使用臨時交互號N 與標識符ID 來驗證雙方的身份,抵御中間人攻擊。

(2)利用聯盟鏈技術不可篡改、去中心化、可追溯等特點,進行鏈上密鑰分配與管理。在鏈上密鑰分配時,使用基于SM3 的HMAC 算法,確保只有擁有HMAC 密鑰且通過區塊鏈CA 認證的實體才能獲取密鑰,保障密鑰的唯一性與可認證性。

(3)建立新的網絡安全邊界[22],實現訪問實體的強身份認證;在邊界防護、通信傳輸、身份鑒別、數據保密等方面,進一步收窄系統暴露面,更細粒度地保障業務系統安全[23]。

本文首先描述了方案的整體架構、闡述了主要功能模塊;其次通過實驗驗證了所提方案的Web 應用、區塊鏈系統的性能;最后總結全文,并提出了未來工作展望。

1 網聯汽車充電樁方案設計

1.1 整體架構

如圖1 所示,網聯汽車充電樁系統包括訪問實體、安全網關、云平臺應用服務、策略控制中心、云平臺安全防護體系支撐組件5 大模塊。

圖1 整體架構

1.1.1 訪問實體

根據所處網絡域環境,將訪問實體劃分為云平臺外網實體和云平臺內網實體。云平臺外網實體包括已投入使用的充電樁設備、使用相關服務的普通用戶和維修人員等實體。云平臺內網實體則包括軟件和硬件開發人員、服務運維人員和測試人員等。

1.1.2 安全網關

安全網關作為實體訪問云平臺的唯一入口,負責對訪問實體進行身份識別與訪問控制,網關能夠將訪問實體與平臺資源隔離開來,使云平臺應用服務隱藏于零信任網關之后,大大減少攻擊面[24-25]。同時,采用先認證后訪問的方式,只有當訪問實體被認證為合法身份后,才能訪問云平臺的應用服務。此外,根據策略控制中心返回的評估結果,對訪問實體進行訪問管理。網關與訪問實體和云平臺之間的通信使用商用密碼安全套接字協議(Secure Sockets Layer,SSL)保護,并通過SM2、SM3、SM4 保障數據的完整性、可追溯性以及抗抵賴性。

1.1.3 云平臺應用服務

云平臺應用服務由云平臺的各項應用服務封裝而成,分為公開服務和內網服務。其中,公開服務面向所有實體開放,具有良好的耦合度,負責對通過零信任安全網關的合法流量請求進行響應,提供相應服務;內網服務則只對通過強身份認證的內網域環境實體開放,外網域環境實體或未通過身份認證的內網域環境實體將無法訪問相關資源[26-28]。

1.1.4 策略控制中心

該模塊接收由安全網關所記錄的實體訪問行為事件,并將行為事件上鏈[29],保障行為事件的不可篡改性與可追溯性。同時,決策引擎將根據行為事件和預設安全策略配置對訪問實體進行持續驗證、評估與分析,提供場景和風險感知的動態授權。

1.1.5 云平臺安全防護體系支撐組件

云平臺安全防護體系支撐組件主要由密碼基礎設施、區塊鏈管理、日志審計和權限管理4 個子模塊組成,負責終端設備與訪問實體的證書簽發服務和區塊鏈網絡的管理,實現了對網絡出入站流量與服務端設備運行環境和運行狀態的實時監控[18,30]。同時,根據最小權限原則,將完整權限進行細粒度分級,根據訪問實體的身份信息和可信任程度來管控其權限等級,實現安全高效的權限控制機制[31]。

1.2 主要功能模塊

1.2.1 強身份認證

云平臺基于B/S 架構,通過嚴格的身份認證保障系統的安全性與操作的合法性[32]。身份認證模塊由前后端不同的處理邏輯實現。

后端的身份認證主要基于挑戰/響應的雙向認證機制和公鑰證書,實現對終端與平臺的強身份認證。挑戰/響應認證機制是一系列協議的統稱,在該系列協議中,其中一方提出問題(挑戰),另一方提供有效的答案并進行身份驗證(響應),只有答案有效才能通過驗證[33],詳細認證流程如圖2 所示。

圖2 雙向認證流程

挑戰/響應的雙向認證具體步驟如下:首先,終端嘗試連接至云平臺,身份認證開始。終端生成一個隨機數R1作為響應值,并將終端證書和R1發送到云平臺的網關。然后,網關驗證接收到的證書,并使用SM2 和網關私鑰對R1進行簽名,得到簽名值Sig1,并將其證書和Sig1發送到終端。當終端接收到網關證書后,對其進行驗證。如果證書有效,終端將根據證書上攜帶的網關公鑰來驗證Sig1;否則,終端對云平臺的身份認證失敗,通信終止。當上述過程結束時,網關生成一個隨機數R2作為響應值,并將其發送給終端。接下來,終端用其私鑰對R2進行簽名,并將簽名發送到網關。最后,網關根據終端的證書驗證Sig2。如果Sig2有效,則成功建立連接。否則,連接建立失敗,通信終止。上述過程結束則身份驗證過程完成。

后端還采用基于JSON Web Token(JWT)的訪問控制和Spring Security 權限控制,Token 令牌隨用戶登錄而自動獲取。此外,根據管理員賬戶與普通用戶賬戶的職能和需求的不同,通過Spring Security 來控制這兩類賬戶的不同權限,只有管理員可以進行遠程控制等操作,普通用戶只能查看訂單相關信息和訪問狀態監控模塊,以保證云平臺的安全性。權限控制原理如圖3 所示。

圖3 普通用戶權限控制

1.2.2 數據管理

數據管理模塊包括鏈上數據管理、數據端對端交互、數據持久化存儲。

(1)鏈上數據管理。本系統中,區塊鏈用于對稱密鑰管理與動態評估事件的存儲,主要分為鏈上密鑰管理和鏈上事件管理。

①鏈上密鑰管理。采用Fabric 聯盟鏈進行云平臺與充電樁之間的密鑰管理,主要包括密鑰的臨時存儲與分發[34]。首先,在云平臺本地環境上搭建并運行Fabric 網絡主環境,將云平臺作為擁有最高權限的管理員節點,本文所搭建的測試網絡配置為2 個組織、1 個order 節點、4 個peer 節點與1 個CA 節點。首先,在充電樁上配置Fabric 基本服務,將充電樁作為擁有一般權限的普通節點加入云平臺所搭建的區塊鏈網絡中,共同維護Fabric 網絡的分布式賬本;其次,云平臺生成一對SM2 公鑰和私鑰,并將所生成的私鑰物理寫入充電樁的存儲設備中,該方式中的私鑰未參與通信,只有讀取云平臺與充電樁的存儲設備才能獲得私鑰,一般情況下不存在泄露風險,從而起到安全地事先共享一對公私鑰的作用;最后,充電樁需要與云平臺進行密鑰交換,該交換基于SM2 非對稱加密,所交換的密鑰為HMAC 所用密鑰[35]。HMAC 密鑰由云平臺生成,通過臨時交互號N與身份標識符ID來進行身份認證與防止重放攻擊,能有效抵御中間人攻擊,保證密鑰的可認證性與保密性。其中,臨時交互號N為采用真實物理環境中的隨機事件作為種子所生成的強隨機數,身份標識符ID由通用唯一識別碼(Universally Unique Identifier,UUID)、序列號生成,交換流程如圖4 所示。

圖4 HMAC 密鑰交換

②鏈上事件管理。采用聯盟鏈存儲評估事件,并使用不同于密鑰管理的區塊鏈網絡組織進行管理,如圖5 所示。每個節點持有一份數據賬本,事件的不可篡改性由所有節點共同背書,保障事件的安全可信存儲。由于在聯盟鏈中,不同組織之間的數據不主動相通,從而實現密鑰數據與事件數據的隔離存儲,保障密鑰數據與事件數據之間的獨立性,避免數據管理混亂。

圖5 區塊鏈測試網絡結構

(2)數據端對端交互。為了保證端對端之間的數據通信的機密性、完整性與可認證性,對參與通信的數據采用SM2、SM4 加密,利用SM2、SM3進行數字簽名,數據塊處理如圖6所示。

數據發送端使用SM2對原始數據進行簽名,并通過SM4對整個數據和簽名進行加密后發送,接收端解密后使用公鑰進行驗簽,成功則通信完成,否則返回異常報告。該方法有效保障了用戶隱私安全與關鍵數據安全,處理流程如圖7所示。

圖7 前后端數據傳輸流程

由于充電樁本身的特殊性,重放攻擊能夠造成的危害極大,甚至能反復控制充電樁的通電、斷電,損壞電動汽車電池,影響電網運行的穩定,對充電樁、電動汽車、電網設施的信息安全與物理安全造成嚴重威脅。因此,本文采用“時間戳+隨機數”的方法來有效防止重復攻擊。該方法在每一條HTTP 請求上增加了“timeStampCode”字段,該字段由時間戳與隨機數拼接而成,時間戳根據當前生成時間與1970 年1 月1 日之間的時間差計算而成,精確至毫秒級別,能顯著提高被成功猜測與碰撞的難度。隨機數則使用強隨機數,采用算法SHA1PRNG 生成,以CPU 的熱噪聲、磁盤讀寫的字節、鍵盤的敲擊等現實環境中的隨機事件產生的熵作為種子,具有密碼學安全。校驗流程如圖8 所示。

圖8 校驗流程

(3)數據持久化存儲。當請求校驗成功后,開始執行請求內容,若請求中攜帶數據,則使用對稱密鑰對密文進行解密,使用相應公鑰對數字簽名進行驗簽,若驗簽成功,則數據未遭攻擊,使用MySQL 數據庫進行持久化存儲。若驗簽失敗,則數據完整性遭到破壞,廢棄請求,拒絕訪問。處理流程如圖9 所示。

圖9 請求數據簽名驗證

1.2.3 狀態監控

(1)云平臺服務監控。云平臺服務監控基于Spring Boot 構建,使用Drools 規則引擎管理風控規則,其特點是配置簡單并支持動態調整規則,是一套分析平臺風險事件、動態調整風控規則、自動精準預警風險、保障平臺安全運行的系統。服務監控模塊的工作流程如圖10 所示。

圖10 服務監控流程

(2)充電樁服務監控。通過設置定時任務,使得充電樁在每個固定的時間間隔通過HTTP 請求向云平臺持續匯報狀態信息,包括硬件溫度、充電樁所處狀態(通電、斷電、鎖定)、累計充電量等數據,服務信息經過SM4 加密與SM2簽名,并附加了時間戳+隨機數,能有效保障信息的完整性與真實性,防止其受到中間人攻擊與重放攻擊。

(3)遠程控制。由于充電樁部署在公開環境中,因此在實際場景中,充電樁的運行環境復雜多樣,難免會遭遇某些特殊情況,如人為損壞、自然災害、安全漏洞等,從而需要通過臨時改變充電樁的運行狀態來防止安全事故、財產損失,保護充電樁安全,基于此,亟需一種便捷高效的手段來實現對充電樁運行狀態的靈活控制[5]。因此,本系統設計了遠程控制模塊,可以通過云平臺來遠程控制充電樁的運行狀態,根據序列號來選擇要進行控制的充電樁,再根據指令cmd 來改變充電樁狀態,指令與充電樁的狀態相對應,包括LOCK、ON、OFF、UNLOCK、SHUTDOWN、REBOOT,其中,LOCK 指令表示鎖定充電樁,拒絕除云平臺以外的其他所有實體的訪問,不允許用戶繼續使用充電等功能,是擁有最高優先級的指令;ON 指令表示開啟充電樁充電功能,使充電樁進入充電狀態,但當充電樁處于LOCK 狀態時,該指令無效;OFF指令表示關閉充電樁充電功能,使充電樁停止充電;UNLOCK 指令表示解鎖充電樁,將充電樁從LOCK 狀態切換為OFF 狀態,重新允許其他實體的訪問,充電樁再次進入正常工作狀態;SHUTDOWN 指令表示徹底關閉充電樁系統,使充電樁進入關機狀態;REBOOT 指令表示重啟充電樁,常用于充電樁系統更新中。遠程控制流程如圖11 所示。

圖11 充電樁遠程控制流程

2 系統測試

2.1 測試環境

測試軟件信息如表1 所示。測試服務器配置如表2 所示??蛻舳伺渲萌绫? 所示。

表1 測試軟件信息

表2 服務器配置

表3 客戶端配置

2.2 Web 應用性能

本實驗的目的是檢驗本文所設計實現的云平臺系統是否具有良好的性能,并考察在不同的用戶負載下,云平臺對用戶請求做出的響應情況,以確保將來系統運行的安全性、可靠性和執行效率。

2.2.1 測試工具

采用LoadRunner 性能自動化測試工具測試系統性能。通過創建虛擬用戶,在高并發量和模擬真實環境的背景下,實時監控系統性能。

2.2.2 測試描述

對云平臺的功能進行測試。檢驗云平臺功能的可用性與穩定性,在高并發、高負載的環境下測試Web 應用的性能,觀察并統計吞吐量、CPU 使用率、內存占用率等指標。本次測試的要求是驗證在30 分鐘內完成2 000 次用戶登錄系統,然后執行開始充電、停止充電等基本業務,最后退出。

2.2.3 性能指標

各測試項目標值如表4 所示。

表4 Web 性能指標

(1)數據摘要。LoadRunner 進行場景測試結果收集后,首先顯示該結果的一個摘要信息,如圖12所示。概要中列出了“Statistics Summary(統計信息摘要)”“Transaction Summary(交易摘要)”以及“HTTP Responses Summary(HTTP 請求響應摘要)”等。以簡要的信息列出本次測試結果。

圖12 性能測試結果摘要

(2)結果分析。獲得上述數據后,最新的測試結果記錄如表5 所示。

表5 Web 測試結果

本次測試運行的最大并發數為237,總吞吐量為842 037 409 字節,平均每秒的吞吐量為451 979 字節,總的請求數為211 974,平均每秒的請求為113.781。從上述結果可知,本文所設計實現的云平臺性能良好,滿足預設性能指標基準,證明了該系統能夠承載日常的并發數和并發量,并在一定程度的并發與負載壓力下,仍能保障系統運行的穩定性和可用性。

2.3 區塊鏈系統性能

2.3.1 測試工具

Hyperledger Caliper 是一個開源的通用區塊鏈性能測試工具。Hyperledger 項目下設了性能及可擴展性工作組,負責對各種性能指標(TPS、延遲、資源利用率等)進行形式化、規范化的定義,Caliper 在設計時也采用了這一套性能指標體系并內嵌進框架中。Caliper 能夠方便地對接多種區塊鏈平臺并屏蔽了底層細節,用戶只需要負責設計具體的測試流程,即可獲取Caliper輸出的可視化性能測試報告??梢姄碛羞@些特點的Caliper,能恰好滿足項目中區塊鏈部分對壓測工具的需求。

2.3.2 測試標準

采用的區塊鏈標準以《可信區塊鏈第1 部分:區塊鏈技術參考架構》《可信區塊鏈第2 部分:總體要求和評價指標》《可信區塊鏈第3 部分:測評方法》作為參考,其中區塊鏈行業標準如表6 所示。

表6 區塊鏈行業標準

2.3.3 測試描述

為驗證鏈上數據管理模塊的穩定性與可用性,本測試在高并發、高負載的環境下,分別以執行數據上鏈功能(數據存儲)的invoke 合約與執行鏈上查詢功能(數據獲?。┑膓uery 合約作為測試對象,通過Caliper 實時監控測試過程中區塊鏈系統的每秒交易接收量以及每秒交易上鏈量,控制發送的壓力,維持兩者數值始終大體一致,使得壓力剛剛達到系統的瓶頸。對于尖峰沖擊,則通過增加發送的壓力,讓系統每秒交易接收量達到每秒上鏈量的兩倍,使得壓力遠遠超過系統的瓶頸上限,觀察系統在極端情況下的運轉情況。測試方案如表7 所示。

表7 區塊鏈測試方案

(1)數據摘要。invoke 合約與query 合約的測試結果分別如圖13、圖14 所示。

圖13 invoke 合約測試結果

圖14 query 合約測試結果

將數據匯總整理后如表8 所示。

表8 測試數據

(2)結果分析。采用Caliper 對區塊鏈進行性能測試,對交易延遲場景進行了低負載測試,對系統吞吐量進行了高負載測試,使得壓力達到系統的瓶頸,對尖峰沖擊場景進行了超過瓶頸的2 倍流量沖擊測試。Caliper 自動記錄下設定好的時間點的數據,最終生成測試結果。如表8 中的Caliper 測試結果報告所示,本次測試的交易成功率為100%,交易失敗率為0,對于invoke合約:發送速率為379 TPS,最大交易延遲為5.59 s,最小交易延遲為1.39 s,平均交易延遲為3.32 s,交易吞吐量為226 TPS;對于query 合約:發送速率為399 TPS,最大交易延遲為4.67 s,最小交易延遲為0.01 s,平均交易延遲為1.15 s,交易吞吐量為385 TPS。測試結果表明:本文所采用的區塊鏈方案具有良好的穩定性,能夠滿足實際業務需求,確保鏈上數據管理功能的可用性,各項指標測試均符合行業標準。

本節對前文所提解決方案進行了具體實現,即云平臺系統與區塊鏈系統,并分別通過Web應用性能測試與區塊鏈系統性能測試對所設計實現的云平臺系統與區塊鏈系統的性能進行詳細測試。測試結果表明,通過本文方案所實現的云平臺系統與區塊鏈系統性能良好,各項指標均符合所參考的測試性能基準,在實驗所設的高負載與高并發環境下,仍能保證系統功能的穩定性和可用性,能夠滿足實際業務需求,符合預期目標。

3 結 語

隨著電動汽車充電設施的日益數字化和智能化,網聯汽車充電樁的信息安全已成為不容小覷的問題。本文對網聯汽車充電樁與管理云平臺的安全開展了重點研究,設計實現了基于商用密碼與區塊鏈的網聯汽車充電樁安全系統??刹僮餍苑矫?,系統采用主流開發框架與科學設計模式,通過B/S 架構實現服務的解耦開發、便捷維護、安全升級和穩定訪問,提升用戶使用體驗;安全性方面,系統采用商用密碼算法SM2、SM3、SM4,基于國密版Fabric 聯盟鏈進行鏈上密鑰管理,保證充電樁數據的全生命周期安全。

下一步工作:①優化前端界面與組件樣式,提升用戶體驗;②引入零信任技術,加強系統安全防護;③完善動態信任評估,加強身份認證策略。

猜你喜歡
網關密鑰身份
探索企業創新密鑰
密碼系統中密鑰的狀態與保護*
一種對稱密鑰的密鑰管理方法及系統
跟蹤導練(三)(5)
基于ECC的智能家居密鑰管理機制的實現
他們的另一個身份,你知道嗎
LTE Small Cell網關及虛擬網關技術研究
互換身份
應對氣候變化需要打通“網關”
放松一下 隱瞞身份
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合