Utilizzo della crittografia all'interno della connessione SSL

10

Utilizziamo SSL per rendere più sicura la nostra connessione tra client e server backbone. Ha davvero senso se usiamo anche un altro meccanismo di crittografia per crittografare i dati trasmessi due volte? Ad esempio, crittografare i dati con AES e quindi trasmettere dati su una connessione SSL?

    
posta Mark 30.12.2015 - 13:52
fonte

3 risposte

16

Dipende molto da cosa stai cercando di proteggere.

SSL protegge solo i dati in transito e tra i due set point. Non protegge i dati a riposo e non offre alcuna garanzia che i dati provengano dalla persona che ha richiesto.

Quindi, se è necessario proteggere i dati mentre sono archiviati su uno degli endpoint, la crittografia potrebbe avere senso. O se è necessario fornire garanzie che i dati provengano da una certa parte, la firma potrebbe avere senso.

D'altra parte, se stai semplicemente decodificando i dati e memorizzandoli sull'endpoint e non eseguendo alcuna autenticazione, non sarebbe sensato aggiungere un altro livello di trasporto.

La sicurezza spesso funziona a strati, quindi è importante capire cosa fornisce ogni strato. SSL è semplicemente un livello di trasporto e fornisce solo garanzie che i dati inviati non sono stati intercettati lungo il percorso o sostituiti con qualcosa da un utente malintenzionato nel mezzo.

    
risposta data 30.12.2015 - 17:27
fonte
6

Quasi certamente, no, soprattutto se il client è un browser. Uno dei motivi per cui SSL / TLS funziona è che è già incorporato nei client. Non c'è niente da trasmettere in chiaro che possa essere intercettato e modificato dagli attaccanti in transito. Se SSL stesso è danneggiato, qualsiasi crittografia inviata (come la crittografia basata su JavaScript) può potenzialmente essere modificata da un utente malintenzionato attivo per renderlo impotente, oppure le chiavi dello schema di crittografia interno rubate da un attaccante passivo per rendere i dati decodificabili e hai perso a prescindere.

Quindi no, nel caso generale non vale la pena aggiungere complessità per nessun guadagno effettivo in sicurezza. Ci sono casi in cui certamente le implementazioni potrebbero in realtà avere senso, ma a meno che tu non abbia una argomentazione molto strong sul motivo per cui da quando hai dato la tua specifica architettura, si applica il caso generale.

    
risposta data 30.12.2015 - 14:48
fonte
0

I protocolli SSL / TLS stabiliti offrono la facilità di tutti gli importanti scambi di chiavi. Il livello di crittografia aggiuntivo che hai proposto aumenterà ovviamente la riservatezza (uno dei principi della sicurezza dei dati). Tuttavia, arrivare alla chiave che AES può usare, sarà un altro mal di testa, specialmente quando ti aspetti che la chiave cambi per ogni sessione.

@Xander sottolinea correttamente che l'aggiunta di un altro livello di crittografia interromperà i browser client. Ma lo sapevi già. Aggiungendo un altro layer, sia il client che il server potrebbero aver bisogno di modifiche.

    
risposta data 30.12.2015 - 17:44
fonte

Leggi altre domande sui tag