Titulo Estágio
Enterprise Secure Cloud
Áreas de especialidade
Engenharia de Software
Local do Estágio
Coimbra (Taveiro)
Enquadramento
Esta proposta integra-se no desenvolvimento de soluções na área de Cloud Computing. A confidencialidade da informação é um tema ao qual as empresas são particularmente sensíveis. Informação como documentos técnicos ou de desenvolvimento de negócio necessitam de ser guardados de forma segura. Existem atualmente algumas soluções concebidas tendo em conta estes requisitos. Serviços como o SpiderOak, o Wuala ou o Tresorit, utilizam algoritmos criptográficos para garantir a segurança dos dados.
A WIT pretende, com este estágio, implementar um serviço cloud, na mesma linha dos exemplos anteriores, vocacionado para ambientes empresariais. A solução a desenvolver será baseada numa plataforma de código aberto já existente e à qual se pretende dotar de mecanismos que garantam o armazenamento e partilha de documentos de forma segura.
O aluno irá adquirir conhecimento prático sobre o desenvolvimento de soluções distribuídas focadas na segurança de dados.
Objetivo
O objectivo do estágio consiste na implementação de um conjunto de funcionalidades que visam tornar seguros os conteúdos de uma plataforma cloud existente, bem como permitir a partilha dos mesmos em grupos de trabalho.
O sistema deverá ser desenhado tendo em conta princípios de segurança como confidencialidade, recorrendo a encriptação (ex. AES-256) e transferência segura de dados (ex. TLS). Deverá ainda garantir a integridade dos dados, impossibilitando a alteração não autorizada dos mesmos. Uma vez modificado o conteúdo, a alteração ficará registada de modo a não permitir o repúdio dessa ação. Opcionalmente poderão ainda ser enviadas notificações por email a alertar os utilizadores para essas modificações.
A solução cloud deverá também permitir a partilha de dados e o acesso à informação a partir de diversos dispositivos. Neste sentido será interessante o suporte para partilha de ligações cifradas ou mesmo conteúdos acessíveis temporariamente.
As empresas estão normalmente organizadas em equipas. Nesse sentido, o sistema deverá suportar o conceito de grupos de trabalho, permitir a definição de roles de utilizador (programador, gestor de projeto...) e garantir diversos níveis de segurança por conteúdo.
Para desenvolver estes requisitos, será necessário adaptar o servidor para suportar a gestão de chaves criptográficas. Dependendo da estratégia de segurança adoptada, poderá ainda ser necessário criar ou modificar um cliente para permitir a encriptação dos dados.
Plano de Trabalhos - Semestre 1
Para o 1º semestre estão planeadas as seguintes tarefas:
- Estudo de algoritmos de criptografia;
- Levantamento do estado da arte;
- Análise detalhada das funcionalidades propostas para o estágio;
- Análise de requisitos;
- Estudo da plataforma de software base;
- Elaboração do plano de desenvolvimento;
- Prototipagem da estratégia de encriptação e gestão de chaves;
- Desenvolvimento das principais funcionalidades de segurança:
1. Encriptação de dados;
2. Gestão de chaves;
3. Transferência segura de dados;
- Documentação intermédia do estágio.
Plano de Trabalhos - Semestre 2
Para o 2º semestre estão planeadas as seguintes tarefas:
- Desenvolvimento das funcionalidades colaborativas:
1. Suporte para níveis de segurança por conteúdos;
2. Suporte de roles (programador, gestor de projecto);
3. Suporte para grupos de trabalho;
4. Partilha de links cifrados;
5. Histórico de alterações;
6. Notificações por email;
- Preparação da solução para demonstrações internas;
- Testes funcionais;
- Avaliação de requisitos não-funcionais através de benchmarking;
- Documentação final do estágio.
Condições
O local de trabalho será na sede da WIT Software em Taveiro onde o estagiário terá ao seu dispor os equipamentos necessários para desempenhar as suas tarefas. O estágio será remunerado.
Além da remuneração, o estagiário poderá ser convidado para receber formação na WIT Academy (que inclui tópicos tais como: IMS, VoIP, SIP, iOS Programming, Android Programming, Arquitecturas de Software, Software Quality, Metodologias de Desenvolvimento de Software).
Apesar do estagiário ser acolhido pela equipa de desenvolvimento este trabalho de estágio não faz parte do roadmap do desenvolvimento de nenhum produto. É um investimento da empresa no treino de futuros profissionais. O que se pretende com estes estágios é fazer “training-on-job” de alunos finalistas e prepará-los para a área de software para telecomunicações, de modo a que no final do estágio o aluno esteja preparado para ser incluído na equipa de desenvolvimento.
O estagiário terá acesso aos recursos da equipa de desenvolvimento, e terá à sua disposição um conjunto de Engenheiros experientes que lhe poderão dar ajuda nas dificuldades técnicas.
No final do estágio, será feita uma avaliação do trabalho realizado. Se o resultado for positivo o estagiário será convidado para fazer parte da equipa de desenvolvimento.
Observações
- Toda a documentação de projecto será em Inglês.
- Será usado SCRUM, como metodologia de desenvolvimento.
- Existe um Scrum Master e um Project Owner. O Project Owner define os requisitos do estágio, define as prioridades do Backlog e acompanha os resultados parciais do projecto. O Scrum Master garante o cumprimento das tarefas, promove os Scrum meetings e acompanha o aluno com mais regularidade.
Orientador
Pedro Pinto
pedro.e.pinto@wit-software.com 📩