Унифицированная архитектура OPC была разработана для поддержки безопасных аутентифицированных подключений между серверами OPC UA и клиентами. Непатентованные промышленные стандартные протоколы используются для достижения безопасности в связи OPC UA. Безопасность в OPC UA обеспечивается с помощью трех механизмов:
Сообщения, переданные между клиентом OPC UA и сервером, могут быть отправлены в одном из трех режимов безопасности сообщений:
None
: Нет безопасности. Сообщения отправляются открытым текстом.
Sign
: Сообщения подписываются отправителем для аутентификации источника сообщения. Однако сообщения не шифруются.
SignAndEncrypt
: Сообщения подписываются отправителем для аутентификации источника сообщения и шифруются для обеспечения конфиденциальности.
Шифрование и подписание сообщений осуществляется с помощью отраслевых стандартных схем асимметричной криптографии. Политика безопасности канала определяет схему, используемую для шифрования и подписания. Для получения списка политик безопасности каналов, поддерживаемых в настоящее время в OPC- Toolbox™, введите следующую команду в MATLAB:
enumeration opc.ua.ChannelSecurityPolicies
При настройке безопасного соединения между клиентом OPC UA и сервером OPC UA каждая из сторон обменивается сертификатами образца приложения, которые используются для шифрования и подписания сообщений, отправляемых между сторонами. Эти сертификаты могут быть необязательно проверены на соответствие списку доверия сертификатов, поддерживаемому системными администраторами для каждого приложения, чтобы убедиться, что подключение к правильному серверу осуществляется от правильного клиента. OPC Toolbox автоматически принимает сертификаты сервера при установлении соединения. Для получения дополнительной информации см. раздел «Управление сертификатами OPC UA».
Аутентификация пользователя может использоваться сервером для ограничения доступа к функциям сервера на основе конкретного пользователя, устанавливающего соединение. OPC Toolbox поддерживает следующие опции проверки подлинности пользователей:
Anonymous
: Имя пользователя не задано. Некоторые серверы могут не разрешать анонимную проверку подлинности пользователей.
Username
: Комбинация имени пользователя и пароля аутентифицирует конкретного пользователя, устанавливающего соединение.
Certificate
: Для проверки подлинности пользователя используется сертификат пользователя (в X509 стандарте). Открытый ключ сертификата должен быть предварительно передан на сервер, и при установлении соединения пользователь должен предоставить открытый ключ, закрытый ключ и пароль, используемый для защиты закрытого ключа. Очистка (без пароля) закрытых ключей не поддерживается OPC Toolbox.
Обычно серверы поддерживают несколько моделей безопасности для клиентов при подключении к серверу. Поддерживаемые модели безопасности, которые поддержки сервер, описываются через конечные точки, доступные с сервера. Каждая конечная точка определяет одну политику безопасности канала, допустимые режимы безопасности сообщений и поддерживаемые типы проверки подлинности пользователя. Чтобы использовать эту конкретную конечную точку, клиент устанавливает соединение с URL-адресом конечной точки, указанным в списке конечных точек, и задает режим безопасности сообщений.
Вы запрашиваете доступные конечные точки сервера, используя opcuaserverinfo
, или путем создания клиента OPC UA с opcua
. После создания клиента OPC UA можно задать модель безопасности, которая будет использоваться для этого соединения, используя setSecurityModel
. Вы передаете учетные данные пользователя при подключении к серверу с помощью connect
функция.