Titulo Estágio
Partilha Segura de Informação por Grupos na Web
Áreas de especialidade
Engenharia de Software
Comunicações, Serviços e Infraestruturas
Local do Estágio
Departamento de Engenharia Informática
Enquadramento
A segurança da comunicação na Web é garantida principalmente através do protocolo HTTPS. Isto garante a segurança do canal de comunicação entre o navegador Web do utilizador e o servidor Web que executa a aplicação. No entanto, se a aplicação permitir comunicação entre vários utilizadores, o servidor age como um intermediário que tem acesso a toda a informação. Este é o paradigma usado em aplicações Web, ainda que não garanta inteiramente a segurança da comunicação entre utilizadores, sendo possível explorar vulnerabilidades no servidor e expor informação.
Este estágio enquadra-se no âmbito dos sistemas de comunicação por grupos (group communication systems) bem como na área da segurança usando algoritmos de criptografia. Pretende-se fazer uso do estado da arte em sistemas de comunicação tais como JGroups, Zookeeper, Spread, Appia, QuickSilver ou RSCT. Este conhecimento será aplicado a aplicações Web, por forma a desenhar uma API de comunicação segura para grupos, através da Web.
Objetivo
Este estágio tem como objetivo principal o desenho, programação e avaliação de uma API para a Web que permita a partilha segura de informação em grupos, sendo que esta API deve suportar os seguintes requisitos:
- um grupo de utilizadores deve poder comunicar através de uma aplicação Web, sendo a disponibilidade, confidencialidade e integridade garantida pelo servidor;
- toda a informação deverá ser armazenada no servidor, por forma a garantir disponibilidade, mas protegida através de algoritmos de encriptação do estado da arte;
- o paradigma de mensagens a suportar deverá ser many-to-many, ou seja, todos os membros do grupo devem poder enviar e receber mensagens desse mesmo grupo (pode, no entanto, basear-se numa primitiva one-to-one);
- o gestor (ou gestores) do grupo deverão poder adicionar e remover membros do grupo, mantendo assim a "group membership";
- a comunicação do elemento A para o elemento B deverá garantir a confidencialidade e a integridade da comunicação entre dois browsers dos dois elementos.
Pretende-se que o resultado da programação seja reutilizável, na forma de uma API para a Web, e para efeitos de demonstração construir-se-á uma prova de conceito que faça uso das primitivas desenvolvidas.
Plano de Trabalhos - Semestre 1
Mês 1 - Estudo do estado da arte e levantamento dos requisitos
Mês 2 - Arquitetura da solução
Mês 3 - Desenho e implementação de comunicação segura um-para-um
Mês 4 - Desenho da prova de conceito
Mês 4 - Escrita da tese intermédia
Plano de Trabalhos - Semestre 2
Mês 5 - Implementação de comunicação vários-para-vários
Mês 6 - Gestão da "membership" do grupo e distribuição de chaves
Mês 7 - Versão final da API para segurança de comunicação por grupos na Web
Mês 8 - Versão final da prova de conceito
Mês 9 - Escrita da tese
Condições
O trabalho irá ser realizado no Departamento de Engenharia Informática da Universidade de Coimbra e será facultado o acesso a equipamento informático bem como aos laboratórios do Departamento. Estão em curso candidaturas a projetos que, caso venham a ter sucesso, conduzirão à abertura de uma bolsa à qual o aluno se poderá candidatar.
Observações
Nada a acrescentar.
Orientador
Raul Barbosa
rbarbosa@dei.uc.pt 📩