1.4 PROBLEMAS DE CONCURRENCIA, INTEGRIDAD Y SEGURIDAD EN EL MANEJO DE BASES DE DATOS.
La información almacenada en la Base de Datos debe estar protegida contra accesos no autorizados, destrucción o alteración con fines indebidos e introducción accidental de inconsistencias. Hasta ahora hemos considerado solamente como prevenir la perdida accidental de la integridad de la información. En este apartado examinaremos las formas en las que se producen un mal uso de información o que estas se vuelven consistentes de forma intencional.
El mal uso que se haga de la Base de Datos puede ser intencionado (con fines indebidos) o accidental. La perdida accidental de la consistencia de los datos puede deberse a:
- Caídas durante el proceso de las transacciones.
- Anomalías por acceso concurrente a la Base de Datos.
- Anomalías que resultan de la distribución de los datos entre varias computadoras.
- Un error lógico que viola la suposición de que las transacciones respetan las protecciones de consistencia de la Base de Datos.
Es mas fácil prevenir la perdida accidental que prevenir el acceso mal intencionado a la Base de Datos. Algunas de las formas de acceso indebido son las siguientes:
- Lectura de datos sin autorización (robo de información).
- Modificación de datos sin autorización.
- Destrucción no autorizada de los datos.
No es posible proteger de manera absoluta a la Base de Datos contra un manejo indebido, pero puede hacerse que el costo para el autor sea tan alta que frene prácticamente todos los intentos de acceder a la Base de Datos sin autorización debida. El termino de seguridad de la Base de Datos normalmente se refiere a la protección contra el acceso mal intencionado, eso es seguridad; mientras que integridad se refiere a la protección contra una perdida accidental de consistencia. En la practica, la línea que existe entre seguridad y la integridad no siempre esta bien definida. Aquí si utilizaremos el termino de seguridad para referirnos tanto a la seguridad como a la integridad.
Para proteger a la Base de Datos es necesario adoptar medidas de seguridad en varios niveles:
FISICO.- La localidad o localidades que contienen a los sistemas de computadoras deben protegerse físicamente contra la penetración armada o clandestina de intrusos.
HUMANA.- Debe tenerse mucho cuidado al conceder autorizaciones a los usuarios para reducir la posibilidad de que un usuario autorizado permita el acceso a un intruso a cambio de sobornos u otros favores.
SISTEMA OPERATIVO.- Aunque el sistema de Base de Datos este bien protegido, si no se protege adecuadamente el Sistema Operativo este puede servir para obtener acceso si autorización a la Base de Datos. Dado que casi todos los sistemas de Base de Datos permiten acceso remoto a través de terminales o redes, la seguridad a nivel de software dentro del Sistema Operativo es tan importante como la seguridad física.
SISTEMA DE BASE DE DATOS.- Puede darse el caso de que algunos usuarios estén autorizados solo para tener acceso a una posición limitada de una Base de datos. Es posible también que algunos usuarios se les permita tener acceso a consultas, pero se les prohíbe modificar la base de datos. El sistema de Base de Datos tiene la responsabilidad de garantizar que no se violen estas restricciones.