|
查看: 8|回复: 0

[BLE SDK] 固件加密防抄袭的机制是怎样的?客户如何定制加密算法?

[复制链接]

145

主题

338

回帖

1584

积分

管理员

积分
1584
发表于 昨天 10:43 | 显示全部楼层 |阅读模式 来自 上海
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: -
SDK及版本: -
固件数字签名/加密校验的 key 存在哪里?是怎么产生的?客户想自己定制加密算法防止固件被抄袭,可以怎么做?

回答:

Telink 固件加密(防抄袭)校验的基本机制:

1、算法封装:校验算法封装在 proj_lib 目录下的 libfirmware_encrypt.a 中,软件工程里用的 lib 与量产夹具里的是一致的;如果要改算法,这两个都得一起替换。

2、UID 绑定:量产夹具读取芯片 flash 中的 UID,用算法计算出一个加密结果(16 bytes 密文)写入 flash;程序启动时同样读取 UID 计算,并与存储的密文比较,校验通过才继续运行。因为每颗芯片 UID 不同,拿到固件无法直接用于其他芯片量产,从而防止直接抄袭。

3、客户定制:firmware_encrypt_based_on_uid 的算法实现不开源,但客户可以自行用 AES 接口替换:用客户自定义的 key 与 UID 一起通过 aes_encrypt 生成密文,实现同样的校验效果。

本版积分规则

关注公众号
隐私政策|Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部