Parte 1: Conceitos



Baixar 38.89 Kb.
Encontro21.07.2016
Tamanho38.89 Kb.
INE 5630 SEGURANÇA EM COMPUTAÇÃO DISTRIBUIDA - PROVA 1 - 23/09/2011
ALUNO : __________________________________________________________

Parte 1: Conceitos (0,25 cada) – 30%
1.(Verdade/Falso) Vulnerabilidade é uma falha de segurança em um sistema de

software que pode ser explorada para efeito de obter/burlar a segurança de um sistema.

2. (Verdade/Falso) Ameaça: Potencial para violação da segurança quando há capacidade que pode quebrar a segurança e causar danos. É um possível perigo que pode explorar uma vulnerabilidade.

3. (Verdade/Falso) Um email recebido portando um link suspeito, mas que é deletado, constitui uma ameaça. Por isso. você deletou, para que o ataque, via intrusão por software não se concretizasse.


4. (Verdade/Falso) Risco: É a probabilidade da ocorrência de uma vulnerabilidade/ameaça.

5. (Verdade/Falso) Ataque: É uma tentativa deliberada, especialmente no sentido de uma técnica de burlar os serviços de segurança e violar a política de segurança de um sistema. Se o ataque for bem sucedido, ele é uma intrusão/invasão. O ataque pode ser detectado, por um sistema como se fosse um alarme, conhecido por sistema de detecção de intrusão.


6. (Verdade/Falso) Um ataque de repetição envolve a captura passiva de uma mensagem e sua subseqüente retransmissão para produzir um efeito não autorizado. Se é de repetição, então nada foi mudado na mensagem capturada. Assim, caracterizando um ataque passivo. O ataque que não e passivo é ativo e, neste caso, a mensagem capturada é alterada, antes de ser reenviada.
7. (Verdade/Falso) Um email recebido portando um link suspeito, mas que é aberto, constitui um ataque, que dependendo do que existe no link, pode ser uma intrusão por software (via algum programa de vírus, cavalo de tróia ou um worm) por elevação de privilégio de acesso (para alguém que de usuário passa a ser um administrador) a um sistema por um usuário (via um backdoor, um pequeno código que é colocado numa porta de serviço, não utilizada ou meio esquecida, destinado a fazer ataque burlando a segurança de um SO), de quem se apoderou de uma senha do administrador do sistema.
8.(Verdade/Falso) Os sistemas precisam cumprir certos requisitos para serem considerados sistemas seguros: confidencialidade, não repúdio, integridade, autenticidade, controle de acesso e disponibilidade. Nem todos precisam ser cumpridos, mas um ou outro é cumprido utilizando criptografia, hash, assinaturas, certificados, configurações em roteadores.

9. (Verdade/Falso) O conceito de segurança da informação envolve aspectos não computacionais. Além dos aspectos computacionais, que temos falado, segurança da informação envolve, também, aspectos normativos, como diretrizes, regulamentos, padrões), planos de Contingência, estatísticas, legislação e até fórums de discussão.


10.(Verdade/Falso) Para um algoritmo de criptografia, um texto cifrado gerado não tem informações suficientes para determinar o texto legível correspondente, não importando quanto do texto cifrado esteja à disposição. Ou seja, não importa quanto tempo um oponente tenha, é impossível que ele decifre o texto cifrado, simplesmente porque a informação exigida não está lá. O texto refere-se à definição de um esquema de criptografia que é incondicionalmente seguro, se o texto cifrado não tem informações suficientes para determinar o texto legível correspondente, como no esquema do One-Time-Pad (a cifra de uso único). Como este esquema é impraticável, então podemos dizer que não existe algoritmo de criptografia que seja incondicionalmente seguro. E tudo, que um usuário de um algoritmo de criptografia pode obter é um algoritmo que atenda aos itens do item 11, seguinte.

11. (Verdade/Falso) Para um algoritmo de criptografia ser computacionalmente seguro, um dos seguintes critérios é atendido: (a) o custo para quebrar a cifra é muito maior do que valor da informação cifrada; (b) o tempo exigido para quebrar a cifra é muito maior ao tempo de vida útil da informação. Estas são boas razões para aceitarmos/confiarmos algoritmos de criptografia. E por isso, utilizamos, até hoje, algoritmos antigos que já foram quebrados.


12. (Verdade/Falso) Um envelope digital é uma forma de distribuir uma chave de sessão usando criptografia simétrica (de chave pública) para distribuir (a chave) e criptografia de chave pública (simétrica) (para cifrar/decifar mensagens, dado que , pela experiência, a criptografia de chave pública é bem mais rápida (lenta) que a criptografia simétrica.


Parte 2: Criptografia Simétrica (0,5 cada) (10%)


  1. (Verdade/Falso) Nos algoritmos de criptografia simétrica, os modos de operação de cifra servem para dividir a mensagem completa em partes menores como blocos de dimensão fixa de bits (dependendo do modo usado com o algoritmo), que são criptogrados/decriptografados, resolvendo o problema de como adaptar um texto de dimensão diferente a uma cifra por blocos de dimensão fixa dos algoritmos, ou vice-versa, adaptar uma cifra por blocos de dimensão fixa dado pelo algoritmo, a um texto de dimensão diferente, visando sempre melhorar o nível de confidencialidade provido pelo modo de cifra.




  1. (Verdade/Falso) O modo de cifra EBC (cifra um-a-um), para determinadas aplicações, é mais seguro que o modo de cifra CBC (cifra encadeando os blocos). ECB, cifrando um bloco um-a-um, acaba sendo mais vulnerável a alterações de dados ou a uma não legibilidade aceitável. O encadeamento de blocos melhora a segurança do que é cifrado, sendo o modo mais usado.



Parte 3: Criptografia de Chave Pública (60%)

1. Para um emissor A e B um receptor de uma mensagem M: (1,5)

a) (Verdade/Falso) Criptografia/Decriptografia: o emissor criptografa uma mensagem com a chave pública do destinatário. Assinatura digital: o emissor ‘assina’ uma mensagem com sua chave privada. A assinatura é feita por um algoritmo criptográfico aplicado à mensagem M, ou hash(M), que é uma função da mensagem.

b) (Verdade/Falso) É computacionalmente fácil para a parte B gerar um par (chave pública PUb, chave privada PRb). Lembrem como fizeram no GnuPG para a geração de chaves.

c) (Verdade/Falso) É computacionalmente fácil para um emissor A, conhecendo a chave pública PUb e a mensagem a ser criptografada, M, gerar o texto cifrado correspondente: C = E(PUb, M).

d) (Verdade/Falso) É computacionalmente fácil para o receptor B decriptografar o texto cifrado resultante usando a chave privada PRb para recuperar a mensagem

original: M = D(PRb, C) = D(PRb, E(PUb, M)).

e) (Verdade/Falso) É computacionalmente inviável (a matemática nunca provou) para A ou um adversário, conhecendo a chave pública PUb, determinar a chave privada PRb.



f) (Verdade/Falso) É computacionalmente inviável para um adversário, conhecendo a

chave pública PUb, e um texto cifrado C, recuperar a mensagem original M.
2.(Acordo de chave Diffie-Hellman) (1,5)


  1. Por que o protocolo de acordo de chaves de Diffie-Hellman é vulnerável a um ataque de repetição com relação aos participantes ?

    Porque os participantes não são autenticados.








  1. O que se pode fazer para contornar essa vulnerabilidade ?

Usar assinaturas, por exemplo.


c) (Verdade / Falso) Qualquer mensagem pode ser criptografada com o
algoritmo do acordo de Diffie-Hellman. O algoritmo só serve para criar e acordar uma chave a ser compartilhada. Mas, a contribuição para a criptografia de chave simétrica surgiu a partir do número privado e o número sem sigilo que inicializam o algoritmo.

3. Altere o protocolo da figura abaixo, desenhado com criptografia simétrica, para mostrar como se pode implementar um protocolo de autenticação com criptografia de chave pública. Suponha que o terminal é uma entidade T e o sistema central uma entidade S. Considere para o terminal o par (PUT, PRT) e o par (PUS, PRS) de chave pública e chave privada para o sistema de autenticação. (1,0)


  1. Considere que o sistema central conheça as chaves públicas dos vários terminais T (PUT). E que esses conheçam a chaves pública do sistema central.

  2. O protocolo se inicia quando o terminal envia sua identificação T para o sistema central. Alguém está querendo usar o terminal.

  3. Pelo protocolo da figura, o sistema central deve enviar uma chave de sessão CS para o terminal T poder criptografar (usando criptografia simétrica com a chave de sessão CS), através da chave mestra CT.



  1. Mas, para se usar criptografia de chave pública, o sistema central, agora, se utilizará da chave pública do terminal T (PUT), enviando a chave de sessão CS criptografada para T. Com sua chave privada (PRT), o terminal T decifra a chave de sessão CS.

  2. Com CS, o terminal T pode cifrar os números r supostamente aleatórios gerados por T e enviá-los ao sistema central.

  3. De posso do número r, o sistema central modifica esse número r, adicionando 1, cifrando-o com CS e enviando para T. Lembrem que os números r e r+1 são usados apenas uma vez, para evitar ataques de repetição no procedimento de autenticação de um usuário do terminal T. Daí o termo nonce, em inglês, para denominar esses números.

  4. O terminal envia sua identificação iA e a senha sA para o sistema central poder autenticar usando o arquivo de senhas, contendo os valores hash das senhas dos usuários do sistema.

Observações:

  1. A criptografia de chave pública substitui a CT (chave mestra de T).

  2. A criptografia simétrica, com uma chave de sessão CS é usada no procedimento de autenticação.

4. (Algoritmo RSA) No algoritmo de criptografia de chave pública RSA (use seu material fornecido em aula, página 190 do livro Stallings), cada usuário (Alice e Bob) tem uma chave pública e e uma chave privada d. Suponha que Bob revele acidentalmente sua chave privada. Em vez dele usar novo módulo n (tanto o emissor como o receptor precisam conhecer (implicitamente) o valor de n, usando o RSA), ele decide gerar um novo par de chaves (e,d). Isso é seguro ou existe um modo de fatorar o módulo n (ou seja descobrir o segredo do RSA, p e q, dois números primos privados, grandes, escolhidos, que são calculados para se obter n) usado no RSA? Explique resumidamente, usando seu sentimento, já que usar a matemática é muito mais difícil. (1,0)

Não é seguro, pois a chave privada de Bob d, inicial, foi revelada acidentalmente. Então, alguém (Alice), que detenha essa chave privada d, pode usá-la para manipular o algoritmo RSA e fatorar o módulo n ou até mesmo “quebrar” com qualquer mensagem que Bob envie.

5. (Gerenciamento de Chaves Públicas) (página 206-207, livro Stalling. (0,5)

(Verdade/Falso) Várias técnicas tem sido propostas para distribuição de chaves públicas. Praticamente todas essas propostas podem ser agrupadas nos seguintes esquemas gerais: (a) anúncio público de chaves públicas, (b) diretório disponível publicamente, (c) autoridade de chave pública e (d) certificados de chave pública. O GnuPG gerencia a distribuição de chaves públicas através da armazenagem destas em servidores replicados. Podemos afirmar que o GnuPG explicitamente se utiliza de uma autoridade de chave pública (de um diretório distribuído de chaves públicas) para a publicação de chaves públicas de seus participantes.


6. (Funções Hash e Assinatura Digital) (0,5)

(Verdade/Falso) Veja o caso (c) da página 234 do livro Stallings para uma mensagem M. Usualmente, a técnica de assinatura digital tradicional não impõe sigilo a uma mensagem M que é transmitida. Somente o hash(M) é calculado e criptografado com a chave privada do emissor, ou seja, E(PRA,H(M)). Esse método tem a vantagem sobre criptografar a mensagem M inteira com a chave privada E(PRA,M), pois exige menos computação, já que o processamento de uma função hash(M) é muito mais rápida que a criptografia com a chave privada sobre M.



O método oferece autenticação, pois somente quem envia pode criar E(PRA,H(M)). E garante a integridade da mensagem assinada e transmitida, porque o hash(M) é recalculado pelo receptor e pode ser verificado sua igualdade/desigualdade com o hash(M) calculado por quem enviou a mensagem.

(Complete a frase) Uma assinatura garante o não-repúdio de quem envia porque, não é computacionalmente viável forjar uma assinatura sem a posse da chave privada, o autor da mensagem não pode repudiar o fato que assinou uma mensagem.


©principo.org 2016
enviar mensagem

    Página principal