Visión general: Protección de una conversación web
Si habilita la seguridad, puede configurar la conversación web para autenticar usuarios, proteger datos privados y restringir el acceso a su asistente.
Todos los mensajes que se envían entre la conversación web y el asistente se cifran utilizando TLS (Transport Layer Security), que protege los datos confidenciales a medida que viajan por la red. Sin embargo, todavía existen posibles riesgos de seguridad contra los que es posible que tenga que protegerse. Al habilitar la característica de seguridad de conversación web y actualizar el código de sitio web de forma adecuada, puede añadir las protecciones siguientes:
-
Puede impedir que sitios web no autorizados envíen mensajes a su asistente, incluso si copian el script de inclusión de chat web. (Los identificadores exclusivos del script de inclusión, como el ID de integración y el ID de instancia de servicio, son visibles para cualquiera que tenga acceso a su sitio web.)
-
Puede autenticar de forma segura a los clientes para controlar el acceso a las características de su asistente que requieren autorización.
-
Puede cifrar datos confidenciales para que los clientes no puedan verlos, al tiempo que permite que su asistente acceda a ellos.
La seguridad de conversación web utiliza JSON Web Tokens (JWT), que son objetos de datos que se envían con cada mensaje del sitio web al servicio watsonx Assistant. Debido a que un JWT se firma digitalmente utilizando una clave de cifrado privada que solo usted tiene, se asegura de que cada mensaje se origine con su sitio web. La carga útil de JWT también se puede utilizar para autenticar de forma segura a los usuarios y transportar datos privados cifrados.
Para obtener información detallada sobre JSON Web Tokens, consulte la especificación JWT).
La habilitación de la seguridad de conversación web implica realizar las personalizaciones siguientes:
-
Implementación de código de servidor de aplicaciones web que genera un JWT firmado con la clave de cifrado privada
-
Personalización de la configuración de conversación web para proporcionar el JWT generado
-
Habilitación de la seguridad en los valores de seguridad de conversación web
Después de habilitar la seguridad de conversación web, se rechazará cualquier mensaje recibido por la integración de conversación web que no vaya acompañado de un JWT firmado correctamente.
Para obtener información detallada sobre cómo completar estos pasos, consulte Habilitación de la seguridad de conversación web.
Con la seguridad de conversación web habilitada, puede implementar opcionalmente medidas de seguridad adicionales según sea necesario:
-
Puede utilizar JWT para autenticar clientes de forma segura por ID de usuario, lo que hace posible que su asistente controle el acceso a las funciones que requieren autorización.
Sin la seguridad de conversación web habilitada, cada cliente que utiliza su asistente sólo se identifica mediante la propiedad
user_idque forma parte de la solicitud de mensaje. Esto es suficiente para identificar usuarios exclusivos para fines de facturación, pero no es seguro, porque se podría modificar.Al codificar la información de identidad de usuario como parte de la carga útil de JWT, puede autenticar usuarios de forma segura. El JWT está firmado y el usuario no puede modificarlo.
Para obtener más información sobre el uso de JWT para la autenticación segura, consulte Autenticación de usuarios en la conversación web.
-
Puede impedir el acceso no autorizado a la información confidencial del cliente cifrándola e incluyéndola como parte de la carga útil del usuario JWT.
La carga útil de usuario es una parte del JWT que puede utilizar para enviar información a la que desea que su asistente tenga acceso, pero no desea que los clientes vean. Esta información sólo se almacena en variables privadas, que los clientes no pueden ver y que nunca se incluyen en los registros.
Para obtener más información sobre cómo utilizar la carga útil de usuario para proteger la información confidencial, consulte Cifrado de datos confidenciales en la conversación web.
Guía de aprendizaje: para una guía de aprendizaje de desarrollador que muestra un ejemplo de uso de la seguridad de conversación web para autenticar usuarios y
proteger datos confidenciales, consulte Guía de aprendizaje: Autenticación de un usuario en medio de una sesión.