GH GambleHub

Kalitlarni boshqarish va rotatsiya

Kalitlar platformaning «ishonch ildizi» dir. Ishonchli kalitlarni boshqarish tizimi (KMS/HSM + jarayonlar + telemetriya) kriptografiyani bir martalik integratsiyalashuvdan kundalik operatsiyaga aylantiradi: kalitlar muntazam ravishda yangilanadi, ulardan foydalanish shaffof, komprometatsiyalar mahalliylashtiriladi, mijozlar esa kalitni dauntaymsiz almashtirishni boshdan kechiradilar.

1) Maqsad va prinsiplar

Crypto agility: katta migratsiyalarsiz algoritm/kalit uzunligini o’zgartirish imkoniyati.
Least exposure: shaxsiy kalitlar KMS/HSM’dan chiqmaydi; imzo/dekodlash operatsiyalari - o’chirilgan.
Short-lived artifacts: tokenlar/sessiya kalitlari haftalar emas, daqiqalar-soatlar bilan yashaydi.
Dual-key/Dual-cert derazalari: uzluksiz rotatsiyalar.
Regional & tenant isolation: kalitlar hududlar va ijarachilarga ajratilgan.
Full auditability: oʻzgarmas operatsiyalar jurnali, HSM attestatsiyasi, kirish nazorati.

2) Kalitlar tasnifi

Ildizlar (Root CA/Master Key): juda kam foydalaniladi, HSMda saqlanadi, oraliq kalitlar yoki data-key sarilmasi uchun ishlatiladi.
Operatsion: JWT/voqealar imzosi, TLS, vebxuk imzosi, konfiguratsiyalarni shifrlash/PII.
Sessiya/vaqtinchalik: DPoP, mTLS-binding, kanal/dialog uchun ECDH-chiqish.
Integratsiya: hamkorlar kalitlari (ommaviy) va HMAC sirlari.
Data Keys (DEK): KEK ostida envelope-shifrlashdan foydalaniladi, aniq saqlanmaydi.

3) Kalitlarni identifikatsiyalash va foydalanish siyosati

Har bir kalit’kid’ga ega (kalit tokenlarda/sarlavhalarda aniqlanadi):
yaml key:
kid: "eu-core-es256-2025-10"
alg: "ES256"         # или EdDSA, RSA-PSS, AES-GCM, XChaCha20-Poly1305 purpose: ["jwt-sign","webhook-sign"]
scope: ["tenant:brand_eu","region:EE"]
status: "active"       # active      next      retiring      revoked created_at: "2025-10-15T08:00:00Z"
valid_to:  "2026-01-15T08:00:00Z"

Qoidalar: «bir maqsad - bir kalit» (sharing minimumi), aniq qo’llanish sohalari va muddatlari.

4) Kalit hayot sikli (KMS/HSM)

1. Generate: HSM/KMS, eksport siyosati = taqiqlangan.
2. Publish: assimetriya uchun - JWKS/sertifikat s’kid’.
3. Use: boshqariladigan IAM bilan olib tashlangan operatsiyalar (sign/decrypt).
4. Rotate:’next’kalitini ishga tushirish va dual-accept’ni yoqish.
5. Retire: eskisini’retiring’ga, keyin’revoked’ga tarjima qilish.
6. Destroy: munozaralar oynasidan keyin materialni (purge protokoli bilan) yoʻq qilish.

5) Rotatsiya: strategiyalar

Scheduled: kalendar (masalan, JWT imzosi uchun har 1-3 oy, TLS-sertterlar uchun 6-12 oy).
Rolling: isteʼmolchilarni bosqichma-bosqich almashtirish (JWKS allaqachon yangi kalitni oʻz ichiga oladi; emitter yangi keshlarni isitgandan keyin imzolay boshlaydi).
Forced (security): buzilganda darhol rotatsiya qilish; dual-accept qisqa oyna, artefaktlarning tajovuzkor o’tishi.
Staggered per region/tenant: bir vaqtning o’zida butun dunyoni «qarsak chalmaslik» uchun.

Oltin qoida: avval e’lon qilish, keyin yangi imzo qo’yish va faqat muddati tugagandan so’ng eskisini chaqirib olish.

6) Dual-key oynasi (uzluksiz smena)

JWKSni eski va yangi’kid’bilan nashr etamiz.
Verifikatorlar ikkalasini ham qabul qiladi.
Emitter N daqiqa/soatdan keyin yangisini imzolay boshlaydi.
Eski/yangi’kid’bo’yicha tekshiruvlar ulushini kuzatib boramiz.
Maqsadli ulushga erishilgach, retayrim eski.

yaml jwks:
keys:
- kid: "eu-core-es256-2025-10" # new alg: "ES256"
use: "sig"
crv: "P-256"
x: "<...>"; y: "<...>"
- kid: "eu-core-es256-2025-07" # old alg: "ES256"
use: "sig"
...

7) Imzo va validatsiya siyosati

Andoza algoritmlar: imzo uchun ES256/EdDSA; Talab qilingan joyda RSA-PSS.
’none ’/zaif algoritmlarni taqiqlash; tekshirish tomonida whitelisting.
Clock skew: 300 c ± ruxsat bering, noto’g’ri ma’lumotlarni yozing.
Key pinning (ichki xizmatlar) va qisqa TTL JWKS kesh (30-60 s).

8) Envelope-shifrlash va KDF

Maʼlumotlarni quyidagicha saqlang:

ciphertext = AEAD_Encrypt(DEK, plaintext, AAD=tenant    region    table    row_id)
DEK = KMS. Decrypt (KEK, EncryptedDEK )//on access
EncryptedDEK = KMS. Encrypt (KEK, DEK )//on write

KEK (Key Encryption Key) KMS/HSMda saqlanadi va muntazam ravishda rotatsiya qilinadi.
DEK obyekt/partiyaga tuziladi; KEK rotatsiyasida re-wrap (tezda, ma’lumotlarni qayta shifrlamasdan) bajaramiz.
Kanalning qisqa turdagi kalitlarini chiqarish uchun - ECDH + HKDF.

9) Hududiylik va ko’p tenant

Kalitlar va JWKS qayta regionaldir:’eu-core’,’latam-core’- turli xil kalitlar to’plami.
IAM/auditni tenant/region bo’yicha bo’lish; rezidentsiyalar o’rtasida kalitlar «oqmaydi».
’kid’ ishonchli domen prefiksi bilan kodlang:’eu-core-es256-2025-10’.

10) Integratsiya sirlari (HMAC, API-kalitlar)

KMS-backed Secret Store-da saqlash, short-lived client secrets (rotation policy ≤ 90 kun) orqali berish.
Rotatsiyada ikkita faol sirni (dual-secret) qo’llab-quvvatlash.
Vebxuklar uchun - timestamp + HMAC tananing imzosi; vaqt oynasi ≤ 5 daqiqa.

11) Kirishni boshqarish va jarayonlar

IAM matritsasi: kim mumkin’generate’,’sign’,’decrypt’,’rotate’,’destroy’(minimal rol).
4 ko’z printsipi: sezgir operatsiyalar ikkita tasdiqlashni talab qiladi.
Change windows: yangi kalitni yoqish oynalari va sinov kanareya mintaqalari.
Runbooks: scheduled va forced rotatsiyalar uchun protsedura namunalari.

12) Kuzatuv va audit

Metriklar:
  • `sign_p95_ms`, `decrypt_p95_ms`, `jwks_skew_ms`,
  • ’kid’,’old _ kid _ usage _ ratio’,
  • `invalid_signature_rate`, `decrypt_failure_rate`.
Logi/Audit:
  • Har bir imzo/dekodlash operatsiyasi:’who/what/when/where/kid/purpose’.
  • Rotatsiya/revokatsiya uchun kalitlar va so’rovlar maqomi tarixi.
  • HSMni attestatsiyadan o’tkazish, asosiy materiallardan foydalanish jurnallari.

13) Pleybuklar (hodisalar)

1. Imzo kalitini buzish

Eski’kid’ni darhol revoke qilish (yoki minimal oyna bilan’retiring’ga tarjima qilish), yangi JWKSni e’lon qilish, TTL tokenlarini qisqartirish, fors-logout/RT nogironligi, integratsiya egalariga kommunikatsiyalar, retro-audit.

2. Ommaviy’INVALID _ SIGNATURE’rotatsiyadan keyin

JWKS/clock skew keshini tekshirish, dual-accept ni qaytarish, oynani kengaytirish, mijozlarga yuborish.

3. KMS/HSM latentligini oshirish

Imzolar keshini yoqish mumkin emas; buning o’rniga - emitterda batch/queue, autoscaling HSM proksi, tanqidiy oqimlarning ustuvorligi.

4. Bitta mintaqaning rad etilishi

Mintaqaviy izolyatsiya tartibotlarini faollashtirish; boshqa hududlardan kalitlarni «tortmaslik»; tanazzulga uchragan hududda imzoga bog’langan funksiyalarni buzish.

14) Test sinovlari

Contract: JWKS toʻgʻriligi, toʻgʻri’kid ’/alg/use, mijozlarning mosligi.
Negative: soxta imzo, eskirgan’kid’, notoʻgʻri alg, clock skew.
Chaos: tezkor rotatsiya, KMS yetarli emas, vaqt «drift».
Load: imzolar cho’qqisi (JWT/webhooks), shifrlash cho’qqisi (PII/to’lovlar).
E2E: dual-key oyna: chiqarish - verifikatsiya - trafikni koʻchirish - eskisini rad etish.

15) Konfiguratsiya namunasi (YAML)

yaml crypto:
regions:
- id: "eu-core"
jwks_url: "https://sts. eu/.well-known/jwks. json"
rotation:
jwt_sign: { interval_days: 30, window_dual: "48h" }
webhook: { interval_days: 60, window_dual: "72h" }
kek:   { interval_days: 90, action: "rewrap" }
alg_policy:
sign: ["ES256","EdDSA"]
tls: ["TLS1. 2+","ECDSA_P256"]
publish:
jwks_cache_ttl: "60s"
audit:
hsm_attestation_required: true two_person_rule: true

16) JWKS va artefaktlardagi markerlar misoli

JWT xeder fragmenti:
json
{ "alg":"ES256", "kid":"eu-core-es256-2025-10", "typ":"JWT" }
JWKS (ommaviy qism):
json
{ "keys":[
{"kty":"EC","use":"sig","crv":"P-256","kid":"eu-core-es256-2025-10","x":"...","y":"..."},
{"kty":"EC","use":"sig","crv":"P-256","kid":"eu-core-es256-2025-07","x":"...","y":"..."}
]}

17) Anti-patternlar

Uzoq umr ko’radigan va barcha mintaqalar uchun umumiy kalitlar.
Dual-accept’siz «bir vaqtda» rotatsiya.
Tezlik uchun KMS/HSM’dan shaxsiy kalitlarni eksport qilish.
Vazifalarni aralashtirish: JWTni bitta kalit bilan imzolash va maʼlumotlarni shifrlash.
HSM va IAM-cheklovlar jurnallari/attestatsiyasining yo’qligi.
KEK rotatsiyasida DEK uchun re-wrap mexanizmi mavjud emas.
Secret Store o’rniga env-da qo’lda ishlatiladigan «sirlar».

18) Sotishdan oldingi chek-varaq

  • KMS/HSM’dagi barcha shaxsiy kalitlar; IAM matritsasi va 4 ko’z printsipi sozlangan.
  • Algoritmlar siyosati, kalit uzunligi va umr ko’rish muddatlari tasdiqlangan.
  • ’kid’boʻyicha ulushlar monitoringi olib boriladigan dual-key jarayoni yoqilgan.
  • JWKS qisqa TTL va keshlarni isitish bilan nashr etiladi; mijozlar ≥ 2 kalitni qabul qiladilar.
  • Envelope-shifrlash: KEK rotatsiya qilinadi, DEK re-wrap ishlamay.
  • Mintaqaviy izolyatsiya va tenantlar bo’yicha alohida kalitlar to’plami.
  • Kompromsatsiya/rolling/fors rotatsiya uchun pleybuklar; mashg’ulot yugurishlari.
  • Metriklar (’old _ kid _ usage _ ratio’,’invalid _ signature _ rate’) va alertlar kiritilgan.
  • contract/negative/chaos/load/E2E testlar to’plami o’tdi.
  • Integratsiya uchun hujjatlar:’kid’almashtirishni qanday qayta ishlash, qanday oynalar va xato kodlari.

Xulosa

Kalitlarni boshqarish - bu operatsion intizom: haqiqat manbai sifatida KMS/HSM, dual-key bilan muntazam va xavfsiz rotatsiyalar, mintaqaviy va tenant izolyatsiya, envelope-shifrlash va kuzatish. Ushbu qoidalarga amal qilib, siz keng qamrovli, hodisalarga chidamli va auditorga osongina tushuntiradigan kriptokonturaga ega bo’lasiz - ishlab chiquvchilar va integratorlar esa har qanday o’zgarishlarni og’riqsiz boshdan kechiradilar.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.