GH GambleHub

Szyfrowanie Rest

Szyfrowanie podczas odpoczynku

1) Dlaczego jest potrzebny i co dokładnie chronimy

Definicja. Szyfrowanie w spoczynku to ochrona danych zapisanych na nośnikach (dyski, migawki, kopie zapasowe, obiekty, dzienniki, porzucanie pamięci), tak aby nieautoryzowany dostęp do mediów fizycznych lub do „surowego” przechowywania nie ujawniał treści.

To co ukrywamy:
  • Woluminy bloków/plików, magazynów obiektów, baz danych, kolejek/caveles, dumps cache, logs/trails, backups, export/import, VM/container snapshots, kernel/process dumps, swap/swap.
  • Scenariusze wielopoziomowe: izolacja klientów/projektów/środowisk.

To, co nie w pełni pokrywamy: kradzież sesji w pamięci, ataki na żywo, luki w aplikacji, kompromis poświadczeń. Wymaga to szyfrowania podczas lotu, silnego uwierzytelniania/autoryzacji, minimalizacji praw i monitorowania (patrz artykuły powiązane: „Uwierzytelnianie i autoryzowanie”, „Podpisywanie i weryfikacja żądań”).

2) Model zagrożenia i cele kontroli

Typowe ryzyko:
  • Utrata/kradzież nośnika (dysk, taśma, USB, urządzenie programistyczne).
  • Nieautoryzowany dostęp do kopii zapasowych/migawek/dzienników.
  • Nadużywanie uprawnień na poziomie platformy/hipervisor/węzła pamięci masowej.
  • Przekraczanie lokatorów za błędy konfiguracyjne.
  • „Zaśmiecone” tymczasowe pliki i porzucenia, które wpadają w artefakty i obrazy.
Cele:

1. Poufność danych na nośniku.

2. Izolacja kryptograficzna najemców/środowisk.

3. Możliwość zarządzania kluczami (tworzenie, przechowywanie, rotacja, odwołanie).

4. Auditability (kto użył klucza i kiedy).

5. Minimalizacja ryzyka operacyjnego w przypadku incydentów.

3) Podstawy architektury

Wszystko szyfrujemy domyślnie. Opt-out nie jest dozwolony bez wyjątków na poziomie ryzyka.
Hierarchia kluczy (szyfrowanie koperty). Root/KEK → DEK (klucze szyfrowania danych) → obiekty bazy danych/pliki/strony.
KMS/HSM jako źródło zaufania. Generowanie i przechowywanie KEK w KMS/HSM, tam wykonywane są kluczowe operacje pakowania/wdrażania.
Klucze per-najemca/per-dataset. Ziarnistość dla potrzeb izolacji i rotacji.
Rozdzielenie obowiązków. Platforma poleca kluczem do właścicieli; uprawnienia minimalne (PoLP).
Kryptowaluta. Możliwość bezpiecznej migracji algorytmów/długości kluczy.
Rotacja jako proces, a nie wydarzenie. Klucze i dane muszą obsługiwać wymianę „toczenia”.

4) Algorytmy i tryby szyfrowania

Dla obiektów/plików/rekordów: AES-256-GCM lub AES-256-SIV (AEAD z uwierzytelnieniem).
Dla urządzeń/woluminów blokowych: AES-XTS-256/512 (ochrona przed permutacjami bloków; nie AEAD - używać ponad formatów plików z MAC, gdzie integralność jest ważna).

Dla baz danych:
  • TDE (Przezroczyste Szyfrowanie Danych) двивка: Oracle TDE, SQL Server TDE, MySQL/InnoDB TDE ма.
  • Kryptografia pola/linii (FPE/szyfrowanie deterministyczne) - funkcje wyszukiwania/joynes na szyfrowanych polach; nakładać ostrożnie.
  • Generowanie i przechowywanie kluczy: KEK - w KMS/HSM; DEK - w pamięci aplikacji krótkotrwałe, podczas przechowywania - tylko owinięte.

5) Kluczowa hierarchia i KMS/HSM

Poziomy:

1. Klucz główny (ustawowy, w HSM/KMS). Nie opuszczać obwodu HSM/KMS.

2. KEK (Key Encryption Key). Dla projektu/środowiska/najemcy. Zarządza cyklem życia DEK.

3. DEK (klucz szyfrowania danych). Na obiekt/plik/tabela/segment. Krótkotrwały, obracający się bez przerwy.

Praktyki:
  • Wszystkie operacje pakowania/wdrażania są za pośrednictwem interfejsu API KMS z audytem.
  • Politycy: kto może „użyć” klucza i kto może „kontrolować” klucz.
  • Kluczowy rozkład geograficzny: pin-to-region + podwójna kontrola międzyregionalna.
  • Model „dwóch kontroli” (dwóch operatorów) jest możliwy w przypadku operacji wysokiego ryzyka.
  • Aby wyizolować silny poziom - oddzielne klucze-pierścienie na najemcę.

6) Rotacja, wycofanie i zgodność

Rotacja DEK: przezroczysta i stała (ponowne szyfrowanie toczenia na poziomie obiektu/strony).
Rotacja KEK: okresowa (np. co 6-12 miesięcy) + natychmiastowe wycofanie, jeśli podejrzewa się narażenie.
Cofnięcie dostępu: poprzez politykę KMS; blokowanie operacji odblokowania = natychmiastowa „crypto-niszczalność” danych.
Dzienniki audytu: kto, kiedy, z jakimi prawami używali kluczy; przechowywać oddzielnie, a także szyfrować.
Przepisy i normy: skupiamy się na wymaganiach branżowych (na przykład RODO/zezwolenia PCI/lokalne regulatory), stosujemy certyfikowane moduły kryptograficzne (na przykład zgodność z poziomami certyfikacji).

7) Wzory według typu magazynu

7. 1 objętość bloku/pliku i VM/pojemniki

Pełne szyfrowanie dysku (XTS) + zarządzanie kluczem poprzez KMS (inicjalizacja głośności podczas montażu).
Chroń swap, porzucenia awarii, katalogi tmp, warstwy nakładki kontenera ,/obrazy AMI.
Migawki/migawki - zawsze zaszyfrowane oddzielnymi DEK.

7. 2 Przechowywanie obiektów

Szyfrowanie koperty: unikalny DEK na obiekt; nagłówki/metadane - brak przecieków PII.
Kontrola dostępu do klucza KMS przez najemców i środowiska.
Szyfrowanie po stronie serwera (SSE z własnym KMS) lub po stronie klienta (CSE) - wybierz według modelu zaufania.

7. 3 Bazy danych

Włącz TDE, jeśli jest dostępny; powiązać klucze bazy danych z KMS za pomocą wtyczki/rozszerzenia.
Dla szczególnie wrażliwych pól - szyfrowanie aplikacji (AEAD) przed wprowadzeniem bazy danych.
Redo dzienniki/dzienniki transakcji, dzienniki archiwów, dumps - szyfruj oddzielnie, klucze - oddzielne.

7. 4 kłody/szlaki/mierniki

Format dziennika - domyślnie bez danych wrażliwych (sanitarnych).
Archiwa dziennika - oddzielne klucze i krótka pamięć TTL.
Dostęp do dzienników czytania - poprzez usługę proxy z A&A i audytu.

7. 5 Kopie zapasowe i media offline

Zawsze szyfruj u klienta przed zapisem do taśmy/chmury.
Przechowywać klucze oddzielnie (poza pasmem), escrow z oddzielną kontrolą.
W przypadkach awaryjnych, dzielenie tajemnicy (na przykład m-of-n) w celu przywrócenia dostępu master.

8) Multi-najemca

Klucz do najemcy: KEK-per-najemca + DEK-per-dataset.
Izolacja polityk: obszary nazw KMS, granice IAM, poszczególne role IDP.
Usunięcie na życzenie klienta: „crypto-erase” - wycofać KEK najemcy i zniszczyć DEK.
Raportowanie klienta: artefakty zgodności, rejestry dostępu klucza, potwierdzenie rotacji.

9) Wydajność i działanie

Przyspieszenia sprzętowe (AES-NI/x86, ARMv8 rozszerzenia Crypto).
Profilowanie gorącej ścieżki: szyfrować na granicach I/O, unikać podwójnego szyfrowania niepotrzebnie.
Baseny sesji KMS, buforowanie zapakowanych DEK w pamięć (z TTL i zabezpieczeniem przed zrzutami).
SLO/metryki: odblokowanie opóźnienia, odsetek „ponownie zaszyfrowanych” obiektów, błędy KMS, prędkość szyfrowania kopii zapasowych.

10) Księga odniesienia

Krok 0 - Spis danych. Katalog wszystkich repozytoriów i ścieżek wycieków (tmp, dumps, eksport, wiadra analityczne).
Krok 1 - projekt hierarchii kluczy. Określamy poziomy KEK/DEK, granularność, regiony, role.
Krok 2 - wybierz tryby/biblioteki. Zatwierdzone algorytmy, biblioteki kryptograficzne, zasady wersji.
Krok 3 - integracja z KMS/HSM. Generacja/pakowanie/audyt, polityka IAM, geosiatka.
Krok 4 - szyfrowanie na zapisze. Domyślnie włącz migrację istniejących danych poprzez ponowne szyfrowanie w tle.
Krok 5 - scenariusze rotacyjne i awaryjne. Przepisy, testy „kluczowy kompromis”, „KMS nie jest dostępny”.
Krok 6 - monitorowanie i audyt. Deski rozdzielcze, wpisy, regularne raporty zgodności.
Krok 7 - szkolenie i "bezpieczne kodowanie. "Przewodniki dla inżynierów, zakaz wyświetlania tajemnic w logach/dumpsach.

11) Badanie i weryfikacja

Testy jednostek kryptograficznych: poprawność AEAD (kontrola znacznika), walidacja awarii w przypadku zmiany bajtu.
Testy awaryjne: wyłączenie KMS, przestarzałe wersje kluczy, wymuszone odwołanie KEK.
Testy czerwono-niebieskie: próby odczytu „surowego” dysku/migawki/kopii zapasowej.
Kontrola zgodności: migracja algorytmów/długości kluczy (krypto-zwinność).
Poświadczenie biblioteki: używać tylko zweryfikowanych modułów kryptograficznych; wersje commit.

12) Częste błędy i jak ich uniknąć

Podwójne szyfrowanie bez znaczenia. Dodatkowe opóźnienia i złożoność. Trzymaj warstwę, która daje pożądaną ziarnistość i izolację.
Zapisz klucze obok danych. Klucze są zawsze oddzielne, w innym modelu dostępu.
Zapomniane artefakty. Niezaszyfrowane pliki tymczasowe, eksport CSV, wsparcie dumps. Włącz monitorowanie w CI/CD i zapobieganie utracie danych.
Brak rotacji. Wykonaj część obrotową rurociągu/korony, a nie procedurę ręczną.
Dzienniki z wrażliwymi danymi. Wprowadź umowę na format dziennika i automatyczne urządzenia sanitarne.

13) Mini przepisy (pseudokoda)

Szyfrowanie kopert-obiektów:

1) Request unwrap DEK from KMS by tenant KEK id dek = kms. unwrap(kek_id, wrapped_dek)

2) Generate fresh nonce/iv, encrypt payload (AEAD)
ciphertext, tag = aead_encrypt(dek, iv=random(), aad=metadata, plaintext=data)

3) Delete DEK from memory (zeroize), save {ciphertext, iv, tag, wrapped_dek}
Obrót KEK bez przestoju:

For each object:
new_wrapped_dek = kms. rewrap(old_wrapped_dek, old_kek_id -> new_kek_id)
store(new_wrapped_dek)
We do not touch the data: we turn over only DEK
Zestaw danych „Crypto delete”:

kms. disable_key (tenant_kek_id) # Deny unwrap kms. schedule_destroy (tenant_kek_id, hold_period_days=7) # Optional hold

14) Listy kontrolne

Przed uruchomieniem do produkcji:
  • Domyślne szyfrowanie jest włączone we wszystkich typach pamięci.
  • Kluczowa hierarchia została opisana i wdrożona; Role i zasady IAM są skonfigurowane.
  • Zintegrowane KMS/HSM, włączony audyt kluczowych operacji.
  • Rotacja DEK/KEK jest zautomatyzowana; wypracowane kompromisowe scenariusze.
  • Kopie zapasowe, migawki, dzienniki i porzucenia - zaszyfrowane; klucze są przechowywane oddzielnie.
  • Konfigurowane wpisy dla błędów KMS, odchylenia znaczników AEAD, odsetek niezaszyfrowanych artefaktów.
  • Przeszedł niedostępność KMS i kluczowe testy odwołania.
Działanie:
  • Miesięczne sprawozdanie na temat kluczowych prób wykorzystania i dostępu.
  • Plan crypto-zwinność i okno dla bezbolesnej migracji algorytmu.
  • Okresowy czerwony zespół do ekstrakcji danych z surowych mediów.

15) PYTANIA I ODPOWIEDZI (FAQ)

P: Czy pełne szyfrowanie dysku jest wystarczające?
Odp.: Dla ryzyka fizycznego - tak, ale dla izolacji najemców i elastycznego obracania lepiej kopertę z DEK-on-object/set.

P: Co robić w przypadku kompromisu KEK?
Odp.: Natychmiast przypomnij sobie KEK do KMS, ponownie zwolnij nowy, wrap wszystkie DEK, sprawdź dzienniki i uruchom RCA.

P: Jak szyfrować pola, których szukamy?
Odp.: Stosowanie programów deterministycznych lub FPE tylko w rygorystycznej ocenie ryzyka (pory wzoru). Lepiej jest zaprojektować zapytania, aby pola wrażliwe nie wymagały indeksowanego otwartego widoku.

P: Czy potrzebuję oddzielnego polecenia dla kluczy?
Odp.: Operator Crypto/KMS jest zalecany jako rola z odrębnymi prawami i procedurami.

Powiązane materiały w dziale Architektura i Protokoły:
  • „Kluczowe zarządzanie i rotacja”
  • „Uwierzytelnianie S2S”
  • „Podpisz i zweryfikuj żądania”
  • „Podłącz OAuth2/OpenID w jądrze”
  • „Webhook gwarancji dostawy”
Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.