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