Məlumatların şifrələnməsi və TLS
1) Təhdidlər və məqsədlər xəritəsi
Kanalda (in-transit): trafikin tutulması/modifikasiyası, MitM, downqread.
Dinc (at-rest): CD/backup oğurluğu, DB/log dampaları, insayderlər.
Açarlar: sirlərin sızması, zəif rotasiya, təkrar istifadə.
Məqsəd ölçülə bilən SLO və idarə olunan kriptovalyutası ilə məxfiliyi, bütövlüyünü və orijinallığını təmin etməkdir.
2) Məlumatların təsnifatı və siyasəti
Siniflər: Public/Internal/Confidential/Restricted (PII/maliyyə/PAN).
Tags: 'data. class`, `tenant`, `region`, `retention`.
Məcburi tədbirlər: Restricted üçün - sahə/obyekt səviyyəsində şifrələmə, giriş jurnalı, fərdi per-tenant/region açarları.
3) «rahat» şifrələmə (at-rest)
3. 1 Envelope şifrələmə
DEK (Data Encryption Key) məlumatları şifrələyir; KEK/CMK (KMS/HSM) DEK şifrələyir.
KEK-in rotasiyası məlumatların deşifrini tələb etmir - DEK-in pere-wrap.
DEK qısa TTL ilə per-obyekt/partizan/tenant arzu olunur.
3. 2 Səviyyələr
Şəffaf (TDE): disk/masa boşluğu (PostgreSQL/MySQL/SQL Server). Sadə, lakin qranulyar nəzarət olmadan.
Tətbiq səviyyəsində: sahələr/obyektlər (PAN, sirlər) - multi-tenant və minimum giriş üçün daha yaxşıdır.
Depolama/bulud: S3/GCS SSE-KMS; ACID məlumatları üçün - mümkün olan FLE (field-level encryption).
3. 3 Alqoritmlər və rejimlər
AEAD: AES-256-GCM və ya ChaCha20-Poly1305 (AES-NI olmadan CPU-da).
IV/nonce: unikallıq ciddi tələb olunur; ciphertext yanında saxlamaq; təkrarlamaq deyil.
Hash: parollar - duz və dəmir parametrləri ilə Argon2id (və ya scrypt/bcrypt).
MAS/imzalar: bütövlük üçün HMAC-SHA-256, ya da AEAD daxili etiket.
3. 4 DB/fayllar üçün təcrübə
PostgreSQL: pgcrypto/uzantıları; write - tətbiqdə həssas sahələri şifrələyin.
Mongo/Doc-saxlama: client-side FLE, KMS-də açarlar.
Backup: fərdi açarlar və yalnız CI/CD agentindən mövcuddur; Offsite nüsxələri - həmişə şifrələnmişdir.
4) Açarların idarə edilməsi (KMS/HSM/Vault)
Həqiqət mənbəyi: KMS/HSM; şəxsi açarlar aparatdan/xidmətdən ayrılmır.
Versiyası: 'kid', 'purpose', 'alg', 'created _ at', 'rotates _ at'.
Giriş: least-privilege; vəzifə ayrılması (SoD).
Rotasiya: cədvəl (imza üçün 3-6 ay), hadisə (hadisə), refresh-tokenlər üçün rotate-on-use.
Audit: dəyişməz jurnallar: kim, nə vaxt, nə imzaladı/deşifrə etdi.
Multi-tenant: per-tenant/brand/region açarları; BYOK/HYOK müştərinin tələblərinə uyğun olaraq.
5) Kanalda şifrələmə (TLS)
5. 1 minimum
TLS 1. 2 +, tercihen TLS 1. 3; Domenlərdə HSTS.
Şifrələr: TLS1. 3 - əvvəlcədən təyin edilmiş (AES_256_GCM_SHA384/ CHACHA20_POLY1305_SHA256).
PFS: Bütün əsas epemer mübadiləsi (ECDHE).
ALPN: HTTP/2 və HTTP/3 (QUIC) şüurlu daxil; zamanlayıcıları izləmək.
5. 2 Sertifikatlar, OCSP, pinning
OCSP stapling və qısa zəncirlər.
Seansların yenidən istifadəsi: Qısa TTL ilə TLS tickets.
0-RTT (TLS 1. 3): ehtiyatla daxil (yalnız GET idempotent).
Pinning: Yalnız 'public-key pinning via TSP/Key continuity' proqramlarda/mobil telefonlarda (sərt HPKP deyil).
mTLS: perimetr daxilində/xidmətlər və tərəfdaşlar arasında; SAN üzrə sertifikatlaşdırma.
5. 3 gRPC/HTTP/QUIC
gRPC Deadline və meta məlumat ötürür - per-try timeout yoxlayın və məhdudlaşdırın.
HTTP/3 (QUIC) first-byte sürətləndirir; WAF/balanslayıcıların uyğunluğunu yoxlayın.
6) mTLS və xidmət-mash
Avtomatik qısa sertifikatların verilməsi üçün SPIFFE/SPIRE və ya mesh-CA (7-30 gün).
Siyasətçilər: kiminlə danışır (SVID → SVID), L7 səviyyəsində authZ.
Rotasiya - şəffaf; trust-bundle updates vasitəsilə revoke.
7) Performans və əməliyyat
AES-NI: dəstəkli serverlərdə - AES-GCM daha sürətli. Mobil/köhnə CPU ChaCha20-Poly1305.
TLS sazlama: PFS ilə qısa açarlar, lakin ağlabatan sərhədlərdə (P-256/25519); əl sıxma cache.
Batching: kiçik sorğuları minimuma endirin; TLS-overhead birləşmələrin sayı ilə mütənasibdir.
Offload: TLS perimetrdə (Envoy/NGINX), daxili - mTLS mesh.
8) Sirr və log siyasəti
Sırlar yalnız KMS/Vault; Kubernetes - etcd şifrələmə + KMS provayderi.
Log qadağası: açarlar/tokenlər/PAN/sirləri; maskalama.
Snapshot/damps: şifrələmək və girişi məhdudlaşdırmaq; açarlara müraciətləri izləmək.
9) Konfiqilər və nümunələr
9. 1 NGINX (TLS ciddi 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 (axın üçün mTLS, 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 AEAD istifadə nümunəsi (psevdo)
pseudo nonce = random(12)
ciphertext, tag = AES256_GCM. encrypt(key=DEK, nonce, aad=tenant object_id, plaintext)
store(nonce ciphertext tag)
10) Rotasiya və geri çağırılmış açarlar
JWT üçün JWKS/' kid '; qısa 'exp'.
TTL ilə tokenləri geri çağırmaq üçün 'jti '/' sid' siyahıları.
HMAC sirləri (vebhuk): aktiv + kanarya; hər ikisi son tarixə qədər qəbul.
TLS: alert T-30/T-7/T-1, avtomatik yeniləmə, təhlükəsiz canary.
11) Müşahidə və alertlər
Метрики: `tls_handshake_fail_total{reason}`, `tls_version_share`, `cipher_share`, `ocsp_stapling_errors`, `kms_ops_total{op}`, `decrypt_fail_total`, `jwks_kid_share`.
Giriş qeydləri: protokol/versiya/şifrə (sirrsiz).
Alertlər: müddəti bitən sertifikatlar, 'bad _ record _ mac' artımı, «etibarsız zəncirlərin» böyüməsi, uğursuz şifrələmə.
12) iGaming/Maliyyə Xüsusiyyətləri
PAN-safe axınları: tokenizasiya, yalnız tokenlərin saxlanması; PAN - PSP/token saxlama.
PCI DSS: kart sahiblərinin məlumatlarının şifrələnməsi, açarlara girişin məhdudlaşdırılması, kriptovalyuta əməliyyatlarının jurnalı, şəbəkənin seqmentləşdirilməsi.
Regionallıq: oyunçu bölgəsindəki açarlar və məlumatlar (gizli/suverenlik).
Backoffice: mTLS + SSO, qısa sessiyalar, administratorlar üçün FIDO2.
13) Antipattern
TLS < 1. 2; Icazə verilən zəif şifrələr/RC4/3DES.
Ümumi «əbədi» sirləri və açarları olmadan və 'kid'.
GCM-də IV/nonce təkrar (təhlükəsizlik üçün ölümcül).
Sirlər/açarlar/pan-data ilə qeydlər.
Həssas sahələri şifrələmədən yalnız TDE.
HPKP-pinning («özünü kilidləmə» riski).
0-RTT/qeyri-idempotent sorğulara baxın.
14) Prod hazırlıq yoxlama siyahısı
- Məlumatların təsnifatı və şifrələmə siyasəti (per-class).
- AEAD (AES-GCM/ChaCha20-Poly1305); unikal nonce; Argon2id üçün şifrələr.
- Envelope-şifrələmə: DEK per-obyekt/tenant; KEK в KMS/HSM.
- TLS 1. 2+/1. 3, HSTS, OCSP stapling; ağlabatan şifrələr dəsti.
- mTLS daxili; qısa sertifikatların avtomatik verilməsi/rotasiyası.
- JWKS/' kid ', qısa' exp ',' jti 'siyahıları; sirlərin/sertlərin üst-üstə düşməsi ilə rotasiyası.
- Backup və log şifrələnmiş; giriş və əməliyyatlar audit olunur.
- TLS/KMS/JWKS ilə Daşbordlar/Alerts; deqradasiya və canary testləri.
- Sənədləşmə: hadisə prosedurları (açar/sert kompromasiyası).
15) TL; DR
Hər yerdə şifrələyin: kanalda - TLS 1. 3/1. 2 PFS və ciddi perimetri ilə; daxilində - mTLS. Dinc - KMS/HSM açarları ilə envelope (DEK/KEK), qranulyar həssas sahələri şifrələyin. 'kid '/JWKS vasitəsilə açarları idarə edin və üst-üstə düşməklə müntəzəm rotasiya edin, kriptovalyuta əməliyyatları jurnallarını saxlayın. AES-GCM (və ya ChaCha20-Poly1305) seçin, nonce reuse etməyin, backaps/logs şifrələyin. iGaming/PAN üçün - tokenizasiya və PCI şüurlu seqmentləşdirmə.