ciao,
baumanto ha scritto:
In un secondo momento gli basterà interrogare il server e passare la password criptata, che risulterà corretta, per autenticasi.
mmmh, qualche esperto di sicurezza mi smentirà ma da quanto posso capire dal protocollo SSL/TSL credo che l'ipotetico
man-in-the-middle non possa trarre vantaggio dal traffico che ha catturato.
Certamente, egli potrebbe replicare la richiesta di login ma poi non avrebbe modo di decrittare la risposta perché i dati che ha ricevuto non sono decrittabili con la chiave pubblica del server. L'algoritmo asimmetrico è il solo il primo passo della comunicazione e serve unicamente alla negoziazione di un protocollo simmetrico e per lo scambio della relativa chiave di crittografia. Solo il client da cui si origina la richiesta conosce questa chiave e il
man-in-the-middle non può sniffarla perché il messaggio in cui è contenuta è decrittabile solo dalla chiave privata conservata segretamente dal server.
L'unica possibilità di cui il software malevolo dispone è
questa qui ma il browser ti protegge da questa eventualità perché ti avvertirebbe se il certificato non risultasse emesso da una Certification Authority riconosciuta.
Infatti, se hai usato Fiddler, il debugger che ti permette di ispezionare il traffico di rete, noterai che ti chiede di installare un suo certificato farlocco affinché ti possa mostrare il traffico su https. Il browser a quel punto ti avvisa che stai usando un certificato non valido e quindi tu sei ben cosciente che qualcosa non va.
Secondo me lo "sniffer" consisteva in un keylogger, cioè un programmino malevolo che cattura il testo mentre viene digitato sulla tastiera. Può essere?
HTTPS non ti può proteggere se i dati di autenticazione vengono rivelati a terzi.
baumanto ha scritto:
Banche e assicurazioni usano tutte un sistema basato su token come RSA con password usa e getta. Come è possibile creare una password del genere?
Se non hai lo stesso requisito di sicurezza che hanno le banche, un sistema economico sarebbe quello di generarsi per ogni utente un certo numero di one-time-password casuali e consegnargliele su un medium fisico (stampate su un cartoncino). Ogni qualvolta una password viene usata per accedere, la elimini dal database.
Oppure, molto più semplicemente, invii un'email o un sms all'utente ogni qualvolta si verifica un accesso. Così, se si rende conto che si è verificato un accesso non autorizzato, potrà tempestivamente chiedere il blocco del suo account o il cambio della password.
ciao
Modificato da BrightSoul il 31 gennaio 2012 22.23 -