Sto leggendo le specifiche per un prodotto commerciale che fornisce un servizio web. Le specifiche vanno così:
- Il client (un browser web) può utilizzare https
- Il cliente chiede al server informazioni - > dà modulo ed esponente della sua chiave RSA pubblica
- Il client chiede al server una sessione - > il client crea un codice casuale, crittografa con la chiave pubblica del server
- Il client esegue un accesso con nome utente e password crittografati con la chiave pubblica del server
Questo mi sembra di essere incline a un attacco Man-In-The-Middle se non viene utilizzato https, poiché non avviene alcuna verifica del server o del client. Inoltre, solo alcuni dati dal client sono crittografati, niente dal server.
Che cosa ne pensi?