故事作者:空果仁

最近创作

看看TA的故事

是不是可以使用密码本方式保护程序

已锁定

空果仁

官方工程师 西门子1847工业学习平台

  • 帖子

    210
  • 精华

    47
  • 被关注

    310

论坛等级:侠圣

注册时间:2011-07-11

普通 普通 如何晋级?

是不是可以使用密码本方式保护程序

7552

10

2020-05-19 13:36:41

star star star

 

     不知道大家有没有印象?小时候看电影,需要使用密码本破译对方的报文,其实这个跟现在的使用公钥和私钥加密报文和解密报文是相似的,但是使用公钥和私钥的安全性要好的太多了。

     前一阵一直有人问程序加密的事情,虽然说S7-1500的程序加密比S7-300的好,但是有的工程师总是感觉使用密码加密程序不安全,因为密码一旦泄露了,通过口口相传,知道的人就多了(对比原来使用类似于单片机的控制器,近似一个黑匣子,只能设置参数,不能修改程序,对于这样的应用,也可以将CPU全保护,然后通过HMI设置参数,这样就没有密码的问题)。这时我想起了电影的密码本了,如果使用一个密码本加密程序是不是更加安全?为了保证密码不容易泄露,例如口口相传,必须使用一种特殊的字符,例如我们所说的乱码或者生僻字,参考图1.


                

                                                                                    图 1

    这样的密码看了让人说不出,看到了也不容易记住,也不容易口口相传,这样的密码只能通过文本的复制才可以解密。把这些字符作为密码本,使用一个数字组合和方式,例如FB1的密码是13986732178,其实就是密码本的第一个字符、第三字符......。或者一个人拥有FB1的前部分密码,第二个人拥有FB1的后部分密码,只能两个人同时在才能打开程序。是不是感觉搞工控有点太神秘了,其实再好的密码、再好的防范(我感觉)措施也不能百分之百地有效,主要看防护到哪一个层级,例如一个公司的工程师开发一套程序,如果没有好的管理和效益,这个工程师离开后就带走了这套程序,更谈何程序保护!

   我认为程序的保护是一种管理方式,即使有好的管理方式也只是防护一时而不是一世,设备必须只有不断的优化和迭代才不怕别人的复制和抄袭。好了下面我总结了几种程序保护的方法供大家参考(如果大家有更好的方法可以在回帖中说明,共享给其他工程师,一起提高):


1:项目保护

      项目可以按照不同的角色和功能进行划分,例如维护人员,所有程序和安全配置是只读,不可修改,项目保护可以设置不同的用户的口令,如图2所示(但是我感觉V15.1版本有点漏洞,版本V16没有测试过)。


                   

                                                                                                      图 2

2:CPU的口令保护

      CPU的口令保护防止未授权的用户上传和读写CPU的程序,如图3所示,PLC也可以设置为“读”访问便于设备的维护。

                  

                                                                                                   图 3

  3:程序块加密

       将程序块使用口令加密,每一个程序块可以单独设置密码,如图4所示。


                

                                                                                                   图  4

4:程序块与存储卡和CPU的序列号绑定

      S7-1500 PLC支持程序块与CPU或SMC卡序列号的绑定。绑定后,该程序块只能运行在与其绑定的CPU或SMC卡上,否则PLC不能正常工作,并会将故障原因(序列号不符)写入到诊断缓冲区中。通过此方法,可以有效防止程序块的拷贝,保护知识产权。只有持有防拷贝保护密码的用户,才可以解除程序块的绑定关系。如图5所示。

                  

                                                                                                        图 5

      可以组合使用上述几种方式进行程序的被动保护,例如使用生僻字生成不同的密码,分别作为项目密码、CPU密码、不同程序块的密码和序列号绑定密码;除此之外程序的主动保护就是不断的优化参数、迭代,别人没有我有、别人有了我的更好!


是不是可以使用密码本方式保护程序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

崔工谈博途与PLC

共有103条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。