Aplicación de transferencia de archivo seguro
Diseño e implementación de una aplicación/protocolo de transferencia de archivos de Internet seguro. El programa incluirá varios requisitos de seguridad como se describe a continuación.
Funcionalidad compatible
- El cliente debe poder cargar archivos al servidor de manera segura. El cliente también descarga archivos del servidor de manera segura.
- Cuando el archivo se carga o descarga, debe estar intacto, es decir, debe retener sus características. Por ejemplo, si es ejecutable, debería poder ejecutarse, o si es una imagen, la imagen debe ser la misma que el archivo original.
- El cliente solo necesita autenticar el servidor. El servidor no necesita autenticar el cliente.
- La única tecnología que está permitida para asegurar la comunicación es el hash clave, por ejemplo, SHA-256.
Requisitos de seguridad
La aplicación incluirá los siguientes requisitos de seguridad:
- Autenticación : el cliente autentica el servidor utilizando la clave pública RSA del servidor.
- Confidencialidad : los mensajes intercambiados entre el cliente y el servidor estarán protegidos de la exposición a otros que no están autorizados a leer lo que se está comunicando. El único primitivo de seguridad que está disponible para construir un mecanismo de comunicación confidencial es un hash clave, por ejemplo, SHA-256. Parte del proyecto es diseñar un protocolo de comunicación que sea seguro contra ataques bien conocidos contra la confidencialidad.
- Integridad : la posible alteración del mensaje en el tránsito no debe ser sin ser detectada por las partes comunicantes. Nuevamente, solo puede usar un mecanismo de hash clave para lograr esto.
Especificaciones técnicas
* Python3
* SHA256
* RSA Key Generation and usage
Requisitos previos
- Python3
- Programación de lectura múltiple y socket
- Funciones criptográficas hash
- Criptografía de clave pública
Miembros del equipo
- Chandra kiran ensalada
- Sourik dhua