物理門禁控制系統實現原理
目前,全球范圍內已經有眾多公司可以大規模生產電子鎖,無論是接觸式還是非接觸式。其主要元件是內置固件(例如軟件程序)和存儲器的微控制器,存儲器用于存儲可以被鎖具接受的密鑰(例如序列號或文本串)。基于設計,門鎖應具備配合質詢、響應鑰匙工作的所有資源。所有鎖具均需要固件更新。
DS1961S質詢-響應iButton內置SHA-1引擎,于2002年推向市場。而非接觸式器件MAX66140 ISO 15693兼容安全存儲器扣則于2010年面世。雖然通信接口和外形尺寸大有區別,但兩個器件具有許多共同點,如表1所示。二者均支持SHA-1認證,具有64位密鑰和1024位用戶可編程EEPROM。可以裝載密鑰并進行計算(這一步不需要認證)、寫保護。對存儲器的寫操作需要認證,即只有在確認器件密鑰正確的前提下才能進行寫操作。作為新產品,MAX66140采用5字節質詢,與DS1961S所采用的3字節質詢不同。MAX66140還提供存儲器寫次數計數器,使篡改檢測更容易實現,并且可以使器件應用從門禁控制擴展到閉環電子支付系統。
表1. DS1961S與MAX66140對比*MAX66040計劃提供具有ISO/IEC 14443 B型接口同等密鑰的產品。
高度安全的質詢-響應認證
建立并保持一個質詢-響應認證系統需要鑰匙編程器(即一套電子裝置),根據系統要求,可能還需要一個鑰匙主機。鑰匙編程器必須清楚供應商規定的數據轉換和加密算法,以產生所需要的密鑰。如果系統支持這一功能,可以按照門鎖存儲的列表,利用鑰匙主機更新已知鑰匙的ID號。對于任何安全系統,都要嚴格控制這些物理層工具,以防非法使用。
創建新鑰匙或復制鑰匙
經過授權的管理人員可以使用鑰匙編程器在一把空鑰匙內安裝一個有效的密鑰,并在存儲器寫入有效數據(復制鑰匙時,數據從另一把鑰匙直接拷貝)。由此,即可獲得一把新鑰匙。根據具體門鎖的固件,可能需要使用鑰匙主機在鎖內已知的密鑰列表中加入新的鑰匙ID。黑客可以在一把空鑰內加入任何密鑰,然后在開放可讀存儲器中存入有效數據。然而,這樣得到的鑰匙幾乎不可能通過質詢、響應認證,因為它的密鑰是無效的。
更改鑰匙的接入權限
利用鑰匙編程器,經過授權的管理員可以更新存儲器數據,以更改鑰匙權限。如果不知道密鑰或沒有接入適當設備,黑客就無法得到MAC寫入權限,因而也就不能對鑰匙存儲器進行寫操作。
報廢一把鑰匙
利用鑰匙編程器,管理員可以更改鑰匙存儲器的內容,將其設置在“出廠默認設置”或其它任何無效狀態,但密鑰將保留不變。如果鎖內保留了已知密鑰列表,建議將無效密鑰的ID從鎖內刪除。可以在以后使用時重新恢復鑰匙密鑰。黑客的做法是通過強制措施建立密鑰。
防克隆保護
可以考慮這樣一種情況,黑客借助竊聽或記錄裝置獲得有效的密鑰,然后將其重復發送到門鎖,并對記錄數據進行分析,獲得門鎖發出的質詢以及鑰匙生成MAC。如果固件設計合理,質詢應該是隨機數,使得黑客不可能得到所有質詢響應的組合,最終放棄這一盜竊渠道。
如果固件設計不合理,采用固定質詢,或者從一個很小的模板中隨機產生質詢,這會給黑客可乘之機。黑客可以利用有效的鑰匙ID、存儲器數據以及門鎖發送的質詢和讀取的相應認證MAC,配置鑰匙仿真器。如果黑客保存了已知密鑰列表,最簡單的對策就是刪除門鎖中的列表。對于沒有使用這樣列表的系統也不是沒有防備。為了偵測鑰匙仿真器,可以讓門鎖在鑰匙內部沒使用的存儲單元寫入一個隨機數。仿真器也將接受這些寫操作,因為它不能識別哪些MAC寫操作有效。隨后,門鎖將剛寫入的數據和讀取頁的驗證MAC一起讀回。由于不能進行此項操作,仿真器無法產生有效MAC,因而操作失效。
密鑰泄露保護
可以裝載或計算作為質詢、響應認證密鑰的64位數據,最糟糕的設計是把同一密鑰寫入系統的所有鑰匙。一旦密鑰泄露或通過反復試驗被發現,系統的安全防線將被摧毀。因此,進行質詢、響應認證的鑰匙可以根據初始(當前或裝載的)密鑰、部分密鑰、存儲器頁數據以及器件指定常數,計算新的密鑰。采用這種方式,密鑰不會暴露在外部。將鑰匙的64位ID作為部分密鑰,可以產生器件的專用密鑰。如果該鑰匙的密鑰泄露,只需要修復這把鑰匙,而不需要更新整個系統。
結論
在一些安裝了電子鎖或電子門禁的場所,通過質詢-響應認證系統可以明顯改善系統的安全性。質詢-響應鑰匙可以采用接觸式接口或無線接口。受保護的質詢-響應鑰匙中的數據可以防止非法修改。存儲器的寫次數計數器監測篡改操作。克隆的質詢-響應鑰匙無法通過認證測試,即使公開可讀存儲器的數據是有效的。對質詢-響應鑰匙進行升級非常簡單,只需在鎖內或讀取裝置內設置新的密鑰或安裝新的固件。
評論