Articulo de referencia

Enmascaramiento de datos

El enmascaramiento u ofuscación de datos es el proceso de modificar datos confidenciales de tal manera que resulten poco o ningún valor para intrusos no autorizados, pero que si...

El enmascaramiento u ofuscación de datos es el proceso de modificar datos confidenciales de tal manera que resulten poco o ningún valor para intrusos no autorizados, pero que sigan siendo utilizables por software o personal autorizado. El enmascaramiento de datos también puede denominarse anonimización o tokenización , según el contexto.

La principal razón para enmascarar datos es proteger la información clasificada como información de identificación personal o datos críticos para la misión. Sin embargo, los datos deben seguir siendo utilizables para realizar ciclos de prueba válidos. También deben parecer reales y coherentes. Es más común aplicar el enmascaramiento a datos que se representan fuera de un sistema de producción corporativo. En otras palabras, cuando los datos son necesarios para el desarrollo de aplicaciones , la creación de extensiones de programas y la realización de diversos ciclos de prueba . Es práctica común en la informática empresarial tomar datos de los sistemas de producción para completar el componente de datos requerido para estos entornos no productivos. Sin embargo, esta práctica no siempre se limita a entornos no productivos. En algunas organizaciones, los datos que aparecen en las pantallas de los terminales para los operadores de centros de llamadas pueden tener enmascaramiento aplicado dinámicamente según 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 la perspectiva del gobierno corporativo [ 1 ] es que el personal que trabaja en estos entornos que no son de producción no siempre cuenta con la autorización de seguridad necesaria para operar con la información contenida en los datos de producción. Esta práctica representa una brecha de seguridad que permite que personal no autorizado copie los datos y que se eludan fácilmente las medidas de seguridad asociadas a los controles estándar de nivel de producción. Esto constituye un punto de acceso para una brecha de seguridad de datos .

Fondo

Los datos involucrados en cualquier enmascaramiento u ofuscación de datos deben seguir siendo significativos en varios niveles:

  1. Los datos deben seguir siendo relevantes para la lógica de la aplicación. Por ejemplo, si se ocultan elementos de las direcciones y se reemplazan ciudades y suburbios por otros, si la aplicación incluye una función para validar códigos postales o realizar búsquedas de códigos postales, dicha función debe poder operar sin errores y según lo previsto. Lo mismo se aplica a las validaciones de algoritmos de tarjetas de crédito y a las validaciones de números de la Seguridad Social .
  2. Los datos deben sufrir suficientes modificaciones para que no resulte obvio que los datos enmascarados provienen de una fuente de datos de producción. Por ejemplo, en una organización puede ser de conocimiento público que existen 10 gerentes sénior que ganan más de 300 000 dólares. Si un entorno de prueba del sistema de recursos humanos de la organización también incluye 10 identidades en el mismo rango salarial, se podría recopilar información adicional para reconstruir una identidad real. En teoría, si los datos están claramente enmascarados u ofuscados, sería razonable que alguien que pretenda una filtración de datos asumiera que podría reconstruir los datos de identidad si tuviera cierto conocimiento de las identidades en el conjunto de datos de producción. Por consiguiente, la ofuscación o el enmascaramiento de un conjunto de datos se aplica de manera que se garantice la protección de los registros de identidad y los datos confidenciales, no solo de los elementos de datos individuales en campos y tablas específicos.
  3. Los valores enmascarados pueden requerir coherencia entre varias bases de datos dentro de una organización cuando cada base de datos contiene el elemento de datos específico que se está enmascarando. Las aplicaciones pueden acceder inicialmente a una base de datos y posteriormente a otra para recuperar información relacionada donde la clave externa ha sido enmascarada (por ejemplo, una aplicación de centro de llamadas primero consulta datos de una base de datos maestra de clientes y, según 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 que no se pueda revertir para recuperar el valor original. También pueden aplicarse restricciones adicionales, como las mencionadas en el punto (1) anterior, dependiendo del o los elementos de datos involucrados. Cuando se utilizan diferentes conjuntos de caracteres en las bases de datos que necesitan conectarse en este escenario, será necesario aplicar un esquema para convertir los valores originales a una representación común, ya sea mediante el propio algoritmo de enmascaramiento o antes de invocarlo.

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 el aspecto y la sensación auténticos de los registros de datos.

Permite que el enmascaramiento se realice de tal manera que se pueda sustituir otro valor de apariencia auténtica por el valor existente. [ 2 ] Hay varios tipos de campos de datos donde este enfoque proporciona un beneficio óptimo para disimular el subconjunto de datos general en cuanto a si se trata o no de un conjunto de datos enmascarado. Por ejemplo, si se trabaja con 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 la primera pasada de la sustitución permite aplicar un nombre de pila masculino a todos los nombres de pila, entonces la segunda pasada debería permitir aplicar un nombre de pila femenino a todos los nombres de pila 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 anonimato a los registros de datos y 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 de barras, así como números de tarjetas de crédito y otros tipos de números de tarjetas, como números de la Seguridad Social y números de Medicare , donde estos números deben ajustarse a una prueba de suma de comprobació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 disponer de 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 de 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 sencillos, los datos se barajan aleatoriamente dentro de la columna. [ 3 ] Sin embargo, si se utiliza de forma aislada, cualquier persona con conocimiento de los datos originales puede aplicar un escenario hipotético al conjunto de datos y reconstruir una identidad real. El método de barajado también puede revertirse si se descifra el algoritmo.

La reorganización de datos supera las reservas sobre el uso de datos confidenciales perturbados o modificados porque conserva todas las propiedades deseables de la perturbación, al tiempo que ofrece mejores resultados que otras técnicas de enmascaramiento tanto en utilidad de los datos como en riesgo de divulgación. [ 3 ]

Sin embargo, la reorganización de datos presenta ventajas reales en ciertos ámbitos. Por ejemplo, si se trata de las cifras de fin de año de información financiera en una base de datos de prueba, se pueden ocultar los nombres de los proveedores y luego reorganizar el valor de las cuentas en toda la base de datos oculta. Es muy improbable que alguien, incluso alguien con un conocimiento profundo de los datos originales, pueda reconstruir un registro de datos auténtico con sus valores originales.

Variación de número y fecha

El método de variación numérica resulta muy útil para aplicarlo a campos de información financiera y basada en fechas. De hecho, un método que utilice este tipo de enmascaramiento puede mantener un rango significativo en un conjunto de datos financieros, como la nómina. Si la variación aplicada es de aproximadamente +/- 10 %, el conjunto de datos sigue siendo muy significativo en cuanto a los rangos salariales pagados a los beneficiarios.

Lo mismo se aplica a la información de fechas. Si el conjunto de datos general necesita mantener la integridad de los datos demográficos y actuariales , aplicar una variación numérica aleatoria de +/- 120 días a los campos de fecha preservaría la distribución de fechas, pero seguiría impidiendo la trazabilidad hasta una entidad conocida basándose en su fecha de nacimiento real conocida o en un valor de fecha conocido para cualquier registro que se esté ocultando.

Cifrado

El cifrado suele ser el método más complejo para resolver el problema del enmascaramiento de datos. El algoritmo de cifrado a menudo requiere el uso de una clave para visualizar los datos según los permisos del usuario. Si bien esto suele parecer la mejor solución, en la práctica la clave puede ser compartida con personal sin los permisos necesarios para acceder a los datos. Esto anula el propósito del enmascaramiento. Posteriormente, se pueden copiar bases de datos antiguas con las credenciales originales de la clave proporcionada, perpetuando así el mismo problema sin control.

Recientemente, el problema del cifrado de datos preservando las propiedades de las entidades ha cobrado relevancia y un renovado interés entre los proveedores y la comunidad académica. Este nuevo desafío dio origen a algoritmos que realizan cifrado con preservación de formato . Estos se basan en el modo algorítmico del Estándar de Cifrado Avanzado (AES), reconocido por el NIST . [ 4 ]

Anulación o eliminación

En ocasiones, se adopta un enfoque muy simplista para el enmascaramiento, que consiste en asignar un valor nulo a un campo específico. Este enfoque solo resulta útil para impedir la visibilidad del elemento de datos.

En casi todos los casos, disminuye el grado de integridad de los datos en el conjunto de datos enmascarados. No es un valor realista y, por lo tanto, provocará fallos en cualquier validación de la lógica de la aplicación que se haya aplicado en el software de interfaz del sistema bajo prueba. Además, pone de manifiesto, para cualquiera que desee realizar ingeniería inversa de los datos de identidad, que se ha aplicado algún grado de enmascaramiento de datos al conjunto de datos.

Enmascaramiento

La codificación o el enmascaramiento de ciertos campos es otro método sencillo pero muy eficaz para evitar que se visualice información confidencial. En realidad, es una extensión del método anterior de anulación, pero con mayor énfasis en mantener los datos reales y no enmascararlos por completo.

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, proporciona una referencia de facturación con los últimos 4 dígitos XXXX XXXX xxxx 6789. Como operador, solo puede ver los últimos 4 dígitos del número de tarjeta, pero una vez que el sistema de facturación transmite los datos del cliente para el cobro, el número completo se muestra a los sistemas de pasarela de pago.

Este sistema no es muy eficaz para sistemas de prueba, pero es muy útil para el escenario de facturación detallado anteriormente. También se le conoce comúnmente como un método de enmascaramiento dinámico de datos. [ 5 ] [ 6 ]

Reglas complejas adicionales

También se pueden incorporar reglas adicionales a 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 reglas de sincronización de tablas [ 8 ] .

Diferentes tipos

El enmascaramiento de datos está estrechamente relacionado con la creación de datos de prueba. Existen dos tipos principales de enmascaramiento de datos: el estático y el que se aplica sobre la marcha.

Enmascaramiento de datos estáticos

El enmascaramiento de datos estáticos generalmente se realiza en la copia maestra de la base de datos, pero también se puede aplicar a valores en otras fuentes, incluidos archivos. En entornos de bases de datos, los administradores de bases de datos de producción normalmente cargan copias de seguridad de las tablas en un entorno separado, reducen el conjunto de datos a un subconjunto que contiene los datos necesarios para una ronda de pruebas particular (una técnica llamada "subconjunto"), aplican reglas de enmascaramiento de datos mientras los datos están en estado estático, aplican los cambios de código necesarios desde el control de versiones y/o envían los datos al entorno deseado. [ 9 ]

Enmascaramiento de datos determinista

El enmascaramiento determinista es el proceso de reemplazar un valor en una columna por el mismo valor, ya sea en la misma fila, la misma tabla, la misma base de datos/esquema y entre diferentes instancias/servidores/tipos de base de datos. Ejemplo: Una base de datos tiene varias tablas, cada una con una columna que contiene nombres. Con el enmascaramiento determinista, el nombre siempre se reemplazará por el mismo valor: «Lynne» siempre se convertirá en «Denise», independientemente de dónde aparezca «Lynne» en la base de datos. [ 10 ]

Ofuscación de datos estadísticos

También existen alternativas al enmascaramiento estático de datos que se basan en perturbaciones estocásticas de los datos, las cuales 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 ] .

Enmascaramiento de datos sobre la marcha

El enmascaramiento de datos en tiempo real [ 13 ] se produce durante la transferencia de datos entre entornos sin que estos pasen por el disco. La misma técnica se aplica al "enmascaramiento dinámico de datos", pero registro por registro. Este tipo de enmascaramiento de datos es especialmente útil en entornos con despliegues continuos y aplicaciones altamente integradas. Las organizaciones que emplean prácticas de despliegue continuo o entrega continua no disponen del tiempo necesario para crear una copia de seguridad y cargarla en la copia maestra 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 altamente integradas, los desarrolladores reciben flujos de datos de otros sistemas de producción al inicio del desarrollo, y el enmascaramiento de estos flujos se suele pasar por alto o no se presupuesta hasta más adelante, lo que provoca que las organizaciones no cumplan con las normativas. Contar con el enmascaramiento de datos en tiempo real se vuelve esencial.

Enmascaramiento dinámico de datos

El enmascaramiento dinámico de datos es similar al enmascaramiento de datos sobre la marcha, pero se diferencia en que este último consiste en copiar datos de una fuente a otra para poder compartirlos. El enmascaramiento dinámico de datos se realiza en tiempo de ejecución, de forma dinámica y bajo demanda, por lo que no es necesario contar con 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 normativas de privacidad, como por ejemplo las de la Autoridad Monetaria de Singapur o las normativas de privacidad en Europa.

El enmascaramiento dinámico de datos se basa en atributos y está regido por políticas. Las políticas incluyen:

  • Los médicos pueden consultar los historiales clínicos de los pacientes que les han sido asignados (filtrado de datos).
  • Los médicos no pueden ver el campo del número de seguro social dentro de un historial 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 un cifrado que conserva el formato .

En los últimos años han surgido varios estándares para implementar el filtrado y el enmascaramiento dinámico de datos. Por ejemplo, las políticas XACML se pueden usar para enmascarar datos dentro de las bases de datos.

Existen seis posibles tecnologías para aplicar el enmascaramiento dinámico de datos:

  1. En la base de datos: La base de datos recibe la consulta SQL y aplica una reescritura al conjunto de resultados enmascarado devuelto. Esto aplica a desarrolladores y administradores de bases de datos, pero no a aplicaciones (ya que los grupos de conexiones, el almacenamiento en caché de aplicaciones y el bus de datos ocultan la identidad del usuario de la aplicación a la base de datos y también pueden causar corrupción de datos de la aplicación).
  2. Proxy de red entre la aplicación y la base de datos: Captura la consulta SQL y aplica una reescritura a la solicitud de selección. Es aplicable para desarrolladores y administradores de bases de datos con solicitudes de selección simples, pero no para procedimientos almacenados (ya que el proxy solo identifica al ejecutable) ni para aplicaciones (debido a que los grupos de conexiones, el almacenamiento en caché de la aplicación y el bus de datos ocultan la identidad del usuario de la aplicación a la base de datos y también pueden causar corrupción de datos de la aplicación).
  3. Proxy de base de datos: es una variante del proxy de red. Generalmente, se implementa 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. No se modifica la forma en que las aplicaciones y los usuarios se conectan a la base de datos. Tampoco es necesario instalar un agente en el servidor de la base de datos. Las consultas SQL se reescriben, pero, una vez implementado, este tipo de enmascaramiento dinámico de datos también es compatible con los procedimientos almacenados y las funciones de la base de datos.
  4. Proxy de red entre el usuario final y la aplicación: identifica cadenas de texto y las reemplaza. Este método no es adecuado para aplicaciones complejas, ya que puede provocar fácilmente corrupción de datos si el reemplazo de cadenas en tiempo real se aplica de forma involuntaria.
  5. Cambios en el código de las aplicaciones y XACML: los cambios en el código suelen ser difíciles de realizar, imposibles de mantener y no aplicables a las aplicaciones empaquetadas.
  6. En el entorno de ejecución de la aplicación: Al instrumentar dicho entorno, se definen políticas para reescribir el conjunto de resultados devuelto por las fuentes de datos, con total visibilidad para el usuario. Este método es la única forma viable de enmascarar dinámicamente aplicaciones complejas, ya que permite controlar la solicitud de datos, el resultado de los datos y el resultado para el usuario.
  7. Compatible con complementos del navegador: En el caso de aplicaciones SaaS o web locales, los complementos del navegador se pueden configurar para enmascarar campos de datos que correspondan a selectores CSS específicos . Esto se puede lograr marcando los campos confidenciales en la aplicación, por ejemplo, mediante una clase HTML , o bien encontrando los selectores adecuados que identifiquen los campos que se deben ofuscar o enmascarar.

Enmascaramiento de datos y la nube

En los últimos años, las organizaciones desarrollan sus nuevas aplicaciones en la nube con mayor frecuencia, independientemente de si las aplicaciones finales se alojarán en la nube o en las instalaciones. Las soluciones en la nube actuales permiten a las organizaciones utilizar infraestructura como servicio , plataforma como servicio y software como servicio . Existen diversas formas de crear datos de prueba y transferirlos 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 de identificación personal (PII) mientras confían en los proveedores de la nube para administrar sus bases de datos. El enmascaramiento de datos se convierte invariablemente en parte de estos procesos en el ciclo de vida del 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 se aloja en la nube o en las instalaciones.

Véase también

Referencias

  1. "Especialistas en gestión de la información" . GBT . Consultado el 24 de agosto de 2017 .
  2. Cobb, Michael. "¿Qué es el enmascaramiento de datos? Técnicas, tipos y mejores prácticas" . SearchSecurity . Consultado el 17 de noviembre de 2022 .
  3. ^ Muralidhar , Krishnamurty; Sarathy, Rathindra (1 de mayo de 2006). "Data Shuffling: un nuevo enfoque de enmascaramiento para datos numéricos" . Ciencias de la gestión . 52 (5): 658– 670. doi : 10.1287/mnsc.1050.0503 . ISSN 0025-1909 . 
  4. "Sistemas de procesamiento de datos con motores de cifrado y descifrado que preservan el formato" . Consultado el 24 de agosto de 2017 .
  5. "Soluciones de enmascaramiento dinámico de datos de IRI" . Consultado el 24 de agosto de 2017 .
  6. "Enmascaramiento dinámico de datos con IBM Optim" . Consultado el 24 de agosto de 2017 .
  7. "Enmascaramiento de datos: lo que necesita saber" (PDF) . Net2000 Ltd. Consultado el 24 de agosto de 2017 .
  8. "Sincronización y reglas complejas de enmascaramiento de datos explicadas" . Consultado el 24 de agosto de 2017 .
  9. "Funciones de enmascaramiento de datos estáticos" . IRI . Consultado el 24 de agosto de 2017 .
  10. "Enmascaramiento de datos determinista" . DATPROF . 19 de marzo de 2020. Consultado el 29 de abril de 2020 .
  11. US 7698250 , Cynthia Dwork y Frank McSherry, "Privacidad de datos diferencial", publicado el 13 de abril de 2010, asignado a Microsoft Corp (original) y Microsoft Technology Licensing LLC (actual) 
  12. Marino, Simeone; Zhou, Nina; Zhao, Yi; Zhou, Nina; Wu, Qiucheng; Dinov, Ivo (2018). "DataSifter: Ofuscación estadística de registros de salud electrónicos y otros conjuntos de datos sensibles" . Journal of Statistical Computation and Simulation . 89 (2): 249– 271. doi : 10.1080/00949655.2018.1545228 . PMC 6450541. PMID 30962669 .  
  13. "Eliminación de riesgos de cumplimiento: enmascaramiento de datos en la nube" . Archivado del original el 4 de marzo de 2016. Consultado el 24 de agosto de 2017 .