Sicurezza rotta / halfbaked con questa implementazione?

1

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?

    
posta Sebastian Schuler 09.12.2013 - 19:56
fonte

1 risposta

5

Questo è più o meno lo stesso meccanismo di SSL, con l'eccezione che manca un passo di verifica per la chiave pubblica RSA che ti invia. SSL ha un'intera PKI che coinvolge le autorità di certificazione e firma per garantire che la chiave pubblica che si ottiene effettivamente appartenga alla parte con cui si sta comunicando. Se il suo codice non lo include, allora sei decisamente suscettibile agli attacchi di tipo "man-in-the-middle".

E se lo lo include, allora sei più o meno usando un SSL primitivo, nel qual caso dovresti usare reale TLS (versione 1.2 se è possibile disattivarlo) che include difese contro ulteriori attacchi più difficili che probabilmente un protocollo personalizzato non avrà.

    
risposta data 09.12.2013 - 21:07
fonte

Leggi altre domande sui tag