Invio di dati sensibili su HTTPS e dati non sensibili su HTTP?

0

Mi è venuta in mente un'idea sull'utilizzo della crittografia solo per dati sensibili durante il trasferimento dei dati.

Ecco un esempio: quando apri una pagina web puoi vedere molte cose che sono accessibili ad altri utenti. Ma una piccola porzione di informazioni su un sito web è specifica dell'utente che deve essere protetta. Invia e ricevi questi dati tramite il canale protetto, tutti gli altri vengono reindirizzati ai canali normali (non protetti).

Con ciò possiamo avere meno overhead causato dalla crittografia.

È fattibile e sicuro? È già stato fatto?

EDIT: capisco dai commenti che l'utilizzo di due canali è una cattiva idea. Ho un'altra idea: proteggi i dati non sensibili con algoritmo crittografico computazionale meno esigente. Con dati sensibili si utilizza un algoritmo computazionale più esigente che offre una maggiore sicurezza. I dati vengono inviati attraverso un singolo canale.

    
posta Theory 03.01.2017 - 14:57
fonte

2 risposte

6

Questa è una cattiva idea.

I dati non crittografati possono essere letti non solo da un uomo nel mezzo. Può anche essere modificato. Quindi, se una parte minuscola del codice HTML non è crittografata, un utente malintenzionato può inserire JavaScript dannoso che legge i dati sensibili una volta che è stato decodificato nel browser. Boom, l'intera crittografia viene sconfitta.

Questo è anche il motivo per cui è necessario servire l'intero sito e non solo la pagina di accesso su HTTPS .

Per quanto riguarda la tua seconda idea, in realtà non aiuta nulla con le prestazioni, ma ha lo stesso tipo di preoccupanti implicazioni per la sicurezza come la tua prima idea. Il contenuto nel suo complesso non è più sicuro del link più debole.

Quindi perché non aiuta con le prestazioni? La ragione principale per cui cripto può danneggiare le prestazioni è che complica l'incasso. La cripta più debole non lo risolverebbe. Potrebbe esserci qualche algoritmo leggermente più veloce di AES-128 ma meno sicuro, ma sarebbe un guadagno molto marginale nelle prestazioni che si pagano in termini di sicurezza.

E non ho nemmeno menzionato tutto il lavoro che dovresti passare per separare i dati "sensibili" dal "non sensibile" ...

Modifica: non si dovrebbe essere categorici ... Se si è per esempio programmando un gioco potresti voler inviare i dati di gioco in tempo reale (chi spara cosa e dove) su qualcosa di veloce come TCP non criptato, mentre hai una connessione HTTPS separata per es. invio di nome utente e password al server. Ma questo è abbastanza lontano dal caso d'uso della pagina web HTTP.

    
risposta data 03.01.2017 - 15:42
fonte
4

La crittografia / decrittografia / separazione di dati sensibili / non sensibili nell'applicazione probabilmente causa un sovraccarico maggiore rispetto a HTTPS. Non reinventare la ruota! Nel 2017, la scelta della protezione TLS causa un sovraccarico così insignificante legato ai prezzi della larghezza di banda del server o degli utenti, che non vale nemmeno la pena menzionare.

    
risposta data 03.01.2017 - 15:38
fonte

Leggi altre domande sui tag