本應用筆記從信息技術(IT)這一新角度探討了物理訪問控制的關鍵。它比較了各種類型的關鍵技術(機械、磁性、接觸、RFID),并評估了這些密鑰的優勢和劣勢。具有質詢和響應身份驗證的密鑰克服了傳統靜態數據密鑰的局限性。討論了挑戰和響應概念;提供并比較合適的鍵。本文檔最后解釋了為什么質詢和響應身份驗證比依賴靜態數據的概念更安全。
介紹
幾千年來,人們一直使用鎖和鑰匙來控制對他們的住所和寶藏的訪問。隨著技術的變化,鎖也隨之變化。今天,機械鎖仍然統治著世界。但是,仔細觀察您的車鑰匙或員工徽章很可能會發現,電子產品已經進入了訪問控制領域。
本應用筆記回顧了門禁控制的關鍵:機械、磁性、接觸式、RFID。它描述了質詢和響應身份驗證(質詢、機密和消息身份驗證代碼或 MAC)以及 SHA-1 算法的重要作用。最后,本文解釋了為什么質詢和響應身份驗證更安全。
作為信息技術 (IT) 設備的密鑰
從嚴格的邏輯角度來看,任何密鑰都像ROM(只讀存儲器)一樣存儲信息。鎖“讀取”他們鍵的數據,如果它符合鎖的標準,則提供訪問權限。機械鑰匙的物理尺寸和最小尺寸細節(即增量)限制了可用的代碼空間。對于給定的鍵樣式,可以制造數百或數千個鍵而不會重復;確切的數字取決于樣式。磁條鑰匙卡存儲帶有微小鐵基磁性顆粒的信息。磁條可以寫入多個并行磁道,每個磁道超過 500 位。基于接觸的電子令牌密鑰(例如,iButton?設備、芯片卡)將信息存儲在硅芯片中。可用位數可低至64 (DS1990A)或幾乎不受限制。非接觸式按鍵從只有 26 位的型號開始(參見韋根公共格式,PDF),幾乎沒有上限。磁條鑰匙卡在酒店房間訪問中很受歡迎。電子令牌密鑰,有接觸和沒有接觸,在員工徽章中很受歡迎。
現狀及其問題
鎖的實際打開,無論是機械的還是電子的,完全基于滿足鎖內置標準的靜態數據的存在。對于電子鎖,這些數據可以是一個簡單的識別號,數百或數千個存儲位(例如,磁條或存儲芯片卡),或兩者的組合。鑰匙攜帶的信息越少,給定的鎖可以記住的鑰匙就越多。
機械鑰匙有多種樣式和尺寸可供選擇。1鎖的“所有者”無法防止未經授權的密鑰復制。此外,廉價的工具可用于在沒有正確鑰匙的情況下打開鎖。2此外,由于代碼空間有限,無法保證密鑰的唯一性。隨著時間的流逝,鑰匙的精細結構會磨損,使打開鎖變得越來越困難。
雖然代碼空間不是磁條鑰匙卡的問題,但它們很容易被復制2或刪除。它們會因磨損而變質。
基于 ROM 的電子鑰匙需要仿真(重放)和復制。對于聯系人密鑰也是如此2和射頻識別密鑰。2除了基于韋根格式和衍生物(26位或36位)的應用外,電子鑰匙有足夠的代碼空間來保證每個密鑰的唯一代碼。
下一級安全:質詢和響應身份驗證
傳統的電子鎖依賴于鑰匙需要產生的靜態數據來獲得訪問權限。這個不變的標準使得克隆密鑰很容易成功。如果密鑰可以從鎖接收不可預測的數據查詢并使用依賴于接收的數據的數據模式進行響應,則可以實現更高的安全性。該過程涉及公開可讀的數據和只有鑰匙和鎖知道的隱藏數據。
鎖發送到鑰匙的不可預測數據的技術術語是隨機挑戰。隱藏的數據稱為機密,響應通常稱為消息身份驗證代碼或 MAC。該消息由質詢、可公開讀取的數據、機密和常量(填充)組成。為了驗證密鑰的真實性,鎖使用相同的質詢、從密鑰讀取的數據、密鑰和常量來計算 MAC。如果鎖計算的 MAC 與密鑰響應中的 MAC 匹配,則鎖知道密鑰是真實的。如圖 1 所示,此過程的技術術語是質詢和響應身份驗證。如果除了真實性之外,鑰匙中的可公開可讀數據也符合鎖的標準,則鎖允許訪問。
圖1.質詢和響應身份驗證數據流
在密碼學中,從消息生成固定長度 MAC 的算法稱為單向哈希函數。“單向”表示從固定長度的MAC輸出中得出通常較大的消息是極其困難的。相反,使用加密時,加密郵件的大小與原始郵件成正比。
經過全面審查和國際認證的單向哈希算法是SHA-1,它由美國國家標準與技術研究院(NIST)開發。SHA-1已發展成為國際標準ISO/IEC 10118-3:2004。該算法背后的數學原理可通過NIST網站公開獲得。SHA-1算法的顯著特點是:
不可逆性確定與 MAC 對應的輸入在計算上是不可行的。
抗碰撞性找到多個生成給定 MAC 的輸入消息是不切實際的。
高雪崩效果輸入的任何變化都會使 MAC 結果發生重大變化。
出于這些原因,以及國際上對該算法的審查,Maxim選擇了SHA-1進行質詢和響應認證。
質詢和響應身份驗證密鑰
電子鑰匙鎖,有接觸和無接觸,已經由全球多家公司開發并大量部署。它們的主要組件是具有內置固件(即軟件程序)和存儲器的微控制器,該存儲器存儲鎖接受的鑰匙標準(例如,標識號或文本字符串)。根據設計,鎖具有使用質詢鍵和響應鍵的所有資源。所有鎖需要的是固件升級。
DS1961S挑戰和響應i按鈕與SHA-1引擎于2002年推出。66140年推出一款非接觸式器件,符合ISO 15693標準的安全存儲器遙控卡。盡管它們的通信接口和外形尺寸非常不同,但這兩種設備有很多共同點。表 2010 顯示了詳細信息。它們都支持使用 1 位密鑰的 SHA-1 身份驗證,并具有 64 位用戶可編程 EEPROM。可以加載或計算密鑰(此步驟不需要身份驗證)和寫保護。寫入存儲器需要身份驗證,即只有在設備中存儲的密鑰已知時才能寫入。作為較新的開發產品,MAX1024使用66140字節質詢,而DS5S則使用3字節質詢。MAX1961還具有存儲器寫入周期計數器,使篡改檢測變得容易,并將器件的應用從訪問控制擴展到閉環貨幣系統。
特征 | DS1961S | MAX66140* |
外形尺寸 | 我按鈕,F3 和 F5 尺寸 | 塑料鑰匙扣 |
通信接口 | 基于接觸的1-Wire協議? | 無線,13.56MHz ISO15693 和 ISO18000-3 模式 1 |
數據速率 | 標準速度:高達 15.3kbps;過載速度:高達 125kbps | 慢速:1.6kbps下降,6.6kbps上升;快速:上下 26kbps |
身份證# | 64位1線ROM ID | 64 位 UID,符合 ISO 標準 |
身份驗證方法 | 160 位 SHA-1 MAC | 160 位 SHA-1 MAC |
機密大小 | 64 位(讀保護) | 64 位(讀保護) |
密鑰生成 | 加載、計算;通過單獨的寄存器寫訪問提供可選的寫保護 | 加載、計算、可選自動寫保護 |
用戶內存 | 1024 位組織為四頁,每頁 32 字節;8字節塊中的寫入訪問權限;用戶可編程寫保護,僅針對第 0 頁或同時針對所有四個頁面;用戶可編程 EPROM 仿真模式僅適用于第 1 頁 | 1024 位組織為 16 個 8 字節塊;四個塊形成一個 32 字節的頁面;8字節塊中的寫入訪問權限;單個塊寫入周期計數器;用戶為每個單獨的塊提供可編程的寫保護;用戶可編程的EPROM仿真模式,適用于每個單獨的頁面;用戶可編程第 3 頁讀保護 |
寫入身份驗證 MAC | 涉及 ID#、頁面 #、頁面數據、新數據、機密、常量 | 涉及 ID#、頁 #、頁數據、新數據、機密、寫入周期計數器、常量 |
讀取身份驗證 MAC | 涉及 ID#、頁 #、頁數據、3 字節質詢、機密、常量 | 涉及 ID#、頁面 #、頁面數據、5 字節質詢、機密、常量 |
*與ISO/IEC 14443 B型接口的等效密鑰MAX66040正在準備中。 |
為什么質詢和響應身份驗證更安全
要建立和維護質詢和響應認證系統,需要一個密鑰程序員(即電子設備),并且根據系統概念,需要一個主密鑰。關鍵程序員必須了解特定于供應商的數據約定和生成機密的算法。如果系統支持此功能,則主密鑰將用于更新存儲在鎖中的已知密鑰 ID# 列表。與任何安全系統一樣,必須嚴格控制對這些工具的物理訪問,以防止未經授權的使用。
創建新密鑰或密鑰復制
使用密鑰編程器,授權鎖匠在空白密鑰中安裝有效密鑰,然后使用有效數據對內存進行編程。(如果重復:數據是從另一個鍵復制的。新密鑰現已準備就緒,可供使用。根據鎖固件,可能需要指示使用主密鑰的鎖將新密鑰的 ID# 添加到已知密鑰列表中。黑客可以將任意密鑰加載到空白密鑰中,然后使用有效數據對可公開讀取的內存進行編程。但是,此密鑰無法通過質詢和響應身份驗證,因為它的密鑰在系統中無效。
更改有效密鑰的訪問權限
授權鎖匠使用鑰匙編程器更新鑰匙內存中的數據以進行更改。在不知道密鑰的秘密或無法訪問合適設備的情況下,黑客無法生成寫入密鑰內存所需的寫入身份驗證 MAC。
使密鑰停止服務
使用鑰匙編程器,授權的鎖匠將鑰匙的內存內容更改為“出廠默認”或任何其他容易識別為無效的模式。密鑰的秘密可以保持原樣。如果鎖維護已知密鑰的列表,則建議同時從鎖中刪除無效密鑰的 ID#。該密鑰可以重新編程以供以后使用。黑客的選擇是使用蠻力刪除密鑰。
擊敗密鑰仿真
請考慮此方案。有了竊聽和錄音設備,黑客會反復向鎖出示有效的鑰匙。接下來,黑客分析記錄的數據,以查看鎖發送的挑戰以及密鑰生成的讀取身份驗證MAC。如果固件設計正確,質詢是隨機的,因此無法記錄質詢和響應的所有組合。這迫使黑客放棄。
設計不佳的鎖固件使用持續的挑戰或從一小部分模式中隨機選擇挑戰 - 這正是黑客正在尋找的弱點。在這種情況下,黑客可以使用有效密鑰的 ID# 和內存數據、鎖發送的質詢以及相應的讀取身份驗證 MAC 對密鑰模擬器進行編程。如果鎖維護已知密鑰的列表,最簡單的對策是從鎖的列表中刪除該密鑰。但是,不使用此類列表的系統并非毫無防御能力。要檢測密鑰模擬器,可以讓鎖將隨機數據寫入密鑰中原本未使用的內存部分。模擬器將接受寫入訪問權限,因為它無法檢查寫入訪問 MAC 的有效性。接下來,鎖將讀回剛剛寫入的數據以及該頁面的讀取身份驗證 MAC。由于它沒有為此活動做好準備,因此模擬器被揭開,因為它無法生成有效的 MAC。
擊敗泄露的秘密
可以加載或計算用作質詢和響應身份驗證密鑰的 64 位數據。人們可以做的最糟糕的操作是將相同的秘密放入系統的所有密鑰中。一旦此機密泄露或通過反復試驗發現,系統安全性就會被破壞。因此,質詢和響應身份驗證的密鑰可以從初始(即當前或加載的)密鑰、部分密鑰、來自其中一個內存頁的數據以及特定于設備(即已知)的常量中計算密鑰。這樣,秘密永遠不會暴露。還可以通過使用密鑰的 64 位 ID# 作為部分機密,使機密特定于設備。如果單個密鑰的秘密被泄露,它將危及該特定密鑰,但不會危及整個系統。
結論
在已經安裝了電子鎖或電子門禁的地方,通過質詢和響應身份驗證可以顯著提高安全性。質詢鍵和響應鍵可通過接觸式接口或無線遙控鑰匙提供。質詢和響應密鑰中的數據受到保護,防止未經授權的更改。內存寫入周期計數器可能會暴露篡改。克隆的質詢和響應密鑰未通過身份驗證測試,即使公開可讀的內存數據有效也是如此。將現有安裝升級為質詢和響應密鑰可以像發出新密鑰并在鎖或讀卡器中安裝新固件一樣簡單。
審核編輯:郭婷
-
RFID
+關注
關注
386文章
6005瀏覽量
236604 -
讀卡器
+關注
關注
2文章
407瀏覽量
39210 -
編程器
+關注
關注
9文章
392瀏覽量
42106
發布評論請先 登錄
相關推薦
評論