在以下章节中,将介绍通过 CP 接口进行开放式用户安全通信时应注意的特殊事项。至少一个站为 S7-1500 站,并包含以下模块:
S7-1500 CPU 固件版本 V2.0 及更高版本(除 S7-1500 软件控制器以外)
CP
- CP 1543-1 固件版本 V2.0 及更高版本
- CP 1545-1 ab V1.0
- CP 1543SP-1 固件版本 V1.0 及更高版本
在 S7-1500 站中,CP 充当 TLS 客户端(活动连接设置)或 TLS 服务器(被动连接建立)。
通过 CP 接口进行安全通信的基本操作步骤与概念,与通过 S7-1500 CPU 接口进行安全通信的类似。在此,必须将证书分配给作为 TLS 服务器或 TLS 客户端的 CPU,而非其它 CPU。因此,也可使用其他角色和操作步骤。在下文中,将对此进行详细介绍。
以下规则普遍适用:在入全局安全设置中,需登录证书管理器。生成自签名的证书时,需登录全局安全设置。需要具有足够的用户权限(管理员权限,或具有“安全组态”权限的“标准”用户)。
在 CP 中,可在“安全 > 安全属性”(Security > Security properties) 部分生成或分配证书。在此部分中,可登录全局安全设置。
操作步骤:
在 STEP 7 的网络视图中,选中该 CP 并在巡视窗口中选择“安全 > 安全属性”(Security > Security properties) 部分。
单击“用户登录”(User logon) 按钮。
使用用户名和密码进行登录。
启用“激活安全功能”(Activate security functions) 选项。
系统将初始化相应的安全属性。
单击“设备证书”(Device certificates) 表格的**行,生成一个新的证书或选择现有的设备证书。
如果通信伙伴也是一个 S7-1500 站,则需按照上述操作,使用 STEP 7 为通信伙伴或为该 S7-1500 CPU 分配一个设备证书。
要在两个 S7‑1500 CP 之间实现安全 TCP 安全,需要在每个 CPU 中创建一个 TCON_IP_V4_SEC 系统数据类型的数据块,然后对其进行组态并在指令中直接调用该数据块。
要求:
两个 S7 1500 CPU 均具有上述*固件版本之一。
CP 均具有上述*固件版本之一。
TLS 客户端和 TLS 服务器具备所需的全部证书。
- 必须为该 CP 生成设备证书(较终实体证书)并存储在该 CP 的证书存储器中。如果通信伙伴是一个外部设备(如,MES 或 ERP 系统),则需确保该设备上包含有设备证书。
- 对通信伙伴设备证书进行签名的 root 证书(CA 证书)也必须位于该 CP 的证书存储器中,或位于外部设备的证书存储器中。如果使用中间证书,则必须确保所验证设备中的证书路径完整。设备将通过这些证书验证通信伙伴的设备证书。
这些通信伙伴需通过 IPv4 地址进行寻址,而不能通过域名进行寻址。
下图显示了在两个通信伙伴通过一个 CP 进行通信的方案中,设备中的不同证书。此外,在该图中还显示了建立连接时设备证书的传输(“Hello”)。
如需在 TLS 客户端建立 TCP 安全连接,请按照以下步骤操作:
在项目树中,创建一个全局数据块。
在该全局数据块中,定义一个 TCON_IP_V4_SEC 数据类型的变量。为此,需在“数据类型”(Data type) 字段中输入字符串“TCON_IP_V4_SEC”。
以下示例中显示了全局数据块“Data_block_1”,其中,定义了数据类型为 TCON_IP_V4_SEC 的变量“SEC 连接 1 TLS 客户端”(SEC connection 1 TLS Client)。
该接口 ID 的值为本地 CP(TLS 客户端)中 IE 接口的硬件标识符。
在“起始值”(Start value) 列设置 TCP 连接的连接参数。例如,在“RemoteAddress”中输入 TLS 服务器的 IPv4 地址。
在“起始值”(Start value) 列设置安全通信的参数。
- “ActivateSecureConn”:激活该连接的安全通信。如果该参数的值为 FALSE,则将忽略后面的安全参数。此时,可建立一个非安全的 TCP 或 UDP 连接。
- “TLSServerCertRef”:输入值“2”(引用 TIA Portal 项目 (SHA256) 的 CA 证书),或输入值“1”(引用 TIA Portal 项目 (SHA1) 的 CA 证书)。
- “TLSClientCertRef”:自身 X.509-V3 证书的 ID。
在程序编辑器中,创建一个 TCON 指令。
将 TCON 指令的 CONNECT 参数与 TCON_IP_V4_SEC 数据类型的变量进行互连。
要在 TLS 服务器中设置 TCP 安全连接,请执行如下操作:
在项目树中,创建一个全局数据块。
在该全局数据块中,定义一个 TCON_IP_V4_SEC 数据类型的变量。
以下示例中显示了全局数据块“Data_block_1”,其中定义了数据类型为 TCON_IP_V4_SEC 的变量“SEC 连接 1 TLS 服务器”(SEC connection 1 TLS Server)。
该接口 ID 的值为本地 CP(TLS 服务器)中 IE 接口的硬件标识符。
在“起始值”(Start value) 列设置 TCP 连接的连接参数。例如,在“RemoteAddress”中输入 TLS 客户端的 IPv4 地址。
在“起始值”(Start value) 列设置安全通信的参数。
- “ActivateSecureConn”:激活该连接的安全通信。如果该参数的值为 FALSE,则将忽略后面的安全参数。此时,可建立一个非安全的 TCP 或 UDP 连接。
- “TLSServerReqClientCert”:要求 TLS 客户端提供 X.509-V3 证书。输入值“true”。
- “TLSServerCertRef”:自身 X.509-V3 证书的 ID。
- “TLSClientCertRef”:输入值 2(引用 TIA Portal 项目 (SHA256) 的 CA 证书),或输入值 1(引用 TIA Portal 项目 (SHA1) 的 CA 证书)。
在程序编辑器中,创建一个 TCON 指令。
将 TCON 指令的 CONNECT 参数与 TCON_IP_V4_SEC 数据类型的变量进行互连。
在将带有证书的组态进而组态的开放式用户安全通信作为新站上传到 STEP 7 项目中时,与 CPU 的证书不同,CP 的证书不会上传。在将设备下载为新站后,在 CP 的设备证书表格中不会包含更多证书。
上传后,需再次对证书进行组态。否则,重新下载组态将导致 CP 之前存在的证书删除,无法进行安全通信。
连接资源:
OUC 和安全 OUC 之间无差别。编程的 OUC 安全连接将使用诸如 OUC 连接之类的连接资源,而不考虑与该站通信的 IE/PROFINET 接口。
连接诊断:
OUC 和 OUC 安全连接诊断之间无差别。
将带有 OUC 安全连接的项目下载到 CPU 中:
如果还需下载证书,则只能 CPU STOP 模式下进行。
建议:下载到设备 > 硬件和软件 (Load to device > Hardware and software)。原因:需确保带有安全 OUC 的程序、硬件配置和证书一致。
证书随硬件配置一同下载。因此,下载过程中需要停止 CPU 的运行。仅当所需的证书位于模块中时,才能在 RUN 模式下重新下载使用其它 OUC 安全连接的块。
产品推荐
友情链接