ATSHA204A基本操作
ATSHA204A是由Atmel推出的一款基于SHA-256摘要算法的加密芯片,主要适用于对比认证方案。其内部的Slot区用于存放密钥,OTP区用于存放数据。其认证思路是:MCU和ATSHA204A基于相同的摘要算法、明文、密钥可以计算出相同的摘要结果。密钥的发放和存储是认证的关键,只有合法身份的MCU和ATSHA204A才拥有正确的密钥,其他设备因没有正确密钥,无法计算出正确摘要结果,无法通过认证。 以下介绍实现方法。 1.生产调试阶段 1.1 ATSHA204A完成出厂烧录工作:向OTP区写入存储数据,向Slot区写入密钥KEY1。 1.2 MCU端移植SHA256算法,存储密钥KEY2。KEY1 = KEY2。 2.应用阶段 2.1 主控端向ATSHA204A发送获取Nonce指令,获取随机数RND并且更新芯片内部Tempkey,Tempkey会作为MAC计算的一个参数在第2.3步中用到。 2.2 主控端向ATSHA204A发送计算MAC指令,后者返回MAC计算的结果C1。 2.3 主控端计算MAC值C2:先使用2.1步中产生的随机数RND计算出Tempkey值,再利用Tempkey值、Slot区中的密钥KEY2和其他参数(序列号、OTP区数据等)计算出MAC值C2。 2.4 主控端比较C1和C2值,若相同,则认证通过,继续执行后续程序。若不同,则认证失败。 近期