Questa è una domanda molto ampia. Il funzionamento della crittografia dipende completamente dal tipo di crittografia utilizzata (un DB appositamente protetto, un file DB crittografato, crittografia utilizzando costrutti SQL speciali o crittografia basata su applicazioni, ecc.). Quindi dipende anche dal sistema chiave utilizzato, dalla chiave pubblica o dalla crittografia della chiave segreta e da come sono configurate le condizioni di gestione e accesso delle chiavi.
Se si utilizza una vista a volo d'uccello, la crittografia non ha senso: per decifrare (e, per crittografie simmetriche, anche per crittografare) è necessario accedere a una chiave segreta. Quindi, invece di proteggere i tuoi dati, ora devi proteggere una chiave. Questa chiave può tuttavia essere generata in anticipo ed è molto più piccola dei dati. Ma ancora più importante può avere una protezione diversa e può essere limitato all'accesso.
La chiave più protetta e meno accessibile è la più sicura. Questo ha un prezzo, ovviamente. Supponi di utilizzare una passphrase o una chiave privata su un dispositivo speciale. In tal caso, è necessario fornire la chiave durante l'avvio del DB e potrebbe essere necessario fornire un accesso continuo senza interrompere le misure di sicurezza.
Quindi sulle tue domande:
How I can use an encryption model so that this encrypted data (user/pass/token) can be seen by an admin, but not seen (encrypted) by others?
Criptando i dati in modo tale da poter essere decifrato solo da una chiave privata o segreta detenuta dall'amministratore. A volte una chiave dati è ad es. crittografato con la chiave dell'amministratore e tale chiave dati viene a sua volta utilizzata per crittografare i dati nel database (in modo da ottenere una struttura gerarchica in cui la sicurezza di una chiave dipende da un'altra chiave di livello superiore).
I'm not sure I understand. Where is the encryption key being stored, and how is access gained to it? What is the encrypted data and its relation to user/pass/token?
Dove viene memorizzata la chiave dipende dal sistema. Si spera che venga memorizzato in una sorta di negozio sicuro, ad es. protetto dal sistema operativo. Ma potrebbe anche essere una chiave statica nel codice dell'applicazione o memorizzata in un file di configurazione.
Le banche e tali tendono a memorizzare le chiavi più sensibili in HSM (se le chiavi devono essere direttamente accessibili) o offline (su un dispositivo di archiviazione offline che può essere utilizzato da un laptop hardened). Sulle smart card e HSM le chiavi possono essere usate , non recuperate (esportate) tranne che per scopi di backup. L'utilizzo delle chiavi generalmente richiede all'utente o al sistema di autenticarsi sul dispositivo di archiviazione.
Ma i libri sono stati scritti sulla gestione delle chiavi e alla fine potrebbe essere necessario leggerne alcuni per comprendere appieno come gestire i tasti.