劉宏健,錢振華,卞兆冬,顧 晟,張 柏
(三峽新能源海上風電運維江蘇有限公司,江蘇 鹽城 224000)
海上風電是可再生能源發展的重要領域,隨著電力物聯網(internet of things in power system,IOTIPS)的發展,數字化風電成為促進電力能源產業升級的重要模式之一[1]。海上風電場作為數字化風電建設的重要場所,其日益突出的安全問題不可忽略,而特定區域的人員訪問身份鑒別問題,關乎風電場安全生產與人員安全管理,是亟需解決的安全問題。
近年來,針對各種場景的門禁系統(access control system, ACS)的設計方案不斷涌現,以解決各類數字化場所的身份鑒別問題。2021 年,劉翔[2]針對智能電廠的電力控制室訪問鑒別問題,提出一種基于多模態的生物特征識別的門禁系統,預先錄入用戶的聲紋特征信息與人臉特征信息,由中心服務器存儲,并使用訪問者聲紋特征信息與人臉特征信息實現身份鑒別;同年,邢丹等[3]針對疫情背景下的高校人員訪問流程繁瑣的問題,提出一種結合生物識別技術的智能門禁系統,使用人臉特征信息,降低人員交互。2022 年,張穎興等[4]提出一種針對社區防疫場景的門禁系統,使用OpenCV模型與OpenMV 實現訪問人員人臉識別與口罩檢測,并基于人臉特征信息完成社區訪問人員的身份鑒別;同年,李伯星[5]針對商業配套住宅區人員管理問題,提出一種使用生物識別技術的門禁方案;胡志鋼[6]等基于區塊鏈設計了一種智能家居場景下的人員訪問監控系統,使用鏈上存儲、鏈下備份的身份識別模式,提高方案的識別效率,避免認證信息集中管理可能造成的數據篡改問題。
綜上,目前的門禁身份鑒別系統,多以單一身份卡或生物信息識別安檢為主,這些方案均在海上風電應用場景存在限制。基于身份卡的方案,存在身份卡易被復制,無法識別用戶真實身份的問題,任何人獲得門禁卡,就可以使用卡主的身份得到許可,而無關人員使用門禁卡誤入危險設備間隔,容易引發安全事故;生物信息認證方案,需要預先記錄用戶生物信息,并由中心服務器集中存儲,而海上風電場可能存在傳輸延遲、連接中斷等問題[7],過于依賴中心服務器,存在較大限制。此外,目前的一些安檢系統普遍停留在簡單的數據傳輸階段,整個認證環節缺乏安全保障,容易遭受惡意攻擊導致人員信息泄漏[8]。
因此,在海上風電場應用場景下,包括業主、設備廠商、運維人員等多種類型人員,進入海上升壓站、風機需要不同的權限,智能門禁系統需要在達到“ 人卡一致性” 原則的前提下,實現各個節點的獨立認證登記,并且進入不同區域時可以識別不同類型、不同權限人員,安全需求很高。這樣一來,就可以避免以上多種類型的現場工作人員誤入錯誤設備間隔,保證了工作人員和設備的安全。且陸上智能門禁、風機智能門鎖具有良好的防腐性能,使用周期較長,可以作為輕量節點,作為認證數據離線存儲點,保證身份鑒別的安全可靠。
下面基于區塊鏈技術與生物識別技術,結合國密算法,設計并實現了一種分布共享、高效透明的門禁系統。身份鑒別信息的存儲由區塊鏈支撐,每一個節點均可實現獨立的鑒別驗證。用戶預先注冊生物特征信息與身份信息,生成身份鑒別標識,并將其寫入身份卡或二維碼,訪問時由門禁節點或風機智能門鎖節點獲取身份鑒別標識,并根據需求捕捉用戶人臉信息,與鏈上認證數據比對,鑒別完成后,系統反饋用戶認證結果并將認證記錄發布至溯源鏈。
身份鑒別是指在計算機網絡系統中確認操作者身份,從而確定該用戶是否具有對某種資源的訪問和使用權限的過程[9]。通常使用鑒別方與被鑒別方共識的信息來確認身份的一致性。
目前主流的身份鑒別方式包括使用基于智能卡、基于預共享口令、基于生物特征信息等。安全要求更高的場景會使用多種方式混合使用,以實現多因素認證[10]。
《中華人民共和國密碼法》稱密碼是指采用特定變換的方法對信息等進行加密保護、安全認證的技術、產品和服務。
密碼工作堅持總體國家安全觀,遵循統一領導、分級負責,創新發展、服務大局,依法管理、保障安全的原則。
生物識別技術指使用人類的身體特征作為認證信息,以進行識別或驗證的技術,是計算機與光學、聲學、生物傳感器和生物統計學原理結合的技術[11]。通過提取生物特征信息(指紋、聲音、人臉等),并根據具體的應用場景,確定使用何種特征信息來滿足需求。
生物識別技術克服了基于密碼的身份驗證的缺點[12],由于智能相機和移動設備領域的快速發展以及對安全性和便利性的需求,生物識別技術逐漸成為各類訪問監控場景的主流。
Nakamoto 最早在文獻[13]中提出了區塊鏈技術,區塊鏈可看作是一個復制的分布式賬本,通過對等P2P 網絡交換數據。區塊鏈是塊的有序列表,通過參考前一個塊的散列,每個區塊通過唯一散列序列來區分并聯系到前面的區塊。區塊鏈是一種分布式網絡,結合了分布式數據存儲、加密算法和去中心化共識機制。在物聯網領域,區塊鏈技術的引入可以使分布式系統突破對中心服務器的依賴,使用區塊鏈的共識機制解決信任問題[14]。
圖1 展示了基于區塊鏈的安全智能門禁系統的網絡架構。網絡架構可分為服務器層、終端層及外部網絡,服務器層為搭建的管理服務器;終端層包括多個智能門禁終端設備,例如門禁閘機、智能門鎖等;外部網絡主要包括訪問用戶的移動終端,用于提交身份認證數據或得到反饋的身份鑒別結果。

圖1 區塊鏈網絡架構
服務管理端作為全節點參與記錄,可以與電力生產系統對接,提供統一的身份認證數據和服務資源,建立和維護認證數據交互服務區塊鏈數據庫的最新完整副本。全節點通過數據處理模塊和共識節點模塊接收鑒別設備發送來的身份認證數據,并進行驗證,驗證通過后對數據進一步處理,與其他共識節點進行共識,對分布式賬本進行更新以完成數據上鏈,并通過數據服務器對數據進行存儲備份。
每個門禁終端設備作為邊緣節點,接入區塊鏈。這些節點部署了區塊鏈數據預處理功能模塊,包括有數據預處理模塊、賬戶管理模塊、應用鑒別節點模塊等。數據預處理模塊可以對數據進行數字簽名和生成摘要,數字簽名的算法使用SM2 算法,摘要生成的算法可以是SM3 算法;賬戶管理模塊包括身份注冊、身份管理,主要負責終端上鏈;應用鑒別節點模塊包括數據驗簽、數據查詢、數據存儲智能合約,主要功能是負責驗證接收到的數據是否被篡改及查詢之前的事務。身份鑒別終端通過終端層賬戶管理模塊生成終端賬戶,配有獨立的標識ID 和公私鑰,采集用戶認證數據后可與鏈上信息進行匹配。
軟件架構主要以管理服務端、認證鑒別端和移動App 端為核心。軟件架構如圖2 所示。

圖2 軟件架構
服務管理端作為門禁服務提供方,可以對接電力業務系統,負責對用戶信息進行審核、管理,服務端管理員具備唯一權限。服務管理端主要由配置管理模塊、密碼算法模塊、密鑰管理模塊、二維碼校驗模塊、注冊模塊組成。由配置管理模塊負責與用戶進行交互,對配置界面提交的數據進行處理,或者調用其他模塊。
密碼算法模塊主要提供本系統中所需的所有密碼算法接口;密鑰管理模塊負責對所審核的入網用戶密鑰進行備份。二維碼校驗模塊負責處理對客戶手機端存有生物特征數據的二維碼進行校驗,并根據結果控制準入。注冊管理模塊負責新用戶數據的錄入,將用戶信息提交至區塊鏈。管理服務端口如圖3 所示。

圖3 管理服務端口
認證鑒別端主要包括門禁閘機、智能門鎖,負責識別多種認證模式,可以讀取身份卡、掃描二維碼、識別人臉等,并與鏈上數據對比完成鑒別。
移動App 端由用戶下載使用,負責完成用戶注冊認證以及初始化工作;用戶登記認證時提交個人身份信息同時錄入人臉特征進行注冊,注冊通過后獲得存有身份鑒別信息的身份卡或二維碼。在門禁節點刷卡或展示手機二維碼,由認證鑒別端完成鑒別。
系統主要功能分為六個部分:用戶注冊、密鑰(身份鑒別標識)分發、移動端更新密鑰、二維碼生成、系統管理、身份鑒別。
新用戶注冊時,業主單位可以通過電力生產系統兩票流程管理、電力生產運行值班記錄管理等規章制度,完成認證和注冊登記;第三方公司通過接入區塊鏈網絡完成認證注冊。認證注冊成功后,用戶可以將人臉特征信息及相關身份信息、認證信息存證共享,生成獨特的身份密鑰,并將每個用戶的身份密鑰(公私鑰對)以及系統公鑰發送到用戶手機。注冊完成后會給用戶下發安檢密鑰作為身份鑒別標識,并生成身份卡或二維碼。
若采用身份卡及二維碼為載體進行信息傳遞。對不同類型的用戶可以根據需要生成長期或臨時二維碼。移動端生成的二維碼包含驗證用戶身份的標識信息、權限信息。擁有安檢密鑰的手機,可以將安檢密鑰信息與手機IMEI 碼綁定,用系統的公鑰加密以上兩者生成字節串,并將自身手機號附在字節串后,一起生成二維碼。
手機APP 將收到的系統用戶公鑰加密的安檢密鑰進行解密,與手機IMEI 碼綁定,用系統的公鑰再加密生成字節串,并將自身手機號附在字節串后,一起生成二維碼。
身份鑒別,即用身份鑒別端(包括門禁閘機、智能門鎖等)掃描用戶提供的二維碼,讀取經加密保護的二維碼信息,可以同時掃描人臉信息。鑒別節點成功讀取消息后,利用私鑰解密經加密保護的二維碼信息,將解密結果與用戶人臉信息,即區塊鏈中的身份認證數據進行比對,如比對正確則鑒別通過,否則拒絕訪問。鑒別完成后,身份鑒別端將認證結果發布至區塊鏈,并通過共識機制更新分布式網絡中其他節點的區塊鏈信息。
鑒別流程如圖4 所示。

圖4 鑒別流程
基于密鑰管理原則,每次安檢用戶在完成身份鑒別并進入特定區域后,需要考慮更改用戶密鑰與系統密鑰。
管理服務端會利用隨機數生成一組密鑰作為新的安檢密鑰,同時更新本地存儲的該安檢用戶的密鑰信息,將此密鑰利用隨機生成的密鑰保護密鑰加密,并對安檢密鑰進行簽名,最后利用手機端的公鑰對密鑰保護密鑰進行加密,形成數字信封,下發至手機端。
圖5 描述了系統的密鑰分發過程。

圖5 密鑰分發
密鑰安全分發分為兩部分:數字信封和數字簽名。其中,數字信封包括安檢密鑰加密以及保護密鑰加密。安檢密鑰加密部分作用是將系統隨機生成的安檢密鑰用保護密鑰進行對稱密碼算法加密。保護密鑰加密將密鑰加密中用到的保護密鑰進行非對稱加密,隨后對安檢密鑰進行數字簽名,以保證密鑰下發過程的安全,降低密鑰泄漏風險。
移動端接收到管理服務端發來的信息后,首先解開數字信封,得到保護密鑰,再使用得到的保護密鑰將安檢密鑰加密部分進行解密,計算哈希值,然后完成數字簽名驗證,最后得到安檢密鑰。
圖6 描述了移動端密鑰更新的功能流程。

圖6 移動端密鑰更新
系統可以實現安檢用戶的密碼設置、權限、掛失、銷毀等功能,同時負責認證環節的交互。用戶注冊后的信息全部存儲在區塊鏈中,安檢用戶可以在手機App 上實現對密碼的設置,用戶只需輸入當前的用戶名和密碼,即可進入密碼管理界面實現對信息的更新;管理員可以通過登錄二維碼安檢身份鑒別系統實現對安檢用戶權限的管理。
系統測試使用的計算機配置Intel (R)Core (TM) i7-1165G7@2.80GHz 處理器,內存為16G,使用的操作系統為Windows 10。移動端測試使用操作系統Android 11。測試過程中對系統主要功能進行了檢驗,測試分為三個部分:整體功能測試、身份鑒別測試、安全性測試。
1) 整體功能測試,主要是模擬安檢用戶在風電場不同區域門禁節點通過刷卡、二維碼識別等模式進入的全過程,將門禁系統中可能出現的各種情況都綜合考慮到,對系統進行全方位的測試。
2) 鑒別測試,對生成的長期和臨時二維碼進行掃描測試,檢查掃描結果是否為手機App 端顯示歡迎進入界面。二維碼的生成及識別測試是整個系統的核心內容,是安檢用戶進入特定區域的安全保障。
3) 安全性測試,針對攻擊者可能通過各種方式來竊取身份鑒別標識進行測試。可能竊取的方式主要有三種:通過偷拍來竊取二維碼,通過非法手段冒認二維碼,以及通過過期二維碼進行偽造等。安全性測試主要測試安全智能門禁系統針對潛在惡意攻擊的抵抗能力。
經過測試,以上設計的安全智能門禁系統能夠準確且安全地完成門禁系統的認證。發卡過程簡便,熟練員工平均10 s 完成一個發卡流程,門禁系統自動識別過程平均約3 s。
基于區塊鏈和多識別模式的安全智能門禁系統將密碼學原理應用到身份鑒別系統中,依靠生物識別技術與區塊鏈技術,實現了各個門禁節點靈活準確、共享、透明的身份鑒別,可以有效解決海上風電場所針對不同人員、不同區域的出入身份鑒別問題,該方案有助于完善風電廠數字化基礎建設。