SEGURIDAD EN LAS BASES DE DATOS - UC

42
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ón Seguridad de usuarios

Transcript of SEGURIDAD EN LAS BASES DE DATOS - UC

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