El DBMS cuenta con un subsistema que se encarga de garantizar la seguridad de la base de datos. Este subsistema realiza lo siguiente:
Enviado por Sandra75 • 7 de Septiembre de 2018 • 1.660 Palabras (7 Páginas) • 434 Visitas
...
El sistema de seguridad permite que las reglas de autorización sean definidas por medio de las sentencias GRANT y REVOKE.
- GRANT
Es la sentencia SQL que sirve para asignar privilegios.
SINTAXIS
GRANT privilegios ON objeto TO usuario(s)
DONDE
Privilegios Es la lista de privilegios que serán autorizados.
SELECT (permite realizar consultas)
UPDATE (puede ser aplicado a cualquier subconjunto de campos de la tabla)
INSERT (para poder insertar datos)
DELETE (permite borrar datos)
INDEX (permite crear índices, no es aplicable a vistas, sólo a tablas)
EXPAND (permite agregar campos a la tabla, no es aplicable a vistas)
ALL PRIVILEGES (el usuario podrá realizar todo lo mencionado anteriormente)
RUN | EXECUTE (para poder ejecutar programas)
RESOURCE (para poder crear una nueva tabla de la base de datos)
DBA (permite realizar cualquier operación válida en el sistema, como mínimo debe existir un usuario con este atributo)
Objeto Es el nombre de la base de datos, tabla, columna, rutina o vista sobre la que se ejercerán los privilegios.
Usuario (s) Es el nombre del usuario o grupo de usuarios que serán beneficiados por la sentencia GRANT
- REVOKE
Es la sentencia SQL que permite quitar privilegios.
SINTAXIS
REVOKE privilegios ON objeto FROM usuario(s)
DONDE
Privilegios Es la lista de privilegios que serán revocados.
Objeto Es el nombre de la base de datos, tabla, columna, rutina o vista sobre la que se ejercerán los privilegios.
Usuario (s) Es el nombre del usuario o grupo de usuarios que serán afectados por la sentencia REVOKE.
Los ataques de seguridad pueden consistir en la escucha de los mensajes que se transmiten por la red, la inyección de mensajes en la red, la transmisión de mensajes escuchados anteriormente, entre otros. La solución a estos problemas se basa generalmente en utilizar criptografía para proteger los datos. El DBMS es el único que puede descifrar los datos, de tal manera que cualquiera que obtenga los datos por otro medio, sólo recibirá basura.
Cuando los usuarios autorizados acceden a la información apropiadamente, el DBMS recupera los datos y los descifra automáticamente.
La encriptación necesita un sistema de cifrado:
- Un algoritmo de encriptación que toma el texto normal (texto plano) como entrada, después le aplica algunas operaciones y produce el texto encriptado (texto cifrado) como salida.
- Una llave de encriptación, la cual es parte de la entrada para el algoritmo de encriptación y es elegida entre la lista larga de posibles llaves.
- Un algoritmo de descifrado, que recibe como entrada el texto encriptado y opera con él para producir como salida el texto plano.
- Una llave de descifrado, la cual es parte de la entrada para el algoritmo de descifrado y es elegida entre una lista larga de posibles llaves.
La función de encriptación es muy difícil de invertir sin conocer la llave. Para aplicar la encriptación existen dos esquemas:
- Sistema de llave secreta
En estos sistemas la llave de encriptación es igual a la llave de descifrado. El algoritmo más usado es el DES (Data Encryption Standard) que consiste en sustituir caracteres y alterar su orden de acuerdo con la clave de encriptación, se basa en 16 niveles de sustituciones y permutaciones.
- Sistema de llave pública
En estos sistemas la llave de encriptación y la de descifrado son sistemas porque el algoritmo de encriptación y la llave de encriptación son obtenidos en forma independiente. La llave de descifrado no se debe obtener fácilmente a partir de la llave de encriptación, de esta manera la persona que lleve a cabo la encriptación no podrá descifrar sin autorización.
El algoritmo más usado es el RSA (Rivest, Shamir y Adleman), utiliza pares de números primos, basándose en la factorización de números muy grandes que tengan pocos factores.
Este esquema está basado en el hecho de que existe un algoritmo rápido para determinar si un número es primo, pero no existe un algoritmo rápido para determinar los factores primos de un número no primo.
Los DBMS cuentan con un subsistema para garantizar la seguridad de la base de datos, que lleva a cabo diferentes actividades de forma integral para cumplir su objetivo y van desde la identificación y autentificación de usuarios, asignación de cuentas y privilegios de acuerdo al usuario y sus responsabilidades, control preciso de todas aquellas actividades que realizan los usuarios durante su sesión, hasta la aplicación de métodos de encriptación de datos.
...