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)
Служба управління ключами в хмарі слугує безпечним сховищем для криптографічних ключів, які є необхідними для операцій, таких як шифрування та дешифрування чутливих даних. Ці ключі організовані в кільця ключів, що дозволяє структуровано управляти ними. Крім того, контроль доступу може бути ретельно налаштований, як на рівні окремого ключа, так і для всього кільця ключів, що забезпечує точне відповідність дозволів вимогам безпеки.
Кільця ключів KMS за замовчуванням створюються як глобальні, що означає, що ключі всередині цього кільця доступні з будь-якого регіону. Однак можливо створити специфічні кільця ключів у конкретних регіонах.
Програмні ключі: Програмні ключі створюються та управляються KMS повністю в програмному забезпеченні. Ці ключі не захищені жодним апаратним модулем безпеки (HSM) і можуть використовуватися для тестування та розробки. Програмні ключі не рекомендуються для виробничого використання, оскільки вони забезпечують низький рівень безпеки і піддаються атакам.
Ключі, що хостяться в хмарі: Ключі, що хостяться в хмарі, створюються та управляються KMS в хмарі, використовуючи високо доступну та надійну інфраструктуру. Ці ключі захищені HSM, але HSM не призначені для конкретного клієнта. Ключі, що хостяться в хмарі, підходять для більшості виробничих випадків використання.
Зовнішні ключі: Зовнішні ключі створюються та управляються поза KMS і імпортуються в KMS для використання в криптографічних операціях. Зовнішні ключі можуть зберігатися в апаратному модулі безпеки (HSM) або в програмній бібліотеці, залежно від уподобань клієнта.
Симетричне шифрування/дешифрування: Використовується для шифрування та дешифрування даних за допомогою одного ключа для обох операцій. Симетричні ключі швидкі та ефективні для шифрування та дешифрування великих обсягів даних.
Підтримується: cryptoKeys.encrypt, cryptoKeys.decrypt
Асиметричне підписання: Використовується для безпечного спілкування між двома сторонами без обміну ключем. Асиметричні ключі йдуть парами, складаються з публічного ключа та приватного ключа. Публічний ключ ділиться з іншими, тоді як приватний ключ зберігається в таємниці.
Підтримується: cryptoKeyVersions.asymmetricSign, cryptoKeyVersions.getPublicKey
Асиметричне дешифрування: Використовується для перевірки автентичності повідомлення або даних. Цифровий підпис створюється за допомогою приватного ключа і може бути перевірений за допомогою відповідного публічного ключа.
Підтримується: cryptoKeyVersions.asymmetricDecrypt, cryptoKeyVersions.getPublicKey
Підписання MAC: Використовується для забезпечення цілісності та автентичності даних шляхом створення коду автентифікації повідомлення (MAC) за допомогою секретного ключа. HMAC зазвичай використовується для автентифікації повідомлень у мережевих протоколах та програмному забезпеченні.
Підтримується: cryptoKeyVersions.macSign, cryptoKeyVersions.macVerify
За замовчуванням, кожні 90 днів, але його можна легко та повністю налаштувати.
Період "Запланований для знищення" - це час з моменту, коли користувач запитує видалення ключа, і до моменту, коли ключ видаляється. Його не можна змінити після створення ключа (за замовчуванням 1 день).
Кожен ключ KMS може мати кілька версій, одна з яких повинна бути за замовчуванням, це буде та версія, яка використовується, коли версія не вказана при взаємодії з ключем KMS.
Маючи дозволи на перерахування ключів, ось як ви можете отримати до них доступ:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)