Atmel ATSHA204应用总结

1 ACES软件安装

Atmel Crypto Evaluation Studio (ACES)

https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/Atmel Crypto Studio (ACES)

2 基本概念

ACES CE:Atmel Crypto Evalution Studio Configuration Environment(基于加密芯片ATSHA204的USB Dongle IDE配置环境)

ATSHA204:官方参考板使用3pin接口,用的是单线SDA通信协议;如果要I2C支持(7位地址是0x64),那么就需要选择8pin芯片

MAC:ATSHA204A Message Authentication Code

nonce随机数生成器:就是challenge

3 数据包格式

Figure 3-1 Command Packets

Figure 3-2 Response Packets

[ACES][Tools] [Command Builder]

Figure 3-3 Command Builder

4 工作原理

1)在ATSHA204A芯片的slot0中写入一个32字节的秘钥,设置为不可读。这个秘钥只有几个人知道,并且不外泄,主控MCU与芯片相连,MCU启动时候,读取ATSHA204A芯片序列号,为后面计算MAC做准备

2)发送一个nonce命令给ATSHA204A,让其更新内部的TempKey中的值

3)MCU内部也根据nonce的模式计算一下Tempkey的值,称之为host_tempkey,如果一切正常,那么Tempkey和host_tempkey中的值是一致的

4)MCU根据host_tempkey、序列号、以及秘钥,计算出一个摘要digest1

5) 给ATSHA204A发送MAC命令,ATSHA204A根据存储在slot区域中的秘钥来计算digest2并返回给MCU

6)MCU判断digest1和digest2是否匹配,不匹配将程序挂起即可

5 python SDK

1)安装Python 3.8

安装时选择安装pip工具

2)安装Visual Studio

VS提供了nmake命令

3)cmake for Windows

CMAKE_C_COMPILER:指定C编译器

CMAKE_CXX_COMPILER:指定C++编译器

在CMakeLists.txt中指定,使用SET设定这2个变量,需要将设置编译器的代码放在project之前

SET(CMAKE_C_COMPILER "/tools/gcc-4.2.0/bin/gcc")

SET(CMAKE_CXX_COMPILER "/home/tools/gcc-4.2.0/bin/g++")

4)安装ATSHA204A库

https://github.com/MicrochipTech/cryptoauthtools

cd PATH_TO\cryptoauthtools\python\examples

python -m pip install -r requirements.txt

或者

python -m pip install cryptoauthlib

python -m pip install cryptography

cryptoauthlib,可能会安装失败,可以根据安装提示从对应的URL上下载,下载下来后,进入对应目录,使用python setup.py install手工安装

6 URLs

Atmel AT88CK454BLACK Quick Start Guide

http://ww1.microchip.com/downloads/en/DeviceDoc/doc8724.pdf

使用Python来操作Microchip安全芯片

https://blog.csdn.net/FlyerInk/article/details/85772140

ATSHA204A加密芯片攻略--使用篇

https://blog.csdn.net/a5882230/article/details/51931099

7 Abbreviations

AVE:Average

BP:Blockproducer,区块生产者

cert.sf:sigfile

EOS:区块链Enterprise Operation System

learning_rate:学习速率,即是"步长"的意思

MSD:Mean Square Differences,均方差

PAM:Pluggable Authentication Modules

PEM:Privacy Enhanced Mail(一种公匙和私匙文件存储格式)

PKCS:The Public-Key Cryptography Standards

pk8:PKCS #8,

RSA:1977年由罗纳德•李维斯特(Ron Rivest)、阿迪•萨莫尔(Adi Shamir)和伦纳德•阿德曼(Leonard Adleman)一起提出的。

y = kx + b(b表示bias)

convergence:收敛

RMSE:root mean square error,均方根误差

相关推荐
Yuulily10 个月前
3ds max 2024 V-Ray 6 ACES workflow 工作流设置
3d·3dsmax·vray·aces