«Sealpath proporciona un SDK flexible, potente y de alto rendimiento, siendo una solución ideal para garantizar que se puedan emitir documentos confidenciales sin riesgo. Hemos integrado la seguridad de Sealpath en nuestra aplicación de recursos humanos muy rápidamente. Además, su soporte técnico fue muy atento y amable, lo que también fue una gran ventaja«.
Arnaud Guillet, IT Chief Technical Officer, Dietsmann
A menudo en la empresa, encontramos aplicaciones propietarias donde se almacena información sensible de diferentes tipos. Por ejemplo, en el ámbito de la medicina, aplicaciones donde se guardan datos de pacientes, historiales médicos y demás documentación necesaria que disponen de la posibilidad de exportar la información a formato Excel o PDF para su posterior envío, impresión, etc. Otro ejemplo son gestores documentales, que se han personalizado para poder gestionar mejor los flujos de trabajo de la empresa, y donde se almacenan datos críticos financieros, de clientes, proveedores…
Para cumplir con ciertas regulaciones como por ejemplo GDPR, o si simplemente deseamos tener un control mayor de estos datos almacenados o exportados, nos podemos encontrar con que es necesario modificar estas aplicaciones para añadir cifrado, o más controles para gestionar la información de forma segura. Estas modificaciones no son triviales y pueden no llegar al nivel de control que deseamos. Por otro lado, cambiar de aplicación, gestor documental, etc. tampoco es una opción ya que hemos tardado tiempo en adecuarlas a nuestro flujo de trabajo y el coste del cambio puede ser excesivo.
SealPath, es una solución de protección y control de información centrada en los datos que permite que la protección viaje embebida con tu documentación. Los datos están cifrados y puedes monitorizar quién accede, cuándo accede, si alguien está intentando acceder sin permisos, etc. independientemente de dónde se encuentren los ficheros: En la empresa, en casa de un empleado, en la red de un proveedor o cliente, etc. La protección es dinámica y podemos modificarla en tiempo real para dar más o menos permisos, o incluso, revocar por completo el acceso al documento si se deja de trabajar con alguien.
«Necesitábamos cifrar los documentos que emitían nuestras aplicaciones, ya que contienen información sensible para el negocio, además de cumplir con la GDPR. El SDK de SealPath era la solución que mejor se adaptaba a nuestras necesidades, siendo fácil de usar, flexible y otorgándonos un control en todo momento de nuestra documentación«.
Mirosław Berdzik, IT Manager, Instal-Konsorcjum
¿Cómo nos puede ayudar SealPath si queremos este tipo de protección en nuestros sistemas?
A través del SDK de SealPath, podemos integrar esta protección de datos persistente en nuestras aplicaciones corporativas, de forma que cuando la información se exporte, o se almacene en determinadas carpetas de un gestor documental queden protegidas y se muevan bajo el control de SealPath.
SealPath ofrece dos tipos de SDK para integrar en nuestras aplicaciones:
- SDK de Protección Local: Este SDK está basado en C#/.NET y permite la protección de información en aplicaciones locales que se ejecutan en un equipo o servidor Windows.
- REST API: En este caso podemos utilizar diferentes lenguajes de programación para invocar al API de SealPath que puede ejecutarse en un servidor remoto y diferente del que tenemos ejecutándose la aplicación que deseamos integrar.
¿Cómo funcionan estos SDKs?
SDK de Protección Local
El SDK de Protección Local es una librería que ofrece funciones para crear y eliminar identidades, para obtener las políticas de protección de un usuario y para proteger y desproteger ficheros con estas políticas de protección.
El SDK de Protección necesita que esté instalado en la misma máquina SealPath Desktop o SealPath File Server. La librería de funciones del SDK llama al servicio Residente de SealPath en la máquina, que será quien realice las acciones.
El fichero se protege en local y no necesita ser enviado o viajar a un tercer servidor.
Las políticas de los usuarios se gestionan con SealPath Desktop o con el interfaz Web de administración en la máquina donde funciona el SDK o en cualquier otra máquina. El SDK sólo obtiene el listado de políticas que el usuario puede aplicar, no realiza ninguna gestión adicional con ellas.
Las identidades de los usuarios deben ser registradas con el interfaz Web de administración de la organización. El registro se realiza importando las identidades del Directorio Activo corporativo o dando de alta usuarios en la BD del sistema.
REST API
SDK API REST está basado en una arquitectura Cliente-Servidor que se comunica a través de solicitudes y respuestas HTTPS. Da acceso a diferentes operaciones relacionadas con la creación y eliminación de identidades de usuario, obteniendo políticas de protección y protegiendo y desprotegiendo archivos usando estas políticas.
La gran diferencia con el SDK de protección local es que en este caso el fichero debe viajar al servidor REST para ser protegido.
El cliente REST API SDK se puede desarrollar en cualquier lenguaje de programación. Una vez que el servidor interpreta una solicitud, crea una respuesta HTTPS con datos JSON ubicados dentro del cuerpo o en los encabezados. Los comandos del API se pueden implementar fácilmente con aplicaciones que envían peticiones HTTPS y capturan sus respuestas.
El servidor REST API debe instalarse en una máquina donde está instalado el motor o servicio de SealPath for File Server. El servidor REST API se comunica con el servicio de SealPath for File Servers que realiza las peticiones necesarias al servidor de protección de SealPath.
Las identidades de los usuarios deben estar previamente registradas en el sistema SealPath y gestionarse a través de la consola web de administración de SealPath. El servicio de REST API no realiza ningún registro de usuario en la organización.
REST API puede funcionar a nivel de autenticación con el protocolo OAuth 2.0, para hacer la comunicación segura. Una aplicación cliente primero necesita obtener el token de acceso que le permite acceder a las funciones de la API REST. Para obtener este token de acceso, el usuario debe obtener y usar dos parámetros: el «clientId» y el «clientSecret», para posteriormente poder invocar a las funciones de protección, desprotección, etc. del servicio REST API.
Casos de Uso de Protección a través de los SDKs
Supongamos que tenemos un repositorio de documentación donde almacenamos ficheros de diferente tipo: Información de ofertas, especificaciones de producto, balances, documentación datos personales y similares. Esta herramienta, puede ser un CMS (Content-Management-System), un ERP o un CRM por nombrar algunos de ejemplo. Los usuarios acceden a los mismos a través de un interfaz web, aplicación de sincronización de ficheros, etc.
Este repositorio tiene sus mecanismos de seguridad, donde sólo se deja acceder a la información a determinados usuarios o grupos de usuarios, pero una vez que los documentos se descargan o salen del contexto de seguridad del repositorio, se pierde el control sobre la documentación.
A través de los SDKs de protección de SealPath se pueden hacer los siguientes tipos de integración.
1. Proteger la documentación cuando se sube al repositorio
Este caso está recomendado para escenarios en los que nos interesa almacenar la información cifrada. Puede ser por requisitos de compliance, por ejemplo. También cuando el mecanismo de subida de información está controlado en un punto y no existen muchas formas de subir los documentos al sistema.
El flujo de comunicación en este caso sería el siguiente:
- El usuario, a través de su navegador sube un fichero a la aplicación.
- El sistema intercepta la subida del fichero y hace una llamada al SDK local o REST de protección de SealPath.
- El fichero se protege en ese momento y se almacena protegido.
- Si un usuario realiza la descarga posterior, este fichero seguirá protegido y bajo el control de SealPath.
2. Proteger la documentación cuando se descarga del repositorio
Recomendable cuando nos interesa tener la información desprotegida en el repositorio al cuál pueden acceder otras herramientas como visores, aplicaciones que cargan datos, etc. También cuando la aplicación por ejemplo genera de forma automática documentos a partir de una base de datos para descargarlos al equipo de los usuarios.
El flujo de protección de un fichero en este caso sería:
- El usuario accede a través de la aplicación web y decide descargar un fichero.
- El sistema intercepta la operación de descarga y realiza una llamada al SDK para proteger el fichero que se está descargando. El fichero almacenado en el servidor sigue desprotegido.
- El fichero se protege y sigue su curso hasta llegar al dispositivo del usuario, quedando ya bajo el control de SealPath.
3. Proteger la documentación almacenada en el repositorio
Si tenemos diferentes formas de subir o descargar la aplicación como por ejemplo a través de un interfaz web, sincronizadores locales, u otras aplicaciones, puede resultar complicado la protección en la subida o descarga ya que hay diferentes opciones. En este caso lo más recomendable puede ser securizar la documentación directamente en el repositorio cuando detectemos nuevos ficheros almacenados.
La integración funcionaría de la siguiente forma:
- El usuario guarda documentos en la aplicación subiéndolos a través de un interfaz web, cargándolos con una aplicación de sincronización, etc.
- Estos ficheros quedan almacenados y un servicio detecta cuándo hay nuevos ficheros almacenados en el sistema, a través de eventos, escaneo periódico u otros medios.
- Los ficheros nuevos almacenados quedan protegidos a través de llamadas al SDK. También todos los documentos que había en el repositorio y que no están protegidos.
¿Cómo se realiza la gestión de políticas y con qué políticas proteger la documentación?
El SDK de SealPath ofrece un alto nivel de granularidad en lo que respecta a la aplicación de políticas de protección:
La protección puede asociarse a una determinada carpeta o librería de documentos del repositorio, de forma que todo lo que se guarde, suba o descargue de la carpeta se proteja con esa política.
- La protección puede asociarse a documentos individuales, de forma que, dependiendo del usuario, grupo al que pertenece, contexto del usuario (Ej. desde dónde se realiza la descarga o subida de documentación) se pueda aplicar una determinada política de protección.
- Al igual que con las aplicaciones de protección de escritorio o servidor de SealPath, el SDK de protección puede asignar a los ficheros privilegios de: Sólo Ver, Editar, Copiar y Pegar, Imprimir, Añadir Usuarios o Control Total. Puede establecer fechas de expiración sobre la documentación, posibilidad de incluir marcas de agua, acceso offline por X días, etc.
- Las políticas se definen normalmente en la consola de administración de SealPath y se aplican desde el SDK. Sin embargo, también es posible aplicar desde el SDK políticas “custom” generadas al vuelo dependiendo de las necesidades o contexto del usuario, o crear y actualizar nuevas políticas de protección.
¿Qué tipo de funciones me ofrece el SDK?
Tanto el SDK de Protección Local como el REST API ofrecen funciones para proteger, desproteger, comprobar si un fichero está protegido, etc. Estas son algunas de las más importantes:
1. Gestión de identidad
- Establecer identidad de protección: Indicamos al SDK quién va a ser el usuario que va a realizar las operaciones de protección, desprotección sobre los ficheros.
- Cambiar de identidad: Podemos trabajar con varias identidades y cambiarlas según las necesidades de protección.
- Eliminar identidad: Deslogear una identidad del SDK que no vayamos a utilizar más.
2. Operaciones de Protección y desprotección
- Proteger con una política: Securizar un fichero con una política de protección pre-establecida.
- Proteger con una polítca “custom”: Generar una política custom “al vuelo” y proteger el fichero con la misma.
- Comprobar si un fichero está protegido.
- Obtener la política con la que se ha protegido un fichero.
- Obtener los permisos de un usuario para un fichero protegido.
- Desproteger un fichero.
3. Gestión de políticas de protección
- Crear una nueva política de protección.
- Actualizar una política de protección ya creada, para por ejemplo revocar el acceso a un usuario a un documento protegido.
- Obtener política de protección en base a Guid, nombre, etc.
- Filtrar políticas de protección de un determinado usuario en base a determinadas características. Según el filtro se pueden obtener una o varias políticas que cumplan con los criterios del filtrado.
- Eliminar política de protección.
Adicionalmente en el REST API se ofrecen funciones de adquisición del Token OAuth v2.0 para inicializar el entorno de forma segura y poder realizar el resto de operaciones de protección.
Para las diferentes funciones se exponen también códigos de error que ofrecen información de porqué la operación no se ha realizado o ha fallado.
Por último, toda la información de tracking y auditoría de acceso a ficheros, está disponible en el interfaz web de administración de SealPath o puede enviarse por Syslog o WebApis a un SIEM u otro sistema que permita tratar los registros de auditoría y post-procesarlos.
Conclusiones
Tanto el SDK de protección local como el REST API de SealPath ofrecen una forma muy sencilla a las organizaciones de integrar seguridad centrada en los datos o protección y control sobre la documentación en sus aplicaciones corporativas.
De esta forma, sin grandes esfuerzos, pueden garantizar el cumplimiento de determinadas regulaciones donde resulta crítico tener cifrada la información. También pueden aplicar una protección persistente a su información sensible de forma que cuando haya salido del contexto de seguridad de la aplicación o repositorio, sigan teniendo sus datos confidenciales bajo control.
Tanto si la aplicación es local en Windows con .NET, es una aplicación web que se ejecuta en un servidor Linux, o cualquier tipo de arquitectura, SealPath ofrece diferentes soluciones para que la integración sea sencilla y adecuada al entorno tecnológico de la organización.
No dudes en ponerte en contacto con nosotros para cualquier duda u obtener más información, un equipo de expertos te ayudará en lo que necesites.