ATECC508A芯片开发笔记(一):初识加密芯片

更多技术干货,欢迎扫码关注博主微信公众号:HowieXue,一起学习探讨软硬件技术知识经验,关注就有海量学习资料免费领哦:

----------

目录

一、ATECC508A概述:

二、ATECC508A使用:

 三 、ATECC508A 内部Architecture:

博主热门文章推荐:


 近年来,随着黑客网络攻击事件频繁发生,网络安全问题亟待解决,同时security方面的软件解决方案也正快速更迭,相关软件开发人员也变得更紧缺。

使用传统纯软件的方法实现网络安全加解密、身份认证等算法存在较多缺陷,如执行各类算法的时间资源消耗较大,并且无法实现密钥等secret的安全存储,这时各类芯片厂商推出了硬件加密芯片来解决上述问题,在增加系统安全性的同时,也极大提高了软件效率。

因此针对加密芯片实现系统的Security解决方案已为各大嵌入式开发人员所推崇。

百度百科给出定义:加密芯片是对内部集成了各类对称与非对称算法,自身具有极高安全等级,可以保证内部存储的密钥和信息数据不会被非法读取与篡改的一类安全芯片的统称。

目前加密芯片有多种,无非就是通过硬件更加高效的实现一些加解密算法和secret存储,以方便实现设备认证和数据加密,目前架构上有很多解决方案,例如MCU内部集成、和单独芯片方案等等。当然使用上还是单芯片solution用途更加广泛。其中Atmel(MicroChip推出的ATECCxx、ATSHAxxATAESxx等等芯片使用较为广泛,个人觉得还是有较高安全性和易用性。详见官网链接:

Smart | Connected | Secure | Microchip Technology

由于网上相关资源较少,只有些官方网站有些介绍文档,中文资料几乎没有,而对于网络安全相关开发都比较复杂,不太好理解,针对初次开发难免会遇到困难。因此本人整理总结Atecc508/108A使用经验和技巧系列,但由于我网络安全是半路出家,其中有误或者能优化的地方欢迎大家批评指正!

这么正经说话突然不适应。。。难道是因为好久没写论文了(好qian啊)。。。切入正题:


一、ATECC508A概述:

Atmel的ATECC508A是首款集成ECDH(椭圆曲线Diffie-Hellman)安全协议的器件,面向诸如家庭自动化、工业联网、配件与耗材验证、医疗、移动等物联网(IoT)市场提供可靠的安全防护。并能提供ECDSA(椭圆曲线数字签名算法)签名与验证的认证功能。(ECDH协议是提供密钥加密/解密协议的一种极为安全的方法

ATECC508A的主要安全特性包括:

  1. 经过优化的密钥存储和认证功能  
  2. 应用所存储的私钥进行ECDH操作
  3. ECDSA(椭圆曲线数字签名算法)签名与验证
  4. 支持X.509认证格式
  5. 256位SHA/HMAC硬件引擎。。。

  • 主要功能无非设备认证、安全通讯、数据加解密、以及key/证书存储管理等。不再多说,有兴趣上面链接官网见。
  • 值得一提的是,虽然叫做加密芯片,但508是不能加解密数据的(不能把明文变密文),不过Atmel新推出的608可以加解密(内部集成了AES引擎

二、ATECC508A使用:

  • 和其他加密芯片一样,508A用途广泛,以在无线通讯安全领域应用为例:

  •     508A还有个特点就是功耗低,并且成本也低(约0.3美刀),非常适用于物联网、车联网等应用环境。
  • 其对外通讯提供了标准I2C接口,也支持Single-wire的高速Single Pin模式,硬件等详细细节见DataSheet,下图为封装:

大家到这里可能会有疑问,如果用I2C通信,那么Hacker不就很容易监听I2C获取并篡改数据吗? 别着急,508A解决这类问题都是小case,

深入研究后就会发现508的强大,就连硬件暴力拆解的防范都做的非常到位,软件相关更似“牢不可摧”,当然也要在正确使用前提下。


 三 、ATECC508A 内部Architecture:

  

  • 由图就可以看出508A实现的主要功能,并且有抢眼的ECC、SHA引擎、“真”随机数发生器、每个片子唯一的串号等。
  • 并且外部是由一种硬件工艺(忘了叫啥了,注意看周边无序的条纹)能保护所有数据存储,就算把芯片拆开,也不能获取里面数据。

据Atmel内部技术支持介绍,508A内部也是有一个Atmel自己的MCU,并且挂载一个Secret EEPROM

实现各类安全相关功能。

  • 508A Use case: (部分

  •    使用508A加密芯片执行各算法可显著减少时间消耗,见下图,包括使用硬件ECC、ECDSA签名及验签,以及AES加解密、产生随机数、计算MD5、SHA等执行时间效率

  • 这节主要让大家对加密芯片有个大体概念,下节开始讲如何正确使用这款网络安全“神器”。

参考:

(文档类可在官网找到)

http://www.atmel.com/zh/cn/devices/ATECC508A.aspx

http://baike.baidu.com/link?url=7Gt0AImUdu_MumQImtNeqtfkufPypqgn5rjTgPlbN0V1FQm2-cdSwlfabYrbXO-eagEGVLkq--rdshls6rcMfwCW_X7fgkJ49FalJd_HAgYgEUkqh9nnQ5pqP229i36M   ATECCx08_Ecosystems-Networks_Protection.doc

http://www.atmel.com/devices/ATECC508A.aspx

Atmel-8923DX-CryptoAuth-ATECC508A-Datasheet_1152016.pdf

Security_IoT_CryptoAuthLib_Overview.pdf


附录:ATECC508A系列总结链接汇总:

ATECC508A芯片开发笔记(一):初识加密芯片   

ATECC508A芯片开发笔记(一):初识加密芯片_HowieXue 薛永浩的博客-CSDN博客
 

ATECC508A芯片开发笔记(二):开发准备之 CryptoAuthLib 库简介与移植

ATECC508A芯片开发笔记(二):开发准备之 CryptoAuthLib 库简介与移植_HowieXue 薛永浩的博客-CSDN博客

ATECC508A芯片开发笔记(三):获取508A串号、随机数源码及I2C抓包分析

ATECC508A芯片开发笔记(三):获取508A串号、随机数源码及I2C抓包分析_HowieXue 薛永浩的博客-CSDN博客

ATECC508A芯片开发笔记(四):自定义配置508功能,规划DataZone数据存储

ATECC508A芯片开发笔记(四):自定义配置508功能,规划DataZone数据存储_HowieXue 薛永浩的博客-CSDN博客

 ATECC508A芯片开发笔记(五):Provision执行过程及代码分析

ATECC508A芯片开发笔记(五):Provision执行过程及代码分析_HowieXue 薛永浩的博客-CSDN博客

ATECC508A芯片开发笔记(六):产生CSR以及申请证书(X.509)流程及其内容分析

ATECC508A芯片开发笔记(六):产生CSR以及申请证书(X.509)流程及其内容分析_HowieXue 薛永浩的博客-CSDN博客

ATECC508A芯片开发笔记(七):实现对数据数字签名(Sign)并验证(Verify)证书签名

ATECC508A芯片开发笔记(七):实现数字签名(Sign)并校验(Verify)证书签名_HowieXue 薛永浩的博客-CSDN博客

ATECC508A芯片开发笔记(八):ECDH算法配置方法、执行过程及实现原理

ATECC508A芯片开发笔记(八):ECDH算法配置方法、执行过程及实现原理_HowieXue 薛永浩的博客-CSDN博客

ATECC508A芯片开发笔记(九):加密读写508芯片数据的流程及相应设置

ATECC508A芯片开发笔记(九):加密读写508芯片数据的流程及相应设置_HowieXue 薛永浩的博客-CSDN博客

ATECC508A芯片开发笔记(十):ConfigZone中 SlotConfig及KeyConfig详细配置 & Tools 使用

ATECC508A芯片开发笔记(十):ConfigZone中 SlotConfig/KeyConfig详细解释 & 配置工具Tools_HowieXue 薛永浩的博客-CSDN博客
 


博主热门文章推荐:

一篇读懂系列:

LoRa系列:

网络安全系列:

嵌入式开发系列:


  • 15
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HowieXue

求打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值