SEGURIDAD
   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
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
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
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;
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
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)
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
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”
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
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
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.
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

Seguridad bd

  • 1.
  • 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 seguridaddiscrecional ◦ 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 seguridadobligatorios ◦ 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únsujeto 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ísticasson 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 dosconsultas 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 queMary 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 elescritor 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 derestricciones 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 Seguridaden 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