中科蓝讯加密狗使用说明
1.1 授权方式及云授权介绍
1.1.1 授权私钥配置
在起到次数限制(每颗芯片下载会扣减次数,同一颗芯片多次下载只扣减第一次)的同时,还能将用户自定义的私钥数据下载进芯片,这种授权方式对芯片规格有要求,需要有额外的 flash 安全储存空间,安全性要求较高可以使用。
1.1.2 授权下载限制
可以实现下载次数限制(每次下载都会扣减次数,同一颗芯片反复下载每次都会扣减),对芯片规格无要求,但目前程序设置了下载限制功能后无法导出upd文件和fot文件,后续如果有使用相关文件进行升级需求的客户不可使用此方式。
1.1.3 授权功能 key
可以实现下载次数限制,对芯片添加功能限制,仅由蓝讯内部使用。
1.1.4 云授权功能
可以对加密狗进行云授权。以上多种授权方式都可以在线上服务端进行授权,便于加密狗信息持有者远程给其他人进行授权。
以上功能请自己选择合适的方式进行授权使用,后文会对以上多种授权方式及云授权功能进行详细使用说明
1.2 授权环境
Downloader 版本:v3.0.7 以上(包含 v3.0.7) 支持单授权加密狗
v3.3.0 以上(包含 v3.3.0) 支持多授权加密狗
加密狗版本:v0.1.5 以上(包含 v0.1.5) 单授权版本
v0.2.0以上(包含 v0.2.0)是多授权版本,一个加密狗可以存放10个授权信息
注意:v0.2.0、v0.2.1版本是测试版本,存在问题,v0.2.0不可使用、v0.2.1的9号授权位不可使用,否则会导致校验出错。使用前需要跟蓝讯开发人员确认相关的烧录器是否已经支持多授权加密狗功能,并且加密狗版本只能向上升级无法回退版本
1 拖 4 烧录器版本:v260 以上(包含 v260)支持单授权加密狗,是否支持多授权加密狗请与相关负责人员确认
1 拖 8 烧录器版本:v122 以上(包含 v122)支持单授权加密狗,是否支持多授权加密狗请与相关负责人员确认
2. 授权私钥配置使用介绍
2.1 授权方式说明
中科蓝讯加密狗私钥配置授权方案主要用于第三方算法授权,通过的密钥计算大致如下图所示。
图 2.1.1 密钥生成流程
私钥保存在加密狗中,用于授权使用的,请给有授权权限的人员进行保管。
私钥使用SHA-256算法,生成密钥1,密钥1是写在SDK中。
密钥1加上FLASH UUID盐之后,同样通过SHA-256算法,生成密钥2,密钥在授权烧录时写入芯片程序的配置中。
识别码是由私钥经过哈希算法生成的4byte数据,用于快速识别和验证。
以上的私钥、密钥1、密钥2请由对应人员妥善保管,尤其是私钥。若是丢失了私钥或者密钥,原厂也无法找回。
在授权烧录时,Downloader/烧录器首先会检查PRD生产文件和加密狗的识别码是否一致,若两者不一致则无法进行烧录和授权。开始烧录时,烧录器会读取芯片的信息,判断是否已经有授权。若是已经授权的,会判断芯片的识别码与PRD文件的识别码是否一致,若两者一致,则不消耗加密狗的授权次数;若两者不一致,则视为新的程序授权,会消耗加密狗的授权次数。
SDK中,芯片在上电之后,会进行密钥的校验,读取芯片FLASH的UUID和SDK中的密钥1,计算生成密钥2,再和FLASH 配置区中保存的密钥2进行比较,若两者一致则会正常上电,否则就是一直复位。
图 2.1.2加密狗授权烧录流程图