DDBMS: seguridad y criptografía de bases de datos
En este capítulo, analizaremos las amenazas a las que se enfrenta un sistema de base de datos y las medidas de control. También estudiaremos la criptografía como herramienta de seguridad.
Seguridad y amenazas de la base de datos
La seguridad de los datos es un aspecto imperativo de cualquier sistema de base de datos. Es de particular importancia en los sistemas distribuidos debido al gran número de usuarios, datos fragmentados y replicados, múltiples sitios y control distribuido.
Amenazas en una base de datos
Availability loss - La pérdida de disponibilidad se refiere a la falta de disponibilidad de los objetos de la base de datos por parte de usuarios legítimos.
Integrity loss- La pérdida de integridad se produce cuando se realizan operaciones inaceptables en la base de datos de forma accidental o maliciosa. Esto puede suceder al crear, insertar, actualizar o eliminar datos. Da lugar a datos corruptos que conducen a decisiones incorrectas.
Confidentiality loss- La pérdida de confidencialidad ocurre debido a la divulgación no autorizada o no intencionada de información confidencial. Puede resultar en acciones ilegales, amenazas a la seguridad y pérdida de la confianza del público.
Medidas de control
Las medidas de control pueden dividirse ampliamente en las siguientes categorías:
Access Control- El control de acceso incluye mecanismos de seguridad en un sistema de administración de bases de datos para proteger contra el acceso no autorizado. Un usuario puede obtener acceso a la base de datos después de borrar el proceso de inicio de sesión solo a través de cuentas de usuario válidas. Cada cuenta de usuario está protegida con contraseña.
Flow Control- Los sistemas distribuidos abarcan una gran cantidad de flujo de datos de un sitio a otro y también dentro de un sitio. El control de flujo evita que los datos se transfieran de tal manera que agentes no autorizados puedan acceder a ellos. Una política de flujo enumera los canales a través de los cuales puede fluir la información. También define clases de seguridad para datos y transacciones.
Data Encryption- El cifrado de datos se refiere a la codificación de datos cuando los datos confidenciales se van a comunicar a través de canales públicos. Incluso si un agente no autorizado obtiene acceso a los datos, no puede entenderlos porque están en un formato incomprensible.
¿Qué es la criptografía?
Cryptography es la ciencia de codificar información antes de enviarla a través de vías de comunicación poco fiables, de modo que solo un receptor autorizado pueda decodificarla y utilizarla.
El mensaje codificado se llama cipher text y el mensaje original se llama plain text. El proceso de convertir texto sin formato en texto cifrado por el remitente se llama codificación oencryption. El proceso de convertir texto cifrado en texto sin formato por parte del receptor se denomina decodificación odecryption.
El procedimiento completo de comunicación mediante criptografía se puede ilustrar a través del siguiente diagrama:
Métodos de cifrado convencionales
En la criptografía convencional, el cifrado y el descifrado se realizan utilizando la misma clave secreta. Aquí, el remitente cifra el mensaje con un algoritmo de cifrado utilizando una copia de la clave secreta. A continuación, el mensaje cifrado se envía a través de canales de comunicación públicos. Al recibir el mensaje cifrado, el receptor lo descifra con un algoritmo de descifrado correspondiente utilizando la misma clave secreta.
La seguridad en la criptografía convencional depende de dos factores:
Un algoritmo de sonido conocido por todos.
Una clave secreta generada aleatoriamente, preferiblemente larga, conocida solo por el remitente y el receptor.
El algoritmo de criptografía convencional más famoso es Data Encryption Standard o DES.
La ventaja de este método es su fácil aplicabilidad. Sin embargo, el mayor problema de la criptografía convencional es compartir la clave secreta entre las partes que se comunican. Las formas de enviar la clave son engorrosas y muy susceptibles a las escuchas.
Criptografía de clave pública
A diferencia de la criptografía convencional, la criptografía de clave pública utiliza dos claves diferentes, denominadas clave pública y clave privada. Cada usuario genera el par de clave pública y clave privada. Luego, el usuario coloca la clave pública en un lugar accesible. Cuando un remitente quiere enviar un mensaje, lo encripta usando la clave pública del receptor. Al recibir el mensaje encriptado, el receptor lo desencripta usando su clave privada. Dado que la clave privada no es conocida por nadie más que por el receptor, ninguna otra persona que reciba el mensaje puede descifrarla.
Los algoritmos de criptografía de clave pública más populares son RSA algoritmo y Diffie– Hellmanalgoritmo. Este método es muy seguro para enviar mensajes privados. Sin embargo, el problema es que implica muchos cálculos y, por lo tanto, resulta ineficaz para mensajes largos.
La solución es utilizar una combinación de criptografía de clave pública y convencional. La clave secreta se cifra mediante criptografía de clave pública antes de compartirla entre las partes que se comunican. Luego, el mensaje se envía utilizando criptografía convencional con la ayuda de la clave secreta compartida.
Firmas digitales
Una firma digital (DS) es una técnica de autenticación basada en criptografía de clave pública utilizada en aplicaciones de comercio electrónico. Asocia una marca única a un individuo dentro del cuerpo de su mensaje. Esto ayuda a otros a autenticar remitentes válidos de mensajes.
Por lo general, la firma digital de un usuario varía de un mensaje a otro para brindar seguridad contra la falsificación. El método es el siguiente:
El remitente toma un mensaje, calcula el resumen del mensaje del mensaje y lo firma con una clave privada.
El remitente luego agrega el resumen firmado junto con el mensaje de texto sin formato.
El mensaje se envía a través del canal de comunicación.
El receptor elimina el resumen firmado adjunto y verifica el resumen utilizando la clave pública correspondiente.
Luego, el receptor toma el mensaje de texto sin formato y lo ejecuta a través del mismo algoritmo de resumen de mensajes.
Si los resultados del paso 4 y el paso 5 coinciden, el receptor sabe que el mensaje tiene integridad y autenticidad.