本系列课程列举了常见 S7-300/ET200S 系列模块如何向 S7-1500/ET200SP 系列移植的各种可能性,不仅包括普通 IO,还有通信模块、故障安全、工艺模块以及 TCPU 相关,内容总结全面。

OPC UA_3 GDS证书推送功能

¥139
会员免费

472人已观看 2022-11-04

本文版权归西门子1847工业学习平台所有,未经允许,不得转载。
注册领体验会员

文章摘要

讲解博途软件的IP转发新功能,并且回顾讲解传统的S7路由基础知识和信息。

文章内容

S7-1500 PLC —OPC UA_3

9. 安全通信方式访问S7-1500 OPC UA服务器-GDS推送方式

9.1 GDS的简介

要连接到OPC UA服务器,OPC UA客户端需要其端点的相关信息,如端点 URL 和安全策略。如果网络中提供大量可用服务器,则发现服务器可负责处理对该服务器信息的搜索和管理。这包括:

  • OPC UA 服务器注册使用发现服务器。

  • OPC UA 客户端向发现服务器请求获取可访问的服务器列表,然后连接到所需 OPC UA 服务器。

OPC UA GDS 一方面可组态跨子网发现服务,另一方面为证书集中管理提供接口。全球发现服务器 (GDS) 提供的机制可实现对以下组件的集中管理:

  • CA 签名证书和自签名证书。

  • 受信任列表和证书吊销列表 (CRL, Certificate Revocation List首字母缩写,防止吊销证书的客户端访问服务器)。

上篇文章图12中,GDS客户端向GDS服务器请求证书,这些证书用于OPC UA服务器与客服端建立信任关系,然后GDS客户端向CPU传输OPC UA服务器的证书。这里只介绍证书的传送功能,GDS客户端和GDS服务器的功能不做介绍。

9.2 GDS 推送与硬件下载的区别

为了更好了解GDS的推送方式,我们先回顾一下硬件下载传送证书方式,在该方式下,对证书做了如下操作:

1) 首先在TIA博途的证书管理器中创建了一个OPC UA服务器/客户端的证书,然后在CPU OPC UA服务器的配置中选择该证书为服务器证书。

2) 导入UaExpert的证书到证书管理器中,然后将该证书添加到OPC UA服务器的可信客户端列表中。

3) 下载证书到CPU中。

4) 使用OPC UA客户端UaExpert连接服务器时信任服务器的证书,然后通信建立。

那么使用GDS推送证书方式需要做哪些工作呢?使能CPU 的GDS推送功能后,CPU中只有一个临时证书,包含私钥和公钥,CPU处于准备阶段(provisioning phase),状态如图19所示。

图19

准备阶段CPU的维护指示灯常亮,从报警中可以看到需要维护的原因。 接下来需要对证书做如下的操作才能使CPU进入正常的操作状态:

1) 对CPU运行证书进行操作,需要有相关的权限,所以需要创建用户名和密码,使能相应的证书操作权限。

2) 使用OPC 客户端GDS功能将CA证书和可信客户端证书推送到OPC UA 服务器中。

3) 使用OPC 客户端GDS功能创建OPC UA服务器证书并下传到OPC UA服务器中,这种方式证书包含私钥和公钥,相当于私钥离开了CPU,并不安全。另外一种方式是OPC UA服务器发一个申请(Create Signing Request),然后由CA认证机构签名并返回一个证书。OPC UA服务器可以使用原有私钥也可以重新生成私钥并发送申请。之后,OPC UA 服务器中包含了更新的证书(替代原有临时证书)和信任列表中的证书即可信的客户端证书,这时CPU进入正常的运行状态。由此可见,使能GDS推送功能后,需要推送服务器和客服端证书才能进入运行状态,并不是在硬件下载证书后进行简单地添加和修改证书。

9.3 GDS 推送功能的配置

下面以示例的方式介绍GDS推送功能的配置过程,示例中还是以客户端UaExpert为例连接S7-1500 CPU OPC UA服务器。通信的配置过程主要分为三部分,即创建有运行管理系统权限的用户、OPC UA服务器的配置和使用OPC UA客户端推送证书。

9.3.1创建有运行管理权限的用户

只有有权限的用户才能在运行时传送证书,所以必须在TIA博途中创建,创建的过程如下:

1) 在项目树下选择“安全设置”->“设置”,点击项目保护标签,设置项目的用户名和口令,这样该项目被保护即只有相应权限的用户才能登陆。

2) 项目保护后,在项目树会自动添加“用户和角色”条目。双击打开该条目,在“角色”标签中创建一个新的角色,例如OPC GDS,如图20所示。

图20

为GDS角色分配相应的权限,例如OPC UA客户端的用户认证、管理证书和OPC UA服务器访问。

3) 在“用户”标签栏中创建新的用户例如“B”和相应的密码,然后为该用户分配角色,例如OPC GDS,如图21所示。

图21

 这样用户B创建完成并拥有运行系统相应的管理权限。接下来就需要配置OPC UA服务器了。

9.3.2配置OPC UA服务器 GDS推送功能

1) 在CPU属性“防护与安全”->“证书管理器”栏中使能“使用证书管理器的全局安全设置”选项。

2) 在CPU的属性中选择“OPC UA”->“服务器”,在“常规”栏中使能“激活OPC UA服务器”和“启用全球发现推送”,如图22所示。

图22

3) 在CPU的属性中选择“OPC UA”->“常规”,使能“启用通过项目安全设置,进行附加用户管理”。该选项就是为了OPC UA服务器可以使用项目中创建的用户管理证书,例如用户B。

4) 打开“Security”->“Secure Channel”栏,配置安全策略,选择“Basic256Sha256-签名和加密”,如图23所示。

图23

5) 打开“Security”->“证书”栏,使能“运行过程中使用证书管理服务器提供的证书。证书组中包括推送的证书,组名称可以修改,S7-1500 OPC UA服务器只支持一个证书组。

图24

使能GDS推送功能后,不能选择服务器证书和可信客户端证书,如图25所示。

图25

6) 使能“启用用户名和密码认证”并去使能“启用访客认证”,创建用户A及密码,如图26所示。

 

图26

注:

用户A与B都可以登录OPC UA服务器,B可以传送证书,A则不能,只能用于数据的通信。

7)在“运行系统许可证”栏中选择购买的许可证(参考OPC UA非安全通信)。其它参数保持缺省设置,编译无错后将配置文件下传到CPU中。

8) 连接CPU,在“在线和诊断”标签中调整CPU的时间为当前时钟,从而保证证书的有效性。

到此为止,OPC UA 服务器的GDS功能配置完成。

9.3.3 使用UaExpert客户端推送证书到服务器

1) 打开UaExpert客户端软件,添加服务器,选择在服务器上设置的安全策略、输入用户名和密码并使能“Connect Automatically”选项,点击“OK”按钮建立通信连接,如图27所示。这里输入的是具有证书管理权限的用户名和密码,例如用户B。

图27

2) 通信连接初始建立时,CPU即OPC UA服务器发送临时证书到客户端,在客户端侧需要对证书进行验证和确认,如图28所示。

图28

点击临时接受服务器证书和信任服务器证书后“Continue”按钮使能,点击该按钮建立通信连接。

3) 点击“Documents”右键快捷菜单选择“Add”,添加一个GDS Push视图,如图29所示。如果UaExpert未带有GDS Push视图,则需要更新到最新的版本。

图29

4) GDS Push视图如图30所示。通信建立后,在GDS Push视图中可以看到在OPC UA服务器中生成的证书组名称,参考图24。

图30

GDS Push视图中包含两个子视图即服务器证书视图和服务器证书组视图,服务器证书视图用于创建服务器证书并将证书推送到服务器中;服务器证书组视图用于推送可信客服端证书和吊销证书列表(这个功能从测试中只能查看,不能推送)。

有两种方法可以生成服务器证书:第一种是生成服务器的证书,包含公钥和私钥,然后直接推送到服务器;第二种方式是OPC UA服务器发送CSR,通过CA进行签名生成证书,然后再推送到服务器。下面分别介绍这两种证书生成方式。

  •  生成服务器自签名证书方式

5a)连接上面步骤4,在服务器证书视图,点击“Create Certificate”按钮,弹出新证书实例对话框,如图31所示,可以添加证书信息,IP地址为OPC UA服务器的访问地址。

图31

6a)点击“OK”键生成证书。在“Download certificate to server”栏中,证书和私钥已经生成,出于保密的原则,证书不可见,如图32所示。这里也可以使用其它方式创建证书,然后使用后面的导航按钮选择创建的证书。点击“Download”按钮将证书推送到服务器中。

图32

 

7a)推送完成后,在服务器证书组视图点击“Apply Changes”按钮完成证书的传送。如图33所示。

图33

8a)然后在“Trusted”标签中推送所有可信客户端证书(UaExpert客户端证书的存储位置参考图14)到服务器中。

   OPC UA 服务器使用创建的证书替代原有临时证书,然后又推送可信客户端的证书,这两个条件满足后,CPU将进入到正常的运行状态。

   生成服务器自签名证书方式,需要创建一对秘钥即公钥和私钥(不能只创建公钥,否则与CPU原有私钥不匹配),这样OPC UA服务器的私钥是在服务器以外生成,存在不安全因素,也可以采用CSR方式生成证书,确保OPC UA服务器的私钥一直保存在CPU中。

  • 使用CSR方式生成证书方式

  CSR是Create Signing Request首字母的缩写,就是OPC UA服务器首先发出一个签名申请,由CA证书颁发机构根据申请文件签名后生成证书,最后再传送到OPC UA 服务器中。操作步骤如下:

5b)接上面步骤4。通过OpenSSL可以生成认证机构,然后使用这个CA对OPC UA服务器发送的CSR进行签名。OpenSSL可以在网站上下载。下载完成后安装于C盘的根目录下,例如安装路径为C:OpenSSL-Win64。

6b)在视窗查找栏中输入“CMD”,然后使用管理员身份运行。

7b)使用命令“cd C:OpenSSL-Win64in” 切换到OpenSSL.exe文件所在的文件夹。

 然后键入openssl.exe ,运行openssl,如图34所示。

图34

8b)使用OpenSSL命令“genrsa -out myNewCA.key 2048 ”生成2048位的RSA私匙。私匙名称为myNewCA.Key,名称可以任意选择。

9b)使用myNewCA生成CA证书,证书名称为myNewCA.crt ,名称可以任意选择。命令如下:

req -new -x509 -key myNewCA.key -out myNewCA.crt

10b)转换*.crt格式到*.der格式。命令如下:

x509 -outform der -in myNewCA.crt -out myNewCA.der

在命令提示符中键入的命令如图35所示。

图35

生成的证书和私钥存储于“C:OpenSSL-Win64in”文件夹中。

11b)切换到UaExpert 服务器证书界面,参考图30。点击“Create CSR”按钮,弹出的提示框如下36所示。

图36

如果选择“Yes”,服务器将再次生成一对秘钥,包含私钥。如果选择“No”将不重新生成私钥。将服务器发送的CSR文件存储于“C:OpenSSL-Win64in”文件夹中,名称为plc.csr,名称可以任意选择。

注意:

生成私钥将占用CPU的资源,确保CPU有足够的通信负荷用于生成私钥,实际测试中使用CPU1516,经常出现超时故障,如果编写OPC UA客户端,可以将看门狗时间加长,或者不生成私钥。

12b)生成证书需要设置一些属性,属性存储于*.cfg文件中,例如文件plc.cfg,可以使用文本编辑器打开并编辑,如图37所示。

图37

注意PLC的名称和IP地址要与实际PLC匹配。plc.cfg文件作为附件,可以将该文件作为参考模板进行改编。

 

plc .zip

13b)再次使用管理员权限打开命令提示符,运行OpenSSL,转换plc.csr文件格式,转换后的文件名为plc2.csr

req -inform der -in plc.csr -out plc2.csr

  注意:

  有时进入CMD会报错,需要重新进入。

14b)使用CA签名,签名后的证书文件为 plc3.crt,证书属性参考plc.cfg文件。命令如下:

x509 -req -in plc2.csr -CA myNewCA.crt -CAkey myNewCA.key -

CAcreateserial -out plc3.crt -extfile plc.cfg -extensions v3_req

15b)转换为*.der,例如plc4.der,命令如下:

x509 -outform der -in plc3.crt -out plc4.der

在命令提示符中键入的命令如图38所示。

图38

16b)再次切换到UaExpert 服务器证书界面。在“Trusted”标签中推送所有可信客户端证书(UaExpert客户端证书的存储位置参考图14)和CA证书“myNewCA.der”到服务器中。

17b)在证书栏选择已经签名的证书“plc4.der”,如图39所示。点击“Download”按钮将证书推送到服务器中,在服务器证书组视图点击“Apply Changes”按钮完成证书的传送。

图39

OPC UA 服务器使用CA签名的证书替代原有临时证书,服务器证书组又包含可信客户端的证书,这两个条件满足后,CPU将进入到正常的运行状态。

两种方式,第一种比较方便,但是不安全;第二种安全,但是步骤多。可以根据实际需求选择。上面演示是使用UaExpert客户端带有的GDS视图推送证书的,也可以自己开发相关功能。

使用GDS推送到OPC UA服务器中的证书存储于CPU 的SMC(Siemens Memory Card)中,可以通过硬件下载删除,如图40所示,使能“删除证书”选项,下载后将清空卡中存储的所有证书,CPU再次处于准备阶段。

图40

 

【声明:本文/视频版权归西门子1847工业学习平台所有,未经允许,不得转载。】

 

可试看部分内容,登录后会员或购买课程可观看完整内容

课程答疑(4)

想把程序下到advanced v5.0.博途V18老是搜不到advanced,硬件选的s1500.
1 2025-01-07
展开
亮点介绍

介绍和推广介绍STEP7、TIA博途和相关联PLC的使用经验,特别是前沿的博途功能和技术发展。

用户收益

您将收获:

1.STEP7、TIA博途和相关联PLC的使用经验;

2.循序渐进学习西门子PLC编程知识,建立西门子PLC控制系统的理念;

3.收获现场问题的解决方法,扩展和丰富自身的知识体系,跨越瓶颈,提升能力

适用人群

面向范围从刚涉足西门子PLC领域的工程师,到合有一定经验的工程师。

542

关注

4万+

浏览

244

订阅

692

收藏

10

作品

崔工谈博途与PLC

已完结 共24集
1. TIA博途可选软件与新功能

1.1 S7-PLCSIM Advanced仿真器-1

免费

1.2 S7-PLCSIM Advanced仿真器-2

付费

1.3 PLC WEB服务器与VOT-1

付费

1.4 PLC WEB服务器与VOT-2

付费

1.5 工厂对象1

付费

1.6 工厂对象1_Program Alarm 操作演示

付费

1.7 工厂对象2

付费

1.8 工厂对象3

付费

1.9 IP转发功能

付费

1.10 OPC UA_1 简介与非安全通信

付费

1.11 OPC UA_2 安全通信与证书的下载方式

付费

1.12 OPC UA_3 GDS证书推送功能

付费

1.13 OPC UA_4 服务器性能测试与方法

付费

1.14 OPC UA_5 服务器接口

付费

1.15 OPC UA_6 报警与条件

付费

1.16 OPC UA_7 客户端

付费

1.17 TIA博途团队工程-多用户可选软件

付费
2. TIA博途的管理功能
注册领体验会员

相关推荐

  • 文章

    SINAMICS G120最大电压控制器工作原理解析

    2440 1 26
  • 大咖专栏

    面板Audit功能

    5590 1 54
  • 文章

    S7-1500R系统调试二、三事

    2232 2 20
  • 文章

    如何读取V6.0版本400H状态灯

    1129 0 21
  • 大咖专栏

    拥有属于自己的指令

    2万+ 7 183