Zarządzanie kluczami
Zarządzanie kluczami odnosi się do zarządzania kluczami kryptograficznymi w kryptosystemie . Obejmuje to zajmowanie się generowaniem, wymianą, przechowywaniem, użytkowaniem, szyfrowaniem (niszczeniem) i wymianą kluczy. Obejmuje protokołów kryptograficznych , serwery kluczy , procedury użytkownika i inne odpowiednie protokoły.
Zarządzanie kluczami dotyczy kluczy na poziomie użytkownika, pomiędzy użytkownikami lub systemami. Kontrastuje to z planowaniem kluczy , które zwykle odnosi się do wewnętrznej obsługi kluczy w ramach działania szyfru.
Skuteczne zarządzanie kluczami ma kluczowe znaczenie dla bezpieczeństwa systemu kryptograficznego. Jest to trudniejsza strona kryptografii w tym sensie, że obejmuje aspekty inżynierii społecznej, takie jak polityka systemowa, szkolenie użytkowników, interakcje organizacyjne i działowe oraz koordynacja między wszystkimi tymi elementami, w przeciwieństwie do czysto matematycznych praktyk, które można zautomatyzować.
Rodzaje kluczy
Systemy kryptograficzne mogą używać różnych typów kluczy, a niektóre systemy używają więcej niż jednego. Mogą to być klucze symetryczne lub klucze asymetryczne. W algorytmie klucza symetrycznego zaangażowane klucze są identyczne zarówno do szyfrowania, jak i deszyfrowania wiadomości. Klucze należy starannie dobierać, rozdzielać i bezpiecznie przechowywać. Klucze asymetryczne, znane również jako klucze publiczne , natomiast są to dwa odrębne klucze, które są powiązane matematycznie. Zwykle są używane razem do komunikacji. Infrastruktura klucza publicznego (PKI), implementacja kryptografii klucza publicznego, wymaga od organizacji ustanowienia infrastruktury do tworzenia par kluczy publicznych i prywatnych oraz zarządzania nimi wraz z certyfikatami cyfrowymi.
Spis
Punktem wyjścia każdej strategii zarządzania certyfikatami i kluczami prywatnymi jest stworzenie kompleksowego spisu wszystkich certyfikatów, ich lokalizacji i stron odpowiedzialnych. Nie jest to trywialna sprawa, ponieważ certyfikaty z różnych źródeł są wdrażane w różnych lokalizacjach przez różne osoby i zespoły — po prostu nie można polegać na liście z jednego urzędu certyfikacji . Certyfikaty, które nie są odnawiane i wymieniane przed wygaśnięciem, mogą spowodować poważne przestoje i przerwy w działaniu. Inne uwagi:
- Przepisy i wymagania, takie jak PCI-DSS, wymagają rygorystycznych zabezpieczeń i zarządzania kluczami kryptograficznymi, a audytorzy coraz częściej przeglądają stosowane mechanizmy zarządzania i procesy.
- Klucze prywatne używane z certyfikatami muszą być bezpieczne, w przeciwnym razie osoby nieupoważnione mogą przechwycić poufną komunikację lub uzyskać nieautoryzowany dostęp do krytycznych systemów. Brak odpowiedniego podziału obowiązków oznacza, że administratorzy, którzy generują klucze szyfrujące, mogą ich używać do uzyskiwania dostępu do wrażliwych, regulowanych danych.
- W przypadku naruszenia bezpieczeństwa urzędu certyfikacji lub złamania algorytmu szyfrowania organizacje muszą być przygotowane na wymianę wszystkich swoich certyfikatów i kluczy w ciągu kilku godzin.
Kroki zarządzania
Po zinwentaryzowaniu kluczy zarządzanie kluczami zazwyczaj składa się z trzech etapów: wymiany, przechowywania i użytkowania.
Wymiana kluczy
Przed jakąkolwiek zabezpieczoną komunikacją użytkownicy muszą skonfigurować szczegóły kryptografii. W niektórych przypadkach może to wymagać wymiany identycznych kluczy (w przypadku systemu klucza symetrycznego). W innych może wymagać posiadania klucza publicznego drugiej strony. Podczas gdy klucze publiczne mogą być wymieniane w sposób otwarty (odpowiadający im klucz prywatny jest utrzymywany w tajemnicy), klucze symetryczne muszą być wymieniane przez bezpieczny kanał komunikacyjny. Dawniej wymiana takiego klucza była niezwykle uciążliwa, a ułatwiał ją dostęp do bezpiecznych kanałów, takich jak poczta dyplomatyczna . Czysty tekst wymiana kluczy symetrycznych umożliwiłaby każdemu przechwytywaczowi natychmiastowe poznanie klucza i wszelkich zaszyfrowanych danych.
Rozwój kryptografii klucza publicznego w latach 70. sprawił, że wymiana kluczy stała się mniej kłopotliwa. Od czasu Diffie-Hellmana w 1975 r. stała się możliwa wymiana klucza przez niezabezpieczony kanał komunikacyjny, co znacznie zmniejszyło ryzyko ujawnienia klucza podczas dystrybucji. Możliwe jest, używając czegoś podobnego do kodu książki , dołączyć kluczowe wskaźniki jako czysty tekst dołączony do zaszyfrowanej wiadomości. Technika szyfrowania zastosowana przez Richarda Sorge'a była tego typu i odnosiła się do strony w podręczniku statystycznym, chociaż w rzeczywistości był to kod. The Enigma armii niemieckiej był typem mieszanym na początku jego użycia; klucz był kombinacją potajemnie dystrybuowanych harmonogramów kluczy i wybranego przez użytkownika komponentu klucza sesji dla każdej wiadomości.
W bardziej nowoczesnych systemach, takich jak systemy zgodne z OpenPGP , klucz sesji dla algorytmu klucza symetrycznego jest dystrybuowany w postaci zaszyfrowanej przez algorytm klucza asymetrycznego . Takie podejście pozwala uniknąć nawet konieczności stosowania protokołu wymiany kluczy, takiego jak wymiana kluczy Diffie-Hellman.
Inna metoda wymiany kluczy polega na hermetyzacji jednego klucza w drugim. Zazwyczaj klucz główny jest generowany i wymieniany przy użyciu bezpiecznej metody. Ta metoda jest zwykle uciążliwa lub kosztowna (na przykład łamanie klucza głównego na wiele części i wysyłanie każdej z nich zaufanym kurierem) i nie nadaje się do stosowania na większą skalę. Po bezpiecznej wymianie klucza głównego można go z łatwością wykorzystać do bezpiecznej wymiany kolejnych kluczy. Ta technika jest zwykle nazywana zawijaniem klucza . Powszechna technika wykorzystuje szyfry blokowe i kryptograficzne funkcje skrótu .
Powiązaną metodą jest wymiana klucza głównego (czasami nazywanego kluczem głównym) i uzyskiwanie w razie potrzeby kluczy pomocniczych z tego klucza i niektórych innych danych (często określanych jako dane dywersyfikacji). Najczęstszym zastosowaniem tej metody są prawdopodobnie kartach inteligentnych , takie jak te, które można znaleźć w kartach bankowych. Bank lub sieć kredytowa osadza swój tajny klucz w bezpiecznym miejscu przechowywania karty podczas produkcji karty w zabezpieczonym zakładzie produkcyjnym. Następnie w punkcie sprzedaży zarówno karta, jak i czytnik kart są w stanie uzyskać wspólny zestaw kluczy sesyjnych w oparciu o współdzielony tajny klucz i dane specyficzne dla karty (takie jak numer seryjny karty). Metodę tę można również zastosować, gdy klucze muszą być ze sobą powiązane (tj. klucze departamentów są powiązane z kluczami działów, a klucze indywidualne są powiązane z kluczami departamentów). Jednak powiązanie ze sobą kluczy w ten sposób zwiększa szkody, które mogą wynikać z naruszenia bezpieczeństwa, ponieważ osoby atakujące dowiedzą się czegoś o więcej niż jednym kluczu. Zmniejsza to entropię w odniesieniu do atakującego dla każdego zaangażowanego klucza.
Przechowywanie kluczy
Jakkolwiek rozproszone, klucze muszą być bezpiecznie przechowywane, aby zachować bezpieczeństwo komunikacji. Bezpieczeństwo jest dużym problemem, dlatego stosuje się do tego różne techniki. Prawdopodobnie najbardziej powszechnym jest to, że aplikacja szyfrująca zarządza kluczami dla użytkownika i polega na haśle dostępu do kontrolowania użycia klucza. Podobnie w przypadku platform dostępu bezkluczykowego na smartfony, przechowują one wszystkie informacje identyfikujące drzwi poza telefonami komórkowymi i serwerami oraz szyfrują wszystkie dane, gdzie podobnie jak w przypadku kluczy o niskim poziomie zaawansowania technologicznego, użytkownicy przekazują kody tylko tym, którym ufają.
Jeśli chodzi o przepisy, niewiele jest przepisów, które dogłębnie dotyczą przechowywania kluczy. „Niektóre zawierają minimalne wskazówki, takie jak„ nie przechowuj kluczy z zaszyfrowanymi danymi ”lub sugerują, że„ klucze powinny być bezpiecznie przechowywane ”.” Godnymi uwagi wyjątkami są PCI DSS 3.2.1, NIST 800-53 i NIST 800–57.
W celu zapewnienia optymalnego bezpieczeństwa klucze mogą być przechowywane w sprzętowym module bezpieczeństwa (HSM) lub chronione za pomocą technologii, takich jak Trusted Execution Environment (TEE, np. Intel SGX ) lub Multi-Party Computation (MPC). Dodatkowe alternatywy obejmują wykorzystanie Trusted Platform Modules (TPM), wirtualnych modułów HSM, czyli „sprzętowych modułów bezpieczeństwa biedaka” (pmHSM) lub nieulotnych tablic bramek programowalnych przez użytkownika (FPGA) z obsługą System-on-Chip konfiguracje. Aby zweryfikować integralność przechowywanego klucza bez narażania jego rzeczywistej wartości, można użyć algorytmu KCV .
Użycie szyfrowania klucza
Głównym problemem jest długość czasu, w którym klucz ma być używany, a co za tym idzie częstotliwość wymiany. Ponieważ zwiększa to wymagany wysiłek każdego atakującego, klucze powinny być często zmieniane. Ogranicza to również utratę informacji, ponieważ liczba przechowywanych zaszyfrowanych wiadomości, które staną się czytelne po znalezieniu klucza, będzie się zmniejszać wraz ze wzrostem częstotliwości zmiany klucza. W przeszłości klucze symetryczne były używane przez długi czas w sytuacjach, w których wymiana kluczy była bardzo trudna lub możliwa tylko sporadycznie. Idealnie, klucz symetryczny powinien zmieniać się z każdą wiadomością lub interakcją, tak aby tylko ta wiadomość stała się czytelna, jeśli klucz zostanie wyuczony ( np. , skradziony, poddany kryptoanalizie lub poddany inżynierii społecznej).
Wyzwania
Oto kilka wyzwań, z którymi borykają się organizacje IT, próbując kontrolować swoje klucze szyfrujące i zarządzać nimi:
- Skalowalność: zarządzanie dużą liczbą kluczy szyfrujących.
- Bezpieczeństwo: podatność kluczy na ataki zewnętrznych hakerów, złośliwych osób z wewnątrz.
- Dostępność: Zapewnienie dostępności danych dla uprawnionych użytkowników.
- Heterogeniczność: Obsługa wielu baz danych, aplikacji i standardów.
- Zarządzanie: definiowanie opartej na zasadach kontroli dostępu i ochrony danych. Zarządzanie obejmuje zgodność z ochrony danych .
Zgodność
Zgodność zarządzania kluczami odnosi się do nadzoru, zapewniania i możliwości wykazania, że klucze są bezpiecznie zarządzane. Obejmuje to następujące indywidualne domeny zgodności:
- Bezpieczeństwo fizyczne – najbardziej widoczna forma zgodności, która może obejmować zamknięte drzwi w celu zabezpieczenia sprzętu systemowego i kamer monitorujących. Zabezpieczenia te mogą zapobiegać nieautoryzowanemu dostępowi do drukowanych kopii kluczowych materiałów i systemów komputerowych, na których działa oprogramowanie do zarządzania kluczami.
- Bezpieczeństwo logiczne – chroni organizację przed kradzieżą lub nieautoryzowanym dostępem do informacji. W tym miejscu pojawia się użycie kluczy kryptograficznych poprzez szyfrowanie danych, które następnie stają się bezużyteczne dla tych, którzy nie mają klucza do ich odszyfrowania.
- Bezpieczeństwo personelu – obejmuje to przypisanie personelowi określonych ról lub uprawnień w celu uzyskania dostępu do informacji na zasadzie ścisłej potrzeby. W celu zapewnienia bezpieczeństwa należy przeprowadzać kontrole przeszłości nowych pracowników wraz z okresowymi zmianami ról.
Zgodność można osiągnąć w odniesieniu do krajowych i międzynarodowych norm i przepisów dotyczących ochrony danych , takich jak Standard bezpieczeństwa danych branży kart płatniczych , Ustawa o przenośności i odpowiedzialności w ubezpieczeniach zdrowotnych , Ustawa Sarbanes-Oxley lub Ogólne rozporządzenie o ochronie danych .
Systemy zarządzania i zgodności
System zarządzania kluczami
System zarządzania kluczami (KMS), znany również jako system zarządzania kluczami kryptograficznymi (CKMS) lub system zarządzania kluczami przedsiębiorstwa (EKMS), to zintegrowane podejście do generowania, dystrybucji i zarządzania kluczami kryptograficznymi dla urządzeń i aplikacji. Mogą obejmować wszystkie aspekty bezpieczeństwa – od bezpiecznego generowania kluczy, poprzez bezpieczną wymianę kluczy, aż po bezpieczną obsługę i przechowywanie kluczy na kliencie. W związku z tym KMS obejmuje funkcjonalność zaplecza do generowania kluczy , dystrybucja i wymiana, a także funkcjonalność klienta do wstrzykiwania kluczy, przechowywania kluczy i zarządzania nimi na urządzeniach.
Zarządzanie kluczami oparte na standardach
Wiele konkretnych aplikacji opracowało własne systemy zarządzania kluczami z domowymi protokołami. Jednak w miarę jak systemy stają się coraz bardziej połączone, klucze muszą być współdzielone między tymi różnymi systemami. Aby to ułatwić, standardy zarządzania kluczami ewoluowały w celu zdefiniowania protokołów używanych do zarządzania i wymiany kluczy kryptograficznych i powiązanych informacji.
Protokół interoperacyjności zarządzania kluczami (KMIP)
KMIP to rozszerzalny protokół zarządzania kluczami, który został opracowany przez wiele organizacji pracujących w ramach organu normalizacyjnego OASIS . Pierwsza wersja została wydana w 2010 roku i była dalej rozwijana przez aktywny komitet techniczny.
Protokół umożliwia tworzenie kluczy i ich dystrybucję między różnymi systemami oprogramowania, które muszą z nich korzystać. Obejmuje pełny cykl życia klucza zarówno symetrycznego, jak i asymetrycznego w różnych formatach, opakowanie kluczy, schematy udostępniania i operacje kryptograficzne, a także metadane powiązane z kluczami.
Protokół jest wspierany przez obszerną serię przypadków testowych, a co roku przeprowadzane są testy interoperacyjności między zgodnymi systemami.
Listę około 80 produktów zgodnych ze standardem KMIP można znaleźć na stronie internetowej OASIS .
Zamknięte źródło
- Zamek Bloombase Key
- Serwery Cryptsoft KMIP C i Java
- Orkiestracja kluczy Fornetix
- Menedżer bezpieczeństwa danych Fortanix
- Zarządzanie kluczami Futurex
- Gazzang zTrustee
- Bezpieczny menedżer kluczy HP Enterprise
- Rozproszony system zarządzania kluczami IBM (DKMS)
- IBM Enterprise Key Management Foundation
- Menedżer cyklu życia klucza bezpieczeństwa IBM
- Usługi kryptograficzne IBM Cloud Hyper Protect
- KeyNexus Enterprise lokalnie
- Magazyn kluczy Oracle
- Menedżer kluczy Oracle
- Pakiet SDK klienta P6R KMIP
- QuintessenceLabs qCrypt Key and Policy Manager
- Menedżer Ochrony Danych RSA
- SafeNet KeySecure firmy Gemalto
- Zarządzanie kluczami firmy Thales
- Menedżer kluczy Townsend Security Alliance
- Platforma ochrony zaufania Venafi
- Platforma bezpieczeństwa danych Vormetric
Zarządzanie kluczami niezgodnymi z KMIP
Otwarte źródło
- Barbican, interfejs API bezpieczeństwa OpenStack.
- KeyBox — internetowy dostęp SSH i zarządzanie kluczami.
- EPKS - Echo Public Key Share, system udostępniania kluczy szyfrujących online w społeczności p2p.
- Kmc-Subset137 - system zarządzania kluczami implementujący UNISIG Subset-137 dla kolejowej aplikacji ERTMS / ETCS .
- privacyIDEA - zarządzanie dwuskładnikowe z obsługą zarządzania kluczami SSH.
- StrongKey - open source, ostatnia aktualizacja SourceForge w 2016 roku. Według strony głównej tego projektu nie ma już żadnych prac konserwacyjnych.
- Krypta - tajny serwer firmy HashiCorp .
- NuCypher
- SecretHub — kompleksowe zarządzanie szyfrowanymi kluczami SaaS
Zamknięte źródło
- Amazon Web Service (AWS) Usługa zarządzania kluczami (KMS)
- Menedżer kluczy Bell ID
- Zamek Bloombase Key
- Kryptomatyczny CKMS
- Platforma Dopplera SecretOps
- Menedżer kluczy programu szyfrującego (tylko system Windows)
- Zarządzanie kluczami Google Cloud
- Ochrona klucza IBM Cloud
- Magazyn kluczy Microsoft Azure
- Wirtualne prywatne dane Porticor
- SSH Communications Security Uniwersalny menedżer kluczy SSH
- Skarbiec bez klucza
Polityka bezpieczeństwa KMS
Polityka bezpieczeństwa systemu zarządzania kluczami zawiera reguły, które mają być używane do ochrony kluczy i metadanych obsługiwanych przez system zarządzania kluczami. Zgodnie z definicją Narodowego Instytutu Standardów i Technologii NIST , polityka ustanawia i określa zasady dotyczące tych informacji, które będą chronić ich:
- Poufność
- Uczciwość
- Dostępność
- Uwierzytelnianie źródła
Ochrona ta obejmuje pełny cykl życia klucza od momentu, w którym klucz zaczyna działać, aż do jego usunięcia.
Przynieś własne szyfrowanie / klucz
Przynieś własne szyfrowanie (BYOE) — zwane także przynieś własny klucz (BYOK) — odnosi się do modelu bezpieczeństwa przetwarzania w chmurze, który umożliwia klientom chmury publicznej korzystanie z własnego oprogramowania szyfrującego i zarządzanie własnymi kluczami szyfrującymi. Ten model bezpieczeństwa jest zwykle uważany za chwyt marketingowy, ponieważ kluczowe klucze są przekazywane stronom trzecim (dostawcom usług w chmurze), a właściciele kluczy nadal ponoszą ciężar operacyjny związany z generowaniem, rotacją i udostępnianiem swoich kluczy. IBM oferuje wariant tej funkcji o nazwie Zachowaj własny klucz, w ramach którego klienci mają wyłączną kontrolę nad swoimi kluczami.
Infrastruktura klucza publicznego (PKI)
Infrastruktura klucza publicznego to rodzaj systemu zarządzania kluczami, który wykorzystuje hierarchiczne certyfikaty cyfrowe do uwierzytelniania oraz klucze publiczne do szyfrowania. PKI są używane w ruchu w sieci World Wide Web, zwykle w formie SSL i TLS .
Zarządzanie kluczami grupy multiemisji
Zarządzanie kluczami grupowymi oznacza zarządzanie kluczami w komunikacji grupowej. Większość komunikacji grupowej wykorzystuje multiemisji , więc jeśli wiadomość zostanie wysłana raz przez nadawcę, zostanie odebrana przez wszystkich użytkowników. Głównym problemem w komunikacji grupowej multiemisji jest jej bezpieczeństwo. W celu poprawy bezpieczeństwa użytkownikom udostępniane są różne klucze. Korzystając z kluczy, użytkownicy mogą szyfrować swoje wiadomości i wysyłać je potajemnie. IETF.org opublikował RFC 4046, zatytułowany Multicast Security (MSEC) Group Key Management Architecture, który omawia wyzwania związane z zarządzaniem kluczami grupowymi.
Zobacz też
- Sekrety dynamiczne
- Bezpieczeństwo sprzętu
- Ceremonia kluczy
- Funkcja wyprowadzania klucza
- Centrum dystrybucji kluczy
- Enkapsulacja klucza
- Fizyczne zarządzanie kluczami
- Magazyn kluczy
- KMIP
- KSD-64
- Lista typów kluczy kryptograficznych
- Elektroniczny system zarządzania kluczami NSA (EKMS)
- Bezprzewodowe ponowne wprowadzanie kluczy
- Rodzina funkcji pseudolosowych
- Infrastruktura klucza publicznego
45. NeoKeyManager — Hancom Intelligence Inc.
Linki zewnętrzne
- Zalecenie dotyczące zarządzania kluczami — część 1: ogólne, specjalna publikacja NIST 800-57
- Zestaw narzędzi kryptograficznych NIST
- American National Standards Institute — ANSI X9.24, zarządzanie kluczami symetrycznymi dla detalicznych usług finansowych
- Komitet techniczny protokołu interoperacyjności zarządzania kluczami OASIS (KMIP).
- Komitet techniczny OASIS Enterprise Key Management Infrastructure (EKMI).
- „Zarządzanie kluczami z potężnym magazynem kluczy”
- "Inteligentny system zarządzania kluczami - KeyGuard | Senergy Intellution"
- Menedżer cyklu życia klucza bezpieczeństwa IBM, SKLM
- NeoKeyManager — Hancom Intelligence Inc.
- Klucz KMS