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

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

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