0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用ATSHA204A和PIC16单片机对消耗品进行身份验证

jf_pJlTbmA9 来源:Microchip 工程师社区 作者:Microchip 工程师社区 2023-09-18 10:56 次阅读

作者: Bill Hawkins、 Zhang Feng、 Xavier Bignalet(Microchip Technology Inc.)

简介

在许多熟悉的系统中,通常需要对消耗品组件进行身份验证。例如,打印机墨盒、车辆中的电池、化妆品盒和送药设备中的药物等。本文档探讨了在现有设计中包含Microchip的CryptoAuthentication™系列ATSHA204A安全元件以实现对消耗品进行安全身份验证的优势。请参见图1。

wKgaomUDxu2AI6uBAAQrDedUSwA790.png

图1:安全身份验证的雾化器框图

在本示例中,我们将从Microchip的AN2265“Vibrating Mesh Nebulizer Reference Design”(DS00002265) 开始,其中介绍了振动式网孔雾化器及其如何使用Microchip独立于内核的外设实现。本文档介绍了如何更新雾化器参考设计以包含可拆卸振动网和药盒的安全身份验证来增强设计。

雾化器参考设计具有用于固定振动网(将随时间逐渐磨损)和供应药物(一种耗材供应)的可拆卸药盒。这种储存药物的可拆卸药盒会极大地影响设备的性能。

出于以下几个原因,制造商可能希望保护这些药盒应用不受第三方供应商的影响:

客户对设备的质量和功能的印象在很大程度上受药盒内物质的影响。当更换的第三方药盒不满足制造商的标准,并且提供的性能低于客户的预期时,制造商而不是第三方药盒厂商会接收到投诉。

尤其是在医疗行业中,允许不受控地访问设备可能会导致制造商因用药剂量错误、药物受到污染甚至是消耗品药盒中的药物出错而承担责任。

另一个原因是为了保护收入来源。典型的业务模式包括消耗品销售将提供支撑公司主要收入来源的预期。如果第三方可以在同一个市场上销售,那么制造商的收入会降低,而这部分收入本应补偿基本单元和研发(Research and development,R D)的成本。

本文档介绍了对雾化器进行的安全增强,包括对可拆卸 药盒进行身份验证和跟踪其使用情况,并且可能限制药 盒的使用以避免出现硬件磨损、未授权重填和重用旧药 盒等问题。

引入ATSHA204A

雾化器的药盒中使用ATSHA204A芯片向基本单元对药盒进行身份验证。ATSHA204A具有用于使能身份验证的多种功能,例如SHA-256哈希算法、安全EEPROM、惟一序列号、高质量随机数发生器和I 2C接口或单线接口。

SHA-256加密引擎

ATSHA204A在硬件中集成了SHA-256哈希算法。该哈希函数使用输入流(质询)并产生256位(32字节)输出(响应)。哈希函数的两个主要特性如下:

• 无法从哈希输出重新生成输入流。

• 无法改变输入流并获得相同的哈希输出。

ATSHA204A将使用主机单片机提供的质询字符串生成哈希密钥。单片机还可以使用该质询字符串和密钥来执行哈希函数。如果哈希输出与主机单片机预期的输出一致,则证明ATSHA204A器件知道相同的密钥。

安全EEPROM/密钥存储

ATSHA204A具有512字节的EEPROM,按十六个32字节槽排列。其中任何一个槽都可以配置为要在哈希函数中使用的密钥值。当配置ATSHA204A时,槽中的值可以受到写保护、读保护、用其他槽作为密钥进行加密或者保留为可读/可写的EEPROM存储单元。提供物理防篡改和边信道保护,以防止有人解密和探测器件芯片来读取存储器。

惟一序列号

保证每个ATSHA204A都有惟一的72位(9字节)序列号,从而允许制造商通过连接的ATSHA204A惟一识别任何器件。

高质量随机数发生器

ATSHA204A具有基于噪声源的高质量随机数发生器。这可以用来生成将只使用一次的惟一质询,并防止攻击设备记录质询和响应以在主机上回放来冒充有效器件。

I2C/单线接口

ATSHA204A提供I2C接口或单线接口,允许药盒在接口中具有最少的触点。经过身份验证的雾化器使用单线接口,这种接口采用具有三个大型焊盘的芯片封装。ATSHA204A芯片采用可粘到药盒上的设计,主机只提供滑动触点来连接到药盒(就像电池连接器一样),这样药盒就无需电路板或配对连接器。

如何使用ATSHA204A进行身份验证?

安全雾化器演示是单芯片系统设计。PIC16F1718运行整个操作,包括使用ATSHA204A进行身份验证所需的质询/响应。请参见图2

wKgZomUDxu6APLgEAAFbnQ2JUlc146.png

图2:ATSHA204A身份验证框图

PIC16具有16个存储在存储器中的质询/响应对。每次使用器件时,都会对药盒进行身份验证。当用户按下按钮来启动雾化器时,PIC16主机会向药盒上的ATSHA204A发送32字节质询。然后,ATSHA204A使用密钥对质询进行哈希运算,并将值返回到PIC16。返回的值与预期的响应进行比较,如果匹配,则允许雾化器运行。如果不匹配,雾化器的红色LED指示灯会点亮几秒钟,然后再熄灭。雾化器通过使用自由运行定时器中的低4位从16个质询中进行选择,但具体数量无法预测。

由于PIC16存储有限数量的质询/响应对,这就意味着克隆器件只需处理几个用例即可破坏该系统的安全性。为了防止出现这种情况,可以为每个PIC16主机编程惟一的质询/响应对,这样一来,通过这种方式创建的克隆器件便无法在任何其他器件上工作。

身份验证方法可保护配件/一次性用品,但无法防止克隆主机(在新系统中复制质询/响应对)。要实现更高级别的安全性,需要在主机MCU旁边添加独立安全元件(ATSHA204A)。请参见图3。该主机ATSHA204A会为药盒ATSHA204A产生随机质询,并提供响应以与来自药盒ATSHA204A的响应进行比较。此外,密钥派生实现将进一步提高解决方案的稳健性。

wKgaomUDxvCAXPM-AACG0t-m6kc881.png

图3:对称身份验证

作为ATSHA204A的替代产品,ATSHA206A是外形受限应用的理想解决方案,在此类应用中,由于药盒尺寸受限而无法容纳任何PCB,因此只能采用2引脚封装。2引脚ATSHA206A或3引脚ATSHA204A可以塑封到一次性药盒中。ATSHA206A的内部添加了集成电容,可在电源引脚上提供寄生电源能力。本质上,数据和电源共用同一个引脚。

限制药盒的使用

经过身份验证的雾化器保存每个药盒的使用计数。此数据可用于限制药盒的使用。有多种机制可实现此功能。ATSHA204A器件包含EEPROM和SRAM两个存储器块。EEPROM分为三个区域:数据区域、配置区域和 一次性编程(One-Time-Programmable,OTP)区域。

数据区域分为16个通用存储器槽。EEPROM数据区域中的任何槽都可用于存储密钥。

配置区域中有128位分配为LastKeyUse,可用于限制存储在Slot 15中的密钥编号15的使用。每次使用Slot15作为密钥时,这128位都会清零。没有复位机制。在 使用128次之后,将永久禁止Slot/Key 15。因此,每个药盒的使用计数可以限制为128次或更少。

此外,还有512位的OTP存储器可用于存储只读数据或单向熔丝型消耗记录信息。在消耗模式下配置时,这些位可以写入0,但不能写回1。因此,在OTP存储器为全零之前,可以将0移入OTP存储器512次。在OTP存 储器为全零之后,可以禁止使用药盒。

如果药盒的使用次数小于这些值(Slot 15为128次, OTP为512次),则可以将其中一些位预编程为零,以便根据需要提供所需的次数。

关于安全增强功能的深入探讨

存储在主机MCU、ATSHA204A或公司计算机系统中的机密信息密钥必须受到绝对保护。如果密钥泄露,则安全功能将不再起作用,产品也很容易遭到克隆。

Microchip的一些32位单片机具有稳健的安全性,能够提供可信执行环境(Trusted Execution Environment,TEE)、加密加速器、安全引导和安全自举程序等。例如,图4显示了一个SAM L11作为配件身份验证应用中 (其中SAM L11增加了稳健性)的主机MCU正在托管TEE,即从MCU到安全元件的CryptoAuthlib API调用。TEE将Cryptoauthlib API回调会离开的关键代码与系统的其余部分隔离,并避免固件更改。

wKgaomUDxvGABcLGAAD-l07-YK8825.png

图4:一次性药盒身份验证

存储在ATSHA204A中的一次性药盒的密钥不会遭到窥探。ATSHA204A只是Microchip提供的其中一种安全芯片。Microchip还提供其他使用公钥加密(用于网络身份验证)的芯片来防止单一密钥泄露。每个芯片都有自己的密钥,其真实性由证书确定,该证书提供了器件到根证书颁发机构的可追溯性。这些芯片的说明超出了本文档的范围,可通过Microchip网站上的安全设计中心查看更多信息,网址如下:https://www.microchip.com/design-centers/security-ics

来源:Microchip 工程师社区

审核编辑:汤梓红

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

    关注

    6035

    文章

    44554

    浏览量

    634635
  • microchip
    +关注

    关注

    52

    文章

    1504

    浏览量

    117567
  • EEPROM
    +关注

    关注

    9

    文章

    1019

    浏览量

    81560
  • 雾化器
    +关注

    关注

    1

    文章

    60

    浏览量

    16794
收藏 人收藏

    评论

    相关推荐

    PIC16系列单片机的ID码解读

    见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一些整理,分享给大家。可能有些地方说的不够妥当,欢迎大家多多探讨
    的头像 发表于 12-24 09:52 1.1w次阅读

    贴片的主要消耗品

    相对便宜一些。另一个购买备件的目的是为了保证设备始终处于贴片的最佳状态,要定期对设备的消耗部件进行更换。  贴片的主要消耗品有:吸嘴、切刀、叶片、过滤器、典型传感器、单元头、调整夹具
    发表于 09-04 15:42

    请问有pic16单片机的示例代码吗?

    谁有pic16单片机的示例代码?可以发一份吗?越详细越好。谢谢!
    发表于 03-28 06:35

    PIC16系列单片机C程序设计与Proteus仿真

    PIC16系列单片机C程序设计与Proteus仿真
    发表于 03-04 08:26

    PIC16单片机工业开发系统介绍

    使用PIC16单片机的X-10家庭自动化
    发表于 05-22 15:11

    PN5180无法使用mifare classic进行身份验证怎么解决?

    试图将它与此处建议的示例进行比较但我找不到问题所在。问题1:是否有任何文档说明如何使用图表或易于理解的示例进行身份验证,类似于其他命令?问题 2:我必须进行
    发表于 03-23 08:46

    如何使用TapLinx针对Ultralight C进行身份验证

    使用 TapLinx 针对 Ultralight C 进行身份验证
    发表于 04-21 06:08

    PIC16系列单片机C程序设计与PROTEUS仿真

    PIC16系列单片机C程序设计与PROTEUS仿真
    发表于 06-08 16:34 238次下载

    pic16单片机学习

    pic16单片机学习
    发表于 01-14 22:32 8次下载

    AN909中文手册之SPI串行EEPROM与PIC16单片机的接口设计

    本文主要介绍了AN909中文手册之SPI串行EEPROM与PIC16单片机的接口设计.
    发表于 06-28 11:25 8次下载
    AN909中文手册之SPI串行EEPROM与<b class='flag-5'>PIC16</b><b class='flag-5'>单片机</b>的接口设计

    PIC16(L)F170X/171X智能模拟闪存单片机产品手册

    本文主要介绍了PIC16(L)F170X/171X智能模拟闪存单片机产品手册。
    发表于 06-21 14:25 7次下载
    <b class='flag-5'>PIC16</b>(L)F170X/171X智能模拟闪存<b class='flag-5'>单片机</b>产品手册

    密码认证ATSHA204A和ATECC508A加密器件的个性化指南

    本应用笔记详细介绍的是密码认证的个性化指南和ATSHA204A,ATECC508A加密器件的资料概述
    发表于 06-12 09:28 43次下载
    密码认证<b class='flag-5'>ATSHA204A</b>和ATECC508<b class='flag-5'>A</b>加密器件的个性化指南

    PIC16(L)F1782/1783单片机手册

    PIC16(L)F1782/1783单片机手册免费下载。
    发表于 05-13 10:14 21次下载

    ATSHA204A的国产替代方案—RJGT102

    武汉瑞纳捷电子早在2015年就推出了美国微芯Microchip(原Atmel)的加密芯片替代方案,其推出的I²C接口的加密芯片RJGT102WDP8完全兼容ATSHA204A-SSHCZ-T,单总线(1-Wire)加密芯片RJGT103T3完全兼容ATSHA204A-ST
    发表于 03-25 15:21 2788次阅读
    <b class='flag-5'>ATSHA204A</b>的国产替代方案—RJGT102

    ATSHA204A国产替代新选择:LCSHA204加密芯片介绍

    ATSHA204A是一款用于固件版权保护,防抄板仿克隆的加密芯片。包含多达16个密钥存储区用于安全存储密钥。
    的头像 发表于 09-15 10:15 1622次阅读
    <b class='flag-5'>ATSHA204A</b>国产替代新选择:LCSHA<b class='flag-5'>204</b>加密芯片介绍