Настройка пользовательских сертификатов безопасности для OPC UA на PLCnext Control
Это обновление статьи, изначально опубликованной в ноябре 2018 года.
Все контроллеры PLCnext включают встроенный OPC UA сервер. Этот сервер, как и все OPC UA серверы, включает опцию установки безопасных соединений с клиентами с использованием публичной ключевой криптографии. Это руководство описывает, как использовать свой собственный сертификат безопасности (включая свой приватный ключ) для настройки безопасного OPC UA соединения с контроллером PLCnext Control.
Для общей информации об управлении сертификатами OPC UA сервера обратитесь к:
- Разделу OPC UA Settings встроенной системы помощи PLCnext Engineer.
- PLCnext Info Center:
- Embedded OPC UA server (eUA)
- Certificate Authentication.
Введение
Встроенный OPC UA сервер PLCnext Control требует X.509 сертификатов для обеспечения доверенной коммуникации с OPC UA клиентами. Существует четыре основных типа сертификатов, которые можно использовать:
Вариант 1 — Автоматически сгенерированный самоподписанный сертификат.
- Необходимые сертификаты создаются ПЛК автоматически.
- Просто в настройке.
- Полезен для тестирования и постоянного использования в безопасных локальных сетях.
Вариант 2 — Вручную сгенерированный самоподписанный сертификат.
- Нет дополнительных преимуществ по безопасности перед Вариантом 1, но дает администратору больше контроля над управлением сертификатами.
Вариант 3 — Сертификат, подписанный вашим собственным Центром Сертификации (CA).
- Нет дополнительных преимуществ по безопасности перед Вариантами 1 и 2, но позволяет более структурированное управление сертификатами.
Вариант 4 — Сертификат, выпущенный доверенным Центром Сертификации.
- Требует покупки сертификата у доверенного стороннего CA, такого как Symantec или GeoTrust. Это рекомендуемый вариант для публичных или других небезопасных сетей, так как все клиенты должны принять сертификат, подписанный доверенным CA.
Предварительные требования
Для успешного выполнения следующих процедур вам понадобятся:
- Базовое понимание публичной ключевой криптографии и X.509 сертификатов.
- Базовое понимание OPC, и (в частности) OPC UA технологий.
Процедуры, описанные в этом руководстве, подготовлены с использованием следующего оборудования и ПО:
- Контроллер AXC F 2152, прошивка версии 2020.6.1
- PLCnext Engineer версии 2020.6
- UAExpert версии 1.5.1
- XCA версии 2.3.0 с уже созданной базой данных
Фоновое чтение
- Public-key cryptography
- X.509
- Creating X.509 certificates (PDF)
- What is OPC?
- OPC Unified Architecture
- The OPC UA Security Model For Administrators (PDF)
Процедуры
Вариант 1 — Автоматически сгенерированный самоподписанный сертификат
Это опция по умолчанию при создании нового проекта в PLCnext Engineer.
- Следуйте процедуре настройки OPC UA сервера в видео на YouTube-канале Technical Support.
Это автоматически создает самоподписанный сертификат в Identity Store с именем OPC UA-self-signed, который можно увидеть на веб-интерфейсе управления ПЛК, в окне Certificate Authentication (в разделе Security).

Теперь, при установлении соединения с OPC UA сервером из UA Expert, можно увидеть имя самоподписанного сертификата «eUAServer@axc-f-2152-1»:

Поскольку сертификат не подписан доверенным CA, пользователю необходимо явно доверить этому сертификату.
После подтверждения того, что сертификат можно доверять, UA Expert может отобразить ошибку «BadCertificateHostNameInvalid». Это происходит потому, что URL, использованный для подключения к OPC UA серверу, не совпадает ни с одной записью в полях IPAddresses или DNSnames сертификата (которые можно увидеть в разделе UA Extensions выше). Это можно исправить, добавив соответствующие записи в сертификат, что можно сделать в окне OPC UA Settings в PLCnext Engineer.
Обратите внимание, что, хотя UA Expert дает возможность игнорировать ошибки BadCertificateHostNameInvalid и все равно подключиться к серверу, многие другие OPC UA клиенты просто откажутся подключаться при встрече с этой ошибкой.
Вариант 2 — Вручную сгенерированный самоподписанный сертификат
- В XCA создайте новый самоподписанный сертификат.
- Откройте (или создайте) базу данных в меню «File».
- Во вкладке «Certificates» нажмите кнопку «New Certificate»:
- В следующем диалоговом окне вкладка Source будет активна. Опция Signing «create a self signed certificate» должна быть уже выбрана по умолчанию:
- Переключитесь на вкладку «Subject» и заполните поля. Пример показан ниже.
- Нажмите кнопку «Generate a new key». Это генерирует уникальный приватный ключ для этого сертификата.
- Во вкладке «Extensions» установите Validity сертификата на требуемый период и добавьте запись в поле «X509v3 Subject Alternative Name». Это поле не должно быть пустым — это требование спецификации OPC UA. Поля IPAddresses и DNSnames, упомянутые в Варианте 1, соответствуют этим полям.
- Нажмите OK для создания сертификата.
- После создания сертификата выберите его в главном окне XCA и нажмите «Export». Экспортируйте сертификат и незашифрованный приватный ключ в формате «PEM + key (*.pem)»:
- В PLCnext Engineer измените поле OPC UA сервера «Certificate» с «Self signed by controller» на «File on controller».
- Загрузите проект PLCnext Engineer на ПЛК.
- На веб-интерфейсе управления ПЛК перейдите в окно Certificate Authentication в разделе Security. Был создан новый Identity Store с именем OPC UA-configurable.
- Загрузите сертификат и ключ из файла, созданного на шаге 2, в новый Identity Store:
- Загрузите сертификат, нажав кнопку «Set» и выбрав файл сертификата/ключа. Появится ошибка, указывающая, что существующая Key Pair и новый Certificate не совпадают.
- Загрузите приватный ключ, нажав кнопку «Set» и выбрав файл сертификата/ключа. Ошибка исчезнет.
- Перезапустите PLCnext Runtime, чтобы OPC UA сервер подобрал новый сертификат.
Теперь можно подключить клиента к OPC UA серверу, используя этот вручную созданный самоподписанный сертификат. При подключении через UA Expert можно увидеть детали пользовательского сертификата.
Вариант 3 — Сертификат, подписанный вашим собственным Центром Сертификации.
В XCA можно создать свой собственный Центр Сертификации (CA), а затем подписывать ваши сертификаты этим CA. Дополнительные необходимые шаги описаны в документе «Creating X.509 certificates», на который ссылается в начале этой статьи. Обратите внимание, что при экспорте .pem файла формат экспорта должен быть «PEM chain (*.pem)».
Как и в Варианте 2 выше, этот сертификат должен быть загружен в OPC UA-configurable identity store.
Вариант 4 — Сертификат, выпущенный доверенным Центром Сертификации
В этом случае сертификат приобретается у и подписывается доверенным Центром Сертификации. Снова, этот сертификат должен быть загружен в OPC UA-configurable identity store. Если CA известен OPC UA клиенту, то при подключении к OPC UA серверу не должно быть предупреждений или ошибок.
Управление сертификатами на центральном сервере
Вместо ручной загрузки сертификатов безопасности на ПЛК, сертификаты можно вместо этого «проталкивать» на ПЛК с OPC UA Global Discovery Server. Это помогает при управлении сертификатами безопасности в сети, содержащей несколько OPC UA серверов.
Эта тема будет рассмотрена в другой статье.
Промышленные технологии
- Повысьте свои производственные операции с ISO 9004: проверенное руководство по управлению качеством
- Создание полной таблицы соединений в E3.series 2021 — полное руководство
- Оптимизация электрических схем в E3.schematic: умные функции
- Выявление слабых звеньев в процессе электропроектирования: практическое руководство
- Точный расчет стоимости сотрудников с накладными расходами: полное руководство
- Эффективно вовлекайте партнеров по вопросам безопасности цепочки поставок
- Использование Edge AI для оптимизации складской и производственной логистики
- Превосходите конкурентов с цифровыми рабочими инструкциями
- Интеграция Alibaba Cloud Connector с PLCnext: Пошаговое руководство
- Удаленная активация ПК через PLCnext с Wake-on-LAN