Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3105627
  • 博文数量: 396
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4209
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-04 13:04
文章分类

全部博文(396)

文章存档

2022年(1)

2021年(2)

2020年(8)

2019年(24)

2018年(135)

2017年(158)

2016年(68)

我的朋友

分类: 嵌入式

2018-12-14 11:54:50

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






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


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


http://www.atmel.com/zh/cn/products/security-ics/cryptoauthentication/


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


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






一、ATECC508A概述:


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


ATECC508A的主要安全特性包括:


经过优化的密钥存储和认证功能  
应用所存储的私钥进行ECDH操作
ECDSA(椭圆曲线数字签名算法)签名与验证
支持X.509认证格式
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
 ATECCx08_Ecosystems-Networks_Protection.doc
http://www.atmel.com/devices/ATECC508A.aspx
Atmel-8923DX-CryptoAuth-ATECC508A-Datasheet_1152016.pdf
(注:这个是详细版的datasheet,官网上只有精简版,许多细节内容没有,如果需要详细版可以给我留言附邮箱)
Security_IoT_CryptoAuthLib_Overview.pdf


原文:https://blog.csdn.net/howiexue/article/details/75193922 


阅读(4946) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~