控制板加密和解密方式、终端设备及计算机可读存储介质制造技术

技术编号:20725557 阅读:30 留言:0更新日期:2019-03-30 17:49
本发明专利技术实施例涉及加密领域,公开了一种控制板加密和解密方法、终端设备及计算机可读存储介质,其中方法包括:根据CPU唯一序列号和程序固化密钥生成第一次加密密文,再通过FPGA对第一次密文和FPGA数据进行二次加密,生成的加密密文包括携带CPU唯一序列号和程序固化密钥的有效密文及随机产生的迷惑密文;将加密密文保存在EEPROM中,其中有效密文根据预设规则进行多地址保存,迷惑密文随机保存;解密时,CPU根据唯一序列号和程序固化密钥计算出CPU加密密文,FPGA读取EEPROM中的加密密文,进行有效密文提取并进行二次加密的解密,如果经FPGA提取并解密后有效密文和CPU计算出的CPU加密密文匹配,则解密成功。本发明专利技术实现了对伺服驱动器控制板嵌入式程序和FPGA程序的安全加密。

【技术实现步骤摘要】
控制板加密和解密方式、终端设备及计算机可读存储介质
本专利技术实施例涉及加密
,特别涉及用于伺服驱动器的控制板加密和解密方法、终端设备及计算机可读存储介质。
技术介绍
伺服驱动器是现代运动控制的重要组成部分,被广泛应用于工业机器人及数控加工中心等自动化设备中,主要由驱动部分、电容部分及模块部分构成。伺服驱动器因可以利用复杂的控制算法对电机进行高精度的控制,从而实现了对电机的智能化控制。随着我国自动化市场的快速发展,伺服驱动器也进入了高速发展期。因伺服相关产品存在开发成本高,难度大,周期长等特点,则需要对科研成果进行保护。现有技术中通常对伺服驱动器的控制板进行加密,其中控制板主要包括CPU(CentralProcessingUnit,中央处理器),FPGA(Field-ProgrammableGateArray,即现场可编程门阵列),。如图1所示,在现有技术中,通过CPU访问外部的加密芯片(例如DS82E01,DN2016N等)来实现对控制板的加密。专利技术人发现现有技术中至少存在如下问题:1)采用外部的加密芯片,增加了产品成本,在伺服产品竞争如此激烈的市场格局下,增加器件成本必定削减了产品的竞争力;2)采用外部加密芯片的加密方式非常公开,在相关芯片手册上就有相关的说明,从而减低了产品的破解难度;3)采用外部加密芯片的加密算法只能加密CPU程序,不能加密FPGA程序,但是随着伺服控制精度越来越高,越来越多的电机算法使用FPGA来实现,因此保护FPGA代码的安全也至关重要。
技术实现思路
本专利技术实施方式的目的在于提供一种控制板加密和解密方式、终端设备及计算机可读存储介质,在不需要增加伺服驱动的硬件成本的前提下,实现对伺服驱动器控制板嵌入式程序和FPGA程序的安全加密。为解决上述技术问题,本专利技术的实施方式提供了一种控制板加密方式,包括以下步骤:根据CPU唯一序列号和程序固化密钥生成第一次加密密文,再通过FPGA对CPU数据和FPGA数据进行二次加密,生成的加密密文包括携带CPU唯一序列号和程序固化密钥的有效密文及随机产生的迷惑密文;将所述加密密文保存在EEPROM中,其中所述有效密文根据预设规则进行多地址保存,迷惑密文随机保存;解密时,CPU根据所述唯一序列号和程序固化密钥计算出CPU加密密文,FPGA读取EEPROM中的加密密文,进行有效密文提取并进行二次加密的解密,如果经FPGA提取并解密后有效密文和CPU计算出的CPU加密密文匹配,则解密成功。本专利技术的实施方式还提供了一种终端设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前所述的控制板加密和解密方法。本专利技术的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的控制板加密和解密方法。本专利技术实施方式相对于现有技术而言,将加密密文保存在EEPROM中,EEPROM是控制器自带的元件,因此在不需要增加伺服驱动的硬件成本的前提下,实现对控制板的加密。此外,加密密文包括有效密文和迷惑密文,其中有效密文携带CPU的唯一序列号代码,能够保证加密密文的唯一性,避免了被非法拷贝的风险,迷惑密文通过随机数产生,则对非法拷贝能够起到很强的迷惑作用,从而实现对控制板的安全加密。另外,在EEPROM中预先指定多个地址作为EEPROM的密文区用以保存加密密文,保存加密密文的地址序列在每次上电后会按预设规律改变,迷惑密文每次上电后会也会随机改变,能够让加密密文的编号杂乱无章,让破解者难以找不到密文的变化规律,从而大大的是提高了破解难度。另外,当需要解密时,CPU根据所述唯一序列号和程序固化密钥计算出密文,FPGA从EEPROM预先指定多个地址中读取加密密文,并进行有效数据提取,然后将FPGA提取的有效密文和CPU计算出的密文进行比较,如果匹配,则解密成功,程序正常运行;如果不匹配,则解密不成功,程序停止运行。比较密文的流程在FPGA中完成,保证在解密不成功时,FPGA代码不能运行,从而避免了FPGA代码未授权的使用情况。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是现有技术中控制板加密的示意图;图2是本专利技术提供的控制板加密的示意图;图3是本专利技术第一实施方式提供的控制板加密的流程示意图;图4是本专利技术第二实施方式提供的控制板加密方法的流程示意图;图5是本专利技术实施方式提供的终端设备的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。如图2所示,伺服驱动器的控制板包括CPU、FPGA、功率模块和M序列,此外控制板还包括EEPROM(ElectricallyErasableProgrammablereadonlymemory,带电可擦可编程只读存储器)。和现有技术不同的是,本专利技术创造性的将加密信息保存在控制板内部的EEPROM中,从而能够在不需要增加伺服驱动的硬件成本的前提下,实现对伺服驱动器控制板的安全加密。本专利技术的第一实施方式涉及一种控制板加密和解密方法,具体流程可以参考图3所示,包括以下步骤:步骤301,根据CPU唯一序列号和程序固化密钥生成第一次加密密文,再通过FPGA对CPU数据和FPGA数据进行二次加密,生成的加密密文包括携带CPU唯一序列号和程序固化密钥的有效密文及随机产生的迷惑密文。步骤302,将所述加密密文保存在EEPROM中,其中所述有效密文根据预设规则进行多地址保存,迷惑密文随机保存。步骤303,解密时,CPU根据所述唯一序列号和程序固化密钥计算出CPU加密密文,FPGA读取EEPROM中的加密密文,进行有效密文提取并进行二次加密的解密,如果经FPGA提取并解密后有效密文和CPU计算出的CPU加密密文匹配,则解密成功。上述步骤301中,根据CPU的唯一序列号和程序固化密钥生成第一次加密密文,再通过FPGA对CPU数据和FPGA数据进行二次加密,具体包括:在CPU中首先根据CPU的唯一ID号和程序固定密码,也可以再结合一些别的用途的字符串,例如一些时间字符,通过ASE(AdvancedEncryptionStandard,高级加密标准)算法生成第一次加密密文,即计算出32Byte字符串,再通过FPGA对加密出来的32Byte与固定序列的32Byte数据进行异或,异或后的代码再进行不固定位数的循环移位,这样就实现了在FPGA中进行的二次加密过程,然后根据预先设定好的保存位置,将32Byte密文保存到一个杂乱无章的位置上,最后在通过FPGA产生随机数填入非保存密文的地址中,通过上述步骤完成加密过程。上述步骤302中,在EEPROM中对加密密文进行多地本文档来自技高网...

【技术保护点】
1.一种控制板加密和解密方法,其特征在于,包括:根据CPU唯一序列号和程序固化密钥生成第一次加密密文,再通过FPGA对CPU数据和FPGA数据进行二次加密,生成的加密密文包括携带CPU唯一序列号和程序固化密钥的有效密文及随机产生的迷惑密文;将所述加密密文保存在EEPROM中,其中所述有效密文根据预设规则进行多地址保存,迷惑密文随机保存;解密时,CPU根据所述唯一序列号和程序固化密钥计算出CPU加密密文,FPGA读取EEPROM中的加密密文,进行有效密文提取并进行二次加密的解密,如果经FPGA提取并解密后有效密文和CPU计算出的CPU加密密文匹配,则解密成功。

【技术特征摘要】
1.一种控制板加密和解密方法,其特征在于,包括:根据CPU唯一序列号和程序固化密钥生成第一次加密密文,再通过FPGA对CPU数据和FPGA数据进行二次加密,生成的加密密文包括携带CPU唯一序列号和程序固化密钥的有效密文及随机产生的迷惑密文;将所述加密密文保存在EEPROM中,其中所述有效密文根据预设规则进行多地址保存,迷惑密文随机保存;解密时,CPU根据所述唯一序列号和程序固化密钥计算出CPU加密密文,FPGA读取EEPROM中的加密密文,进行有效密文提取并进行二次加密的解密,如果经FPGA提取并解密后有效密文和CPU计算出的CPU加密密文匹配,则解密成功。2.根据权利要求1所述的控制板加密和解密方法,其特征在于,所述根据CPU的唯一序列号和程序固化密钥生成第一次加密密文,再通过FPGA对CPU数据和FPGA数据进行二次加密,具体包括:在CPU中,根据CPU唯一序列号和程序固化密钥,通过ASE算法计算出第一次加密密文的字符串,再通过FPGA对加密出来的字符串数据与程序固化密钥的字符串数据进行异或,异或后再进行不固定位数的循环移位,实现在FPGA中进行的二次加密。3.根据权利要求1所述的控制板加密和解密方法,其特征在于,所述将所述加密密文保存在EEPROM中,具体包括:在EEPROM中,预先指定多个地址作为EEPROM的密文区用以保存加密密文,在密文区,所述有效密文保存到预先设定好的保存位置,并通过FPGA产生随机数填入非保存有效密文的地址;保存所述有效密文的地址在每次上电后根据规则进行改变,而保存所述迷惑密文的地址在每次上电后...

【专利技术属性】
技术研发人员:钟前进王科严彩忠丁信忠李虎修
申请(专利权)人:上海新时达电气股份有限公司上海辛格林纳新时达电机有限公司
类型:发明
国别省市:上海,31

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

1