2010-11-11 12 views
5

Come si fa a proteggere parti di una richiesta HTTP, ad esempio il loro ID sessione? So che puoi utilizzare HTTPS, ma i tuoi server devono decrittografare tutte le richieste. Non sarebbe ideale per crittografare solo le parti richieste di una richiesta?Protezione di parti di una richiesta HTTP?

Esistono strutture o risorse che ti consentono o ti informano su come farlo?

risposta

10

HTTPS è lo strumento corretto da utilizzare. Il carico computazionale di decrittografia dei pacchetti è molto basso. Google ha modificato l'HTTPS per impostazione predefinita per l'intero periodo di GMail all'inizio dell'anno e segnala che il carico della CPU sui server per la crittografia/decrittografia SSL è pari all'1% circa.

Se si cripta solo parte del flusso, si ha ancora il problema degli attacchi man-in-the-middle e di riproduzione. SSL è l'unico modo per prevenirli. Non importa se l'ID della sessione è crittografato. Se un man-in-the-middle può catturarlo, può riutilizzarlo nel suo formato crittografato, e il server non conoscerebbe la differenza.

Here's a blog post sull'esperienza di Google poiché il GMail passa al 100% SSL.

+0

[Ulteriori informazioni sul blog di Google Online Security] (http://googleonlinesecurity.blogspot.com/2009/06/https-security-for-web-applications.html). – alex

3

HTTPS è tutto o niente. Se non tutti gli elementi di una pagina sono protetti con HTTPS, in genere gli utenti otterranno un "blocco rotto" nell'angolo in alto a sinistra. Questo perché un utente malintenzionato potrebbe utilizzare questo per iniettare un attacco simile a xss e ottenere il valore document.cookie.

Inoltre, se una richiesta viene inviata con un ID di sessione, un utente malintenzionato può ottenere il valore e autenticarsi come te.

Problemi correlati