Administración de seguridad en bases de
datos
Decodificación y encriptación en el ALMACENAMIENTO de informaciónh
ttp
://d
ato
sin
ten
sos.
blo
gsp
ot.
com
/ http
://dato
sinten
sos.b
log
spo
t.com
/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
2
Seguridad de los datos en sistemas de almacenamiento:
La encriptación para que sirve
• Confidencialidad– Evitar que la información sea accesada sin ningún
permiso.– La información debe ser legible para los que son
autorizados.
Bases de datos confidenciales
BASES DE DATOSJOSÉ CUARTAS
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
3
Notación matemática:p – mensaje en texto plano (Legible)c – texto cifrado(no leible!)k – clave de cifrado (conocido solo por personal autorizado)
E – Función de encriptación c = E(p, k) D – Función de decencriptación p = D(c, k)
BASES DE DATOSJOSÉ CUARTAS
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
Seguridad de los datos en sistemas de almacenamiento:
Que es la encriptación
4
Seguridad de los datos en sistemas de almacenamiento:Cifrado simétrico
La misma clave kS se utiliza para enviar y recibir– Digital Encryption Standard (DES y 3DES)– Advanced Encryption Standard (AES)– Muchos otros…
BASES DE DATOSJOSÉ CUARTAS
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
5
Seguridad de los datos en sistemas de almacenamiento:
Cifrado asimétrico(clave pública)
Diferentes claves para enviar y recibir– El envío tiene una clave pública kPU usada para
encriptar los datos• kPU es conocida por cualquier entidad o persona
– La recepción tiene otra clave privada kPR usada para desencriptar los datos.
– No se puede determinar kPR de kPU
BASES DE DATOSJOSÉ CUARTAS
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
6
Seguridad de los datos en sistemas de almacenamiento:
Cifrado asimétrico(clave pública)
BASES DE DATOSJOSÉ CUARTAS
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
7
Seguridad de los datos en sistemas de almacenamiento:
MALAS IDEAS
• Embedir las claves internamente en la aplicación que consulta a la base de datos.– Es más “fácil” para él atacante extraer la clave de
una aplicación.– Los cambios de claves requieren cambiar toda la
aplicación.
“ya tengo el control!”
Aplicación
Aplicación
BASES DE DATOSJOSÉ CUARTAS
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
8
• Encriptar toda la base de datos con una clave
– El acceso a un solo registro requiere encriptar y desencriptar toda la base de datos.
• Demasiado tiempo para procesar grandes cantidades de datos.
• Se expone toda la base de datos a una potencial observación.
BASES DE DATOSJOSÉ CUARTAS
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
Seguridad de los datos en sistemas de almacenamiento:
MALAS IDEAS
9
Seguridad de los datos en sistemas de almacenamiento: ARQUITECTURA
• El proceso criptográfico lo realiza una aplicación criptográfica.– Ojala una máquina solamente dedicada a este proceso
• Las claves para encriptar o desencriptar se almacenan de forma segura(encriptadas) en un baúl de claves. – Ojala una máquina solamente dedicada a esto.
• Se debe encriptar los registros de campos individuales de una tabla en lugar de toda la base de datos.– Diferentes métodos de encriptación para los diferentes tipos de
de información.
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
10
Seguridad de los datos en sistemas de almacenamiento: ARQUITECTURA
Base de datos con registros encriptados
aplicación
Registros
Aplicación criptográfica
Baúl de claves
Registros
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
11
Seguridad de los datos en sistemas de almacenamiento:
Encriptación basada en registros• Diferentes campos en la base de datos encriptados con
diferentes claves.• Se implementan niveles de seguridad o métodos de
encriptación para los diferentes tipos de información
Nombre Telefono Tarjeta_de_credito
Jose 270-57-80 1111222233334444
natalia 4-22-78-49 5555666677778888
… … …
Baja seguridad: no encriptado
Seguridad moderada: 192-bit 3DES key Cambiadas cada mes
Seguridad alta:
256-bit AES key cambiadas cada semana
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
12
• Un nuevo dato es generado en la aplicación para almacenar en la DB – La tarjeta de crédito.
• La aplicación envía el valor al criptosistema más la columna del campo donde se almacenara el dato.
• El criptosistema obtiene la clave apropiada para la columna y encripta el valor.– Esta clave se obtiene del baúl de claves.
Encriptación basada en registrosProcedimiento de un almacenamiento
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
13
• El criptosistema retorna el valor encriptado más un acuse de recibido.– EL valor encriptado puede ser una firma digital del valor
encriptado.– El criptosistema entrega un acuse de recibo que tiene una
metadata como el método utilizado para encriptar .
• La aplicación almacena en la DB el valor encriptado o la firma digital más la información del acuse recibo.– La información del acuse de recibo se almacena en diferente
columna a la del valor encriptado.
Encriptación basada en registrosProcedimiento de un almacenamiento
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
14
Aplicación
Valor encriptado + recibo
Aplicación criptográfica
Baúl de claves
Nuevo valor
Nuevo valor del campo
Encriptación DB basada en registrosProcedimiento de un almacenamiento
Valor encriptado + acuse de recibo
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
Nombre Telefono Recibo_Tel Tarjeta_de_credito Recibo_TC
jose skdf0234rnef2 p32 045/sdfgm29 c845
natalia 8h5rqw;ernq3 p32 Nc9343f3r,38 c844
… … … …
15
Encriptación DB basada en registros Acuse de recibido para la encriptación
• El acuse de recibo contienen la siguiente información.– ID de la clave usada para encriptar( No la clave actual)!.– Otra metadata como la fecha de caducidad de la clave.
• Los datos almacenados en la DB son un valor encriptado.
• Los ID usados determinan cual clave se usa para desencriptar.
Nombre Telefono Recibo_Tel Tarjeta_de_credito Recibo_TC
jose skdf0234rnef2 p32 045/sdfgm29 c845
natalia 8h5rqw;ernq3 p32 Nc9343f3r,38 c844
… … … …
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
16
Desencriptación DB basada en registrosProcedimiento de consulta UNO
• Se ingresa el dato de una columna no encriptada en la aplicación. – Con este dato se consulta las columnas encriptadas de la DB .
• La DB devuelve el valor encriptado + el acuse recibo a la aplicación y la aplicación se lo entrega al criptosistema.
• El criptosistema consulta la clave con el id al baúl de claves.– El baúl devuelve la clave de desencriptación al criptosistema.
• El criptosistema retorna el valor desencriptado a la aplicación.– El criptosistema procesa el dato encriptado, este proceso se
realiza con la clave del baúl y el método de encriptación.
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
17
Desencriptación DB basada en registrosProcedimiento de consulta DOS
• Se ingresa el dato no encriptado para consultar en una columna encriptada en la aplicación.
• La aplicación le entrega la información al criptosistema.– El dato de consulta y la columna donde se realiza la consulta
• El criptosistema encripta el dato.– Consulta todos los acuse de recibo relacionados con la columna
encriptada.– El criptosistema obtiene(baúl de claves) todas las claves de los
id de acuse recibidos de la columna a consultar y encripta el dato con cada una de estas claves.
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
18
Desencriptación DB basada en registrosProcedimiento de consulta DOS
• El criptosistema compara el dato.– El criptosistema compara cada dato encriptado obtenido del
paso anterior con los datos de la columna encriptada.– Si uno de los datos es coincidente con un dato de un registro de
la columna, se consulta la clave primaria de la fila implicada.
• Con el dato de la clave primaria PK, se realiza el procedimento de consulta UNO.– Con la clave primaria se realizan operaciones de actulización ,
inserción y elimando en este tipo de tablas con datos encriptados.h
ttp
://d
ato
sin
ten
sos.
blo
gsp
ot.
com
/ http
://dato
sinten
sos.b
log
spo
t.com
/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
19
Valor de campo encriptado+ recibo
Valor desencriptado de campo
Valor desencriptado
Aplicación criptográfica
Baúl de claves
aplicación
Valor de campo encriptado+ recibo
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
Desencriptación DB basada en registrosProcedimiento de consulta
20
Seguridad en el baúl de claves
• Las claves son almacenadas en el mismo hardware como un criptosistema.– Se previene de ataques hombre en el medio a las claves.
• Las claves son encriptadas para cualquier almacenamiento no volatil, como el disco duro.– Esto evita conocer la clave ante hurto del equipo
ID_clave Valor_clave_encriptado campo …
p32 Up204thf2-05h Telefono
c845 Kdfg3[045taqrogn[39-45tsd Tarjeta_credito
c846 Vmp405h82[-35ut1-49uf12 Tarjeta_credito
… … … …
“No se puede leer”
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/ h
ttp://d
atosin
tenso
s.blo
gsp
ot.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
21
TIPSClave maestra
• La clave maestra es utilizada por el cryptosistema para desencriptar las claves.– Las claves maestras o claves desencriptadas nunca deben estar
en la memoria no volatil
• Su almacenamiento debe ser indepentiende y seguro• La clave maestra usualmente se compone de dos partes,
generando una maxima seguridad.– Generar una mascara aleatoria Kmask
– Realizar un XOR con la clave maestra Kmaster creando una clave de almacenamiento Kstored
– Las claves Kmask y Kstored son almacenadas separadamente.
– Combinar las claves Kmaster = Kstored Kmask cuando es necesaria(sistema reversible).
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
http
://dato
sinten
sos.b
log
spo
t.com
/
22
TIPSClave maestra
Aplicación
Criptográfica
Baúl de claves
Memoria volatil Kmaster
Kmask
Kstored
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
http
://dato
sinten
sos.b
log
spo
t.com
/
23
• Las claves deben tener un tiempo de vida limitado.– Claves con largo uso incrementa la posibilidad de un ataque
exitoso– Rapidos cambio de clave = menos daños si la clave es
comprometida
• Manejo de campos con tiempos de inicio, migracion y expiración, para la administración de claves del baúl.
Migración de clavesh
ttp
://d
ato
sin
ten
sos.
blo
gsp
ot.
com
/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
http
://dato
sinten
sos.b
log
spo
t.com
/
24
ID_CLAVE … Fecha_INICIAL Fecha_MIGRACION Fecha_EXPIRACION
p32 … 10/3/2014 10/4/2014 24/4/2014
c845 … 2/4/2014 9/4/2014 12/4/2014
c846 … 7/4/2014 12/4/2014 15/4/2014
… … … … …
Migración de claves
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
http
://dato
sinten
sos.b
log
spo
t.com
/
• Campos utilizados– Fecha_INICIAL: Fecha en la que la clave puede ser utilizada
para encriptar o desencriptar – Fecha_MIGRACION: Fecha en la cual comienza la re-
encriptación con una nueva clave activa para los registro encriptados con esta clave
• La clave solo usada para desencriptar no para encriptar– Fecha_EXPIRACION: Fecha en la cual la clave ya no puede ser
utilizada.
25
Migración de claves• Solamente las claves activas son usadas para la
encriptación– Los registros desencriptados con una clave que esta en un tiempo
despues de la fecha de migración automaticamente son re-encriptados con una clave que este activa
• Forzar la migración de los registros que no han tenido acceso.– Todos los campos o registros que tiene un recibo con una clave
expirada.– Desencriptar y volver a encriptar con el criptosistema.
c844
c845
active
4/2
migration
4/9 4/12
active
4/5
migration
4/12 4/15
htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
http
://dato
sinten
sos.b
log
spo
t.com
/
26
Respaldo de claves• Se debe realizar respaldos de baúl de claves
regularmente– Como mínimo , cada vez que se adiciona una nueva – Should keep multiple backups, paper and electronic
• Los respaldos solamente deben contener versiones encriptadas de las claves– Si no se realiza de esta manera se es vulnerable a la
observación– Las claves maestras se respaldan separadamente.– Encriptar respaldo versionados con diferentes clavesMuticopias.
Aplicación criptográfica
Baúl de claves
Respaldo
Respaldo físico
Respaldoelectrónico
Actualízate sobre gestión de información en http://datosintensos.blogspot.com/
http
://dato
sinten
sos.b
log
spo
t.com
/htt
p:/
/dat
osi
nte
nso
s.b
log
spo
t.co
m/