基于PLC的动态密码保护系统和方法技术方案

技术编号:15652059 阅读:193 留言:0更新日期:2017-06-17 05:20
本发明专利技术提供一种基于PLC的动态密码保护系统和方法,基于PLC的动态密码保护系统包括:加密模块和解密模块,其中,加密模块具有:钥匙码加密子模块;替换加码子模块;以及矩阵变化加密子模块,输入信息为动态码,序列号,允许使用时间,以上三个部分经过处理后都变成a位数据,组成3行a列矩阵做为输入,将3行a列矩阵一共3a位数据做为加密结果输出,解密模块,相对于加密的过程逆向运行,对加密后的数据进行解密。本发明专利技术提供一种基于PLC的动态密码保护系统和方法,由于使用动态密码进行加密解密,这样可以将密码告知用户,让用户自行解锁,由于每次密码都是不同的,所以不用担心密码泄露以及用户重复使用密码。

【技术实现步骤摘要】
基于PLC的动态密码保护系统和方法
本专利技术涉及一种基于PLC的动态密码保护系统,本专利技术还涉及一种基于PLC的动态密码保护方法,属于密码生成和保护领域。
技术介绍
在工业控制领域,设备生产商经过多年行业积累,常常有一些自己独有的功能体现在设备里。设备生产商为了保护自己的知识产权,可能会限制某些功能的使用或采取收费模式。通过密码解锁这些功能。现有的密码解锁方法,缺点是密码为固定密码,容易被其他人记录造成密码泄露。如果采用每台设备一个密码必然造成每台设备需要修改程序,加大软件工程师的服务量。另外,由生产厂商在现场解锁功能会增加设备生产商的服务量。现有方法只能提前在程序中预先设定好允许使用时间,难以弹性的控制解锁功能的允许使用时间。
技术实现思路
本专利技术的目的在于提供一种基于PLC的动态密码保护系统和方法,以解决上述问题。本专利技术采用了如下技术方案:一种基于PLC的动态密码保护系统,其特征在于,包括:加密模块和解密模块,其中,加密模块具有:钥匙码加密子模块,设定一个钥匙码,将原始数据和钥匙码进行加减或乘除运算,产生加密数据;替换加码子模块,预先定义好替换码,将原始数据x进行逐个替换,得到结果y;以及矩阵变化加密子模块,输入信息为动态码,序列号,允许使用时间,以上三个部分经过处理后都变成a位数据,组成3行a列矩阵做为输入,设置一个矩阵顺序加密码,由换列顺序码和换行顺序码组成,以矩阵顺序码作为规则改变行列顺序产生新的3行a列矩阵,将3行a列矩阵一共3a位数据做为加密结果输出,加密模块运用三个子模块中的至少两个对动态码、序列号和允许使用时间进行加密,解密模块,相对于使用子模块进行加密的过程逆向运行,对加密后的数据进行解密。进一步,本专利技术的基于PLC的动态密码保护系统,还可以具有这样的特征:其中,加密模块使用全部三个子模块对动态码、序列号和允许使用时间进行加密。进一步,本专利技术的基于PLC的动态密码保护系统,还可以具有这样的特征:其中,加密模块依次使用钥匙码加密子模块、替换加码子模块和矩阵变化加密子模块对动态码、序列号以及允许使用时间进行加密。本专利技术还提供一种基于PLC的动态密码保护方法,利用如上述任意一项的基于PLC的动态密码保护系统进行密码保护,其特征在于,包括如下步骤:步骤一:设定加密规则;步骤二:PLC提供动态码和模块序列号;步骤三:设定允许使用时间,然后使用加密模块对动态码、模块序列号和允许使用时间进行加密生成动态密码;步骤四:将动态密码传送给用户,在设备上的解密模块中进行解密,得到密码。进一步,本专利技术的基于PLC的动态密码保护方法,还可以具有这样的特征:其中,动态密码是通过采集plc开机时时间或者plc程序每次上电生成一个随机数而得到的。进一步,本专利技术的基于PLC的动态密码保护方法,还可以具有这样的特征:其中,模块序列号是PLC的序列号,用来限制每个plc密码不同。进一步,本专利技术的基于PLC的动态密码保护方法,还可以具有这样的特征:在步骤四中,解密时还包括步骤:PLC将由动态码解密出的PLC序列号和PLC自身的序列号进行比对,如果一致,那么将使用时间赋值给内部变量,并打开相应功能。专利技术的有益效果本专利技术的基于PLC的动态密码保护系统和方法,具有以下优点:1.使用动态密码进行加密解密,这样可以将密码告知用户,让用户自行解锁,由于每次密码都是不同的,所以不用担心密码泄露以及用户重复使用密码。并且密码加密后难以破解。2.不需要现场服务,减少了服务量。3.每次都可以限制下一次的使用时间,即功能解锁时间。4.密码包含可以使用的时间。超过时间后锁定机器或特定功能。5.密码与硬件关联,一块程序卡不可以用于其它机器。硬件ID改变需要重新输入密码,可以防止更换硬件,防止拷贝程序卡。附图说明图1是基于PLC的动态密码保护系统的结构框图;图2是加密过程的流程图;图3是解密过程的流程图。具体实施方式以下结合附图来说明本专利技术的具体实施方式。如图1所示,基于PLC的动态密码保护系统,包括两个部分:加密模块11和解密模块12。其中,加密模块11还包括:钥匙码加密子模块13、替换加码子模块14和矩阵变化加密子模块15。加密模块11设置在设备生产厂一端,用来提供密码。解密模块12设置在设备端,当用户输入从设备生产厂获取的密码后,解密程序运行得到功能解锁命令以及功能解锁的时间。基于PLC的动态密码保护方法,包括以下步骤:步骤一:设定加密规则;步骤二:PLC提供动态码和模块序列号;步骤三:设定允许使用时间,然后使用加密模块对动态码、模块序列号和允许使用时间进行加密生成动态密码;步骤四:将动态密码传送给用户,在设备上进行解密,得到密码。为了保证密码可以解密,要求使用可逆的加密方法。在本实施方式中采取三种可逆加密方法串联进行加密解密。在实际应用中也可以结合需求采取其中的两种。加密和解密的过程如图2和图3所示。解密是加密的逆过程。具体如下:1.钥匙码加密通过设定一个钥匙码,将原始数据和钥匙码进行加减或乘除运算,产生加密数据,但是要保证计算可逆,即加密的数据可以反向计算回原始数据。例如5位原始数据source,采用5位数的钥匙码key,第一位k1表示乘法运算,2~5位k2用来加法运算,产生的加密数据x,加密过程x=key*k1+k2,解密过程key=(x-k2)/k1。整个计算过程是可逆的。加密后数据6位数。举例:钥匙码54321,那么乘法运算系数k1=5,加法运算系数k2=4321。加密原始数据5位34567,加密后数据是34567*5+4321=177156解密方法(177156–4321)/5=34567如果设定key=10000表示没有key加密。2.替换加密预先定义好替换码,将原始数据x进行逐个替换,得到结果y。为保证整个过程可逆,替换码不能有数字重复,即0~9的替换数据不能重复。替换加密不影响数据长度,即6位数替换加密后依然是6位数。举例:替换码[5432109876]表示将[0123456789]替换为[5432109876],0替换为替换码第1位5,1替换为替换码第2位4,9替换为替换码第10位6.如果加密数据是上例中的117156,那么替换结果是448409。解密即反向运算替换,448409解密变成117156。3.矩阵变化加密输入信息为动态码,序列号,允许使用时间。以上三个部分经过钥匙加密,替换加密后使其都变成6位数据。组成3行6列矩阵做为输入,设置一个矩阵顺序加密码,由换列顺序码和换行顺序码组成,以矩阵顺序码作为规则改变行列顺序产生新的3行6列矩阵,将3行6列矩阵一共18位数据做为加密结果输出。解密过程按照矩阵顺序加密码反向运行。举例:原始密码18位分别是动态码[a,b,c,d,e,f]机器号[g,h,I,j,k,l]允许使用小时[m,n,o,p,q,r]组成输入字符串[abcdefghijklmnopqr],矩阵表达如下:原始密码矩阵矩阵顺序加密码的换列顺序码为123456,换行顺序码为123,那么加密过程是先固定第1列,分别取出换行顺序码中的数据,填入加密矩阵第一行前三个数据。这样加密矩阵如下:然后取固定第2列,分别取出换行顺序码中的数据填入加密矩阵第一行后三个数据。这样加密矩阵如下:同样按照顺序取后面列数据,最终加密矩本文档来自技高网...
基于PLC的动态密码保护系统和方法

【技术保护点】
一种基于PLC的动态密码保护系统,其特征在于,包括:加密模块和解密模块,其中,所述加密模块具有:钥匙码加密子模块,设定一个钥匙码,将原始数据和钥匙码进行加减或乘除运算,产生加密数据;替换加码子模块,预先定义好替换码,将原始数据x进行逐个替换,得到结果y;以及矩阵变化加密子模块,输入信息为动态码,序列号,允许使用时间,以上三个数据经过处理后都变成a位数据,组成3行a列矩阵做为输入,设置一个矩阵顺序加密码,由换列顺序码和换行顺序码组成,以矩阵顺序码作为规则改变行列顺序产生新的3行a列矩阵,将3行a列矩阵一共3a位数据做为加密结果输出,加密模块运用三个子模块中的至少两个对动态码、序列号和允许使用时间进行加密,解密模块,相对于使用子模块进行加密的过程逆向运行,对加密后的数据进行解密。

【技术特征摘要】
1.一种基于PLC的动态密码保护系统,其特征在于,包括:加密模块和解密模块,其中,所述加密模块具有:钥匙码加密子模块,设定一个钥匙码,将原始数据和钥匙码进行加减或乘除运算,产生加密数据;替换加码子模块,预先定义好替换码,将原始数据x进行逐个替换,得到结果y;以及矩阵变化加密子模块,输入信息为动态码,序列号,允许使用时间,以上三个数据经过处理后都变成a位数据,组成3行a列矩阵做为输入,设置一个矩阵顺序加密码,由换列顺序码和换行顺序码组成,以矩阵顺序码作为规则改变行列顺序产生新的3行a列矩阵,将3行a列矩阵一共3a位数据做为加密结果输出,加密模块运用三个子模块中的至少两个对动态码、序列号和允许使用时间进行加密,解密模块,相对于使用子模块进行加密的过程逆向运行,对加密后的数据进行解密。2.如权利要求1所述的基于PLC的动态密码保护系统,其特征在于:其中,加密模块使用全部三个子模块对动态码、序列号和允许使用时间进行加密。3.如权利要求2所述的基于PLC的动态密码保护系统,其特征在于:其中,加密模块依次使用钥匙码加密子模块、替换加...

【专利技术属性】
技术研发人员:刘柏严邱兆军刘海伟
申请(专利权)人:贝加莱工业自动化中国有限公司
类型:发明
国别省市:上海,31

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

1