电子说
在当今数字化时代,数据安全和加密技术变得尤为重要。Atmel公司的CryptoCompanion™芯片为我们提供了一个强大的解决方案,它主要作为CryptoRF®和CryptoMemory®芯片的配套芯片,能够实现主机算法的安全执行、主机密钥的安全存储以及主机固件摘要的验证等功能。下面,我们就来详细了解一下这款芯片。
CryptoCompanion芯片在硬件层面具备诸多高安全特性。它采用了CryptoMemory和CryptoRF F2算法以及SHA - 1标准加密算法,支持64位相互认证协议。芯片拥有永久编码的序列号,还有高质量的随机数生成器(RNG),可以为加密操作提供可靠的随机数。在存储方面,芯片的内存上有金属屏蔽层,非易失性内存采用数据加扰技术,能有效防止数据被窃取。同时,芯片还具备延迟惩罚机制,可防止系统性攻击,以及复位锁定功能,防止非法电源循环。另外,芯片还有电压和频率监测功能,确保芯片在稳定的电气环境下工作。
芯片具备丰富的主机端加密功能,包括认证挑战生成、设备挑战响应、消息认证码(MAC)生成、数据加密和解密以及安全认证密钥管理等。这些功能使得芯片能够在主机与外部设备之间建立安全可靠的通信连接。
芯片提供了高达16组64位的多样化主机密钥和八组24位的密码,支持安全和自定义的个性化设置。此外,还有一个高达232字节的可读写用户数据区域,方便用户存储和管理自己的数据。
芯片包含四组单向计数器,每个计数器的最大计数可达640万次。这些计数器可以用于记录某些事件的发生次数,为系统提供更多的信息和控制手段。
芯片采用低电压供电,电压范围为2.7V - 3.6V,具有2线串行接口(TWI,5V兼容),方便与其他设备进行通信。它采用标准的8引脚SOIC塑料封装,符合环保标准(超过RoHS)。
芯片具有出色的可靠性,其耐久性可达100,000个周期,数据保留时间长达10年。同时,芯片的ESD保护能力至少为3000V(HBM),能够有效防止静电对芯片造成损坏。
CryptoRF芯片包含一些秘密信息,主机系统需要知道或推导出这些信息,才能与CryptoRF芯片建立信任链接并进行通信。CryptoCompanion芯片将这些秘密信息以隐蔽的方式存储在非易失性内存中,并包含执行认证、密码和加密/解密功能所需的所有电路。每个CryptoRF芯片都有一个序列号(ID)和认证密钥(G{i})存储在EEPROM中,ID可以自由读取,而(G{i})则无法读取且对于所有标签都是唯一的。CryptoCompanion芯片包含一个EEPROM,其中存储了一组公共密钥(F{n})。CryptoCompanion芯片将(F{n})与ID和(KID)相结合,计算出一个预期与CryptoRF芯片中的(G{i})相匹配的值(G),即(G = SHA - 1(F{n}, ID, KID))。此外,(KID)是由主机系统以自己选择的方式生成的一个数字,它可以进一步增强安全性。
CryptoCompanion芯片包含一个通用的加密质量随机数生成器,用于启动与CryptoRF芯片之间的相互认证过程。如果CryptoRF芯片确认了CryptoCompanion芯片的挑战,并且CryptoCompanion芯片确认了CryptoRF芯片的响应,那么主机系统就可以继续与CryptoRF芯片进行操作。这样,主机系统就可以在不直接知道CryptoRF芯片秘密的情况下使用它。
与将算法和秘密存储在标准闪存系统内存中相比,使用CryptoCompanion芯片具有以下优势:
| CryptoCompanion芯片采用8引脚SOIC封装,引脚定义如下: | Pin Number | Pin Name |
|---|---|---|
| 1 | (V_{CC}) | |
| 5 | Gnd | |
| 7 | SDA | |
| 8 | SCL | |
| 4 | RST | |
| 3 | PDN | |
| 2,6 | NC |
引脚2和6内部未连接,应在PC板上连接到地。
芯片的连接图展示了其与微处理器的连接方式,通过SDA和SCL实现通信。
CryptoCompanion芯片保证在-40°C至85°C的工业温度范围内正常工作,ESD防护等级为3KV(人体模型)。
CryptoCompanion芯片使用两线接口(TWI)与系统进行通信,类似于SMBus。芯片作为从设备,不支持时钟拉伸。该两线协议与Atmel AT24C16B串行EEPROM芯片支持的协议相同,详细的时序和协议信息可参考Atmel网站上的该芯片数据手册。系统处理器需要为CryptoCompanion芯片正确格式化命令,并处理其输出。CryptoCompanion芯片不能直接与CryptoRF芯片通信,两者都是从设备,总线主设备可以使用一条或两条总线与它们进行通信。如果两个芯片在同一条总线上,必须使用不同的TWI地址。
| 初始化完成后,应执行锁定命令,以根据后续章节中列出的限制限制对内存的访问。系统可以使用ReadManufacturingID命令读取制造ID值(MfrID)和锁定字节来确定当前的锁定值。锁定字节的最低两位编码含义如下: | LockBit 1 | Lock Bit 0 (LSB) | Meaning |
|---|---|---|---|
| 1 | 1 | 锁定。ReadMemory和WriteMemory功能启用,但受本节中的限制。WriteMemoryEncrypted和ReadMemoryDigest功能禁用。 | |
| 1 | 0 | 未锁定/机密。ReadMemoryDigest、WriteMemory和WriteMemoryEncrypted功能启用。ReadMemory功能禁用。 | |
| 0 | 0 | 未锁定。ReadMemory和WriteMemory功能启用。WriteMemoryEncrypted和ReadMemoryDigest功能禁用。 |
芯片出厂时,Lock[1:0]的值根据订购的零件编号可能为10或00,处于这两种状态的AT88SC018被认为是“未锁定”的,且不能从一种未锁定状态更改为另一种。执行锁定命令后,锁定字节的值将变为0xFF,后续无法再更改。
在(V{CC}= + 2.7)至3.6V,(T{AC}=-40^{circ}C)至85°C的推荐工作范围内(除非另有说明),芯片的直流特性包括电源电压、供电电流、待机电流、输入电压和电流、输出电压等参数。
在(V{CC}= + 2.7)至3.6V,(T{AC}=-40^{circ}C)至85°C,(CL = 30pF)的推荐工作范围内(除非另有说明),芯片的交流特性包括时钟频率、时钟占空比、上升时间、下降时间、时钟低电平到数据输出有效时间、启动保持时间、启动建立时间、数据输入保持时间、数据输入建立时间、停止建立时间和数据输出保持时间等参数。
芯片提供了不同的订购代码,以满足不同的需求,包括不同的封装形式、电压范围、内存锁定状态和温度范围等。
芯片采用8S1封装,文档中提供了详细的封装尺寸图和相关尺寸参数,同时提醒参考JEDEC Drawing MS - 012, Varation AA获取正确的尺寸、公差和基准等信息。
Atmel的CryptoCompanion™芯片为电子工程师提供了一个安全、可靠且易于使用的加密解决方案。它在硬件层面具备高安全特性,支持多种加密功能和密钥管理,适用于各种对数据安全有较高要求的应用场景。在设计过程中,工程师需要根据芯片的电气特性和引脚定义进行合理的电路设计,确保芯片能够正常工作。同时,芯片的内存锁定功能可以帮助工程师更好地保护数据安全。你在实际应用中是否使用过类似的加密芯片呢?在使用过程中遇到过哪些问题?欢迎在评论区分享你的经验和看法。
全部0条评论
快来发表一下你的评论吧 !