GH GambleHub

Szyfrowanie danych i TLS

1) Mapa zagrożenia i cele

Tranzyt: przechwytywanie/modyfikacja ruchu, MitM, downgrade.
W stanie spoczynku (w odpoczynku): kradzież dysków/kopii zapasowych, porzucenia DB/dziennika, wnętrzności.
Klucze: wycieki tajemnic, słaby obrót, ponowne użycie.
Celem jest zapewnienie poufności, integralności i autentyczności, z wymiernymi SLO i zarządzanej kryptogenności.

2) Klasyfikacja danych i polityka

Klasy: publiczne/wewnętrzne/poufne/ograniczone (PII/Finance/PAN).
Tagi: 'dane. klasa "," najemca "," region "," zatrzymanie ".
Obowiązkowe środki: dla Ograniczony - szyfrowanie na poziomie pola/obiektu, dziennik dostępu, poszczególne klucze na lokatora/region.

3) Szyfrowanie podczas odpoczynku

3. 1 Szyfrowanie koperty

DEK (klucz szyfrowania danych) szyfruje dane; KEK/CMK (KMS/HSM) szyfruje DEK.
Rotacja KEK nie wymaga odszyfrowania danych - re-wrap DEK.
DEK najlepiej per-object/party/najemca z krótkim TTL.

3. 2 Poziomy

Przezroczyste (TDE): tarcza/tablety (PostgreSQL/MySQL/SQL Server). Proste, ale bez granulatu.
Na poziomie aplikacji: pola/obiekty (PAN, tajemnice) - lepsze dla wielu najemców i minimów dostępu.
Przechowywanie/chmury: S3/GCS SSE-KMS; dla danych ACID - FLE (szyfrowanie na poziomie pola) w miarę możliwości.

3. 3 Algorytmy i tryby

AEAD: AES-256-GCM lub ChaCha20-Poly1305 (na procesorze bez AES-NI).
IV/nonce: wyjątkowość jest ściśle obowiązkowa; Przechowywać obok szyfru nie powtarzać.
Hashing: hasła - Argon2id (lub skrypt/bcrypt) z parametrami soli i żelaza.
MAC/podpisy: HMAC-SHA-256 integralności lub wbudowana etykieta AEAD.

3. 4 Praktyka dla DB/plików

PostgreSQL: pgcrypto/rozszerzenia; on write - szyfruj pola wrażliwe w aplikacji.
Mongo/Doc-storages: klient-side FLE, klucze w KMS.
Kopie zapasowe: pojedyncze klucze i dostępne tylko z agenta CI/CD; kopie offsite - zawsze zaszyfrowane.

4) Zarządzanie kluczami (KMS/HSM/Vault)

Źródło prawdy: KMS/HSM; klucze prywatne nie opuszczają urządzenia/usługi.
Wersioning: 'kid', 'purpose', 'alg', 'created _ at', 'rotates _ at'.
Dostęp: najmniej uprzywilejowany; rozdzielenie ceł (SoD).
Obrót: zaplanowany (3-6 miesięcy do podpisania), zdarzenie (incydent), obrót w użyciu w celu odświeżenia żetonów.
Audyt: niezmienne dzienniki: kto, kiedy, co podpisane/odszyfrowane.
Multi-najemca: klucze per-najemca/marka/region; BYOK/HYOK, jeśli jest to wymagane przez klienta.

5) Szyfrowanie w kanale (TLS)

5. 1 Upadki

TLS 1. 2 +, najlepiej TLS 1. 3; HSTS na domenach.
Cipher Suites: TLS1. 3 - wstępnie zdefiniowane (AES_256_GCM_SHA384/ CHACHA20_POLY1305_SHA256).
PFS: wszystkie kluczowe wymiany epemern (ECDHE).
ALPN: HTTP/2 i HTTP/3 (QUIC) obejmują świadomie; zegarek zegarowy.

5. 2 Certyfikaty, OCSP, szpilki

OCSP zszywanie i krótkie łańcuchy.
Sesje ponownego użycia: bilety TLS z krótkim TTL.
0-RTT (TLS 1. 3): włączyć ostrożnie (tylko idempotent GET).
Szpilki: tylko „szpilki klucz publiczny poprzez TSP/ciągłość klucza” w aplikacjach/telefonach komórkowych (nie twardy HPKP).
mTLS: w obrębie/między usługami a partnerami; Kwalifikacje SAN.

5. 3 gRPC/HTTP/QUIC

gRPC przekazuje Termin i metadane - sprawdź i ograniczyć czas na próbę.
HTTP/3 (QUIC) przyspiesza pierwszy bajt; Sprawdź zgodność WAF/balancer.

6) mTLS i zacieru serwisowego

SPIFFE/SPIRE lub mesh-CA do automatycznego wydawania krótkich certyfikatów (7-30 dni).
Politycy: kto rozmawia z kim (SVID → SVID), authZ na poziomie L7.
Obrót - przezroczysty; odwołać poprzez aktualizacje pakietów zaufania.

7) Wydajność i eksploatacja

AES-NI: na serwerach z obsługą - szybciej AES-GCM. Na telefonie komórkowym/starych procesorach - ChaCha20-Poly1305.
Dostrajanie TLS: klucze krótkie z PFS, ale w rozsądnych granicach (P-256/25519); uścisk dłoni.
Dozowanie: zminimalizować małe zapytania; TLS-overhead jest proporcjonalny do liczby połączeń.
Odciążenie: TLS na obwodzie (wysłannik/NGINX), wewnątrz - mTLS w siatce.

8) Tajna i logarytmiczna polityka

Tajemnice tylko w KMS/Vault; w Kubernetes - dostawca szyfrowania etcd + KMS.
Lustrowanie dziennika: klucze/żetony/PAN/sekrety; Maskowanie.
Migawki/rzuty: szyfruj i ograniczaj dostęp; monitorować dostęp klucza.

9) Konfiguracje i przykłady

9. 1 NGINX (ścisły profil TLS)

nginx ssl_protocols TLSv1. 2 TLSv1. 3;
ssl_prefer_server_ciphers on;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:P-256;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

9. 2 Wysłannik (mTLS do upstream, pseudo)

yaml transport_socket:
name: envoy. transport_sockets. tls typed_config:
common_tls_context:
tls_params:
tls_minimum_protocol_version: TLSv1_2 tls_certificate_sds_secret_configs:
- name: service_cert # client certificate validation_context_sds_secret_config:
name: mesh_ca_bundle # trusted roots

9. 3 Przykład użycia AEAD (pseudo)

pseudo nonce = random(12)
ciphertext, tag = AES256_GCM. encrypt(key=DEK, nonce, aad=tenant    object_id, plaintext)
store(nonce    ciphertext    tag)

10) Obrót i odwołane klucze

JWKS/„ dziecko ”dla JWT; krótkie 'exp'.
Wymienia 'jti '/' sid' dla cofnięcia żetonów z TTL.
Sekrety HMAC (webhooks): active + canary; odbiór przed terminem.
TLS: T-30/T-7/T-1 wpisy, automatyczne odnowienie, bezpieczne kanaryjskie.

11) Obserwowalność i wpisy

Метрика: 'tls _ handshake _ fail _ total {reason}', 'tls _ version _ share', 'cipher _ share', 'ocsp _ stapling _ errors',' kms _ ops _ total {op} ',' decrypt _ fail _ total ',' jwks _ kid _ share '.
Dzienniki dostępu: protokół/wersja/szyfr (bez tajemnic).
Alerts: wygasające certyfikaty, surge 'bad _ record _ mac', wzrost „niezaufanych łańcuchów”, nieudane odszyfrowanie.

12) Szczegóły dotyczące iGaming/Finance

Strumienie bezpieczeństwa PAN: tokenizacja, przechowywanie wyłącznie tokenów; PAN - w sklepie PSP/token.
PCI DSS: szyfrowanie danych posiadacza karty, ograniczenie dostępu do klawiszy, dziennik transakcji krypto, segmentacja sieci.
Regionalność: klucze i dane w regionie gracza (opóźnienie/suwerenność).
Backoffice: mTLS + SSO, krótkie sesje, FIDO2 dla administratorów.

13) Antypattery

TLS <1. 2; dozwolone słabe ciphers/RC4/3DES.
Wspólne „wieczne” sekrety i klucze bez rotacji i „dziecko”.
Powtarzać IV/nonce w GCM (śmiertelne do bezpieczeństwa).
Dzienniki z tajemnicami/klawiszami/danymi na patelni.
Tylko TDE bez szyfrowania pól wrażliwych.
HPKP-pinning w prod (ryzyko „samozamknięcia”).
0-RTT na pisanie/nie-idempotentne zapytania.

14) Lista kontrolna gotowości Prod

  • Zasady klasyfikacji i szyfrowania danych (dla poszczególnych klas).
  • AEAD (AES-GCM/ChaCha20-Poly1305); niepowtarzalny nonce; Hasło Argon2id.
  • Szyfrowanie koperty: DEK na obiekt/najemcę; KEK - KMS/HSM.
  • TLS 1. 2+/1. 3, HSTS, zszywanie OCSP; rozsądny zestaw szyfrów.
  • mTLS wewnątrz; automatyczne wydawanie/rotacja krótkich certyfikatów.
  • JWKS/„ dziecko ”, krótkie„ exp ”, wykazy„ jti ”; rotacja tajemnic/serc z nakładaniem się.
  • Kopie zapasowe i dzienniki są szyfrowane; dostęp i operacje są kontrolowane.
  • Deski rozdzielcze/wpisy zgodnie z TLS/KMS/JWKS; testy degradacji i kanarka.
  • Dokumentacja: procedury incydentów (kompromis klucz/cert).

15) TL; DR

Szyfruj wszędzie: w kanale - TLS 1. 3/1. 2 z PFS i ścisłym obwodzie; wewnątrz - mTLS. W spoczynku - koperta (DEK/KEK) z klawiszami w KMS/HSM, ziarnisto szyfrować pola wrażliwe. Zarządzanie klawiszami poprzez 'kid '/JWKS i regularne nakładanie się obrotów, przechowywanie dzienników transakcji krypto. Wybierz AES-GCM (lub ChaCha20-Poly1305), nie używaj ponownie nonce, szyfruj kopie zapasowe/dzienniki. Do segmentacji iGaming/PAN, tokenizacji i PCI.

Contact

Skontaktuj się z nami

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

Telegram
@Gamble_GC
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.