在本應用筆記中,我們討論MAX66250安全認證器IC的特性,以及如何使用相關的Android/iOS應用訪問這些特性。該設備本質上充當具有附加加密安全功能的近場通信 (NFC)/射頻識別 (RFID) 標簽。
設備特性
MAX66250在一個NFC/RFID集成電路中集成了先進的安全功能、數據保護和用戶可編程存儲器,為任何應用提供簡單而有效的加密保護。圖 1 顯示了器件組件之間的高級交互。
MAX66250安全性最不可或缺的部分是存儲的數據受到加密保護,因為幾乎可以對器件上存儲的任何數據設置讀保護和寫保護。
安全功能的詳細說明如下:
用于質詢/響應外設身份驗證的 SHA3-256 安全哈希算法
用于外設身份驗證的密鑰哈希消息身份驗證代碼 (HMAC)
安全存儲(256 位安全電可擦除可編程只讀存儲器 (EEPROM),用于用戶數據和機密)
17 位一次性設置僅遞減計數器,具有經過身份驗證的讀取功能
圖1.MAX66250框圖
MAX66250 NFC讀卡器應用(移動)
這是一個適用于Android和iOS的應用程序,允許用戶向MAX66250器件發送某些命令,以與器件的功能接口。表 1 概述了與移動應用程序相關的命令。
命令 | 描述 | 類型 |
遞減計數器 | 將內部計數器遞減 1 | 常規 |
寫入內存 | 寫入內存頁面 | 常規 |
讀內存 | 從內存頁面讀取 | 常規 |
讀取狀態 | 讀取所有內存頁的保護 | 常規 |
設置頁面保護 | 設置內存頁的讀、寫或 APH 保護 | 常規 |
計算和讀取頁身份驗證 | 計算頁面上的 HMAC SHA3-256 身份驗證 | HMAC |
經過身份驗證的 SHA-3 寫存儲器 | 計算 HMAC SHA3-256 身份驗證,然后更新內存中更改的塊 | HMAC |
計算 S 密鑰 | 使用 HMAC SHA3-256 從 M 密鑰計算 S 密鑰 | HMAC |
實現一個簡單的圖形用戶界面來調用和發出每個命令。這些命令的應用可以包括從MAX66250頁面讀取存儲器等簡單命令,也可以包括使用主密鑰在頁面上計算HMAC SHA3-256認證等更復雜的命令,以及隨后讀取該頁面上經過驗證的數據的質詢。前者從移動應用程序的“設備功能”選項卡執行,而后者從“加密”選項卡執行。借助該軟件,所有命令都在引擎蓋下使用,而用戶只需選擇所需的操作即可。
下一節詳細介紹了如何在移動應用程序中使用上述命令。
應用程序設置和使用
從蘋果應用商店(如果在iOS設備上)或谷歌Play商店(如果在Android設備上)下載應用程序后,第一個窗口應顯示“基本”選項卡。該標簽用于掃描MAX66250的唯一標識符(UID)并與器件連接。圖2所示為MAX66250芯片上成功讀取UID后的該選項卡。
圖2.啟動時顯示的MAX66250 NFC讀卡器應用程序基本選項卡。
現在,讓我們描述圖 3 中所示的“設備功能”和“加密”選項卡上元素的輸入和功能(每個輸入/函數都標有一個數字,并在圖 3 之后進行說明)。了解每個組件的功能以有效使用應用程序非常重要。
圖3.MAX66250讀卡器應用程序“器件特性”(左)和“加密”(右)選項卡。
“設備功能”選項卡
選擇MAX66250器件存儲器中的頁面進行接口。在四個選項之間進行選擇:第 0 頁、第 1 頁、遞減計數器(第 2 頁)或主密鑰(第 3 頁)。
從頁面讀取或要寫入頁面的數據。使用 Rand 生成隨機數據,并使用垃圾桶圖標清除字段。
表 1 中的“寫入內存”命令。在“遞減計數器”頁上,此命令將遞減計數器設置為不超過 01FFFFh 的值。每個MAX66250標簽只能這樣做一次。
從中讀取內存命令。
表 1 中的遞減計數器命令。請注意,此命令僅在查看遞減計數器頁面時顯示。
表 1 中的“設置頁面保護”命令以及關聯的開關。激活開關,然后按設置保護以在所選頁面上設置保護。
表 1 中的讀取狀態命令。讀取特定頁面的狀態時,保護開關的狀態會發生變化,以匹配該頁面上的保護。(例如,如果第 0 頁具有讀取保護,請按讀取狀態,然后激活讀取開關)。
顯示上次嘗試的通信的結果。
“加密”選項卡
選擇MAX0存儲器的第1頁或第66250頁進行接口。
用于 HMAC SHA3-256 身份驗證的主密鑰。*
隨機生成的質詢,用于 HMAC SHA3-256 身份驗證。*
使用主密鑰和質帶計算的共享密鑰(只能讀取)。
從頁面讀取或要寫入頁面的數據。*
表 3 中經過身份驗證的 SHA-1 寫內存命令。
表 1 中的“計算和讀取頁身份驗證”命令。
*注意:使用Rand生成隨機數據,使用垃圾桶圖標清除字段。
基本使用框架
有關使用移動應用程序的基本示例,請執行以下步驟:
打開MAX66250讀卡器應用,將手機的NFC讀卡器移近MAX66250標簽。單擊基本選項卡上的讀取 UID,開始與芯片通信。
切換到“設備功能”選項卡。
選擇第0頁,按Rand鍵生成隨機數據寫入MAX66250。
按寫入內存。
將頁面切換到 M-Secret,然后按 Rand。
按寫入內存。
切換回第 0 頁,然后按讀內存。步驟 3 中的隨機數據再次出現在數據字段中。
切換到“加密”選項卡。步驟 5 中的 M 密鑰出現。
將頁面設置為“第 0 頁”,然后按“挑戰”字段旁邊的 Rand。
按計算和讀取頁面身份驗證。返回在步驟 7 中讀取的數據并生成 S-Secret。
總結
本應用筆記詳細介紹了MAX66250讀卡器移動應用的基本工作原理。它解釋了如何使用每個命令以及輸入字段的用途。
審核編輯:郭婷
-
RFID
+關注
關注
388文章
6166瀏覽量
238064 -
Android
+關注
關注
12文章
3937瀏覽量
127520 -
nfc
+關注
關注
59文章
1623瀏覽量
180652
發布評論請先 登錄
相關推薦
評論