GH GambleHub

Деректерді шифрлау және TLS

1) Қатерлер мен мақсаттар картасы

Каналда (in-transit): трафикті ұстап алу/түрлендіру, MitM, даунгрейд.
Тыныштықта (at-rest): дискілерді/бэкаптарды, ДБ/логтар дампаларын, инсайдерлерді ұрлау.
Кілттер: құпиялардың жылыстауы, әлсіз ротация, қайта пайдалану.
Мақсаты - өлшенетін SLO және басқарылатын криптоагильділігі бар құпиялылықты, тұтастықты және түпнұсқалылықты қамтамасыз ету.

2) Деректерді жіктеу және саясат

Сыныптар: Public/Internal/Confidential/Restricted (PII/қаржы/PAN).
'data. class`, `tenant`, `region`, `retention`.
Міндетті шаралар: Restricted үшін - өріс/нысан деңгейінде шифрлау, кіру журналы, жеке кілттер per-tenant/region.

3) «тыныштықта» шифрлау (at-rest)

3. 1 Envelope шифрлау

DEK (Data Encryption Key) деректерді шифрлайды; KEK/CMK (KMS/HSM) DEK шифрлайды.
KEK ротациясы деректердің мағынасын ашуды талап етпейді - DEK қайта-wrap.
DEK мүмкіндігінше қысқа TTL бар per-объект/партиция/тенант.

3. 2 деңгейлері

Транспарантты (TDE): диск/кесте кеңістігі (PostgreSQL/MySQL/SQL Server). Қарапайым, бірақ гранулярлық бақылаусыз.
Қосымша деңгейінде: өрістер/объектілер (PAN, құпиялар) - multi-tenant және қол жеткізу минимумдары үшін жақсы.
Сақтау орындары/бұлттар: S3/GCS SSE-KMS; ACID-деректер үшін - FLE (field-level encryption).

3. 3 Алгоритмдер мен режимдер

AEAD: AES-256-GCM немесе ChaCha20-Poly1305 (AES-NI-сыз CPU-да).
IV/nonce: бірегейлік қатаң түрде міндетті; ciphertext жанында сақтау; қайталамаңыз.
Хэштеу: парольдер - тұз және темір параметрлері бар Argon2id (немесе scrypt/bcrypt).
МАС/қолтаңбалар: тұтастық үшін HMAC-SHA-256 немесе AEAD жапсырылған белгі.

3. 4 БД/файлдар үшін практика

PostgreSQL: pgcrypto/кеңейтімдер; write - бағдарламадағы сезімтал өрістерді шифрлау.
Mongo/Doc-сақтау орны: client-side FLE, KMS кілті.
Бэкаптар: жеке кілттер және тек CI/CD-агенттен қол жетімді; оффсайт көшірмелері - әрқашан шифрланған.

4) Кілттерді басқару (KMS/HSM/Vault)

Шындық көзі: KMS/HSM; жеке кілттер аппараттан/сервистен кетпейді.
Нұсқалау: 'kid', 'purpose', 'alg', 'created _ at', 'rotates _ at'.
Қатынау: least-privilege; міндеттерді бөлу (SoD).
Ротация: кесте бойынша (қол қою үшін 3-6 ай), оқиға (инцидент) бойынша, refresh-токендер үшін rotate-on-use.
Аудит: өзгермейтін журналдар: кім, қашан, не қол қойды/мағынасын ашты.
Мульти-тенант: per-tenant/brand/region кілттері; BYOK/HYOK тапсырыс берушінің талабы бойынша.

5) «Арнадағы» шифрлау (TLS)

5. 1 минимумы

TLS 1. 2 +, tercihen TLS 1. 3; Домендердегі HSTS.
Шифросюиттер: TLS1. 3 - алдын ала анықталған (AES_256_GCM_SHA384/ CHACHA20_POLY1305_SHA256).
PFS: барлық негізгі эпемерлік алмасу (ECDHE).
ALPN: HTTP/2 және HTTP/3 (QUIC) саналы түрде қосу; таймерлерді бақылап отыруға міндетті.

5. 2 Сертификаттар, OCSP, pinning

OCSP stapling және қысқа тізбектері.
Сессияларды қайта пайдалану: TTL қысқа TLS tickets.
0-RTT (TLS 1. 3): абайлап қосу (тек демпотентті GET).
Pinning: тек 'public-key pinning via TSP/Key continuity' бағдарламаларында/ұялы телефондарында (қатты HPKP емес).
mTLS: периметр ішінде/сервистер мен серіктестер арасында; SAN бойынша аттестаттау.

5. 3 gRPC/HTTP/QUIC

gRPC Deadline және метадеректерді береді - per-try timeout бағдарламасын тексеріңіз және шектеңіз.
HTTP/3 (QUIC) first-byte жылдамдатады; WAF/теңгерімдегіштердің үйлесімділігін тексеріңіз.

6) mTLS және сервис-mash

SPIFFE/SPIRE немесе mesh-CA автоматты түрде қысқа сертификаттарды беру үшін (7-30 күн).
Саясаткерлер: кім кіммен сөйлеседі (SVID → SVID), L7 деңгейінде authZ.
Ротация - ашық; trust-bundle жаңартулары арқылы revoke.

7) Өнімділік және пайдалану

AES-NI: қолдауы бар серверлерде - AES-GCM жылдам. Мобильді/ескі CPU - ChaCha20-Poly1305.
TLS-тюнинг: PFS бар қысқа кілттер, бірақ ақылға қонымды шектерде (P-256/25519); қол алысу кэші.
Batching: ұсақ сұрауларды азайтыңыз; TLS-overhead қосылыстар санына пропорционалды.
Offload: TLS периметрде (Envoy/NGINX), ішінде - mTLS mesh.

8) Құпия және логтар саясаты

Тек KMS/Vault құпиялары; Kubernetes - etcd шифрлау + KMS-провайдер.
Логтарға тыйым салу: кілттер/токендер/PAN/құпиялар; бүркемелеу.
Снапшоттар/дамптар: шифрлау және қолжетімділікті шектеу; кілттерге өтініштерді мониторингілеу.

9) Конфиги және мысалдар

9. 1 NGINX (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 Envoy (апстримге mTLS, жалған)

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 AEAD пайдалану мысалы (жалған)

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

10) Ротация және қайтарып алынған кілттер

JWT үшін JWKS/' kid '; қысқа 'exp'.
TTL 'jti '/' sid' тізімдері.
HMAC құпиялары (вебхактар): белсенді + канареялық; екеуін де соңғы күнге дейін қабылдау.
TLS: T-30/T-7/T-1, автоматты ұзарту, қауіпсіз canary.

11) Бақылау және аллергия

Метрики: `tls_handshake_fail_total{reason}`, `tls_version_share`, `cipher_share`, `ocsp_stapling_errors`, `kms_ops_total{op}`, `decrypt_fail_total`, `jwks_kid_share`.
Қатынау логтары: хаттама/нұсқа/шифр (құпиясыз).
Алерттар: мерзімі өтіп бара жатқан сертификаттар, 'bad _ record _ mac' өрісі, «сенімді емес тізбектердің» өсуі, сәтсіз дешифровкалар.

12) iGaming/Қаржы ерекшелігі

PAN-safe ағындары: токендеу, тек токендерді сақтау; PAN - PSP/токен-сақтау орнында.
PCI DSS: карта ұстаушылардың деректерін шифрлау, кілттерге қолжетімділікті шектеу, крипто-операциялар журналы, желіні сегменттеу.
Аймақтық: ойыншы аймағындағы кілттер мен деректер (жасырындылық/егемендік).
Backoffice: mTLS + SSO, қысқа сессиялар, әкімшілер үшін FIDO2.

13) Антипаттерндер

TLS < 1. 2; рұқсат етілген/RC4/3DES әлсіз шифрлары.
Жалпы «мәңгілік» құпиялар және ротациясыз кілттер және 'kid'.
GCM қайталау IV/nonce (қауіпсіздік үшін өлімге алып келеді).
Құпиялары/кілттері/пан- деректері бар логтар.
Сезімтал өрістерді шифрлаусыз тек TDE.
HPKP-пиннинг («өзін-өзі жабу» тәуекелі).
write/демпотенттік емес сұрауларда 0-RTT.

14) Prod-дайындық чек-парағы

  • Деректерді жіктеу және шифрлау саясаты (per-class).
  • AEAD (AES-GCM/ChaCha20-Poly1305); бірегей nonce; Құпия сөздердің Argon2id.
  • Envelope-шифрлау: DEK per-нысан/тенант; KEK в KMS/HSM.
  • TLS 1. 2+/1. 3, HSTS, OCSP stapling; ақылға қонымды шифрлар жиыны.
  • mTLS ішінде; қысқа сертификаттарды автоматты түрде беру/ротациялау.
  • JWKS/' kid ', қысқа' exp ',' jti 'тізімдері; құпияларды/сертификаттарды жабумен ротациялау.
  • Бэкаптар мен логтар шифрланған; қол жеткізу және операциялар аудиттеледі.
  • TLS/KMS/JWKS бойынша дашбордтар/алерталар; деградация және canary тестілері.
  • Құжаттама: инциденттер рәсімдері (кілттің/серттің компромисі).

15) TL; DR

Барлық жерде шифрлаңыз: арнада - TLS 1. 3/1. 2 PFS және қатаң периметрмен; ішінде - mTLS. Тыныштықта - KMS/HSM кілттері бар envelope (DEK/KEK), сезімтал өрістерді гранулярлы шифрлаңыз. Кілттерді 'kid '/JWKS арқылы басқарыңыз және жабумен үнемі ротациялаңыз, крипто-операциялар журналдарын сақтаңыз. AES-GCM (немесе ChaCha20-Poly1305) таңдаңыз, reuse-nonce емес, backaps/logs шифрлаңыз. iGaming/PAN үшін - токенизация және PCI-саналы сегменттеу.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.