4 problemas y 1 tema de enmascaramiento de datos simple

Contenidos

El objetivo de la enmascaramiento de datos es borrar aquellas características que permitan identificar datos sensibles, haciéndolos anónimos pero aún utilizables. De esta forma, se elimina el riesgo de robo de información sensible para la organización.

masking de datos.jpg

La idea es que con el enmascaramiento de datos Brindamos a los desarrolladores acceso a datos de calidad. Los necesitan en los procesos de producción con fines de prueba, pero como hemos visto en otros posts, no podemos trabajar allí con los datos reales. De esta forma nos aseguramos de que nuestros datos sensibles estén seguros.

Aún cuando esto parece sencillo, podemos encontrarnos con algunos problemas. Veamos un tema simple y cuatro problemas que podemos hallar cuando usamos técnicas de enmascaramiento de datos.

Un tema simple: la ofuscación de datos

A los desarrolladores les encanta trabajar con datos de producción. Pero hoy, debido a problemas de privacidad, las compañías no están muy interesadas en dar a los desarrolladores acceso completo a sus datos. Inclusive para aquellos tomados de una copia de seguridad de producción. Les preocupa mucho que los desarrolladores trabajen con listas de clientes, números de tarjetas de crédito, fechas de cumpleaños, direcciones, nombres, etc. y que posteriormente puedan comercializar esos datos a la competencia.

Las compañías quieren usar técnicas de enmascaramiento de datos para ofuscar rápidamente todos los datos de producción. Quieren restaurar las bases de datos de producción en desarrollo, ejecutar algún procedimiento y dejar que los desarrolladores prueben sus aplicaciones sin ver los datos de producción reales.

No quieren ofuscar todos los campos. A modo de ejemplo, las transacciones financieras deben conservar datos monetarios similares a los reales para ayudar la verificación de informes. No podemos tener porcentajes de impuestos aleatorios como el IVA, a modo de ejemplo, debido a que necesitamos que se comporten de manera predecible al mirar una factura.

Pero como decimos, esta es la parte fácil del enmascaramiento de datos. Ofuscar los datos es algo que se puede hacer con facilidad. Pero tiene implicaciones más complicadas. Veámoslos.

Problema 1: mantenimiento del perfil de almacenamiento con datos cifrados

La forma más sencilla de esconder los datos es cifrarlos. A pesar de esto, el cifrado de datos tiende a producir un tamaño de datos totalmente distinto. Si pretendes ver un ejemplo en acción, puedes visitar esta página demostración de cifrado. Haga clic al azar para generar una clave, escriba un texto sin formato y haga clic en Cifrar.

Como puede ver, los datos de repente son mucho más grandes. Esto puede no ser un obstáculo para algunos tipos de datos, pero es un gran problema para campos con números enteros, fechas y tarjetas de crédito, a modo de ejemplo. Cifrar los nombres de los clientes de repente hace que cada registro sea mucho más grande y cambia la forma en que se realizan las consultas. Idealmente, los datos ofuscados deben tener el mismo tamaño que los datos originales.

Problema 2: repartir estadísticas de forma segura

En una guía telefónica típica hay muchas personas con el apellido García. Si observa un histograma típico de datos de apellidos, algunos apellidos tendrán muchos registros y otros no muchos.

Un sistema de administración de bases de datos como SQL Server genera estadísticas que disponen histogramas que muestran la distribución de datos en cada columna y posteriormente utiliza esas estadísticas para crear planes de ejecución. Cuando probamos consultas SQL en desarrollo, queremos obtener variaciones similares.

Es fácil ofuscar datos a través de el enmascaramiento de datos, simplemente haciéndolo de forma aleatoria. Si tenemos un campo de fecha, solo usamos un generador de números aleatorios, pero no tendrá la misma distribución que nuestros datos originales.

Idealmente, los datos ofuscados deben tener una distribución semejante a la de los datos originales. Si tenemos personas en una tabla de 1000 registros, todos los que disponen el apellido García deben ofuscarse de la misma manera para que tengan el mismo apellido. Si mi tabla de personas tiene 500 personas llamadas García y otras 500 personas con apellidos únicos, mis datos ofuscados además deben tener 501 apellidos diferentes únicos, uno de los cuales tendrá 500 registros en la tabla.

Problema 3: mantener la integridad referencial a lo largo del enmascaramiento de datos

A veces, los datos privados forman parte de la clave principal de la tabla. Dejando a un lado las ideas de diseño de bases de datos, la realidad es que algunas personas disponen cosas como su número de seguro social como parte de una clave primaria. O peor aún, algunas personas no colocan relaciones de clave externa en las bases de datos, por lo que terminan con dos campos de número de seguro social en dos tablas diferentes que deben unirse.

No podemos confiar en las claves externas debido a que muchas personas no usan la integridad referencial en las bases de datos.

Además pueden estar involucradas varias bases de datos. A veces, los clientes disponen datos de clientes en una base de datos, información de ventas en otra y datos de configuración en otra, y todos deben estar vinculados.

Idealmente, la respuesta sería determinar uniones donde podría mantener los mismos datos en ambas tablas, al mismo tiempo de permitir a los usuarios especificar campos que se unen inclusive si las claves externas no están especificadas en la base de datos. Esta configuración debe crearse una vez y guardarse, de modo que los usuarios no tengan que repetirla cada vez que actualicen la producción.

Problema 4: velocidad de las herramientas de enmascaramiento de datos

Estas situaciones a menudo involucran grandes cantidades de datos y la gente quiere actualizar el desarrollo con una copia de producción ofuscada de la noche a la mañana. Esto significa que, por lo general, no es práctico exportar todos sus datos a algún tipo de servidor de aplicaciones y posteriormente volver a intentarlo. Tampoco es práctico actualizar la misma tabla repetidamente, una vez por cada columna que deba ofuscarse.

Los usuarios quieren actualizaciones de estado para saber aproximadamente cuánto de la base de datos se ha ofuscado, cuánto queda por realizar y si falla a la mitad para poder arreglar las cosas y volver desde donde lo dejó la herramienta de escaneo. enmascaramiento de datos.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.