A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Protocolos Básicos Troca de Chaves Autenticação Autenticação e Troca de Chaves.

Apresentações semelhantes


Apresentação em tema: "Protocolos Básicos Troca de Chaves Autenticação Autenticação e Troca de Chaves."— Transcrição da apresentação:

1 Protocolos Básicos Troca de Chaves Autenticação Autenticação e Troca de Chaves

2 Protocolos Básicos Troca de Chaves Uma técnica de criptografia é uso de chave de sessão. Chave de sessão é assim chamada por ser utilizada uma única vez para uma comunicação particular. Chave de sessão somente existe durante a comunicação.

3 Protocolos Básicos Troca de chaves com criptografia simétrica A deseja se comunicar com B e recebe uma chave de sessão K S. A T : Requisição K S, ID B T A : E KA ( K S ) || E KB ( K S ) A : D KA ( K S ) A B : E KB ( K S ) B : D KB ( K S ) A E K S ( m ) B

4 Protocolos Básicos Troca de chaves com criptografia assimétrica A deseja se comunicar com B e recebe uma chave de sessão K S. A T : Requisição KU B, ID B T A : KU B A : Gera K S A B : E KU B ( K S ) B : D KR B ( K S ) A E K S ( m ) B

5 Protocolos Básicos Man-in-the-Middle Attack A B : KU A M : KU A ; M B : KU M B A : KU B M : KU B ; M B : KU M A B : E KU M (m) Alice pensa que tem uma KU B M : E KU M (m) ; M : D KU M (m) ; M : m ; M :> m M : E KU B (m) ; M B : E KU B (m) ; B : D KRB (m) ; B : m B A : E KU M (m) Bob pensa que tem uma KU A M : E KU M (m) ; M : D KR M (m) ; M : m M : E KU A (m) ; M A : E KU A (m)

6 Man-in-the-Middle Attack Mesmo que as chaves públicas de Alice e Bob estejam armazenadas em uma base de dados, este ataque funcionará. Mallory pode interceptar a consulta de Alice na base de dados e substituir sua própria chave-pública para Bob.

7 Man-in-the-Middle Attack Mallory pode interceptar a consulta de Bob na base de dados e substituir sua própria chave- pública para Alice. Ou melhor ainda, Mallory pode invadir a base de dados e substituir as chaves de Alice e Bob, pela chave dele.

8 Man-in-the-Middle Attack Então, Mallory simplesmente espera Alice e Bob se comunicarem, intercepta e modifica mensagens capturadas de forma bem sucedida. Este Man-in-the-Middle Attack funciona bem porque Alice e Bob não tem nenhum meio para verificar que eles estão se comunicando entre eles mesmo.

9 Man-in-the-Middle Attack Assumindo que Mallory não causa nenhum atraso de rede notável, Alice e Bob não tem ideia que alguém situado entre eles está lendo tudo de sua supostamente comunicação secreta.

10 Protocolos Básicos Interlock Protocol, Ron Rivest and Adi Shamir A B : KU A B A : KU B A : E KU B ( M A ) A B : { E KU B ( M A ) } / 2 B : E KU A ( M B ) B A : { E KU A ( M B ) } / 2 A B : { E KU B ( M A ) } / 2´ B : D KR B ( 1 / 2 || 1 / 2´ ) B A : { E KU B ( M B ) } / 2´ A : D KR A ( 1 / 2 || 1 / 2´ )

11 Interlock Protocol Este protocolo criado por Ron Rivest, Adi Shamir tem uma boa chance de frustar o Man-in-the-Middle Attack.

12 Interlock Protocol O importante ponto aqui é que metade de mensagens não tem nenhuma utilidade sem a outra metade, ela não pode ser descriptada. Bob não pode ler qualquer parte da mensagem de Alice até a etapa (6) de concatenação de duas metades.

13 Interlock Protocol Alice não pode ler qualquer parte da mensagem de Bob até a etapa (7), ou seja, até que Alice junte as duas metades e descriptografe com sua chave privada.

14 Interlock Protocol Este causa um problema para Mallory. Quando ele intercepta metade da mensagem de Alice em (3), ele não pode decriptá-la com sua chave privada e re-encriptá-la com a chave pública de Bob. Quando ele intercepta metade da mensagem de Bob em (4), ele tem o mesmo problema.

15 Protocolos Básicos Troca de chaves e Transmissão de Mensagens B A : KU B (ou A obtém KU B de uma base de dados de chaves) A : Gera K S A : E K S ( M ) A B : E K S ( M ) || E KU B (K S ) B : D KR B ( K S ) B : D K S ( M )

16 Protocolos Básicos Troca de chaves de sessão e Mensagens Compartilhadas A : Gera K S A : E K S ( M ) A B,C,D : E K S (M) || E KU B (K S ) || E KU C (K S ) || E KU D (K S ) B : D KR B ( K S ) B : D K S ( M ) C : D KR C ( K S ) C : D K S ( M ) D : D KR D ( K S ) D : D K S ( M )

17 Protocolos Básicos Particionamento de Segredos T : Gera R (random bit string do tamanho de M) T : S = M R T A : R T B : S Para reconstruir a mensagem M: A ^ B : M = R S Problema: perda de R ou S

18 Protocolos Básicos Particionamento de Segredos entre N Pessoas T : Gera R, S, T (random bit string tamanho de M) T : U = M R S T T A : R T B : S T C : T T D : U A ^ B ^ C ^ D : M = R S T U

19 Protocolos Básicos Compartilhamento de Segredos Com simples uso de criptotografia assimétrica T : Gera K S T : E K S ( M ) T : M 1 = E KU A ( E KU B (K S ) ) : M 2 = E KU A ( E KU C (K S ) ) :.... : M n = E KU n-1 ( E KU n (K S ) ) T A,B,C,D : E K S (M) || M 1 || M 2 ||... || M n

20 Compartilhamento de Segredos A,B,C,D : E K S (M) || M 1 || M 2 ||... || M n de modo que quaisquer três deles podem por seus pedaços juntos e reconstruir a mensagem M (segredo) Se C está de férias, A, B e D podem reconstruir M. Se B estiver de férias, A, C e D podem obter M. Mas, se B e C estiverem de férias, A e D não podem reconstruir M.

21 Protocolos Básicos Esquemas de autenticação São métodos através dos quais alguém pode provar sua identidade, sem revelar conhecimentos importantes e que possam ser usados de forma maliciosa no futuro.

22 Protocolos Básicos Autenticação usando Hash A S : senha Alice envia sua senha para um servidor S. S : Hash (senha) S calcula o Hash da senha recebida. S : Compara com valor Hash da senha, previamente armazenado. A lista de hash de senhas é sem utilidade, porque uma função Hash não pode ter inversa para recuperar senhas.

23 Ataque do Dicionário e Salt Um arquivo de senhas cifrado com uma função Hash é ainda vulnerável. Em seu tempo livre, Mallory gera de senhas mais comuns. Ele opera sobre todas destas com uma função Hash e armazena os hashes resultantes. Se cada senha tem 8 bytes, o arquivo resultante será não mais do que 8 Megabytes.

24 Ataque do Dicionário e Salt Mas, se Mallory furta, em um host, um arquivo de senhas criptografadas (por Hash), ele compara esse arquivo com seu arquivo de senhas possíveis criptografadas, e vê o que corresponde. Este é o ataque do dicionário que pode ser realizado. Um salt é uma string aleatória, que dificulta este ataque. Salts são concatenados com senhas, antes de serem operados com uma função Hash.

25 Ataque do Dicionário e Salt Então, ambos, o valor salt e o resultado da função Hash são armazenados numa base de dados no host. Se o número de valores salt é bastante grande, isto praticamente elimina o ataque do dicionário contra senhas usadas comumente, porque Mallory tem de gerar um hash para cada valor salt possivel.

26 Problemas de segurança Mesmo com salt, o protocolo de autenticação usando hash tem problema de segurança: quando Alice envia sua senha à S, qualquer um que tenha acesso ao caminho dos dados de Alice, poderá ler sua senha. A senha não pode ser lida antes de S calcular o hash dessa. Criptografia de chave pública pode resolver este problema.

27 Protocolos Básicos Autenticação com chave compartilhada K entre A e B A B : N A B A : N B || V = E K ( N A || N B || ID B ) A : D K ( V ) == N A || N B || ID B A B : Q = E K ( N B || ID A ) B : D K ( Q ) == N B || ID A

28 Autenticação com chave compartilhada K entre A e B Criptografia simétrica provê alguma autenticação. Quando Bob recebe uma mensagem de Alice, criptografada com a chave compartilhada, Bob sabe que a mensagem veio de Alice. É assumido que ninguém mais conhece tal chave. Contudo, Bob não tem nenhum modo de convencer uma terceira parte (Trent). Bob não pode mostrar a mensagem a Trent e convencê-lo de que veio de Alice. Trent pode estar convencido de que a mensagem veio de Alice ou de Bob, e não tem nenhum modo para saber que veio de qual deles.

29 Autenticação com criptografa de chave pública (1) S A : N N é uma string aleatória (2) A S : E KR A (N) || ID A (3) S procura a chave pública de Alice, KU A, correspondente à chave privada KR A, em sua base de dados de chaves públicas. (4) S decripta com essa chave pública D KU A (N) obtendo N. (5) Se N corresponde ao que S enviou à A (Alice) em (1), S permitirá que Alice acesse ao sistema. A : N == D KU A ( E KR A ( N ) ) ? Se ninguém mais tem acesso à chave privada de Alice, ninguém poderá se passar por Alice.

30 Protocolos Básicos Autenticação e Troca de Chave Estes protocolos combinam autenticação e troca de chave para resolver um problema geral: Alice e Bob estão nas extremidades opostas de uma rede e desejam se comunicar com segurança. Como pode Alice e Bob trocarem uma chave secreta e ter certeza que ele e ela estão falando entre eles, e não com o atacante Mallory ? A maioria dos protocolos assumem que Trent compartilha uma diferente chave secreta com cada participante, e que todas essas chaves estão em algum lugar antes do protocolo iniciar.

31 Protocolos Básicos Autenticação arbitrada T : Wide-Mouth-Frog Protocol A T : ID A || E KA ( T A || K S || ID B ) T B : E KB ( T B || K S || ID A ) T é um servidor confiável. K A e K B são chaves compartilhadas com T que só servem para distribuição e não para encriptar mensagens. T A e T B são rótulos de tempo

32 Protocolos Básicos Yahalom A B : ID A || N A B T : ID B || E KB ( ID A,N A,N B ) T A : E KA ( ID B,K S,N A,N B ) || E KB ( ID A,K S ) A B : E KB ( ID A,K S ) || E KS ( N B ) B : D KB ( E KB ( ID A,K S ) ) D KS ( E KS (N B ) ) A e B ficam convencidos que estão falando entre eles e não com uma terceira parte, o atacante Mallory.

33 Protocolos Básicos Needham-Schroeder A T : ID A || ID B || N A T A : [ E KA ( N A || ID B || K S ) || E KB ( K S || ID A ) ] (2) A B : E KB ( K S,ID A ) B A : E KS ( N B ) A B : E KS ( N B -1 ) (5)

34 Needham-Schroeder Protocol Tudo em torno de N A, N B, N B -1 é evitar ataques de repetição. Nestes ataques, Mallory pode registrar mensagens já transmitidas e então usá-las mais tarde em uma tentativa de subverter o protocolo.

35 Needham-Schroeder Protocol A presença de N A em (2) assegura a Alice que a mensagem de Trent é legítima e não uma repetição de uma resposta de uma execução prévia do protocolo. Quando Alice decifra N B e envia (N B – 1) em (5), Bob é garantido que as mensagens de Alice não são repetições de execuções prévias do protocolo.

36 Protocolos Básicos Kerberos A T : ID A, ID B T A : E KA ( t || L || K S || ID B ) || E KB ( t || L || K S || ID A ) A B : E KS ( ID A, t ) || E KB ( t || L || K S || ID A ) B A : E KS ( t+1 )

37 Kerberos Variante de Needham-Schroeder. Alice e Bob compartilham chaves com Trent (KDC) Alice deseja gerar uma chave de sessão para conversação com Bob. O protocolo funciona, mas assume que todos os clocks estão sincronizados com o clock de Trent (KDC). Na prática, o efeito é obtido por sincronizar cloks dentro de poucos minutos de um servidor de tempo seguro e detectar repetições dentro de um intervalo de tempo.


Carregar ppt "Protocolos Básicos Troca de Chaves Autenticação Autenticação e Troca de Chaves."

Apresentações semelhantes


Anúncios Google