Atmel ATSHA204应用总结

1 ACES软件安装
Atmel Crypto Evaluation Studio (ACES)
https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/Atmel%20Crypto%20%20Studio%20(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,均方根误差

相关推荐

  1. 2024/4/24总结

    2024-02-14 20:10:01       12 阅读
  2. PWA应用总结

    2024-02-14 20:10:01       44 阅读
  3. 2024.6.12总结

    2024-02-14 20:10:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-14 20:10:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-14 20:10:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-14 20:10:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-14 20:10:01       18 阅读

热门阅读

  1. LeetCode面试题54. 二叉搜索树的第k大节点

    2024-02-14 20:10:01       35 阅读
  2. mysql全国省市县三级联动创表sql(一)

    2024-02-14 20:10:01       39 阅读
  3. 机器视觉技术:提升安全与效率的关键

    2024-02-14 20:10:01       40 阅读
  4. Python爬虫:安全与会话管理

    2024-02-14 20:10:01       42 阅读
  5. Oracle数据库

    2024-02-14 20:10:01       30 阅读