2. Introducción a la seguridad
Métodos de seguridad
◦ Control de acceso discrecional
◦ Control de acceso obligatorio
Forzando multiniveles de seguridad
Seguridad en bases de datos estadisticas
Cifrado de datos
3. Tipos de seguridad
◦ La seguridad en bases de datos se relaciona
principalmente con los derechos de acceso a la
base de datos.
◦ Involucra asuntos como la privacía, políticas
corporativas o gubernamentales y requerimientos
confidenciales
Control de acceso
◦ Previene de accesos no autorizados a la base de
datos
4. Mecanismos de seguridad discrecional
◦ Usados para conceder privilegios a los usuarios,
incluyendo la capacidad de acceder datos
específicos en un modo específico.
◦ Usado en la mayoría de los SMBD comerciales
Modelo de matriz de acceso (ejemplo)
Sujeto Usuarios Cuentas Programas
Objeto
Relaciones
Vistas
Registros
Columnas
Operaciones
5. Ejemplo: Usuarios A1, A2, A3
grant CREATETAB to A1;
create schema EXAMPLE authorization A1;
create INSERT,DELETE on EMP,DEPT to A2;
grant SELECT on EMP, DEPT to A3
with gran option;
revoke SELECT on EMP from A3;
6. Mecanismos de seguridad obligatorios
◦ Usados para forzar la seguridad multinivel por la
clasificación de datos y usuarios dentro de
varios niveles de seguridad.
◦ La mayoría de los SMBD comerciales solamente
proporcionan politicas de seguridad
discrecional.
Clases de seguridad típicas
◦ Secreto máximo (TS), secreto (S), confidencial
(C), y no clasificado (U).
◦ TS es la más alta y U es la más baja.
◦ TS>S>C>U
7. Restricciones:
◦ Ningún sujeto S puede leer un objeto O si la
clase de seguridad del objeto es mayor que la
seguridad acreditada por el sujeto.
S solo puede leer O si la clase (S) ≥ clase(O)
◦ Ningún sujeto puede escribir a un objeto que
tiene menor clase de seguridad que la seguridad
acreditada del sujeto, esto previene el flujo de
información de una clasificación más alta a una
clasificación más baja.
S puede tener acceso de escritura a O solo si la
clase(S) ≤ Clase (O)
8. Las bases estadísticas son usadas para producir
estadísticas sobre varias poblaciones: Las características
son:
◦ La información individual es considerada confidencial
◦ A los usuarios solo se les puede permitir el acceso a la
información estadística de la población, por ejemplo, aplicando
funciones estadísticas a las tuplas de la población.
Técnicas para proteger la privacía de la información individual en
bases de datos estadísticas están fuera del alcance de este curso.
Problemas y solucione son ilustradas por los siguientes ejemplos:
Person (name,rfc,address,city,state,zip,sex,last_degree)
Suponga que se permite la recuperación solamente de la
información estadística sobre esta relación usando
SUM,AVG,MIN,MAX,COUNT,etc
9. Las siguientes dos consultas son válidas:
Q1: Encontrar el número total de mujeres que tienen ph.D. y viven en
calgary, Alberta
select COUNT(*)
from Person
where last_degree=“ph.D”
and sex=“F” and city=“Calgary” and state=“Alberta”;
Q2: Encontrar el ingreso promedio de las mujeres que tienen ph.D: y
viven en Calgary, Alberta.
select AVG(income)
from Person
where last_degree=“ph.D”
and sex=“F” and city=“Calgary” and state=“Alberta”
10. Si sabemos que Mary Black es ph.D. y vive en
Calgary y nosotros queremos saber sus
ingresos,
nosotros podemos usar las dos consultas de
arriba.
◦ Cuando la consulta Q1 retorna uno, el resultado de
Q2 es el ingreso de Mary.
◦ De otra forma nosotros podemos usar otras
subconsultas usando MAX y MIN y podemos saber
el rango donde se encuentran los ingresos de Mary
11. Ejemplo 2:
Si el escritor de la consulta (llamado Connie) también vive en Calgary y tiene
ph.D., entonces
puede usar las siguientes consultas, ella también puede obtener fácilmente el
ingreso de
Mary.
Q3: select sum(income)
from Person
where last_degree = “ph.D”
and sex = “F” and city = “Calgary” and state=“Alberta” and name <>
“Mary”
Q3: select sum(income)
from Person
where last_degree = “ph.D”
and sex = “F” and city = “Calgary” and state=“Alberta” and name <>
“Connie”
Porque Connie sabe su propio ingreso, por Q4-(Q3-ingreso de Connie), ella
sabe el ingreso
de Mary
12. Un número de restricciones puede ser usado para
reducir la posibilidad de deducir información
individual de consultas estadísticas:
◦ Ninguna consulta estadística es permitada
cuando el número de tuplas en la población
especificada por la condición de selección cae
dentro de algún umbral.
◦ Restringir el número de tuplas en la intersección
de los resultados de las consultas subsecuentes.
◦ Otra técnica es prohibir secuencias de consultas
que se refieren repetidamente a la misma
población de tuplas.
13. Especificación de Seguridad en SQL
El lenguaje de definición de datos incluye
mandatos para conceder y revocar
privilegios
El conjunto de privilegios depende de la
versión de SQL
El standart incluye privilegios en: delete,
insert, select, update
La forma básica de la sentencia es
GRANT <Lista de Privilegios> ON <nombre de relación o vista> TO <lista de usuarios>
Ejemplos: GRANT SELECT ON sucursal TO U1,U2,U3
GRANT UPDATE (saldo) ON deposito TO U1,U2,U3