戴建浜 福建省莆田第二中學
近些年,隨著生活水平的提高和學校對安防意識的重視,智能門鎖已成為學校門鎖升級換代的選擇。智能門鎖是指在傳統(tǒng)機械鎖的基礎(chǔ)上改進的,在用戶安全性、識別、管理性方面更加智能化簡便化的鎖具。[1]智能門鎖是門禁系統(tǒng)中鎖門的執(zhí)行部件,磁卡、射頻卡是使用非機械鑰匙作為用戶識別ID的成熟技術(shù),這類卡片屬非接觸類,安全性較高,塑料材質(zhì),配置攜帶較方便,價格又低廉,如指紋鎖、虹膜識別門禁等,這類卡在銀行、政府部門(注重安全性),以及酒店、學校宿舍、居民小區(qū)、別墅、賓館等使用比較多。還有一種智能鎖是近年來比較暢銷的人工智能鎖具,可以進行人臉識別開鎖,具有安全性高、簡單又方便的特點。目前,不管是哪一種智能鎖,一般都可以與智能手機、智能路由器、監(jiān)控器等智能家居設(shè)備一起實現(xiàn)用手機遠程操控等功能。
但這些智能鎖具都存在一個致命的問題,就是電源問題,目前有一部分智能鎖要拉專線給鎖供電,有一部分采用電池方式,但過幾個月就得更換電池,改造成本很高,在沒電時也會有安全隱患。還有就是強電磁波干擾問題[2],攻擊者通過外部的強電磁場發(fā)射工具,向門鎖發(fā)出強電磁波干擾(俗稱小黑盒攻擊),電磁波在門鎖內(nèi)部耦合產(chǎn)生電壓,可能觸發(fā)門鎖的誤動作。[3]攻擊結(jié)果包括但不限于觸發(fā)開鎖信號、驅(qū)動電機、觸發(fā)MCU或識別芯片重啟等造成誤開鎖。據(jù)2018年的一份研究,國家質(zhì)檢中心對市面上40款智能門鎖做了風險監(jiān)測,15%都能被小黑盒秒開,剩余絕大多數(shù)都存在安全風險。
本文涉及的“掛鎖”采用傳統(tǒng)機械鎖的構(gòu)造,無需改造原有門的結(jié)構(gòu),鎖內(nèi)部無需安裝電池也可實現(xiàn)智能鎖的多數(shù)功能,實現(xiàn)一把鑰匙可以授權(quán)開多把鎖,不同的管理員可以授權(quán)開不同的、多個鎖的功能,真正達到一把鑰匙開全校所有鎖的目的。掛鎖采用防小黑盒暴力破解設(shè)計,免去沒電、更換鎖電池的煩惱,安全方便,特別適合校園這一類鎖頭經(jīng)常更換、開鎖人員隨時更換的場所。
掛鎖是由鎖梁直接與鎖體扣接而成的一種封閉形鎖具,它是鎖具世界中最古老、最龐大的家族,可以說其他鎖具都是從掛鎖這門類中繁衍、派生而來。[4]筆者設(shè)計的校園一把鑰匙開鎖系統(tǒng)是在原有掛鎖的基礎(chǔ)上改進而成的,由無源掛鎖、有源鑰匙、校園解碼中心三個部分組成,其中有源鑰匙利用物聯(lián)網(wǎng)技術(shù)連接到校園解碼中心獲取密碼并返回給無源掛鎖,比對成功后即可以開鎖。物聯(lián)網(wǎng)(IOT:Internet of Things)是一個通過信息技術(shù)將各種物體與網(wǎng)絡(luò)相連,以幫助人們獲取所需物體相關(guān)信息的巨大網(wǎng)絡(luò)。[5]在本研究中物聯(lián)網(wǎng)連接的就是鑰匙和鎖,每把鑰匙和鎖在物聯(lián)網(wǎng)中都有一個唯一的ID,也稱為識別碼,系統(tǒng)通過讀取這個識別碼的對應關(guān)系來判斷是否開鎖。系統(tǒng)原理結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)原理結(jié)構(gòu)
圖1中無源掛鎖的解鎖密碼存放在校園解碼中心,要通過有源鑰匙通過網(wǎng)絡(luò)去獲取。本研究實現(xiàn)的目標是不改變原有門的結(jié)構(gòu),用一把鑰匙開多把鎖的功能,從圖1中可以看出,一把鑰匙可以開多把鎖,一個掛鎖可以授權(quán)給多人開。
無源掛鎖由鎖梁、鎖體和USB鎖口組成,鎖體集成一塊ESP32單片機,這是一款專門為移動設(shè)備、可穿戴電子產(chǎn)品和物聯(lián)網(wǎng)應用而設(shè)計的單片機[6],具有低功耗性能,包括精細分辨時鐘門控、省電模式和動態(tài)電壓調(diào)整等。采用ESP32單片機具有成本低、容易編程等眾多優(yōu)點。
每把鎖頭內(nèi)置的單片機在出廠時都有唯一的ID(Identity document),用戶不能更改,每個ID對應12位16進制編碼來作為這把鎖的解碼密碼,保證其無重復編號和安全性,使其達到統(tǒng)一管理,當與電子鑰匙通信時,有多層交互通信及校驗過程,以便達到更加安全可靠、無誤開率、無重開率的目的。運行時鎖隨機生成加密代碼和運算代碼,一起發(fā)送至解碼中心用于解碼中心對解鎖碼進行加密,之后鎖再對收到的解鎖碼進行解密,以防止解鎖碼在串口傳輸時被竊取后復制。鎖梁末端有一個缺口,鎖住時被一非金屬物件卡住,該物件連接一個舵機,當接收到開鎖指令時,舵機轉(zhuǎn)動一個方向帶動非金屬物件,松開鎖梁,達到開鎖的目的。USB接口有四根線,其中兩根線給無源掛鎖的ESP32單片機供電,另外兩根通過串口與有源鑰匙的USB插口相連接,發(fā)送開鎖請求和接收解鎖密碼。結(jié)構(gòu)圖如圖2所示。
圖2 掛鎖結(jié)構(gòu)圖
有源鑰匙由電池、控制部分和USB插口部分組成。電池是一塊3.7V的鋰電池,結(jié)合升壓模塊,升壓至5.0V給控制部分供電??刂撇糠质且粔KESP32單片機,這種單片機帶有Wi-Fi模塊,可以接入校園無線網(wǎng)絡(luò)進行認證,單片機上也有一個唯一的ID識別碼和12位16進制密碼來作為這把鑰匙登入系統(tǒng)的準入編碼。鑰匙上有一個USB插口,此插口與平時USB的插口外觀一致,插口上有四根線,其中兩根電源線用來與鎖頭連接,給鎖頭供電,另外兩根與鎖頭的串口連接,用來接收鎖頭編碼給校園解碼中心和發(fā)送解鎖密碼給鎖頭。本研究單片機需要事先連接到校園無線網(wǎng)絡(luò),在單片機成功登入系統(tǒng)后,插入鎖頭,鎖頭會反饋一個鎖頭ID給鑰匙,鑰匙再把自己的ID和鎖頭的ID通過無線網(wǎng)絡(luò)發(fā)送至系統(tǒng)平臺端進行比對認證,如果比對成功,平臺發(fā)送一個解鎖密碼回來,鑰匙收到解鎖密碼后,把密碼再通過串口發(fā)送給鎖頭,鎖頭比對解鎖密碼與內(nèi)置的密碼是否相匹配,匹配成功則發(fā)送一個指令給舵機,舵機轉(zhuǎn)動非金屬物體,松開鎖梁,解鎖成功。鑰匙側(cè)面還有一個電腦編程接口,可重新燒寫程序,分配鑰匙ID和密碼,以及給電池充電等。具體結(jié)構(gòu)如圖3所示。
解碼中心平臺主要實現(xiàn)比對的過程,采用B/S結(jié)構(gòu),管理員從Web端登入頁面后就可以進入后臺添加或刪除教師,給教師鑰匙授權(quán)開鎖對象和數(shù)量。每把鑰匙通過自身的準入編碼登錄到平臺,上傳鎖的ID、加密代碼和運算代碼在平臺進行匹配,匹配成功則返回根據(jù)加密代碼和運算代碼返回加密后鎖的解鎖密碼,具體流程如圖4所示。
圖4 校園解碼中心工作流程
由鎖生成并記錄加密代碼(隨機常數(shù))和運算代碼(隨機常數(shù)),解密中心根據(jù)運算代碼選用不同加密算法。
本研究基于校園無線網(wǎng)絡(luò),如果學校沒有無線網(wǎng)絡(luò),也可以通過手機共享等方式接入網(wǎng)絡(luò)。當然,也可以用zigbee、z-wave、sigfox、Lora或NB-iot等方式連接至物聯(lián)網(wǎng),其他原理一致。
本研究硬件分鑰匙和鎖頭兩個部分。鑰匙和鎖頭通過串口進行連接,連接方式如下頁圖5所示,鑰匙和鎖頭的供電電源均來自鑰匙的鋰電池,TX是發(fā)送(transport),RX是接收(receive)。鑰匙的發(fā)送端接鎖頭的接收端,鑰匙的接收端接鎖頭的發(fā)送端。
圖5 鑰匙與鎖頭連接示意圖
鑰匙上裝有一個指示燈,當成功連接上Wi-Fi,工作正常時,顯示綠燈,連接失敗顯示紅燈。當鑰匙插入鎖頭進行解鎖,顯示黃燈并閃爍,鑰匙先獲取鎖頭的ID編碼后上傳至校園解鎖中心,解鎖中心匹配成功后返回解鎖密碼并通過鑰匙傳送至鎖頭,解鎖成功后顯示綠燈,解鎖失敗顯示紅燈。具體程序流程如圖6所示。
圖6 鑰匙工作流程
鎖頭通電后發(fā)送請求信號,成功發(fā)送ID編碼后開始等待接收解鎖密碼,收到并匹配成功則告訴舵機轉(zhuǎn)動非金屬物件,鎖被打開,舵機恢復原位,程序流程如圖7所示。
圖7 鎖頭工作流程
本研究中的掛鎖、鑰匙和校園解碼中心組成了一個完整的開鎖系統(tǒng),系統(tǒng)管理采用B/S結(jié)構(gòu),為了保證系統(tǒng)的穩(wěn)定性,建立一個良好的數(shù)據(jù)庫結(jié)構(gòu)和簡單安全的后臺管理系統(tǒng)是非常有必要的。
數(shù)據(jù)庫共涉及鑰匙列表、鎖頭列表和解鎖匹配列表三個表(如下頁表1、表2、表3),鑰匙列表保存所有鑰匙的信息,鎖頭列表保存所有鎖的信息,解鎖匹配列表保存管理員的授權(quán)信息。數(shù)據(jù)庫保存在本地服務器,供平臺調(diào)用。
表1 鑰匙列表
表2 鎖頭列表
表3 解鎖匹配列表
后臺要做的是對新鑰匙和新鎖頭分配ID、授權(quán)開鎖等??梢詫⒁话研骆i通過數(shù)據(jù)線連接到計算機,通過管理端對鎖進行命名,注冊鎖的賬戶和密碼以及命名相對應的房間號。同樣,每拿到一把新的鑰匙,都要把新鑰匙通過數(shù)據(jù)線連接到電腦,通過管理端對鑰匙分配ID,生成登錄密碼,注冊鑰匙的所有人的身份信息、聯(lián)系電話等,并授權(quán)開鎖方案、失效時間等。當出現(xiàn)鑰匙丟失時,可將已經(jīng)丟失的鑰匙禁用,防止鑰匙被盜用。
本文介紹了一種基于物聯(lián)網(wǎng)的校園一把鑰匙開掛鎖系統(tǒng)。本系統(tǒng)改變了傳統(tǒng)智能鎖鎖芯帶電的模式,讓鑰匙帶電可充電,而鎖不帶電,鑰匙可再編程,重復利用,極大地節(jié)約了資源,實現(xiàn)了鑰匙的分布式管理。本系統(tǒng)適合鐵門較多、掛鎖較多的學校,實踐表明,它能解除這些學校管理多把鑰匙的煩惱,提高校園安全管理水平。