Szyfrowanie kopert z kluczami asymetrycznymi a KMS
On 18 lutego, 2021 by adminW szyfrowaniu kopert do podpisywania danych używany jest symetryczny tajny klucz, a następnie inny klucz jest używany do szyfrowania sekretu w celu utworzenia zaszyfrowany tajny klucz. Zaszyfrowane wiadomości są pakowane z zaszyfrowanym tajnym kluczem i wysyłane do klienta / konsumenta, który następnie odszyfrowuje zaszyfrowany tajny klucz w celu uzyskania tajnego klucza, który z kolei jest używany do odszyfrowania wiadomości.
Istnieją 2 sposoby aby go wdrożyć:
- Szyfrowanie asymetryczne: producent szyfruje tajny klucz (y) kluczem publicznym klienta. Klient używa klucza prywatnego do odszyfrowania zaszyfrowanego klucza tajnego
- KMS (takiego jak AWS KMS): Tajny klucz jest szyfrowany przez KMS, a klient, który potrzebuje dostępu do tajnego klucza, musi poprosić KMS o odszyfrować
Zaletą podejścia KMS jest to, że zarządzanie kluczami jest scentralizowane, a cofnięcie uprawnień klientowi można wykonać, usuwając klienta z KMS i obracając klucz.
Czy są jakieś dobre powody, aby używać kluczy asymetrycznych zamiast KMS?
Komentarze
- Poza tym, że KMS jest oddzielną usługą do utrzymania, zarządzania i staje się pojedynczym punktem awarii w środowisku rozproszonym? Czy Twoje pytanie jest " szyfrowaniem " pytaniem, czy " logistyką " pytanie?
Odpowiedź
Jeśli KMS posiada klucz, może czytać wiadomość. Jeśli KMS zostanie naruszony, osoba atakująca może odczytać wszystkie wiadomości powiązane ze wszystkimi ukradzionymi kluczami. Asymetryczne klucze, w których klucz prywatny jest przechowywany tylko przez odbiorcę, pozwalają odbiorcy tylko na przeczytanie wiadomości, więc nie ma obaw o podglądanie systemów KMS. Jeśli klucz prywatny zostanie skradziony, będzie to dotyczyło tylko wiadomości e-mail do tego użytkownika, który go użył , nie wszyscy w systemie.
Odpowiedź
Wszystko zależy od tego, gdzie przechowujesz sekret i kto ma do niego dostęp .
Najpierw wyjaśnienie: jesteś zdezorientowany. Usługa KMS nie używa szyfrowania asymetrycznego (zwanego także szyfrowaniem klucza publicznego). Używa szyfrowania klucza prywatnego, aby włączyć szyfrowanie kopert. To dwie różne rzeczy.
W przypadku szyfrowania asymetrycznego producent szyfrowania nigdy nie musi mieć dostępu do sekretu, potrzebuje jedynie klucza publicznego. Producent używa klucza publicznego do szyfrowania, konsument używa odpowiedniego klucza prywatnego do odszyfrowania. Aby ułatwić rotację kluczy, producent czasami dołącza klucz publiczny, który został użyty do szyfrowania, aby konsument wiedział, jakiego klucza prywatnego użyć do odszyfrowania. Bez względu na to, ile danych jest zaszyfrowanych, nie ma żadnych wskazówek dotyczących klucza prywatnego. Algorytm deszyfrowania jest zwykle bardziej intensywny obliczeniowo niż szyfrowanie z kluczem prywatnym.
W szyfrowaniu kopertowym producent i konsument muszą być tym samym (lub obaj mieć dostęp do klucza głównego). Klucz główny służy do generowania klucza dodatkowego zwanego kluczem danych. Następnie zaszyfrujesz klucz danych za pomocą klucza głównego, a same dane za pomocą klucza danych, a następnie dołączysz zaszyfrowany klucz danych do zaszyfrowanych danych. Podczas odszyfrowywania używasz klucza głównego do odszyfrowania dołączonego klucza danych, a następnie użyj odszyfrowanego klucza danych do odszyfrowania danych.
Zaletą tego jest to, że możesz ekonomicznie przechowywać klucz główny w celu: wbudowany moduł bezpieczeństwa sprzętu i nigdy nie narażaj go na nic innego bez konieczności przekazywania wszystkich zaszyfrowanych danych do HSM. Możesz nawet wygenerować klucz wewnątrz HSM i nie wyjmować go, aby nie było szans, aby kiedykolwiek został wystawiony na cokolwiek z zewnątrz. KMS zapewnia HSM oparty na chmurze i jest wspierany przez fizyczne HSM w Amazon.
Jeśli nie zależy Ci na przechowywaniu klucza głównego w HSM, możesz wykonać ten sam rodzaj szyfrowania używając własnego klucza, który starasz się zabezpieczyć, umieszczając serwer przesiadkowy lub coś w tym rodzaju w ten sposób. Jeśli nie szyfrujesz więcej niż 250 milionów TB, możesz pominąć tę kopertę.
Jeśli szukasz przykładowego kodu, możesz go złapać i wdrożyć albo proste szyfrowanie AES, albo szyfrowanie kopert, które możesz chcieć sprawdzić w naszym projekcie open-source. Ma implementację dla każdego, z którego możesz skorzystać …
Dodaj komentarz