seguridad en oracle

28
Seguridad Base de Datos

Upload: james-escudero-rojas

Post on 16-Dec-2015

238 views

Category:

Documents


5 download

DESCRIPTION

Seguridad en Oracle UNMSM

TRANSCRIPT

  • Seguridad

    Base de Datos*

  • *El mbito de la seguridad de las bases de datos es amplio, pues abarca aspectos relacionados con hardware, software, personas y datos:Legales, sociales y ticosel solicitante tiene el derecho legal de obtener determinada informacin? (saldos de cuentas de clientes) cmo asegurar que no se revelen datos confidenciales a cambio de sobornos u otros favores?Poltica gubernamental, institucional o corporativaqu informacin no debe estar disponible al pblico? (historiales mdicos...)cmo se decide quin puede acceder a qu?Controles fsicoscmo proteger fsicamente contra intrusos las salas en donde estn los sistemas informticos?

    5.1 El problema de la seguridadAspectos del problema de la seguridad

  • *Seguridad del Sistema Operativoborra el SO el contenido de reas de almacenamiento y archivos de datos cuando no se necesitan? el SO permite el acceso directo a los ficheros de la base de datos?si se usan contraseas para el acceso al SO cmo se mantienen en secreto? con qu frecuencia se cambian?Seguridad de la RedLa seguridad en el nivel de software de red es hoy en da fundamental, tanto en Internet como en las redes privadas de las organizacionesAspectos especficos del Sistema de Bases de Datos dispone el sistema de BD del concepto de propiedad de la informacin?cmo evitar que los usuarios puedan acceder a ciertas partes de la BD?cmo limitar las operaciones que los usuarios pueden realizar sobre la BD?Hay que adoptar medidas de seguridad en todos estos niveles, pero nos centraremos en el ltimo de ellos ()5.1 El problema de la seguridadAspectos del problema de la seguridad (y 2)

  • *La seguridad es crucial en SBD multiusuarioMuchos usuarios con acceso a una misma (y gran) BD integradaLa informacin confidencial (salarios, saldos, informes de productividad, etc.) debe estar oculta para la mayora de usuariosEl esfuerzo por conservar la seguridad de la BD merece la pena...Grandes bases de datos de nminas o datos financieros atractivas para ladronesBases de datos de operaciones empresariales interesantes para competidores sin escrpulos pues la prdida de datos (por accidente o por fraude) supone elevados costes y disminucin de la capacidad de la empresa para seguir funcionando5.1 El problema de la seguridad

  • *La proteccin total y absoluta de la BD contra el mal uso intencionado es imposiblePero se puede elevar el coste de los intentos de acceso no autorizado lo suficiente como para disuadirlos

    El SGBD proporciona tcnicas para que (grupos de) usuarios tengan acceso a ciertas partes de la base de datos, sin tener acceso al restoEl Subsistema de Seguridad y Autorizacin del SGBD garantiza la seguridad de (partes de) la BD contra accesos no autorizadosEl SGBD tiene definido el objeto de datos:Unidad de datos que requiere proteccin individualPuede ser desde la base de datos completa, o un conjunto de tablas ... hasta una posicin (fila, columna) dentro de cierta tabla5.1 El problema de la seguridad

  • *Como hemos visto, las decisiones sobre seguridad son polticas, no tcnicas: estn fuera del SGBDPero el SGBD puede reforzarlas: imponerlas, obligar a su cumplimientoPara ello...Tales decisiones deben indicarse al SGBD, mediante LDDDeben ser recordadas por el SGBD: almacenadas en el INFORMATION_SCHEMA del catlogo del sistema de BD, en forma de reglas de seguridad y autorizacinEl SGBD debe ser capaz de reconocer el origen de una peticin (usuario solicitante) para poder decidir qu reglas de seguridad son aplicables a cierta peticinDebe existir una forma de comprobar peticiones de accesooperacin solicitada + datos solicitados + usuario solicitantesegn las reglas de seguridad aplicables5.1 El problema de la seguridad

  • *Diferencias Seguridad - Integridad:Seguridad: proteccin de datos contra revelacin, alteracin o destruccin no autorizadosAsegurar que los usuarios estn autorizados para hacer lo que quieren hacerIntegridad: exactitud o validez de datos (reflejo de la realidad)Asegurar que lo que los usuarios tratan de hacer es correcto, y Evitar la prdida accidental de la consistencia

    Similitudes Seguridad - Integridad:El sistema debe conocer las restricciones, tanto de seguridad como de integridad, que los usuarios no deben violarEl SGBD debe supervisar la interaccin de cada usuario con la BD, para controlar el cumplimiento de las restriccionesRestricciones especificadas en un lenguaje apropiado (LDD)Y son almacenadas y mantenidas en el INFORMATION_SCHEMA del catlogo5.1 El problema de la seguridad

  • *Se debe evitar el acceso al propio sistema de BD por parte de usuarios no autorizadosControl de acceso globalAdems se debe permitir que los usuarios, una vez conectados a la BD, puedan acceder a ciertas porciones sin tener acceso al restoControl de acceso obligatorioControl de acceso discrecionalUn SGBD moderno suele implementar uno de estos mecanismos de seguridad, o los dosMediante estos mecanismos se puede especificar...qu usuarios tienen acceso a qu datos, e incluso qu operaciones pueden realizar sobre dichos datos5.2 Control de acceso

  • *El administrador de la base de datos, ABD, es la autoridad central responsable de la seguridad global del sistema de bases de datos

    Dispone de una cuenta de bases de datos privilegiada o de sistema, con capacidades extraordinarias, desde la que puede...Crear y eliminar cuentas de usuario para acceso a la base de datosConceder y cancelar privilegios a (cuentas de) usuariosAsignar datos a niveles de seguridadAsignar cuentas de usuario a niveles de seguridad o acreditacin5.2 Control de accesoControl GlobalControl DiscrecionalControl Obligatorio

  • *Evitar que personal no autorizado acceda al sistema de BDPuesto en prctica mediante creacin, por parte del ABD, de cuentas de usuario de BD con contraseasImplementacinTabla cifrada con dos columnas: cuenta y contraseaAlmacenada en el INFORMATION_SCHEMA del catlogo y mantenida por el SGBD Autenticacin de usuariosPara entrar al sistema, el usuario indica al SGBD su cuenta y contraseaUna vez que el SGBD valida esos datos, el usuario puede acceder a la informacin almacenada en la BD

    un programa de aplicacin puede ser un usuario (puede exigrsele contrasea)5.2.1 Control de acceso global

  • *Supervisin de toda operacin realizada por cada usuario en cada sesin de trabajo:Cuando el usuario entra al sistema, el SGBD asocia su cuenta al puesto (equipo o terminal) desde el que se conectaToda operacin desde ese puesto se atribuye a la cuenta del usuario, hasta que ste sale del sistema

    Si se realiza una operacin ilegal o no autorizada sobre la BD, el ABD podr determinar quin lo hizo

    Seguimiento de Auditora (apartado 4)

    5.2.1 Control de acceso global

  • *Para establecer una seguridad multinivelExiste la necesidad de este tipo de seguridad en aplicaciones gubernamentales, militares, de espionaje, de algunas grandes industrias y corporaciones...Se suele combinar con el control de acceso discrecionalAunque la mayora de SGBD slo ofrecen el discrecionalClasificacin de los datos y usuarios en niveles de seguridadCada objeto de datos es etiquetado con un nivel de seguridad Cada usuario se asigna a un nivel de acreditacinCada objeto de datos puede ser accedido slo por usuarios con la acreditacin apropiada5.2.2 Control de acceso obligatorio

  • *Niveles de seguridadTS (top secret)secreto mximo o alto secretoS (secret) secretoC (confidential) confidencialU (unclassified) no clasificado

    Modelo de seguridad multinivelAsigna a cada sujeto (usuario o cuenta, o programa) y a cada objeto (tabla, fila, columna, vista) un nivel de seguridad (TS, S, C, U)

    Restricciones de acceso:un sujeto S puede leer el objeto O si nivel(S) nivel(O)un sujeto S puede escribir el objeto O si nivel(S) = nivel(O)5.2.2 Control de acceso obligatorio

  • *Soportado por la mayora de los SGBD comerciales (Oracle)Basado en privilegios Un privilegio es un derecho de acceso o autorizacin para realizar determinada operacin sobre ciertos objetos de BDUn usuario puede tener diversos privilegios sobre distintos objetosPrivilegio SELECT sobre las tablas PELICULA, DIRECTOR y ACTORDiferentes usuarios pueden tener privilegios distintos sobre un mismo objetoU1 con privilegios SELECT, INSERT y DELETE sobre PELICULA, mientras que U2 tiene slo el privilegio SELECTClases de privilegiosPrivilegios de nivel de cuenta yPrivilegios de nivel de objeto de base de datos5.2.3 Control de acceso discrecional

  • *Privilegios particulares de cada usuario (cuenta), independientemente de los objetos de BD existentesTipos de privilegiosCREATE SCHEMA, DROP SCHEMA,CREATE TABLE, ALTER TABLE, DROP TABLE,CREATE VIEW, DROP VIEW,CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN,CREATE ASSERTION, DROP ASSERTION,SELECT, INSERT, UPDATE, DELETE (sobre cualquier tabla)No estn definidos en el estndar SQL-92, sino que son especficos de cada SGBD comercial particular5.2.3 Control de acceso discrecionalPrivilegios de nivel de cuentaPrivilegios de nivel de objeto de BDPermiten especificar qu usuarios tienen qu privilegios sobre qu objetos concretos Estn definidos en el estndar SQL-92

  • *Propietario de un objeto de base de datosEl usuario que lo ha creado (= cuenta de BD en la que fue creado)Posee todos los privilegios (posibles) sobre el objeto,y capacidad de conceder tales privilegios a otros usuarios (GRANT)e incluso propagar dicha capacidad de concesin (GRANT OPTION)

    Concesin de privilegios (de nivel de objeto)GRANT ON TO [ WITH GRANT OPTION ]Especifica qu operaciones pueden realizar sobre qu objetos ciertos usuariosGRANT SELECT ON Fotografo TO julia;GRANT UPDATE(cuota) ON Editorial TO julia, ruben;GRANT INSERT ON Reportaje TO cristina WITH GRANT OPTION;GRANT DELETE ON Exclusiva TO eva;5.3 Seguridad en SQL-92

  • *SELECTver toda columna de cierta tabla, incluso si ha sido aadida despus de haber sido creada. NO ES POSIBLE INDICAR SLO ALGUNAS COLUMNA.UPDATEsobre una tabla concreta, quiz de slo algunas columnasINSERT sobre una tabla concreta, quiz con valores para slo algunas columnasDELETEfilas de cierta tablaREFERENCES permite hacer referencia a (columnas concretas de) cierta tabla mediante Restricciones de Integridad de cualquier tipo, no slo RI ReferencialUSAGEuso de ciertos dominiosALL PRIVILEGEStodos los que tiene sobre el objeto el usuario que concede (que ejecuta GRANT)5.3 Seguridad en SQL-92Tipos de privilegios (de nivel de objeto)

  • *Modelo de Matriz de Acceso

    M(usuario_i,objeto_j)=conjunto de privilegios del usuario_i sobre objeto_j La fila usuario_i es el perfil del usuario usuario_i5.3 Seguridad en SQL-92

    Mobjeto_1objeto_2objeto_3usuario_1noneSELECTALLusuario_2SELECTUPDATESELECTDELETEUPDATEusuario_3nonenoneSELECTusuario_4ALLALLALL

  • *Cancelacin de privilegios (nivel de objeto)REVOKE [GRANT OPTION FOR] ON FROM { RESTRICT | CASCADE }

    Tambin revocacin o denegacin de privilegiosLa opcin RESTRICT | CASCADE la veremos ms adelante

    REVOKE SELECT ON Fotografo FROM julia;REVOKE UPDATE ON Editorial FROM julia, ruben;REVOKE INSERT ON Reportaje FROM cristina;REVOKE DELETE ON Exclusiva FROM eva;

    REVOKE ALL PRIVILEGES ON FROM Cancela todos los privilegios que el usuario que ejecuta la sentencia concedi a los sujetos indicados en el FROM5.3 Seguridad en SQL-92

  • *El usuario u1 es propietario de la tabla R(a1,a2,a3,a4,a5)Si u1 desea que otro usuario u2 pueda leer slo algunas columnas a1,a2,a3 de RCREATE VIEW V AS SELECT a1, a2, a3 FROM R;GRANT SELECT ON V TO u2;Si u1 desea que u2 lea slo algunas filas de R, las que satisfacen cierta condicin QCREATE VIEW W AS SELECT * FROM R WHERE Q;GRANT SELECT ON W TO u2;

    Para poder crear una vista, el usuario debe poseer el privilegio SELECT sobre cada tabla base de la vista, adems del privilegio de cuenta CREATE VIEW5.3 Seguridad en SQL-92Uso de vistas como mecanismo de seguridad

  • *Cuando u1, propietario de una tabla R, concede privilegios sobre R a otro usuario u2, tambin puede darle la opcin de otorgar dichos privilegios a tercerosGRANT SELECT, INSERT ON R TO u2 WITH GRANT OPTION;A partir de ese momento, u2 podr conceder esos privilegios sobre R a otras cuentas de usuario propagacin de privilegiosEl SGBD mantiene la pista de la concesin y propagacin de privilegios entre los usuarios5.3 Seguridad en SQL-92Propagacin de privilegios

  • *Revocar la GRANT OPTION de cierto privilegio a u2 no le cancela dicho privilegio, pero evita que u2 lo propagueREVOKE GRANT OPTION FOR INSERT ON R FROM u2;Pero si u1 s revoca el privilegio concedido a u2, qu ocurre con los que u2 ya propag a partir de la concesin? Privilegios abandonados (no aplicables) Y si el propietario de una vista V pierde el privilegio SELECT sobre alguna de las tablas base de VVista abandonada (no vlida, no puede utilizarse)5.3 Seguridad en SQL-92Propagacin de privilegios (2)

  • *Cuando un usuario revoca privilegios, indica una de estas opciones...CASCADEel SGBD revocar automticamente todos los privilegios que quedaran abandonados yeliminar las vistas que quedaran abandonadasRESTRICTel SGBD no revocar un privilegio si ello dejara privilegios o vistas abandonadoses la opcin por omisin

    REVOKE SELECT ON Fotografo FROM julia CASCADE;REVOKE INSERT ON Reportaje FROM cristina RESTRICT;

    5.3 Seguridad en SQL-92Propagacin de privilegios (3)

  • *La revocacin completa y correcta de privilegios slo se conseguir si el SGBD sigue la pista de la concesin y propagacin de privilegios

    Un usuario puede recibir un mismo privilegio desde varios usuarios. Slo lo perder si se lo revocan todos ellos

    Eliminar un objeto (dominio, tabla, columna o vista), revoca automticamente todo privilegio sobre el objeto eliminado, en todos los usuarios5.3 Seguridad en SQL-92Propagacin de privilegios (y 4)

  • *Necesario si los datos son muy delicados, o el procesamiento realizado con ellos es crticoConsiste en mantener un fichero especial donde el sistema registra de forma automtica, toda interaccin de los usuarios con la informacin almacenada en la base de datosEl seguimiento de auditora permite ...Verificar que todo est en ordenDescubrir si alguien ha accedido de forma ilegal, o ha realizado operaciones sin autorizacin

    5.4 Otros aspectos de seguridadSeguimiento de auditora

  • *Cada entrada en el fichero de auditora podra contener...puesto o terminal desde la que se invoc la operacinusuario que solicit la operacinoperacin realizada (por ejemplo UPDATE)objetos afectados: base de datos, tablas (ficheros), filas (registros) y columnas (campos)fecha y hora de la operacin

    En muchos casos, el hecho de mantener un seguimiento de auditora basta para desanimar a posibles espas5.4 Otros aspectos de seguridadSeguimiento de auditora (y 2)

  • *Para proteger datos confidenciales...transmitidos por satlite o cualquier tipo de red de comunicacionesalmacenados en la BD ( proteccin de reas de la BD)Esquema de cifrado...Clave de cifrado secretaAlgoritmo de cifrado pblico o secretoEl texto cifrado se transmite o almacenay es ininteligible para quien no dispone de la claveProblema... Para un infiltrado o intruso, cul esla dificultad para encontrar la clave, comparando textos planos y los textoscifrados correspondientes?

    5.4 Otros aspectos de seguridadCifrado de los datos

  • *Debe tomarse la precaucin de cambiar la clave secreta de forma peridicaPunto dbil: dnde almacenar la clave? y si las lneas de comunicacin para intercambiar la clave no son seguras?Cifrado de clave pblicaEl algoritmo de cifrado pblico o secretoClave de cifrado (del destinatario) pblicaClave de descifrado (del destinatario) secretaNinguna puede deducirse de la otraIncluso el que cifra puede ser incapaz de recuperar el texto plano si desconoce la clave de descifradoEl cifrado de los datos reduce el rendimiento del sistemaEl SGBD debe decodificar/codificar los datos manejados5.4 Otros aspectos de seguridadCifrado de los datos (y 2)

    Legal: prescrito por la ley y conforme a ella; perteneciente o relativo a la ley o al derecho. Ejemplo: ley de proteccin de datos.tico: perteneciente o relativo a la tica (conjunto de normas morales que rigen la conducta humana).La seguridad en el nivel de la Red ha logrado un amplio reconocimiento a medida que Internet a pasado de ser una plataforma para la investigacin acadmica a convertirse en la base del comercio electrnico internacional.Usuario = persona o programa Objeto de datos = tabla, vista, procedimiento, dominio, regla de integridad...

    Discrecional (de discrecin): que se hace libre y prudencialmente.Hablar de las cuentas de ABD denominadas SYS y SYSTEM en un SGBDR Oracle.Es necesario que el usuario tenga el permiso de usar la base de datos, es decir, hay que autenticar al usuario: verificar que slo entran en el sistema de base de datos aquellos a quienes se les dio permiso.

    Sesin de trabajo: intervalo desde que el usuario se conecta al sistema, hasta que sale del mismo.Para llevar a cabo este Seguimiento de Auditora, se puede ampliar la estructura de las entradas del fichero de bitcora, para que incluyan el nombre de la cuenta de usuario y la terminal desde la que se realiz cada operacin.Si se sospecha que se ha realizado una operacin indebida en la BD, se efecta una auditora: examinar el fichero bitcora para ver los accesos y operaciones aplicadas a la BD durante cierto perodo de tiempo. Cuando se encuentra una operacin ilegal o no autorizada, el ABD puede determinar la cuenta desde la que se realiz.Es una tcnica compleja, pero la estudiaremos de manera superficial.Este modelo de seguridad es conocido como Modelo Bell La Padula.Otra forma de establecer la 2 restriccin es decir que, por definicin, cualquier dato O escrito por un sujeto S adquiere un nivel de seguridad igual o mayor que el de S. Es decir nivel(S) nivel(O)Esta regla es necesaria para evitar que un usuario con nivel de seguridad S, por ejemplo, copie datos secretos hacia un archivo con nivel menor, quiz U.En [Date 2000] pg. 512 argumenta que la 2 restriccin de acceso, con el , es suficiente para escrituras puras (insert). Pero para las dems (update, delete) es necesario utilizar un = en lugar de un , para evitar que los usuarios puedan modificar datos que no podran leer.En Oracle a los de nivel de cuenta se les denomina privilegios de sistema

    Ntese que no es posible conceder el privilegio de lectura SELECT sobre slo algunas columnas de una tabla.REFERENCES es un privilegio que se le puede otorgar a un usuario que necesita crear una RI sobre la tabla T, pero al que no queremos dar privilegio de SELECT sobre T. Por ejemplo, para crear la RI el nmero total de empleados debe ser superior a 4 se necesita privilegio REFERENCES al menos sobre una de las columnas de la tabla EMPLEADOLa concesin y revocacin de privilegios sigue un modelo de autorizacin para privilegios discrecionales denominado Modelo de Matriz de Acceso, donde las filas representan sujetos (usuarios, cuentas, programas) y las columnas representan objetos (tablas, filas, columnas, vistas).Cada posicin de la matriz representa los tipos de privilegios que cada usuario tiene para cada objeto.Ntese que si bien los privilegios UPDATE e INSERT se pueden conceder slo sobre algunas columnas de una tabla, es necesario revocarlos de forma global o completa.Si u1 desea que otro usuario u2 pueda leer slo algunas columnas a1,a2,a3 de Ru1 crea una vista V de R con slo esas columnas y concede a u2 el privilegio SELECT sobre VSi u1 desea que u2 lea slo algunas filas de R, las que satisfacen cierta condicin Qu1 crea una vista W de R, definida con una consulta que selecciona slo las filas de R que puede ver u2, y otorga a u2 el privilegio SELECT sobre W

    Nota importante: Si un usuario crea una vista V a partir de una tabla T, sobre la cual slo tiene privilegio SELECT, entonces slo podr consultar la vista V, pero no modificarla, aunque el usuario sea el propietario de la vista (esto ocurre porque el usuario no tiene privilegio UPDATE sobre la tabla base de la vista).En Oracle9i Si u1 concede a u2 (adems de ciertos privilegios) la opcin de concesin (WITH GRANT OPTION) sobre una tabla T1, u2 puede, a su vez, conceder dicha opcin de concesin a terceros (adems de los privilegios).u1:GRANT SELECT ON T1 TO u2 WITH GRANT OPTION;u2:SELECT * FROM u1.T1; GRANT SELECT ON u1.T1 TO u3 WITH GRANT OPTION;u3:SELECT * FROM u1.T1; GRANT SELECT ON u1.T1 TO u4;Si u1 concede a u2 el permiso SELECT sobre cierta tabla u1.T1, pero no le otorga la opcin de concesin, entonces u2 slo puede leer dicha tabla. As, es posible que u2 cree una vista V2 sobre u1.T1, por ejemplo una que deje ver toda la tabla T1. Puesto que la vista es propiedad de u2, en principio ste puede conceder a otros el permiso de lectura sobre la vista, de modo que permita a terceros ver el contenido de la tabla T1 (esto sera, en cierto modo, una simulacin de la propagacin de la opcin de concesin, que no fue concedida por u1 a u2) Es esto posible en Oracle? Pues NO. Ejemplo del cdigo que ejecutara u2 en SQL*Plus:SQL> CREATE VIEW V2 AS SELECT * FROM U1.T1 ;Vista creada.SQL> GRANT SELECT ON V2 TO U3 ;GRANT SELECT ON V2 TO U3 *ERROR en lnea 1:ORA-01720: la opcin Otorgar no existe para U1.T1

    Ntese que slo se desea eliminar la opcin de propagacin para el privilegio INSERT y no para el de SELECT.En Oracle no es posible revocar slo la opcin de concesin (GRANT OPTION) para un privilegio, sino que ser necesario revocar dicho privilegio; si no se desea que el usuario destino pierda el privilegio en cuestin, habr que volvrselo a conceder inmediatamente despus (sin WITH GRANT OPTION, claro).Si se revoca un privilegio a un usuario, Oracle elimina dicho privilegio del dominio de privilegios del usuario. As, de forma inmediataEl usuario ya no puede ejercer dicho privilegio. Si el usuario ha propagado dicho privilegio a otros usuarios o roles, Oracle tambin revoca el privilegio a esos otros usuarios y roles (o sea, Oracle automticamente elimina los privilegios abandonados, es la opcin CASCADE).Si el esquema del usuario contiene procedimientos, funciones o paquetes que contienen sentencias SQL que hacen uso del privilegio, entonces dichos procedimientos, funciones y paquetes ya no pueden ser ejecutados.Si el esquema del usuario contiene una vista cuya consulta de definicin necesita utilizar el privilegio, Oracle invalida la vista (o sea, Oracle automticamente elimina las vistas abandonadas, es la opcin CASCADE).En Oracle tambin es posible que varios usuarios proporcionen el mismo privilegio a un mismo usuario (o rol o PUBLIC), por lo que ste no lo perder hasta que se lo revoquen todos los que se lo concedieron.Para llevar a cabo este control, se puede utilizar un fichero de auditora (o bien ampliar la estructura de las entradas del fichero de BITCORA --ojo: el mismo que se usa para control de concurrencia y recuperacin), en el que se anota cada operacin realizada contra la BD incluyendo el nombre de la cuenta de usuario y la terminal desde la que se realiz dicha operacin.Si se sospecha que se ha realizado una operacin indebida en la BD, se efecta una auditora: examinar el fichero de auditora para ver los accesos y operaciones aplicadas a la BD durante cierto perodo de tiempo. Cuando se encuentra una operacin ilegal o no autorizada, el ABD puede determinar la cuenta desde la que se realiz.

    Oracle guarda los registros de auditora en el Audit Trail (Rastro de Auditora), que es una tabla que puede ser examinada a travs de las vistas del Diccionario de Datos.Oracle puede hacer varios tipos de seguimiento de auditora: de sentencias especficas, de sentencias ejecutadas por determinado usuario, o de sentencias ejecutadas sobre objetos concretos.Para todos los tipos se puede especificar si se desea que se genere un registro de auditora por cada sentencia u operacin auditada ejecutada (BY ACCESS, opcin por defecto), o bien un registro que agrupe todas las sentencias u operaciones del mismo tipo ejecutadas sobre los mismos objetos en la misma sesin (BY SESSION).Y adems se puede elegir si auditar slo las sentencias y operaciones que tienen xito (WHENEVER SUCCESSFULL) o slo las que fallan o generan algn error (WHENEVER NOT SUCCESSFULL) , o bien todas (opcin por defecto).

    Originalmente, el primer punto era este:Cada entrada en el fichero de auditora podra contener...operacin realizada (por ejemplo UPDATE)puesto o terminal desde la que se invoc la operacinusuario que solicit la operacinfecha y hora de la operacinobjetos afectados: base de datos, tablas (ficheros), filas (registros) y columnas (campos)valor anterior de los datosnuevo valor de los datosPero he eliminado los dos ltimos datos (valor antiguo y nuevo) debido a que Oracle9i, por ejemplo, no almacena dicha informacin cuando anota un registro de auditora.De hecho, Oracle genera un registro de auditora para cada operacin auditada con la siguiente informacin: Usuario. Identificador de sesin y terminal. Nombre del esquema accedido. Operacin. Cdigo de operacin. Fecha y hora.Puede que las diferentes medidas para la autorizacin que permita establecer un sistema de bases de datos no proporcionen suficiente proteccin para los datos extremadamente delicados. En ese caso, se puede cifrar los datos almacenados en la base de datos.

    El cifrado de los datos protege de los ataques que tratan de acceder al sistema dejando de lado al propio sistema, por ejemplo interviniendo una lnea de comunicacin o eliminando fsicamente parte de la BD en disco.[Date 2000] pgina 520.[SKS 2002] pgina 155.

    El esquema de cifrado simtrico (o de clave compartida) explicado en la diapositiva corresponde al esquema Data Encryption Standard (DES), desarrollado por IBM.El cifrado de clave pblica es un esquema asimtrico.Cada usuario dispone de dos claves: una de cifrado pblica y otra de descifrado secreta. Si U1 quiere compartir datos con U2 de forma segura, los encripta utilizando la clave de cifrado (pblica) de U2, para que ste, al recibirlos, pueda descifrarlos con su propia (y secreta) clave de descifrado.En general, los esquemas simtricos son mucho ms rpidos que los asimtricos. Sin embargo, en la prctica, suelen utilizarse conjuntamente: un algoritmo de clave pblica se utiliza para encriptar una clave de cifrado generada de forma aleatoria, la cual se utiliza para cifrar el mensaje utilizando un algoritmo simtrico.