Planeamento

Aulas

Apresentação e Início do Estudo dos Algoritmos de Criptografia

Introdução à cadeira: objectivos, programa, bibliografia e avaliação. Princípios basilares na construção de algoritmos de cifra de blocos; Hipótese de Kerchhoff; Discussão sobre o tamanho de uma chave simétrica e do bloco;  Estrutura de Feistel; Estudo breve do DES e AES;  Estudo breve de modos de cifra; Algoritmos de cifra de corrente (Stream Cipher): características relevantes; Algoritmos baseados em LFSR, e o Chacha20; Geração de números aleatórios seguros: propriedades e exemplos de soluções;

Algoritmos de Criptografia e Hashing

Princípios de criptografia assimétrica (ou de chave pública); Discussão sobre o tamanho de uma chave pública; Estudo do RSA, incluindo aspectos da sua concretização e alguns ataques; Algoritmos baseados em logaritmos discretos,  o Diffie-Hellman e o Elgammal; Introdução à criptografia com curva elíptica;  Funções de hash e suas propriedades, o ataque de aniversário, a construção de Merkle-Damgard e um estudo breve do SHA2 e SHA3; Códigos de autenticação de mensagens (MAC): principais soluções e considerações de segurança, algoritmos HMAC e CMAC; Autenticação e Cifra: principais soluções e algoritmo CCM

Autenticação e Troca de Chaves

Protocolos e mecanismos avançados para a autenticação distribuída; Autenticação através passwords e suas limitações; Exemplos de algoritmos de passwords fortes (e.g., EKE); Análise de um conjunto de propriedades interessantes a assegurar por um protocolo de autenticação, e exemplos de soluções: Perfect Forward Secrecy, resistência a ataques de DoS, dificultar a divulgação da identidade, re-aproveitar parâmetros, e computação em paralelo

Autenticação e Troca de Chaves

Caso de uso Kerberos V5; Problemas e deficiências técnicas da V4 que resultaram na V5; Estudo detalhado do protocolo de autenticação da V5; Delegação de direitos; Tempos de vida dos tickets; Autenticação entre realms; 

Segurança ao Nível da Ligação de Dados: Bluetooth

Estudo detalhado dos mecanismos de segurança do protocolo Bluetooth (versão “v2.1 + EDR” e posteriores;  e o LE), como forma de entender como se pode tornar segura a interação de dispositivos com recursos (potencialmente) muito limitados em redes sem fios de curta distância;

Frequência

Realização da 1ª Frequência

Segurança ao Nível da Ligação de Dados: WiFi

Estudo dos aspectos de segurança do protocolo IEEE 802.11 para redes LAN sem fios; Evolução do protocolo ao longo dos anos, nomeadamente o WEP, o WPA2, e o WAP3; Análise das principais formas de ataque e mecanismos de proteção

Radio Frequency Identifiers (RFID)

Arquitectura e componentes dum sistema RFID; Descrição e caraterística fundamentais de vários tipos de Tags e Readers; Estudo de algumas aplicações do RFID e seus efeitos em termos de segurança (distribuição de bens, passaporte, cartões de acesso, sistemas de pagamentos, animais)

Segurança ao Nível Rede

Estudo do protocolo IPsec: Aplicações típicas; Benefícios, Serviços; Associações seguras; Modos de transporte e túnel; Funcionamento do AH e do ESP; Detecção de ataques de repetição; Combinação de associações seguras; Gestão de chaves e o protocolo IKE

Segurança no Nível Transporte

Estudo do protocolo SSL/TLS (versão 1.3): Conceitos fundamentais; Protocolo Record; Fases do Protocolo de Handshake e alguma variantes; Estudo de diversas debilidades de segurança

Correio Electrónico Seguro

Que garantias de segurança deveria ter um serviço de correio electrónico? Modelos de listas de distribuição; Como garantir as propriedades de segurança: confidencialidade, integridade, autenticação, não-repúdio, ... ; Estudo de vários mecanismos de segurança, como o SPF, o DKIM, e o S/MIME

Sistemas de pagamento

Requisitos e métodos básicos de pagamento em comércio electrónico; Métodos baseados em transferência de contas; Estudo de caso: cartões de crédito e norma EMV; Dinheiro electrónico: funcionamento básico, e vantagens e desvantangens; Estudo de caso: bitcoin; E-cash 

Aulas

Preparação VMs

Criação de máquinas virtuais, e interligação numa rede de máquinas virtuais.

Lab1 - Cifra de chaves secretas e ataques

Cifra de chaves secretas e ataques. No projeto os alunos irão experimentar alguns ataques que exploram o conhecimento do IV em certos modos de cifra.

Apt Proj 1 & Autenticação e Troca de Chaves

Apresentação do primeiro projeto e respostas a questões.
Estudar e comparar diversas formas de autenticação em sistemas distribuídos: autenticação unilateral com segredo partilhado, com chave pública e com estampilhas temporais; autenticação mútua com segredo partilhado, com chave pública, e estampilhas temporais; autenticação mediada;  Distribuição de chaves de sessão

Lab2 - Colisões em funções de hash

Colisões em funções de hash. No projeto os alunos irão realizar (em vários passos) um ataque que compromete a propriedade da resistência a colisões da função de hash MD5.

Lab2 - Colisões em funções de hash

Terminar experiências do enunciado 2 de projeto de laboratório.

Apt Proj 2 & Lab3 - Autenticação msg e MAC

Apresentação do Projeto 2
No projeto os alunos vão estudar ataques a MACs através da extensão da computação dos dados incluídos na função de hash.

Lab3 - Autenticação msg e MAC

Terminar experiências do enunciado 3 de projeto de laboratório.

lab 4 - PKI

Experiências com certificados e criação de sites web, aproveitando para testar ataques MITM.

lab 4 - PKI

Terminar experiências do enunciado 4 de projeto de laboratório.

lab 5 - PKI e Ataques MITM

Experiências com certificados e criação de sites web, aproveitando para testar ataques MITM.

Projeto 2

Apoio ao trabalho de Projeto 2

lab 5 - PKI e Ataques MITM

Terminar experiências do enunciado 5 de projeto de laboratório.

Discussão dos Projetos

Discussão dos Projetos 1 e 2.