Se trata de dónde almacenas el secreto y quién tiene acceso a él.
Primero una aclaración: estás confundido. KMS no utiliza cifrado asimétrico (también denominado cifrado de clave pública). Utiliza el cifrado de clave privada para habilitar el cifrado de sobres. Son dos cosas diferentes.
En el cifrado asimétrico, el productor del cifrado nunca tiene que acceder al secreto, solo necesita la clave pública. El productor utiliza la clave pública para cifrar, el consumidor utiliza la clave privada correspondiente para descifrar. Para facilitar la rotación de claves, el productor a veces agrega la clave pública que se usó para cifrar, de modo que el consumidor sepa qué clave privada usar para descifrar.
No importa cuántos datos estén encriptados, no hay pistas en la clave privada. El algoritmo de descifrado suele ser más intensivo en el procesamiento que el cifrado de clave privada.
En el cifrado de envolvente, el productor y el consumidor deben ser los mismos (o ambos tienen acceso a la clave maestra). Utiliza una clave maestra para generar una clave secundaria llamada clave de datos. Luego, encripta la clave de datos usando la clave maestra y los datos mismos usando la clave de datos, luego agrega la clave de datos encriptados a los datos encriptados. Cuando descifre, use la clave maestra para descifrar la clave de datos adjunta, luego use la clave de descifrado para descifrar los datos.
La ventaja de esto es que puede almacenar de manera rentable su clave maestra en el Módulo de Seguridad de Hardware especialmente diseñado y nunca exponerlo a ninguna otra cosa sin tener que pasar todos los datos que cifró en el HSM. Incluso puede generar la clave dentro del HSM y no retirarla, por lo que no hay posibilidad de que alguna vez haya estado expuesto a algo externo. KMS le proporciona un HSM basado en la nube y está respaldado por HSM físicos en Amazon.
Si no te importa mantener tu llave maestra en un HSM, entonces puedes hacer el mismo tipo de cifrado usando tu propia clave que intentas mantener a salvo ingresando en un servidor de salto o algo así. Además, siempre que no esté cifrando más de 250 millones de TB, puede omitir el sobre.
Si está buscando un código de ejemplo, puede capturarlo para implementar el cifrado AES simple o el cifrado de sobre que desee revisar en nuestro proyecto de código abierto. Tiene una implementación para cada uno que puedes aprovechar ...
enlace