ATECC508A是一款美系安全认证器件,这里推荐一款完美兼容替代ATECC508A/ATECC608A的安全芯片,型号是MODSEMI的MOD8ID,P2P兼容,兼容高安全功能外,芯片集成了FIPS/NIST真随机数生成器(RNG)、5Kb安全NVM、单调计数器,同时将密钥存储与高级硬件加密加速器相结合,支持TLS和secrue boot以及ECCDSA等各类加密算法或功能,同时增加了支持国密SM4等算法,符合工业级标准。
能广泛应用在:
物联网节点/边缘计算节点设备
智能家居
电子配件
移动设备
网络摄像头
智能锁
版权保护,板卡安全
/* [0] init: I2C通信连接、测试(使用MOD8ID前的通信集成,I2C驱动移植请参考ecc_i2c.c) */
status = mse_init(&cfg_mod8_i2c);
if (status != MSE_SUCCESS)
{
printf(" mse_init() failed with ret=0x%08d\n", status);
goto exit;
}
printf(" init OK.\n");
/* [1] Load configuration:加载配置并锁定配置区(仅执行一次,注意:锁定后无法解锁) */
status = app_load_configuration();
if (status != MSE_SUCCESS)
{
printf(" APP - Load configuration failed\n");
goto exit;
}
printf(" Load configuration OK.\n");
/* [2] Write Slot Data:生成密钥、写入密钥及应用配套数据,锁定数据区(锁定后无法解锁),前置条件:[1] */
status = app_write_key();
if (status != MSE_SUCCESS)
{
printf(" APP - Write key failed\n");
goto exit;
}
printf(" Write key OK.\n");
/* [3] Sign_Verify: 签名、验签、加解密等应用,前置条件[2] */
status = app_sign_verify();
if (status != MSE_SUCCESS)
{
printf(" APP - Sign_Verify failed\n");
goto exit;
}
printf(" Sign_Verify OK.\n");
/* [4] HMAC: 前置条件[2] */
status = app_hmac();
if (status != MSE_SUCCESS)
{
printf(" APP - HMAC failed\n");
goto exit;
}
printf(" HMAC OK.\n");