El enmascaramiento de datos [1] [2] o la ofuscación de datos [3] es el proceso de ocultar datos originales con contenido modificado (caracteres u otros datos).
La razón principal para aplicar el enmascaramiento a un campo de datos es proteger los datos clasificados como información de identificación personal , datos personales sensibles o datos comercialmente sensibles. Sin embargo, los datos deben seguir siendo utilizables para realizar ciclos de prueba válidos. También debe verse real y parecer consistente. Es más común aplicar enmascaramiento a los datos que están representados fuera de un sistema de producción corporativo. En otras palabras, cuando se necesitan datos para el desarrollo de aplicaciones , la creación de extensiones de programas y la realización de 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 de no producción. Sin embargo, esta práctica no siempre se limita a entornos que no son de producción. En algunas organizaciones, los datos que aparecen en las pantallas de las terminales para los operadores del centro de llamadas pueden tener un enmascaramiento aplicado dinámicamente en función de los permisos de seguridad del usuario (por ejemplo, evitar que los operadores del centro 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 [4] es que el personal que trabaja en estos entornos no productivos no siempre tiene la 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 los datos pueden ser copiados por personal no autorizado, y las medidas de seguridad asociadas con los controles de nivel de producción estándar se pueden eludir fácilmente. Esto representa un punto de acceso para una violación de la seguridad de los datos .
La práctica general de enmascaramiento de datos a nivel organizacional debe estar estrechamente relacionada con la Práctica de gestión de pruebas [5] [6] y la metodología subyacente y debe incorporar procesos para la distribución de subconjuntos de datos de prueba enmascarados. [7] [8] [9]
Fondo
Los datos involucrados en cualquier enmascaramiento u ofuscación de datos deben seguir siendo significativos en varios niveles:
- Los datos deben seguir siendo significativos para la lógica de la aplicación. Por ejemplo, si se van a ofuscar elementos de direcciones y la ciudad y los suburbios se reemplazan con ciudades o suburbios sustitutos, entonces, si dentro de la aplicación hay una función que valida el código postal o la búsqueda de código postal, esa función aún debe poder operar sin error y opere como se espera. Lo mismo ocurre con las comprobaciones de validación de algoritmos de tarjetas de crédito y las validaciones de números de seguro social .
- Los datos deben sufrir suficientes cambios para que no sea obvio que los datos enmascarados provienen de una fuente de datos de producción. Por ejemplo, puede ser de conocimiento común en una organización que hay 10 gerentes senior que ganan más de $ 300K. Si un entorno de prueba del sistema de recursos humanos de la organización también incluye 10 identidades en el mismo rango de ingresos, entonces se podría juntar otra información para realizar ingeniería inversa de una identidad de la vida real. Teóricamente, si los datos están obviamente enmascarados u ofuscados, entonces sería razonable que alguien que pretenda una violación de datos asuma que podría aplicar ingeniería inversa a los datos de identidad si tuvieran algún grado de conocimiento de las identidades en el conjunto de datos de producción. En consecuencia, la ofuscación de datos o el enmascaramiento de un conjunto de datos se aplica de tal manera que se asegure que la identidad y los registros de datos confidenciales estén protegidos, no solo los elementos de datos individuales en campos y tablas discretos.
- Es posible que se requiera que los valores enmascarados sean consistentes en múltiples bases de datos dentro de una organización cuando cada una de las bases de datos contiene el elemento de datos específico que se está enmascarando. Las aplicaciones pueden acceder inicialmente a una base de datos y luego acceder a otra para recuperar información relacionada donde la clave externa ha sido enmascarada (por ejemplo, una aplicación de centro de llamadas primero muestra datos de una base de datos maestra del cliente y, dependiendo de la situación, posteriormente accede a una de varias otras bases de datos con productos financieros muy diferentes). Esto requiere que el enmascaramiento aplicado sea repetible (el mismo valor de entrada al algoritmo de enmascaramiento siempre produce el mismo valor de salida) pero no se puede aplicar ingeniería inversa para volver al valor original. También pueden aplicarse restricciones adicionales, como se menciona en (1), dependiendo de los elementos de datos involucrados. Cuando se utilicen diferentes conjuntos de caracteres en las bases de datos que necesiten conectarse en este escenario, será necesario aplicar un esquema de conversión de los valores originales en una representación común, ya sea mediante el algoritmo de enmascaramiento mismo o antes de invocar dicho algoritmo.
Técnicas
Sustitución
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 otro valor de aspecto auténtico pueda sustituir el valor existente. 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 es o no un conjunto de datos enmascarados. 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 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 es igual a "F". Con este enfoque, podríamos mantener fácilmente la combinación 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 en 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 números de tipo de tarjeta como números de Seguro Social y números de Medicare donde estos números en realidad deben ajustarse a una prueba de suma de control 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, así como 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.
Arrastramiento
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. Sin embargo, si se utiliza de forma aislada, cualquier persona que tenga algún conocimiento de los datos originales puede aplicar un escenario "Y si ..." al conjunto de datos y luego reconstruir una identidad real. El método de barajado también puede invertirse si se puede descifrar el algoritmo de barajado. [ cita requerida ]
Sin embargo, barajar tiene algunas fortalezas reales en ciertas áreas. Si, por ejemplo, las cifras de fin de año para la información financiera en una base de datos de prueba, uno puede enmascarar los nombres de los proveedores y luego barajar el valor de las cuentas a través de la base de datos enmascarada. Es muy poco probable que alguien, incluso alguien con un conocimiento profundo de los datos originales, pueda derivar un registro de datos verdadero a sus valores originales.
Variación de número y fecha
El método de variación numérica es muy útil para aplicar a campos de información financiera y basados en fechas. Efectivamente, un método que utiliza esta forma de enmascaramiento puede dejar un rango significativo en un conjunto de datos financieros como la nómina. Si la variación aplicada es de alrededor de +/- 10%, entonces sigue siendo un conjunto de datos muy significativo en términos de los rangos de salarios que se pagan a los beneficiarios.
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 la aplicación de una variación numérica aleatoria de +/- 120 días hasta los campos de fecha preservaría la distribución de la fecha, pero aún evitaría la trazabilidad hasta una entidad conocida basada en sus datos conocidos. fecha o nacimiento real o un valor de fecha conocida para cualquier registro que se esté enmascarando.
Cifrado
El cifrado es a menudo 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 en función de los derechos del usuario. Esto a menudo suena como la mejor solución, pero en la práctica, la clave puede entregarse al personal sin los derechos adecuados para ver los datos. Esto entonces anula el propósito del ejercicio de enmascaramiento. Es posible que las bases de datos antiguas se copien con las credenciales originales de la clave proporcionada y el mismo problema incontrolado persiste.
Recientemente, el problema de encriptar datos mientras se preservan las propiedades de las entidades obtuvo reconocimiento y un interés recientemente adquirido entre los proveedores y el mundo académico. Un nuevo desafío dio lugar a algoritmos llamados FPE (formato que preserva el cifrado). Se basan en el modo algorítmico AES aceptado que hace que sean reconocidos por NIST . [10]
Anulación o eliminación
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 de valor nulo realmente solo es útil para evitar la visibilidad del elemento de datos.
En casi todos los casos, disminuye el grado de integridad de los datos que se mantiene en el conjunto de datos enmascarados. No es un valor realista y luego fallará cualquier validación lógica de la aplicación que pueda haber sido aplicada en el software de interfaz que está en el sistema bajo prueba. También destaca a cualquiera que desee aplicar ingeniería inversa a cualquiera de los datos de identidad que el enmascaramiento de datos se ha aplicado hasta cierto punto en el conjunto de datos.
Enmascarar
La codificación de caracteres o el enmascaramiento de ciertos campos también es otro método simplista pero muy efectivo para evitar que se vea información confidencial. Realmente 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 todos juntos.
Esto se aplica comúnmente a los datos de tarjetas de crédito en 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 transmite los detalles del cliente para el cargo, el El número se revela a los sistemas de pasarela de pago.
Este sistema no es muy efectivo para los 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. [11] [12]
Reglas complejas adicionales
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 libros blancos independientes del producto [13] 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 Reglas de sincronización de tablas [14] a tablas.
Diferentes tipos
El enmascaramiento de datos está estrechamente vinculado 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. [15]
Enmascaramiento de datos estáticos
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 en otras fuentes, incluidos archivos. En entornos de base de datos, los DBA 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 contiene los datos necesarios para una ronda particular de pruebas (una técnica llamada "subconjunto"), aplicarán reglas de enmascaramiento de datos mientras los datos están en stasis, aplique los cambios de código necesarios desde el control de fuente y / o envíe los datos al entorno deseado. [dieciséis]
Enmascaramiento de datos determinista
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 será reemplazado por el mismo valor ("Lynne" siempre se convertirá en "Denise"), donde sea que esté "Lynne" en la base de datos. [17]
Ofuscación de datos estadísticos
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. Entre los ejemplos de métodos de ofuscación de datos estadísticos se incluyen la privacidad diferencial [18] y el método DataSifter . [19]
Enmascaramiento de datos sobre la marcha
El enmascaramiento de datos sobre la marcha [20] ocurre en el proceso de transferencia de 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 o entrega continua no tienen el tiempo necesario para crear una copia de seguridad y cargarla en la copia de oro de la base de datos. Por lo tanto, es importante enviar continuamente subconjuntos más pequeños (deltas) de datos de prueba enmascarados desde la producción. En aplicaciones muy integradas, los desarrolladores obtienen feeds de otros sistemas de producción al comienzo mismo 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 con las normas. Tener un enmascaramiento de datos sobre la marcha se vuelve esencial.
Enmascaramiento dinámico de datos
El enmascaramiento dinámico de datos es similar al enmascaramiento de datos sobre la marcha, pero difiere 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 dinámico de datos ocurre en tiempo de ejecución, dinámicamente y bajo demanda, por lo que no es necesario que haya una segunda fuente de datos donde almacenar los datos enmascarados dinámicamente.
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 dinámico de datos se basa en atributos y se rige por políticas. Las políticas incluyen:
- Los médicos pueden ver los registros médicos de los pacientes a los que están asignados (filtrado de datos)
- Los médicos no pueden ver el campo SSN dentro de un registro médico (enmascaramiento de datos).
El enmascaramiento dinámico de datos también se puede utilizar para cifrar o descifrar valores sobre la marcha, especialmente cuando se utiliza cifrado que conserva el formato .
En los últimos años han surgido varios estándares para implementar el filtrado y el enmascaramiento de datos dinámicos. 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 dinámico de datos:
- En la base de datos: la base de datos recibe el SQL y aplica la reescritura al conjunto de resultados enmascarado devuelto. Aplicable para desarrolladores y administradores de bases de datos, pero no para aplicaciones (porque los grupos de conexiones, el almacenamiento en caché de aplicaciones y el bus de datos ocultan la identidad del usuario de la aplicación de la base de datos y también pueden dañar los datos de la aplicación).
- Proxy de red entre la aplicación y la base de datos: captura el SQL y aplica la reescritura en la solicitud de selección. Aplicable para desarrolladores y administradores de bases de datos con simples solicitudes de selección, pero no para procedimientos almacenados (que el proxy solo identifica al ejecutivo) y aplicaciones (porque los grupos de conexiones, el almacenamiento en caché de aplicaciones y el bus de datos ocultan la identidad del usuario de la aplicación de la base de datos y también pueden causar daños en los datos de la aplicación).
- Proxy de base de datos: es una variación del proxy de red. El proxy de la base de datos se implementa normalmente entre las aplicaciones / usuarios y la base de datos. Las aplicaciones y los usuarios se conectan a la base de datos a través del proxy de seguridad de la base de datos. No hay cambios en la forma en que las aplicaciones y los usuarios se conectan a la base de datos. Tampoco es necesario instalar el agente en el servidor de la base de datos. Las consultas SQL se reescriben, pero cuando se implementa, este tipo de enmascaramiento dinámico de datos también es compatible con los procedimientos de la tienda y las funciones de la base de datos. [21]
- Proxy de red entre el usuario final y la aplicación: identificando cadenas de texto y reemplazándolas. Este método no es aplicable para aplicaciones complejas, ya que fácilmente causará daños cuando el reemplazo de cadena en tiempo real se aplique involuntariamente.
- Cambios de código en las aplicaciones y XACML: los cambios de código suelen ser difíciles de realizar, imposibles de mantener y no aplicables para aplicaciones empaquetadas. Algunas aplicaciones como Oracle E-Business Suite, PeopleSoft y JD Edwards permiten agregar un código API al código de su aplicación para habilitar el enmascaramiento dinámico de datos. [22]
- Dentro del tiempo de ejecución de la aplicación: al instrumentar el tiempo de ejecución de la aplicación, se definen políticas para reescribir el conjunto de resultados devuelto desde las fuentes de datos, mientras se tiene una visibilidad completa para el usuario de la aplicación. Este método es la única forma aplicable de enmascarar dinámicamente aplicaciones complejas, ya que permite controlar la solicitud de datos, el resultado de los datos y el resultado del usuario.
- Compatible con un complemento del navegador: en el caso de SaaS o aplicaciones web locales, los complementos del navegador se pueden configurar para enmascarar los campos de datos correspondientes a los selectores CSS precisos . Esto se puede lograr marcando campos sensibles en la aplicación, por ejemplo, mediante una clase HTML o encontrando los selectores correctos que identifican los campos que se van a ofuscar o enmascarar.
El enmascaramiento de datos y la nube
En los últimos años, las organizaciones desarrollan sus nuevas aplicaciones en la nube cada vez con más frecuencia, independientemente de si las aplicaciones finales se alojarán en la nube o en las instalaciones. Las soluciones en la nube a partir de ahora permiten a las organizaciones utilizar la infraestructura como servicio o IaaS , la plataforma como servicio o PaaS y el software como servicio o SaaS . Hay varios modos de crear datos de prueba y moverlos de 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 de PII mientras confían en los proveedores de la nube para administrar sus bases de datos. [23] El enmascaramiento de datos se convierte invariablemente en parte de estos procesos en SDLC, ya que los SLA de los entornos de desarrollo no suelen ser 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.
Ver también
- Enmascaramiento y desenmascaramiento por agencias de inteligencia
Referencias
- ^ "Enmascaramiento de datos frente a cifrado de datos" . www.iri.com . Innovative Routines International . Consultado el 24 de agosto de 2017 .
- ^ "Prueba de enmascaramiento de datos" . DATPROF . 2014-05-20 . Consultado el 29 de abril de 2020 .
- ^ "Definición de enmascaramiento de datos" . Consultado el 24 de agosto de 2017 .
- ^ "Especialistas en Gestión de la Información" . GBT . Consultado el 24 de agosto de 2017 .
- ^ "Metodología de gestión de pruebas y ciclo de vida de datos" . Cocina de datos . Consultado el 24 de agosto de 2017 .
- ^ "Gestión de datos de prueba: un manual" . IRI . Consultado el 24 de agosto de 2017 .
- ^ "Configuración secundaria" . Cocina de datos . Consultado el 24 de agosto de 2017 .
- ^ "Subconjunto de la base de datos" . IRI . Consultado el 24 de agosto de 2017 .
- ^ "Subconjunto de datos" . DATPROF . 2019-05-23 . Consultado el 29 de abril de 2020 .
- ^ "Sistemas de procesamiento de datos con motores de cifrado y descifrado que preservan el formato" . Consultado el 24 de agosto de 2017 .
- ^ "Soluciones de enmascaramiento dinámico de datos IRI" . Consultado el 24 de agosto de 2017 .
- ^ "Enmascaramiento dinámico de datos con IBM Optim" . Consultado el 24 de agosto de 2017 .
- ^ "Enmascaramiento de datos: lo que necesita saber" (PDF) . Net2000 Ltd . Consultado el 24 de agosto de 2017 .
- ^ "Explicación de las reglas de sincronización y enmascaramiento de datos complejos" . Consultado el 24 de agosto de 2017 .
- ^ DataSunrise (2017). "Enmascaramiento de datos dinámicos y estáticos" .
- ^ "Funciones de enmascaramiento de datos estáticos" . IRI . Consultado el 24 de agosto de 2017 .
- ^ "Enmascaramiento de datos deterministas" . DATPROF . 2020-03-19 . Consultado el 29 de abril de 2020 .
- ^ US 7698250 , Cynthia Dwork & Frank McSherry, "Privacidad de datos diferenciales", publicado el 13 de abril de 2010 , asignado a Microsoft Corp (original) y Microsoft Technology Licensing LLC (actual)
- ^ Marino, Simeone; Zhou, Nina; Zhao, Yi; Zhou, Nina; Wu, Qiucheng; Dinov, Ivo (2018). "DataSifter: Ofuscación estadística de registros médicos electrónicos y otros conjuntos de datos sensibles" . Revista de Computación y Simulación Estadística . 89 (2): 249–271. doi : 10.1080 / 00949655.2018.1545228 . PMC 6450541 .
- ^ "Eliminación de riesgos de cumplimiento: enmascaramiento de datos en la nube" . Consultado el 24 de agosto de 2017 .
- ^ "Enmascaramiento dinámico de bases de datos con proxy de seguridad de bases de datos" . Consultado el 21 de marzo de 2019 .
- ^ "Seguridad de aplicaciones empresariales" . MENTIS Inc . Consultado el 15 de mayo de 2020 .
- ^ AWS Big Data (2019). "Proteger y auditar datos de PII" .