Newsgroup: it.comp.sicurezza.crittografia
Titolo: Software per chat protetta

Ciao a tutti, premetto che non sono un esperto in materia e cercando con 
google non ho avuto grandi risultati; vorrei sapere se voi siete a 
conoscenza di un software che permetta alla mia macchina locale di 
trasformarsi in un server alla quale un gruppo limitato di utenti ( dai 5 a 
massimo 15 ) si possa collegare per chattare, ovviamente vorrei che la chat 
fosse criptata, se dovesse disporre di ulteriori servizi ( tipo scambio 
file )non è un problema ma per me è fondamentale la sicurezza del canale per 
conversazioni abbastanza confidenziali, grazie a chiunque possa fornirmi 
info utili, ciao. 

 ha scritto nel messaggio 
news:eavtdh$1lc$1...@emma.aioe.org...

Prova con Gaim Encryption:
http://gaim-encryption.sourceforge.net/
Ogni client crea le proprie chiavi RSA e manda, prima della conversazione, 
la propria chiave pubblica a ciascun componente, come sicurezza dovrebbe 
essere molto robusto. Con 2 persone funziona un maniera perfetta (io lo uso 
abitualmente), con piu' utenti in chat (tutto in stile IRC), non ho mai 
provato ma credo non ci sia problema. Il bello e' che si possono usare anche 
reti e utenze come quella ICQ o MSN esistenti, senza dover creare nessun 
server.
Spero ti sia d'aiuto.
--
BArrYZ 

 Spero ti sia d'aiuto.
Grazie mille, adesso lo proverò e ti farò sapere :-) 

 essere molto robusto. Con 2 persone funziona un maniera perfetta [...]
E in caso di "man-in-the-middle attack"?
Ciao,
un TJL73, chiavi, certificati e un sacco di arretrato da smaltire...
-- 
"L'aspetto piu` difficile della soluzione dei problemi,
 e` il prevedere i problemi causati dalle soluzioni."
                                                      -- Theodore Levitt

 E in caso di "man-in-the-middle attack"?
Beh, c'e' uno scambio di chiavi pubbliche all'inzio della conversazione, al 
massimo intercettano quelle all'inizio, poi dipende da quanto e' robusto 
l'agoritmo con cui si cripta e da quanto e' lunga la chiave (mi pare che cmq 
Gaimcript usi 128 bit, che insomma non malaccio).
-- 
BArrYZ
[_Sign?_] 

 al massimo intercettano quelle all'inizio, [...]
Ehm... cosa mi sfugge?  O_ò
Semplificando, l'attacco MitM prevede proprio che venga catturata la
chiave asimmetrica che viene scambiata al primo passo del collegamento
e sostituita con un'altra simile... in questo modo, il corrispondente
(ché non ha modo di sapere che la chiave non è originale) invia la
chiave simmetrica di sessione, cifrata con l'asimmetrica
dell'attaccante; questi, a sua volta, dopo aver decifrato la chiave di
sessione, la ricifra con l'asimmetrica originale e la invia al mittente
originario che crederà di averla ricevuta dal corrispondente.
A questo punto, la comunicazione avverrà mediante messaggi cifrati
simmetricamente con la chiave di sessione, che conoscono sia i due
corrispondenti, che l'attaccante (che potrà decifrare in modo
trasparente tutti i messaggi tra i due (o più) corrispondenti).
AFAIK, l'unico modo per ovviare a questo problema, è l'utilizzo di
certificati che garantiscano la reale appartenenza al mittente
originario (mediante la certificazione da parte di una CA o
l'autenticazione tramite WoT).
Se l'attaccante ha la possibilità di prendere il controllo dell'IM
server (e quindi, di filtrare e modificare tutti i messaggi), può
mettere in pratica questo tipo di attacco.
Non ho verificato la tecnica di funzionamento di gaim-encryption, ma
se non usa i certificati, IMHO, potrebbe essere vulnerabile a questo
tipo di attacco.
Ciao,
un TJL73 cui piaceva il vecchio /GnuPG plugin/ per Miranda...
-- 
"I ricercatori hanno scoperto che il cacao produce, sul cervello,
 alcuni degli effetti prodotti dalla marijuana. Hanno anche scoperto
 altre similitudini tra i due, ma non ricordano quali siano."
                                                           -- Matt Lauer

 tipo di attacco.
Ah ok, ora capisco cosa intendi e non sapevo si chiamasse MitM questo tipo 
di attacco (lo conoscevo, ma non sapevo avesse un nome specifico).
Nonostante sia tutto possibile come hai ricostruito tu (ma disolito questo 
avviene per le mail, non per le chat), da un punto di vista pratico direi 
che e' abbastanza facile accorgersene, perche' chi si interpone (e gia' qui 
non e' semplicissimo, specialmente se non si hanno Ip fissi) deve 
intercettare tutti gli invii e, in tempo reale, capire quando vengono 
mandate le chiavi, sostituendole al volo, cominciando a fare tutto il 
decritpting nei due sensi, il tutto sempre in realtime. Insomma non e' roba 
per tutti.
Diciamo che per una chat in tempo reale la cosa e' abbastanza complessa, lo 
escluderei, anche se non e' impossibile, e' vero. Pero' volendo con Gaim 
Encrypt penso si possa si possa prendere la chiave RSA in locale (quella che 
crea le mette dentro alla directory di Gaim o dentro alla Application data 
dello user se su Windows) e spedirla a parte, ovviamente firmandola o con un 
metodo che si reputi piu' sicuro, penso che sia sufficiente questo per 
verificare che sia la stessa chiave e escludere l'attacco di cui parli, ma 
per il 99% degli usi, cio' non e' necessario, IMHO.
Come infatti recitano le FAQ qui 
http://gaim-encryption.sourceforge.net/FAQ.php
: "This plugin's approach to 
providing this ease of use / security is very similar to that of SSH. By 
default, when you first talk to a user (host) that you haven't talked with 
before, the keys are automatically exchanged (but, like SSH, you can change 
this). Then, in the future, if the software sees a different key than the 
one you got that first time, it informs you that something may be wrong. If 
you want better security, you can verify that the public key that you 
received is the correct public key, via a channel that you feel is more 
secure than the original transmission of the key. This isn't too hard to do, 
as the public keys are stored in a human readable file (.ssh/known_hosts, 
and .gaim/known_keys). You can call up your friend and ask her to read the 
number on her screen to you, or ask your buddy to email you his key and sign 
it with his GPG key, or... "
Come tutte le cose, dipende dal livello di sicurezza che uno deve ottenere. 
Per un uso generico IMHO basta e avanza. Se serve maggiore sicurezza, basta 
verificare in quelche modo le chiavi prima di iniziare la comunicazione vera 
e propria.
-- 
BArrYZ
[_Sign?_]

 pare che cmq Gaimcript usi 128 bit, che insomma non malaccio).
Ho scritto una sciocchezza. Trattandosi di crittografia a chiave pubblica, 
la chiave e' molto piu' lunga: Gaim Encryption di default crea chiavi RSA a 
1024 bit, ma arriva fino a 4096, volendo. Insomma e' robusto. Ma come 
scambiarsi le chiavi la prima volta e' un problema a parte, effettivamente.
-- 
BArrYZ
[_Sign?_] 

 comunicazione vera e propria.
Il fatto è che una falsa sicurezza, spesso, è peggio di una consapevole
"non sicurezza".
Ciao,
un TJL73 e un minimo di sana paranoia...
-- 
"Il bello degli standard e` che ce ne sono tanti tra cui scegliere"
                                                       -- Andy Tanenbaum