AWS - KMS Enum
KMS - Usługa zarządzania kluczami
AWS Key Management Service (AWS KMS) jest prezentowany jako usługa zarządzana, upraszczająca proces tworzenia i zarządzania kluczami głównymi klienta (CMK). Te CMK są integralne w szyfrowaniu danych użytkownika. Istotną cechą AWS KMS jest to, że CMK są głównie zabezpieczone przez moduły bezpieczeństwa sprzętowego (HSM), zwiększając ochronę kluczy szyfrowania.
KMS używa kryptografii symetrycznej. Jest to używane do szyfrowania informacji w spoczynku (na przykład wewnątrz S3). Jeśli potrzebujesz szyfrować informacje w transporcie, musisz użyć czegoś takiego jak TLS.
KMS to usługa specyficzna dla regionu.
Administratorzy w Amazonie nie mają dostępu do Twoich kluczy. Nie mogą odzyskać Twoich kluczy i nie pomagają Ci w szyfrowaniu Twoich kluczy. AWS po prostu administruje systemem operacyjnym i aplikacją bazową, to od nas zależy administrowanie naszymi kluczami szyfrowania i administrowanie tym, jak te klucze są używane.
Klucze główne klienta (CMK): Mogą szyfrować dane o wielkości do 4 KB. Zazwyczaj są używane do tworzenia, szyfrowania i deszyfrowania DEKów (Kluczy Szyfrowania Danych). Następnie DEK są używane do szyfrowania danych.
Klucz główny klienta (CMK) to logiczna reprezentacja klucza głównego w AWS KMS. Oprócz identyfikatorów klucza głównego i innych metadanych, w tym daty utworzenia, opisu i stanu klucza, CMK zawiera materiał klucza, który jest używany do szyfrowania i deszyfrowania danych. Podczas tworzenia CMK, domyślnie AWS KMS generuje materiał klucza dla tego CMK. Możesz jednak wybrać utworzenie CMK bez materiału klucza, a następnie zaimportować swój własny materiał klucza do tego CMK.
Istnieją 2 rodzaje kluczy głównych:
Zarządzane przez AWS CMK: Używane przez inne usługi do szyfrowania danych. Jest używany przez usługę, która go utworzyła w regionie. Są tworzone za pierwszym razem, gdy implementujesz szyfrowanie w tej usłudze. Rotują co 3 lata i nie można ich zmienić.
Klucze główne klienta: Elastyczność, rotacja, konfigurowalny dostęp i polityka klucza. Włączanie i wyłączanie kluczy.
Szyfrowanie kopertowe w kontekście Usługi Zarządzania Kluczami (KMS): Dwupoziomowy system hierarchii do szyfrowania danych kluczem danych, a następnie szyfrowania klucza danych kluczem głównym.
Polityki kluczy
Określają one kto może używać i uzyskiwać dostęp do klucza w KMS.
Domyślnie:
Daje kontowi AWS, które jest właścicielem klucza KMS, pełny dostęp do klucza KMS.
W przeciwieństwie do innych polityk zasobów AWS, polityka klucza AWS KMS nie daje automatycznie uprawnień do konta ani jego użytkowników. Aby nadać uprawnienia administratorom konta, polityka klucza musi zawierać wyraźne oświadczenie, które zapewnia te uprawnienia, takie jak to.
Bez zezwolenia na konto (
"AWS": "arn:aws:iam::111122223333:root"
) uprawnienia IAM nie będą działać.Zezwala kontu na korzystanie z polityk IAM do umożliwienia dostępu do klucza KMS, oprócz polityki klucza.
Bez tego uprawnienia, polityki IAM, które pozwalają na dostęp do klucza, są nieskuteczne, chociaż polityki IAM, które odmawiają dostępu do klucza, nadal są skuteczne.
Zmniejsza ryzyko, że klucz stanie się niezarządzalny, nadając uprawnienia kontroli dostępu administratorom konta, w tym użytkownikowi głównemu konta, który nie może zostać usunięty.
Przykład domyślnej polityki:
Jeśli konto jest dozwolone ("arn:aws:iam::111122223333:root"
) podmiot z konta wciąż będzie potrzebował uprawnień IAM do użycia klucza KMS. Jednakże, jeśli ARN roli na przykład jest specjalnie dozwolony w Polityce Klucza, ta rola nie będzie potrzebować uprawnień IAM.
Administratorzy Klucza
Domyślnie administratorzy klucza:
Mają dostęp do zarządzania KMS, ale nie do szyfrowania ani deszyfrowania danych
Tylko użytkownicy IAM i role mogą być dodane do listy Administratorów Klucza (nie grupy)
Jeśli używany jest zewnętrzny CMK, Administratorzy Klucza mają uprawnienie do importowania materiału klucza
Rotacja CMKs
Im dłużej ten sam klucz pozostaje na swoim miejscu, tym więcej danych jest szyfrowanych tym kluczem, a jeśli ten klucz zostanie naruszony, to obszar ryzyka danych jest szerszy. Ponadto, im dłużej klucz jest aktywny, tym większe jest prawdopodobieństwo jego naruszenia.
KMS obraca klucze klienta co 365 dni (lub można wykonać proces ręcznie w dowolnym momencie) i klucze zarządzane przez AWS co 3 lata i tego czasu nie można zmienić.
Starsze klucze są zachowywane do deszyfrowania danych, które zostały zaszyfrowane przed rotacją
W przypadku naruszenia, obrót klucza nie usunie zagrożenia, ponieważ będzie możliwe deszyfrowanie wszystkich danych zaszyfrowanych skompromitowanym kluczem. Jednakże, nowe dane będą szyfrowane nowym kluczem.
Jeśli CMK jest w stanie wyłączonym lub oczekującym na usunięcie, KMS nie będzie wykonywać rotacji klucza dopóki CMK nie zostanie ponownie włączony lub usunięcie nie zostanie anulowane.
Ręczna rotacja
Musi zostać utworzony nowy CMK, następnie, tworzy się nowe ID CMK, więc trzeba zaktualizować każdą aplikację, aby odnosiła się do nowego ID CMK.
Aby ułatwić ten proces, można użyć aliasów do odwoływania się do identyfikatora klucza i następnie zaktualizować klucz, do którego odwołuje się alias.
Należy zachować stare klucze do deszyfrowania starych plików zaszyfrowanych nimi.
Można importować klucze z infrastruktury kluczy na miejscu.
Inne istotne informacje o KMS
KMS jest wyceniany za liczbę żądań szyfrowania/deszyfrowania otrzymanych od wszystkich usług miesięcznie.
KMS ma pełną integrację z audytem i zgodnością z CloudTrail; tutaj można audytować wszystkie zmiany dokonane w KMS.
Z polityką KMS można zrobić następujące rzeczy:
Ograniczyć, kto może tworzyć klucze danych i które usługi mają dostęp do używania tych kluczy
Ograniczyć dostęp systemów do szyfrowania tylko, deszyfrowania tylko lub obu
Zdefiniować, aby umożliwić systemom dostęp do kluczy między regionami (choć nie jest to zalecane, ponieważ awaria w regionie hostującym KMS wpłynie na dostępność systemów w innych regionach).
Nie można synchronizować ani przenosić/kopiować kluczy między regionami; można jedynie zdefiniować zasady umożliwiające dostęp między regionami.
Wyliczenie
Eskalacja uprawnień
pageAWS - KMS PrivescPo eksploatacji
pageAWS - KMS Post ExploitationTrwałość
pageAWS - KMS PersistenceOdnośniki
Last updated