È sufficiente HTTPS per evitare attacchi di riproduzione?

8

Sto esponendo alcuni metodi REST su un server per un'app mobile.

Vorrei evitare che gli utenti possano fiutare come vengono costruiti i metodi HTTP (dall'app mobile) e quindi inviarli di nuovo al server. Esempio:

  • L'app mobile invia una richiesta
  • L'utente utilizza un proxy e può controllare cosa sta succedendo sulla rete
  • L'utente vede e salva la richiesta che il cellulare ha appena inviato
  • = > Ora non voglio che l'utente sia in grado di inviare manualmente quella richiesta

È sufficiente proteggere il server su HTTPS?

    
posta MartinMoizard 21.07.2012 - 11:38
fonte

2 risposte

7

HTTPS può essere sufficiente per proteggere il server dagli attacchi di riproduzione (lo stesso messaggio viene inviato due volte) se il server è configurato per consentire solo il protocollo TLS secondo la sezione F.2 di rfc2246.

Outgoing data is protected with a MAC before transmission. To prevent message replay or modification attacks, the MAC is computed from the MAC secret, the sequence number [...]

    
risposta data 11.04.2013 - 18:08
fonte
10

HTTPS significa semplicemente che i dati trasportati vengono crittografati in modo che solo il client e il server possano decrittografarli (in un mondo ideale, non parlare di attacchi MITM, ecc.)

Pertanto, nulla nel protocollo impedirà l'esecuzione degli attacchi di riproduzione.

Sarà necessario creare una sorta di meccanismo di prevenzione degli attacchi di replay (qualcosa come i token in scadenza o token che invalidano dopo il completamento del processo) per garantire che l'applicazione non sia vulnerabile agli attacchi di riproduzione. Questo meccanismo può essere utilizzato con il normale HTTP.

    
risposta data 21.07.2012 - 11:55
fonte

Leggi altre domande sui tag