立即注册
查看: 901|回复: 1

汇顶科技GR551x蓝牙SoC固件加密及应用介绍

已绑定手机
已实名认证
发表于 2022-2-23 11:48:15 | 显示全部楼层 |阅读模式 来自 广东省深圳市
本文档介绍了GR551x的安全模块所采用的加密和签名技术、数字签名的流程等,旨在帮助开发者了解并应用GR551x芯片的安全模式。

1、简介
GR551x芯片安全加密模块能够将Flash存储器中的用户数据以及用户应用固件进行加密,以防止数据和应用固件被窃取,为用户产品提供安全保护。

1.1 安全基础概念
本章介绍了加密和签名的基础概念,以帮助用户更好地理解GR551x芯片所采用的加解密和数字签名技术。
1.1.1 加密
• 对称密钥加密:又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。
• 非对称密钥加密:又称公钥密钥加密,它使用了一对密钥:公钥(Public Key)和私钥(Private Key)。非对称加密和解密分别使用密钥对中的一个密钥。例如,如果加密时使用公钥(Public Key),那么解密时将使用另一个私钥(Private Key)。
• 消息完整性:是指消息没有被篡改,其检验通常使用单向散列表实现。
• 消息认证码:提供了一种认证机制,其不仅可检验消息是否被篡改,还可确认消息是否来自期望的通信对象。
• 混合密码系统:采用了对称密码与公钥密码相结合的密码方式。利用对称密码提高加解密速度,使用公钥密码解决密钥配送问题。
1.1.2 数字签名
数字签名是一种能够保证消息完整性,提供认证并且防止否认的密码技术。只有信息的发送者才能产生的一段数字串。该段数字串可作为信息的发送者发送信息真实性的有效凭证,他人无法伪造。

2、加解密技术
本章将介绍GR551x芯片中的加解密模块、固件加解密所使用的算法以及数据加密解密流程。
2.1 加解密模块
GR551x安全加密模块主要包含TRNG、PRESENT-128、eFuse、KEYRAM、PKC、HMAC、XIP_DEC等硬件模块。
• TRNG(True Random Number Generator)模块
TRNG模块用于生成加密解密时使用的随机数。为了保证随机数质量并修正TRNG的偏差,TRNG模块中增加了LFSR和Post-Process逻辑。
• PRESENT-128模块
PRESENT是一种轻量级分组密码。该算法以其尺寸紧凑(比AES算法小约2.5倍)著称,适用于低功耗和高效率的应用场景。 PRESENT-128是一个IP核,通过其内部的两个64位PRESENT内核,可以在单次运行中实现128位数据的加密或解密。PRESENT-128加解密模块的功能框图如图 2-1所示。
1.jpg

• eFuse模块
eFuse是一个具有随机访问接口的一次性可编程存储器。其容量为512 Bytes,用于存储安全密钥和芯片校准数据等。
• KEYRAM模块
KEYRAM主要用于芯片上电后的密钥推导。在安全启动流程中,每次冷启动生成真随机数作为掩码(MASK),用于防止外界穷举法破解。通过keyPort总线接口自动实现加密读取key到AES、HMAC、XIP_DEC等模块,硬件实现自动密钥导入。
• PKC(Public Key Cryptography)模块
PKC控制器模块用于完成公钥算法中的基本底层模运算和FIPS标准256点ECC(Elliptic Curve Cryptography)点乘法。
• HMAC(Hash message Authentication Code)模块
通过使用完全符合联邦信息处理标准(FIPS)出版物198中定义的密钥哈希消息认证码(HMAC)的算法实现消息认证验证过程,哈希消息认证码(HMAC)协处理器能对数据进行认证。该模块支持多种算法(SHA256,HMAC-SHA256),密钥大小为256位。
• XIP_DEC模块
在XIP模式下,实时解密时读取固件指令或数据需要调用XIP_DEC模块。XIP_DEC模块内嵌硬件PRESENT-128子模块实现加密固件的自动解密。XIP_DEC模块的功能框图如图 2-2所示。
2.jpg

2.2 固件加解密流程
GR551x混合使用了对称密码(PRESENT-128)和公钥密码(椭圆曲线密码算法ECC)两种算法来保证固件的安全性和高效性。
在加密过程中,GR551x使用PRESENT-128对称密码加密明文,再使用ECC为对称加密中所使用的密钥进行加密。通过使用混合密码系统,在通信中能够将对称密码和公钥密码的优势结合起来。
2.2.1 PRESENT-128算法
PRESENT-128是一个轻量级分组密码算法,采用SPN结构设计,分组长度为64 bits,密钥长度128 bits,一 共31轮。PRESENT-128密码算法与现有的轻量级分组密码算法TEA、MCRYPTON、HIGHT、SEA和CGEN相比,具有更简单的硬件实现和简洁的轮函数设计。 PRESENT-128模块的功能框图如图 2-3所示。
3.jpg

2.2.2 椭圆曲线密码(ECC)算法
ECC与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥。 与RSA相比,ECC具有以下优势:
• 安全性能更高:160位ECC相当于1024位RSA、DSA的安全强度。
• 处理速度更快:在私钥的处理速度上,ECC远比RSA、DSA快。
• 带宽要求更低、存储空间更小:ECC的密钥大小和系统参数比RSA、DSA更小。

2.2.3 混合密码系统
在具备同等机密性的密钥长度的情况下,公钥密码的处理速度只有对称密码的几百分之一。因此,公钥密码无法适用于加密较长的消息内容。
下面以加密过程为例简单介绍混合密码系统的加解密流程,如图 2-4所示。
4.jpg
该流程具体描述如下:
1. 生成会话密钥:通过随机数生成器生成对称密码加密中使用的会话密钥(PRESENT-128对称密码)。
2. 会话密钥加密消息:使用会话密钥加密会话消息,生成会话消息密文。
3. 公钥加密会话密钥:从混合密码系统外部获得公钥ECC对会话密钥加密,得到会话密钥密文。
4. 组合密文:组合会话密钥密文和会话消息密文。

更多详细内容请下载附件查看
2022-2-23 11:47 上传
文件大小:
440.53 KB
下载次数:
0
本地下载

16RD supports Paypal , Payment is calculated at the exchange rate of the day. Unable to download please contact 18902843661 (WhatsApp OR wechat number)

关于一牛网在微软浏览器(Microsoft Edge、IE浏览器)警报通告&解决方案!(无法下载直接更换浏览器即可)

*附件为作者发布,与本站无关,如有侵权,请联系客服删除

已绑定手机
发表于 2022-2-24 09:13:52 | 显示全部楼层 来自 江苏省徐州市
好东东,学习学习!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表