mordecai ha scritto:Bene ti ringrazio. Ho capito che il browser fa dei controlli interni sui certificati ma a livello di trasmiossione non capisco come faccia ad "insospettersi".
Faccio un esempio cosi magari è più facile spiegare il meccanismo.
Ci si trova in una LAN con 3 host: A=attaccante V=vittima R=router che inoltra il traffico in Internet ad un Server S
Lo schema del MITM è il seguente:
V--->A--->R----->>S Richiesta di connessione da parte della vittima
S----->>R--->A--->V Risposta alla connessione
Bene. Se nella richiesta, A replica alla perfezione il pacchetto di V che viene mandato ad R e poi ad S....ed al ritorno viene fatto lo stesso, perchè al ritorno il browser di V si insospettisce?
Forse A ha involontariamente cambiato qualcosa nel certificato?
Non dovrebbe essere lo stesso certificato dato da S?
Scusate ma è proprio una cosa che vorrei capire bene...vi ringrazio

Ciao
I certificati non vengono cambiati , in genere un certificato è una stringa di dati che è autenticata da una Certification Autorithy. Durante la sua "vita" un certificato non viene mai modificato.
Un certificato contiene una chiave ( ed altro) è la CA garantisce che appartiene a "Pippo".
Quando V effettua una richiesta di connessione ad S, adotta delle misure antireplay
per esempio
uso di timestamp o nonce, ossia dei valori numerici (random nel caso di nonce) utilizzati una sola volta .
Se V cripta con la chiave pubblica di S un nonce , soltanto S potrà leggerlo
S a questo punto potrà mandare una qualche sfida basata sul nonce di cui solo V conosce il valore .
L'argomento è molto vasto, se sei interessato posso suggerirti un ottimo libro
http://williamstallings.com/Crypto/Crypto4e.htmlL'unica cosa che può notificare firefox è che un certificato non è valido ( scaduto , revocato , CA fallita

etc etc )
tuttavia bisogna anche dire che ssl (tls) possiedono meccanismi di allarme per interrompere una connessione
UPDATE:
http://it.wikipedia.org/wiki/Protocollo ... -Schroeder