风力发电机组的可编程控制器程序的保护方法及装置的制造方法

文档序号:8497223阅读:454来源:国知局
风力发电机组的可编程控制器程序的保护方法及装置的制造方法
【技术领域】
[0001]本发明涉及软件保护领域,尤其涉及一种风力发电机组的可编程控制器PLC程序的保护方法及装置。
【背景技术】
[0002]随着风电技术的发展,风机主控系统程序的功能越来越强大,即使在没有源代码的情况下,仅依靠无源程序和修改部分配置参数就可以适应新的机型或者主控系统控制柜,因此控制程序需得到相应的保护。
[0003]现有技术中使用的一种加密、解密方法及应用所述方法的PLC系统。该技术方案是在系统中存储一个算法,利用该算法将存储器的唯一标识符映射为密钥,通过对称加密算法使用该密钥对PLC存储器内信息进行加密。然而,这种加密方式影响了风机运行数据正常的导入导出操作,因此,该技术方案并不适用于风电领域。

【发明内容】

[0004]本发明实施例的目的在于,提供一种风力发电机组的可编程控制器程序的保护方法及装置,能够对风机控制程序进行保护,从而防止控制程序被应用到不被授权的产品或者复制品上,同时不影响风机运行数据的导入导出操作。
[0005]为实现上述发明目的,本发明的实施例提供了一种风力发电机组的可编程控制器程序的保护方法,所述方法包括:获取当前PLC的硬件标识数据;根据所述当前PLC的硬件标识数据通过预设的密钥生成算法生成本机密钥;获取授权密钥;通过预设的密钥解析算法对授权密钥进行解析,得到比对密钥;将所述本机密钥与所述比对密钥进行比对,如果所述本机密钥与所述比对密钥匹配,则允许所述当前PLC运行。
[0006]本发明的实施例还提供了一种风力发电机组的可编程控制器程序的保护装置,所述装置包括:硬件标识数据获取模块,用于获取当前PLC的硬件标识数据;本机密钥生成模块,用于根据所述当前PLC的硬件标识数据通过预设的密钥生成算法生成本机密钥;授权密钥获取模块,用于获取授权密钥;密钥解析模块,用于通过预设的密钥解析算法对授权密钥进行解析,得到比对密钥;授权控制模块,用于将所述本机密钥与所述比对密钥进行比对,如果所述本机密钥与所述比对密钥匹配,则允许所述当前PLC运行。
[0007]本发明实施例提供的风力发电机组的可编程控制器程序的保护方法及装置,通过将对授权密钥进行解析得到的比对密钥和本机密钥进行比对,在本机密钥和比对密钥匹配上的情况下,允许当前PLC运行,从而实现对风机控制程序的保护,防止了控制程序被应用到不被授权的产品或者复制品上,同时不影响风机运行数据的导入导出操作,符合风电领域对程序保护的要求。
【附图说明】
[0008]图1为本发明实施例一的风力发电机组的可编程控制器程序的保护方法的流程示意图;
[0009]图2为授权密码的生成原理示意图;
[0010]图3为本发明实施例二的风力发电机组的可编程控制器程序的保护装置的结构示意图。
【具体实施方式】
[0011]下面结合附图对本发明实施例风力发电机组的可编程控制器程序的保护方法及装置进行详细描述。
[0012]实施例一
[0013]图1为本发明实施例一的风力发电机组的可编程控制器程序的保护方法的流程示意图,如图1所示,风力发电机组的可编程控制器程序的保护方法包括:
[0014]步骤101:获取当前PLC的硬件标识数据。具体的,对于任意PLC硬件模块都有唯一的硬件标识,利用该硬件标识可以对PLC硬件模块进行识别,因此,硬件标识数据可以具体为例如但不限于,PLC的身份标识码、通信端口的物理地址,二者可单独使用,也可一起使用。
[0015]步骤102:根据当前PLC的硬件标识数据通过预设的密钥生成算法生成本机密钥。
[0016]具体的,在步骤101获取当前PLC的硬件标识数据之后,就可以将当前PLC的硬件标识数据进行十进制处理,对处理后的硬件标识数据进行哈希(HASH)函数运算得到加密数据,再为该加密数据赋予伪码,最终生成本机密钥,需要说明的是,该本机密钥具有不可读性。
[0017]步骤103:获取授权密钥。具体的,被授权者可查看PLC硬件外壳上的信息,利用信息中提供的PLC硬件标识数据和授权时间,通过高级语言开发用于授权的软件(简称授权软件),计算得到该授权密钥。
[0018]以下对授权密钥的生成进行详细说明,图2为授权密码的生成原理示意图,参照图2,首先,获取被授权PLC的硬件标识数据和授权时间,将被授权PLC的硬件标识数据转换成十进制整数,再进行HASH函数运算,并附加相应伪码得到密钥A,需要说明的是伪码是为增加破解难度而添加的无效数据,其次,再分别将密钥A和获取到的授权时间进行二进制码转换,得到二进制码a和二进制码b,将二进制码a和二进制码b进行移码处理,也就是将二进制码b移码到二进制码a的右边,最后对移码后的数据进行十进制转换,从而生成授权密钥。
[0019]在生成授权密钥之后,就可通过例如但不限于文件存储的方式预置在PLC存储器的指定文件中,以便于本步骤获取授权密钥的处理。
[0020]在实际应用中,本实施例提及的授权软件可以是为用户提供的授权密钥计算平台,用户需在联网后以有效身份(例如办公系统的身份识别码)登录,授权密钥计算平台自动搜索该用户权限,并查询该用户是否有授权权限,对于有授权权限的用户,远程下发授权许可使授权软件自动进入授权界面,从而进行授权密钥的计算。
[0021]步骤104:通过预设的密钥解析算法对授权密钥进行解析,得到比对密钥。
[0022]步骤105:将本机密钥与比对密钥进行比对,如果本机密钥与比对密钥匹配,则允许当前PLC运行。
[0023]本发明的风力发电机组的可编程控制器程序的保护方法,通过将对授权密钥进行解析得到的比对密钥和本机密钥进行比对,在本机密钥和比对密钥匹配上的情况下,允许当前PLC运行。通过比较分析可以得出本实施例的技术方案具有如下技术效果:
[0024]—方面,本实施例实现了对风机控制程序的保护,防止了控制程序被应用到不被授权的产品或者复制品上;
[0025]另一方面,本实施例是运用了硬件与软件相绑定的加密方式,相对于现有技术中,对PLC存储器的信息进行加密的方式而言,本发明不影响风机运行数据的导入导出操作,更符合风电领域对程序保护的要求。
[0026]进一步地,如前述可知,授权密钥是由PLC硬件标识数据和授权时间计算得到的,因此,通过预设的密钥解析算法对授权密钥进行解析,除了可以得到比对密钥,还可以得到授权时间。因此,步骤105可以包括:在授权时间内允许PLC运行。这里需要说明的是,本实施例提及的授权时间是风机控制程序应用到对应PLC硬件运行的许可时间。这样通过在授权密钥中加入授权时间,增加了授权密钥的破解难度,更好地对风机控制程序进行保护。
[0027]具体的,获取当前PLC的运行时间,并判断当前PLC的运行时间是否大于等于授权时间,如果运行时间大于授权时间,则停止当前PLC运行,如果运行时间小于授权时间,则允许当前PLC运行。
[0028]在实际应用中,PLC每次上电之后,会进行当前PLC的运行时间与授权时间进行比较的处理过程,本实施例提及的运行时间是PLC每次上电后运行过的时间的累加,在硬件上通过计时器来完成,将计时器记录的数据
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1