Newsgroup: it.comp.sicurezza.crittografia
Titolo: MD5 di MD5...

Ciao a tutti, avrei una domanda da sottoporvi...
Io e una mia compagna di corso stiamo realizzando un sistema client-server
di instant messaging per la tesi.
Il sistema prvede un accesso del tipo username - password.
L'autenticazione avviene in questo modo: 
- mi connetto al server
- il server restituisce un numero casuale
- utilizzo il numero casuale mischiandolo alla password in  chiaro (es
numero 12345, pass ciao -> nuovapass = c1a2o345) e applico l'hash md5; a
questo punto sia il client che il server hanno una copia username -
password confrontabile... 
Il problema e' che anche su database le password sono memorizzate in chiaro
!!
Volendo mantenere lo stesso algoritmo per l'autenticazione e' sicuro fare
l'md5 dell'md5 della password (intervallando l'md5 con con un numero
casuale come prima) ?
Per spiegarmi un po' meglio l'autenticazione "nuova" sarebbe:
da lato client
- mi connetto al server
- il server restituisce un numero casuale
- calcolo l'md5 della password
- intervallo l'md5 con il numero casuale
- calcolo l'md5 dell'md5
da lato server invece sarebbe
- recupero l'hash della password memorizzato su db
- intervallo l'hash con il numero generato
- calcolo l'md5 e confronto con la password ricevuta
Grazie a tutti.
Damiano

  [X.509  available]   ,''`.
Linux Reg. User #263663 / Machine: #160060 (Debian Testing /Sid)  : :' :
On the Web: 
http://quaqo.altervista.org
 - My GPG Key: 0x5539D8E4  `. `'
On ICQ: 48618109  - On Jabber: 
qu...@jabber.org/@jabber.linux.it
    `-

 Quale sarebbe il vantaggio di fare volte l'hash ???
L'unico vantaggio che ne deriverebbe e' di non avere piu' le password
memorizzate su database in chiaro (e nemmeno su un ipotetico file di
configurazione del client), cosi' almeno a fronte di una eventuale
"intrusione" (o di un amministratore di sistema un po' troppo curioso) ci
sarebbe un po' piu' di sicurezza, non potendo ricavare direttamente le
password in chiaro.



... Ad un ipotetico attaccker  basterebbe  collegarsi  al server,
aspettare la salt string, aggiungerla alla sua MD5, fare il nuovo
Hash, ed entrerebbe comunque...
... Insomma la password in realta` sarebbe l'MD5 d'una password...
... Solo l'utente inserirebbe la password in chiaro, giusto? Che


 
Esatto, l'utente inserirebbe solo la password nel proprio client in chiaro.
Ciao.
Damiano

 messo sotto GPL
(snip)
Di cosa si tratta esattamente? :)


 
E' un sistema client/server di instant messaging (tipo icq o msn per
intenderci) ma realizzato interamente in java, visto che durante i corsi
abbiamo fatto pochissima programmazione (tantomeno programmazione di rete)
abbiamo pensato di fare qualcosa che poi potesse esserci utile per il 
I client usano il server solamente per fare login o ricerche, i messaggi
sono scambiati senza l'ausilio del server. (missa' che qui stiamo andando
un po ot..)

 E' un sistema client/server di instant messaging (tipo icq o msn per
(snip)
Carino...


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Damiano wrote:
| si, all'inizio volevamo tentare di usare i sistemi di chiave
| pubblica/privata (gia' esistenti in java) ma cosi' la tesi sarebbe andata
| troppo x le lunghe..
Perché per le lunghe?
Se usi codice pronto e non è il tuo punto centrale della tesi (e quindi
non devi scriverci 7 capitoli a riguardo), direi che non è un grosso
problema...
| Qualcuno ha provato qualcosa del genere con java ?
...ma potresti addirittura usare una connesiosne SSL, no?
Se puoi usare Java 1.4 (accontentarsi dell'1.1 di Microsoft è pazzia) è
addirittura banale:
javax.net.ssl.SSLSocket
al posto di
java.net.Socket
In tal caso chiedi direttamente md5(pass) senza fare handshake che tanto
è tutto protetto dall'SSL.
Così salvi capra e cavoli.
Comunque per proteggere la mera autenticazione non ci vuole moltissimo a
mettere su qualcosa di sicuro (java.math.BigInteger aiuta molto...).
Lapo
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj++tJQACgkQaJiCLMjyUvu/lgCeKngD8siyNc62SrUN9TqkQgGU
gxoAnjAvUAvU+6sENoA8w7td8ksSKIPV
=SjHb
-----END PGP SIGNATURE-----

Il Sat, 22 Nov 2003 01:57:57 +0100, L.A.P.O. ha scritto:
[...]
Ehehe, lo sapevo. ;)


 
ehm... ecco un'altra classe a noi sconosciuta... :)
Grazie per i consigli, direi che ci sta un ringraziamento nella tesi ! :-)
Ciao.
Damiano

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Damiano wrote:
|>Se puoi usare Java 1.4 (accontentarsi dell'1.1 di Microsoft è pazzia) è
| beh, certo che usiamo l'1.4... il progetto e' sviluppato su una macchina
| linux.. :)
Sono contento che il vostro lavoro sia una tesi e abbiate questa
"libertà", troppi ancora si "limitano" alle features del Java1.1 di
Microsoft "perché la maggior parte della gente l'applet lo vedrebbe con
quello" (io preferisco invere linkare il JRE della Sun sulla pagina e
fare in modo che l'utente capisca e decida...)
| Fantastico ! allora cerco bene con l'api, nel caso sia una cosa indolore
| (visto che oramai il programma e' finito, stiamo iniziando a scrivere, la
| tesi e' il 19 dicembre) modifichiamo il sorgente
Guarda personalmente javax.net.ssl.SSLSocket non l'ho mai usato, lo
trovato principalmente per rispondere al vostro messaggio, ma non
dovrebbe essere troppo complicato, forse la cosa "peggiore" è creare il
certificato "self-signed" per il server.
In caso abbiate dei dubbi non sulla programamzione Java in sé, ma sul
funzionamento del SSL "dal punto di vista crittografico" chiedete pure
su questo thread.
In caso i dubbi fossero sul Java potete sempre usare la mail privata o
un ng più appropriato (per evitare di andare troppo OT qua).
|>Comunque per proteggere la mera autenticazione non ci vuole moltissimo a
|>mettere su qualcosa di sicuro (java.math.BigInteger aiuta molto...).
| ehm... ecco un'altra classe a noi sconosciuta... :)
È una classe per la gestione dei numeri grandi, molto molto utile per
implementare velocemente sistemi di crittografia asimmetrica come RSA o
scambi alla Diffie-H, che prevedono operazioni di esponenziazione con
numeri di 3-400 cifre decimali...
Pare che in realtà la classe suddetta sia poco ottimizzata (ad esempio
fa le moltiplicazioni "come alle superiori" (O grande di "n^2") e non
usando le FFT (O grande di "n ln n")... ma che per la crittografia in
realtà sia già sufficente e comunque è comodo il fatto che sia già tra
le librerie base, c'è sempre tempo a farne una sottoclasse che ne
ridefinisca il "multiply" 0=)
| Grazie per i consigli, direi che ci sta un ringraziamento nella tesi ! :-)
Esagerato ^^
(ovviamente non mi offendo però, ghghgh)
Lapo
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj/B0zgACgkQaJiCLMjyUvtnzwCgowhTtwV6EYFTqCxyvYENWVV4
15YAmgM9zAy6qbZzdp55Jg9DLvFkBrYI
=v7/0
-----END PGP SIGNATURE-----

 (ovviamente non mi offendo però, ghghgh)
Poi fattene inviare una copia (se non cartacea, in PS/PDF), cosi`
te la puoi incorniciare e farti pubblicita`... ;)
Sarebbe fico... Chiaramente se Damiano acconsentisse. :P


 Damiano

  [X.509 available]  ,''`.
Linux Reg. User #263663/NEW Machine: #216144 (Debian Sarge/SID) : :' :
On the Web: 
http://www.quagliata.eu.org
 - My GPG Key:0x5539D8E4 `. `'


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
quaqo wrote:
| Ma ripeti a iosa sempre le stesse cose???
Quaqo, dici questo perché sei biecamente ignorante, non sai che "wasted"
è la PANACEA DI TUTTI I MALI?
Risolve ogni problema di crittografia, di p2p, di instant messaging, di
sicurezza in senso lato e, *se glielo chiedi per favore* ti fa anche il
caffè! (sì, anche americano e marocchino)
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj/MbOgACgkQaJiCLMjyUvtumACcD9eKe9zvveOhIH+9TIj6C6jv
7iQAnAifraAMpTfL24tlJfnR7MfeJuDu
=Emup
-----END PGP SIGNATURE-----

 caffč! (sě, anche americano e marocchino)
Io, da adolescente, l'ho usato anche per i brufoli...
FENOMENALE!... anzi FENORMONALE!!!...
Diciamo che, parlando di "Waste", l'unico "spreco" č quello "di banda".
Ciao,
un TJL73 che preferisce tradurlo in "scarto"...
-- 
"I gatti sono stati destinati ad insegnarci
 che in natura non tutto ha uno scopo."
                                                     -- Garrison Keillor

 è la PANACEA DI TUTTI I MALI?
Ma fa risparmiare 5 centesimi per ogni transazione XML effettuata?
:)


Il Tue, 02 Dec 2003 12:28:09 +0100, TJL73 ha scritto:
[...]
Ho indagato un po'... Pare che tra l'altro il progetto originale
(Waste), pubblicato come GPL, in realta` sia stato pubblicato da
un dipendente senza il consenso della societa`  che deteneva  il
copyright (AOL ;)).
http://www.nullsoft.com/free/waste/
Su Google ci sono un sacco di notizie su questo fatto...
Il progetto in se non sarebbe malaccio,  ma  non mi pare c'entri
parecchio (non c'entra nulla!) con gli argomenti trattati.
Saluti,
