Maʼlumotlarni shifrlash va TLS
1) Tahdidlar va maqsadlar xaritasi
Kanalda (in-transit): trafikning tutilishi/modifikatsiyasi, MitM, daungreed.
Tinch (at-rest): disklar/bekaplar, DB/loglar dampalari, insayderlar o’g "irlash.
Kalitlar: sirlarning tarqalishi, zaif rotatsiya, qayta foydalanish.
Maqsad - o’lchanadigan SLO va boshqariladigan kriptoagillik bilan maxfiylik, yaxlitlik va haqiqiylikni ta’minlashdir.
2) Ma’lumotlarni tasniflash va siyosat
Sinflar: Public/Internal/Confidential/Restricted (PII/moliya/PAN).
’data. class`, `tenant`, `region`, `retention`.
Majburiy choralar: Restricted uchun - maydon/obyekt darajasida shifrlash, kirish jurnali, alohida per-tenant/region kalitlari.
3) «tinch» shifrlash (at-rest)
3. 1 Envelope shifrlash
DEK (Data Encryption Key) maʼlumotlarni shifrlaydi; KEK/CMK (KMS/HSM) DEKni shifrlaydi.
KEKni rotatsiya qilish uchun DEKni qayta wrap qilish kerak emas.
DEK qisqa TTLga ega bo’lgan per-obyekt/partitsiya/tenant bo’lishi ma’qul.
3. 2 Darajalar
Transparant (TDE): disk/jadval boʻshliqlari (PostgreSQL/MySQL/SQL Server). Oddiy, lekin granulyar nazoratsiz.
Ilova darajasida: maydonlar/obyektlar (PAN, sirlar) - multi-tenant va minimal foydalanish uchun yaxshiroqdir.
Saqlash/bulutlar: S3/GCS SSE-KMS; ACID ma’lumotlari uchun - FLE (field-level encryption).
3. 3 Algoritmlar va rejimlar
AEAD: AES-256-GCM yoki ChaCha20-Poly1305 (AES-NIsiz CPUda).
IV/nonce: noyoblik qat’iy majburiydir; ciphertext yonida saqlash; takrorlamang.
Xeshlash: maxfiy soʻz - Argon2id (yoki scrypt/bcrypt) va temirning parametrlari.
MAS/imzolar: yaxlitlik uchun HMAC-SHA-256 yoki oʻrnatilgan AEAD belgisi.
3. 4 DB/fayllar uchun amaliyot
PostgreSQL: pgcrypto/kengaytmalar; write - dasturdagi sezgir maydonlarni shifrlash.
Mongo/Doc-saqlash: client-side FLE, KMS kalitlari.
Bekaplar: alohida kalitlar va faqat CI/CD agentdan foydalanish mumkin bo’lgan kalitlar; Offsayt nusxalari - doimo shifrlangan.
4) Kalitlarni boshqarish (KMS/HSM/Vault)
Haqiqat manbai: KMS/HSM; shaxsiy kalitlar apparat/xizmatdan chiqmaydi.
Version:’kid’,’purpose’,’alg’,’created _ at’,’rotates _ at’.
Kirish: least-privilege; vazifalarni ajratish (SoD).
Rotatsiya: jadval bo’yicha (imzolash uchun 3-6 oy), hodisa (hodisa) bo’yicha, refresh-tokenlar uchun rotate-on-use.
Audit: o’zgarmas jurnallar: kim, qachon, nima imzolagan/shifrlangan.
Multi-tenent: per-tenant/brand/region kalitlari; BYOK/HYOK buyurtmachining talablariga binoan.
5) «Kanalda» shifrlash (TLS)
5. 1 Minimumlar
TLS 1. 2 +, afzalroq TLS 1. 3; Domenlarda HSTS.
Shifrlar: TLS1. 3 - oldindan belgilangan (AES_256_GCM_SHA384/ CHACHA20_POLY1305_SHA256).
PFS: barcha asosiy epemer almashinuvlari (ECDHE).
ALPN: HTTP/2 va HTTP/3 (QUIC) ongli ravishda kiritish; taymerlarni kuzatib borish.
5. 2 Sertifikatlar, OCSP, pinning
OCSP stapling va qisqa zanjirlar.
Qisqa TTL bilan TLS tickets.
0-RTT (TLS 1. 3): ehtiyotkorlik bilan (faqat idempotent GET).
Pinning: faqat’public-key pinning via TSP/Key continuity’ilovalarda/mobil telefonlarda (qattiq HPKP emas).
mTLS: perimetr ichida/servislar va sheriklar o’rtasida; SAN bo’yicha attestatsiyadan o’tkazish.
5. 3 gRPC/HTTP/QUIC
gRPC Deadline va meta ma’lumotlarni uzatadi - per-try timeout’ni tekshiring va cheklang.
HTTP/3 (QUIC) first-byte tezlashtiradi; WAF/balanschilar mosligini tekshiring.
6) mTLS va servis-mash
SPIFFE/SPIRE yoki mesh-CA qisqa sertifikatlarni avtomatik ravishda berish uchun (7-30 kun).
Siyosatchilar: kim kim bilan gaplashadi (SVID → SVID), authZ L7 darajasida.
Rotatsiya - shaffof; revoke trust-bundle yangilanishlar orqali.
7) Unumdorlik va ekspluatatsiya
AES-NI: qo’llab-quvvatlanadigan serverlarda - AES-GCM tezroq. Mobil/eski CPUlarda - ChaCha20-Poly1305.
TLS-tyuning: PFS bilan qisqa kalitlar, lekin oqilona chegaralarda (P-256/25519); qoʻl siqish keshi.
Batching: kichik so’rovlarni minimallashtiring; TLS-overhead ulanishlar soniga mutanosib.
Offload: TLS perimetrda (Envoy/NGINX), ichida - mTLS mesh.
8) Sirlar va loglar siyosati
Sirlar faqat KMS/Vault’da; Kubernetesda - etcd + KMS-provayderni shifrlash.
Loglarni taqiqlash: kalitlar/tokenlar/PAN/sirlar; kamuflyaj qilish.
Snapshotlar/dampalar: shifrlash va kirishni cheklash; kalitlarga murojaatlarni kuzatib borish.
9) Konfigi va misollar
9. 1 NGINX (TLS qattiq profil)
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 apstrimga, psevdo)
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 AEADdan foydalanish misoli (psevdo)
pseudo nonce = random(12)
ciphertext, tag = AES256_GCM. encrypt(key=DEK, nonce, aad=tenant object_id, plaintext)
store(nonce ciphertext tag)
10) Rotatsiya va chaqirib olingan kalitlar
JWT uchun JWKS/’ kid’; qisqa’exp’.
TTL bilan tokenlarni chaqirib olish uchun’jti ’/’ sid’roʻyxatlari.
HMAC sirlari (vebxuki): aktiv + kanareyka; ikkalasini oxirgi sanagacha qabul qilish.
TLS: T-30/T-7/T-1 alertlari, avtomatik uzaytirish, xavfsiz canary.
11) Kuzatish va alertlar
Метрики: `tls_handshake_fail_total{reason}`, `tls_version_share`, `cipher_share`, `ocsp_stapling_errors`, `kms_ops_total{op}`, `decrypt_fail_total`, `jwks_kid_share`.
Kirish daftarlari: protokol/versiya/shifr (sirsiz).
Alertlar: muddati o’tib borayotgan sertifikatlar,’bad _ record _ mac’ko’payishi, «ishonchsiz zanjirlar» o’sishi, muvaffaqiyatsiz shifrlash.
12) iGaming/Moliya xususiyatlari
PAN-safe oqimlari: tokenlash, faqat tokenlarni saqlash; PAN - PSP/token saqlash joyida.
PCI DSS: karta egalari ma’lumotlarini shifrlash, kalitlardan foydalanishni cheklash, kripto-operatsiyalar jurnali, tarmoqni segmentatsiya qilish.
Hududiylik: oʻyinchi mintaqasidagi kalitlar va maʼlumotlar (yashirin/suverenitet).
Backoffice: mTLS + SSO, qisqa sessiyalar, ma’murlar uchun FIDO2.
13) Antipatternlar
TLS < 1. 2; ruxsat etilgan zaif shifrlar/RC4/3DES.
Umumiy «abadiy» sirlar va rotatsiyasiz kalitlar va’kid’.
GCM da IV/nonce takrorlash (xavfsizlik uchun halokatli).
Maxfiy/kalitli/pan-ma’lumotli loglar.
Sezgir maydonlarni shifrlamagan holda faqat TDE.
HPKP-pinning prodda («o’zini o’zi yopish» xavfi).
0-RTT/indempotent bo’lmagan so’rovlarda.
14) Prod-tayyorlik chek-varaqasi
- Maʼlumotlarni tasniflash va shifrlash siyosati (per-class).
- AEAD (AES-GCM/ChaCha20-Poly1305); noyob nonce; Maxfiy soʻz Argon2id.
- Envelope-shifrlash: DEK per-obyekt/tenant; KEK в KMS/HSM.
- TLS 1. 2+/1. 3, HSTS, OCSP stapling; oqilona shifrlar to’plami.
- mTLS ichida; qisqa sertifikatlarni avtomatik tarzda berish/rotatsiya qilish.
- JWKS/’ kid’, qisqa’exp’,’jti’ro’yxatlari; sirlarni/sertlarni yopib almashtirish.
- Bekaplar va loglar shifrlangan; kirish va operatsiyalar audit qilinadi.
- TLS/KMS/JWKS bo’yicha dashbordlar/alertlar; degradatsiya va canary testlari.
- Hujjatlar: hodisalar tartib-taomillari (kalit/sert buzilishi).
15) TL; DR
Hamma joyda shifrlang: kanalda - TLS 1. 3/1. 2 PFS va qattiq perimetri bilan; ichida - mTLS. Tinch holda - envelope (DEK/KEK) KMS/HSM kalitlari bilan, granulyar sezgir maydonlarni shifrlang. Kalitlarni’kid ’/JWKS orqali boshqaring va muntazam rotatsiyani yoping, kripto-operatsiyalar jurnallarini saqlang. AES-GCM (yoki ChaCha20-Poly1305) ni tanlang. iGaming/PAN uchun - tokenizatsiya va PCI-ongli segmentatsiya.