¿Cómo y dónde se almacenan las claves de cifrado?

Existen muchos tipos de claves de cifrado. Tenga en cuenta que generalmente se crean en pares: todo lo que se cifra con una clave pública solo se puede descifrar con su clave privada correspondiente y viceversa. Los certificados generalmente contienen una clave pública. Aquí hay solo un par de ejemplos y dónde se almacenan típicamente:

Claves SSH (Secure Shell): para asegurar el inicio de sesión remoto en una computadora remota. Normalmente se almacena en el directorio ~ / .ssh /. La clave privada puede encontrarse comúnmente en un archivo llamado id_rsa, y la clave pública puede estar en un archivo llamado id_rsa.pub. A menudo, estos archivos son solo archivos de texto ASCII básicos con información codificada PEM (Privacy Enhanced Mail). Puede verlos con un editor de texto simple que le mostrará largas cadenas de símbolos ascii.

Claves SSL (Secure Sockets Layer): para cifrar la comunicación entre un servidor web y un navegador web. Realmente, estos pueden almacenarse en cualquier lugar que elija el administrador, pero una posible ubicación en un servidor Linux podría ser / etc / ssl / private /. Si su servidor Linux está ejecutando el servidor web apache, debería poder mirar el archivo de configuración para los certificados SSL de apache (esto podría estar en /etc/httpd/vhosts.d/ , / etc / httpd / sites / , o en un archivo llamado httpd-ssl.conf .) Algunas líneas en ese archivo deberían indicar dónde están las claves. Las líneas 5–7 señalan la ubicación de las claves públicas y privadas (certificados)

DocumentRoot / var / www / html2
ServerName http://www.yourdomain.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt

En Windows Server, abra el mmc y agregue el complemento ‘Certificados’ y mire allí. En IIS, puede encontrar el certificado del servidor en la Vista de características , haga doble clic en Certificados del servidor . Finalmente, también puede verificar C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys\

PKI es un tema enorme, y las notas breves anteriores realmente no entran en muchos detalles. Espero haberte ayudado a comenzar con un poco de teoría y algunas ideas sobre dónde buscar esas claves.

Depende del uso de la clave. Podría almacenarse en un HSM, una tarjeta inteligente, un token de cifrado, en el disco duro del servidor, incluso escrito en papel (dividido y almacenado en bóvedas). La clave puede estar sin cifrar (en claro) o cifrada con otra clave.

Depende únicamente de su modelo de amenaza, no hay una respuesta universal. Leer una pequeña nota sobre gestión de claves y confianza podría ayudar.