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)
Cloud Key Management Service służy jako bezpieczne miejsce do przechowywania kluczy kryptograficznych, które są niezbędne do operacji takich jak szyfrowanie i deszyfrowanie wrażliwych danych. Klucze te są zorganizowane w obręcze kluczy, co umożliwia strukturalne zarządzanie. Ponadto, kontrola dostępu może być starannie skonfigurowana, zarówno na poziomie pojedynczego klucza, jak i dla całej obręczy kluczy, zapewniając, że uprawnienia są dokładnie dostosowane do wymagań bezpieczeństwa.
Obręcze kluczy KMS są domyślnie tworzone jako globalne, co oznacza, że klucze wewnątrz tej obręczy są dostępne z dowolnego regionu. Możliwe jest jednak tworzenie specyficznych obręczy kluczy w konkretnych regionach.
Klucze programowe: Klucze programowe są tworzone i zarządzane przez KMS całkowicie w oprogramowaniu. Klucze te nie są chronione przez żaden moduł bezpieczeństwa sprzętowego (HSM) i mogą być używane do testowania i celów rozwojowych. Klucze programowe nie są zalecane do użytku produkcyjnego, ponieważ zapewniają niskie bezpieczeństwo i są podatne na ataki.
Klucze hostowane w chmurze: Klucze hostowane w chmurze są tworzone i zarządzane przez KMS w chmurze przy użyciu wysoko dostępnej i niezawodnej infrastruktury. Klucze te są chronione przez HSM, ale HSM nie są dedykowane dla konkretnego klienta. Klucze hostowane w chmurze są odpowiednie dla większości przypadków użycia w produkcji.
Klucze zewnętrzne: Klucze zewnętrzne są tworzone i zarządzane poza KMS i są importowane do KMS do użycia w operacjach kryptograficznych. Klucze zewnętrzne mogą być przechowywane w module bezpieczeństwa sprzętowego (HSM) lub w bibliotece oprogramowania, w zależności od preferencji klienta.
Szyfrowanie/deszyfrowanie symetryczne: Używane do szyfrowania i deszyfrowania danych za pomocą jednego klucza dla obu operacji. Klucze symetryczne są szybkie i efektywne w szyfrowaniu i deszyfrowaniu dużych ilości danych.
Obsługiwane: cryptoKeys.encrypt, cryptoKeys.decrypt
Podpisywanie asymetryczne: Używane do bezpiecznej komunikacji między dwiema stronami bez dzielenia się kluczem. Klucze asymetryczne występują w parze, składającej się z klucza publicznego i klucza prywatnego. Klucz publiczny jest udostępniany innym, podczas gdy klucz prywatny jest zachowywany w tajemnicy.
Deszyfrowanie asymetryczne: Używane do weryfikacji autentyczności wiadomości lub danych. Podpis cyfrowy jest tworzony za pomocą klucza prywatnego i może być weryfikowany za pomocą odpowiadającego klucza publicznego.
Podpisywanie MAC: Używane do zapewnienia integralności i autentyczności danych poprzez tworzenie kodu uwierzytelniającego wiadomości (MAC) za pomocą klucza tajnego. HMAC jest powszechnie używane do uwierzytelniania wiadomości w protokołach sieciowych i aplikacjach oprogramowania.
Obsługiwane: cryptoKeyVersions.macSign, cryptoKeyVersions.macVerify
Domyślnie każdy 90 dni, ale może być łatwo i całkowicie dostosowany.
Okres "zaplanowany do zniszczenia" to czas od momentu, gdy użytkownik poprosi o usunięcie klucza, aż do momentu, gdy klucz zostanie usunięty. Nie można go zmienić po utworzeniu klucza (domyślnie 1 dzień).
Każdy klucz KMS może mieć kilka wersji, jedna z nich musi być domyślną, która będzie używana, gdy wersja nie jest określona podczas interakcji z kluczem KMS.
Mając uprawnienia do wylistowania kluczy, oto jak możesz uzyskać do nich dostęp:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)