Usar correos electrónicos como nombres de usuario para aplicaciones web es una forma conveniente de evitar el problema de "otro nombre de usuario en línea". Como tal, al utilizar este enfoque, los correos electrónicos deberían estar fácilmente disponibles en el backend para realizar comprobaciones de usuario / aprobación.
Sin embargo, en el contexto de GDPR, y dado que los correos electrónicos se consideran información personal, estos datos deben protegerse mientras se encuentran en la base de datos u otro medio de almacenamiento.
Sería maravilloso tener su opinión sobre el siguiente enfoque para manejarlo con seudonimización:
- Almacene un seudónimo (hash) del correo electrónico en lugar del correo electrónico de texto simple;
- Cada vez que se intenta iniciar sesión, busque el hash del correo electrónico y realice las comprobaciones de credenciales;
- Cuando exista la necesidad de que el correo electrónico se muestre en la interfaz o en otro uso, mantenga una "tabla de seudónimo" con una estructura de clave / valor, donde la clave es el hash y el valor es el valor cifrado del correo electrónico . Esta columna de texto sin formato se puede cifrar con cualquier estrategia de cifrado de columna disponible en la mayoría de las bases de datos relacionales;
- La contraseña para descifrar la columna se usaría en la memoria para descifrar los valores de la columna, pero los datos se almacenarán en forma cifrada;
- Haga esto con todos los datos personales que la aplicación web necesita almacenar;
¿Qué piensan ustedes de este enfoque?
¿Crees que esto tendrá una gran penalización de rendimiento, incluso con una columna de clave indexada?
¿Existe algún otro enfoque simple para ofrecer la posibilidad de manejar el correo electrónico como nombre de usuario pero cumplir con GDPR?