西门子PLC怎么保护加密

2019年1月14日11:07:27 发表评论 453 阅读

CPU的访问保护

CPU 提供了四个安全等级,用于限制对特定功能的访问。 为CPU组态安全等级和密码时,可以对那些不输入密码就能访问的功能和存储区进行限制。

每个等级都允许在访问某些功能时不使用密码。 CPU 的默认状态是没有任何限制,也没有密码保护。 要限制CPU的访问,可以对 CPU 的属性进行组态并输入密码。

通过网络输入密码并不会使 CPU 的密码保护受到威胁。 密码保护不适用于用户程序指令的执行,包括通信功能。 输入正确的密码便可访问该级别的所有功能。

PLC到PLC通信(使用代码块中的通信指令)不受CPU中安全等级的限制。

表格 7- 4 CPU 的安全级别

安全等级 访问限制
完全访问(无保 护) 允许完全访问,没有密码保护。
读访问 允许 HMI 访问和各种形式的 PLC 到 PLC 通信,没有密码保护。 以下情况下需要密码:修改(写入)CPU 以及更改 CPU 模式

(RUN/STOP)。

HMI 访问 允许 HMI 访问和各种形式的 PLC 到 PLC 通信,没有密码保护。

以下情况下需要密码:读取 CPU 中的数据、修改(写入)CPU 以及更改 CPU 模式 (RUN/STOP)。

无访问(完全保 护) 不允许没有密码保护的访问。

进行 HMI 访问、读取 CPU 中的数据和修改(写入)CPU 时需要密码。

密码区分大小写。 要组态保护级别和密码,请按以下步骤操作:

  1. 在“设备组态”(Device configuration) 中,选择CPU。
  2. 在巡视窗口中,选择“属性”(Properties)选项卡。
  3.  选择“保护”(Protection)属性以选择保护等级和输入密码。

当您将此组态下载至 CPU 时,用户将具有 HMI 访问权限,可以在无密码的情况下访问 HMI 功能。 要读取数据,用户必须输入“读访问”的已组态密码或“完全访问(无保护)”的密码。 要写入数据,用户必须输入“完全访问(无保护)”的已组态密码。

警告

对受保护的 CPU 行未授权访问

拥有 CPU 完全访问权限的用户有权限读写 PLC 变量。 无论 CPU 访问级别是多少,Web 服务器用户都有权限读写 PLC 变量。 未经授权访问 CPU 或将 PLC

变量更改为无效值可能会中断过程操作并可能导致死亡、严重人身伤害和/或财产损失。授权用户可以执行共模模式更改、写入 PLC 数据以及进行固件更新。 Siemens建议您遵守以下安全实践:

  • 使用强密码对 CPU 访问级别和 Web 服务器用户 ID进行密码保护。 强密码在长度上至少为十个字符,可以是字母、数字和特殊字符的组合,不能是可在 字典上找到的词,并且不能是可从个人信息推断出的名字或标识符。 保管好密码并经常更改密码。
  • 仅使用 HTTPS 协议启用对 Web 服务器的访问。
  • 不要扩展 Web 服务器“所有人”(Everybody) 用户的默认最低权限。
  • 对程序逻辑中的变量执行错误检查和范围检查,因为 Web 页面用户可将 PLC变量更改为无效值。

连接机制

 要使用 PUT/GET 指令访问远程连接伙伴,用户还必须得到许可。

默认情况下,“允许使用PUT/GET通信进行访问”(Permit access with PUT/GET communication) 选项处于未启用状态。 这时,只有需要对本地 CPU 和通信伙伴同时进行组态和编程的通信连接才能实对CPU数据的读写访问。 例如,可以通过 BSEND/BRCV 指令进行访问。

因此,本地 CPU 仅作为服务器的连接(也就是说,本地 CPU中不存在带有通信伙伴的通信组态/编程)在 CPU 运行期间不可用,例如:

  • 通过通信模块进行PUT/GET、FETCH/WRITE 或 FTP 访问
  • 从其它S7 CPU 进行 PUT/GET 访问
  • 通过PUT/GET 通信进行 HMI 访问 如果您希望允许从客户端访问CPU数据,即您不希望限制CPU

的通信服务,请按以下步骤操作:

  1. 将保护访问级别组态为除“无访问(完全保护)”(No access (completeprotection))外的任意级别。
  1. 选择“允许使用PUT/GET 通信进行访问”(Permit access with PUT/GET communication) 复选框。

当您将此组态下载至CPU时,CPU 将允许与远程伙伴进行PUT/GET通信

专有技术保护

专有技术保护可防止程序中的一个或多个代码块(OB、FB、FC 或 DB)受到未经授权的访问。 用户创建密码以限制对代码块的访问。 密码保护会防止对代码块进行未授权的读取或修改。 如果没有密码,只能读取有关代码块的以下信息:

  • 块标题、块注释和块属性
  •  传送参数(IN、OUT、IN_OUT、Return)
  •  程序的调用结构
  • 交叉引用中的全局变量(不带使用时的信息),但局部变量已隐藏 将块组态为“专有技术”保护时,只有在输入密码后才能访问块内的代码。

使用代码块的“属性”(Properties) 任务卡组态该块的专有技术保护。打开代码块后,从“属性”(Properties) 中选择“保护”(Protection)。

1.在代码块的“属性”(Properties) 中,单击“保护”(Protection) 按钮显示“专有技术保护”(Know-how protection) 对话框。

2. 单击“定义”(Define) 按钮输入密码。 输入并确认密码后,单击“确定”(OK)。

复制保护

附加安全特性允许捆绑程序块,以用于特定存储卡或 CPU。 该特性对于保护您的知识产权特别有用。 当您将程序块与特定设备捆绑在一起时,就会将程序或代码块限制为仅用于特定存储卡或 CPU。 该特性允许您以电子方式(如通过 Internet 或通过电子邮件)或通过发送内存匣分布程序或代码块。 复制保护可用于 OB、FB和 FC。 S7-1200CPU支持三种类型的块保护:

  • 与CPU的序列号进行绑定
  • 与存储卡的序列号进行绑定
  • 与强制性密码动态绑定

使用代码块的“属性”(Properties) 任务卡将块捆绑到特定 CPU 或存储卡。

  1. 打开代码块之后选择“保护”(Protection)。

  1.  在“复制保护”(Copy protection)任务下的下拉列表中,选择要使用的复制保护的类型。

  1. 对于与 CPU或存储卡序列号的绑定,可以在下载时插入序列号,也可以输入存储卡或CPU 的序列号。

说明 序列号区分大小写。

对于与强制性密码的动态绑定,定义下载或复制块所必须使用的密码。

随后下载带有动态绑定的块时,必须输入可用于下载块的密码。 请注意,复制保护密码和专有技术保护密码是两个不同的密码。

 

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: