El 02/08/13 15:10, Alvaro Herrera escribió:

Ojo que el cifrado asimétrico es **lento**.  Yo creo que deberías
considerar usar cifrado simétrico (digamos, algoritmo AES o similar), y
las llaves sólo las tiene el usuario, nunca se almacenan en la BD.
Para guardar nuevos datos, tienes dos opciones: el usuario te los da ya
cifrados (la BD/framework nunca ven los datos en claro) o bien el
usuario te entrega la clave en forma temporal, te pasa los datos, luego
los cifras y almacenas y te olvidas de la llave.  El primer caso es más
inconveniente porque necesitas más código al lado del cliente, pero
obviamente es más seguro porque nunca tienes copia de la llave.

Si mal no recuerdo hace mucho tiempo miré un proyecto que estaban
desarrollando unos colegas, de este mismo tipo, y la idea para permitir
búsquedas era almacenar prefijos cortos, sin cifrar.

Otro tema es el de los identificadores numéricos.  En un proyecto donde
la confidencialidad de datos es importante, a veces no quieres siquiera
filtrar cuántos ID tienes en una tabla.  Para esconder esta información
es importante no usar secuencias.  Puedes usar por ej. UUIDs, o bien
mapeando números enteros usando algo como esto:
https://wiki.postgresql.org/wiki/Pseudo_encrypt

No es más sencillo (y seguro) encriptar todo el sistema de ficheros?

--
Martín Marqués                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a