一种保护FPGA烧写文件的方法技术

技术编号:26790186 阅读:24 留言:0更新日期:2020-12-22 17:05
本发明专利技术公开了一种保护FPGA烧写文件的方法。本方法引入了对烧写文件的授权过程进行加密保护的机制,实现了对生产、使用过程的授权控制。其核心原理是基于每片FPGA都具有唯一序列号、经过哈希函数计算生成唯一身份码、采用商业加密生成授权码、芯片对授权码验证通过后才正常工作。本发明专利技术的有益效果是:通过对FPGA烧写文件的保护,实现了安全的生产、使用过程的授权控制,同时可以保护自己的知识产权不会被第三方窃取用于复制生产。应用此方法,有助于研发者保护知识产权,同时极大的方便了与生产制造方的合作,制造方也可以方便的控制设备的销售对使用方进行序列号远程授权。

【技术实现步骤摘要】
一种保护FPGA烧写文件的方法
本专利技术涉及集成电路设计,尤其是涉及一种保护FPGA烧写文件的方法,具体涉及到FPGA烧写过程及烧写文件的加密授权保护技术。
技术介绍
集成电路中广泛应用到FPGA芯片,FPGA芯片设计生成的烧写文件一般都是烧写到板卡的存储器件中,每次板卡上电后用烧写文件对FPGA进行烧写之后,FPGA才开始正常工作。因此,有可能通过读取该存储器件的方式窃取获得烧写文件,被第三方用于复制生产,此时拥有该知识产权的研发者很难控制生产制造方及设备的使用方的授权。因此,需要经过特定的唯一的加密授权技术,实现对研发者的知识产权保护。
技术实现思路
本专利技术的目的就是要解决上述现实应用中存在的问题,提供一种保护FPGA烧写文件的方法。本方法引入了对烧写文件的授权过程进行加密保护的机制,实现了对生产、使用过程的授权控制。其核心原理是基于每片FPGA都具有唯一序列号、经过哈希函数计算生成唯一身份码、采用商业加密生成授权码、芯片对授权码验证通过后才正常工作。本专利技术采取的技术方案是:一种保护FPGA烧写文件的方法,其特征在于,所述方法有以下步骤:一、FPGA读取唯一的序列号,在FPGA内部做一次只有授权方知道的固定的哈希计算,将哈希计算结果称为“唯一身份码”。二、FPGA经过板卡的通信接口将“唯一身份码”上报给上位机软件。三、生产方在软件里读取“唯一身份码”后,将此“唯一身份码”发给授权方。四、授权方在此“唯一身份码”后面拼接一段只有授权方知道的密钥之后,做一次哈希计算,结果称为“授权码”。五、授权方将此“授权码”发送给生产方。六、生产方使用上位机软件,经过板卡的通信接口将授权码写给FPGA,FPGA将此“授权码”写入板卡上的存储芯片FLASH。七、板卡每次上电后,FPGA从板卡上的存储芯片FLASH中读取获得授权码,然后在FPGA内部重复做一遍同样的哈希计算过程,产生一遍授权码进行比对,完全一致才开始正常工作。采用该方案,可以实现:授权方可以将板卡、芯片烧写文件都放心的交给生产方(但源代码一定要自己保护好,因为源代码内含有对应的密钥明文);授权方保护好源代码、密钥、哈希算法,即可控制生产方今后生产的每一块板卡并收取授权费(任何一块新板卡,若无授权方提供授权码,则无法正常工作)。生产方也可以基于授权码控制使用方的授权使用(使用方购买的每台设备必须购买对应的唯一的授权码才可以正常使用)。本专利技术的有益效果是:通过对FPGA烧写文件的保护,实现了安全的生产、使用过程的授权控制,同时可以保护自己的知识产权不会被第三方窃取用于复制生产。应用此方法,有助于研发者保护知识产权,同时极大的方便了与生产制造方的合作,制造方也可以方便的控制设备的销售对使用方进行序列号远程授权。附图说明图1是本专利技术的实现过程图。具体实施方式以下结合附图对本专利技术作进一步说明。图1所示,以下按照逐个步骤的介绍实现的具体方法:一、FPGA读取唯一的序列号,在FPGA内部做一次只有授权方知道的固定的哈希计算,将哈希计算结果称为“唯一身份码”。二、FPGA经过板卡的通信接口将“唯一身份码”上报给上位机软件。三、生产方在软件里读取“唯一身份码”后,将此“唯一身份码”发给授权方。四、授权方在此“唯一身份码”后面拼接一段只有授权方知道的密钥之后,做一次哈希计算,结果称为“授权码”。五、授权方将此“授权码”发送给生产方。六、生产方使用上位机软件,经过板卡的通信接口将授权码写给FPGA,FPGA将此“授权码”写入板卡上的存储芯片FLASH。七、板卡每次上电后,FPGA从板卡上的存储芯片FLASH中读取获得授权码,然后在FPGA内部重复做一遍同样的哈希计算过程,产生一遍授权码进行比对,完全一致才开始正常工作。列举一个实例:基于Xilinx公司的KU040开发板,FPGA的唯一序列号(DNA码)为:4000000000E35081。唯一序列号经过哈希函数(不妨假设使用md5)得到唯一身份码:D0F248D70DFE7E8F3FDB44BD34C29E8E。生产方使用USB转串口线连接电脑与板卡,电脑上使用开源的串口调试工具COMTool接收串口数据,获得唯一身份码。生产方将此唯一身份码发送给授权方,授权方基于此唯一身份码后面拼接一段密钥(不妨假设使用7E3F5783作为密钥)经过哈希函数(不妨假设使用SHA1)生成授权码:B2DC117581D018F4B936BFD9003EE0A5E1AFDD5D。授权方将此授权码发送给生产方,生产方将此授权码烧写进板卡,每次板卡上电后,FPGA在内部读取自己的唯一序列号,并重复做一遍以上生成计算过程,得到的计算结果与烧写的授权码进行比对,若完全一致,FPGA才开始正常工作,否则FPGA锁死一部分或全部功能而不开始正常工作。本文档来自技高网...

【技术保护点】
1.一种保护FPGA烧写文件的方法,其特征在于,所述方法有以下步骤:/n一、FPGA读取唯一的序列号,在FPGA内部做一次只有授权方知道的固定的哈希计算,将哈希计算结果称为“唯一身份码”;/n二、FPGA经过板卡的通信接口将“唯一身份码”上报给上位机软件;/n三、生产方在软件里读取“唯一身份码”后,将此“唯一身份码”发给授权方;/n四、授权方在此“唯一身份码”后面拼接一段只有授权方知道的密钥之后,做一次哈希计算,结果称为“授权码”;/n五、授权方将此“授权码”发送给生产方;/n六、生产方使用上位机软件,经过板卡的通信接口将授权码写给FPGA,FPGA将此“授权码”写入板卡上的存储芯片FLASH;/n七、板卡每次上电后,FPGA从板卡上的存储芯片FLASH中读取获得授权码,然后在FPGA内部重复做一遍同样的哈希计算过程,产生一遍授权码进行比对,完全一致才开始正常工作。/n

【技术特征摘要】
1.一种保护FPGA烧写文件的方法,其特征在于,所述方法有以下步骤:
一、FPGA读取唯一的序列号,在FPGA内部做一次只有授权方知道的固定的哈希计算,将哈希计算结果称为“唯一身份码”;
二、FPGA经过板卡的通信接口将“唯一身份码”上报给上位机软件;
三、生产方在软件里读取“唯一身份码”后,将此“唯一身份码”发给授权方;
四、授权方在此“唯一身份码”后面拼接一段只有授权方知...

【专利技术属性】
技术研发人员:李斌张晓峰
申请(专利权)人:天津光电通信技术有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1