CN106850206B - 基于plc的动态密码保护系统和方法 - Google Patents

基于plc的动态密码保护系统和方法 Download PDF

Info

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
Application number
CN201710113239.3A
Other languages
English (en)
Other versions
CN106850206A (zh
Inventor
刘柏严
邱兆军
刘海伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
B&r Industrial Automation China Co ltd
Original Assignee
B&r Industrial Automation China Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by B&r Industrial Automation China Co ltd filed Critical B&r Industrial Automation China Co ltd
Priority to CN201710113239.3A priority Critical patent/CN106850206B/zh
Publication of CN106850206A publication Critical patent/CN106850206A/zh
Application granted granted Critical
Publication of CN106850206B publication Critical patent/CN106850206B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption 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的动态密码保护系统和方法,以解决上述问题。
本发明采用了如下技术方案:
一种基于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],矩阵表达如下:原始密码矩阵
Figure BDA0001234951740000061
矩阵顺序加密码的换列顺序码为123456,换行顺序码为123,那么加密过程是先固定第1列,分别取出换行顺序码中的数据,填入加密矩阵第一行前三个数据。这样加密矩阵如下:
Figure BDA0001234951740000062
然后取固定第2列,分别取出换行顺序码中的数据填入加密矩阵第一行后三个数据。这样加密矩阵如下:
Figure BDA0001234951740000063
同样按照顺序取后面列数据,最终加密矩阵变成
Figure BDA0001234951740000064
Figure BDA0001234951740000071
提取数据变为[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自身的序列号进行比对,如果一致,那么将使用时间赋值给内部变量,并打开相应功能。
CN201710113239.3A 2017-02-28 2017-02-28 基于plc的动态密码保护系统和方法 Active CN106850206B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京市科学技术情报研究所 基于可信操作指令遥控远程自控装置的物联网安全实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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