2011-03-24 21 views
5

Actualmente estoy trabajando en algún databse de usuario con mucha información confidencial (direcciones, números de teléfono, etc.).Privacidad y seguridad en la base de datos de usuarios

¿Cuál sería el mejor método para almacenarlo en una base de datos? ¿Solo texto sin formato? ¿Encriptado con algún tipo de hash para que un hacker no pueda descifrarlo fácilmente?

¿Cómo se regula esto en la ley? (Servidor web en Alemania, dominio .com en Netfirms, actualmente estoy en los Países Bajos)

¿Veo la seguridad de las contraseñas ?, sé que hay algunos bruteforcers md5 por aquí (he descifrado algunos hashes en el pasado en cuestión de segundos ...)

¿Hay certificados SSL gratuitos que sean "de confianza" para que los usuarios no obtengan ventanas emergentes ?, de lo contrario comprarían los dominios baratos de uno para .com.

Lamento polarizar tanto mis preguntas, pero todas las preguntas son menos o más sobre el mismo tema.

+0

Debe usar bcrypt para sus contraseñas. – JohnP

+3

Aquí hay al menos cuatro preguntas separadas, sobre un tema que tiene * libros completos * dedicados a él. Votando para cerrar. Lo siento. – APC

+0

Vote para migrar a security.stackexchange.com –

Respuesta

0

Antes que nada, hay certificados SSL gratuitos. Uno es de StartSSl y el otro es de CACert. Los certificados StartSSL son aceptados en la mayoría de los navegadores y plataformas. ASÍ lo recomiendo Pero no puede tener * .domainname.com (no es una gran compensación de todos modos.) (Estos no son certificados de prueba, son gratis como en Free Beer).

Para guardar contraseñas en la base de datos, SIEMPRE las hash. Usa una sal adecuada y larga y tu hash será muy fuerte.

Si necesita cifrar/proteger otra información almacenada, puede utilizar cualquier esquema de cifrado como AES, que ofrecen una protección muy sólida. Pero dado que la clave de descifrado está almacenada en su servidor, los datos en la base de datos son tan seguros como su servidor. También tenga en cuenta la sobrecarga de cifrado y descifrado antes de cada solicitud de base de datos y decida si vale la pena.

0

En el Reino Unido, la Ley de Protección de Datos exige que utilice la seguridad "apropiada". Si los datos se vieron comprometidos, el Comisionado de Información podría multarlo hasta £ 1Million por no protegerlo.

En Alemania, las regulaciones de privacidad son más fuertes que en el Reino Unido - disculpas, no tengo la legislación pertinente a mano.

Para información sensible como esta, el cifrado definitivamente parece ser lo correcto.

1

Necesita obtener asesoramiento legal para reunir la lista de requisitos legales que se aplican a los datos que está procesando. Esta no es una pregunta técnica en absoluto.

Luego debe cumplir con los requisitos, y finalmente lograr que el cumplimiento sea revisado por el sistema que sea aplicable para sus requisitos legales. De nuevo, esta no es una pregunta técnica en absoluto.

La implementación técnica que aborda los problemas legales es un detalle menor, que con la declaración del problema dada por usted no puede siquiera esbozarse aproximadamente de manera significativa.

0

Encripte los datos que deben visualizarse en algún momento (descifrado) y los datos hash que solo deben verificarse.

Ejemplo: los números de las tarjetas de crédito deben estar encriptados (hay legalidades involucradas) y las contraseñas hash.

Recientemente establecí un sistema para un periódico local que almacena números de tarjetas de crédito excluyendo los últimos 4 números. Los encripto con php generic_encrypt y luego base_64encode() el número. Los 4 números faltantes se envían por correo electrónico al empleado que maneja los nuevos suscriptores.

a que revisen: datos recuperable -> cifrar -> codificar -> decodificar -> descifrar los datos matchable -> picadillo -> Entrada -> Entrada de hash -> comparar con la entrada hash hash almacenado.

Cuestiones relacionadas