本应用笔记介绍了MAX66250 NFC/RFID器件与相关移动应用的配合使用。IC的功能通过使用移动应用程序直接调用MAX66250的命令来实现。
介绍
在本应用笔记中,我们讨论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读卡器移动应用的基本工作原理。它解释了如何使用每个命令以及输入字段的用途。
审核编辑:郭婷
-
集成电路
+关注
关注
5380文章
11377浏览量
360766 -
存储器
+关注
关注
38文章
7447浏览量
163584 -
nfc
+关注
关注
59文章
1617浏览量
180374
发布评论请先 登录
相关推荐
评论