Disciplina

Área

Área Científica de Arquitectura e Sistemas Operativos > Sistemas Operativos e Sistemas Distribuídos

Activa nos planos curriculares

METI 2018 > METI 2018 > 2º Ciclo > Áreas de Especialização > Segurança da Internet > Sistemas de Elevada Confiabilidade

METI 2021 > METI 2021 > 2º Ciclo > Área Principal > Especializações > Especialização em Segurança da Internet > Informática > Sistemas de Elevada Confiabilidade

MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Sistemas Distribuídos > Sistemas de Elevada Confiabilidade

MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Sistemas Computacionais > Sistemas de Elevada Confiabilidade

MERC 2006 > MERC 2006 > 2º Ciclo > Área de Especialização Principal > Aplicações Seguras, Móveis Entre-Pares e na Nuvem > Sistemas de Elevada Confiabilidade

MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Sistemas Distribuídos > Sistemas de Elevada Confiabilidade

MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Sistemas Computacionais > Sistemas de Elevada Confiabilidade

MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Principal > Sistemas Distribuídos > Sistemas de Elevada Confiabilidade

Nível

Exame (55%), projeto (30%), apresentação artigo (10%) e opinião crítica às apresentações (5%)

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

3.0 h/semana

1.5 h/semana

147.0 h/semestre

Objectivos

Fornecer uma perspetiva integrada dos aspetos de confiabilidade no funcionamento no sentido lato, cobrindo não só falhas acidentais, mas também falhas maliciosas e intrusões, combinando as facetas de tolerância a faltas e de segurança no desenvolvimento de sistemas, incluindo desenvolvimentos recentes nas áreas de “Blockchain” e computação confiável.

Programa

1) Fundamentos de confiabilidade a) Taxonomia (falta, erro, falha) b) Fiabilidade, disponibilidade, capacidade de manutenção, segurança c) Modelo de faltas e cobertura d) Redundância espacial, temporal e de valor. Codificação. Redundância modular tripla. e) Processamento de erros. Recuperação para a frente e para trás. f) Deteção de falhas e diagnóstico. Monitores. 2) Segurança e fundamentos de criptografia a) Introdução à criptografia b) Terminologia base em segurança e criptografia c) Revisão dos serviços criptográficos básicos: confidencialidade, integridade, autenticação, não repúdio, gestão de chaves 3) Tolerância a faltas Bizantinas a) Eleição de líder Bizantina b) Difusão Bizantina c) Memória Bizantina d) Consenso Bizantino e) Máquina de estados replicada Bizantina 4) Fundamentos de Blockchain a) Registos distribuídos b) Prova de trabalho, prova de empenho, prova de atividade, etc c) Sistemas Blockchain: Bitcoin, Ethereum d) Aplicações: criptomoedas, contratos inteligentes 5) Computação confiável a) Noção de confiança b) Suporte de Hardware para computação segura e confiável i) Smartcards ii) Trusted Platform Module iii) Intel Software Guard Extensions iv) ARM Trustzone 6) Segurança de sistema a) Segurança física b) Proteção física de sistemas c) Plataformas confiáveis d) Tolerância a intrusões

Metodologia de avaliação

Exame (55%), projeto (30%), apresentação artigo (10%) e opinião crítica às apresentações (5%)

Pré-requisitos

Componente Laboratorial

Princípios Éticos

Componente de Programação e Computação

Componente de Competências Transversais

Bibliografia

Principal

Security Engineering: A Guide to Building Dependable Distributed Systems, 3rd. edition

Ross J. Anderson

2008

Wiley


Introduction to Reliable and Secure Distributed Programming, 2nd Edition

C. Cachin, R. Guerraoui, L. Rodrigues

2011

Springer - ISBN: 978-3-642-15259-7