应用说明,以安全认证器的形式解释NFC产品认证,特别是ADI公司的解决方案。将满足应用要求,包括正品验证、轮次检查和适当结束 NFC 耗材的使用寿命。
介绍
NFC 提供了一种无需物理接触即可互连设备的解决方案。NFC标签通常用于制造信息,产品识别和认证。在日常生活中,想象一下这些产品的广度;护照、电子机票、员工徽章、医疗外围设备的识别和盒子商店安全标签等等。其他竞争技术(如快速响应 (QR) 代码)可以支持产品标识和信息,但不能执行产品的安全身份验证。NFC和QR码都有其优点和缺点,但为了安全性和用户体验,NFC获胜。这主要归功于阅读器掌握在每个人的手中,因为现在几乎所有智能手机都可以用来读取NFC标签。它们还可用于检查物品的真实性,无需特殊硬件。对于没有智能手机的应用,RFID阅读器有许多选项可以补充大多数NFC标签。
本应用笔记重点介绍产品认证,特别是ADI公司以NFC安全认证器形式提供的解决方案。它满足了应用要求,包括正品验证、轮次检查、适当结束耗材的使用寿命以及涉及其他应用。
首先,什么是身份验证?
身份验证是一个过程,目的是在两个或多个实体之间建立身份证明。在单向身份验证的情况下,只有一方参与向另一方证明其身份。通过双向身份验证,双方都向对方证明自己的身份。最常用的身份验证方法是密码。密码的主要问题是它们在使用时会暴露,使它们容易受到间谍和发现。这是二维码不利于安全性的主要原因,因为它是一个完全暴露的密码。
在研究密码学的历史使用时,1883年,佛兰芒语言学家奥古斯特·克尔克霍夫斯(Auguste Kerckhoffs)在一篇关于军事密码学的开创性文章中发表了他的发现。Kerckhoffs认为,安全性应该取决于密钥的强度,而不是依赖于默默无闻,因为在发生违规行为时,只需要更换密钥,而不是整个系统。
一种经过验证的基于对称密钥的身份验证方法如图 1 所示。密钥和待身份验证的数据(“消息”)作为输入来计算散列消息身份验证代码或 HMAC。然后将 HMAC 附加到消息中,并根据请求进行传输。消息的接收方使用相同的(下面称为共享)密钥执行相同的计算,并将其 HMAC 版本与消息接收的版本进行比较。如果两个 HMAC 匹配,则消息是真实的。但是,此基本模型的一个弱点是,静态的、截获的消息和 HMAC 可能会在以后或随后被不真实的发送方重放,并被误认为是真实的。
图1.HMAC 计算模型。
为了解决重放漏洞并证明 HMAC 发起方(例如,非接触式外设或标签)的真实性,接收方(即外设位于近场的主机系统)生成一个随机数,并将其作为质询发送给发起方。然后,HMAC 发起方必须根据共享密钥、消息和质询计算新的 HMAC,并将其发送回收件人。如果发起方证明能够为任何质询生成有效的 HMAC,则绝对可以肯定它知道共享密钥,因此可以被认为是真实的。图 2 显示了此质询和响应身份验证流程以及关联的数据元素。
图2.质询和响应身份验证数据流。
在密码学中,从消息生成固定长度哈希的算法称为单向哈希函数。“单向”表示从通常较大的输入消息的固定长度输出哈希得出结论在数学上是不可行的。将 HMAC 和 SHA3 算法与密钥相结合称为 HMAC,具有与固定长度输出哈希相同的“单向”特征。
FIPS 202 SHA-3 是一种经过全面审查和国际认证的单向哈希算法,它由美国国家标准与技术研究院 (NIST) 标准化。该算法背后的数学原理可在NIST网站上公开获得。该算法的显著特点如下:
不可逆性:确定与哈希输出对应的输入在计算上是不可行的。
抗碰撞性:找到多个产生相同哈希输出的输入消息是不切实际的。
高雪崩效应:输入的任何变化都会在哈希结果中产生重大变化。
出于这些原因以及算法的国际审查,ADI公司选择SHA-3对其最新的MAX66250 NFC安全认证器进行质询和响应认证。此外,ADI公司在其最新产品中实现了SHA-3算法的SHA-256-3变体,并结合了基于密钥共享的HMAC算法。
系统中的非接触式安全身份验证
支持NFC的智能手机的普及使任何人都可以使用安全的认证器标签IC,例如DeepCover安全认证器(MAX66250),而无需任何特殊硬件,如图3所示。这是因为大多数智能手机都具有符合ISO 15693标准的集成NFC阅读器和安全存储功能。大多数手机操作系统都提供FIPS加密软件库,可以轻松开发。但是,典型的嵌入式应用不使用智能手机,必须使用专用的NFC读卡器。®
图3.没有特殊硬件的示例。
或者,如图4所示,ADI公司同时具有读卡器(MAX66301)和用于NFC安全认证的标签IC。读卡器可以作为与微控制器(μC)接口的外设IC轻松添加到任何嵌入式处理系统中。以下是使用MAX66301读卡器IC的优点:
高度安全的系统主 SHA3 机密存储。
从主机μC卸载SHA3计算。
卸载ISO15693 RF数据的编码和解码。
使用ADI公司的预编程服务对系统SHA3密钥进行可选安全编程。
图4.嵌入式系统非接触式框图。
现在让我们讨论一些应用程序,因为系统已经呈现了。
正品验证
有限寿命消耗品通常是售后市场公司的目标,试图复制、生产和将未经授权且通常不合格的产品引入供应链。安全认证可用于证明产品是 OEM 正品,并且可以消除安全问题、潜在的品牌损害和假冒产品可能导致的收入损失。在解决方案中引入安全身份验证使主机系统能够验证外设是否为真品,并在检测到假冒产品时采取特定于应用程序的操作。如图5所示,读取器和标签之间的质询和响应用于确认真实性。
图5.通过质询和响应进行正品验证。
圆形检查
标签的一个有趣的应用是将其用于轮询。该术语是指作为其工作的一部分,需要访问特定地点的人。例如,医护人员挨家挨户地检查患者,或者保安每隔几个小时检查一次设施的不同门窗。
圆形检查的其他变体可能是船舶、飞机和工业机械。这些示例中的任何一个都是需要检查重要项目的实例。在许多情况下,这是一个不断增长的领域,因为它与合规性证明有关,可能与消防、健康和安全法规有关。例如,安全官员要求检查船上救生艇、救生衣和灭火器的适用性。但是,简单的清单并不能证明员工实际离开工作站检查每个项目。附有NFC标签后,员工需要亲自到场,并使用智能手机或阅读器在每个位置扫描标签。合规性证明可以像读取序列号进行物品识别一样简单,也可以通过添加身份验证来更复杂。图6所示为MAX66250 IC如何支持上述三种功能。
在清点标签时,可以通过读取所有设备固有的 64 位唯一标识符 (UID) 来满足项目标识。生产信息,如使用寿命、校准等,可以在工厂或部署时写入并保护标签的用户页面。页面数据可以使用计算的HMAC进行身份验证以确认真实性,并传输到安全的云服务器。这提供了额外的责任,然后安全的云数据中心可以信任从设备读取的信息。过期的可维修项目可以通过阅读器或云服务以电子方式轻松识别和重新订购。每个读取点都是一个数字记录,可以存储在安全的云服务器上,该服务器提供自动合规性检查和通知。传输到云端的数据可能包括来自智能手机的GPS坐标,以便更好地进行问责。
图6.轮次检查。
耗材寿命终止
许多一次性耗材在丢弃之前仅限于单次或多次使用。简单的防篡改保护可以移除并放置在假冒设备上,并作为正品转售。OEM 设备制造商希望避免过度使用或重复使用,因为安全问题、过早的设备故障和责任问题。
幸运的是,有几种方法可以处理未经授权的重用。一种方法是标签的天线由脆纸和超薄蚀刻铝天线制成。这只是另一种类型的NFC标签,用于防止物品被重复使用,例如葡萄酒,雪茄和其他贵重物品。机械结构的复杂性创造了一个防篡改标签,当它从原始物品上取下时,它会破坏 IC 的天线。然而,这并不总是实用的,因为有时标签根本不会被移除,而只是用消耗的材料补充物品。
如图 7 所示,更好的方法是将某些内容(过期值)安全地写入实际的外围设备标记,当主机设备读取器读取该标记时,指示该项目的生命周期已过期,不应信任或重用。MAX66250提供SHA3-HMAC保护命令功能,支持该安全写入序列。使用经过身份验证的安全写入而不是不安全的内存写入的原因是防止内存被简单地重置,然后重新投入使用或重复使用。
图7.写入可消耗的生命周期结束数据。
安全管理有限寿命外设的另一种方法是在NFC标签IC中使用不可复位计数器。在工厂,OEM设备制造商首先为其使用次数设置所需的寿命计数器值。每次验证和使用外设时,都会执行计数器的读取和递减。当计数器的值为零时,生存期将过期。MAX66250提供不可复位、仅递减计数器以支持此功能。
简要提及其他应用
其他应用包括对象识别、访问控制和资产标记。这些中的每一个都已经存在了一段时间,使用二维码、UHF RFID 标签或 NFC 标签等技术。对象标识是最简单的,因为它用于标识与其他类似项目相比唯一的项目。访问控制通过仅在安全机制批准时启用“使用权”来指示允许谁访问该项目。资产标记处理在项目移动时跟踪项目的管理。
对于这些应用,NFC标签在那些NFC阅读器中具有明显的优势,这些NFC阅读器在我们大多数人手中非常普遍,智能手机链接到互联网。USB阅读器也随时可用,以支持大多数计算机。二维码也是如此,但它们的限制是安全性的弱点。NFC标签和UHF RFID标签具有很强的安全性。二维码很容易被恶意欺骗。UHF RFID标签更适合资产标签,因为它们可以在更远的距离工作,可以一次读取整个托盘,但它们可用的阅读器范围有限。出于这些原因,最好考虑这些应用的NFC标签。
ADI公司的NFC认证器特性
在刚才讨论的应用中,ADI公司采用符合FIPS202标准的SHA3-256 MAX66250 IC的解决方案具有满足这些情况的安全特性。从根本上说,IC接收输入成分并计算HMAC结果。对于每种操作类型,不断变化的成分会馈送到计算引擎中,从而为目标用例创建唯一的 HMAC。主机必须能够计算外围设备生成的相同 HMAC 以验证其真实性。这种类型的机密使用是基于对称密钥的安全系统的要求之一。
质询和响应身份验证 HMAC
MAX66250安全认证器主要用于NFC外设的质询和响应认证。在图 8 中,主机发送随机质询,并指示外围设备计算来自质询、用户内存页面数据和其他成分的 HMAC 响应,这些成分共同构成使用辅助密钥进行 SHA3 哈希处理的输入消息。
图8.质询和响应身份验证 HMAC 的数据流。
计算完成后,MAX66250将其HMAC发送到主机进行验证。然后,主机使用计算出的次级密钥(即相同的共享密钥)和MAX66250使用的相同输入消息成分复制HMAC计算。从外设接收的 HMAC 匹配提供设备的身份验证,因为只有真实的外设才能正确响应质询和响应序列。至关重要的是,挑战必须基于随机数据。永不改变的挑战打开了使用记录和重放的有效静态 HMAC 而不是由真实外设立即计算的 HMAC 重放攻击的大门。
HMAC 身份验证写入
刚才讨论的质询和响应身份验证对主机的外围设备进行身份验证。现在,将讨论相反的情况,其中外围设备对主机进行身份验证以信任其数据以进行安全内存写入。这是非常理想的,因为外设的用户存储器(如易耗品寿命终止部分所述)可能包含指示是否应使用外设的敏感状态数据。它还可能指示其他敏感状态数据,例如产品启用了哪些功能或标签持有者具有的访问级别。由于这些原因,MAX66250外设中对EEPROM的写访问可以进行认证写保护。真正的真实主机知道或可以计算辅助密钥,并能够生成有效的写入访问 HMAC。
为了完成将数据复制到EEPROM用户页面,外设要求请求主机首先使用辅助密钥、新数据和从外设读取的旧数据以及其他数据来计算有效的写访问HMAC。然后,主机发送经过身份验证的 SHA-3 写内存序列,其中包含此写访问 HMAC、新页面数据和其他数据。MAX66250将接收到的数据存储到缓冲器中,然后根据新数据、EEPROM存储器页中当前存在的旧数据、次级密钥和其他数据计算出自己的HMAC,如图9所示。
图9.写入访问身份验证 HMAC 的数据流。
MAX66250将写访问HMAC与其自身的外设HMAC结果进行比较。仅当两个 HMAC 匹配时,新页面数据才会从输入缓冲区传输到 EEPROM 中的目标。即使 HMAC 比较结果正确,也无法修改写保护和未经过身份验证的写保护的内存页。
密钥生成和保护
MAX66250安全认证器的架构允许将主密钥直接写入外设,这通常是在受控和可信环境(例如,安全工厂)中一次性完成的事件。从主密钥中,外设可以计算出一个唯一的辅助密钥,如图 10 所示,这是在最终应用程序的不受信任环境中完成的事件。此辅助密钥将用于生成用于读取页面内存的身份验证 HMAC 或用于写入访问验证的内部 HMAC。主密钥和辅助密钥在设备中始终是安全的,并且始终受读取保护。如果需要,主密钥可以进行写保护,从而防止更改密钥。机密安装和保护设置应始终在安全设施中完成。
图 10.用于新秘密计算的最终应用程序数据流。
所用机密的质量可以通过以下方式有效:
使用的主要机密应该是为安全工厂中的所有外围设备安装的相同随机值。
在最终应用中使用时,主机和外设之间的共享密钥通过在计算中包含IC的器件ROM ID号,将成为唯一的辅助密钥。
在现场,外设在质询和响应身份验证期间生成 HMAC。主机计算外围设备的辅助密钥,并计算其身份验证 HMAC 以进行比较。由于使用了辅助密钥,因此创建的身份验证 HMAC 仅专用于该外围设备,并提供额外的保护强度。
某些主机没有特定的硬件来保护主密钥。出于这个原因,值得一提的是,可以添加硬件来减轻这种负担。ADI公司的MAX66301 IC将读卡器和安全存储器集成在一个器件中。使用此 IC,主机可以提高其安全性,因为主密钥处于多层高级物理安全性之下,以提供安全存储。
结论
随着NFC应用在全球的普及,ADI公司的MAX66301和MAX66250 IC提供非接触式解决方案,满足主机和外设对正品验证的要求,并提供高级功能,为寿命有限的外设提供安全管理功能。这些 IC 兼具先进的秘密存储和 SHA3 的强大 HMAC 身份验证,因此防伪的好处不容忽视。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !