stringtranslate.com

Enmascaramiento de datos

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 .

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 significativos para la lógica de la aplicación. Por ejemplo, si los elementos de las direcciones se van a ofuscar 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ódigos postales, aún se debe permitir que esa función funcione sin error y operar como se esperaba. Lo mismo ocurre con las verificaciones de validación de algoritmos de tarjetas de crédito y las validaciones de números de seguro social .
  2. 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 altos directivos 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 grupo de ingresos, entonces se podría reunir otra información para aplicar ingeniería inversa a 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 suponga que podría aplicar ingeniería inversa a los datos de identidad si tuviera algún grado de conocimiento de las identidades en el conjunto de datos de producción. En consecuencia, la ofuscación o enmascaramiento de datos de un conjunto de datos se aplica de tal manera que garantice que la identidad y los registros de datos confidenciales estén protegidos, no solo los elementos de datos individuales en campos y tablas discretos.
  3. Es posible que sea necesario que los valores enmascarados sean coherentes en varias 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 de clientes 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 pueda aplicar ingeniería inversa para volver al valor original. También pueden aplicarse restricciones adicionales como las mencionadas en (1) anterior dependiendo de 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 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 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.

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. [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.

Variación de número y fecha

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.

Cifrado

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]

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 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.

enmascarar

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]

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 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.

Diferentes tipos

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.

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 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]

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 se reemplazará con el mismo valor (“Lynne” siempre se convertirá en “Denise”), dondequiera que “Lynne” esté en la base de datos. [10]

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. 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 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.

Enmascaramiento de datos dinámicos

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:

  1. En la base de datos: la base de datos recibe el SQL y aplica la reescritura al conjunto de resultados enmascarados 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).
  2. 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 solicitudes de 'selección' simples, 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 pueden también causa corrupción de datos de la aplicación).
  3. Proxy de base de datos: es una variación del proxy de red. El proxy de la base de datos se implementa generalmente entre 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 un agente en el servidor de la base de datos. Las consultas SQL se reescriben, pero cuando se implementa, este tipo de enmascaramiento de datos dinámicos también se admite dentro de los procedimientos de almacenamiento y las funciones de la base de datos.
  4. Proxy de red entre el usuario final y la aplicación: identificar cadenas de texto y reemplazarlas. Este método no es aplicable a aplicaciones complejas, ya que fácilmente provocará daños cuando se aplique involuntariamente el reemplazo de cadenas en tiempo real.
  5. 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 se aplican a aplicaciones empaquetadas.
  6. 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 devueltos por las fuentes de datos, al mismo tiempo que se tiene visibilidad total 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.
  7. Compatible con un complemento del navegador: en el caso de SaaS o aplicaciones web locales, los complementos del navegador se pueden configurar para enmascarar campos de datos correspondientes a selectores CSS precisos . Esto se puede lograr marcando campos confidenciales en la aplicación, por ejemplo mediante una clase HTML o encontrando los selectores correctos que identifiquen los campos que se van a ofuscar o enmascarar.

Enmascaramiento de datos y la nube

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.

Ver 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". BuscarSeguridad . Consultado el 17 de noviembre de 2022 .
  3. ^ ab 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 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. ^ "Explicación de las reglas complejas de enmascaramiento de datos y sincronización" . 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 . 2020-03-19 . 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 médicos electrónicos y otros conjuntos de datos confidenciales". Revista de simulación y computación estadística . 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" . Consultado el 24 de agosto de 2017 .