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

ATECC508A芯片开发笔记(一):初识加密芯片近年来,随着黑客网络攻击事件频繁发生,网络安全问题亟待解决,同时security方面的软件解决方案也正快速更迭,相关软件开发人员也变得更紧缺。使用传统纯软件的方法实现网络安全加解密、身份认证等算法存在较多缺陷,如执行各类算法的时间、资源消耗较大,并且无法实现密钥等secret的安全存储,这时各类芯片厂商推出了硬件加密芯片来解决上述问题,在增加系统安全性的同时,也极大提高了软件效率。因此针…

大家好,又见面了,我是你们的朋友全栈君。

更多技术干货,欢迎扫码关注博主微信公众号:HowieXue,一起学习探讨软硬件技术知识经验,关注就有海量学习资料免费领哦:
ATECC508A芯片开发笔记(一):初识加密芯片

———-

目录

一、ATECC508A概述:

二、ATECC508A使用:

 三 、ATECC508A 内部Architecture:

博主热门文章推荐:


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

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

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

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

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

目前加密芯片有多种,无非就是通过硬件更加高效的实现一些加解密算法和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用途广泛,以在无线通讯安全领域应用为例:

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

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

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

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


 三 、ATECC508A 内部Architecture:

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

  

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

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

实现各类安全相关功能。

  • 508A Use case: (部分

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

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

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

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

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

参考:

(文档类可在官网找到)

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系列:

网络安全系列:

嵌入式开发系列:


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152847.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 观察float BIT

    观察float BIT

  • S3C2440 之SPI

    S3C2440 之SPI概述:S3C2440有两个串行外设SPI接口,SPI具有全双工通信SPI方框图 SPI操作:通过使用SPI接口,S3C2440可以与外部器件同时发送、接收8位数据。当SPI接口为主机时,可以通过设置SPPREn寄存器来设置发送频率,当SPI为从机时,由其它主机提供时钟频率。当程序员写字节数据到SPTDATn寄存器,将同时开始发送和接受,在一些情况下,应该在写字节数据到SPT

  • 波束形成的一点思考[通俗易懂]

    波束形成的一点思考[通俗易懂]1)波束形成,就是空域滤波。N个阵元,在某一时刻使用FPGA同时采样,得到同一时刻的各个通道的一个采样,就如同拍照一样,同一时刻的各个通道数据得到。  波束形成,则是空域滤波,与时域滤波相比较,是时间域序列,进行滤波,滤波系数h(n),采样序列不断输入与滤波系数卷积计算,得到响应输出;  而波束形成,则是针对某一时刻,不同阵元,通过一个空域滤波系数,得到多少个波束输出;空域滤波系数,一

  • CDMA是什么网络类型_TD_LTE移动电话机

    CDMA是什么网络类型_TD_LTE移动电话机GSM全球移动通信系统(GlobalSystemforMobileCommunications),缩写为GSM,由欧洲电信标准组织ETSI制订的一个数字移动通信标准。它的空中接口采用时分多址技术。自90年代中期投入商用以来,被全球超过100个国家采用。GSM标准的无处不在使得在移动电话运营商之间签署”漫游协定”后用户的国际漫游变得很平常。GSM较之它以前的标准最大的不同是它的信令和语音信道都是数字式的,因此GSM被看作是第二代(2G)移动电话系统。GSM系统主要由移动台…

  • maven本地有包却加载失败_maven configuration problem

    maven本地有包却加载失败_maven configuration problem[INFO]BUILDFAILURE[ERROR]Failedtoexecute[ERROR]Formoreinformationabouttheerrorsandpossiblesolutions,pleasereadthefollowingarticles:1、问题情形项目代码是从SVN上刚下载的。同事在启动项目时,程序卡在下图这个地方不…

  • 使用vue框架运行npm run dev 时报错解决

    使用vue框架运行npm run dev 时报错解决

    2021年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号