Disciplina
Sistemas de Elevada Confiabilidade
Á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
Nota final = EX*0,50+AP*0,1+PROJ*0,40 onde: (EX) exame obrigatório (nota mínima: 8) (AP) apresentação de um artigo científico (PROJ) projeto obrigatório desenvolvidos por um grupo de três alunos (nota mínima: 8) Na "época especial" haverá um exame (EX) e um projeto adaptado (PROJ), com pesos de 50% e 50%, respectivamente.
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
2.0 h/semana
1.5 h/semana
119.0 h/semestre
Objectivos
Fornecer uma perspectiva integrada dos aspectos 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 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. e) Processamento de erros. Recuperação para a frente e para trás. f) Deteção de falhas e diagnóstico. 2) Segurança e fundamentos de criptografia a) História e términologia de base em segurança e criptografia b) 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 4) Fundamentos de "Blockchain" a) Registos distribuídos b) Prova de trabalho, prova de empenho, etc c) Sistemas Blockchain: Bitcoin, Ethereum d) Aplicações: criptomoedas, contratos inteligentes 5) Computação confiável a. Suportes hardware para computação segura e confiável i. Smartcards ii. Trusted Platform Mdule iii. Intel SGX
Metodologia de avaliação
Nota final = EX*0,50+AP*0,1+PROJ*0,40 onde: (EX) exame obrigatório (nota mínima: 8) (AP) apresentação de um artigo científico (PROJ) projeto obrigatório desenvolvidos por um grupo de três alunos (nota mínima: 8) Na "época especial" haverá um exame (EX) e um projeto adaptado (PROJ), com pesos de 50% e 50%, respectivamente.
Pré-requisitos
Programação de aplicações distribuídas em Java. É ainda desejável que os alunos tenham conhecimento nos domínios de sistemas distribuídos e segurança.
Componente Laboratorial
A componente laboratorial consta de um projeto composto de duas entregas. Cada entrega tem peso de 50% com a seguinte excepção: caso a nota da primeira entrega seja inferior à da segunda entrega, a nota obtida na primeira entrega será descartada.
Princípios Éticos
Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.
Componente de Programação e Computação
No curso onde esta UC é oferecida estão asseguradas as componentes de Computação e Programação de acordo com o MEPP 2122.
Componente de Competências Transversais
O enunciado e formato do projecto da componente laboratorial inclui diferentes medidas para que a sua resolução desenvolva as competências transversais de pensamento crítico e inovador, assim como as competências intra e interpessoais.
Bibliografia
Principal
Security Engineering: A Guide to Building Dependable Distributed Systems, 3rd. edition
Introduction to Reliable and Secure Distributed Programming, 2nd Edition
C. Cachin, R. Guerraoui, L. Rodrigues
Springer - ISBN: 978-3-642-15259-7