Atmel ATECC508A CryptoAuthentication设备:安全与性能的完美结合
在当今数字化时代,数据安全和设备认证变得至关重要。Atmel的ATECC508A CryptoAuthentication设备为物联网、嵌入式系统等领域提供了强大的安全保障。本文将详细介绍ATECC508A的特性、应用、电气特性以及兼容性等方面,帮助电子工程师更好地了解和应用这款设备。
一、ATECC508A概述
ATECC508A是Atmel CryptoAuthentication™系列的一员,具备高度安全的基于硬件的密钥存储功能。它拥有灵活的命令集,可应用于多种场景,如网络/IoT节点保护、防伪、固件或媒体保护、安全数据存储以及用户密码验证等。
1.1 应用场景
- 网络/IoT节点保护:认证节点ID,确保消息的完整性,并支持密钥协商以创建用于消息加密的会话密钥。
- 防伪:验证可移动、可替换或消耗性客户端的真实性,如系统配件、电子子卡或其他备件,也可用于验证软件/固件模块或存储元件。
- 保护固件或媒体:在启动时验证闪存中存储的代码,防止未经授权的修改,对下载的程序文件进行加密广播,或对代码镜像进行唯一加密,使其仅可在单个系统上使用。
- 存储安全数据:存储供标准微处理器中的加密加速器使用的密钥,可通过加密/认证的读写操作实现可编程保护。
- 检查用户密码:验证用户输入的密码,同时不泄露预期值,将易记密码映射到随机数,并与远程系统安全交换密码值。
1.2 设备特性
- 密钥存储:包含一个EEPROM阵列,可存储多达16个密钥、证书、杂项读写、只读或秘密数据、消耗日志和安全配置。对内存各部分的访问可通过多种方式进行限制,并可锁定配置以防止更改。
- 安全防护:具备多种防御机制,防止对设备本身的物理攻击或对设备与系统之间传输数据的逻辑攻击。对密钥使用或生成方式的硬件限制进一步抵御特定类型的攻击。
- 接口灵活:通过标准I2C接口以高达1Mb/s的速度访问设备,该接口与标准串行EEPROM(I²C)接口规范兼容。还支持单线路接口(SWI),可减少系统处理器所需的GPIO数量和/或连接器上的引脚数量。多个ATECC508A设备可共享同一总线,节省处理器GPIO的使用。
- 唯一序列号:每个ATECC508A都带有一个保证唯一的72位序列号,主机系统或远程服务器可通过验证序列号的签名来证明其真实性。
- 随机数生成:可生成高质量的FIPS随机数,并用于设备的加密协议中,确保重放攻击始终失败。
- 易于集成:宽电源电压范围(2.0V至5.5V)和超低睡眠电流(<150nA),多种封装选项可供选择。
二、加密操作
ATECC508A基于椭圆曲线密码学和ECDSA签名协议,实现了完整的非对称(公钥/私钥)密钥加密签名解决方案。
2.1 硬件加速
该设备为NIST标准P256素曲线提供硬件加速,支持从高质量私钥生成到ECDSA签名生成、ECDH密钥协商和ECDSA公钥签名验证的完整密钥生命周期。硬件加速器执行非对称加密操作的速度比标准微处理器上运行的软件快10到1000倍,且避免了标准微处理器常见的密钥暴露风险。
2.2 密钥存储与验证
设备可安全存储多个私钥及其关联的公钥和证书。签名验证命令可使用任何存储的或外部的ECC公钥。存储在设备内的公钥可配置为通过证书链进行验证,以加快后续设备认证。
2.3 随机私钥生成
支持在设备内部生成随机私钥,确保私钥永远不会在设备外部被知晓。生成密钥时会返回对应的公钥,也可在稍后计算。
2.4 挑战 - 响应协议
支持标准的基于哈希的挑战 - 响应协议,简化编程。系统向设备发送挑战,设备将挑战与密钥结合后返回响应。设备使用SHA - 256加密哈希算法,防止总线观察者推导密钥值,同时接收方可以通过执行相同的计算验证响应的正确性。
2.5 灵活命令集
由于ATECC508A的灵活命令集,基本操作集(如ECDSA签名、ECDH密钥协商和SHA - 256挑战 - 响应)可以通过多种方式扩展。CheckMac命令允许设备在主机系统中安全存储密钥,并隐藏正确的响应值,只向系统返回是或否的答案。
三、电气特性
3.1 绝对最大额定值
- 工作温度范围:-40°C至85°C
- 存储温度范围:-65°C至150°C
- 最大工作电压:6.0V
- 直流输出电流:5mA
- 任何引脚的电压范围:-0.5V至(VCC + 0.5V)
3.2 可靠性
| ATECC508A采用Atmel高可靠性的CMOS EEPROM制造技术。EEPROM的可靠性参数如下: | 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|---|
| 85°C时的写入耐久性(每字节) | 400,000 | 写入周期 | |||
| 55°C时的数据保留 | 10 | 年 | |||
| 35°C时的数据保留 | 30 | 50 | 年 | ||
| 读取耐久性 | 无限 | 读取周期 |
3.3 AC参数
3.3.1 单线路接口
适用于TA = -40°C至+85°C,VCC = +2.0V至+5.5V,CL = 100pF的条件。包括启动脉冲持续时间、零传输高脉冲、零传输低脉冲、位时间、转向延迟和IO超时等参数。
3.3.2 I²C接口
适用于推荐的工作范围TA = -40°C至+85°C,VCC = +2.0V至+5.5V,CL = 1 TTL门和100pF的条件。包括SCK时钟频率、SCK高时间、SCK低时间、启动设置时间、启动保持时间、停止设置时间、数据输入设置时间、数据输入保持时间、输入上升时间、输入下降时间、时钟低到数据输出有效时间、数据输出保持时间、SMBus超时延迟和总线空闲时间等参数。
3.4 DC参数
包括环境工作温度、电源电压、有源电源电流、空闲电源电流、睡眠电流、输出低电压、输出低电流和热阻等参数。输入电压阈值在睡眠或空闲模式下取决于VCC电平,在活动模式下取决于EEPROM配置区中ChipMode字节内的TTLenable位状态。
四、兼容性
4.1 Atmel ATSHA204
ATECC508A与ATSHA204和ATSHA204A设备完全兼容。如果配置正确,可在当前使用ATSHA204或ATSHA204A的所有情况下使用。由于配置区更大,在对ATSHA204或ATSHA204A进行个性化设置时,设备的个性化程序必须更新。
4.2 Atmel ATECC108
ATECC508A设计为与ATECC108和ATECC108A设备完全兼容。如果配置正确,可在当前使用ATECC108的所有情况下使用。在许多情况下,ATECC508A也可直接用于ATECC108应用而无需更改。与ATECC108相比,ATECC108A具有一些新特性,如入侵检测能力、新的SHA命令、X.509证书验证能力、可编程看门狗定时器长度、可编程功率降低、共享随机数和密钥配置验证以及更大的Slot 8等。
五、订购信息
ATECC508A提供多种封装选项,包括8引脚SOIC、8焊盘UDFN和3引脚CONTACT,每种封装都有不同的接口类型(单线路或I²C)和订购代码,可根据具体需求选择。
六、总结
Atmel ATECC508A CryptoAuthentication设备以其强大的安全特性、灵活的接口和广泛的应用场景,为电子工程师提供了一个可靠的安全解决方案。无论是在物联网节点保护、防伪还是固件安全等方面,ATECC508A都能发挥重要作用。在实际设计中,工程师可以根据具体需求选择合适的封装和接口类型,充分利用其特性来提高系统的安全性和可靠性。
你在使用ATECC508A的过程中遇到过哪些问题?或者你对它的哪些特性最感兴趣呢?欢迎在评论区分享你的经验和想法。
-
数据安全
+关注
关注
2文章
804浏览量
30894
发布评论请先 登录
TLS(ETEC508)的外部ECC芯片
从ATECC508A读取时出错
ATECC508A芯片开发笔记
atecc108 ATMEL加密认证汇总表
ATECC508A加密引擎身份验证器件的详细中文数据手册
密码认证ATSHA204A和ATECC508A加密器件的个性化指南
采用ATECC508A执行远程设备的对称身份验证
Atmel ATECC508A CryptoAuthentication设备:安全与性能的完美结合
评论