使用证书加密通信并更改安全策略
提示
要先对应用程序代码进行加密和/或签名,请参阅以下说明: 对启动应用程序进行加密和/或签名。
以下说明用于配置和处理编程系统和 PLC 之间的加密通信。
要求:
与控制器的加密通信和用户管理在控制器上强制执行。
个人密码尚不存在。
您的计算机上尚未安装证书,也尚未配置与控制器的连接。这个 CODESYS Security Agent 已安装。
在设备树中,双击控制器。
设备编辑器打开。
点击 通讯设置 标签。
在 设备 菜单,请确保以下内容:
这个 加密通信 设置已启用。
因此, 强制进行加密通信 选项已在上启用 用户 的选项卡 安全屏幕。
在 通信设置 选项卡,单击 扫描网络 按钮。
选择一个控制器。
将打开一个对话框,通知您设备的证书没有可信的通信签名。系统将提示您是在计算机的本地证书管理中以可信身份安装此证书(选项 1)还是仅接受此证书的会话(选项 2)。
重要
以这种方式安装的控制器证书的有效期仅为 30 天。这使您有时间采取以下长期解决方案:
创建时间更长(例如 365 天)的额外自签名证书。即使证书已经存在,你也可以在安全屏幕上执行此操作。或者,你也可以在设备编辑器中使用 PLC shell 命令。
请参阅以下两个部分:
“为加密通信配置有效期更长的控制器证书...
导入 CA 签名的证书。目前,这只能通过运行时的 PLC 外壳命令来实现。运行时系统确保最初至少有一个自签名证书可用,以便从一开始就可以进行加密通信。然后,您可以将此证书替换为 CA 签名的
如果要安装证书,请在步骤 5 中选择选项 1,然后单击 好吧 确认对话框提示。
该证书被列为可信证书。首次接受自签名证书后,您可以一次又一次地与控制器建立加密连接,无需进一步提示
将打开一个对话框提示,提示设备需要用户管理,但尚未启用。如果需要,系统会提示您启用用户管理。将显示通知,在这种情况下,您必须创建一个新的管理员帐户,然后以该用户身份登录。
点击 是的 关闭对话框提示。
这 添加设备用户 对话框打开以创建初始设备管理员。
创建设备用户,以便以该用户的身份编辑用户管理。在这种情况下,只有 管理员 群组可用。定义一个 姓名 和 密码 适用于设备用户。显示密码强度。另请注意有关密码更改的设置选项。默认情况下,用户可以随时更改密码。点击 好吧 进行确认。
这 设备用户登录 对话框打开。
指定您在上一步中定义的新设备管理员的凭据。
您已登录控制器。在 用户和组 选项卡,您可以单击
按钮切换到同步模式。设备用户管理显示在那里,您可以对其进行编辑。
点击后 行 确认,设备用户管理显示在编辑器视图中。它包含的用户 行政人员 您刚刚定义的组。该用户的名称也显示在窗口的任务栏中 设备用户.
提示
当您以设备用户身份登录刚刚创建的管理员组时,可以创建其他用户和群组。
所有保存的控制器证书(来自步骤 6)都存储在计算机的本地 Windows 证书存储区中。您可以通过以下方式访问此内存
certmgr.msc
Windows 中的命令 跑 对话框。与控制器进行加密通信的所有注册证书都在此处列出 控制器证书.
要求:你已经安装了 CODESYS Security Agent。您想将首次连接到受保护控制器时创建的临时证书替换为有效期更长的证书。
在这种情况下, 安全屏幕 视图提供了一个额外的选项卡: 设备。这允许对证书进行简单配置,以便与控制器进行加密通信。请查看以下网址的帮助 CODESYS Security Agent: 通过控制器证书与设备进行加密通信。
如果您没有,请选择这种不太方便的方法 CODESYS Security Agent。在这种情况下,您可以设置一个有效期更长的证书以进行通信加密 PLC 外壳 设备编辑器中的选项卡。
要求:您已连接到控制器。
首先,您检查控制器上是否已存在合格证书。如果没有可用的证书,则创建一个新证书。
双击设备树中的控制器打开设备编辑器,然后选择 PLC外壳 标签。
该选项卡显示为一个空窗口。下面是命令行。
指定
cert-getapplist
命令行中的命令。列出了所有使用的证书。该列表包括有关运行时组件以及证书是否可用的信息。
如果组件的证书仍然不存在
CmpSecureChannel
,然后在输入行中键入以下命令:cert-genselfsigned <number of the component in the applist>
否则,请直接转到步骤 5。
点击 日志 选项卡,然后单击
刷新按钮。
显示屏显示证书是否生成成功。
再次更改回 PLC外壳 选项卡并键入命令
cert-getapplist
.组件的新证书
CmpSecureChannel
被陈列。在接下来的两个步骤中,在安全屏幕中激活加密通信 CODESYS.
在状态栏中,双击
打开 安全屏幕.
在 用户 选项卡,选择 强制加密通信 中的选项 安全级别 团体。
与所有控制器的通信都是加密的。如果控制器上没有证书,则无法登录。
开发系统、网关和控制器之间的连接线显示为黄色。 通讯设置 控制器的设备编辑器选项卡。
作为替代 强制加密通信 适用于所有控制器的选项,您还可以仅为特定控制器定义加密通信。为此,请选择 通讯设置 相应控制器的编辑器中的选项卡。然后点击 加密通信 在里面 设备 列表框。
与该控制器的通信是加密的。如果控制器上没有证书,则无法登录。
开发系统、网关和控制器之间的连接线显示为黄色。 通讯设置 控制器的设备编辑器选项卡。
当您首次登录控制器时,会打开一个对话框,其中显示控制器的证书未由可信机构签署。此外,该对话框显示有关证书的信息,并提示您将其作为可信证书安装到本地
Windows Certificate Store
在 控制器证书 文件夹。当您确认对话框时,证书将安装在本地存储中,并且您已登录到控制器。
将来,与控制器的通信将使用此控制证书自动加密。
为了提高低于 V3.5.13.0 的控制器密钥交换的安全性,你可以在控制器上生成 Diffie-Hellman 参数。要执行此操作,请键入命令
cert-gendhparams
在输入行中。控制器 >= V3.5.13.0 不再需要此功能。
重要
注意:生成 Diffie-Hellman 参数可能会持续几分钟甚至几个小时。但是,对于每个控制器,该过程只能执行一次。 Diffie-Hellman 参数提高了密钥交换和未来针对加密数据采样的攻击的安全性。
提示
请记住,并非每个控制器都支持停用加密通信。
重要
我们强烈建议不要禁用加密通信。特别是在启用用户管理的情况下,应启用加密通信,以免凭据落入他人之手。
要求:已建立与设备的连接。该设备支持加密通信。
在设备树中,双击控制器。
设备编辑器打开。
点击 通讯设置 标签。
打开 设备 编辑器标题中的菜单。点击 更改运行时安全策略 命令。
这个 更改运行时安全策略 对话框打开。
在 沟通 区域,你可以在设置之间进行选择 可选加密, 强制加密 (推荐),以及 没有加密。
当 加密通信 选择选项,开发系统、网关和设备之间的连接线将在编辑器中以粗体和彩色图形表示形式突出显示。
在对话框的下半部分中 设备用户管理 区域,你可以在区域之间切换 可选的用户管理 和 强制用户管理 设置。
提示
作为替代方案 更改运行时安全策略 设备编辑器中的对话框,你也可以启用/禁用 强制进行加密通信 设置在 安全屏幕。