劉宏健,錢振華,卞兆冬,顧 晟,張 柏
(三峽新能源海上風(fēng)電運維江蘇有限公司,江蘇 鹽城 224000)
海上風(fēng)電是可再生能源發(fā)展的重要領(lǐng)域,隨著電力物聯(lián)網(wǎng)(internet of things in power system,IOTIPS)的發(fā)展,數(shù)字化風(fēng)電成為促進(jìn)電力能源產(chǎn)業(yè)升級的重要模式之一[1]。海上風(fēng)電場作為數(shù)字化風(fēng)電建設(shè)的重要場所,其日益突出的安全問題不可忽略,而特定區(qū)域的人員訪問身份鑒別問題,關(guān)乎風(fēng)電場安全生產(chǎn)與人員安全管理,是亟需解決的安全問題。
近年來,針對各種場景的門禁系統(tǒng)(access control system, ACS)的設(shè)計方案不斷涌現(xiàn),以解決各類數(shù)字化場所的身份鑒別問題。2021 年,劉翔[2]針對智能電廠的電力控制室訪問鑒別問題,提出一種基于多模態(tài)的生物特征識別的門禁系統(tǒng),預(yù)先錄入用戶的聲紋特征信息與人臉特征信息,由中心服務(wù)器存儲,并使用訪問者聲紋特征信息與人臉特征信息實現(xiàn)身份鑒別;同年,邢丹等[3]針對疫情背景下的高校人員訪問流程繁瑣的問題,提出一種結(jié)合生物識別技術(shù)的智能門禁系統(tǒng),使用人臉特征信息,降低人員交互。2022 年,張穎興等[4]提出一種針對社區(qū)防疫場景的門禁系統(tǒng),使用OpenCV模型與OpenMV 實現(xiàn)訪問人員人臉識別與口罩檢測,并基于人臉特征信息完成社區(qū)訪問人員的身份鑒別;同年,李伯星[5]針對商業(yè)配套住宅區(qū)人員管理問題,提出一種使用生物識別技術(shù)的門禁方案;胡志鋼[6]等基于區(qū)塊鏈設(shè)計了一種智能家居場景下的人員訪問監(jiān)控系統(tǒng),使用鏈上存儲、鏈下備份的身份識別模式,提高方案的識別效率,避免認(rèn)證信息集中管理可能造成的數(shù)據(jù)篡改問題。
綜上,目前的門禁身份鑒別系統(tǒng),多以單一身份卡或生物信息識別安檢為主,這些方案均在海上風(fēng)電應(yīng)用場景存在限制?;谏矸菘ǖ姆桨福嬖谏矸菘ㄒ妆粡?fù)制,無法識別用戶真實身份的問題,任何人獲得門禁卡,就可以使用卡主的身份得到許可,而無關(guān)人員使用門禁卡誤入危險設(shè)備間隔,容易引發(fā)安全事故;生物信息認(rèn)證方案,需要預(yù)先記錄用戶生物信息,并由中心服務(wù)器集中存儲,而海上風(fēng)電場可能存在傳輸延遲、連接中斷等問題[7],過于依賴中心服務(wù)器,存在較大限制。此外,目前的一些安檢系統(tǒng)普遍停留在簡單的數(shù)據(jù)傳輸階段,整個認(rèn)證環(huán)節(jié)缺乏安全保障,容易遭受惡意攻擊導(dǎo)致人員信息泄漏[8]。
因此,在海上風(fēng)電場應(yīng)用場景下,包括業(yè)主、設(shè)備廠商、運維人員等多種類型人員,進(jìn)入海上升壓站、風(fēng)機(jī)需要不同的權(quán)限,智能門禁系統(tǒng)需要在達(dá)到“ 人卡一致性” 原則的前提下,實現(xiàn)各個節(jié)點的獨立認(rèn)證登記,并且進(jìn)入不同區(qū)域時可以識別不同類型、不同權(quán)限人員,安全需求很高。這樣一來,就可以避免以上多種類型的現(xiàn)場工作人員誤入錯誤設(shè)備間隔,保證了工作人員和設(shè)備的安全。且陸上智能門禁、風(fēng)機(jī)智能門鎖具有良好的防腐性能,使用周期較長,可以作為輕量節(jié)點,作為認(rèn)證數(shù)據(jù)離線存儲點,保證身份鑒別的安全可靠。
下面基于區(qū)塊鏈技術(shù)與生物識別技術(shù),結(jié)合國密算法,設(shè)計并實現(xiàn)了一種分布共享、高效透明的門禁系統(tǒng)。身份鑒別信息的存儲由區(qū)塊鏈支撐,每一個節(jié)點均可實現(xiàn)獨立的鑒別驗證。用戶預(yù)先注冊生物特征信息與身份信息,生成身份鑒別標(biāo)識,并將其寫入身份卡或二維碼,訪問時由門禁節(jié)點或風(fēng)機(jī)智能門鎖節(jié)點獲取身份鑒別標(biāo)識,并根據(jù)需求捕捉用戶人臉信息,與鏈上認(rèn)證數(shù)據(jù)比對,鑒別完成后,系統(tǒng)反饋用戶認(rèn)證結(jié)果并將認(rèn)證記錄發(fā)布至溯源鏈。
身份鑒別是指在計算機(jī)網(wǎng)絡(luò)系統(tǒng)中確認(rèn)操作者身份,從而確定該用戶是否具有對某種資源的訪問和使用權(quán)限的過程[9]。通常使用鑒別方與被鑒別方共識的信息來確認(rèn)身份的一致性。
目前主流的身份鑒別方式包括使用基于智能卡、基于預(yù)共享口令、基于生物特征信息等。安全要求更高的場景會使用多種方式混合使用,以實現(xiàn)多因素認(rèn)證[10]。
《中華人民共和國密碼法》稱密碼是指采用特定變換的方法對信息等進(jìn)行加密保護(hù)、安全認(rèn)證的技術(shù)、產(chǎn)品和服務(wù)。
密碼工作堅持總體國家安全觀,遵循統(tǒng)一領(lǐng)導(dǎo)、分級負(fù)責(zé),創(chuàng)新發(fā)展、服務(wù)大局,依法管理、保障安全的原則。
生物識別技術(shù)指使用人類的身體特征作為認(rèn)證信息,以進(jìn)行識別或驗證的技術(shù),是計算機(jī)與光學(xué)、聲學(xué)、生物傳感器和生物統(tǒng)計學(xué)原理結(jié)合的技術(shù)[11]。通過提取生物特征信息(指紋、聲音、人臉等),并根據(jù)具體的應(yīng)用場景,確定使用何種特征信息來滿足需求。
生物識別技術(shù)克服了基于密碼的身份驗證的缺點[12],由于智能相機(jī)和移動設(shè)備領(lǐng)域的快速發(fā)展以及對安全性和便利性的需求,生物識別技術(shù)逐漸成為各類訪問監(jiān)控場景的主流。
Nakamoto 最早在文獻(xiàn)[13]中提出了區(qū)塊鏈技術(shù),區(qū)塊鏈可看作是一個復(fù)制的分布式賬本,通過對等P2P 網(wǎng)絡(luò)交換數(shù)據(jù)。區(qū)塊鏈?zhǔn)菈K的有序列表,通過參考前一個塊的散列,每個區(qū)塊通過唯一散列序列來區(qū)分并聯(lián)系到前面的區(qū)塊。區(qū)塊鏈?zhǔn)且环N分布式網(wǎng)絡(luò),結(jié)合了分布式數(shù)據(jù)存儲、加密算法和去中心化共識機(jī)制。在物聯(lián)網(wǎng)領(lǐng)域,區(qū)塊鏈技術(shù)的引入可以使分布式系統(tǒng)突破對中心服務(wù)器的依賴,使用區(qū)塊鏈的共識機(jī)制解決信任問題[14]。
圖1 展示了基于區(qū)塊鏈的安全智能門禁系統(tǒng)的網(wǎng)絡(luò)架構(gòu)。網(wǎng)絡(luò)架構(gòu)可分為服務(wù)器層、終端層及外部網(wǎng)絡(luò),服務(wù)器層為搭建的管理服務(wù)器;終端層包括多個智能門禁終端設(shè)備,例如門禁閘機(jī)、智能門鎖等;外部網(wǎng)絡(luò)主要包括訪問用戶的移動終端,用于提交身份認(rèn)證數(shù)據(jù)或得到反饋的身份鑒別結(jié)果。
圖1 區(qū)塊鏈網(wǎng)絡(luò)架構(gòu)
服務(wù)管理端作為全節(jié)點參與記錄,可以與電力生產(chǎn)系統(tǒng)對接,提供統(tǒng)一的身份認(rèn)證數(shù)據(jù)和服務(wù)資源,建立和維護(hù)認(rèn)證數(shù)據(jù)交互服務(wù)區(qū)塊鏈數(shù)據(jù)庫的最新完整副本。全節(jié)點通過數(shù)據(jù)處理模塊和共識節(jié)點模塊接收鑒別設(shè)備發(fā)送來的身份認(rèn)證數(shù)據(jù),并進(jìn)行驗證,驗證通過后對數(shù)據(jù)進(jìn)一步處理,與其他共識節(jié)點進(jìn)行共識,對分布式賬本進(jìn)行更新以完成數(shù)據(jù)上鏈,并通過數(shù)據(jù)服務(wù)器對數(shù)據(jù)進(jìn)行存儲備份。
每個門禁終端設(shè)備作為邊緣節(jié)點,接入?yún)^(qū)塊鏈。這些節(jié)點部署了區(qū)塊鏈數(shù)據(jù)預(yù)處理功能模塊,包括有數(shù)據(jù)預(yù)處理模塊、賬戶管理模塊、應(yīng)用鑒別節(jié)點模塊等。數(shù)據(jù)預(yù)處理模塊可以對數(shù)據(jù)進(jìn)行數(shù)字簽名和生成摘要,數(shù)字簽名的算法使用SM2 算法,摘要生成的算法可以是SM3 算法;賬戶管理模塊包括身份注冊、身份管理,主要負(fù)責(zé)終端上鏈;應(yīng)用鑒別節(jié)點模塊包括數(shù)據(jù)驗簽、數(shù)據(jù)查詢、數(shù)據(jù)存儲智能合約,主要功能是負(fù)責(zé)驗證接收到的數(shù)據(jù)是否被篡改及查詢之前的事務(wù)。身份鑒別終端通過終端層賬戶管理模塊生成終端賬戶,配有獨立的標(biāo)識ID 和公私鑰,采集用戶認(rèn)證數(shù)據(jù)后可與鏈上信息進(jìn)行匹配。
軟件架構(gòu)主要以管理服務(wù)端、認(rèn)證鑒別端和移動App 端為核心。軟件架構(gòu)如圖2 所示。
圖2 軟件架構(gòu)
服務(wù)管理端作為門禁服務(wù)提供方,可以對接電力業(yè)務(wù)系統(tǒng),負(fù)責(zé)對用戶信息進(jìn)行審核、管理,服務(wù)端管理員具備唯一權(quán)限。服務(wù)管理端主要由配置管理模塊、密碼算法模塊、密鑰管理模塊、二維碼校驗?zāi)K、注冊模塊組成。由配置管理模塊負(fù)責(zé)與用戶進(jìn)行交互,對配置界面提交的數(shù)據(jù)進(jìn)行處理,或者調(diào)用其他模塊。
密碼算法模塊主要提供本系統(tǒng)中所需的所有密碼算法接口;密鑰管理模塊負(fù)責(zé)對所審核的入網(wǎng)用戶密鑰進(jìn)行備份。二維碼校驗?zāi)K負(fù)責(zé)處理對客戶手機(jī)端存有生物特征數(shù)據(jù)的二維碼進(jìn)行校驗,并根據(jù)結(jié)果控制準(zhǔn)入。注冊管理模塊負(fù)責(zé)新用戶數(shù)據(jù)的錄入,將用戶信息提交至區(qū)塊鏈。管理服務(wù)端口如圖3 所示。
圖3 管理服務(wù)端口
認(rèn)證鑒別端主要包括門禁閘機(jī)、智能門鎖,負(fù)責(zé)識別多種認(rèn)證模式,可以讀取身份卡、掃描二維碼、識別人臉等,并與鏈上數(shù)據(jù)對比完成鑒別。
移動App 端由用戶下載使用,負(fù)責(zé)完成用戶注冊認(rèn)證以及初始化工作;用戶登記認(rèn)證時提交個人身份信息同時錄入人臉特征進(jìn)行注冊,注冊通過后獲得存有身份鑒別信息的身份卡或二維碼。在門禁節(jié)點刷卡或展示手機(jī)二維碼,由認(rèn)證鑒別端完成鑒別。
系統(tǒng)主要功能分為六個部分:用戶注冊、密鑰(身份鑒別標(biāo)識)分發(fā)、移動端更新密鑰、二維碼生成、系統(tǒng)管理、身份鑒別。
新用戶注冊時,業(yè)主單位可以通過電力生產(chǎn)系統(tǒng)兩票流程管理、電力生產(chǎn)運行值班記錄管理等規(guī)章制度,完成認(rèn)證和注冊登記;第三方公司通過接入?yún)^(qū)塊鏈網(wǎng)絡(luò)完成認(rèn)證注冊。認(rèn)證注冊成功后,用戶可以將人臉特征信息及相關(guān)身份信息、認(rèn)證信息存證共享,生成獨特的身份密鑰,并將每個用戶的身份密鑰(公私鑰對)以及系統(tǒng)公鑰發(fā)送到用戶手機(jī)。注冊完成后會給用戶下發(fā)安檢密鑰作為身份鑒別標(biāo)識,并生成身份卡或二維碼。
若采用身份卡及二維碼為載體進(jìn)行信息傳遞。對不同類型的用戶可以根據(jù)需要生成長期或臨時二維碼。移動端生成的二維碼包含驗證用戶身份的標(biāo)識信息、權(quán)限信息。擁有安檢密鑰的手機(jī),可以將安檢密鑰信息與手機(jī)IMEI 碼綁定,用系統(tǒng)的公鑰加密以上兩者生成字節(jié)串,并將自身手機(jī)號附在字節(jié)串后,一起生成二維碼。
手機(jī)APP 將收到的系統(tǒng)用戶公鑰加密的安檢密鑰進(jìn)行解密,與手機(jī)IMEI 碼綁定,用系統(tǒng)的公鑰再加密生成字節(jié)串,并將自身手機(jī)號附在字節(jié)串后,一起生成二維碼。
身份鑒別,即用身份鑒別端(包括門禁閘機(jī)、智能門鎖等)掃描用戶提供的二維碼,讀取經(jīng)加密保護(hù)的二維碼信息,可以同時掃描人臉信息。鑒別節(jié)點成功讀取消息后,利用私鑰解密經(jīng)加密保護(hù)的二維碼信息,將解密結(jié)果與用戶人臉信息,即區(qū)塊鏈中的身份認(rèn)證數(shù)據(jù)進(jìn)行比對,如比對正確則鑒別通過,否則拒絕訪問。鑒別完成后,身份鑒別端將認(rèn)證結(jié)果發(fā)布至區(qū)塊鏈,并通過共識機(jī)制更新分布式網(wǎng)絡(luò)中其他節(jié)點的區(qū)塊鏈信息。
鑒別流程如圖4 所示。
圖4 鑒別流程
基于密鑰管理原則,每次安檢用戶在完成身份鑒別并進(jìn)入特定區(qū)域后,需要考慮更改用戶密鑰與系統(tǒng)密鑰。
管理服務(wù)端會利用隨機(jī)數(shù)生成一組密鑰作為新的安檢密鑰,同時更新本地存儲的該安檢用戶的密鑰信息,將此密鑰利用隨機(jī)生成的密鑰保護(hù)密鑰加密,并對安檢密鑰進(jìn)行簽名,最后利用手機(jī)端的公鑰對密鑰保護(hù)密鑰進(jìn)行加密,形成數(shù)字信封,下發(fā)至手機(jī)端。
圖5 描述了系統(tǒng)的密鑰分發(fā)過程。
圖5 密鑰分發(fā)
密鑰安全分發(fā)分為兩部分:數(shù)字信封和數(shù)字簽名。其中,數(shù)字信封包括安檢密鑰加密以及保護(hù)密鑰加密。安檢密鑰加密部分作用是將系統(tǒng)隨機(jī)生成的安檢密鑰用保護(hù)密鑰進(jìn)行對稱密碼算法加密。保護(hù)密鑰加密將密鑰加密中用到的保護(hù)密鑰進(jìn)行非對稱加密,隨后對安檢密鑰進(jìn)行數(shù)字簽名,以保證密鑰下發(fā)過程的安全,降低密鑰泄漏風(fēng)險。
移動端接收到管理服務(wù)端發(fā)來的信息后,首先解開數(shù)字信封,得到保護(hù)密鑰,再使用得到的保護(hù)密鑰將安檢密鑰加密部分進(jìn)行解密,計算哈希值,然后完成數(shù)字簽名驗證,最后得到安檢密鑰。
圖6 描述了移動端密鑰更新的功能流程。
圖6 移動端密鑰更新
系統(tǒng)可以實現(xiàn)安檢用戶的密碼設(shè)置、權(quán)限、掛失、銷毀等功能,同時負(fù)責(zé)認(rèn)證環(huán)節(jié)的交互。用戶注冊后的信息全部存儲在區(qū)塊鏈中,安檢用戶可以在手機(jī)App 上實現(xiàn)對密碼的設(shè)置,用戶只需輸入當(dāng)前的用戶名和密碼,即可進(jìn)入密碼管理界面實現(xiàn)對信息的更新;管理員可以通過登錄二維碼安檢身份鑒別系統(tǒng)實現(xiàn)對安檢用戶權(quán)限的管理。
系統(tǒng)測試使用的計算機(jī)配置Intel (R)Core (TM) i7-1165G7@2.80GHz 處理器,內(nèi)存為16G,使用的操作系統(tǒng)為Windows 10。移動端測試使用操作系統(tǒng)Android 11。測試過程中對系統(tǒng)主要功能進(jìn)行了檢驗,測試分為三個部分:整體功能測試、身份鑒別測試、安全性測試。
1) 整體功能測試,主要是模擬安檢用戶在風(fēng)電場不同區(qū)域門禁節(jié)點通過刷卡、二維碼識別等模式進(jìn)入的全過程,將門禁系統(tǒng)中可能出現(xiàn)的各種情況都綜合考慮到,對系統(tǒng)進(jìn)行全方位的測試。
2) 鑒別測試,對生成的長期和臨時二維碼進(jìn)行掃描測試,檢查掃描結(jié)果是否為手機(jī)App 端顯示歡迎進(jìn)入界面。二維碼的生成及識別測試是整個系統(tǒng)的核心內(nèi)容,是安檢用戶進(jìn)入特定區(qū)域的安全保障。
3) 安全性測試,針對攻擊者可能通過各種方式來竊取身份鑒別標(biāo)識進(jìn)行測試??赡芨`取的方式主要有三種:通過偷拍來竊取二維碼,通過非法手段冒認(rèn)二維碼,以及通過過期二維碼進(jìn)行偽造等。安全性測試主要測試安全智能門禁系統(tǒng)針對潛在惡意攻擊的抵抗能力。
經(jīng)過測試,以上設(shè)計的安全智能門禁系統(tǒng)能夠準(zhǔn)確且安全地完成門禁系統(tǒng)的認(rèn)證。發(fā)卡過程簡便,熟練員工平均10 s 完成一個發(fā)卡流程,門禁系統(tǒng)自動識別過程平均約3 s。
基于區(qū)塊鏈和多識別模式的安全智能門禁系統(tǒng)將密碼學(xué)原理應(yīng)用到身份鑒別系統(tǒng)中,依靠生物識別技術(shù)與區(qū)塊鏈技術(shù),實現(xiàn)了各個門禁節(jié)點靈活準(zhǔn)確、共享、透明的身份鑒別,可以有效解決海上風(fēng)電場所針對不同人員、不同區(qū)域的出入身份鑒別問題,該方案有助于完善風(fēng)電廠數(shù)字化基礎(chǔ)建設(shè)。