本发明专利技术提供了一种加密、验证发电机组控制器的方法及加密系统,所述加密发电机组控制器的方法包括以下步骤:上位机读取发电机组控制器的单片机唯一ID序列号;上位机生成随机数A,并将所述随机数A插入到单片机唯一ID序列号中指定位置,生成明文数字串;其中,所述明文数字串包括单片机唯一ID序列号和所述随机数A;上位机对所述明文数字串进行MD5校验,并将获得的MD5校验值作为对应发电机组控制器的秘钥;上位机将所述随机数A和所述秘钥发送至发电机组控制器,对相应发电机组控制器进行加密;增加了加密破解难度,从而防止发电机组控制器的程序被他人复制及盗用。
A method of encrypting and verifying generator controller and encrypting system
【技术实现步骤摘要】
一种加密、验证发电机组控制器的方法及加密系统
本专利技术涉及发电机组防盗版
,具体的说,涉及了一种加密、验证发电机组控制器的方法及加密系统。
技术介绍
发电机组控制器作为发电机组的大脑部分,不但提供发动机的开机、停机、数据测量、数据显示和故障保护功能,而且还提供发电机的电量测量、显示和保护功能。发电机组的自动化控制,历经继电器控制、PLC控制和智能化控制3个阶段,向更智能、更人性化的方面发展。通常企业投入大量的时间和资金研发出一款新型发电机组控制器,但是新型发电机组控制器刚一上市,竞争对手即通过非法复制发电机组控制器单片机内的程序代码来制作盗版控制器;市场上出现的盗版控制器,不但导致企业经济效益受损,而且不利于强化企业品牌影响力。为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
技术实现思路
本专利技术的目的是针对现有技术的不足,从而提供一种加密发电机组控制器的方法、安全验证方法及其系统。为了实现上述目的,本专利技术所采用的技术方案是:本专利技术第一方面提供一种加密发电机组控制器的方法,包括以下步骤:上位机读取发电机组控制器的单片机唯一ID序列号;上位机生成随机数A,并将所述随机数A插入到单片机唯一ID序列号中某个位置,生成中间码A;其中,所述中间码A包括单片机唯一ID序列号和所述随机数A;上位机对所述中间码A进行MD5校验,并将获得的MD5校验值作为对应发电机组控制器的秘钥;上位机将所述随机数A和所述秘钥写入相应发电机组控制器,对发电机组控制器进行加密。本专利技术第二方面提供一种验证发电机组控制器的方法,基于上述的加密发电机组控制器的方法对发电机组控制器进行加密;发电机组控制器进入当前工作周期,开始验证时段计时;当验证时段计时到达预设时间后,发电机组控制器开始读取单片机唯一ID序列号和随机数B,将获得的随机数B插入单片机唯一ID序列号中指定位置获得中间码B,对所述中间码B进行MD5校验;并将MD5校验结果与读取的秘钥进行比较;若一致,则判定发电机组控制器安全验证通过;否则,判定发电机组控制器为盗版发电机组控制器,锁定发电机组控制器功能,并发出警告。本专利技术第三方面提供一种发电机组控制器加密系统,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的加密发电机组控制器的方法的步骤。本专利技术第四方面提供一种发电机组控制器,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的验证发电机组控制器的方法的步骤。本专利技术相对现有技术具有突出的实质性特点和显著的进步,具体的说:1)本专利技术提供一种加密发电机组控制器的方法,在发电机组控制器出厂时,上位机根据随机数A和单片机唯一ID序列号采用MD5校验方式对每台发电机组控制器进行加密,增加了加密破解难度,从而防止发电机组控制器的程序被他人复制及盗用;避免企业经济效益受损,有助于强化企业品牌影响力;2)本专利技术提供一种验证发电机组控制器的方法,在发电机组控制器运行时间到达预设时间时或者发电机组控制器开机次数大于阈值时,发电机组控制器自动执行安全验证方法,对发电机组控制器的合法性进行验证;若安全验证未通过,则锁定所述发电机组控制器,并发出警告,保护企业知识产权;同时给发电机组控制器的盗版人员造成损失,从而起到震慑盗版的目的。具体实施方式下面通过具体实施方式,对本专利技术的技术方案做进一步的详细描述。实施例1一种加密发电机组控制器的方法,它包括以下步骤:上位机读取发电机组控制器的单片机唯一ID序列号;上位机生成随机数A,并将所述随机数A插入到单片机唯一ID序列号中某个位置,生成中间码A;其中,所述中间码A包括单片机唯一ID序列号和所述随机数A;上位机对所述中间码A进行MD5校验,并将获得的MD5校验值作为对应发电机组控制器的秘钥;上位机将所述随机数A和所述秘钥写入相应发电机组控制器,对发电机组控制器的程序文件进行加密。其中,单片机唯一ID序列号为每个单片机芯片的唯一标识码;每台发电机组控制器的单片机唯一ID序列号是独一无二的;上位机为每台发电机组控制器生成的随机数A也不相同;因此,上位机根据单片机唯一ID序列号和所述随机数A获得的秘钥也是独一无二的,大大提高了发电机组控制器的加密性能;同时采用MD5函数来获得秘钥,使得发电机组控制器加密破解难度大幅增加,有效防止发电机组控制器的程序被复制。为了进一步增加加密破解难度,上位机还设置偏移量,在发电机组控制器接收所述随机数A和所述秘钥并存储后;上位机根据所述偏移量对所述随机数A和所述秘钥在发电机组控制器内的存储地址进行偏移。在上述加密发电机组控制器的方法的基础上,本专利技术还给出了一种验证发电机组控制器的方法,利用上述加密发电机组控制器的方法对发电机组控制器进行加密后;发电机组控制器进入当前工作周期,开始验证时段计时;当验证时段计时到达预设时间后,发电机组控制器开始读取单片机唯一ID序列号和随机数B,将获得的随机数B插入单片机唯一ID序列号中指定位置获得中间码B,对所述中间码B进行MD5校验;并将MD5校验结果与读取的秘钥进行比较;若一致,则判定发电机组控制器安全验证通过;否则,判定发电机组控制器安全验证未通过,锁定所述发电机组控制器,并发出警告。其中,所述指定位置与上位机加密时所述随机数A插入的位置一致。需要说明的是,发电机组控制器内的程序文件和数据文件是分开存储的,且存储所述随机数A和所述秘钥的数据文件是隐藏且不可复制的;盗版人员只能复制程序文件,无法复制数据文件。可以理解,如果为原版发电机组控制器,发电机组控制器进行安全验证时,读取到的随机数B与加密时的随机数A是完全相同的,将随机数B插入单片机唯一ID序列号中某个位置获得中间码B与中间码A是相同的;发电机组控制器读取秘钥为,上位机加密时写入的密钥;因而,对所述中间码B进行MD5校验获得校验结果与发电机组控制器读取到的秘钥相比,必然是一致的。需要说明的是,如果为盗版发电机组控制器,当发电机组控制器运行到达预设时间必然要进行安全验证,但盗版发电机组控制器里只存储有验证发电机组控制器的方法的程序,而未存储随机数A和密钥。此时,发电机组控制器读取到随机数B和秘钥均为空,显然将此时的空随机数B插入单片机唯一ID序列号中指定位置计算出的中间码B与中间码A是完全不同的;发电机组控制器对中间码B进行MD5校验获得的校验结果与发电机组控制器读取到的空秘钥相比,必然不一致。实施例2本实施例与实施例1的区别在于:本实施例中,在将所述随机数A和所述秘钥发送至发电机组控制器之前,还执行:上位机向所述发电机组控制器发送解锁指令;所述发电机组控制器接收上位机发送的解锁指令,并判断解锁指令与预先设置的解锁指令是否一致;若一致,则判定发电机组控制器解锁成功,允本文档来自技高网...
【技术保护点】
1.一种加密发电机组控制器的方法,其特征在于,包括以下步骤:/n上位机读取发电机组控制器的单片机唯一ID序列号;/n上位机生成随机数A,并将所述随机数A插入到单片机唯一ID序列号中某个位置,生成中间码A;其中,所述中间码A包括单片机唯一ID序列号和所述随机数A;/n上位机对所述中间码A进行MD5校验,并将获得的MD5校验值作为对应发电机组控制器的秘钥;/n上位机将所述随机数A和所述秘钥写入相应发电机组控制器,对发电机组控制器进行加密。/n
【技术特征摘要】
1.一种加密发电机组控制器的方法,其特征在于,包括以下步骤:
上位机读取发电机组控制器的单片机唯一ID序列号;
上位机生成随机数A,并将所述随机数A插入到单片机唯一ID序列号中某个位置,生成中间码A;其中,所述中间码A包括单片机唯一ID序列号和所述随机数A;
上位机对所述中间码A进行MD5校验,并将获得的MD5校验值作为对应发电机组控制器的秘钥;
上位机将所述随机数A和所述秘钥写入相应发电机组控制器,对发电机组控制器进行加密。
2.根据权利要求1所述加密发电机组控制器的方法,其特征在于:在上位机将所述随机数A和所述秘钥发送至发电机组控制器之前,还执行:
上位机向所述发电机组控制器发送解锁指令;
所述发电机组控制器接收上位机发送的解锁指令,并判断解锁指令与预先设置的解锁指令是否一致;
若一致,则判定发电机组控制器解锁成功,允许发电机组控制器与上位机进行通讯,以接收所述随机数A和所述秘钥;若不一致,则判定发电机组控制器解锁不成功,不允许发电机组控制器与上位机进行通讯。
3.根据权利要求1所述加密发电机组控制器的方法,其特征在于:在发电机组控制器接收并存储所述随机数A和所述秘钥之后,还执行:
上位机向所述发电机组控制器发送加锁指令;所述发电机组控制器接收上位机发送的加锁指令,并判断加锁指令与预先设置的加锁指令是否一致;
若一致,则判定发电机组控制器加锁成功,结束发电机组控制器与上位机之间的通讯进程;若不一致,则判定发电机组控制器加锁不成功,并输出加锁不成功的警示信息。
4.根据权利要求1所述加密发电机组控制器的方法,其特征在于:上位机设置随机数生成模块,所述随机数生成模块用以生成两个字节的第一随机数;
上位机随机抽取单片机唯一ID序列号中的两个字节作为第二随机数,对所述第一随机数和所述第二随机数求余处理,并将求余结...
【专利技术属性】
技术研发人员:冯斌,崔文峰,王磊,王向前,王洪杰,
申请(专利权)人:郑州众智科技股份有限公司,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。