On Thursday 25 November 2004 15:11, Thiago Macieira wrote:
> Leonardo Pinto wrote:
> >Tudo bem Thiago. Entendi suas coloca��es, mas � uma pergunta que n�o
> >quer calar: Todo processo de fazer existe o desfazer.
>
> Prove :-)


j� q vc citou abaixo um exemplo com um hash bem conhecido (md5):
http://eprint.iacr.org/2004/199.pdf

outros:
http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf
http://eprint.iacr.org/2004/146.ps
http://www.cryptography.com/resources/whitepapers/TimingAttacks.pdf
http://www.cryptography.com/resources/whitepapers/DPA.pdf

resumindo: md5 (e sha) apresentaram recentemente falhas consideravelmente 
graves (md5 j� tinha sido parcialmente quebrado h� um bom tempo), ou seja, 
demonstraram q � poss�vel que sejam gerados dois hash's absolutamente 
iguais (colis�es) a partir de fontes (entradas) diferentes.

aconselha-se at� q o md5 seja "abandonado" definitivamente. e olha q at� hoje 
ele � usado p/ armazenar senhas, principalmente em bancos de dados e sistemas 
na web (ou mesmo softwares, muitos at� comerciais).

lembram-se do md2, md4 (por q n�o o utilizam mais)? (pq foram quebrados)
agora com as recentes falhas do md5 quando ser� que ir� surgir o md6?

(+ sobre md5 abaixo... acho q t� meio confuso o conceito de hash)


> >Se eu sei como
> >fiz uma coisa tenho/posso como saber desfazer correto?!
>
> N�o.


sim, matem�ticos criam algor�timos criptogr�ficos e matem�ticos (ou hackers) 
utilizando muitas vezes criptoan�lise quebram esses mesmos algor�timos 
criptogr�ficos (vide o que descrevi acima sobre md5/sha).

sempre foi assim e sempre vais ser...

n�o existe c�digo inquebr�vel. pode ser dif�cil ou temporalmente invi�vel com 
a tecnologia atual quebrar alguns destes algor�timos, mas que � poss�vel 
sempre � (e sempre vai ser, vide a hist�ria da criptografia em s�)!


> Se eu tenho o n�mero 1331 e fa�o m�dulo 16, o resultado � 3. Da mesma
> maneira, o n�mero 19 m�dulo 16 tamb�m � 3. Dado que voc� tem 3, voc� sabe
> qual foi o n�mero de origem?

analogia incorreta p/ o t�pico, al�m do mais depende de como vc cifrou isso, 
qual algor�timo vc usou, como, q tipo de informa��es tenho dispon�veis p/ 
trabalham em cima das mesmas, se vc usou esquema de chaves, etc...

um exemplo meio maluco:
http://www.cs.mcgill.ca/~crepeau/PS/BCS96.ps


> Outro exemplo: 
>
> # cat /etc/shadow | md5sum
> 47112240a9e94c1ea46c569749877faa  -
>
> Voc� consegue reconstruir o meu arquivo, dado o MD5?


n�o! pq o md5 nada mais � do que um "hash de m�o �nica" (one-way hash 
function). vc n�o criptografou absolutamente nada do arquivo original 
descrito acima, nem um �nico bit!

o que o md5 faz (grosseiramente explicando) � quebrar o arquivo em blocos de 
tamanhos fixos e depois executar sucesivamente uma s�rie de opera��es 
matem�ticas nos blocos, gerando uma "assinatura" �nica, nada mais, nem nada 
menos do que isso (n�o tem absolutamente conte�do algum do seu /etc/shadow no 
hash resultante que descreveu, ent�o n�o d� p/ recuperar o seu shadow s� com 
o hash, mas posso comparar com um outro arquivo e qdo o hash bater afirmar 
[n�o mais] que "reconstrui" seu shadow [apenas "achei" outro com mesmo 
hash]).

hash n�o preserva (criptografa) o cont�udo (� s� uma "assinatura" �nica)!


> Mais um exemplo: dada a assinatura GPG desta mensagem, voc� consegue
> reconstruir a pr�pria mensagem?


"PGP pode ser enganado de v�rias formas diferentes" - Phil Zimmermann

ops, mais uma vez (como o exemplo q citou do /etc/shadow sobre hash), vc 
apenas assinou a mensagem (neste caso), ela n�o est� criptografada! al�m do 
mais sua assinatura n�o cont�m a sua mensagem criptografada (como o exemplo 
do /etc/shadow tem-se apenas um hash p/ comparar a integridade).

a sua assinatura apenas "autentica" o hash gerado em cima da mensagem p/ 
garantir q o q vc escreveu � original (ou seja, o que est� na mensagem foi 
realmente o que vc escreveu)...

al�m do mais tem gente que jura de p�s juntos q tem trapdoors no c�digo do pgp 
(a nsa "obrigou" o "carinha" a faze-lo, ser�?). n�o duvido nem um pouco...

ah, pgp "usa" o sha-1 p/ gerar os hashes (e o sha foi criado pela nsa)!
(vide papers que citei no in�cio da mensagem).

p/ comprometer sua mensagem assinada eu posso, por exemplo, "descobrir" sua 
frase-senha, roubar sua chave privada (1o roubar a chave) e assinar 
(lembre-se q falamos de assinaturas) uma mensagem em seu nome...

o "gargalo" de qq sistema de seguran�a s�o as senhas e como tb n�o existe 
sistema 100% seguro � perfeitamente poss�vel eu "roubar" sua chave privada e 
descobrir sua frase-senha... e ai? posso tb falsificar sua chave p�blica e 
enganar um terceiro desavisado (pessoa), pior ainda, n�o?

outra coisa, qdo vc criptografa (e n�o apenas assina, como vc fez) uma 
mensagem, por exemplo, usando "minha" chave p�blica (p/ criptografar com sua 
privada) eu consigo recuperar a mensagem original (se eu tiver minha chave 
privada [ahh!] e sua chave p�blica), isso pq vc criptografou usando a minha 
p�blica (q bagun�a, d� p/ confundir n�o?). ent�o a criptografia em s� � mais 
complexa ainda e nem de longe t�o segura como imaginamos e n�o d� p/ 
criptografar uma mensagem gen�rica sem a chave p�blica de algu�m.

se vc criptografar p/ vc mesmo, e eu tiver sua chave privada (j� demonstrei q 
� poss�vel isso ocorrer) eu consigo recuperar o que vc codificou (sua 
frase-senha ajuda tb neste caso, e ela � quebr�vel, pois vc, q gerou a mesma 
� humano e enquadra-se dentro das limita��es de nossa esp�cie p/ gerar 
senhas, q n�o maioria das vezes n�o s�o seguras).

posso tb usar an�lise de tr�fico p/ "deduzir" muita coisa �til p/ comprometer 
o esquema de chaves q vc usa ou ent�o criptoan�lise p/ quebrar o c�digo (n�o 
� imposs�vel e � o q tem demonstrado mais resultados ao longo da hist�ria da 
criptografia). ningu�m garante q os algoritmos de chave p�blica, algoritmos 
de sum�rio da mensagem (sha, etc), e cifras de bloco usados pelo pgp sejam 
100% seguros ou inquebr�veis (vide md5 e sha-0, q j� eram).

lembrando q vc n�o fez nada disso, vc apenas assinou sua mensagem (com sha-1, 
q � um hash e � perfeitamente quebr�vel, sua assinatura apenas autentica o 
hash)...

novamente:
http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf

ah, p/ quem acha o pgp "seguro" (ou que sempre foi, se preferirem):
http://www.schneier.com/paper-pgp.pdf
http://www.schneier.com/paper-chotext.ps.gz


> No caso de uma senha, sabemos que duas senhas distintas n�o gerar�o a
> mesma criptografia.


hash! leia os papers do in�cio da mensagem q ficar� claro o contr�rio.


> � claro que o universo de auto-criptografia � 
> restrito.


n�o tanto quanto antigamente...


> Isso permite um ataque de for�a bruta. Mas n�o significa que 
> voc� pode desfazer o processo.


for�a bruta (compara��o), com tempo dispon�vel, "quebra" qq hash... al�m do 
mais j� est� provado q n�o h� mais garantia de integridade na compara��o do 
hash (via for�a bruta) em alguns algor�timos criptogr�ficos bem conhecidos, 
dado o fato de q � poss�vel gerar dois hash's iguais nos mesmos...

al�m do mais, com o hash comparado � poss�vel saber o que ele representa, 
lembrando que ele n�o ir� descriptografar absolutamente nada (pq n�o tem nada 
criptografado da fonte que o gerou), uma vez que ele nada mais � do que uma 
mera assinatura de integridade refencial de alguma coisa.

exemplo:

$ echo senha | md5sum
6fd720fb42d209f576ca23d5e437a7bb  -

com um ataque de dicion�rio, qdo eu gerar o hash da palavra "senha" (do 
dicion�rio de palavras) e comparar com o hash que quero quebrar com for�a 
bruta, notarei que ser�o iguais, da� � poss�vel ter "certeza" (n�o mais em 
alguns algor�timos) que o que o hash que quero quebrar representa a palavra 
"senha" (n�o desfiz nada, mas "quebrei" o c�digo, gerei o mesmo hash e sei o 
que ele representa agora, assim as senhas s�o quebradas).


> Repito: a criptografia DES, e as senhas MD5 s�o de sentido �nico.


sim, "one-way hash function" (md5)... "des" � pr�-hist�ria e recentemente foi 
definitivamente abandonado como padr�o pelo "nist".

http://www.itl.nist.gov/fipspubs/fip46-2.htm
http://www.schneier.com/blog/archives/2004/10/the_legacy_of_d.html

ah, des != md5 (s�o conceitos diferentes e n�o fazem a mesma coisa).


> Se 
> quiser saber mais, vai ter que ler os papers sobre o assunto que garantem
> isso. Eu n�o sei explicar.

concordo, citei dois que comprovam que tais algor�timos podem ser quebrados...

esse � um assunto bem complexo, fiquem � vontade p/ questionar o q por ventura 
posso ter confundido, visto q n�o sou nenhum especialista em criptografia.
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a