sql >> Base de Datos >  >> RDS >> Database

Enmascaramiento de datos en aplicaciones de base de datos

Protección de datos en reposo y en movimiento

Las aplicaciones de bases de datos que actualizan y consultan tablas pueden necesitar proteger los datos que ingresan o se recuperan de esas tablas. Los datos confidenciales deben protegerse al ingresar a la tabla, una vez en la tabla o al salir. En todos los casos, el objetivo es evitar que personas no autorizadas accedan a ciertos valores de filas o columnas considerados confidenciales.

Para datos de formato normal (estructurados) en bases de datos relacionales, la utilidad de enmascaramiento de datos independiente de IRI FieldShield, o su biblioteca compatible de funciones de enmascaramiento a las que se puede llamar, puede adaptarse a los escenarios anteriores, brindando muchas opciones tanto estáticas (persistentes, en reposo) como dinámicas (en -tránsito) opciones de enmascaramiento de datos. Si también tiene valores PII/PHI que flotan aleatoriamente dentro de columnas RDB semiestructuradas y no estructuradas (como texto, C/BLOB, XML/JSON), consulte este artículo sobre el enfoque IRI DarkShield.

Sin embargo, este artículo hablará sobre las opciones de FieldShield, ya que la mayoría de los usuarios de RDB se preocupan por encontrar y enmascarar valores de columna fijos. Los usuarios de FieldShield pueden clasificar, ubicar y enmascarar datos en tablas de base de datos y, para usuarios de aplicaciones, ejecutar a través de:

  • un enmascaramiento de datos estáticos en las tablas de producción y un desenmascaramiento dinámico por parte de los usuarios autorizados de la aplicación
  • funciones de enmascaramiento incrustadas en trabajos de transformación, limpieza o generación de informes compatibles con metadatos
  • un sistema de redacción de datos dinámico basado en proxy
  • a través de una API o sistema SDK llamada desde un programa
  • in situ, a través de procedimientos SQL utilizando una biblioteca personalizada

Si sus datos están en bases de datos NoSQL como MongoDB, Cassandra, Elasticsearch o MarkLogic, FieldShield manejaría colecciones estructuradas, mientras que DarkShield manejaría colecciones estructuradas y no estructuradas.

De forma predeterminada, y la forma en que la interfaz gráfica de usuario de IRI Workbench presenta FieldShield a los usuarios finales y administradores de bases de datos, una o más tablas completas suelen estar protegidas con funciones de enmascaramiento de datos estáticos (como cifrado, redacción, seudonimización) de acuerdo con las reglas comerciales. La elección de cada "escudo de campo (columna)" debe basarse en la seguridad, el realismo, la reversibilidad y quizás en consideraciones de CPU o almacenamiento.

El enfoque estático funciona bien cuando los datos están en reposo. Se puede proteger la tabla de origen o se puede crear una nueva tabla o archivo de destino con protecciones aplicadas. Las aplicaciones que obtienen los datos protegidos no necesitan preocuparse por la seguridad porque sus fuentes de datos fueron protegidas previamente. Los programas FieldShield diseñados para proteger los datos en reposo también se pueden programar o llamar a trabajos por lotes para actualizaciones periódicas.

Sin embargo, en un entorno en tiempo real donde las filas actualizadas necesitan protección dinámica, las funciones de FieldShield deben integrarse en el flujo de datos de la aplicación. Hay varios enfoques a considerar:

1) Su programa llama a FieldShield
La base de datos y otros programas que obtienen o envían datos nuevos o modificados a tablas pueden pasarlos a una función API de cifrado, hash, codificación o redacción de FieldShield en C, Java o .NET. También puede pasar los datos en movimiento a un programa FieldShield independiente a través de una canalización o un procedimiento de entrada. Cualquiera de estos métodos puede rellenar destinos con funciones de protección (o revelación) a nivel de columna aplicadas.

2) FieldShield protege solo las actualizaciones
Los programas FieldShield también se pueden personalizar a través de las funciones /CONSULTA y /ACTUALIZAR, o para filtrar condicionalmente solo los registros nuevos, donde las filas que se protegerán cumplen criterios específicos, como la novedad. Las llamadas a la API permitirían una lógica comercial aún más granular y facilitarían más condiciones de "velocidad" (o latencia) de datos, por ejemplo, más enmascaramiento de datos en tiempo real, porque esas necesidades pueden expresarse a través de la aplicación y definirse por su lógica. Vea este ejemplo de PL/SQL de enmascaramiento en tiempo real basado en un activador.

3) Capturar y proteger deltas en CoSort (FieldShield Parent)
Los trabajos de captura de datos modificados (CDC) también se pueden programar en el lenguaje de control de clasificación (SortCL) de CoSort, por lo que solo las inserciones, actualizaciones, eliminaciones o filas sin cambios seleccionadas se pueden pasar a tablas o archivos con protecciones de columna aplicadas mientras esto sucede. Los usuarios de CoSort tienen todas las funciones de protección de FieldShield a su disposición, por lo que es posible enmascarar solo los datos modificados en este paradigma de informes masivos.

4) Intercepciones de consultas basadas en proxy
IRI ahora proporciona un controlador especial "JDBC SQL Trail" para que lo usen las aplicaciones que filtra las consultas de base de datos para usuarios autorizados y tablas y columnas particulares. Aquellos que no estén exentos de la definición de la política de DDM solo verán los valores redactados total o parcialmente en el vuelo a esa aplicación especialmente conectada desde la base de datos, que permanece desenmascarada en reposo.

5) Integraciones personalizadas
IRI puede trabajar con su DBA o programador de aplicaciones para diseñar una solución personalizada que involucre elementos de lo anterior, o para proporcionar bibliotecas FieldShield que sus procedimientos SQL pueden invocar in situ como estos para proteger o revelar (cifrar o descifrar) consultas resultados, tablas de consulta, vistas materializadas, etc.

Comuníquese para obtener ayuda para integrar una función de enmascaramiento de datos dinámicos, como la redacción o el cifrado que conserva el formato, en su aplicación.