电路板程序防破解方法技术

技术编号:39856799 阅读:7 留言:0更新日期:2023-12-30 12:54
本发明专利技术公开了一种电路板程序防破解方法

【技术实现步骤摘要】
电路板程序防破解方法、存储介质和电路板


[0001]本专利技术涉及电路板
,尤其涉及一种电路板程序防破解方法

存储介质和电路板


技术介绍

[0002]PCB
电路板的功能亮点多数依赖于核心程序,为了避免抄袭者破解原装电路板上的核心程序并剽窃复制到仿制板上运行,
PCB
电路板厂家通常会对核心程序进行加密

业内通常采用专门的加密芯片来存储全部核心程序代码或者存储核心程序中的关键代码, PCB
电路板的
MCU
如果要运行加密芯片中的核心程序,就如图1所示,首先用随机数发生器生成一个随机数,一方面把该随机数发送给加密芯片,另一方面,采用
SHA

256
算法对本次所生成的随机数以及预先存储的用户
ID
和安全密钥计算得出
MAC1
,把所得出的
MAC1
发送给加密芯片;加密芯片接收到
MCU
发送的随机数之后,就采用
SHA

256
算法对所接收到的随机数以及预先存储的用户
ID
和安全密钥计算得出
MAC2
,然后把所计算的
MAC2
发送给
MCU

MCU
接收到加密芯片的
MAC2
后与自身计算得出的
MAC1
进行比对,若两者一致
MCU
则继续运行,否则
MCU
异常结束运行;加密芯片接受到
MCU

MAC1
之后,也将其与本加密芯片所计算得出的
MAC2
进行比对,若两者一致则允许
MCU
运行加密芯片中的核心程序,否则不允许
MCU
运行加密芯片中的核心程序

这种方式由于系
MCU
和加密芯片进行双向验证,双向验证通过之后
MCU
才被允许运行加密芯片中的核心程序,这样可以很大程度上防止他人破解核心程序

尽管如此,加密芯片依然有被破解的风险,由于上述
MAC
计算验证流程中的用户
id
和安全密钥分别存储在
MCU
的程序中和加密芯片的工作固件中,如果加密芯片中的核心程序以及用于实现上述
MAC
计算验证流程的工作固件被破解,他人把
MCU
上的程序以及加密芯片的工作固件和核心程序批量复制到多个仿制板上,每个仿制板都能够成功通过上述
MAC
计算验证流程的验证,即每个仿制板上都能够运行该核心程序,实现批量仿制电路板


技术实现思路

[0003]本专利技术所要解决的技术问题是提供一种电路板程序防破解方法

存储有被执行时实现该方法的计算机程序的计算机可读存储介质以及可实现该方法的电路板,该方法能够防止他人批量仿制电路板

[0004]本专利技术提供了一种电路板程序防破解方法,由电路板处理器执行,包括如下步骤:
P.
预先获取加密芯片的通用唯一识别码并进行存储,之后在需运行加密芯片中的核心程序时,执行如下验证步骤:
A.
一方面,
A1.
采用加密算法对所存储的通用唯一识别码进行加密计算得出处理器加密结果;另一方面,
A2.
通知加密芯片以让其采用所述加密算法对其自身的通用唯一识别码进行加密计算得出加密芯片加密结果;
B.
拿处理器加密结果与加密芯片加密结果进行比对,若两者一致则正常运行加密芯片的核心程序,否则不运行核心程序

[0005]进一步地:步骤
P
中,请求获取随机数后才执行所述验证步骤;
A1
具体系采用加密算法对所存储的通用唯一识别码和所获取的随机数进行加密计算得出处理器加密结果;
A2
具体系让加密芯片采用加密算法对其自身的通用唯一识别码和所述随机数进行加密计算得出加密芯片加密结果

[0006]进一步地:步骤
P
中具体向加密芯片获取其通用唯一识别码,然后把该通用唯一识别码存储到闪存芯片中

[0007]进一步地:步骤
P
中具体把加密芯片的通用唯一识别码进行加密后存储到闪存芯片中

[0008]进一步地:步骤
P
中,还在闪存芯片中设置识别码绑定标志,存储好加密芯片的通用唯一识别码后把上述标志标记为已绑定,之后在需启动加密芯片的核心程序时,先判断闪存芯片的识别码绑定标志是否为已绑定,若是则执行所述验证步骤,否则不运行核心程序

[0009]进一步地:具体是向加密芯片获取所述随机数

[0010]本专利技术还提供一种电路板程序防破解方法,由电路板加密芯片执行,若接收电路板处理器发送的验证通知,则对自身的通用唯一识别码,采用所述加密算法进行加密计算得出加密芯片加密结果,并把该加密结果发送给电路板处理器

[0011]进一步地:还生成随机数,具体是采用加密算法对自身的通用唯一识别码和所生成的随机数进行加密计算得出加密芯片加密结果

[0012]本专利技术还提供一种计算机可读存储介质,其上存储有可执行的计算机程序,该计算机程序被处理器执行时实现如上所述的电路板程序防破解方法

[0013]本专利技术还提供一种电路板,包括处理器

加密芯片和计算机可读存储介质;处理器执行该计算机可读存储介质中的计算机程序可执行如下步骤:预先获取加密芯片的通用唯一识别码并进行存储,之后在需运行加密芯片的核心程序时,一方面,
A1. 采用加密算法对所存储的通用唯一识别码进行加密计算得出处理器加密结果;另一方面,
A2.
通知加密芯片以让其采用所述加密算法对其自身的通用唯一识别码进行加密计算得出加密芯片加密结果;加密芯片接收到处理器的通知后,采用所述加密算法对自身的通用唯一识别码进行加密计算得出加密芯片加密结果,并把该加密结果发送给处理器;处理器接收到加密芯片加密结果后,对处理器加密结果与加密芯片加密结果进行比对,若两者一致则正常运行加密芯片的核心程序,否则不运行核心程序

[0014]由于每一款加密芯片都有其通用唯一识别码,不同的加密芯片按照同一工作固件,即按照自身的通用唯一识别码进行加密计算得到的加密芯片加密结果,所计算得出的加密芯片加密结果是不同的,上述电路板程序防破解方法采用加密芯片的通用唯一识别码来进行验证,即使有人把电路板处理器的程序以及加密芯片上的核心程序和工作固件分别对应复制到仿制板的处理器和加密芯片上,执行验证过程,也不能通过验证,也就无法正常运行核心程序,原因是:上述验证过程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种电路板程序防破解方法,由电路板处理器执行,其特征是包括如下步骤:
P.
预先获取加密芯片的通用唯一识别码并进行存储,之后在需运行加密芯片中的核心程序时,执行如下验证步骤:
A.
一方面,
A1.
采用加密算法对所存储的通用唯一识别码进行加密计算得出处理器加密结果;另一方面,
A2.
通知加密芯片以让其采用所述加密算法对其自身的通用唯一识别码进行加密计算得出加密芯片加密结果;
B.
拿处理器加密结果与加密芯片加密结果进行比对,若两者一致则正常运行加密芯片的核心程序,否则不运行核心程序
。2.
如权利要求1所述的电路板程序防破解方法,其特征是:步骤
P
中,请求获取随机数后才执行所述验证步骤;
A1
具体系采用加密算法对所存储的通用唯一识别码和所获取的随机数进行加密计算得出处理器加密结果;
A2
具体系让加密芯片采用加密算法对其自身的通用唯一识别码和所述随机数进行加密计算得出加密芯片加密结果
。3.
如权利要求2所述的电路板程序防破解方法,其特征是:步骤
P
中具体向加密芯片获取其通用唯一识别码,然后把该通用唯一识别码存储到闪存芯片中
。4.
如权利要求3所述的电路板程序防破解方法,其特征是:步骤
P
中具体把加密芯片的通用唯一识别码进行加密后存储到闪存芯片中
。5.
如权利要求3所述的电路板程序防破解方法,其特征是:步骤
P
中,还在闪存芯片中设置识别码绑定标志,存储好加密芯片的通用唯一识别码后把上述标志标记为已绑定,之后在需启动...

【专利技术属性】
技术研发人员:郭孝云滕欣欣严寒亮
申请(专利权)人:广东汉为信息技术有限公司
类型:发明
国别省市:

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

1