Faculdade de Ciências e Tecnologia

Segurança de Sistemas e Redes de Computadores

Código

8284

Unidade Orgânica

Faculdade de Ciências e Tecnologia

Departamento

Departamento de Informática

Créditos

6.0

Professor responsável

Henrique João Lopes Domingos

Horas semanais

4

Total de horas

52

Língua de ensino

Português

Objectivos

The course provides a survey of both the principles and practice on computer systems and network security, from theoretical foundations, base mechanisms, security standards and best-practices to design security middleware protocols and security services for distributed systems and applications. The design principles and techniques to implement secure internetworked applications in TCP/IP internetworked and large scale environments are emphasized.

Pré-requisitos

Required knowledge-base:

  • Foundations on Computer Networks; TCP/IP protocols and internetworking programming with TCP/IP;
  • Distributed Systems: Concepts, Design Principles and Paradigms;
  • Operating Systems Foundations;
  • Base foundations on Computer Systems Security;

The course requires the autonomy of students for hands-on practice, lab work and work-assignments, namely:

  • Distributed systems programming practice (Sockets, Java-RMI, Messaging Paradigms and Web Service programmings);
  • Computer systems programming practice: OS services, processes, multithread programming and concurrency control (including the experience in Unix, Linux or  or Windows environments);
  • Java or  C++ or C# programming practice and domain of respective IDEs (ex., Eclipse, NetBeans, MS-Visual Studio, etc).

Conteúdo

1. Introdução. Segurança e confiabilidade de sistemas computacionais. 

2. Complementos sobre algoritmos e métodos e criptográficos

3. Protocolos, aplicações e serviços de segurança na pilha TCP/IP

4. Segurança em redes de comunicação sem fios  

5. Segurança e auditoria de aplicações e serviços em ambiente WEB

6. Segurança e privacidade de bases de dados remotas

7. Segurança de acesso e privacidade de dados em sistemas e aplicações na nuvem

Bibliografia

W. Stallings, Cryptography and Network Security - Principles and Practice, 6th Edition, Pearson, 2014.

W. Stallings, L. Brown, Computer Security - Principles and Practice. 3rd Edition, Pearson, 2014

----

Additonal readings and selected papers related to the program topics will be suggested during the course. These materials will be available for the students.

Método de ensino

*) Dependendo da audiência a unidade curricular pode também ser leccionada em língua inglesa.

Aulas teóricas dedicadas à motivação, apresentação e discussão de fundamentos, conceitos, técnicas e estudo de casos. As aulas teóricas objectivam ainda a aproximação a boas práticas de desenvolvimento bem como à criação de uma base compreensão e de conhecimento sobre algoritmos envolvidos na concretização de componentes, protocolos ou serviços de segurança em sistemas e redes de computadores.

Aulas práticas dedicadas à realização de exercícios ou à demonstração e discussão de exemplos de técnicas de programação em laboratório. Estas aulas visam complementar o conhecimento teórico ao nível da prática de programação, visando o desenvolvimento de capcidades para realização dos trabalhos ou projectos de avaliação que reutilizam as anteriores técnicas de progamação em casos práticos de aplicação. Estes trabalhos e projectos visam dotar os alunos de autonomia e de bases de análise crítica suportadas em experiência prática para concepção de componentes, protocolos, serviços e soluções de segurança para redes de computadores, sistemas distribuídos e suas aplicações.

Método de avaliação

Componentes de avaliação

  • T1, T2: dois testes, cada um valendo 25%
    • Ref: cada teste tem duas partes (1h a 1h30 cada uma das partes):
      • Parte 1 (50%) sem consulta
      • Parte 2 (50%) com consulta, só elementos impressos
    • T1 e T2 serão avaliados na escala de 0 a 20 valores (arredondamento à décima de valor)
  • TP1, TP2: dois trabalhos práticos/mini-projectos, cada um valendo 20%
    • Ref: pode incluir desenvolvimento de software, relatório, demonstração e apresentação com discussão oral
    • Avaliados numa escala de 0.0 a 5.0
  • P: 1 a 2 Apresentações com possíveis demonstrações relacionadas (10%)

Regras

  • Frequência = 45% TP1 + 45% TP2 + 10% P
  • Obtenção de frequência: TP1 >= 2.0/5.0 e TP2 >= 2.0/5.0

Nota final (FA)

  • No caso de aprovação com frequência:
    • FA1 = 25% T1 + 25% T2 + 20% TP1 + 20% TP2 + 10% P
    • T1 > 8.0/20.0 e T2 > 8.0/20.0
  • No caso de aprovação em exame:
    • FA1 = 50% Exam + 20% TP1 + 20% TP2 + 10% P
  • Opção (inscrição para melhoria de nota):
    • MAX ( FA1, FA2)

Condições de aprovação

  • TP1 and TP2 considerados válidos nos objetivos mínimos
  • TP1 >=2/5 and TP2 >= 2/5
  • Nota Final (F1 ou F2) >= 9.5/20.0

Cursos