Cifratura di file di grandi dimensioni per mitigare il MITM

1

Questa è una domanda sulle prestazioni e sulla sicurezza che sto cercando una sicurezza efficiente ea lungo termine con file di grandi dimensioni che si spostano su Internet.

Il mio scenario è il seguente. - Il server riceve una grande quantità di dati (20 MB +) da un numero crescente di client. Si tratta di un servizio API TLS esposto pubblicamente. - Sono preoccupato per un attacco MITM che potrebbe ottenere questi file.

D: Come si cripterebbe e decritterebbe file di grandi dimensioni / sezioni senza compromettere le prestazioni su entrambe le estremità? Esiste un metodo efficiente o una pratica migliore nella trasmissione dei dati senza aumentarne le dimensioni?

Nota: Mio nonno ha detto che i piccioni viaggiatori hanno funzionato bene in passato

    
posta Matosha 26.01.2016 - 13:44
fonte

2 risposte

1

TLS fornisce vari cifrari, alcuni sono più ottimizzati per l'hardware (come i cifrari basati su AES) e altri per software (come ChaCha20-Poly1305 ). Pertanto, una corretta scelta del codice può ridurre il sovraccarico necessario per la crittografia. E l'utilizzo di questi codici incrementa solo marginalmente le dimensioni dei dati trasferiti.

L'altra parte del problema delle prestazioni è l'iniziale handshake TLS. Ma dal momento che la tua API è già TLS, potresti comunque riutilizzare la sessione TLS e quindi risparmiare tempo (meno strette di mano) e potenza (calcoli meno pesanti).

Un altro modo sarebbe spostare il problema delle prestazioni trasferendo file pre-crittografati. In questo caso non è necessario trasmettere in modo sicuro i dati completi, ma solo la piccola chiave di crittografia. La maggior parte dei dati potrebbe quindi essere trasferita utilizzando un protocollo di trasporto non sicuro, come i piccioni. Se questa è un'idea migliore nel tuo caso dipende molto dai dettagli sconosciuti del tuo caso d'uso reale.

    
risposta data 26.01.2016 - 14:03
fonte
0

Se vuoi prevenire gli attacchi MITM, devi controllare il certificato del server sul client! Includere il certificato o un certificato CA che rilascia i certificati del server con il client e controllarlo quando si stabilisce la connessione TLS.

TLS con una configurazione sensata (vedi BetterCrypto.org ) è sicuro. Devi solo ottenere l'autenticazione giusta.

modifica: dopo aver chiarito che l'OP è più preoccupato per le prestazioni: I hanno risposto a qualcosa di simile su crypto.stackexchange.com (dove anche questo sarebbe stato migliore) e questo è ancora valido. Se il tuo hardware ha il supporto AES, usalo. In caso contrario, guarda quali sono le persone con budget più elevati per la ricerca e un problema simile. Google utilizza il ChaCha20 stream cipher con Poly1305 MAC in Chrome se non è presente il supporto hardware AES e AES se è presente il supporto hardware.

Su quasi tutti i moderni hardware a metà strada, la velocità di crittografia sarà molto più veloce di una tipica connessione Internet e quindi non è di alcuna importanza. L'aumento della dimensione del file è trascurabile.

    
risposta data 26.01.2016 - 14:39
fonte

Leggi altre domande sui tag