GCP - KMS Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
El Cloud Key Management Service sirve como un almacenamiento seguro para claves criptográficas, que son esenciales para operaciones como encriptar y desencriptar datos sensibles. Estas claves están organizadas dentro de anillos de claves, lo que permite una gestión estructurada. Además, el control de acceso puede configurarse meticulosamente, ya sea a nivel de clave individual o para todo el anillo de claves, asegurando que los permisos estén alineados con los requisitos de seguridad.
Los anillos de claves de KMS se crean por defecto como globales, lo que significa que las claves dentro de ese anillo de claves son accesibles desde cualquier región. Sin embargo, es posible crear anillos de claves específicos en regiones específicas.
Claves de software: Las claves de software son creadas y gestionadas por KMS completamente en software. Estas claves no están protegidas por ningún módulo de seguridad de hardware (HSM) y pueden ser utilizadas para pruebas y desarrollo. Las claves de software no se recomiendan para uso en producción porque proporcionan baja seguridad y son susceptibles a ataques.
Claves alojadas en la nube: Las claves alojadas en la nube son creadas y gestionadas por KMS en la nube utilizando una infraestructura altamente disponible y confiable. Estas claves están protegidas por HSMs, pero los HSMs no están dedicados a un cliente específico. Las claves alojadas en la nube son adecuadas para la mayoría de los casos de uso en producción.
Claves externas: Las claves externas son creadas y gestionadas fuera de KMS, y se importan a KMS para su uso en operaciones criptográficas. Las claves externas pueden almacenarse en un módulo de seguridad de hardware (HSM) o en una biblioteca de software, dependiendo de la preferencia del cliente.
Encriptación/desencriptación simétrica: Se utiliza para encriptar y desencriptar datos utilizando una única clave para ambas operaciones. Las claves simétricas son rápidas y eficientes para encriptar y desencriptar grandes volúmenes de datos.
Soportado: cryptoKeys.encrypt, cryptoKeys.decrypt
Firma asimétrica: Se utiliza para la comunicación segura entre dos partes sin compartir la clave. Las claves asimétricas vienen en un par, consistiendo en una clave pública y una clave privada. La clave pública se comparte con otros, mientras que la clave privada se mantiene en secreto.
Desencriptación asimétrica: Se utiliza para verificar la autenticidad de un mensaje o dato. Se crea una firma digital utilizando una clave privada y se puede verificar utilizando la clave pública correspondiente.
Firma MAC: Se utiliza para asegurar la integridad y autenticidad de los datos creando un código de autenticación de mensaje (MAC) utilizando una clave secreta. HMAC se utiliza comúnmente para la autenticación de mensajes en protocolos de red y aplicaciones de software.
Soportado: cryptoKeyVersions.macSign, cryptoKeyVersions.macVerify
Por defecto, cada 90 días pero puede ser fácilmente y completamente personalizado.
El período "Programado para destrucción" es el tiempo desde que el usuario solicita eliminar la clave hasta que la clave es eliminada. No se puede cambiar después de que la clave es creada (por defecto 1 día).
Cada clave de KMS puede tener varias versiones, una de ellas debe ser la predeterminada, esta será la que se utilice cuando no se especifique una versión al interactuar con la clave de KMS.
Teniendo permisos para listar las claves, así es como puedes acceder a ellas:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)