¿Por qué es peligroso utilizar tal cual el código de registro creado por la IA?
Si le pides a una IA generativa, como ChatGPT o Claude, que «cree una función de registro con correo electrónico y contraseña», obtendrás en poco tiempo un código que funciona. Sin embargo, el proceso de registro en un servicio real no se limita a un simple formulario de entrada y a la función de almacenamiento en una base de datos. Se trata de un sistema operativo que debe diseñarse teniendo en cuenta la recuperación de cuentas, el cambio de contraseña, la baja de usuarios, la política de tratamiento de datos personales, las condiciones de uso, los permisos de administrador y la política de conservación de datos.
En particular, en Corea, cuando se recopila información que permite identificar a una persona —como el correo electrónico, el nombre, el número de teléfono móvil o los identificadores de inicio de sesión en redes sociales—, hay que tener en cuenta las obligaciones relacionadas con el tratamiento de datos personales que establece la Ley de Protección de Datos Personales. El código generado por la IA no es más que un ejemplo genérico, y la responsabilidad legal y operativa del servicio real recae en el operador del mismo.
Principio fundamental: la IA puede crear código, pero no puede decidir las políticas en su lugar
El código creado por la IA tiende a centrarse en si «funciona». Por el contrario, un servicio real debe poder responder a las siguientes preguntas:
- ¿Qué procedimiento se sigue para recuperar una cuenta cuando el usuario olvida su contraseña?
- ¿Se vuelve a verificar la contraseña actual al cambiarla?
- Cuando se recibe una solicitud de baja, ¿qué datos se eliminan y cuáles se conservan?
- ¿Se indican con exactitud en la política de tratamiento de datos personales los datos que se recogen realmente, los fines y el periodo de conservación?
- ¿Existe un fundamento contractual que permita suspender a los usuarios que incumplan las condiciones de uso?
- ¿Se muestra el mínimo imprescindible de datos personales en el panel de administración y se registran los accesos?
Si a la IA solo se le dice «crea un proceso de registro», estas decisiones pueden quedar fuera. Por lo tanto, el operador debe establecer primero las políticas y diseñar las indicaciones para que la IA plantee preguntas sobre los aspectos que no se hayan definido.
Seguridad básica: nunca se deben almacenar las contraseñas en texto claro
Ni siquiera el operador del servicio debe conocer la contraseña del usuario en texto claro. Si las contraseñas se almacenan en texto claro en la base de datos, los daños se ampliarán de inmediato en caso de fuga de datos.
El método seguro consiste en convertir las contraseñas en un hash unidireccional antes de almacenarlas. El hash unidireccional es un método de conversión diseñado para que la recuperación del texto original sea prácticamente imposible. Por lo general, para el almacenamiento de contraseñas se recomiendan algoritmos diseñados específicamente para este fin, como bcrypt, Argon2id o PBKDF2, en lugar de funciones hash generales rápidas.
Aspectos que deben comprobarse al almacenar contraseñas
| Aspecto a comprobar | Recomendación | Motivo |
|---|---|---|
| Almacenamiento en texto plano | Prohibido en todo caso | En caso de fuga de la base de datos, todas las cuentas quedarían inmediatamente en peligro |
| Algoritmo de hash | Utilizar bcrypt, Argon2id, PBKDF2, etc. | Aumenta el coste de los ataques de fuerza bruta |
| Uso de sal | Aplicar una sal única para cada usuario | Se genera un hash diferente incluso con la misma contraseña |
| Configuración del coste de la operación | Establecer un valor suficientemente alto teniendo en cuenta el rendimiento del servidor | Dificulta los ataques de conjetura masiva |
| Registro en el log | No dejar rastros de contraseñas ni tokens de restablecimiento en el log | Evita incidentes secundarios derivados de la filtración del log |
Los principales marcos web, como Ruby on Rails, Django o Laravel, ofrecen funciones para el almacenamiento seguro de contraseñas, pero el hecho de utilizar los valores predeterminados del marco no garantiza que se resuelvan automáticamente cuestiones como la recuperación de cuentas, la baja de usuarios o la política de tratamiento de datos personales.
Cinco políticas esenciales que la IA suele pasar por alto
1. Política de restablecimiento de contraseñas
Es inevitable que los usuarios olviden sus contraseñas. Si no se dispone de una función de restablecimiento de contraseñas, los administradores deben gestionar manualmente las solicitudes de recuperación de cuentas, lo que puede aumentar el riesgo de errores en la verificación de la identidad o de exposición de datos personales.
El restablecimiento de contraseña no consiste simplemente en «enviar un enlace por correo electrónico», sino que incluye la duración del token, la prevención de la reutilización y la protección contra la revelación de la existencia de la cuenta.
Políticas que hay que definir
- Plazo de validez del enlace de restablecimiento: se debe establecer un plazo breve, por ejemplo, de 15 o 30 minutos.
- Uso único: los enlaces que se hayan utilizado una vez deben invalidarse inmediatamente.
- Método de almacenamiento del token: se debe considerar la posibilidad de almacenar el token de restablecimiento en la base de datos en forma de hash, en lugar de guardar el texto original.
- Prevención de la revelación de la existencia de la cuenta: aunque se introduzca una dirección de correo electrónico inexistente, se mostrará la misma respuesta, del tipo «Si se trata de una dirección de correo ya registrada, le hemos enviado un correo de notificación».
- Limitación de solicitudes: si se producen solicitudes de restablecimiento excesivas desde la misma dirección de correo electrónico o IP, se aplicará una limitación de velocidad.
- Notificaciones: cuando se cambie la contraseña, se enviará una notificación al usuario informándole del cambio.
2. Política de modificación de la información de los usuarios
Los usuarios suelen querer modificar su correo electrónico, contraseña, nombre de usuario y configuración de notificaciones. En las funcionalidades mínimas creadas por IA, a menudo se omite la pantalla de modificación de la información de los usuarios.
En particular, el cambio de contraseña es una operación sensible desde el punto de vista de la seguridad. Si se permite el cambio basándose únicamente en la sesión de inicio de sesión, otra persona podría apropiarse de la cuenta mientras el usuario se ausenta de su puesto en una cafetería o en la oficina.
Políticas que hay que definir
- Se debe decidir si, al cambiar la contraseña, se solicita volver a introducir la contraseña actual.
- Decidir si se exigirá la verificación de la nueva dirección de correo electrónico al cambiarla.
- Decidir si se enviarán notificaciones tanto a la dirección de correo electrónico anterior como a la nueva tras el cambio.
- Decidir si se mantendrá la sesión de inicio de sesión existente tras un cambio de información importante o si se exigirá volver a iniciar sesión.
- Decidir si se registrará el historial de cambios en la información de usuario en un registro de auditoría.
3. Política de baja de usuarios y eliminación de datos
La baja de usuarios es una de las políticas más importantes en la práctica del servicio. Los usuarios deben poder darse de baja del servicio y solicitar la eliminación de sus datos personales o la suspensión de su tratamiento. Si no existe la función de baja o si se mantiene la posibilidad de iniciar sesión tras la baja, aumentan simultáneamente los riesgos legales y de confianza.
Sin embargo, eliminar físicamente todos los datos de forma inmediata no es siempre la solución adecuada. Los datos que tengan motivos legítimos para su conservación —como pagos, impuestos, gestión de litigios o prevención del uso fraudulento— pueden requerir su conservación durante un periodo determinado. Por ello, la política de baja debe distinguir «qué se elimina, qué se anonimiza y qué se conserva».
Comparación entre «Soft Delete» y «Hard Delete»
| Categoría | Significado | Ventajas | Precauciones |
|---|---|---|---|
| Eliminación definitiva (Hard Delete) | Eliminación física de los datos de la base de datos | Reduce el riesgo de que persistan datos personales | Si se eliminan los registros de pagos y disputas, pueden surgir problemas legales y contables |
| Eliminación blanda | Se marca como cuenta inactiva y se bloquea el inicio de sesión | Facilita la conservación de los registros de transacciones, las relaciones entre publicaciones y los registros de auditoría | Los datos personales pueden seguir estando presentes, por lo que es necesario anonimizar y restringir el acceso |
| Anonimización | Conversión o eliminación de identificadores (como el correo electrónico o el nombre) para dificultar su recuperación | Reduce el riesgo de identificación al tiempo que se conservan los registros estadísticos y de transacciones | Es necesario comprobar si el nivel alcanzado dificulta realmente la reidentificación |
Métodos de uso habitual en la práctica
- Se clasifican los estados de las cuentas en «activa», «suspendida» o «eliminada».
- Se impide el inicio de sesión inmediato en las cuentas dadas de baja.
- Se eliminan o se anonimizan los identificadores directos, como el correo electrónico, el nombre o el número de teléfono.
- El historial de pagos, los registros fiscales y los registros de respuesta ante usos fraudulentos se conservan de forma limitada, estableciendo una base jurídica y un plazo de conservación.
- En la política de tratamiento de datos personales se indican claramente los datos que se conservan tras la baja, así como la finalidad y el plazo de conservación.
4. Política de tratamiento de datos personales
Incluso si solo se recopila una dirección de correo electrónico, es necesario informar sobre el tratamiento de los datos personales. La política de tratamiento de datos personales no es «un documento que hay que publicar por cumplir», sino un documento oficial que explica qué información trata el servicio y con qué finalidad.
Copiar tal cual la política de tratamiento de datos personales de otra página web es arriesgado. Si se incluye información que en realidad no se recopila, o se omite información que sí se recopila, se producirá una discrepancia entre el documento y el servicio. Si se utiliza IA, primero hay que organizar los campos de la base de datos, el formulario de registro, los datos que se solicitan para el inicio de sesión a través de redes sociales, los datos de registro de actividad y los datos de integración de pagos, y, a partir de ahí, elaborar un borrador.
Puntos principales que deben incluirse en la política de tratamiento de datos personales
- Datos personales que se recogen: correo electrónico, nombre, apodo, identificador de inicio de sesión a través de redes sociales, información de pago, etc.
- Finalidad de la recogida y el uso: identificación de usuarios, inicio de sesión, atención al cliente, procesamiento de pagos, prevención del uso fraudulento, etc.
- Plazo de conservación y uso: hasta la baja del usuario, plazo de conservación establecido por la legislación aplicable, etc.
- Procedimientos y métodos de destrucción: eliminación de la base de datos, anonimización, periodicidad de destrucción de las copias de seguridad, etc.
- Cesión a terceros: en caso de que se produzcan cesiones externas para publicidad, análisis, pagos, envíos, etc.
- Subcontratación del tratamiento: nube, envío de correos electrónicos, gestión de pagos, herramientas de atención al cliente, etc.
- Derechos de los usuarios y cómo ejercerlos: solicitud de acceso, rectificación, supresión y suspensión del tratamiento, etc.
- Responsable de la protección de datos o canal de contacto
Diferencias entre la política de tratamiento de datos personales y las condiciones de uso
Ambos documentos son importantes, pero tienen funciones diferentes.
| Documento | Función principal | Riesgos en caso de ausencia o deficiencia |
|---|---|---|
| Política de tratamiento de datos personales | Explica para qué y cómo se tratan los datos personales | Incumplimiento de la obligación de notificación y divulgación prevista en la Ley de Protección de Datos Personales; pérdida de confianza de los usuarios |
| Condiciones de uso | Establece las condiciones de uso del servicio y la base jurídica para las medidas del operador | Falta de fundamento para restringir cuentas que cometan abusos, fraudes, insultos o envíen spam |
La política de tratamiento de datos personales se asemeja más a un manual de tratamiento de datos, mientras que las condiciones de uso se asemejan más a las condiciones contractuales entre el usuario y el servicio. No basta con tener solo uno de los dos.
5. Condiciones de uso y política de sanciones
Si no existen condiciones de uso, la base para suspender cuentas, eliminar publicaciones o restringir el uso se debilita, incluso si los usuarios malintencionados abusan del servicio. En particular, los servicios en los que los usuarios dejan un rastro de su actividad, como las comunidades, los mercados, el SaaS y las plataformas de contenido, requieren necesariamente condiciones de uso y políticas de funcionamiento.
Contenidos principales que deben incluirse en las condiciones de uso
- Condiciones de registro y responsabilidad en la gestión de la cuenta
- Conductas prohibidas: actos ilegales, fraude, spam, uso indebido de rastreo web, lenguaje soez, violación de los derechos de terceros, etc.
- Motivos y procedimientos para la restricción del uso del servicio
- Criterios de tratamiento de las publicaciones o del contenido generado por los usuarios
- Si hay servicios de pago, condiciones de pago, reembolso y cancelación
- Información sobre cambios, interrupciones y finalización del servicio
- Limitación de responsabilidad y procedimientos de resolución de conflictos
En la pantalla de registro debe incluirse claramente el procedimiento de aceptación de la política de tratamiento de datos personales y de las condiciones de uso. En caso de que se mezclen consentimientos opcionales y obligatorios, el usuario debe poder distinguirlos y seleccionarlos por separado.