Fornitura di dati da un database crittografato su una connessione crittografata

5

Ci sono dati crittografati nel database (FYI asimmetrico). È da vedere come decrittografato sul sito web. I dati possono essere inviati al client come crittografati per essere decrittografati sul computer del cliente, oppure i dati possono essere decodificati sul server e quindi inviati al client in testo normale.

Ora mi viene in mente che non voglio che nulla venga inviato dal server al client come non criptato. I dati devono essere trasmessi come crittografati e decodificati sul lato client.

Se il server invia dati crittografati, è necessario che una chiave sia inviata con esso. In che modo l'invio di una chiave con i dati crittografati non vanifica completamente lo scopo di crittografarlo in primo luogo?

    
posta user28067 09.07.2013 - 00:54
fonte

2 risposte

5

L'invio della chiave privata insieme ai dati crittografati equivale a non avere alcuna crittografia , in quanto chiunque potrebbe monitorare il traffico sarebbe in grado di decrittografare i dati.

Tuttavia, se il client ha una coppia di chiavi privata / pubblica e comunica al server la sua chiave pubblica, il server può crittografare i dati solo per quel client: questo è l'intero punto della crittografia asimmetrica. Il modo in cui funziona SSL / TLS è essenzialmente quello di farlo al volo: quando un client si connette a un server, risolvono le chiavi per eseguire la crittografia asimmetrica.

La mia raccomandazione personale è quella di utilizzare semplicemente TLS per proteggere la comunicazione client < - > server piuttosto che eseguire il rollover del proprio protocollo.

    
risposta data 09.07.2013 - 01:11
fonte
1

Sconfigge la crittografia. Se si desidera inviare dati crittografati, utilizzare SSL per crittografare il trasporto.

Se il client ha bisogno di visualizzare i dati decrittografati e si inviano i dati al client crittografati, non è possibile inviare la chiave. Questo può significare solo che avresti una sorta di codice JavaScript che consente all'utente di inserire la chiave privata per decodificarlo. In questo caso la chiave non dovrebbe mai raggiungere il tuo server, perché rimane sempre sul client. Ma non lo farei perché, come utente, non inserirò la mia chiave privata in alcuna applicazione web, perché ciò comporta il rischio di essere inviato al server.

Quindi no, non è possibile trasferire dati crittografati al client e lasciare che il client lo decrittografi. Hai bisogno di un concetto diverso.

    
risposta data 09.07.2013 - 01:11
fonte

Leggi altre domande sui tag