Esta es una pregunta muy amplia. El funcionamiento de la criptografía depende completamente del tipo de cifrado utilizado (una base de datos especialmente segura, un archivo de base de datos cifrado, el cifrado mediante construcciones de SQL especiales o el cifrado basado en aplicaciones, etc.). Luego, también depende del sistema de clave utilizado, la clave pública o el cifrado de clave secreta y cómo se configuran la administración de la clave y las condiciones de acceso.
Si toma una vista aérea, entonces el cifrado no tiene sentido: para descifrar (y, para cifrados simétricos, también para cifrar) necesita acceso a una clave secreta. Entonces, en lugar de proteger sus datos, ahora tiene que proteger una clave. Sin embargo, esta clave puede generarse por adelantado y es mucho más pequeña que los datos. Pero lo más importante es que puede tener una protección diferente y un acceso restringido.
Cuanto más protegida y menos accesible sea la clave, más segura será. Esto tiene un precio, por supuesto. Supongamos que utilizaría una frase de contraseña o una clave privada en un dispositivo especial. En ese caso, debe proporcionar la clave durante el arranque de la base de datos, y es posible que deba proporcionar acceso continuo a la misma sin romper las medidas de seguridad.
Entonces en tus preguntas:
¿Cómo puedo usar un modelo de encriptación para que un administrador pueda ver estos datos encriptados (usuario / pass / token), pero otros no puedan verlos (encriptados)?
Al cifrar los datos de tal manera que solo pueda ser descifrado por una clave privada o secreta en poder del administrador. A veces, una clave de datos es, por ejemplo, cifrada con la clave del administrador, y esa clave de datos se utiliza a su vez para cifrar los datos en la base de datos (de modo que obtiene una estructura jerárquica en la que la seguridad de una clave depende de otra clave de nivel superior).
No estoy seguro de entender. ¿Dónde se almacena la clave de cifrado y cómo se obtiene el acceso a ella? ¿Qué son los datos cifrados y su relación con el usuario / pase / token?
El lugar donde se almacena la clave depende del sistema. Esperemos que se almacene en algún tipo de tienda segura, por ejemplo, Protegido por el sistema operativo. Pero también puede ser una clave estática en el código de la aplicación o almacenada en un archivo de configuración.
Los bancos y similares tienden a almacenar las claves más sensibles en los HSM (si las claves necesitan ser accesibles directamente) o fuera de línea (en un dispositivo de almacenamiento fuera de línea que puede ser usado por una computadora portátil endurecida). En las tarjetas inteligentes y HSM, las claves solo se pueden utilizar , no se pueden recuperar (exportar), excepto para fines de copia de seguridad. El uso de las claves generalmente requiere que el usuario o el sistema se autentiquen en el dispositivo de almacenamiento.
Pero se han escrito libros sobre la administración de claves, y al final es posible que necesites leer algunos para entender completamente cómo manejar las claves.