TA的每日心情 | 奋斗 2023-9-15 06:28 |
---|
签到天数: 3747 天 连续签到: 60 天 [LV.Master]伴坛终老
|
收到CryptoAuthenticatio Kits 之后,第一时间安装ACES软件,可惜我的笔记本系统怎么也装不上Microsoft .NET Framework 4!(这个问题发布了求助,不知哪位大侠能够帮忙解决,我按照网上的几点措施仍然不能解决!)
当下有项目有加密的需求,索性干脆把其中一把测试板的ATSH204A引出来,用第三方mcu尝试读取验证。其过程和原理如下。
为何选ATSH204A?
ATSH204A 是 Atmel CryptoAuthentication 产品系列中最具有成本效益的加密解决方案。它将 SHA-256 哈希算法与 4.5Kb EEPROM 整合,通过安全密钥/数据存储提供稳定的硬件身份验证,采用了小巧的封装和单线接口,是手持式电子系统和任何空间有限的内置式系统的理想之选。
爱特梅尔公司(Atmel Corporation)发布具有增强的硬件安全特性和更大灵活性的易于使用的新型加密认证(cryptographic authentication) 器件。具有超低功耗的Atmel ATSH204A是首款带有4.5Kbit EEPROM和硬件SHA-256加速器的经优化的交钥匙认证器件,其经过全面测试的ASF软件库可用于基于Atmel AVR 和 ARM的微控制器 ,并集成在全新集成式开发环境AVR Studio 5 中。
ATSH204A器件是工业、消费电子、电力抄表、家庭自动化、计算和医疗应用的理想选择。全新爱特梅尔 CryptoAuthentication器件具有保护EEPROM内容的增强安全特性,包括有源金属护罩、内存加密、安全测试模式、干扰保护(glitch protection)和电压篡改检测。其设计采用与爱特梅尔Common Criteria Certified TPM相同的方法和组件,并内置高质量随机数据发生器,可用于加密协议以防止重放攻击(replay attack)。ATSHA204还结合了许多其它的内部硬件保护特性,极大地增加了针对OEM电池、游戏控制台、打印机墨盒、经授权附件等装置中安全器件进行硬件攻击而得逞的难度。
爱特梅尔CryptoAuthentication系列 的新成员具有专门设计的经优化的硬件安全特性,以鉴别目标、控制OEM供应链、防止软件或其它知识产权(IP)的盗窃。这款器件能够安全地生成、存储或传送安全密钥,因而可与微控制器系统中的AES加速器理想配合。
由于新器件具有256位密钥,安全度超过市场上的其它任何认证器件,系统设计人员能够有信心保证其设计在系统的整个寿命周期中安全可靠。爱特梅尔公司加密产品业务部总监Kerry Maletsky表示:“爱特梅尔致力于提供易于使用,且集成最新NIST加密算法以实现具最高级别可靠性的加密产品。这些产品填补了大多数微控制器和ASIC解决方案的安全存储缺失的空白,可用于组件确认、固件完整性检查、专有和保密数据的安全存储等。而且,这些器件的使用非常方便,应用开发人员无需具备加密知识,也能够自信地实现认证检查功能。”捍卫你独一无二的设计——Atmel CryptoAuthentication Kits评测 文章中提到:
SHA 模式的 CryptoAuthentication 设备有客户端和主机安全功能,其可以卸载微控制器上的密钥存储和算法执行,显著降低系统成本和复杂度。基于 SHA 的对称身份验证要比非对称方法迅速,对于重视速度(和/或成本)的产品而言,ATSH204A 无疑是不二之选。
CryptoAuthentication 设备的所有内部电路上都有全金属屏蔽,所以如果攻击者在屏蔽内切断电路或者短路,产品将停止运转。其他安全功能包括内部时钟和电压生成、加密内存、篡改检测和全方位安全的生产测试方法。现在借助 ATSH204A 实现主机侧安全,以便提供完整系统解决方案,要比以前简单。
ATSH204A的优势有:
§现有套接字针对高安全应用程序的普适型升级
§单一协议身份验证和加密
§在评估担保请求权中有用的安全追踪事件
ATSH204A的主要特性:
1,SHA-256 Hash算法
2,有保证的唯一的72-bit序列号; DS28CN01 64-bit不仅有软件加密,内部还有高质量硬件加密。
3,16个槽口的4kbits EEPROM: 4Kbits / 8 = 512Bytes 每个槽口32bytes
4,I2C接口, 单线接口
5, 和Atmel AT88SA102S,AT88SA10HS兼容引脚
6, i2c 地址默认为0xc8; 还可以configuration zone改变地址。
ATSH204A 加密认证芯片数据格式
Atmel ATSH204A是带有4.5Kbit EEPROM和硬件SHA-256加速器的安全认证器件,包括有源金属护罩、内存加密、安全测试模式、
干扰保护(glitch protection)和电压篡改检测。其设计采用与爱特梅尔Common Criteria Certified TPM相同的方法和组件,
并内置高质量随机数据发生器,可用于加密协议以防止重放攻击(replay attack)。
引出ATSH204A供项目板使用
测试板已经给保留了板载3个Atmel的硬件加密器件ATAES132A、ATSH204A、ATECC508A的通信IIC口。
ATSH204A的加密认证原理:
我打算在项目中只使用ATSH204A,所以采用4针引脚端子即可,分别引出GND,VCC,SDA,SCL。剩余一个CS是专给ATAES132A用的,暂时用不到。
典型的散列函数都有无限定义域,比如任意长度的字节字符串,和有限的值域,比如固定长度的比特串。在某些情况下,散列函数可以设计成具有相同大小的定义域和值域间的一一对应。一一对应的散列函数也称为排列。可逆性可以通过使用一系列的对于输入值的可逆“混合”运算而得到。ATSH204A的加密是基于散列函数Hash的原理,所有散列函数都有如下一个基本特性:如果两个散列值是不相同的(根据同一函数),那么这两个散列值的原始输入也是不相同的。这个特性是散列函数具有确定性的结果。但另一方面,散列函数的输入和输出不是一一对应的,如果两个散列值相同,两个输入值很可能是相同的,但并不能绝对肯定二者一定相等。输入一些数据计算出散列值,然后部分改变输入值,一个具有强混淆特性的散列函数会产生一个完全不同的散列值。
散列函数Hash是不可逆的函数,知道函数F和c,很难反向运算得s。
例如,F是3的s次方后取前2到6的有效位数,共5位数为c。
随便取一个值,s=286,则3的286次方是2.8620607630655430965855314425431e+136
取前2到6的有效数字得,c=86206
SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布;是美国的政府标准。
后四者有时并称为SHA-2。
ATSH204A就是属于SHA-2。
HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
客户端发送一个消息作为挑战给服务器,服务器使用事先存储好的密钥求MAC,发回客户端,这是响应。客户端根据响应来认证。
如何使用ATSH204A?
芯片使用之前可导入个性化文件,配置slot/otp data的读写权限以及验证方式。配置完成后再lock住 config zone和data zone;
配置slotconfig. EncryptRead, slotconfig.IsSecret都为0,此slot才能被读写。然后OTP/data zone必须locked,才能读写。
OTPmode = 0xAA, OTP zone locked:写被禁止,读任意。
这样对芯片的个性化配置完成了,从此芯片就会按照你的意图运行啦。
(待续,) |
|