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`.
- 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.