
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, José Augusto Legatheaux Martins
Horas semanais
4
Total de horas
54
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
Knowledge-base:
- Foundations on Computer Networks; TCP/IP protocols and services
- Distributed Systems: Concepts, Design Principles and Paradigms
The course requires the autonomy of students for hands-on lab and programming
- Distributed systems programming (Sockets, Java-RMI and Messaging Paradigms)
- Computer Systems Programming: OS services, Processes, Threads and Concurrency Control (ex., Linux or Windows environments)
- Java or C# programming practice and IDEs (ex., Eclipse, NetBeans, etc)
Conteúdo
- Introduction
- Terminology, adversary models, attacks and tipology
- Security frameworks, ISO X.800 and TCP/IP security frameworks
- Other standards for security compliance
- Part I - Applied Cryptography
- Priciples and foundations for applied cryptography
- Symmetric encryption
- Public key cryptosystems
- Secure hashing and message authentication
- Digital signatures
- Key distribution and management
- Authentication, confidentiality and integrity with hybrid cryptographic models and functions
- Part II - Network security applications, services and standards
- User and application level authentication
- Authentication protocols, applications and services
- Digital identity, multi-factor authentication and middleware authentication systems
- Public Key Infrastructures
- E-Mail Security
- Web Security: session and transport layer security services and standards
- Other session-oriented security protocols and security middleware services
- Network level security and IPSec
- Part III - Systems security and secure infrastructures
- Systems security
- Intrusion detection systems and intrusion prevention
- Malicious software
- Firewalls
- Security at infrastructure level / secure data-centers
- WLAN security and 802.11 security stack
Bibliografia
- William Stallings, Cryptography and Network Security - Principles and Practice, Prentice Hall, 5th Edition ISBN 13: 978-0-13-609704-4, 2011
- William Stallings, Network Security Essentials: Applications and Standards, 3rd Edition
Other references:
- Charlie Kaufman, Radia Perlman, Mike Speciner, Netwwork Security - Private Communication in a Public World, Prentice Hall, ISBN 0-130-46019-2, 2002
- Bruce Schneier, Applied Cryptography - Protocols, Algorithms and Source Code in C, 2nd edition, J. Wiley & Sons , ISBN 0471-12845-7 (v. cloth: acid-free paper) or ISBN 0471-11709-9 (paper: acid-free paper)
- André Zúquete, Segurança em Redes Informáticas, FCA, 2ª Ed. (Aumentada), ISBN:9789727225651, 2008
- Dieter Gollmann, Computer Security, J.Wiley & Sons, ISBN 0-471 97844 2, 1999
- Ross J. Anderson , Security Engineering: A Guide to Building Dependable Distributed Systems, J. Wiley & Sons, ISBN 0471-38922-6, 2001
Book chapters, research papers or technical reports will be proposed as complementary readings on specific topics or as support for possible work-assigments or study surveys that can be proposed for students.
Método de ensino
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.
As aulas teóricas poderão ser leccionadas em língua inglesa ou língua portuguesa, de acordo com os alunos inscritos.
Método de avaliação
Mid-term frequency components
- 3 Midterm / frequency tests 45%
- 2 Work/project assigments (lab programming and autonomous work) with reporting, demonstration and discussion: 30%
- 1 final mini-project with reporting, demonstration and discussion: 25%
- Participation (classes, practical lab activities and optional exercises): 10%
Final grade conditions
- Each frequency test > 7/20, Average > 9.5/20
- Work assignments and mini-project > 7/20, Average > 9.5/20
- Final miniproject > 9.5/20