Hello , We have a customer who asks PLCnext how to protect their programs
* If the function block use IEC61131-3 programming, how to protect the program and function block from being copied and modified?(I know pcworx is OK)
* How to protect it if using high-level language programming?
* If you know the PLC IP and login password, how to protect the project files in PLC?
* If I download the source program and upload the program, can I encrypt the function block?
If you have better encryption and protection advice about plcnext, please let me know, I’ll tell the customer. Thank you very much!
Hi The PLC is communicating with encrypted TLS1.2 format, with user/password. If you don’t download source code directly to the PLC, there is no way to retrieve the program. If using a SD card, you are able to move the program to another controller, but i think you can lock the program to the mac address of the PLC, with a function block. (i did that in the older PLC system)
Because the communication requires user/password you can’t get any files with out a password.
not even files on the controller. (* Might be able if it’s on the SD card. )
So even if you know a password where you are able to read values, or even the program you cant modify it because you don’t have the source code…
but give the Phoenix guys a call they know the details better than me…
Read more about the security here:
* <https://www.plcnext.help/te/Security/Security.htm>
* <https://www.plcnext.help/te/WBM/Security_User_authentication.htm>
- Emil
Hello Sir, Thank you very much for your reply, but most of it is related to information security. This part is also a part of security, but the program protection that our customers care about is not involved. I don’t know who can give relevant suggestions? Zhangwu zhangwu@phoenixcontact.com.cn
Dear ZhangWu, next to Emil I would also like to add a few notes, first coming back to your questions:
1. If the function block use IEC61131-3 programming, how to protect the program and function block from being copied and modified?(I know pcworx is OK)
2. How to protect it if using high-level language programming?
3. If you know the PLC IP and login password, how to protect the project files in PLC?
4. If I download the source program and upload the program, can I encrypt the function block?
1. Keep in mind that the concept of PLCnext Engineer is completely different to PC Worx.
In PC Worx were the library a complete project with the including functions/functionblocks in PLCnext Engineer the library isreally a closed library (pcwlx).
Means without having the project (pcwex) you can not read the sources at all nor you are able to modify anything (and if you do it would be detected via a checksum).
2. If you're adding a C++ program via the PLCnext CLI to a PLCnext Engineer application were only the binaries (.so) used, the source code stays at you.
Also any changes were detected from a checksum.
3. Well, if someone unauthorized gets physical access to device and gets the password, than you're having serious security problems ?. So we recommend:
1. Change the init password of the device and keep it secret
2. If necessary (threat analysis) protect the physical device against unauthorized access.
3. You can also disable in the WBM that it should be not allowed to use an external card
4. No, if the sources were stored on the device, the project is available as archive (pcweax) including all used libraries.
But the library itself is still protected.
As Emil already mentioned you could check the MAC, serial number or UUID (via PLCnext Base library) to prevent that the code is not copied.
Another alternative you can add your soultion to our PLCnext Store to use the integrated licence management. If you’ve more specific questions please contact me directly. Take care Frank
Hello Frank, Does it mean that as long as my source files and passwords are not disclosed, there is no problem in program protection? If I have other questions, I need to consult you. Thanks !
Yeah, if only the lib is given there is no chance to get to the sources.
Hello, How are you?? I have an issue with a 1152 cpu. We got a model made in Simulink and we´ve been using plc next target (by using SDK) in order to put the simulink model into the plc. When we star the PLC the model is working perfect but after an hour the model task inside the plc gets stop. The PLC is still working (we have others tasks) but not the model (which was import from a file called “core.pcwlx”).
Do you know what is happening???
more data: when we Built the model from matlab we get this warning message.
warning.jpegThank you sooo much!!!
Regards.
Page 14 of the User Manual includes this information:
… which seems to explain what you are seeing.
Please get in touch with your local Phoenix Contact office to either buy a license or, of you have a license already, to have them check why the license is not being recognised on your PC.