<< Clic para mostrar Tabla de Contenidos >> Encriptación de atributos en la base de datos |
Introducción
En algunos escenarios de negocio, se puede requerir incluir medidas adicionales de seguridad para proteger la información.
Para esto, Bizagi ofrece la posibilidad de encriptar (cifrar) la información en la base de datos.
Algunos ejemplos de estos escenarios son:
•Cuando existe información muy sensible que deba estar oculta para usuarios no deseados, especialmente, si muchos usuarios tienen acceso autorizado a la base de datos y su información.
•Cuando se están integrando fuentes de datos externas al proyecto (a través de Virtualización y Replicación) y requiere otorgar una seguridad adicional para la información local almacenada en Bizagi.
El cifrado de información en la Base de Datos, es llevado a cabo por Bizagi a través de algoritmos de cifrado configurados para el proyecto.
Esta sección describe cómo usar esta característica llamada Encripción en la Base de Datos.
Esta funcionalidad no es aplicable a Automation Service. La posibilidad de encriptar ciertos atributos de tablas en la base de datos no es dirigida a ambientes de la nube debido a que estos ambientes ya implementan una encripción completa de la base de datos en reposo. |
¿Cómo funciona?
Para habilitar Encripción en la Base de Datos, necesitará especificar una llave (por ejemplo, un GUID de 32 caracteres) para el algoritmo de cifrado.
Esta llave es almacenada en un archivo en una ruta física con acceso restringido; sólo usted conocerá la ubicación del archivo.
Bizagi usará el algoritmo de Hashing de su elección para preparar la llave como un arreglo de bits para el algoritmo de cifrado.
También necesitará el algoritmo de cifrado que va a usar.
La siguiente imagen ilustra el concepto de esta funcionalidad:
Algoritmos soportados de Hashing y Cifrado
La Encripción en la base de datos de Bizagi, soporta los siguientes algoritmos:
Algoritmos de Hashing
•SHA1
•SHA-256
Seleccione SHA2 256 para una mayor conversión de seguridad. Seleccione SHA1 para que el rendimiento no se vea afectado por un procedimiento de conversión más sofisticado. |
Algoritmos de Cifrado simétrico
•DES
•Triple DES 1
•Triple DES 2
•AES (recomendado), ya sea de 128, 192 o 256 bits.
Los algoritmos de cifrado DES o Triple DES (con claves de menos de 192 bits) NO se recomiendan debido a riesgos de seguridad. Recomendamos utilizar el algoritmo AES con más de 192 bits. |
Importante
Bizagi Ltd no es responsable de la llave definida para este propósito (Bizagi no almacena la llave y usted escoge dónde almacenarla).
La llave definida está solamente bajo su control, custodia y su debida protección. En consecuencia, usted es el único responsable de almacenar, custodiar, proteger y restringir el acceso a la llave.
Debido a lo anterior, usted debe tener un plan de contingencia o un backup en caso de perder la llave, considerando que la información cifrada no puede ser recuperada en ningún momento por Bizagi sin la llave.
Qué necesita hacer
Para usar la Encripción en la Base de Datos, usted necesita ejecutar los siguientes pasos:
1.Autorizar los usuarios que pueden configurar la Encripción en la base de datos
2.Establecer el algoritmo de cifrado y su llave
3.Configurar cuál información debe ser cifrada
Procedimiento
Siga los siguientes pasos para configurar una Encripción en la base de datos.
1. Autorizar los usuarios que pueden configurar la Encripción en la base de datos
Por defecto, los usuarios no están autorizados para configurar la Encripción en la base de Datos
Con el objetivo de utilizar esta funcionalidad, necesitará asegurarse de que el Usuario Administrador de Negocio esté explícitamente autorizado para configurar los parámetros necesarios para el cifrado (como los algoritmos y lo más importante, la llave usada en el cifrado).
Para autorizar usuarios, primero abra su proyecto a través de Bizagi Studio.
Una vez abierto, existen dos maneras diferentes para otorgar permisos a un usuario para esta funcionalidad: Estableciendo el usuario como un administrador o autorizando a un usuario para usar la Encripción en la base de datos.
Primera opción: Estableciendo un usuario como un Administrador.
Esta opción permitirá al usuario usar la Encripción en la Base de Datos, así como delegar este permiso a otros usuarios.
Para hacer esto, lleve a cabo los siguientes pasos:
1.Navegue al módulo Seguridad de Bizagi Studio, ubicado en la pestaña Archivo y luego, dé clic en Seguridad de Bizagi Studio.
2.Haga Clic en la opción Configurar.
3.Añada el usuario al grupo Administrators, haciendo clic en en el botón Añadir usuario.
4.Asegúrese de marcar específicamente la casilla Incluir para especificar que este usuario tendrá privilegios de administrador.
5.Haga Clic en Cerrar para aplicar los cambios.
También puede escoger añadir un grupo al grupo de Administradores, siguiendo los mismos pasos anteriores pero usando el botón Añadir Grupo. |
Segunda opción: Autorizando a un usuario para usar la Encriptación de la Base de Datos.
Esta opción permitirá al usuario configurar la Encriptación de la Base de Datos.
Para hacer esto, lleve a cabo lo siguiente:
1.En la vista de Experto, seleccione el módulo Entidades.
2.Haga clic derecho en el nodo raíz Entidades y seleccione la opción Seguridad:
3.Agregue el usuario haciendo clic en el botón Adicionar Usuario.
Una vez incluido, asegúrese de seleccionar Permitir al privilegio llamado Encriptar Datos:
4.Haga clic en Cerrar para aplicar los cambios.
También puede escoger añadir un grupo al grupo de Administradores, siguiendo los mismos pasos anteriores pero usando el botón Añadir Grupo. |
2. Establezca el algoritmo de cifrado y su llave
Siga los siguientes pasos para configurar el algoritmo de cifrado, el algoritmo de Hashing y la llave de cifrado.
2.1 Defina una llave para el algoritmo de cifrado a usar y guárdela en un archivo de texto plano.
Asegúrese que este archivo esté guardado en una ubicación de red disponible con acceso restringido.
En nuestro ejemplo, la llave tiene 32 caracteres y fue tomada de un GUID auto-generado:
2.2 Habilite la Encriptación en la base de datos en Bizagi
Abra Bizagi Studio y seleccione la opción Entorno, localizada en la pestaña Configuración.
2.3 Seleccione la opción Avanzado ubicada en el panel izquierdo y desplácese hasta Cryptography Options.
Recuerde que estas opciones se mostrarán para usuarios explícitamente autorizados para configurar esta funcionalidad (Como se describió en el primer paso).
PROPIEDAD DE CONFIGURACIÓN |
DESCRIPCIÓN |
---|---|
Algoritmo Hashing |
Seleccione el algoritmo de Hashing usado para convertir la llave en un arreglo de bits. los algoritmos disponibles son: SHA1, SHA2. Tenga en cuenta que SHA2 usará 256 bits (opuesto a SHA1 que usa 160) y por lo tanto, creará una definición más dispersa de la llave (más segura). |
Algoritmo de encriptación |
Seleccione el algoritmo que será usado por la llave establecida para cifrar la información. Las opciones disponibles son: •DES •Triple DES 1 •Triple DES 2 •AES (recomendado), ya sea de 128, 192 o 256 bits. |
Ubicación archivo llave |
Especifique la localización del archivo Llave. Recuerde que este campo debe ser una URL accesible desde el Servidor Bizagi. Puede especificar la URL como una de las opciones o ejemplos a continuación: •Una ruta local del Servidor Bizagi. •Una ruta a un servidor de archivos (p.ej, file://[your_file_server]/KeyFiles/KeyFile.txt) •Una URL HTTP o HTTPS (p.ej., https://[HTTP_Server]/SslText/KeyFile.txt) |
Establecer las propiedades de autenticación |
Marque esta opción para especificar las credenciales autorizadas para acceder al archivo Llave. Si esta opción está desmarcada, Bizagi usará: •Para la configuración, las credenciales del usuario autenticado del Bizagi Studio. •Para la ejecución, las credenciales usadas por el Servidor Bizagi (p.ej, en IIS, la identidad definida por el pool de aplicaciones). |
Usuario |
Ingrese el nombre del usuario autorizado para acceder al archivo llave (Aplica cuando está marcada la opción Establecer las propiedades de autenticación). |
Contraseña |
Ingrese la contraseña del usuario autorizado para acceder al archivo llave (Aplica cuando está marcada la opción Establecer las propiedades de autenticación). |
Dominio (opcional) |
Ingrese el dominio del usuario autorizado para acceder al archivo llave (Aplica cuando está marcada la opción Establecer las propiedades de autenticación). |
2.4 Haga Clic en Aceptar para aplicar los cambios.
3. Configurar cuál información debe ser cifrada
Una vez haya configurado el algoritmo de cifrado y su llave, usted puede marcar cuáles atributos desea que sean establecidos como información cifrada.
Para hacer esto, defina cada atributo marcando la opción Cifrado:
Tenga en cuenta que la encriptación de atributos sólo puede realizarse en entidades paramétricas y maestras. |
Ejemplo
Para explicar cómo establecer o agregar un Atributo Cifrado, el proceso previamente creado en Mi primer proceso (Vacation Request Process), será usado para ilustrar esto paso.
Vamos a asumir que el número de días disponibles va a ser un atributo que sólo puede ser consultado a través del Portal de Trabajo. Esta será la condición de negocio que hace necesario que Availabledays sea un atributo cifrado.
Cualquier usuario con el usuario y la contraseña de la Base de Datos puede ver la tabla donde se almacenan las solicitudes de vacaciones. (recuerde que las entidades creadas en el paso Modelo de datos, crearán una tabla en la Base de datos configurada para Bizagi Studio.)
Sin establecer ningún atributo como cifrado, cualquier usuario, con las credenciales correctas, puede ver toda la información en claro:
Esta es una situación indeseada porque NumberOfDaysAvailable será un atributo que solo puede ser consultado a través del Portal de Trabajo y en este caso, el atributo puede ser consultado usando cualquier editor de SQL que tenga la conexión a la Base de Datos.
Para resolver esta situación, se definirá el atributo Availabledays como cifrado, para hacer esto:
1.Diríjase al paso 2 del Asistente de Procesos, llamado Modelo de Datos.
2.Haga clic derecho en la entidad donde será agregado o establecido el atributo cifrado y seleccione la opción Editar Lista de Atributos.
3.Se mostrará la lista de Atributos de la entidad. Seleccione el atributos que requiere ser establecido como cifrado.
4.Marque la opción Cifrado, Esto ocultará los campos Valor por Defecto y Localizable si corresponde.
5.Haga clic en Finalizar para guardar y aplicar los cambios.
6.Guarde el Modelo de Datos.
Cuando se agregan atributos a la lista, la opción para cifrarlos estará disponible cuando el tipo de datos seleccionado está disponible para ser cifrado. |
En este punto, Bizagi habrá modificado la tabla correspondiente para establecer el campo seleccionado en los pasos anteriores como cifrado, si miramos en la Base de datos, la estructura de la tabla ahora se ve así:
El atributo Availabledays era de tipo int antes del proceso de cifrado y ahora es de tipo image. Y lo más importante, la información no es visible para el usuario que se autenticó en la Base de Datos.
El ejemplo anterior fue creado usando una Base de Datos SQL Server; el tipo de datos en una base de datos Oracle será BLOB. |
Cuando se lanza el Portal de Trabajo, la información cifrada será descifrada antes de ser presentada al usuario, como se muestra en la siguiente imagen. De esta manera, hemos resuelto la situación potencialmente negativa que fue lanzada por la condición de negocio:
Consideraciones Importantes
Tenga en cuenta las siguientes consideraciones al planear utilizar esta funcionalidad.
1. Aplica para entidades de negocio.
Tenga en cuenta que la Encriptación en la base de datos esta disponible para atributos en las entidades Maestras o Paramétricas.
Esto quiere decir que no se puede cifrar las propiedades de la entidad WFUser o cualquier otra del Sistema o de la Aplicación.
2. No todos los tipos de atributos se pueden encriptar.
Los tipos de datos soportados por la Encriptación de la base de datos son:
•Tiny integer (8 bits)
•Small integer (16 bits)
•Integer (32 bits)
•Big integer (64 bits)
•Real (4 bytes)
•Float (8 bytes)
•Currency (16 bytes)
•String
•Extended Text
•Long Text
•Date Time
Hay otros tipos de atributos como por ejemplo archivos o imágenes, los cuales por defecto ya están configurados para no ser legibles desde la base de datos. |
3. Atributos encriptados para usuarios finales.
Cuando utilice la Encriptación en la base de datos para atributos de su modelo de datos, considere lo siguiente:
•Están soportados en Consultas de Bizagi cuando se utilizan como parte de los resultados. No se soportan como filtros.
•Están soportados en Controles de Búsqueda cuando se utilizan como parte de los resultados. No se soportan como filtros.
•Están soportados en Columnas Personalizadas
•Se muestran descifrados cuando se obtiene datos utilizando los métodos del API de Bizagi
•Se almacenan cifrados cuando se guardan datos utilizando los métodos del API de Bizagi
•Están soportados en plantillas de documentos y de correo electrónico
La Encriptación en la base de datos afecta el desempeño cuando se usa en listas desplegables que muestran información de fuentes de datos externas. Por lo tanto, considere y evalúe cuidadosamente su diseño de la interfaz gráfica y use esta funcionalidad cuando sea necesario. |
4. Funcionalidad no reversible
Una vez un atributo utiliza la encriptación a nivel de base de datos y ha sido publicado a un ambiente de producción, no será posible reversar su funcionalidad de manera que sea cambiado para no usarse de manera encriptada.
Esto significa que no podrá activar la funcionalidad para un atributo que ya esté en producción sin la funcionalidad, o igualmente no podrá desactivarla para un atributo funcionando con la misma en producción.
En caso de que necesite empezar o dejar de usar esta funcionalidad, deberá crear una nueva versión de proceso donde se asegure que su modelo de datos utilice ahora un nuevo atributo donde se use o se deje de usar la funcionalidad.