深入解析Microchip ATSHA204A:高安全性硬件认证的理想之选

电子说

1.4w人已加入

描述

深入解析Microchip ATSHA204A:高安全性硬件认证的理想之选

在当今数字化时代,数据安全和硬件认证的重要性愈发凸显。Microchip的ATSHA204A作为一款高安全性硬件认证设备,为我们提供了强大的安全保障。本文将对其进行全面解析,希望能为电子工程师们在设计中提供有价值的参考。

文件下载:ATSHA204A-SSHCZ-T.pdf

一、产品特性与应用场景

1.1 特性概览

ATSHA204A具备诸多出色特性,如基于硬件的密钥安全存储、支持主机和客户端的安全对称认证操作、采用先进的SHA - 256哈希算法等。它拥有256位的密钥长度,可存储多达16个密钥,还配备了保证唯一的72位序列号和高质量的内部随机数生成器(RNG)。此外,它拥有4.5kb的EEPROM用于存储密钥和数据,以及512位的一次性可编程(OTP)位用于固定信息存储。该设备提供多种I/O选项,包括兼容UART的高速单总线接口和1MHz的I2C接口,工作电压范围为2.0V至5.5V,通信电压范围为1.8V至5.5V,睡眠电流小于150nA,还具备安全下载和启动功能。

1.2 应用领域

  • 防伪验证:可用于验证打印机墨盒、电子子卡、医疗耗材或备件等可移动、可更换或消耗品客户端的真实性,也能验证软件/固件模块或内存存储元件。
  • 固件或媒体保护:在启动时验证闪存中存储的代码,防止未经授权的修改(即安全启动),还能对下载的媒体文件进行加密,并对代码映像进行唯一加密,使其仅能在单个系统上使用。
  • 会话密钥交换:能安全、便捷地交换流加密密钥,供系统微处理器中的加密/解密引擎使用,以管理机密通信通道、加密下载等。
  • 数据安全存储:可为标准微处理器中的加密加速器存储秘密密钥,也可用于存储配置、校准、电子钱包值、消费数据等少量必要数据,并提供可编程保护,包括加密/认证的读写操作。
  • 用户密码验证:在不泄露预期密码值的情况下验证用户输入的密码,将简单密码映射为复杂密码,并与远程系统安全交换密码值。

二、设备组织架构

2.1 EEPROM组织

EEPROM总容量为664字节(5312位),分为数据、配置和一次性可编程(OTP)三个区域。

  • 数据区:包含512字节(4.0kb),分为16个通用的只读或读写内存插槽,每个插槽32字节(256位),可用于存储密钥、校准数据、型号等信息。每个数据插槽的访问策略由相应的配置值决定,但只有在设置LockValue字节后策略才生效。
  • 配置区:由88字节(704位)组成,包含序列号和其他ID信息,以及数据区各插槽的访问权限信息。该区域的值决定了每个数据插槽的访问策略,在未锁定(LockConfig不等于0x55)之前可以修改。
  • OTP区:有64字节(512位)的OTP位,在锁定OTP区之前,可以使用标准写命令自由写入。可用于存储只读数据或单向熔断式消费记录信息。

2.2 静态随机存取存储器(SRAM)

SRAM用于存储输入命令、输出结果、中间计算值和临时密钥(TempKey)。TempKey寄存器包含多个位字段,用于存储临时密钥的相关信息,如来源标志、生成数据标志等。在某些情况下,TempKey的有效位会被清零,如上电、睡眠、电压不足、看门狗超时或检测到篡改等。

2.3 设备锁定机制

设备有两个独立的锁定字节,分别用于锁定配置区(由LockConfig控制)和数据/OTP区(由LockValue控制)。锁定后无法解锁,但数据/OTP区的插槽仍可根据配置的访问策略进行修改。在系统制造商处,应使用所需的配置信息对设备进行个性化设置,并锁定配置区,完成数据和OTP区的写入后,再写入LockValue字节以保护存储的数据。

三、安全特性

3.1 物理安全

ATSHA204A采用了多种物理安全措施,如在芯片上设置主动屏蔽层、内部内存加密、安全测试模式、毛刺保护、电压和温度篡改检测等。预编程的传输密钥经过加密处理,使得通过外部分析获取其值变得极为困难。同时,逻辑时钟和逻辑电源电压均在内部生成,防止通过引脚对这两个信号进行直接攻击。

3.2 随机数生成器(RNG)

该设备配备了高质量的RNG,可向系统返回32字节的随机数。生成的随机数与输入的数字相结合形成随机数(nonce),存储在TempKey中,供后续命令使用。在配置区锁定之前,RNG会返回固定的32字节值,方便系统测试。为防止对传输的加密数据进行重放攻击,设备要求在加密序列中包含新生成的内部随机数。

四、I/O接口

4.1 单总线接口

单总线接口通过SDA引脚进行通信,SCL引脚被忽略。通信结构采用分层方式,使用特定的令牌进行数据传输,如唤醒令牌、逻辑0和逻辑1令牌等。系统作为总线主设备,在进行I/O事务之前,需发送8位标志来指示后续的I/O操作。该接口还具备超时机制和同步程序,以确保通信的稳定性。多个CryptoAuthentication设备可以共享同一接口,通过唤醒令牌和暂停命令实现设备的选择和控制。

4.2 I2C接口

I2C接口使用SDA和SCL引脚,与其他I2C设备兼容,最高支持1MHz的位速率。设备在睡眠和唤醒状态下对不同的I/O条件有不同的响应,如唤醒条件要求SDA引脚保持低电平一段时间。多个ATSHA204A设备可以共享同一I2C接口,通过编程不同的I2C地址实现。数据传输遵循特定的顺序,包括起始条件、设备地址字节、字地址字节、可选数据字节和停止条件。

五、电气特性

5.1 绝对最大额定值

该设备的工作温度范围为 - 40°C至 + 85°C,存储温度范围为 - 65°C至 + 150°C,最大工作电压为6.0V,直流输出电流为5.0mA,引脚电压范围为0.5V至(VCC + 0.5V),人体模型(HBM)静电放电(ESD)大于4kV,充电设备模型(CDM)ESD大于1kV。

5.2 可靠性

采用Microchip的CMOS EEPROM制造技术,具有高可靠性。EEPROM的写入耐久性为每个字节在25°C下100,000次写入循环,数据保留时间在55°C下为10年,在35°C下为30至50年,读取耐久性为无限次读取循环。

5.3 AC和DC参数

文档详细列出了所有I/O接口的AC和DC参数,包括唤醒低持续时间、电源启动延迟、唤醒高延迟到数据通信时间、高/低侧毛刺滤波器等AC参数,以及环境工作温度、电源电压、有源电源电流、空闲电源电流、睡眠电流等DC参数。

六、安全命令

6.1 命令结构

命令以块的形式构建,包括计数、数据和校验和等部分。设备通过状态/错误代码返回命令执行结果,如成功执行、Checkmac不匹配、解析错误、执行错误等。在设备接收到输入命令块的第一个字节后,系统必须发送完所有字节才能读取设备的输出。

6.2 具体命令

文档详细介绍了多种安全命令,如CheckMac、DeriveKey、DevRev、GenDig、HMAC、Lock、MAC、Nonce、Pause、Random、Read、SHA、UpdateExtra和Write等。每个命令都有特定的输入参数和输出结果,用于实现不同的安全功能,如验证MAC响应、生成新密钥、读取设备信息、计算哈希摘要等。

七、兼容性与机械特性

7.1 兼容性

ATSHA204A与ATSHA204在所有主机、客户端和个性化操作方面完全兼容,并进行了一些重要改进,如降低了有源功耗、支持两线连接模式、新增SHA命令、加强了写入操作的安全性等。

7.2 机械特性

该设备提供多种封装选项,包括8引脚UDFN、3引脚SOT23、8引脚SOIC、8引脚TSSOP和3引脚CONTACT等。文档详细列出了各封装的引脚配置和尺寸信息,为工程师在设计电路板时提供了准确的参考。

八、总结与思考

Microchip的ATSHA204A是一款功能强大、安全可靠的硬件认证设备,其丰富的特性和广泛的应用领域使其成为电子工程师在设计安全系统时的理想选择。在实际应用中,我们需要根据具体需求合理配置设备的各项参数,确保数据的安全性和系统的稳定性。同时,我们也应该关注设备的兼容性和机械特性,以便更好地进行电路板设计和系统集成。大家在使用过程中是否遇到过一些特殊的问题或挑战呢?欢迎在评论区分享你的经验和想法。

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

全部0条评论

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

×
20
完善资料,
赚取积分