CN106850206B - 基于plc的动态密码保护系统和方法 - Google Patents
基于plc的动态密码保护系统和方法 Download PDFInfo
- Publication number
- CN106850206B CN106850206B CN201710113239.3A CN201710113239A CN106850206B CN 106850206 B CN106850206 B CN 106850206B CN 201710113239 A CN201710113239 A CN 201710113239A CN 106850206 B CN106850206 B CN 106850206B
- Authority
- CN
- China
- Prior art keywords
- plc
- encryption
- code
- serial number
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供一种基于PLC的动态密码保护系统和方法,基于PLC的动态密码保护系统包括:加密模块和解密模块,其中,加密模块具有:钥匙码加密子模块;替换加码子模块;以及矩阵变化加密子模块,输入信息为动态码,序列号,允许使用时间,以上三个部分经过处理后都变成a位数据,组成3行a列矩阵做为输入,将3行a列矩阵一共3a位数据做为加密结果输出,解密模块,相对于加密的过程逆向运行,对加密后的数据进行解密。本发明提供一种基于PLC的动态密码保护系统和方法,由于使用动态密码进行加密解密,这样可以将密码告知用户,让用户自行解锁,由于每次密码都是不同的,所以不用担心密码泄露以及用户重复使用密码。
Description
技术领域
本发明涉及一种基于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列,分别取出换行顺序码中的数据填入加密矩阵第一行后三个数据。这样加密矩阵如下:
同样按照顺序取后面列数据,最终加密矩阵变成
提取数据变为[agmbhnciodjpekqflr].
如果换行顺序码为132,那么加密数据变为[amgbnhcoidpjeqkfrl]解密过程反向带入可以得到原始数据。
操作顺序:
首先需要PLC提供动态码和模块序列号,动态码是一个随机数据,可以通过采集plc开机时时间或者plc程序每次上电生成一个随机数,用来生成动态密码,模块序列号是PLC的序列号,用来限制每个plc密码不同。动态码和模块序列号由设备用户告知设备生产厂,设备生产厂根据需求确定功能开放时间(即“允许时间”),并通过以上三个参数生成动态密码告知用户,用户将动态密码输入在设备上后解锁功能。
加密程序描述:
加密时还可以限制功能解锁的时间范围,以小时为单位。以上三个参数为加密输入,每个参数最大5位长度,在加密程序中将数字转化为字符串进行处理。防止以零开头的数字被忽略。输入数据通过预先设定好的加密规则进行加密产生18位密码。加密规则指钥匙码,替换码,矩阵顺序码。加密规则码是需要保密的,需要设备生产厂专人保管。
解密程序描述:
解密程序在设备中,用户输入密码后,设备进行解密,解密过程如上描述,解密后得到原始数据动态码,允许时间,和PLC序列号。PLC将以上三个数据和本身的三个数据进行比较,如果动态码和plc序列号一致,那么将使用时间赋值给内部变量,并打开相应功能。打开哪些功能由设备生产厂决定,此部分为另外程序不在讨论范围内。
以上只是表达了本发明的原理,本行业的技术人员应该了解,为了防止间接被破解,需要配合心跳变量将此部分程序和其他程序关联起来,并且将关键参数隐藏掉,防止直接修改关键参数。为了防止修改系统时间造成间接破解,可以内部计时采用累加方式。每个小时保存一次。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。
Claims (7)
1.一种基于PLC的动态密码保护系统,其特征在于,包括:
加密模块和解密模块,
其中,所述加密模块具有:
钥匙码加密子模块,设定一个钥匙码,将原始数据和钥匙码进行加减或乘除运算,产生加密数据;
替换加码子模块,预先定义好替换码,将原始数据x进行逐个替换,得到结果y;以及
矩阵变化加密子模块,输入信息为动态码,序列号,允许使用时间,以上三个数据经过处理后都变成a位数据,组成3行a列矩阵做为输入,设置一个矩阵顺序加密码,由换列顺序码和换行顺序码组成,以矩阵顺序码作为规则改变行列顺序产生新的3行a列矩阵,将3行a列矩阵一共3a位数据做为加密结果输出,
加密模块运用三个子模块中的至少两个对动态码、序列号和允许使用时间进行加密,
解密模块,相对于使用子模块进行加密的过程逆向运行,对加密后的数据进行解密。
2.如权利要求1所述的基于PLC的动态密码保护系统,其特征在于:
其中,加密模块使用全部三个子模块对动态码、序列号和允许使用时间进行加密。
3.如权利要求2所述的基于PLC的动态密码保护系统,其特征在于:
其中,加密模块依次使用钥匙码加密子模块、替换加码子模块和矩阵变化加密子模块对动态码、序列号以及允许使用时间进行加密。
4.一种基于PLC的动态密码保护方法,利用如权利要求1-3中任意一项所述的基于PLC的动态密码保护系统进行密码保护,其特征在于,包括如下步骤:
步骤一:设定加密规则;
步骤二:PLC提供动态码和模块序列号;
步骤三:设定允许使用时间,然后使用加密模块对动态码、模块序列号和允许使用时间进行加密生成动态密码;
步骤四:将动态密码传送给用户,在设备上的解密模块中进行解密,得到密码。
5.如权利要求4所述的基于PLC的动态密码保护方法,其特征在于:
其中,动态密码是通过采集plc开机时时间或者plc程序每次上电生成一个随机数而得到的。
6.如权利要求4所述的基于PLC的动态密码保护方法,其特征在于:
其中,所述模块序列号是PLC的序列号,用来限制每个plc密码不同。
7.如权利要求4所述的基于PLC的动态密码保护方法,其特征在于:
在步骤四中,解密时还包括步骤:PLC将由动态码解密出的PLC序列号和PLC自身的序列号进行比对,如果一致,那么将使用时间赋值给内部变量,并打开相应功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710113239.3A CN106850206B (zh) | 2017-02-28 | 2017-02-28 | 基于plc的动态密码保护系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710113239.3A CN106850206B (zh) | 2017-02-28 | 2017-02-28 | 基于plc的动态密码保护系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106850206A CN106850206A (zh) | 2017-06-13 |
CN106850206B true CN106850206B (zh) | 2020-07-07 |
Family
ID=59138885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710113239.3A Active CN106850206B (zh) | 2017-02-28 | 2017-02-28 | 基于plc的动态密码保护系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850206B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858235B (zh) * | 2019-02-13 | 2021-08-13 | 广东小天才科技有限公司 | 一种便携式设备及其暗码获取方法和装置 |
CN113726745A (zh) * | 2021-08-03 | 2021-11-30 | 合肥友高物联网标识设备有限公司 | 一种基于plc的动态加密算法 |
CN114167845B (zh) * | 2021-12-23 | 2023-12-05 | 广东嘉腾机器人自动化有限公司 | 一种plc与设备的通讯离线诊断方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101029546A (zh) * | 2006-03-02 | 2007-09-05 | 黄涛 | 电子密码锁系统以及控制和开启方法 |
CN101294463A (zh) * | 2008-06-18 | 2008-10-29 | 大连交通大学 | 基于电子密码锁的动态加密和开启方法 |
CN101783805A (zh) * | 2010-03-01 | 2010-07-21 | 田耕 | 一种利用动态矢量矩阵的加密通信方法 |
CN101793115A (zh) * | 2009-12-20 | 2010-08-04 | 姜君凯 | 电子锁和钥匙及工作流程控制 |
CN104618327A (zh) * | 2014-12-30 | 2015-05-13 | 北京市科学技术情报研究所 | 基于可信操作指令遥控远程自控装置的物联网安全实现方法 |
-
2017
- 2017-02-28 CN CN201710113239.3A patent/CN106850206B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101029546A (zh) * | 2006-03-02 | 2007-09-05 | 黄涛 | 电子密码锁系统以及控制和开启方法 |
CN101294463A (zh) * | 2008-06-18 | 2008-10-29 | 大连交通大学 | 基于电子密码锁的动态加密和开启方法 |
CN101793115A (zh) * | 2009-12-20 | 2010-08-04 | 姜君凯 | 电子锁和钥匙及工作流程控制 |
CN101783805A (zh) * | 2010-03-01 | 2010-07-21 | 田耕 | 一种利用动态矢量矩阵的加密通信方法 |
CN104618327A (zh) * | 2014-12-30 | 2015-05-13 | 北京市科学技术情报研究所 | 基于可信操作指令遥控远程自控装置的物联网安全实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106850206A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850206B (zh) | 基于plc的动态密码保护系统和方法 | |
CN101461173B (zh) | 同音替代对称加密 | |
CN109543423B (zh) | 控制板加密和解密方式、终端设备及计算机可读存储介质 | |
KR101623503B1 (ko) | Lea 블록암호의 화이트박스 암호 구현 장치 및 방법 | |
CN113098675B (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
CN110505054B (zh) | 一种基于动态白盒的数据处理方法、装置及设备 | |
CN105095695A (zh) | 经由白箱实现的不正确功能行为实现授权 | |
CN1241352C (zh) | 加密二进制编码信息的方法 | |
CN103179319A (zh) | 一种双混沌系统数学图像加密方法 | |
CN105763322B (zh) | 一种可混淆的加密密钥隔离数字签名方法及系统 | |
KR0137709B1 (ko) | 암호화된 컴퓨터 목적 코드의 암호 해독 방지 방법 | |
EP2717511A1 (en) | Method and device for digital data blocks encryption and decryption | |
CN111314270B (zh) | 一种基于有效期均匀分布对称算法的数据加密和解密方法 | |
KR101602803B1 (ko) | 편광을 이용한 암호화 및 복호화방법 | |
CN114722359B (zh) | 一种基于自定义类加载器的Java源码保护方法 | |
KR20160099864A (ko) | 블록암호 lea 의 암호화/복호화 장치 | |
CN104331987B (zh) | 一种公交车投币机开锁密码加密方法 | |
CN102622561A (zh) | 一种软件中调用数据的加密及解密方法 | |
KR100259836B1 (ko) | N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법 | |
CN111611602B (zh) | 一种基于国密芯片的安全可控量产方法 | |
CN109495430A (zh) | 一种基于泄序加密的解密算法 | |
CN114077731A (zh) | 一种电气控制系统定时锁机和解锁方法 | |
CN100359494C (zh) | 电子文件字符内码变换加密方法 | |
JP2012049765A (ja) | 秘匿性増強処理演算装置およびこれを備えた量子暗号通信端末 | |
KR20210123700A (ko) | 분실된 개인 키를 복원하는 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |