O projeto consiste no desenho e implementação de um protocolo que permita a comunicação segura entre dois pontos, com autenticação mútua. Pretende-se que seja possı́vel trocar um ficheiro entre o cliente e o servidor usando o protocolo, caso o servidor considere que o utilizador tem essas permissões. O utente pode-se autenticar com senhas diretas ou com o cartão de cidadão. O servidor deverá conseguir provar a sua identidade, evintando-se ataques de MiTM ou impersonação
pip install -r requirements.txt --user
python3 server.py
python3 client.py <file_name>
One example to use for password login is:
- Username: tomas
- Password: 123
- Secret Question: caozitos
- [ x ] Protocolo (planeamento e descrição) para a autenticação de utentes através de um mecanismo de desafio resposta (não é necessário considerar o registo online dos clientes)
- [ x ] Mecanismo para controlo de acesso, que permita indicar explicitamente se um utente pode ou não transferir ficheiros
- [ x ] Protocolo (planeamento e descrição) para a autenticação de utentes através do cartão de cidadão
- [ x ] Protocolo (planeamento e descrição) para a autenticação do servidor utilizando certificados X.509
- [ x ] Protocolo para autenticação de utentes através da apresentação de senhas
- [ x ] Mecanismo para controlo de acesso
- [ x ] Protocolo para autenticação de utentes através do cartão de cidadão
- [ x ] Protocolo para autenticação do servidor através de certificados X.509
- [ X ] Outros mecanismos que confiram maior segurança ao sistema (Opcional)
O relatório está descrito com o nome de: Relatório Secure_Auth.pdf