CN104573423A - 一种plc软硬件结合加密保护方法 - Google Patents

一种plc软硬件结合加密保护方法 Download PDF

Info

Publication number
CN104573423A
CN104573423A CN201510043562.9A CN201510043562A CN104573423A CN 104573423 A CN104573423 A CN 104573423A CN 201510043562 A CN201510043562 A CN 201510043562A CN 104573423 A CN104573423 A CN 104573423A
Authority
CN
China
Prior art keywords
encipherment
plc
software
value
encryption
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.)
Granted
Application number
CN201510043562.9A
Other languages
English (en)
Other versions
CN104573423B (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.)
XINJE ELECTRONIC CO Ltd
Original Assignee
XINJE ELECTRONIC 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 XINJE ELECTRONIC CO Ltd filed Critical XINJE ELECTRONIC CO Ltd
Priority to CN201510043562.9A priority Critical patent/CN104573423B/zh
Publication of CN104573423A publication Critical patent/CN104573423A/zh
Application granted granted Critical
Publication of CN104573423B publication Critical patent/CN104573423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

本发明涉及一种PLC软硬件结合加密保护方法,包括初始值可隐藏编辑的加密寄存器及具有函数功能块加密导出功能的PLC编程软件,上电修改加密寄存器的至少一个值为特定值,定义为加密标志位;运行PLC编程软件,添加函数功能块进行程序语言编辑,实现校验判断加密标志位的值是否正确,如正确,则置位PLC编程软件中的梯形图主程序的关键标志位;选择以隐藏信息的方式加密导出函数功能块,生成加密程序包;重新导入打开加密程序包,在梯形图主程序中调用加密程序包,校验判断关键标志位是否置位,若是,则启动执行主程序。这种PLC软硬件结合加密保护方法,其提高了软件与硬件之间的加密性,从而提升了PLC的安全性能。

Description

一种PLC软硬件结合加密保护方法
技术领域
本发明涉及一种PLC软硬件结合加密保护方法。
背景技术
在PLC市场销售中,常会出现代理商(即程序开发方)辛苦为客户开发了工程程序,客户得到工程程序后,从其它渠道获得低价PLC裸机,将代理商为其开发的工程下载到裸机使用,而不再从代理商处购买,这样就使代理商的利益损失。传统的加密方法是通过设置PLC程序密码,防止客户下载或上传程序,这样客户就无法看到程序内容,而且一旦客户获知密码,就可以将程序应用在其它PLC设备上,不在通过代理商处购买,从而代理商利益受到损失。
为了保护代理商(即程序开发方)的利益,因此迫切需要一种软硬件结合的PLC加密保护方法,使开发的PLC程序具有较高的加密性,提升PLC的安全性能,既能使客户获得工程程序,又使客户必须依赖代理商的供货,从而保护程序开发方的劳动成果。
发明内容
本发明的目的在于克服上述现有技术的问题,提供一种PLC软硬件结合加密保护方法,其可提高软件与硬件之间的加密性,从而提升PLC的安全性能。
本发明的目的是通过以下技术方案来实现:
一种PLC软硬件结合加密保护方法,包括初始值可隐藏编辑的加密寄存器及具有函数功能块加密导出功能的PLC编程软件,上电修改所述加密寄存器的至少一个值为特定值,定义为加密标志位;运行所述PLC编程软件,添加函数功能块进行程序语言编辑,实现校验判断所述加密标志位的值是否正确,如正确,则置位所述PLC编程软件中的梯形图主程序的关键标志位;选择以隐藏信息的方式加密导出所述函数功能块,生成加密程序包;重新导入打开所述加密程序包,在所述梯形图主程序中调用所述加密程序包,校验判断所述关键标志位是否置位,若是,则执行启动主程序;若否则不执行。
进一步地,所述加密寄存器的其中一个值为特定值。
本发明所述的PLC软硬件结合加密保护方法,将硬件部分加密寄存器内的至少一个值设置为特定值,并将软件程序编写为对应的加密程序包,在加密程序包中设置启动标志位,使用时判断硬件部分加密寄存器中的相应位置值是否与特定值对应,若是则置位启动标志位,从而顺利执行启动主程序。这种PLC软硬件结合加密保护方法,其提高了软件与硬件之间的加密性,从而提升了PLC的安全性能。
附图说明
图1为本发明所述一种PLC软硬件结合加密保护方法一具体实施例中的流程演示图一;
图2为本发明所述一种PLC软硬件结合加密保护方法一具体实施例中的流程演示图二;
图3为本发明所述一种PLC软硬件结合加密保护方法一具体实施例中的流程演示图三;
图4为本发明所述一种PLC软硬件结合加密保护方法一具体实施例中的流程演示图四;
图5为本发明所述一种PLC软硬件结合加密保护方法一具体实施例中的流程演示图五;。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明。
如图1所示,本发明所述的一种PLC软硬件结合加密保护方法,包括初始值可隐藏编辑的加密寄存器及具有函数功能块加密导出功能的PLC编程软件,上电修改加密寄存器的至少一个值为特定值,定义为加密标志位;运行PLC编程软件,添加函数功能块进行程序语言编辑,实现校验判断加密标志位的值是否正确,如正确,则置位PLC编程软件中的梯形图主程序的关键标志位;选择以隐藏信息的方式加密导出函数功能块,生成加密程序包;重新导入打开加密程序包,在梯形图主程序中调用加密程序包,校验判断关键标志位是否置位,若是,则执行启动主程序;若否则不执行。更具体地,加密寄存器的其中一个值为特定值。
为了便于理解该PLC软硬件结合加密保护方法,以上电修改加密寄存器的一个值为例做进一步的描述:
如图1所示,采用FD加密寄存器,定义加密寄存器的段为FD0-FD31,其每个段的值可以修改但不可见,其值修改后显示一直为0,加密时,首先上电修改某个加密寄存器(以FD0作演示)的值为123;如图2所示,在PLC编程软件的编辑界面中添加一个C函数功能块FUNC1,在C函数功能块FUNC1中判断加密标志位FD0的值是否设为设定值123,若是,则置位梯形图主程序的关键标志位M100,然后编译保存C函数功能块FUNC1;如图3所示,选择以不可编辑的方式加密导出,在导出方式的选项框内选择“不可编辑”,在本实施例中,将隐藏信息再导出的功能定义为“不可编辑”,进而保存为加密程序包FUNC1.FCB,并在PLC的编辑界面删除C函数功能块FUNC1。如图4所示,导入刚刚保存的加密程序包FUNC1.FCB,由于保存时选择了“不可编辑”,因此,此时新加载的C函数功能块内容不可视;如图5所示,在梯形图主程序中调用该加密C函数功能块FUNC1,使用时校验判断加密标志位FD0与设定值是否一致,校验通过关键标志位M100才被置位,并启动整个主程序的正常运行。若加密标志位FDO与关键标志位的值校验不通过,则整个主程序将无法启动运行。
由于采用软硬件结合的加密保护方法,用户可以上传或下载软件程序,但是由于启动标志位与加密寄存器值不知道,因此程序移植到其他的PLC中也无法使用。
以上所述仅为说明本发明的实施方式,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种PLC软硬件结合加密保护方法,其特征在于,包括初始值可隐藏编辑的加密寄存器及具有函数功能块加密导出功能的PLC编程软件,上电修改所述加密寄存器的至少一个值为特定值,定义为加密标志位;运行所述PLC编程软件,添加函数功能块进行程序语言编辑,实现校验判断所述加密标志位的值是否正确,如正确,则置位所述PLC编程软件中的梯形图主程序的关键标志位;选择以隐藏信息的方式加密导出所述函数功能块,生成加密程序包;重新导入打开所述加密程序包,在所述梯形图主程序中调用所述加密程序包,检验判断所述关键标志位是否置位,若是,则执行启动主程序;若否则不执行。
2.如权利要求1所述的PLC软硬件结合加密保护方法,其特征在于,所述加密寄存器的其中一个值为特定值。
CN201510043562.9A 2015-01-26 2015-01-26 一种plc软硬件结合加密保护方法 Active CN104573423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510043562.9A CN104573423B (zh) 2015-01-26 2015-01-26 一种plc软硬件结合加密保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510043562.9A CN104573423B (zh) 2015-01-26 2015-01-26 一种plc软硬件结合加密保护方法

Publications (2)

Publication Number Publication Date
CN104573423A true CN104573423A (zh) 2015-04-29
CN104573423B CN104573423B (zh) 2017-10-31

Family

ID=53089467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510043562.9A Active CN104573423B (zh) 2015-01-26 2015-01-26 一种plc软硬件结合加密保护方法

Country Status (1)

Country Link
CN (1) CN104573423B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325202A (zh) * 2016-09-29 2017-01-11 深圳市合信自动化技术有限公司 一种对子程序进行加密的方法、校验方法及相应的plc编程系统
CN107329449A (zh) * 2017-06-26 2017-11-07 中交航局安装工程有限公司 一种基于ab系统的plc即插即用模块的创建方法
CN107844093A (zh) * 2016-09-18 2018-03-27 南京南瑞继保电气有限公司 一种基于元件模型的自定义功能块及组态封装方法
CN110114772A (zh) * 2017-06-23 2019-08-09 三菱电机株式会社 梯形图程序非法利用防止系统、梯形图程序非法利用防止方法、工程工具、许可发布服务器及可编程控制器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003288A1 (en) * 2002-06-28 2004-01-01 Intel Corporation Trusted platform apparatus, system, and method
CN1749915A (zh) * 2005-10-19 2006-03-22 北京飞天诚信科技有限公司 从软件中提取部分代码至加密装置中的软件版权保护方法
CN101261664A (zh) * 2008-04-10 2008-09-10 北京深思洛克数据保护中心 一种使用软件保护装置存储程序代码实现软件保护的方法
CN101329658A (zh) * 2007-06-21 2008-12-24 西门子(中国)有限公司 加密、解密方法,及应用所述方法的plc系统
CN102799434A (zh) * 2012-07-12 2012-11-28 北京深思洛克软件技术股份有限公司 一种利用软件保护装置实现自动代码移植的方法
CN103414741A (zh) * 2013-07-02 2013-11-27 深圳市汇川技术股份有限公司 一种远程升级plc的方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003288A1 (en) * 2002-06-28 2004-01-01 Intel Corporation Trusted platform apparatus, system, and method
CN1749915A (zh) * 2005-10-19 2006-03-22 北京飞天诚信科技有限公司 从软件中提取部分代码至加密装置中的软件版权保护方法
CN101329658A (zh) * 2007-06-21 2008-12-24 西门子(中国)有限公司 加密、解密方法,及应用所述方法的plc系统
CN101261664A (zh) * 2008-04-10 2008-09-10 北京深思洛克数据保护中心 一种使用软件保护装置存储程序代码实现软件保护的方法
CN102799434A (zh) * 2012-07-12 2012-11-28 北京深思洛克软件技术股份有限公司 一种利用软件保护装置实现自动代码移植的方法
CN103414741A (zh) * 2013-07-02 2013-11-27 深圳市汇川技术股份有限公司 一种远程升级plc的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GUO4285: "台达PLC解密大全", 《HTTPS://ZHIDAO.BAIDU.COM/QUESTION/2138867720462696668.HTML》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844093A (zh) * 2016-09-18 2018-03-27 南京南瑞继保电气有限公司 一种基于元件模型的自定义功能块及组态封装方法
CN107844093B (zh) * 2016-09-18 2020-02-07 南京南瑞继保电气有限公司 一种基于元件模型的自定义功能块及组态封装方法
CN106325202A (zh) * 2016-09-29 2017-01-11 深圳市合信自动化技术有限公司 一种对子程序进行加密的方法、校验方法及相应的plc编程系统
CN110114772A (zh) * 2017-06-23 2019-08-09 三菱电机株式会社 梯形图程序非法利用防止系统、梯形图程序非法利用防止方法、工程工具、许可发布服务器及可编程控制器
CN107329449A (zh) * 2017-06-26 2017-11-07 中交航局安装工程有限公司 一种基于ab系统的plc即插即用模块的创建方法

Also Published As

Publication number Publication date
CN104573423B (zh) 2017-10-31

Similar Documents

Publication Publication Date Title
KR102433011B1 (ko) Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체
CN104539432B (zh) 一种对文件进行签名的方法和装置
CN104680039B (zh) 一种应用程序安装包的数据保护方法及装置
CN104573423A (zh) 一种plc软硬件结合加密保护方法
CN109586963B (zh) 一种云仿真平台安全保障系统、服务器、终端以及方法
CN107480478B (zh) 一种java应用程序的加密方法及运行方法
CN107908392A (zh) 数据采集工具包定制方法、装置、终端和存储介质
CN105095771A (zh) 一种共享目标文件的保护方法及装置
ES2746127T3 (es) Integridad de descifrado de código bajo demanda
US10296728B2 (en) Method and system for providing cloud-based application security service
CN107273723B (zh) 一种基于so文件加壳的Android平台应用软件保护方法
CN106503494A (zh) 一种带有片上闪存微控制器的固件保护单元及保护方法
CN111385084A (zh) 数字资产的密钥管理方法、装置及计算机可读存储介质
CN104486355A (zh) 防止代码被恶意篡改的方法和装置
CN106326691B (zh) 加解密功能的实现方法、装置及服务器
US10572635B2 (en) Automatic correction of cryptographic application program interfaces
CN105701368B (zh) 一种混淆软件代码的方法
CN108111622A (zh) 一种下载白盒库文件的方法、装置及系统
CN108134673A (zh) 一种生成白盒库文件的方法及装置
CN110050258A (zh) 具有自动模块化功能的安全专区保护的应用程序盗版防止
CN104156673B (zh) 文件处理方法和装置
CN107784226A (zh) 利用非对称加密算法防止代码被恶意篡改的方法及系统
CN107220528A (zh) Java程序的保护与运行方法、装置和终端
CN103605927B (zh) 一种基于嵌入式Linux系统实现加密和解密方法及装置
CN107609415A (zh) 一种设备序列号写入保护方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant