Comunicación OPC UA
10.2 Seguridad en OPC UA
• Secure Channel (canal seguro)
El canal seguro recibe de la capa de transporte los datos recibidos y los reenvía a la sesión.
El canal seguro reenvía a la capa de transporte los datos de sesión que deben enviarse.
En el modo de seguridad "Sign", el canal seguro firma los datos (mensajes) que se envían.
Cuando se reciben mensajes, el canal seguro verifica la firma para detectar posibles
manipulaciones.
Con una Security Policy "SignAndEncrypt", el canal seguro firma y cifra los datos que se
envían. Los datos recibidos los descifra el canal seguro. A continuación el canal seguro
verifica la firma.
Con la Security Policy "Sin seguridad", los paquetes de mensajes pasan por el canal seguro
sin modificaciones (los mensajes se reciben y emiten en texto explícito).
• Session
La sesión reenvía los mensajes desde el canal seguro a la aplicación, o recibe de la
aplicación los mensajes que deben enviarse. La aplicación utiliza los valores de proceso o
proporciona los valores.
Establecimiento del canal seguro
El canal seguro se establece del modo siguiente:
1. El servidor comienza a establecer el canal seguro cuando recibe una orden del cliente. Esta
petición está firmada o firmada y cifrada, o bien el mensaje se ha enviado en texto
explícito (modo de seguridad del punto final servidor seleccionado). Con "Firmar" y "Firmar
y cifrar", el cliente envía un "secreto" (un número aleatorio) junto con la petición (request).
2. El servidor valida el certificado del cliente (incluido sin cifrar en la petición) y comprueba la
identidad del cliente. Si el servidor confía en el certificado del cliente,
– descifra el mensaje y comprueba la firma ("Firmar y cifrar")
– o comprueba tan solo la firma ("Firmar")
– o deja el mensaje sin modificar ("Ninguna seguridad").
3. Después el servidor envía una respuesta al cliente (protegida de igual forma que la
petición). En la respuesta se incluye el secreto del servidor. A partir del secreto de cliente y
servidor, ambos calculan una clave simétrica. De este modo se ha establecido el canal
seguro.
La clave simétrica se utiliza solo para firmar y cifrar mensajes (en lugar de las claves privadas y
públicas de cliente y servidor).
Establecimiento de la sesión
La sesión se establece del modo siguiente:
1. El cliente inicia el establecimiento de la sesión enviando una CreateSessionRequest al
servidor. Dicho mensaje incluye un Nonce, un número aleatorio utilizado una sola vez. El
servidor debe firmar este número aleatorio (Nonce) para demostrar que es el titular de la
clave privada. La clave privada corresponde al certificado utilizado por el servidor al
establecer el canal seguro. Este mensaje (al igual que todos los siguientes) está protegido
conforme a los ajustes de seguridad del punto final seleccionado del servidor (Security
Policies seleccionadas).
2. El servidor responde con la CreateSession Response. Este mensaje contiene la clave
pública del servidor y el Nonce firmado. El cliente comprueba el Nonce firmado.
186
Manual de funciones, 11/2022, A5E03735817-AK
Comunicación