Quali vantaggi usare la chiave di crittografia diversa (passphrase) per diversi clienti?

0

Quando memorizziamo informazioni riservate nel nostro database, le criptiamo utilizzando AES. Inoltre, quando i clienti installano il nostro prodotto, proteggono le loro macchine utilizzando un firewall.

Dovremmo utilizzare diverse chiavi di crittografia (passphrase) per diversi clienti? Quali sarebbero i vantaggi e / o gli svantaggi?

Aggiunto

Abbiamo un sistema di interfaccia utente web che accede tramite un browser. Le chiavi di crittografia (passphrase) sono memorizzate sul lato server. Client Web per non avere accesso alle chiavi di crittografia (passphrase). Esempio di informazioni riservate: password DN di binding LDAP. Questa password viene utilizzata dal lato server quando un utente si autentica contro LDAP.

Quindi tutti gli utenti dovrebbero essere in grado di usare le chiavi di crittografia (passphrase) durante l'autenticazione LDAP ma nessuno deve leggerlo (in effetti nessuno lo legge)

    
posta Michael 04.08.2015 - 16:44
fonte

3 risposte

2

Poiché esiste una sola chiave per tutti gli utenti, probabilmente la stai memorizzando sul server su cui si trova il DB. Questo è solo marginalmente meglio che lasciare i dati in chiaro - è come legare la tua chiave di casa alla serratura della tua porta. Se fornisci la chiave a ogni client, sarà semplice per un utente malintenzionato acquisire la chiave, rendendo inutile la crittografia.

In entrambi i casi, l'utilizzo di una singola chiave di crittografia significa che tutti i dati vengono immediatamente compromessi.

Tuttavia, è difficile offrire consigli più puntuali senza ulteriori dettagli. Vuoi semplicemente archiviare i dati dei clienti in modo sicuro per un accesso successivo dal client , o il server deve avere accesso ad esso in momenti arbitrari? A cosa servono i dati?

Se stai solo tenendo i dati per gli utenti finali, allora dovresti avere ogni client generare una chiave AES e criptare tutti i dati prima che ti inviano. In questo modo, una violazione dei dati non colerà i dati riservati; gli hacker dovranno anche prendere le chiavi dei singoli clienti.

Se è necessario essere in grado di accedere ai dati riservati a volontà, tuttavia, sarà più difficile. Dovrai tenere una copia delle chiavi di decrittografia da qualche parte , e poi sei tornato dove hai iniziato a tenere le chiavi insieme ai lucchetti.

    
risposta data 04.08.2015 - 17:04
fonte
3

Consiglio vivamente di creare chiavi crittografiche sicure e casuali ogni volta che è necessario crittografare le informazioni sui clienti tramite AES e inserirle nel database. Ovviamente, dovrai archiviare in qualche modo le chiavi poiché verranno generate casualmente. Detto questo, suggerirei di utilizzare un modulo di sicurezza hardware per archiviare le chiavi, ma dovresti assolutamente controllare questo rispondi per più soluzioni di archiviazione. Assicurati solo che i dati siano crittografati e decifrati sulla macchina del cliente.

Il vantaggio: supponiamo che un utente malintenzionato abbia compromesso il database dei clienti. Se trova la chiave di crittografia, ha tutti i dati del cliente, la crittografia è resa completamente inutile. Tuttavia, se le chiavi vengono generate casualmente e archiviate in un modulo di sicurezza hardware, l'utente malintenzionato dovrebbe fondamentalmente disporre di un database inutile (a meno che non sia in qualche modo in grado di ottenere le chiavi dall'HSM, che non dovrebbe essere in grado di eseguire). La sicurezza del tuo cliente è un fattore estremamente importante e dovresti assicurarti di fare tutto il possibile per proteggere le informazioni.

    
risposta data 04.08.2015 - 18:17
fonte
1

Hai usato entrambi i termini chiave e password , quindi non sono sicuro di cosa intendi perché sono concetti diversi. Questo è il motivo per cui discuterò brevemente:

  1. Nel caso si stia parlando di chiavi, allora l'intero sistema non è sicuro perché:
    • La persona che ha le chiavi di crittografia non dovrebbe essere la stessa persona che ha accesso ai dati crittografati.
    • Dovrebbero essere necessarie almeno due persone per autenticare l'accesso di una chiave di crittografia, in modo che nessuno possa accedere a una chiave di crittografia
    • Nessuno dovrebbe conoscere il valore completo di una chiave di crittografia (o la sua passphrase)
    • Idealmente, la chiave simmetrica AES dovrebbe cambiare ad ogni interazione,

Riguardo a questi elementi hai bisogno di implementare un PKI (costa).

  1. Nel caso si parli di passphrase: ogni utente deve avere la sua passphrase per alcune ragioni @etherealflux e @SakamakiIzayoi menzionate.
risposta data 04.08.2015 - 18:24
fonte

Leggi altre domande sui tag