El enmascaramiento de datos u ofuscación de datos es el proceso de modificar datos confidenciales de tal manera que tengan poco o ningún valor para intrusos no autorizados y al mismo tiempo puedan ser utilizados por software o personal autorizado. El enmascaramiento de datos también puede denominarse anonimización o tokenización , según el contexto.
La razón principal para enmascarar datos es proteger la información clasificada como información de identificación personal o datos de misión crítica. Sin embargo, los datos deben seguir siendo utilizables a efectos de realizar ciclos de prueba válidos. También debe parecer real y coherente. Es más común aplicar enmascaramiento a datos que se representan fuera de un sistema de producción corporativo. En otras palabras, cuando se necesitan datos para desarrollar aplicaciones , crear extensiones de programas y realizar varios ciclos de prueba . Es una práctica común en la informática empresarial tomar datos de los sistemas de producción para completar el componente de datos necesario para estos entornos que no son de producción. Sin embargo, esta práctica no siempre se limita a entornos que no son de producción. En algunas organizaciones, a los datos que aparecen en las pantallas de las terminales a los operadores de centros de llamadas se les puede aplicar un enmascaramiento dinámicamente en función de los permisos de seguridad del usuario (por ejemplo, impedir que los operadores de centros de llamadas vean los números de tarjetas de crédito en los sistemas de facturación).
La principal preocupación desde una perspectiva de gobierno corporativo [1] es que el personal que realiza trabajos en estos entornos no productivos no siempre tiene autorización de seguridad para operar con la información contenida en los datos de producción. Esta práctica representa un agujero de seguridad donde personal no autorizado puede copiar datos y las medidas de seguridad asociadas con los controles de nivel de producción estándar pueden eludirse fácilmente. Esto representa un punto de acceso para una violación de la seguridad de los datos .
Los datos involucrados en cualquier enmascaramiento u ofuscación de datos deben seguir siendo significativos en varios niveles:
La sustitución es uno de los métodos más eficaces para aplicar el enmascaramiento de datos y poder preservar la apariencia auténtica de los registros de datos.
Permite que el enmascaramiento se realice de tal manera que se pueda sustituir el valor existente por otro valor que parezca auténtico. [2] Hay varios tipos de campos de datos en los que este enfoque proporciona un beneficio óptimo al disfrazar el subconjunto de datos general en cuanto a si se trata o no de un conjunto de datos enmascarado. Por ejemplo, si se trata de datos de origen que contienen registros de clientes, el apellido o el nombre de la vida real se pueden sustituir aleatoriamente a partir de un archivo de búsqueda proporcionado o personalizado. Si el primer paso de la sustitución permite aplicar un nombre masculino a todos los nombres, entonces el segundo paso debería permitir aplicar un nombre femenino a todos los nombres donde el género sea igual a "F". Usando este enfoque podríamos mantener fácilmente la mezcla de género dentro de la estructura de datos, aplicar el anonimato a los registros de datos pero también mantener una base de datos de apariencia realista, que no podría identificarse fácilmente como una base de datos que consta de datos enmascarados.
Este método de sustitución debe aplicarse a muchos de los campos que se encuentran en las estructuras de bases de datos de todo el mundo, como números de teléfono , códigos postales y códigos postales, así como números de tarjetas de crédito y otros tipos de números de tarjetas como números de Seguro Social y números de Medicare donde estos números en realidad necesitan ajustarse a una prueba de suma de verificación del algoritmo de Luhn .
En la mayoría de los casos, los archivos de sustitución deberán ser bastante extensos, por lo que tener grandes conjuntos de datos de sustitución y la capacidad de aplicar conjuntos de sustitución de datos personalizados debería ser un elemento clave de los criterios de evaluación para cualquier solución de enmascaramiento de datos.
El método de barajado es una forma muy común de ofuscación de datos. Es similar al método de sustitución pero deriva el conjunto de sustitución de la misma columna de datos que se está enmascarando. En términos muy simples, los datos se mezclan aleatoriamente dentro de la columna. [3] Sin embargo, si se usa de forma aislada, cualquier persona con algún conocimiento de los datos originales puede aplicar un escenario de "qué pasaría si" al conjunto de datos y luego reconstruir una identidad real. El método de barajado también se puede revertir si se puede descifrar el algoritmo de barajado. [ cita necesaria ]
La mezcla de datos supera las reservas sobre el uso de datos confidenciales perturbados o modificados porque conserva todas las propiedades deseables de la perturbación y al mismo tiempo funciona mejor que otras técnicas de enmascaramiento tanto en la utilidad de los datos como en el riesgo de divulgación. [3]
Sin embargo, la barajada tiene algunas ventajas reales en determinadas áreas. Si, por ejemplo, las cifras de fin de año para información financiera en una base de datos de prueba, se pueden enmascarar los nombres de los proveedores y luego barajar el valor de las cuentas en toda la base de datos enmascarada. Es muy poco probable que alguien, incluso alguien con un conocimiento íntimo de los datos originales, pueda derivar un registro de datos verdadero a sus valores originales.
El método de variación numérica es muy útil para aplicarlo a campos de información financiera y de fecha. Efectivamente, un método que utilice esta forma de enmascaramiento aún puede dejar un rango significativo en un conjunto de datos financieros como la nómina. Si la variación aplicada es de aproximadamente +/- 10%, sigue siendo un conjunto de datos muy significativo en términos de los rangos de salarios que se pagan a los destinatarios.
Lo mismo se aplica también a la información de la fecha. Si el conjunto de datos general necesita conservar la integridad de los datos demográficos y actuariales, entonces aplicar una variación numérica aleatoria de +/- 120 días a los campos de fecha preservaría la distribución de fechas, pero aún evitaría la trazabilidad hasta una entidad conocida en función de su identidad conocida. fecha real o nacimiento o un valor de fecha conocido para cualquier registro que se esté enmascarando.
El cifrado suele ser el enfoque más complejo para resolver el problema del enmascaramiento de datos. El algoritmo de cifrado a menudo requiere que se aplique una "clave" para ver los datos según los derechos del usuario. Esto suele parecer la mejor solución, pero en la práctica la clave puede entregarse a personal sin los derechos adecuados para ver los datos. Esto entonces anula el propósito del ejercicio de enmascaramiento. Las bases de datos antiguas pueden copiarse con las credenciales originales de la clave proporcionada y el mismo problema incontrolado persiste.
Recientemente, el problema de cifrar datos preservando las propiedades de las entidades obtuvo reconocimiento y un nuevo interés entre los proveedores y el mundo académico. Un nuevo desafío dio origen a algoritmos que realizan cifrado que preserva el formato . Estos se basan en el modo algorítmico del Estándar de cifrado avanzado (AES) aceptado y reconocido por NIST. [4]
A veces se adopta un enfoque muy simplista de enmascaramiento mediante la aplicación de un valor nulo a un campo en particular. El enfoque del valor nulo en realidad sólo es útil para evitar la visibilidad del elemento de datos.
En casi todos los casos, reduce el grado de integridad de los datos que se mantiene en el conjunto de datos enmascarados. No es un valor realista y luego fallará en cualquier validación de la lógica de la aplicación que pueda haberse aplicado en el software de interfaz que se encuentra en el sistema bajo prueba. También destaca a cualquiera que desee aplicar ingeniería inversa a cualquiera de los datos de identidad que se ha aplicado enmascaramiento de datos hasta cierto punto en el conjunto de datos.
La codificación de caracteres o el enmascaramiento de ciertos campos también es otro método simplista pero muy eficaz para evitar que se vea información confidencial. En realidad, es una extensión del método anterior de anulación, pero hay un mayor énfasis en mantener los datos reales y no completamente enmascarados.
Esto se aplica comúnmente a los datos de tarjetas de crédito en los sistemas de producción. Por ejemplo, un operador de un centro de llamadas podría facturar un artículo a la tarjeta de crédito de un cliente. Luego citan una referencia de facturación a la tarjeta con los últimos 4 dígitos de XXXX XXXX xxxx 6789. Como operador, solo pueden ver los últimos 4 dígitos del número de la tarjeta, pero una vez que el sistema de facturación pasa los detalles del cliente para el cobro, el total El número se revela a los sistemas de pasarela de pago.
Este sistema no es muy efectivo para sistemas de prueba, pero es muy útil para el escenario de facturación detallado anteriormente. También se conoce comúnmente como método de enmascaramiento de datos dinámicos. [5] [6]
También se pueden incluir reglas adicionales en cualquier solución de enmascaramiento, independientemente de cómo se construyan los métodos de enmascaramiento. Los documentos técnicos independientes del producto [7] son una buena fuente de información para explorar algunos de los requisitos complejos más comunes para las soluciones de enmascaramiento empresarial, que incluyen reglas de sincronización interna de filas, reglas de sincronización interna de tablas y tablas [8] con reglas de sincronización de tablas.
El enmascaramiento de datos está estrechamente relacionado con la creación de datos de prueba. Dos tipos principales de enmascaramiento de datos son el enmascaramiento de datos estático y sobre la marcha.
El enmascaramiento de datos estáticos generalmente se realiza en la copia dorada de la base de datos, pero también se puede aplicar a valores de otras fuentes, incluidos archivos. En entornos de base de datos, los administradores de bases de datos de producción normalmente cargarán copias de seguridad de tablas en un entorno separado, reducirán el conjunto de datos a un subconjunto que contenga los datos necesarios para una ronda particular de pruebas (una técnica llamada "subconjunto"), aplicarán reglas de enmascaramiento de datos mientras los datos se almacenan. en estasis, aplique los cambios de código necesarios desde el control de fuente y/o envíe los datos al entorno deseado. [9]
El enmascaramiento determinista es el proceso de reemplazar un valor en una columna con el mismo valor ya sea en la misma fila, la misma tabla, la misma base de datos/esquema y entre instancias/servidores/tipos de bases de datos. Ejemplo: una base de datos tiene varias tablas, cada una con una columna que tiene nombres. Con el enmascaramiento determinista, el nombre siempre se reemplazará con el mismo valor (“Lynne” siempre se convertirá en “Denise”), dondequiera que “Lynne” esté en la base de datos. [10]
También existen alternativas al enmascaramiento de datos estáticos que se basan en perturbaciones estocásticas de los datos que preservan algunas de las propiedades estadísticas de los datos originales. Ejemplos de métodos de ofuscación de datos estadísticos incluyen la privacidad diferencial [11] y el método DataSifter . [12]
El enmascaramiento de datos sobre la marcha [13] ocurre en el proceso de transferir datos de un entorno a otro sin que los datos toquen el disco en su camino. La misma técnica se aplica al "enmascaramiento dinámico de datos", pero un registro a la vez. Este tipo de enmascaramiento de datos es más útil para entornos que realizan implementaciones continuas, así como para aplicaciones muy integradas. Las organizaciones que emplean prácticas de implementación continua o entrega continua no tienen el tiempo necesario para crear una copia de seguridad y cargarla en la copia dorada de la base de datos. Por lo tanto, es importante enviar continuamente subconjuntos más pequeños (deltas) de datos de prueba enmascarados desde producción. En aplicaciones muy integradas, los desarrolladores obtienen feeds de otros sistemas de producción desde el inicio del desarrollo y el enmascaramiento de estos feeds se pasa por alto y no se presupuesta hasta más tarde, lo que hace que las organizaciones no cumplan. Disponer de enmascaramiento de datos sobre la marcha se vuelve esencial.
El enmascaramiento de datos dinámico es similar al enmascaramiento de datos sobre la marcha, pero se diferencia en el sentido de que el enmascaramiento de datos sobre la marcha consiste en copiar datos de una fuente a otra para que esta última pueda compartirse. El enmascaramiento de datos dinámico ocurre en tiempo de ejecución, de forma dinámica y bajo demanda, de modo que no es necesario que haya una segunda fuente de datos donde almacenar los datos enmascarados de forma dinámica.
El enmascaramiento dinámico de datos permite varios escenarios, muchos de los cuales giran en torno a estrictas regulaciones de privacidad, por ejemplo, la Autoridad Monetaria de Singapur o las regulaciones de privacidad en Europa.
El enmascaramiento de datos dinámico se basa en atributos y está impulsado por políticas. Las políticas incluyen:
El enmascaramiento de datos dinámico también se puede utilizar para cifrar o descifrar valores sobre la marcha, especialmente cuando se utiliza cifrado que preserva el formato .
En los últimos años han surgido varios estándares para implementar el filtrado y enmascaramiento dinámico de datos. Por ejemplo, las políticas XACML se pueden utilizar para enmascarar datos dentro de bases de datos.
Hay seis tecnologías posibles para aplicar el enmascaramiento de datos dinámico:
En los últimos años, las organizaciones desarrollan cada vez más sus nuevas aplicaciones en la nube, independientemente de si las aplicaciones finales se alojarán en la nube o en las instalaciones. Las soluciones en la nube ahora permiten a las organizaciones utilizar infraestructura como servicio , plataforma como servicio y software como servicio . Existen varios modos de crear datos de prueba y moverlos desde bases de datos locales a la nube, o entre diferentes entornos dentro de la nube. El enmascaramiento dinámico de datos se vuelve aún más crítico en la nube cuando los clientes necesitan proteger los datos PII mientras dependen de los proveedores de la nube para administrar sus bases de datos. El enmascaramiento de datos invariablemente se convierte en parte de estos procesos en el ciclo de vida de desarrollo de sistemas (SDLC), ya que los acuerdos de nivel de servicio (SLA) de los entornos de desarrollo generalmente no son tan estrictos como los SLA de los entornos de producción, independientemente de si la aplicación está alojada en la nube. o en las instalaciones.