Proyecto Final de DSW
El objetivo principal del proyecto es desarrollar una plataforma basada en tecnologías web que permita la generación, firma, y verificación de archivos mediante llaves asimétricas. El enfoque incluye medidas de seguridad robustas para proteger las contraseñas, llaves privadas y datos sensibles de los usuarios. Los roles y requisitos funcionales están definidos para cubrir la gestión de usuarios, la generación de llaves, la firma de archivos y su verificación.
Requisitos funcionales clave:
- Registro de usuarios: Generación automática de llaves asimétricas (pública y privada) al registrarse. La llave privada se cifra con el password del usuario.
- Inicio de sesión: Autenticación mediante usuario y contraseña.
- Firma de archivos: Permite subir un archivo y obtener un archivo firmado. Se requiere la contraseña del usuario para descifrar su llave privada.
- Verificación de archivos firmados: Permite verificar si un archivo y su firma son válidos usando la llave pública del firmante.
- Gestión de llaves: Los usuarios pueden renovar sus llaves, invalidando las anteriores.
Requisitos de seguridad:
- Contraseñas fuertes, almacenadas con hashing seguro.
- Llaves privadas cifradas con AES-CTR o AES-GCM.
- Mitigación de ataques como SQL Injection, XSS, CSRF, y manejo seguro de errores.
Diagramas de Flujo
-
Registro de Usuario y Generación de Llaves
- Describe el proceso de registro y generación de las llaves asimétricas.
-
Firma de Archivos
- Ilustra el proceso de subir un archivo, firmarlo y entregar la firma al usuario.
-
Verificación de Archivos Firmados
- Muestra el flujo para verificar la autenticidad de un archivo y su firma.