AN-7656:使用MAX66250移动应用,基础知识

描述

在本应用笔记中,我们讨论MAX66250安全认证器IC的特性,以及如何使用相关的Android/iOS应用访问这些特性。该设备本质上充当具有附加加密安全功能的近场通信 (NFC)/射频识别 (RFID) 标签。

设备特性

MAX66250在一个NFC/RFID集成电路中集成了先进的安全功能、数据保护和用户可编程存储器,为任何应用提供简单而有效的加密保护。图 1 显示了器件组件之间的高级交互。

MAX66250安全性最不可或缺的部分是存储的数据受到加密保护,因为几乎可以对器件上存储的任何数据设置读保护和写保护。

安全功能的详细说明如下:

用于质询/响应外设身份验证的 SHA3-256 安全哈希算法

用于外设身份验证的密钥哈希消息身份验证代码 (HMAC)

安全存储(256 位安全电可擦除可编程只读存储器 (EEPROM),用于用户数据和机密)

17 位一次性设置仅递减计数器,具有经过身份验证的读取功能

Android

图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后的该选项卡。

Android

图2.启动时显示的MAX66250 NFC读卡器应用程序基本选项卡。

现在,让我们描述图 3 中所示的“设备功能”和“加密”选项卡上元素的输入和功能(每个输入/函数都标有一个数字,并在图 3 之后进行说明)。了解每个组件的功能以有效使用应用程序非常重要。

Android

图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读卡器移动应用的基本工作原理。它解释了如何使用每个命令以及输入字段的用途。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分