Network and Computer Systems Security


Available soon

General characterization





Responsible teacher

Henrique João Lopes Domingos


Weekly - 4

Total - 52

Teaching language



Prior knowledge on:

  • Foundations of computer networks, protocols and services, particularly standard protocols and services in the TCP/IP stack;
  • Foundations, principles and programming paradigms for the design and operation of distributed systems and applications
  • Operating systems foundations

The course requires practical skills on distributed programming and use of software development tools (ex, Eclipse IDE or any other IDE amd development of Java and Maven Projects) and practice with programming languages* (ex., Java, C#, C++ ). It is also required initial experience in using UNIX-based systems (ex, Linux distributions or Mac-OS and use of shell-based environment), as well as initial experience in installing and using virtualization environments (ex, VBox or VMware), or containerized and virtualized software components and applications (ex, Docker, Docker Composing). 

Previous practice in TCP/IP and distributed systems programming (using sockets, RMI and REST or Rest-Based Web Services).



  • W. Stallings, Network Security Essentials - Applications and Services, Pearson, 6/E, 2017
  • W. Stallings, L. Brown,  Computer Security: Principles and Practice, Pearson 4/E, 2014

Additional references 

  • W. Stallings, Cryptography and Network Security - Principles and Practice, Pearson 8/E, 2020
  • P. C. van Oorschot, Computer Security and the Internet, Springer, 2020
  • D. Gollmann, Computer Security, 3rd Ed, Wiley, 2011
  • B. Schneier, Applied Cryptography, 1996, Wiley
  • A. Zúquete, Segurança em Redes Informáticas, 5ª Ed., 2018, Ed. FCA
  • M. Correia, P. Sousa, Segurança no Softwarem 2ª Ed. , 2017 Ed. FCA

Teaching method

The course is organized in lectures for presenting and discussing foundations, concepts, principles, paradigms, techniques or algorithms.

Labs are organized for presenting computer and network security techniques (following the program), involving the demonstration of such techniques or related components and development of practical work assignments including the mandatory assessment assignments. Some sessions are planned for discussing practical solutions on proposed problems, as well as support for implementation of the assessment projects or work-assignments.

Assessment components

  • 2 frequency tests (midterm): T1, T2
    • Cover the program topics
    • Tests with 2h30m (ref)
      • 1h-1h30m: closed book questions
      • 1h-1h30m: open book questions (printed and individual sources). Can include practical questions from lab exercises, as well as, evaluation questions related to work-assignments
  • 2 Work-Assignments as mini-projects: TP1,  TP2
  • Developed individually or in workgroups (2 students maximum)
    • Group members must have at least 65% presences in classes
    • Practical evaluaton will have an individual assessment factor, so the practical evauation will be individual (independently of groups)
  • Evaluation includes: development, completeness, quality, correctness and practical evaluation
  • Students may eventually be scheduled for proof of implementation, demonstration and complementary discussion of assignments.

Grade conditions1

Obs) The assessment rules below can be modified, depending on possible orientations or situation due to the Covid-19 pandemic. 

- Frequency

  • Frequency Assessment AF = 40% (TP1) + 60% (TP2)
  • Frequency condition (AF): AF >= 9,5/20

- Grade with Frequency (AC)

  • Frequency condition
  • Midterm Evaluation AC = 35% AF + 30% (T1) + 35% (T2)
  • Grade condition (AC): AC >= 9,5/20 and average (T1, T2) >= 9,5/20 

- Grade with Appeal Exam (ER)

  • Frequency condition
  • Final assessment with Appeal Exam AER = 40% AF + 60% ER
  • Grade with Appeal Exam (AER): AER >= 9,5/20 and ER >= 9,5/20

1) Students with frequency and exam (appeal) access conditions obtained in 2018/2019 can use the obtained frequency classification.

Evaluation method

Assessment components and rules

  • 2 frequency tests (midterm): T1, T2, covering the program topics
    • Tests initially planned for physical presence (face-to-face) covering all the program topics
    • Tests will have two parts:
      • Closed-book part. 
      • Open questions part
    • For closed-book parts students cannot use electronic devices, computers, mobile/smart phones, tablets or any equipment with communication capacity 
  • Two project-assignments: TP1, TP2 
    • Individual or gour-development (two students max.) but with individual submission by electronic means (even when the projects are developed in group)
    • Submission on the defined deliverable dates: submission form, with questions, attachments -report and code (sources and binaries/executables) with code managed and available in a development platform (GitHub prjoject)
    • TP1 and TP2 evaluation can be complemented by individual practical test components, when considered necessary for the evaliuation (initially planned to be conducted presentially) - up to 20% of the evaluation of TPs
    • Information about class-participation (exercices, hands-on activities in lab-classes) can be used as a complementary adjustement factor for individual pratical evaluation

Grade conditions

- Frequency

  • Frequency AF = 40% (TP1) + 60% (TP2)
  • Frequency condition (AF): AF >= 9,5/20 with TP2 >=9,5/20
  • Students with frquecy obtained in 2020/2021 can reuse this evaluation

Grade with Frequency (AC)

  • Frequency condition
  • Midterm Evaluation AC = 40% AF + 25% (T1) + 35% (T2)
  • Grade condition (AC): AC >= 9,5/20 and average (T1, T2) >= 9,5/20 

- Grade with Appeal Exam (ER)

  • Frequency condition
  • Final assessment with Appeal Exam AER = 40% AF + 60% ER
  • The exam (appeal) covers all the program topcis, and has the same format and organziation used for the ferquency tests
  • Grade with Appeal Exam (AER): AER >= 9,5/20 and ER >= 9,5/20

Note: all evaluations will be in a 0-20 points scale with one decimal place.  The final classification is obtained with the corect rouding rules to get the grade without decimal places.


Subject matter


  • Introduction
    • Concepts, terminology and principles of computer networks and systems security 
  • Cryptographic tools
    • Methods, algorithms and techniques
    • Standard constructions for applied security
    • Authentication, key-distribution protocols and establishment of security associations
    • Public key infrastructures: X509 authentication, PKIX framework and X509 certification and management
  • Authentication and access control
    • User authentication: authentication factors, mechanisms and services
    • Access control models and methods
  • Security protocols and communication protection
    • Internet security and end-to-end security 
    • Internet Securiry and TCP/IP security stack: protocols and standards
  • Systems security
    • Operating systems security level, perimeter defense techniques and mechanisms, intrusion prevention and intrusion detection
    • Isolation mechanisms for trusted and confidential computing


Programs where the course is taught: