View
6
Download
0
Category
Preview:
Citation preview
SEGURIDAD EN LAS BASES DE DATOS
Seguridad se refiere a la protección de los datos contra una revelación, alteración o destrucción no autorizada.
La seguridad implica asegurar que los usuarios están autorizados para llevar a cabo lo que tratan de hacer.
(Date C. J., Introducción a los sistemas de bases de datos Volumen 1)
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
SEGURIDAD EN LAS BASES DE DATOS
Consideraciones generales:
•Aspectos legales, sociales y éticos•Controles físicos•Cuestiones de política interna•Problemas de operación•Controles del equipo•Seguridad del sistema operativo
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
SEGURIDAD EN LAS BASES DE DATOS
Medidas de seguridad
• Físicas: Controlar el acceso al equipo. Tarjetas de acceso, etc.
• Personal: Acceso sólo del personal autorizado. Evitar sobornos, etc.
• SO: Seguridad a nivel de SO• SGBD: Uso de herramientas de seguridad que
proporcione el SGBD. Perfiles de usuario, vistas, restricciones de uso de vistas, etc.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
MECANISMOS DE SEGURIDAD
• Discrecionales: Se usan para otorgar privilegios a los usuarios, incluida la capacidad de tener acceso a archivos, registros o campos de datos específicos en un determinado modo.
• Obligatorios: Sirven para imponer igualdad de múltiples niveles clasificando los datos y los usuarios en varias clases (o niveles) de seguridad e implementando después la política de seguridad apropiada de la organización.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
ADMINISTRADOR DE LA BASE DE DATOS
Otorgar privilegios a los usuarios y clasificar los usuarios y los datos de acuerdo con la política de la organización.
Tipos de acciones:1. Creación de cuentas2. Concesión de privilegios.3. Revocación de privilegios.4. Asignación de niveles de seguridad.
El DBA es el responsable de la seguridad global del sistema de base de datos.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
SEGURIDAD EN LOS DATOS
• Mecanismo de vistas: Se puede utilizar para ocultar datos confidenciales a usuarios no autorizados.
• Subsistema de autorización: Permite a los usuarios con derechos específicos conceder de manera selectiva y dinámica esos derechos a otros usuarios, y si lo desean revocarlos.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
MECANISMO DE VISTAS
En éste mecanismo los usuarios pueden consultar y modificar los datos que ven, quedando el resto de la base de datos invisible o inaccesible.
Provee una forma segura y simple de controlar el acceso a los datos.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
MECANISMO DE VISTAS
La “VISTA_1” está formada con todos los campos de las tablas “TABLA_1” y “TABLA_2”; Esto permite restringir el acceso de los usuarios a la “VISTA_1” en lugar de autorizarlos a acceder a las tablas “TABLA_1”, “TABLA_2”
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
MECANISMO DE VISTAS
Las vistas como objeto de la base de datos materializan conceptos de seguridad tales como:
• Dependencia e independencia del valor.
• Subconjunto de filas y columnas.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
DEPENDENCIA DEL VALOR
El acceso está restringido a solo un subconjunto de filas de una tabla base. (Conjunto horizontal)Por ejemplo ¿Cual es el conjunto de proveedores localizados en la ciudad de Mendoza?
CREATE VIEW PROVEEDORES _ MENDOZAAS SELECT P_ID, P_NOMBRE, P_SITUACION, P_CIUDADFROM PROVEEDORESWHERE P_CIUDAD = “Mendoza”;
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
INDEPENDENCIA DEL VALOR
El acceso está restringido a solo un subconjunto de columnas de una tabla base. (Conjunto vertical)
Por ejemplo, definir una vista que solo muestre el identificador, nombre y ciudad de todos los proveedores:
CREATE VIEW ID_NOMBRE_CIUDADAS SELECT P_ID, P_NOMBRE, P_CIUDADFROM PROVEEDORES;
Se muestran a todos los proveedores incluidos en la tabla proveedores.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
SUBCONJUNTO DE FILAS Y COLUMNAS
Equivale a restringir el acceso a solo un grupo defilas y columnas. Por ejemplo permitir el acceso a la tabla PROVEEDORES para mostrar solo las columnas identificador, nombre y ciudad de todos los proveedores localizados en la ciudad de Mendoza.
CREATE VIEW MENDOZA_ID_NOMBRE_CIUDADAS SELECT P_ID, P_NOMBRE, P_CIUDADFROM PROVEEDORESWHERE P_CIUDAD = “Mendoza”;
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
EL SUBSISTEMA DE AUTORIZACIÓN
Este mecanismo permite especificar las operaciones que los usuarios autorizados pueden ejecutar sobre los objetos de la base de datos. Esta función se materializa a través de las proposiciones GRANT (conceder) y REVOKE (revocar) de SQL.
Para realizar cualquier operación con SQL sobre un objeto de base de datos, el usuario debe; en primer lugar; contar con la autorización apropiada para realizar dicha operación, caso contrario, la operación es rechazada con un código de excepción o mensaje de error.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
EL SUBSISTEMA DE AUTORIZACIÓN
Ejemplo: Para ejecutar la siguiente proposición...
SELECT * FROM TABLA_1;
....el usuario necesita la autorización de selección (SELECT) sobre la tabla TABLA_1.
Las proposiciones GRANT y REVOKE “conceden” y “revocan” respectivamente derechos sobre objetos tales como tablas, vistas y procedimientos almacenados.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
EL SUBSISTEMA DE AUTORIZACIÓN
Esto hace posible, desde el punto de vista de seguridad, mantener un control permanente de quien o quienes pueden realizar operaciones (crear, ejecutar, seleccionar, modificar, borrar, insertar, alterar, etc.) sobre objetos, permitiendo implementar una estructura de seguridad racional y esquematizada.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
CLAUSULAS GRANT Y REVOKE
Conceder permisos en Tablas:GRANT privilegiosON nombre de la relación o vista.TO lista de usuarios [public]
GRANT ALL ON TABLE POZOS TO ingeniería;
Concede al grupo “ingeniería” (este puede ser el grupo previamente creado al cual se asocien los empleados pertenecientes al departamento de ingeniería), todos los derechos o autorizaciones que existan (SELECT, DELETE, INSERT, UPDATE)sobre la tabla “POZOS”.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
CLAUSULAS GRANT Y REVOKE
Conceder permisos en Tablas:
GRANT SELECT ON TABLE POZOS TO javierA;Concede al usuario “javierA” solo permiso de lectura o selección sobre la tabla “POZOS”.
GRANT INSERT, DELETE ON TABLE POZOS TO leomar, geologia;Concede al usuario “leomar” y al grupo “geologia”(suponemos que es un grupo creado previamente), los permisos de inserción y eliminación de registros sobre la tabla “POZOS”.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
CLAUSULAS GRANT Y REVOKE
Revocar permisos en Tablas:
REVOKE privilegiosON nombre de la relación o vista.TO lista de usuarios [public]
REVOKE SELECT ON TABLE POZOS TO javierA;Revoca al usuario “javierA” el permiso de lectura o selección sobre la tabla “POZOS”.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
CLAUSULAS GRANT Y REVOKE
Revocar permisos en Tablas:
REVOKE DELETE ON TABLE POZOS TO leomar;Revoca al usuario “leomar” el permiso de eliminación de registros sobre la tabla “POZOS”. Obviamente el permiso revocado debió ser concedido previamente con la proposición GRANT.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
MÉTODOS ADICIONALES
Entre ellos se puede considerar al “cifrado de los datos” y seguimiento de “registros de auditoría”.
Esta última alternativa no previene ni evita los posibles ataques a los que puedan ser sometidos los datos y objetos de las bases de datos, pero sípermite identificar procesos y personas que de algún modo u otro hayan intentado o logrado realizar procesos indebidos o no autorizados.
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
Mecanismo para control y seguridad de usuarios
Las actividades de creación y mantenimiento de logins y usuarios de las bases de datos se reparten entre:
• System Security Officer (SSO)• System Administrator (SA)• DataBase Owner (DBO).
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
La síntesis del proceso de agregar nuevos usuariosconsta de los siguientes pasos:
1. El SSO crea una cuenta para el login al DBMS.
2. Un SA o DBO agrega un usuario; para el login creado; a una base de datos. Se puede dar al usuario un alias o asignarlo a un grupo de usuarios.
3. Un SA, DBO o propietario del objeto concede al/os usuario/s o grupo específico los permisos sobre comandos u objetos de la/s base/s de datos.
Mecanismo para control y seguridad de usuarios
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
• Crear logins para el DBMSSA o SSO.Procedimiento addlogin.Se agrega una fila a la tabla de sistema syslogins.(uid) identificador de usuario.
• Crear usuario de la base de datosProcedimiento adduser.El usuario debe existir como login del DBMS.Se agrega una fila en la tabla sysusers quepertenece a la base de datos corriente.
Mecanismo para control y seguridad de usuarios
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
Procedimientos estándar para administración de usuarios
Procedimientos estándar para administración de usuarios
REVOKE Ejemplo
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
CLAUSULAS GRANT Y REVOKE
Regla de Revocación:Se revoca un privilegio acordado a un desautorizado si este privilegio se dio antes de cualquier otro privilegio que aun posea el desautorizado
Si el DBA revoca el privilegio para U1:-Se debe revocar la concesión de U4 dado que U1 ya no tiene autorización-No se debe revocar la autorización de U5 dado que U5 tiene otro camino de autorización desde DBA a través de U2
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
CLAUSULAS GRANT Y REVOKE
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas- Subsistema de
autorizaciónSeguridad de usuarios
Se deben prevenir ciclos de concesiones sin camino desde la raíz:
-DBA concede autorización a U7
-U7 concede autorización a U8
-U8 concede autorización a U7
-DBA revoca la autorización a U7
-Se debe revocar la concesión de U7 a U8 y de U8 a U7
dado que no queda ningún camino desde DBA a U7 o a U8.
Seguridad Multinivel
Un SGBD multinivel soporta datos con diferentes niveles o clases de confidencialidad y usuarios con diferentes clases de autoridad.
El problema de control de flujos se ilustra en la figura siguiente:
Juan Cecilia
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
ComponentesR C(R)
Seguridad Multinivel
En general, se puede decir que un flujo existe entre un objeto X y un objeto Y cuando un programa lee X y hace escrituras sobre Y.
El protocolo mas sencillo de control de flujos comprende dos niveles: libre y confidencial.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Niveles de Control de Flujo
En este caso se permite cualquier flujo de datos excepto aquellos que van del nivel confidencial al nivel libre:
Libre Confidencial
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Seguridad Multiniveles
Se puede establecer al menos 4 niveles de autorización con el siguiente orden:No Clasificado <Confidencial < Secreto < Muy Secreto
Las categorías de objetos están formadas considerando combinaciones de características elementales sobre objetos, por lo general se pueden considerar cuatro grandes categorías:
Libre – Restringido – Sensitivo – Codificado
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Seguridad Multinivel
En el caso de SGBD no solo se impide que los usuarios no autorizados accedan a la información sensible, sino que ni siquiera se deja que conozcan la existencia de dicha información. Esto afecta a la propia definición del modelo relacional, en cuanto a la Integridad de Entidad e Integridad referencial.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia
Otra de las técnicas utilizadas para mantener la seguridad de una BD es por medio del control de la inferencia, es decir, evitando que una persona pueda, sin tener autorización, conocer e inferir información, a partir de los datos a cuales si tiene acceso.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de inferencia (Ejemplos)
Pregunta: ¿Cuántos enfermos hay con las siguientes características?
Sexo Masculino, edad 45-50, casado, dos niños, graduado del ITCR, gerente de la empresa AREX.
Respuesta: Suponer que la persona que hace referencia esta pregunta sabe que es Arguedas quien posee estas características, Ahora, desea descubrir informaciones confidenciales sobre Arguedas.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia (Ejemplos)
Pregunta: ¿Cuántos enfermos hay con las siguientes características?
Sexo masculino, edad 45-50, casado, dos niños, graduado del ITCR, gerente de la empresa AREX, toma calmantes debido a depresiones.
Respuesta: será 1 si Arguedas toma Calmantes o 0 en caso contrario. Así, la persona no autorizada encuentra una condición C en donde el conjunto resultante tiene un elemento.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia (Ejemplos)
Por lo tanto ¿Cuántos individuos satisfacen C y X? si la respuesta es 1 el individuo posee la característica X, 0 en caso contrario.
Así la regla que debe respetarse es: “No responder a las consultas en donde hay menos de k o mas de n-k tuplas en la respuesta”
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia
En este caso n es el numero total de tuplas de la base de datos y k es un entero positivo que especifica el tamaño mínimo permitido de la consulta.
Cuando k es aproximadamente igual a n/2, las fugas son posibles usando la técnica del perseguidor.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia
La idea de base es suponer que a un indiscreto se le informo que una persona P esta caracterizada por la condición:
C = A AND B
Además se supone que el DBMS puede responder a las preguntas caracterizadas por la condición A y las caracterizadas por la condición A AND NOT B. La condición:
T = A AND NOT B
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia (Ejemplos)
Sea la contribución de varias personalidades a un cierto partido político y que se representa en la relación. Por otra parte, suponer que se pueden hacer consultas cuyas respuestas involucran solo sumas y/o cardinalidades de conjuntos.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia (Ejemplo)
Nombre Sexo Profesión Monto
AlonsoBernardoCarlosSaraSoniaTomasUrielVerónica
MMMFFMMF
PeriodistaPeriodistaEmpresarioPeriodistaProfesoraProfesorMedicoAbogada
300005000100050000100020000200000100000
ContribuciónSeguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia (Ejemplo)
Suponer que C= (periodista AND femenino) identifica en forma unica a Sara.Con el perseguidor T = (periodista AND NOT femenino) = (periodista AND masculino), se conocera la contribucion de Sara:
P: ¿Cuantas personas son periodista?R: 3P: ¿Cuantas personas son periodista hombres?R: 2
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Control de Inferencia (Ejemplo)
Asi se identifica a Sara:
P: ¿Cual es la contribucion total de los periodistas?R:85000P: ¿Cual es la constribucion total de los periodistas, varones?R: 35000
Por lo tanto Sara contribuyo con 50000u.m
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Criptografia
Otro sistema de seguridad es la Criptografia o Criptado, este procedimiento permite asegurar la transmisión de informaciones privadas por las redes públicas desordenándola matemáticamente (encriptándola) de manera que sea ilisible para cualquiera excepto para la persona que posea la "llave" que puede ordenar (desencriptar) la información. Los dos tipos más comunes de criptografía son los de "misma llave" y "llave pública".
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Criptografia
Los datos se codifican mediante algún algoritmo de codificación. Un usuario no autorizado tendrá problemas para descifrar los datos codificados, pero un usuario autorizado contará con algoritmos para descifrarlos.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Tipos de Llaves
En la criptografía con la misma llave, un mensaje es encriptado y desencriptado utilizando la misma llave, que se manda en un envío separado. El método de llave pública es más seguro, el cual utiliza un par de llaves diferentes (una pública y una privada) que pueden tener una relación particular entre sí, de manera que un mensaje encriptado con una llave, sólo puede ser desencriptado con la otra y viceversa.
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
•En primer lugar, se tiene lo que se llama el código que es un método secreto de escritura, en donde el mensaje que se desea almacenar o transportar en una red es codificado y se llama criptograma.•El proceso de transformar un mensaje en uno codificado se denomina encriptamiento.•Por otra parte, el proceso inverso de transformar un criptograma en un mensaje se denomina desencriptamiento.
Principales Elementos
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
De una manera mas formal, se puede decir que un sistema criptografico consta de 5 componentes:
•Un mensaje M que debe almacenarse o transportarse.•Un criptograma C•Un conjunto de claves I•Un conjunto de reglas de encriptamiento•Un conjunto de reglas de desencriptamiento
Componentes
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Ejemplo Grafico
Encriptamiento
Desencriptamiento
MensajeBuenos Días
Criptograma“#$%&
MensajeBuenos Días
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
Algoritmo de transposición columnar:
Considerar el mensaje: Ser o no ser; he ahíla cuestión y se desea utilizar una matriz de n x 5. En ese caso, dicha oración queda ubicada de la siguiente forma.
Ejercicio
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
Asi el criptograma seria el siguiente:see uó enr len ro, aas h t oshíci
Ejercicio
S E R ON O S
E R , HE A H Í
L A CU E S T IÓ N
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
En este caso el código de encriptamiento no puede invertirse fácilmente para hallar el código de desencriptamiento. El método se basa en dos suposiciones:•Es relativamente fácil determinar 2 números primos grandes p y q y multiplicarlos para obtener n=p.q que sirve de base para un código de encriptamiento.•El proceso inverso, es decir, determinar los números p y q a partir del numero n es difícil realizarlo en un tiempo aceptable cuando n es un numero muy grande.
Clave Publica
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
Maria desea enviar un mensaje a Carlos, quien escoge dos números primos p y q cuya división por 3 tenga a 2 como resto.
Así, calcula n=p.q y se lo envía a Maria. Por su parte, Maria transforma el mensaje en una sucesión de dígitos lo cual resulta muy fácil y la divide en segmentos de longitud n.
Ejemplo Clave publica
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
Sea uno de esos segmentos representados por el numero x. María procede a calcular el resto y al dividir. por n y el segmento codificado es el numero y.
Cuando Carlos recibe el mensaje utiliza un numero ultrasecreto e= (2(p-1)(q-1)+1)/3 el cual es entero por las escogencia de los números p y q.
Ejemplo Clave publica
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
X3
El fragmento original por su parte es decir el numero x, es igual al resto de dividir y por n. En este caso a una persona le seráimposible descifrar en un tiempo oportuno el criptograma, aunque conozca el numero n.
Ejemplo Clave publica
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
Instrucciones:
SET ENCRYPTION PASSWORD = ‘SECRETO’INSERT INTO cliente VALUES('JOSE',
ENCRYPT('1111222233334444')) SET ENCRYPTION PASSWORD = 'SECRETO' SELECT nombre, DECRYPT_CHAR(num_tarj) FROM cliente
Ejemplo
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
•En el código anterior, la sentencia Set Encryption Password proporciona a DB2 la clave que se utilizará para cifrar (y descifrar) los datos.
•En la sentencia siguiente se muestra cómo se utiliza la función de cifrado de DB2 para codificar el número de la tarjeta de crédito antes de grabarlo en la tabla de DB2. La última sentencia muestra los pasos necesarios para ver el valor original del número de la tarjeta de crédito, ‘1111222233334444’.
Ejemplo
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
INTEGRIDAD
Existen dos tipos de operaciones que pueden atentar contra la integridad de los datos, que son las operaciones semánticamente inconsistentes y las interferencias debidas a accesos concurrentes.
•Integridad semántica.•Integridad operacional.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
INTEGRIDAD OPERACIONAL
Integridad operacional:• Técnicas de control de concurrencia:
• Bloqueo.• Marcas de tiempo.• Marcas de tiempo multiversión.• Técnicas optimistas.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
RESTRICCIONES DE LOS DOMINIOS
• La declaración de que un atributo pertenezca a un determinado dominio actúa como una restricción sobre los valores que puede tomar.
• El dominio de cada atributo es el conjunto desde donde los datos provienen:o nombre: strings, cadenas de
símbolos.o sueldo: enteros positivos.o fecha creac: fechas válidas.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
RESTRICCIONES DE LOS DOMINIOS
• Las restricciones de los dominios son la forma más simple de restricción de integridad.
• Además de los dominios usados como tipos de datos, el administrador del sistema puede generar sus propios dominios definiendo el conjunto de valores permitidos.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
RESTRICCIONES DE LOS DOMINIOS
• La cláusula create domain se puede usar para definir nuevos dominios.
• create domain nombre_pers char(30) • create domain direccion char(35)• create domain Dolar numeric(10,2)
• create domain tipo-cuenta char(10)constraint comprobación-tipo-cuentacheck(value in (‘Corriente’,‘Ahorro’))
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD
Al definir cada atributo sobre un dominio se imponen unas Restricciones de dominios.
Además existen 2 reglas de integridad que se deben cumplir en todas las base de datos relacionales, estas son Regla de Integridad de entidades y la Regla de Integridad referencial
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD
• NulosCuando en una tupla un atributo es desconocido, se dice que es nulo.
• En la teoría de bases de datos, se llama clave primaria a un campo, o a una combinación de campos, que identifica en forma única a cada registro, y una clave foránea es una referencia, en unatabla, a la clave primaria de otra tabla.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD
• Restricción de integridad de entidades:
Esta establece que ningún valor de clave primaria puede ser nulo.
• Restricción de integridad referencial:
Es un sistema de reglas usado para asegurarse que los registros de tablas relacionadas son válidos y que no se borren o cambien datos relacionados de forma accidental.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD REFERENCIAL
• La integridad referencial consiste en que los datos que referencian otros deben ser correctos.
• La integridad referencial se activa en cuanto creamos una clave foránea y a partir de ese momento se comprueba cada vez que se modifiquen datos que puedan alterarla.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD REFERENCIAL
¿Cuándo se pueden producir errores en los datos?• Cuando insertamos una nueva fila en la
tabla secundaria y el valor de la clave foránea no existe en la tabla principal.
• Cuando modificamos el valor de la clave principal de un registro que tiene ‘hijos’.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD REFERENCIAL
• Cuando queremos borrar una fila de la tabla principal y ese registro tiene ‘hijos’.
• Cuando modificamos el valor de la clave foránea, el nuevo valor debe existir en latabla principal.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD REFERENCIAL
• Actualizar registros en cascada:Esta opción le indica al SGBD que cuando
se cambie un valor del campo clave de la tabla principal, automáticamente cambiará el valor de la clave foránea de los registros relacionados en la tabla secundaria.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD REFERENCIAL
• Eliminar registros en cascada:Esta opción le indica al SGBD que cuando
se elimina un registro de la tabla principal automáticamente se borran también los registros relacionados en la tabla secundaria.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
REGLAS DE INTEGRIDAD REFERENCIAL
create table cuenta(…primary key (número-cuenta)foreign key (nombre-sucursal) references sucursalon delete cascadeOn update cascade;…)
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
ASERTOS
• Un Aserto es un predicado que expresa una condición que se desea que la base de datos satisfaga siempre.
• Cuando se crea un aserto el sistema comprueba su validez.
• Si el aserto es válido, sólo se permiten las modificaciones posteriores de la base de datos que no hagan que se viole el aserto.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
ASERTOS
El salario de un empleado no debe ser mayor que el salario del jefe del departamento al que pertenece el empleado:Empleado(Nombre,Apellido,NSS,Direccion,Sexo,
Salario,NSS_Superv,ND)Departamento(NombreD,NumeroD,NSS_Jefe)
CREATE ASSERTION RESTRICC_SALARIOCHECK(NOT EXIST(SELECT * FROM Empleado E,
Empleado M,Departamento DWHERE E.Salario > M.Salario AND
E.ND = D.NumeroD ANDD.NSS_Jefe = M.NSS));
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
TRIGGERS
Un trigger o un disparador en una Base de datos es un evento que se ejecuta cuando se cumple una condición establecida al realizar una operación de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
TRIGGERS
Para diseñar un mecanismo disparador hay que cumplir dos requisitos:
1. Especificar las condiciones en las que se va a ejecutar el disparador.
2. Especificar las acciones que se van a realizar cuando se ejecute el disparador.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
TRIGGERS
Disparadores en SQL
Los sistemas de bases de datos SQL usan ampliamente los disparadores, aunque antes de SQL:1999 no fueron parte de la norma. Por desgracia, cada sistema de bases de datos implementó su propia sintaxis para los disparadores, conduciendo a incompatibilidades.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
TRIGGERS
Tipos
• Row Triggers: se disparan una vez por cadafila afectada.
• Statement Triggers: son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
Existen dos tipos de triggers, que se clasifican según la cantidad de ejecuciones a realizar:
TRIGGERS
Componentes:
La estructura básica de un trigger es:• Llamada de activación: es la sentencia que
permite "disparar" el código a ejecutar.• Restricción: es la condición necesaria para
realizar el código. • Acción a ejecutar: es la secuencia de
instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
TRIGGERS
La sintaxis para la creación de triggers es la siguiente:
CREATE TRIGGER <nombre trigger> <BEFORE|AFTER><INSERT|DELETE|UPDATE>ON <nombre relacion>FOR EACH <ROW|STATEMENT>EXECUTE PROCEDURE <nombre proc.> (<function args>);
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
TRIGGERS
CREATE TRIGGER contar AFTER INSERT ON EstudiantesWHEN (new.edad < 18)FOR EACH ROWBEGINcont := cont + 1;
END
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
TRIGGERS
Usos:• Son usados para mejorar la
administración de la Base de datos, sin necesidad de contar con el usuario que ejecute la sentencia de SQL.
• Los disparadores se crean con la finalidad de mantener la integridad del sistema.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
TRIGGERS
• La activación de un disparador puede activar otro disparador y crear así una cadena de activación de disparadores.
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• Date, C. J. 1993. Introducción a los sistemas debases de datos VOLUMEN 1 (Ed. Addison-Wesley Iberoamericana).
• Fernandez, E. B., Summers, R. C. y Wood, C. 1981. Database Security and Integrity (Addison-Wesley).
• http://www.monografias.com/trabajos26/seguridad-base-datos/seguridad-base-datos3.shtml
• http://www.itba.edu.ar/capis/rtis/articulosdeloscuadernosetapaprevia/VASCONI-SEGURIDAD.pdf
• http://webdia.cem.itesm.mx/ac/rogomez/Tesis/absRocio.html
REFERENCIAS
Recommended