[发明专利]一种使用单向函数对FPGA固件进行授权保护的方法有效
申请号: | 202110828271.6 | 申请日: | 2021-07-22 |
公开(公告)号: | CN113326484B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 卓才华;窦志斌;肖娜 | 申请(专利权)人: | 北京天御云安科技有限公司;石家庄通信测控技术研究所(中国电子科技集团公司第五十四研究所) |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 使用 单向 函数 fpga 进行 授权 保护 方法 | ||
1.一种使用单向函数对FPGA固件进行授权保护的方法,其特征在于:终端设备在CPU、FPGA和MCU三单元组合的硬件架构基础上,使用单向函数授权认证方式对FPGA固件进行授权保护,使得终端产权拥有方和开发方能有效授权生产,明确拥有方、开发方和生产方三方利益关系,具体步骤如下:
步骤1: 终端产权拥有方和开发方对生产方进行授权生产,分别提供授权码文件和匹配的MCU授权单元给生产方,生产方进行终端设备生产;
步骤2: 终端设备采用三单元组合的硬件架构,CPU主控单元+FPGA业务单元+MCU授权单元,CPU主控单元通过SPI连接FPGA业务单元,MCU授权单元通过SPI连接FPGA业务单元;
步骤3: 终端设备启动时,MCU授权单元与FPGA业务单元之间通过两步的授权认证实现一对一的授权码分量合成,并使用单向函数验证授权码是否合法,如合法,则授权FPGA业务单元运行进入正常状态;否则,FPGA业务单元停止工作;
其中,针对授权明确拥有方、开发方和生产方三方利益关系,拥有方拥有授权码分量一Auth1文件、授权码校验值RES文件和FPGA配置文件,开发方开发MCU授权单元,将授权码分量二Auth2写入其中,生产方从拥有方获取授权码分量一Auth1文件、授权码校验值RES文件和FPGA配置文件,从开发方获取配对的MCU授权单元,将授权码分量一Auth1文件、授权码校验值RES文件和FPGA配置文件写入到CPU主控单元中,将MCU授权单元焊接到终端设备主板,生产终端设备;
其中,授权码校验值RES和授权码分量一Auth1由CPU主控单元通过SPI配置方式传递到FPGA业务单元中存储,授权码分量二Auth2生产已固化在MCU授权单元;
其中,两步的授权认证协议实现,协议中^符号表示算数逻辑异或操作,||符号表示字符串拼接操作,首先FPGA业务单元产生随机数Rnd1,随机数Rnd1与授权码分量一Auth1算数逻辑异或,Ref1=Hash(Rnd1||RES)使用单向函数Hash对随机数Rnd1和授权码校验值RES计算杂凑值,并创建授权消息报文1=01||Rnd1||Rnd1^Auth1|| Ref1,通过SPI接口将授权消息报文1发送MCU授权单元,MCU授权单元接收到授权消息报文1后,获取出Rnd1和Auth1,RES*= Hash(Auth1^Auth2)通过Hash(Rnd1|| RES*)计算出结果,判断是否和发送过来的Ref1值一致,如不一致,提示异常,如一致,表示授权单向认证成功,同时产生随机数Rnd2,Ref2=Hash(Rnd1^Rnd2||RES)^Auth2使用单向函数Hash对随机数Rnd1与随机数Rnd2的算数逻辑异或值拼接上授权码校验值RES计算杂凑值最后再异或授权码分量二Auth2,创建授权消息报文2=02||Rnd2|| Ref2,将授权消息报文2发送FPGA业务单元,FPGA业务单元接收到授权消息报文2后,获取Rnd2和Auth2,其中Auth2=Hash(Rnd1^Rnd2||RES)^ Ref2,最后通过Hash(Auth1^Auth2)与RES比较,如不一致,授权失败,FPGA处理单元停止运行,如一致,授权成功,FPGA处理单元正常启动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天御云安科技有限公司;石家庄通信测控技术研究所(中国电子科技集团公司第五十四研究所),未经北京天御云安科技有限公司;石家庄通信测控技术研究所(中国电子科技集团公司第五十四研究所)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110828271.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:摄像头模组芯片封装底座、底座组合及其制造方法
- 下一篇:一种玉米种植装置