27
Administración de seguridad en bases de datos Decodificación y encriptación en el ALMACENAMIENTO de información http://datosintensos.blogspot.com/ http://datosintensos.blogspot.com/ Actualízate sobre gestión de información en http://datosintensos.blogspot.com/

Seguridad en el almacenamiento de las bases de datos

Embed Size (px)

Citation preview

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/

27

las bases de datos son la última línea de defensa.

Busca ser precavido en el almacenamiento de

informaciónActualí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/