Seguridad en bases de datos

2,382 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,382
On SlideShare
0
From Embeds
0
Number of Embeds
91
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Seguridad en bases de datos

  1. 1. Administración de seguridad en bases de datos<br />Decodificación y encriptación<br />http://en.wikipedia.org/wiki/Database_security<br />
  2. 2. 2<br />El balance de la políticas de seguridad<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  3. 3. 3<br />Confidencialidad<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  4. 4. 4<br />Integridad<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  5. 5. 5<br />Disponibilidad<br />Los sistemas deben estar siempre disponibles para los usuarios autorizados<br />El sistemas determina que puede hacer un usuario con la información<br />
  6. 6. 6<br />Disponibilidad<br />Razones para que un sistema deje de estar disponible:<br />Ataques externos y falta de protección del sistema.<br />Fallo del sistema sin una estrategia de recuperación ante desastres.<br />Políticas de seguridad muy estrictas <br />Un mala gestión de los procesos de autenticación.<br />
  7. 7. 7<br />La encriptación para que sirve<br />Confidencialidad<br />Evitarque la información sea accesada sin ningúnpermiso.<br />La informacióndebe se ilegiblepara los que no tieneautorización.<br />Bases de datos confidenciales<br />Redes confiables<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  8. 8. 8<br />Encriptar<br />Notaciónmatemática:<br />p – mensaje en textoplano(leíble)<br />c – textocifrado(no leíble!)<br />k – clave de cifrado<br />(solamenteconocidopor personal autorizado)<br />E – Funciónde encriptaciónc = E(p, k)<br />D – Funciónde decencriptaciónp = D(c, k)<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  9. 9. 9<br />Clave simétrica<br />La misma clave kSse utilizaparaenviar y recibir<br />Digital Encryption Standard (DES y 3DES)<br />Advanced Encryption Standard (AES)<br />Muchosotros…<br />Muy rápidos, adecuados para cifrar grandes<br />volúmenes de datos<br />E<br />D<br />p<br />c<br />p<br />kS<br />kS<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  10. 10. 10<br />Encriptación de clave pública<br />Diferentes clavesparaenviar y recibir<br />El envíotieneunaclave públicakPUusadaparaencriptar los datos<br />kPUesconocidaporcualquiera<br />La recepcióntieneunaclave privadakPRusadaparadesencriptar los datos<br />No se puededeterminarkPR de kPU<br />Este método es más lentos, adecuados para:<br />Autenticación<br />Distribución de claves de sesión<br />Firmas digitales<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  11. 11. 11<br />Remplazando claves en la red<br />Fácilde remplazar claves perdidas en red (transmisión)<br />Unapérdida de unasesiónde clave simétrica:debereenviarse con otra clave<br />Pérdidaclave privada en Encriptación de clave pública: se debegenerarotray poner unnuevocertificado<br />“reintento con Ks2”<br />Epublica (KS2, KPU)<br />Ks2<br />E<br />D<br />Ks2<br />P<br />P<br />Esimetrica (P, KS)<br />D<br />E<br />Nuevo<br />Nuevo<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  12. 12. 12<br />Remplazando claves en bases de datos<br />La informaciónencriptadaen la bases de datos con una o mas claves.<br />Las claves son almacenadasporlargo tiempo<br />El tiempo de vida de las claves = tiempo de vida de la DB<br />Si se pierde la clave, se pierde la información en la base de datos!<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  13. 13. 13<br />Claves en aplicaciones y bases de datos<br />Las aplicacionesdebenpoderaccederrápidamentea la información(textoplano) en la BD<br />Las claves no puedenseraccesiblesporusuarios no autorizados<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  14. 14. 14<br />Encriptación en para bases de datos: Malas ideas<br />Claves embebidasdentro de la aplicaciónqueaccede a la base de datos<br />Fácilpor el adversarioextractar la clave de unaaplicacióno hardware queejecuta la aplicación<br />Cambios de claves requierencambiartoda la aplicación<br />Aplicación<br />Aplicación<br />Aplicación<br />“ya tengo el control!”<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  15. 15. 15<br />Encriptación en para bases de datos: Malas ideas<br />Encriptartoda la base de datos con una clave<br />El acceso a un solo registrorequierecifrar y desencriptartoda la base de datos.<br />Demasiadotiempoparagrandesvolúmenes de datos.<br />Exponetodala base de datosa un potencial de observación.<br />JOSÉ CUARTAS<br />BASES DE DATOS<br />
  16. 16. 16<br />Arquitectura global<br />Toda la encriptación y desencriptacióndeberealizarseporunasola aplicacioncriptográficaojala en unamaquinasolo dedicada a procesos criptográficos.<br />TodaslasClavesalmacenadas de maneraseguraen un “Baúl de claves”(en unamaquinasolamentededicada a esto).<br />Registrosde camposindividualesencriptados en lugar de toda la base de datos<br />registros <br />registros<br />Aplicacióncriptográfica<br />aplicación<br />Baúl de claves<br />base de datos encriptada<br />
  17. 17. 17<br />Encriptación basada en registros<br />Diferentescampos en la base de datosencriptados con diferentes claves<br />Permitediferentesniveles de seguridadpara los diferentestipos de información<br />Seguridad moderada: 192-bit 3DES key Cambiadas cada mes<br />Seguridad alta: <br />256-bit AES key cambiadas cada semana<br />Baja seguridad: no encriptado<br />
  18. 18. 18<br />Encriptación basada en registros<br />Nuevo valor en la aplicación(compraspor internet tarjeta de crédito)<br />Aplicaciónenvía el valor + nombredelcampo al criptosistema<br />El criptosistemaobtienedel baúlde claves la clave apropiadapara el campo y luegoencriptael valor.<br />El criptosistemaretorna el valor encriptado+ recibido<br />La aplicaciónalmacena el valor encriptado + recibo en la base de datos<br />Nuevo valor del campo<br />Aplicacióncriptográfica<br />aplicación<br />Baúlde claves<br />Valor encriptado + recibo<br />Valor encriptado + recibo<br />Nuevo valor<br />
  19. 19. 19<br />Recibos de encriptación<br />Los reciboscontienenID de la clave usadaparacifrar, No la clave actual!<br />Tambiénpuedencontenerotra metadata como la fecha de caducidad<br />Son almacenadosen la base de datos con el valor encriptado<br />Usadosparadeterminarque clavese utilizaparadesencriptar<br />
  20. 20. 20<br />Desencritación del registro de la base de datos<br />Se ingresa el valor que se desea en la aplicación<br />La aplicaciónretorna el valor encriptado + el recibo de la base de datos<br />El criptosistemaobtiene la clave de desecriptación con el id del recibo del baúlde claves.<br />El criptosistemaretorna el valor desencriptado a la aplicación<br />Valor desencriptado<br />Aplicacióncriptográfica<br />Baúlde claves<br />aplicación<br />Valor desencirptado de campo<br />Valor de campo encriptado+ recibo<br />Valor de campo encriptado+ recibo<br />
  21. 21. 21<br />Las claves<br />Existen cuatro motivos por el cual se debe establecer una política de gestión de claves en toda red de comunicaciones:<br />No existe seguridad perfecta por tanto se recomienda renovar las claves frecuentemente.<br />Se debe emplear claves diferentes para diferentes tareas.<br />Proveer claves distintas a diferentes clientes.<br />Anular las claves de clientes que han cesado en sus privilegios.<br />
  22. 22. 22<br />Seguridadpara el baúl de claves<br />Claves almacenadas en el mismohardwarecomo un criptosistema(computaciónconfiable)<br />Impide la escucha de claves<br />Claves encriptadas en cualquieralmacenamiento no volátil<br />En caso de robo de la maquinafísica no se puedeobtenerlas claves<br />“No poder leer”<br />
  23. 23. 23<br />Clave maestra<br />Usadopor el criptosistemaparadesencriptarlas claves<br />La Clave maestranunca se almacena el valor en unamemoria no volátilcomo el disco duro<br />Se almacenan en un sistema mas seguro.<br />Generalmente se divide en dos partesparamaximizarsuseguridad<br />Generadoraleatorio “mascara” Kmask<br />XOR con la actual clave maestraKmaster se creauna clave Kstored<br />Las claves Kmasky Kstoredalamcenadaseparadamente<br />La combinación de Kstored Kmask= Kmaster da la clave maestra<br />Kmask<br />Baúlde claves<br />Aplicacióncriptográfica<br />MemoriavolatilKmaster<br />Kstored<br /><br />
  24. 24. 24<br />Migración de claves<br />La claves de bases de datosdebeser de duraciónlimitada<br />Largo usoproblemas de seguridad<br />Rápidoscambios= menosdañossi la clave escomprometida<br />Componentesgenerales:<br />Inicio: Fecha en la cual la clave se empieza a utilizarparacifrar o descifrar<br />Retiro: Fecha en la cual la migraciòn de la clave comienza<br />La clave esutilizada solo paradesencriptar<br />Expiración: Fecha en la cual la clave no se puedeutilizar<br />
  25. 25. 25<br />Migración de claves<br />Solamentelas claves activas son usadaspara la encriptación<br />Los registrosquepasenpor el criptosistema se desencriptan con la clave en proceso de retiroy automáticamente se re-encriptan con una clave activa<br />Forzar la migración de registros no consultados<br />Para todos los campos con un reciboquecontenganuna clave queyaaspiro<br />Desencriptar /re-encriptar con el criptosistema<br />4/2<br />4/9<br />4/12<br />c844<br />activos<br />migración<br />4/5<br />4/12<br />4/15<br />c845<br />activos<br />migración<br />
  26. 26. 26<br />Backup de las claves<br />Deberealizar backup o respaldos de baúl de claves regularmente<br />Como mínimo, cadavezque se adicionaunanueva clave al baúl<br />En caso de tenermultiplesbackups, papel o electrónicos<br />Las copias de seguridad sólo debe tener la versión cifrada de claves<br />De lo contrarioserianvulnerablesa la observación<br />Deberealizarrespaldos de claves maestrasseparadamente<br />Se puedecifrar la versión del backup con diferentes claves, lascuales son almacenadasseparadamente<br />Backup<br />papel<br />Baúlde claves<br />Aplicacióncriptográfica<br />Backup<br />electronico<br />backup<br />

×