Seguridad e integridad

Anuncio
SEGURIDAD EN LAS BASES 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ón
Seguridad de usuarios
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 LAS BASES DE DATOS
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas
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
- Subsistema de
autorización
Seguridad de usuarios
SEGURIDAD EN LAS BASES 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ón
Seguridad de usuarios
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.
MECANISMOS DE SEGURIDAD
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
• 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.
ADMINISTRADOR DE LA 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ón
Seguridad de usuarios
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 cuentas
2. 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 LOS DATOS
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas
• 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.
- Subsistema de
autorización
Seguridad de usuarios
MECANISMO DE VISTAS
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
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.
MECANISMO DE VISTAS
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
La “VISTA_1” está formada con todos los campos de
las tablas “TABLA_1” y “TABLA_2”; Esto permite
- Subsistema de
restringir el acceso de los usuarios a la “VISTA_1” en
autorización
lugar de autorizarlos a acceder a las tablas
Seguridad de usuarios
“TABLA_1”, “TABLA_2”
- Mecanismo de vistas
MECANISMO DE VISTAS
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
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.
DEPENDENCIA DEL VALOR
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
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 _ MENDOZA
AS SELECT P_ID, P_NOMBRE, P_SITUACION,
P_CIUDAD
FROM PROVEEDORES
WHERE P_CIUDAD = “Mendoza”;
Seguridad de usuarios
INDEPENDENCIA DEL VALOR
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
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_CIUDAD
AS SELECT P_ID, P_NOMBRE, P_CIUDAD
FROM PROVEEDORES;
Se muestran a todos los proveedores incluidos en la
tabla proveedores.
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ón
Seguridad de usuarios
Equivale a restringir el acceso a solo un grupo de
filas 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_CIUDAD
AS SELECT P_ID, P_NOMBRE, P_CIUDAD
FROM PROVEEDORES
WHERE P_CIUDAD = “Mendoza”;
EL SUBSISTEMA DE AUTORIZACIÓN
Este mecanismo permite especificar las operaciones
que los usuarios autorizados pueden ejecutar sobre los
Consideraciones Generales objetos de la base de datos. Esta función se
Medidas de seguridad materializa a través de las proposiciones GRANT
(conceder) y REVOKE (revocar) de SQL.
Seguridad en BD
Mecanismos de Seguridad
Para realizar cualquier operación con SQL sobre un
objeto de base de datos, el usuario debe; en primer
Seguridad en los datos lugar; contar con la autorización apropiada para
- Mecanismo de vistas realizar dicha operación, caso contrario, la operación
es rechazada con un código de excepción o mensaje de
- Subsistema de
error.
autorización
Administrador de la BD
Seguridad de usuarios
EL SUBSISTEMA DE AUTORIZACIÓ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ó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 de usuarios
EL SUBSISTEMA DE AUTORIZACIÓ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ón
Seguridad de usuarios
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.
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ón
Seguridad de usuarios
Conceder permisos en Tablas:
GRANT privilegios
ON 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”.
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ón
Seguridad de usuarios
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”.
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
Revocar permisos en Tablas:
REVOKE privilegios
ON 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”.
- Subsistema de
autorización
Seguridad 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ón
Seguridad de usuarios
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.
MÉTODOS ADICIONALES
Seguridad en BD
Consideraciones Generales
Medidas de seguridad
Mecanismos de Seguridad
Administrador de la BD
Seguridad en los datos
- Mecanismo de vistas
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.
- Subsistema de
autorización
Seguridad de usuarios
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ón
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).
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ón
Seguridad de usuarios
La síntesis del proceso de agregar nuevos usuarios
consta 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ón
Seguridad de usuarios
• Crear logins para el DBMS
SA o SSO.
Procedimiento addlogin.
Se agrega una fila a la tabla de sistema syslogins.
(uid) identificador de usuario.
• Crear usuario de la base de datos
Procedimiento adduser.
El usuario debe existir como login del DBMS.
Se agrega una fila en la tabla sysusers que
pertenece a la base de datos corriente.
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ón
Seguridad 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ón
Seguridad de usuarios
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
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ón
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 de usuarios
Seguridad Multinivel
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
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
R
C(R)
Criptografía
Tipos de llaves
Principales elementos
Componentes
Seguridad Multinivel
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
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.
Principales elementos
Componentes
Niveles de Control de Flujo
Seguridad Multinivel
Niveles y Categorias
Ejemplo
En este caso se permite cualquier flujo de
datos excepto aquellos que van del nivel
confidencial al nivel libre:
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Libre
Confidencial
Seguridad Multiniveles
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
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
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
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.
Control de Inferencia
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
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.
Principales elementos
Componentes
Control de inferencia (Ejemplos)
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
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.
Control de Inferencia (Ejemplos)
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
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.
Componentes
Control de Inferencia (Ejemplos)
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
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”
Control de Inferencia
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
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.
Componentes
Control de Inferencia
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
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
Control de Inferencia (Ejemplos)
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
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.
Componentes
Control de Inferencia (Ejemplo)
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Contribución
Nombre
Alonso
Bernardo
Carlos
Sara
Sonia
Tomas
Uriel
Verónica
Sexo
M
M
M
F
F
M
M
F
Profesión
Periodista
Periodista
Empresario
Periodista
Profesora
Profesor
Medico
Abogada
Monto
30000
5000
1000
50000
1000
20000
200000
100000
Control de Inferencia (Ejemplo)
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
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: 3
P: ¿Cuantas personas son periodista hombres?
R: 2
Control de Inferencia (Ejemplo)
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
Asi se identifica a Sara:
P: ¿Cual es la contribucion total de los
periodistas?
R:85000
P: ¿Cual es la constribucion total de los
periodistas, varones?
R: 35000
Por lo tanto Sara contribuyo con 50000u.m
Criptografia
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
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".
Criptografia
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
Componentes
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.
Tipos de Llaves
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Principales elementos
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.
Componentes
Principales Elementos
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.
Componentes
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
Ejemplo Grafico
Seguridad Multinivel
Niveles y Categorias
Mensaje
Buenos Días
Ejemplo
Control de Inferencia
Encriptamiento
Criptograma
“#$%&
Ejemplos
Criptografía
Desencriptamiento
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
Mensaje
Buenos Días
Ejercicio
Seguridad Multinivel
Algoritmo de transposición columnar:
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
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.
Criptografía
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
Ejercicio
Seguridad Multinivel
S E R
O
N O
S
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
E R ,
E
H
A H Í
L
A
C
U E S T I
Ó N
Tipos de llaves
Principales elementos
Ejemplos y ejercicios
Asi el criptograma seria el siguiente:
see uó enr len ro, aas h t oshíci
Clave Publica
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.
Ejemplo 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. X3 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
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
Seguridad Multinivel
Niveles y Categorias
Ejemplo
Control de Inferencia
Ejemplos
Criptografía
Tipos de llaves
Instrucciones:
SET ENCRYPTION PASSWORD = ‘SECRETO’
INSERT INTO cliente VALUES('JOSE',
ENCRYPT('1111222233334444'))
SET ENCRYPTION PASSWORD = 'SECRETO'
SELECT nombre, DECRYPT_CHAR(num_tarj)
FROM cliente
Principales elementos
Ejemplos y ejercicios
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’.
INTEGRIDAD
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
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 OPERACIONAL
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
Integridad operacional:
• Técnicas de control de concurrencia:
• Bloqueo.
• Marcas de tiempo.
• Marcas de tiempo multiversión.
• Técnicas optimistas.
RESTRICCIONES DE LOS DOMINIOS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• 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.
RESTRICCIONES DE LOS DOMINIOS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• 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.
RESTRICCIONES DE LOS DOMINIOS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• 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-cuenta
check(value in (‘Corriente’,‘Ahorro’))
REGLAS DE INTEGRIDAD
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
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
REGLAS DE INTEGRIDAD
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• Nulos
Cuando 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 una
tabla, a la clave primaria de otra tabla.
REGLAS DE INTEGRIDAD
Integridad
• Restricción de integridad de entidades:
Reglas de integridad
Esta establece que ningún valor de clave
primaria puede ser nulo.
Asertos
• Restricción de integridad referencial:
Restr. de dominios
Triggers
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.
REGLAS DE INTEGRIDAD REFERENCIAL
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• 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.
REGLAS DE INTEGRIDAD REFERENCIAL
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
¿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’.
REGLAS DE INTEGRIDAD REFERENCIAL
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• 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 la
tabla principal.
REGLAS DE INTEGRIDAD REFERENCIAL
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• 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.
REGLAS DE INTEGRIDAD REFERENCIAL
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• 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.
REGLAS DE INTEGRIDAD REFERENCIAL
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
create table cuenta
(…
primary key (número-cuenta)
foreign key (nombre-sucursal)
references sucursal
on delete cascade
On update cascade;
…)
ASERTOS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• 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.
ASERTOS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
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_SALARIO
CHECK(NOT EXIST(SELECT * FROM Empleado E,
Empleado M,Departamento D
WHERE E.Salario > M.Salario AND
E.ND = D.NumeroD AND
D.NSS_Jefe = M.NSS));
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
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).
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
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.
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
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.
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
Tipos
Existen dos tipos de triggers, que se
clasifican según la cantidad de ejecuciones
a realizar:
• Row Triggers: se disparan una vez por cada
fila afectada.
• Statement Triggers: son aquellos que sin
importar la cantidad de veces que se cumpla
con la condición, su ejecución es única.
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
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.
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
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>);
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
CREATE TRIGGER contar
AFTER INSERT ON Estudiantes
WHEN (new.edad < 18)
FOR EACH ROW
BEGIN
cont := cont + 1;
END
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
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.
TRIGGERS
Integridad
Restr. de dominios
Reglas de integridad
Asertos
Triggers
• La activación de un disparador puede
activar otro disparador y crear así una
cadena de activación de disparadores.
REFERENCIAS
• Date, C. J. 1993. Introducción a los sistemas de
bases de datos VOLUMEN 1 (Ed. Addison-Wesley
Iberoamericana).
• Fernandez, E. B., Summers, R. C. y Wood, C. 1981.
Database Security and Integrity (AddisonWesley).
• http://www.monografias.com/trabajos26/segurid
ad-base-datos/seguridad-base-datos3.shtml
• http://www.itba.edu.ar/capis/rtis/articulosdelosc
uadernosetapaprevia/VASCONI-SEGURIDAD.pdf
• http://webdia.cem.itesm.mx/ac/rogomez/Tesis/a
bsRocio.html
Descargar