Meet-in-the-middle é um ataque a sistemas criptográficos que permite reduzir a robustez de sistema que utiliza um algorítmo duas vezes, como por exemplo o Double DES.
Meet-in-the-middle tem um princípio simples, porem depende de muito recurso de memória. Imagine o seguinte mecanismo de criptografia:
cryptotext = encripta(y,encripta(x,plaintext))
e consequentemente:
plaintext = decripta(x,decripta(y,cryptotext))
Sendo que as chaves "x" e "y" tem 64 bits cada.
Para realizar o meet-in-the-middle, o agressor precisa conhecer um par "cryptotext" e "plaintext" válido para as chaves x e y (known-plaintext attack). Então ele deve:
1) Gerar valores M para todas as combinações de chaves possíveis (x1, x2, x3, ...):
M1 = encripta(x1,plaintext) M2 = encripta(x2,plaintext) M3 = encripta(x3,plaintext) ...
São 264 chaves possíveis, portanto serão 264 valores de M. Todos os valores M e suas chaves correspondentes devem ser armazenados em uma tabela hash (daí a necessidade de muita memória). O esforço realizado neste passo é de 264 operações.
2) Gerar valores N para todas as combinações de chaves possíveis (y1, y2, y3, ...).
N1 = decripta(y1,cryptotext) N2 = decripta(y2,cryptotext) N3 = decripta(y3,cryptotext) ...
São 264 chaves possíveis, portanto serão 264 valores de N. A cada valor N calculado, deve-se buscar o um valor igual de M na tabela hash gerada no passo 1. Quando os valores de N e M forem iguais se encontrarão os valores correspondentes das chaves x e y. O esforço realizado neste passo foi de 264 operações.
O esforço total para quebrar as chaves foi de 264 + 264 = 265. Ou seja, foi muito menor que quebrar um algorítmo de 128 bits, na qual o esforço é da ordem de 2128.
Marcadores: Ataque
O ser humamo é um conservador por natureza, sente-se confortável no status quo, e desconfortável na mudança. É a transposição da primeira lei de Newton, ou princípio da inércia, para a psicologia.
Hoje observei um comportamento interressante. Um amigo meu, cliente de um banco, percebeu um novo controle de autenticação em seu internetbanking. O controle, um "one-time-password" via SMS, com certeza agrega segurança, porem não resolve todos os problemas. Esse amigo, ao invés de sentir-se mais seguro, começou a me questionar das formas que este controle poderia ser contornado, interceptação da mensagem SMS, sequestro relâmpago, etc. Seu desconforto com nova situação era claro, apesar que tecnicamente o acesso ao internetbanking ficou mais seguro. Essa pessoa estava em uma situação mais insegura porem não tinha consciência desta insegurança, agora passou para uma situação mais segura porem agora com consciência das vulnerabilidades que ainda existem. Mesmo assim, a ignorância lhe era mais confortável, ao passo que a consciência, mesmo que mais segura, lhe incomodava.
Observo a todo o momento o mesmo comportamento de coordenadores, gerentes, diretores e usuários, que sentem-se mais seguros ao preferir a ignorância do que ter a consciência das limitações e vulnerabilidades dos processos aos quais são responsáveis. Não é a razão que os guia, mas quem disse que o homem é um ser racional.
Como lidar com essas espectativas? Como lidar com motivações irracionais? Devemos sempre apelar para razão? No final, no que o usuário vai ter fé, no resultado de uma análise de risco ou na sua percepção de (in)segurança?
Marcadores: Viagem
Marcadores: BombaDeFumaça, Criptografia, Windows
janeiro 2000 fevereiro 2000 março 2000 julho 2005 agosto 2005 setembro 2005 outubro 2005 novembro 2005 dezembro 2005 janeiro 2006 março 2006 abril 2006 maio 2006 junho 2006 julho 2006 agosto 2006 setembro 2006 outubro 2006 novembro 2006 dezembro 2006 janeiro 2007 fevereiro 2007 abril 2007 maio 2007 junho 2007 julho 2007 agosto 2007 setembro 2007 outubro 2007 novembro 2007 janeiro 2008 fevereiro 2008 março 2008 junho 2008 setembro 2008 novembro 2008 dezembro 2008 junho 2009 julho 2009 agosto 2009 setembro 2009 outubro 2009 dezembro 2009 fevereiro 2010
Assinar Postagens [Atom]