Enmascaramiento de datos en una base de datos [cerrado]

0

Background

El equipo de desarrollo está recibiendo datos de producción (como archivos de copia de seguridad de la base de datos) para corregir errores y mejoras de la aplicación. El equipo de desarrollo restaura estas copias de seguridad en su entorno y realiza el trabajo de desarrollo de la aplicación / corrección de errores, etc.

Problema

El cliente está preocupado por exponer datos de producción confidenciales, como PII (Información de identificación personal) al equipo de desarrollo. El cliente debe analizar estos datos confidenciales mientras conserva sus propiedades donde el equipo de desarrollo puede realizar el trabajo diario sin interrupción.

No hay ningún requisito de revertir los datos filtrados.

Solución probable 1: enmascaramiento de datos

Como veo, la solución más correcta para este problema es identificar los campos de la base de datos de PII y realizar el enmascaramiento de datos. Un problema al que nos enfrentamos es que debemos preservar las propiedades de los datos en la base de datos, como se indica a continuación.

  • La longitud de los datos enmascarados no puede ir más allá de la longitud del campo en particular.
  • Los datos enmascarados deben estar en el mismo tipo de datos que los datos originales: por ejemplo, si el tipo de campo DB es int, los datos enmascarados también deben ser int
  • Si el resultado enmascarado del valor ABC es XYZ, todas las instancias de datos ABC deberían enmascararse a XYZ (Esto se debe a que algunos PII se están utilizando como claves DB)

Preguntas

  • Ya que no necesitamos revertir los datos enmascarados, ¿podemos usar el hash para lograr esto? Si es así, ¿cómo mantener las propiedades de datos que describí anteriormente?

  • Si vamos a utilizar el cifrado, ¿podemos conservar las propiedades de los datos? ¿Cuáles son los mejores algoritmos que tenemos?

  • ¿Hay alguna otra técnica que tengamos para lograr este objetivo?

  • ¿Podemos evitar la inferencia de datos usando el enmascaramiento de datos?

pregunta user3496510 19.04.2017 - 14:04
fuente

1 respuesta

2

El enmascaramiento de datos es una solicitud común y varios proveedores tienen su propia solución o confían en soluciones de terceros. Podría implementar el suyo propio (por ejemplo, mediante el uso de hash), pero como señaló, sería difícil mantener la integridad de los datos, las restricciones y los formatos. Por ejemplo, puede tener una columna de identidad nacional que se valida mediante el módulo X (o algún otro mecanismo de verificación). ¿Cómo enmascararía esas columnas pero conservaría la validación?

El uso de herramientas ya disponibles resolverá esto por ti. Solo como ejemplo de las características que ofrecen estas herramientas (y no estoy sugiriendo que debas usar esta herramienta específica), echa un vistazo a Solución propia de Oracle para enmascaramiento y subconjunto de datos . Cita de la hoja de datos que describe algunos de los formatos de enmascaramiento de datos admitidos:

  
  • El cifrado cifra los datos confidenciales mediante una clave, al tiempo que conserva el formato de los datos. Esta transformación es útil cuando   Los datos enmascarados que se envíen a un tercero se deben volver a combinar junto con   más actualizaciones.
  •   
  • Formato que conserva la aleatorización (o formato de máscara automática) aleatoriza los datos, conservando la longitud de entrada, la posición, el caso   del carácter (superior o inferior), y caracteres especiales en el   entrada.
  •   
  • Enmascaramiento condicional enmascara las columnas de acuerdo con diferentes condiciones. Por ejemplo, identificadores que pertenecen a los Estados Unidos.   se puede enmascarar utilizando el formato de Número de Seguro Social y aquellos que   Pertenecer al Reino Unido se puede enmascarar utilizando el Seguro Nacional.   Formato de número.
  •   
  • Enmascaramiento compuesto agrupa y enmascara columnas relacionadas. Por ejemplo, si desea barajar campos de dirección como ciudad, estado y   país, luego agrupando la ciudad y el estado mantendrán estas columnas   juntos durante el proceso de barajado.
  •   
  • Enmascaramiento determinista genera una salida enmascarada coherente para una entrada determinada a través de esquemas de aplicación y bases de datos. Esto lo hace   es posible enmascarar nombres de manera consistente o determinista en diferentes módulos en su organización.
  •   

Creo que estos formatos se ajustan a sus requisitos.

Independientemente de su arquitectura RDBMS, el punto es que la solicitud es común, existe un mercado para ella y en este mercado hay varios proveedores que proporcionan la solución. Debes elegir uno de ellos en lugar de reinventar el tuyo.

    
respondido por el Marko Vodopija 19.04.2017 - 16:31
fuente

Lea otras preguntas en las etiquetas