西门子PLC密码保护功能总结
一:硬件组态中打开CPU的protection(保护)选项,选第3个设置(读写保护),设置密码后保存编译重新下载硬件组态就可以了
二:1.打开程序编辑窗口LAD/FBD/STL;
2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File—>Generate source 生成);
3.在LAD/FBD/STL 窗口中关闭您的程序块,并在
SIMATIC Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
4.在程序块的声明部分,TITLE行下面的一行中输
入”KNOW_HOW_PROTECT”;
5.存盘并编译该source文件(选择菜单File Compile);◊Save,File◊
6.现在就完成了您程序块的加密保护。
注意:千万不要丢失或删除源文件,否则程序被保护,用户可以另存到其它目录中,或Export Source到硬盘中,再删除源文件,这样别人只能看到未保护的块。
三:
1,加密工具在STEP7软件下面的文件夹中:\STEP7 V5.5 SP2 ch\CD_2\Optional Components\S7 Block Privacy\
2,安装后,右键单击SIMATIC管理器中的“块”,执行快捷菜单中的“Block Provacy”命令,在弹出的“S7-Block Provacy”窗口勾
选要加密的程序块(见下图),然后右键单击选中的块,执行出现的“Encrypt block”命令,在出现的“Block encryption”窗口中输入密码(12~24个字符或24字节的数字),确定后就加密了,块上面出现加密的符号。
3,需要解密时右键单击“块”,执行快捷菜单中的“Block Provacy”命令,在弹出的窗口勾选要解密的程序块,然后右键单击块,执行出现的“Decrypt block”命令,在出现的“Block encryption”窗口中输入密码,确定后块就解密了,块上面加密的符号消失。
要求S7-300的CPU的固件版本为V3.2 或更高,S7-400 CPU的固件版本为V6.0或更高。
已加密的块不能用PLCSIM仿真。
西门子LOGO!密码保护的简单介绍
西门子LOGO!密码保护的简单介绍西门子LOGO!系列是小型自动化系统解决方案,它不仅外观小巧,经济实惠,而且用户易于上手,操作简单方便。
西门子LOGO!系列相当于填补了继电器与西门子PLC之间的技术空间,它通过集成了8种基本功能和30多种特殊功能,可以代替开关设备,时间继电器,接触器等。
西门子LOGO!有很强的电磁兼容性,完全符合工业标准,能够适用于各种气候条件。
用户在对西门子LOGO!进行编程操作时,为了保护用户的知识产权,有时需要进行密码保护设置。
本文下面对西门子LOGO!的密码保护功能做一个介绍,供用户在调试过程中进行参考。
西门子LOGO!具有密码保护功能,用户在设计完程序逻辑后,可以设置密码以保护用户的知识产权和系统的安全。
西门子LOGO!的密码设置方式如下:1. 为西门子LOGO!设置密码有两种方法(1)直接在西门子LOGO!上操作,进入“Password”功能项进行设置;(2)用LOGO!Soft Comfort软件编程时,进入命令菜单File(文件)-> Properties(属性)-> Password(密码)设置密码,然后将程序通过LOGO!编程电缆下载到西门子LOGO!中,密码也一起下载到西门子LOGO!中了。
这两种方法设置的密码功能效果一样,用户可以选择其中一种进行尝试。
2. 为西门子LOGO!清除密码方法如果用户要清除西门子LOGO!中的全部程序,对其重新编程或有程序备份则可执行下列操作。
在西门子LOGO!停止状态,直接在西门子LOGO!上进入Program(程序)-> ClearPrg(清除程序)操作。
当执行清除程序时,会要求用户输入密码,此时只需输入任意字符即可。
这样要反复执行3次清除程序的操作并输入任意密码,则程序及密码可全部从西门子LOGO!中清除。
西门子LOGO!使用方便,经济实用,在小型的自动化控制系统中应用很广。
用户可以根据项目的需求对西门子LOGO!模块进行合理的搭配和使用,并通过西门子LOGO!编程软件将程序逻辑进行编程组态和下载。
西门子_S7-200_PLC_60个经典问题及解答(二)
RS232接口收RXD和发TXD线独立,可以同时进行收发通讯,同时RS232设计成两个设备之间的单独通讯,不支持多于两个设备的联接,所以它的收发随时都可进行,不会发生通讯碰撞。
56: 同一个模块的不同通道是否可以分别接电流和电压型输入信号?
可以分别按照电流和电压型信号的要求接线。但是DIP开关设置对整个模块的所有通道有效,在这种情况下,电流、电压信号的规格必须能设置为相同的DIP开关状态。如上面表1、表2中,0 - 5V和0 - 20mA信号具有相同的DIP设置状态,可以接入同一个模拟量模块的不同通道。
51:CPU224 XP的高速输入输出到底能达到100K还是200K?
新产品CPU224 XP高速输入中的两路支持更加高的速度。用作单相脉冲输入时,可以达到200KHz;用作双相90°正交脉冲输入时,速度可达100KHz。
CPU224 XP的两路高速数字量输出速率可以达到100KHz。
可以设置背景通讯时间,背景通讯时间规定用于“运行模式编程”和程序、数据监控的Micro/WIN和CPU的通讯时间占整个程序扫描周期的百分比。增加这个时间可以增加监控的通讯机会,在Micro/WIN中的响应会感觉快一些,但是同时会加长程序扫描时间。
35:cpu上的指示灯可以自定义吗?
37:如果我忘了密码,如何访问一个带密码的CPU?
即便CPU 有密码保护,你也可以不受限制地使用以下功能:
1)读写用户数据
2)启动,停止 CPU
3)读取和设置实时时钟
如果不知道密码,用户不能读取或修改一个带三级密码保护的CPU中的程序。
世界知名工控厂商 密码保护机制突破之旅
工业控制系统(Industrial Control Systems ,ICS )监控和数据采集系统(SCADA )、分布式控制系统(DCS )和可编程逻辑控制器(PLC )国家关键信息基础设施国家安全,国计民生公共利益,社会稳定可编程逻辑控制器(Programmable Logic Controller简称:PLC)基础核心单元PLC密码:防止未经授权的操作,比如针对程序的参数修改;监视情况下修改或者强制操作寄存器、启动停止设备等;对程序进行非预期下载;利用私有协议对设备进行超越权限的恶意攻击;保护知识产权,设备供货商对PLC 设定密码保护,防止恶意者上载PLC内部程序,窃取设备工艺算法、关键参数设置,从而快速仿制控制装备等。
登录控制器,创建新工程,输入猜测密码Wireshark 抓包嗅探流量分析流量,找到密码相关的验证过程,寻找薄弱点已经包含了明文密码信息石器时代剑未出鞘城已破加密凭证信息泄露特殊内存块读取提取加密凭证加密凭证下发创建获取访问权限会话链接青铜器时代重点研究CN 版本4级密码保护的突破技术系统块中设置4级密码加密算法编译后系统块的二进制文件通过PPI协议下装至控制器存储至EEPROM芯片1个字节绕过校验过程铁器时代修改密码等级为01—烧写bin 至EEPROM—下装原始系统块参数—重新上电—上载程序客户端请求PLC随机数rkey PLC返回22字节数据客户端下发运算后的20个字节hash值PLC返回密码是否正确的响应报文输入pwd 控制器返回22字节rkeyX=SHA-1(rkey[0:2]+pwd)hardcode_key[12:14]=rkey[0:2]HMAC-SHA-1(X+Y,hardcode_key)Y=rkey[2:22]最终的加密密码fin_key 执行加密算法计算fin_key电气化时代柳暗花明又一村智能化时代组态软件●代码虚拟化保护技术,提高逆向成本●增加双向认证的功能●使用加密技术加强对于工程文件的保护控制器●关键敏感信息保存至信任区内,该区域做增强性保护●增加双向认证功能●强制密码强度设置●增加物理硬件防护技术,防拆焊逆向等●关键流量需要加密保护。
浅谈西门子PLC控制程序的保护
浅谈西门子PLC控制程序的保护前言:随着中国整体经济实力的加强,制造和加工工业正逐步向中国转移,这给中国国内工业装备市场带来了大量的商机,国内各行业的制造商开发和制造出大量价廉物美的设备,取得了良好的经济和社会效应。
但是,也有小部分的制造商,由于其自身能力和客观因素的限制,无法及时开发出合适的产品,但利益的驱动使他们把目光瞄准了同行,抄袭和仿制同行开发成功的产品,更有甚者是整机拷贝或者克隆。
由于现代工业设备大量采用PLC作为主控制系统,PLC作为整个设备的核心部件,其软件包涵了生产工艺,控制逻辑,设备数据,加工参数及信息通讯等重要内容,从而成为设备仿制者重点要获取的目标之一。
纵观目前中国国内市场上应用的主流品牌PLC,虽然在设计上都采用了各种软硬件加密的手段,但破解者运用的破解手段也越来越先进,从最初的穷举法,端口侦听,软件跟踪,到现在可以通过直接复制提取内存芯片的内容来分析破解,更有甚者在互连网上公开讨论和传播破解方法和工具,因此所有产品无一例外地遭到了破解。
这对中国众多的中小型OEM制造商来说是非常不利的,“我们几年的开发成果可能因此一夜之间付诸东流”当得知S7-200/300硬件加密也被破解后,一位OEM制造商无奈地说。
由于仿制者的开发成本很低或几乎为零,因此开发者还没有来得及收回开发成本就陷入了低价竞争,这极大的影响了开发者开发新产品的积极性,对我国的装备工业的长远发展是十分有害的。
难道就这样束手无策,听任仿制者为所欲为了吗?答案是否定的,多年来一直关注和研究P LC控制程序保护方面的问题,笔者在实践中取得了一些经验和心得,在本文中愿意和同行们共同分享和讨论,大家共同为保护自己的劳动成果而努力。
笔者多年来一直从事西门子SIAMTIC S7 PLC的应用,因此本文也只是从纯粹的技术层面出发,重点探讨SIMATIC S7 PLC控制程序的保护。
在系统设计的初期,我们应该从系统的角度来考虑PLC控制程序的保护:1. T.I.A(全集成自动化)的概念有助于保护我们的KNOW HOWT.I.A实现了组态和编程,数据管理和通讯,自动化与驱动产品(包括PLC控制器、HMI人机界面、网络、驱动器等产品)的高度集成。
图说S7-300(16)设置PLC密码保护
图说S7-300(16)设置PLC密码保护
当我们写好程序下载到PLC之后就希望PLC能正常稳定的运行。
为了防止人为出现的故障,要对PLC设置使用权限,来保护PLC程序不会被更改或程序被删除。
如何设置这个口令来保护PLC呢??
一、打开硬件组态界面
打开STEP7 单击目录中的SIMATIC 300 station
双击右窗口的Hardware 图标,从而入硬件组态界面。
二、双击CPU模块
三、选择protection 选项卡
选项卡中有三个保护级别,它们具体功能如下:
保护级别(Protection level)
1. No protection(无保护)
2. Write-protection(写保护:程序可读不可写)
3. Write-/read protecti(读写保护:即不可读也不可写)
四、选择级别三(读写保护),并输入密码并保存.
设置好读写口令保护之后,当我们要改写程序或读程序时,就会弹出输入口令模框,提示您
输入口令,只有输入的口令正确才可以正常读写。
通过学习这一节课之后你可以为你的PLC设置口令保护了。
1200plc加密方法
1200plc加密方法1200PLC加密方法概述PLC(Programmable Logic Controller,可编程逻辑控制器)是一种专用计算机,广泛应用于工业自动化领域。
为了保护PLC中的敏感数据以及防止未经授权的访问,加密技术在PLC中的应用变得越来越重要。
本文将介绍一种名为"1200PLC加密方法"的加密技术,该方法可以有效地保护PLC中的数据安全。
一、加密原理1200PLC加密方法采用了对称加密算法和非对称加密算法相结合的方式,以实现数据的机密性和完整性。
具体步骤如下:1. 对称加密算法使用对称加密算法对数据进行加密。
对称加密算法使用相同的密钥对数据进行加密和解密,加密速度快,适合对大量数据进行加密。
在1200PLC加密方法中,常用的对称加密算法有AES(Advanced Encryption Standard)和DES(Data Encryption Standard)等。
2. 非对称加密算法使用非对称加密算法对对称密钥进行加密。
非对称加密算法使用一对密钥进行加密和解密,分别称为公钥和私钥。
公钥用于加密数据,私钥用于解密数据。
在1200PLC加密方法中,常用的非对称加密算法有RSA(Rivest-Shamir-Adleman)和ECC(Elliptic Curve Cryptography)等。
3. 数字签名使用数字签名技术对加密数据进行认证。
数字签名是一种用于验证数据完整性和认证发送方身份的技术。
通过对数据进行哈希计算并使用私钥对哈希值进行加密,生成数字签名。
接收方使用公钥对数字签名进行解密,并对接收到的数据进行哈希计算,然后将计算结果与解密后的数字签名进行对比,以验证数据的完整性。
二、加密过程使用1200PLC加密方法对数据进行加密的过程如下:1. 生成密钥对生成一对公钥和私钥。
公钥用于加密数据,私钥用于解密数据。
2. 加密数据将明文数据使用对称加密算法进行加密。
浅谈西门子plc程序加密和程序块加密及解密
浅谈西门子plc程序加密和程序块加密及解密相信大家在使用STEP7打开一些程序时,常会遇到以下三种PLC 的加密情况,现根据自己的经历和大家一起分享探讨。
第一种情况。
是在硬件组态中,在CPU属性中按照保护等级设置密码,将CPU中程序锁住,不影响CPU的正常运行。
这种情况是往往是程序设计编程人员出于安全和知识产权的保护等目的而进行的设置。
常见的加密方式有三种,如图一所示。
1、程序可读出,数据可修改,运行可监视,只是程序不可更改。
(出于安全考虑)2、数据可修改,运行可监视,程序即不能读出也不能修改。
(出于安全考虑,也为保护知识产权)3、程序、数据、运行均不可读出、监视和更改。
(安全性最高)方法:在硬件组态中打开CPU的protection(保护)选项,选择所需加密方式,设置密码后保存编译重新下载硬件组态就可以了。
注意:如何设置密码忘记或丢失,那么只有通过编程软件在线连接PLC,清空PLC程序,(包括程序块,系统块和数据块)然后将备份的程序重新下载。
图一图二第二种情况就是程序中程序块的加密和解密。
方法步骤如下。
1、在STEP7中打开要加密的程序块,点击菜单“文件/生成源文件(File/Generate source)”,生成要加密保护的程序块的原代码文件。
2、关闭程序块,在项目管理器中打开“源文件(source)”,打开生成的源文件。
3、在程序块的声明部分,TITLE行下面的一行中输入“KNOW_HOW_PROTECT”。
(如图二所示)4、执行菜单命令“文件/保存(File/Save)”然后“文件/编译(File/Compile)”。
5、编译成功后,可在“块”中看到加锁的程序块。
6、解除密码,打开相应的“源文件”,把“KNOW_HOW_PROTECT”删除,然后编译即可。
注意,保存好源文件,否则已加密的程序块将无法打开。
同时,你用SCL源程序编译完成后,删除SCL源程序就行了。
别人没SCL源程序,打开你程序中的块时就只能显示成STL程序了。
基于西门子S7-300 PLC的电子密码锁系统设计
基于西门子S7-300 PLC的电子密码锁系统设计莫冰;刘长江【摘要】西门子S7-300可编程逻辑控制器(Programmable Logic Controller,PLC)在工业控制系统中有较为广泛的应用,但一直以来缺少密码锁方面的相关研究.针对西门子S7-300 PLC控制的相关工业设备,设计了一类内嵌式电子密码锁系统,并将该系统的解密与设密与PLC控制原理相结合,使其能直接应用于工业设备,从而实现设备的防盗功能.最后,采用软件STEP 7 SIMATIC对密码锁系统进行编程和测试,其仿真结果表明密码锁的功能是可靠且有效的.%The SIEMENS S7-300 PLC(Programmable Logic Controller) has been widely applied in industrial control systems, but there were few related researches of coded lock.In this paper, a class of embedded electronic lock systems is designed to control the industry devices based on SIEMENS S7-300 PLC.Integrating the decryption and encryption for the systems with PLC control principles, the systems can be directly applied to ensure the anti-theft function of the industry devices.Finally, the systems are programmed and tested by using STEP 7 SIMATIC, and the simulation results show that the lock is reliable and effective.【期刊名称】《微型机与应用》【年(卷),期】2017(036)010【总页数】5页(P7-10,14)【关键词】密码锁;PLC;STEP7SIMATIC;S7-300【作者】莫冰;刘长江【作者单位】四川理工学院自动化与信息工程学院,四川自贡 643000;四川理工学院数学与统计学院,四川自贡 643000;四川理工学院数学与统计学院,四川自贡643000【正文语种】中文【中图分类】TP277纵观密码锁的悠久历史,其种类繁多,从机械密码锁发展到如今功能齐全的电子密码锁。
siemens_STEP7中对程序块加密
一、C PU 停机的功能块SFC46,不需任何参数.
二、plcSTEP7中对程序块加密
在plcSTEP7中对程序块加密,您能够STEP7软件KNOW_HOW_PROTE CT功能实现对您程序代码加密保护。
如果您双击鼠标打开加密程序块时,您只能看到该程序块接口数据(即
IN, OUT 和 IN/OUT 等类型参数)和注释信息,而程序块中代码及代码注释,临时/静态变量是不能被看到。
同时您也无法对加密保护程序块做出任何改动。
如何实现程序块保护:
1.打开程序编辑窗口LAD/FBD/STL;
2.将要进行加密保护程序块生成转换为源代码文件(选择菜单 File—
>Generate source 生成);
3.LAD/FBD/STL 窗口中关闭您程序块,并SIMATIC Manager项目管理窗口
source文件夹中打开上一步所生成source文件;
4.程序块声明部分,TITLE行下面一行中输入” KNOW_HOW_PROTE CT”;
5.存盘并编译该source文件(选择菜单File?Save,File?Compile);
6.现就完成了您程序块加密保护;
取消对程序块加密保护
1.打开程序块Source源文件;
2.删除文件中KNOW_HOW_PROTE CT;
3.存盘并编译该source文件;
4.现程序块加密保护已经取消。
注释:没有 STL source 源文件,您是无法对已经加密程序块进行编辑;。
五种西门子PLC程序加密方法,最后一种很难破!
五种西门子PLC程序加密方法,最后一种很难破!大家都知道,很多品牌PLC的程序都可以通过软件解密,那么一旦解密后程序就非常透明的显示在了别人的眼中,而将设备卖给别人又将PLC程序整个锁死的话又不切实际,甲方会无法维护;而保密和维权更是中国市场经久不衰的话题,其实德国的工程师从来不会给自己的程序整体加密,而是使用其他方式,既不影响发生故障时的诊断,又可以保护自己的核心机密。
今天给大家介绍一下这些方式,供大家参考。
一、使用西门子安全PLC或者博途的KNOWHOW功能西门子安全PLC作为西门子主打安全功能的一款产品,它的性能毋庸置疑,而且安全PLC的程序块加密后无法破解;可以很好的保护核心。
而博途PLC作为西门子的最新产品,其版权保护也是它的主要功能之一,KNOWHOW功能是软硬件双重加密,不加密的块可以正常监控,没有密码的话甚至无法下载到其他PLC;因此使用博途的KNOWHOW功能既可以将程序交给甲方方便维护,又可以保护自己的核心程序不被窃取。
二、采用高级语言编写部分重要的工艺程序西门子除了最基础的LAD梯形图编程,FBD功能块编程和STL语句表编程还有很多其他的方式,比如说PCS7的CFC,SFC; 除此之外还有SCL,S7-GRAPH等等。
对于这些语言,一般的工控人员很难全部精通,因此仿制难度大大提升,因此非常关键的工艺程序可以由这些语言编写,也可以很好的保护自己的核心。
1.编程方式的采用a)采用模块化的程序结构,采用符号名,参数化来编写子程序块b)尽量采用背景数据块和多重背景的数据传递方式c)多采用间接寻址的编程方式d)复杂系统的控制程序尤其是一些带有顺序控制或配方控制的程序,可以考虑采用数据编程的方式,即通过数据的变化来改变系统的控制逻辑或控制顺序。
用户应该尽量采用以上几种高级层次的编程方式,这样编出来的程序中嵌入系统的保护加密程序,才不容易被发现而仿制。
2.主动保护方法a)利用系统的时钟b)利用程序卡或者CPU的ID号和序列号c)利用EEPROM的反写入功能,及一些需要设置的内存保持功能d)利用系统提供的累时器功能e)在用户程序的数据块中设置密码f)软件上设置逻辑陷阱g)可以反向利用自己在编程时犯的错误3.被动保护方法a)在内存容量利用许可的条件下,不要删除被认为是无用的程序b)在数据块里留下开发者的标识,以便于将来遭到侵权时可以取证4.应用反窃取技术的注意事项a)在用户程序中嵌入保护程序要显得自然一些,不能很突兀的加出一段程序来,代码要尽量精简,变量符号名应与被嵌入程序段的变量保持一致b)往往一种保护加密手段是不够的,应该多种方法并用,并且这些保护程序一旦激活后对系统造成的后果也应该尽量不同,造成所谓的“地雷效应”,从而增加程序被窃取的难度,时间与成本,短时间内让抄袭者束手无策,c)保护好程序的原代码,如果需要交付程序的,在不影响用户对设备维护的前提下,应对交付的程序做适当的技术处理,如删除部分符号名,采用上载的程序或数据块d)做好严格的测试,以避免保护程序的不完善引起的误动作而带来的不必要的麻烦,同时也能降低售后服务的的费用。
