Comunicazione sicura tra server e client [duplicato]

-1

Sto scrivendo un software di sicurezza e non voglio che nessuno sia in grado intercettare i dati passati da client e server, e server- > client.

Il modo migliore per farlo è su HTTPS via SSL. Tuttavia, ho letto che non puoi fidarti di HTTPS, dato che le autorità di certificazione possono essere violate o conquistate dai governi.

Ho anche letto che è quasi sempre una cattiva idea e controproducente per fare una specie di crypto Javascript sui dati prima che siano inviati.

Quindi, come faccio a trasferire in modo sicuro i dati tra server e client?

    
posta Nathan 05.02.2014 - 15:16
fonte

4 risposte

1

A meno che tu non abbia un limite di protocollo (come http per la navigazione web o simili).

Ti suggerisco di utilizzare le librerie ZeroMQ per utilizzare la comunicazione socket con la crittografia abilitata. Non solo proteggerà il tuo trasferimento ma aumenterà la velocità utilizzando il suo schema di comunicazione in modo intelligente per le tue esigenze.

C'è un articolo di Pieter (creatore di ZeroMQ) sull'uso di > CurveCP , una crittografia a curva ellittica ad alta velocità ad alta velocità per proteggere le comunicazioni sulla transazione socket ZeroMQ.

    
risposta data 05.02.2014 - 02:33
fonte
1

È possibile superarne molte se si dispone di un'applicazione lato client effettiva e si controlla il certificato utilizzato dal server per assicurarsi che corrisponda a un certificato valido. È possibile creare il proprio certificato di origine, utilizzarlo per firmare autonomamente il certificato e quindi convalidare che si è la CA nel proprio client. In questo modo, solo tu sei responsabile di proteggere la tua chiave privata.

    
risposta data 05.02.2014 - 15:30
fonte
1

Devi fare una distinzione tra SSL / TLS e l'infrastruttura dell'autorità di certificazione basata su x509 utilizzata in combinazione con SSL / TLS su Internet.

Mentre le agenzie governative che compromettono le autorità di certificazione sono sicuramente un rischio plausibile, ciò non significa assolutamente che SSL / TLS sia rotto. Se controlli sia il client che il server, è molto semplice impostare la tua autorità di certificazione, generare e firmare i certificati da solo. Assicurati di utilizzare una suite di crittografia che consenta perfetta segretezza avanzata .

    
risposta data 05.02.2014 - 15:38
fonte
0

Terry ha ragione. TLS è (IMHO) la tecnologia più efficace che esiste per proteggere le comunicazioni su Internet. Non richiede l'uso del framework di fiducia esistente. Anche se stai considerando il framework di fiducia come il problema che devi risolvere qui e sei felice di restare con TLS - non abbiamo abbastanza informazioni su come funziona la tua applicazione, come sono distribuite, configurate, installate, mantenute e utilizzate per dare consigli su come dovresti risolvere i tuoi problemi.

    
risposta data 06.02.2014 - 15:16
fonte

Leggi altre domande sui tag