Logo GH

Kalitlar va tokenlarni rotatsiya qilish

1) Nima uchun rotatsiya qilish kerak?

Kalitlar va tokenlar muqarrar ravishda «qariydi»: log/backaplardagi ekspozitsiya, insayder xavflari, kutubxonalardagi zaifliklar, sheriklarning sizib chiqishi. Rotatsiya «xavf-xatar vaqtini» kamaytiradi va hodisalarda boshqaruvchanlikni beradi. Maqsad - oldindan aytib bo’ladigan rotatsiya sikllarini va to’xtovsiz tezda qaytarib olish mexanizmlarini qurish.

2) Viloyat: aynan nimani rotatsiya qilamiz

Imzo/shifrlash kalitlari: JWT (JWS/JWE), OAuth/OIDC, SAML, vebxuklar (HMAC), litsenziyalar.
Integratsiya sirlari: API-kalitlar, client secret, texnik parollar. foydalanuvchilar.
TLS/mTLS: server/mijoz sertifikatlari, ildiz/oraliq CA.
Maʼlumot kalitlari: KMS/HSM, DEK (envelope encryption) dagi KEK/CMK.
Токены: access/refresh, service-to-service (mTLS, HMAC), short-lived session.

3) Saqlash, versiyalar, belgilar

Haqiqat manbai sifatida KMS/HSM/Vault. Shaxsiy kalitlarni git/ENV/tasvirlar fayllarida saqlash taqiqlangan.
Version:’key _ id ’/’ version’+ belgilar:’purpose = jwt-sign’,’env = prod’,’alg = ES256’,’created _ at’,’rotates _ at’.
Kirish siyosati: minimal zarur huquqlar prinsipi (least privilege), majburiyatlarni taqsimlash (SoD).
Audit: kim yaratgan/o’qigan/imzolagan; o’zgarmas jurnallar.

4) Rotatsiyaning bazaviy patternlari

4. 1 Yopiladigan oynalar (graceful rollover)

Yangi kalit → JWKS ga joylashtiring/sertifikatni tarqating.
Yopish oynasi: eski va yangi kalitlar bilan validatsiya, imzo faqat yangi.
Grace davri tugagach, eskisini ishonchli toʻplamdan olib tashlaymiz.

4. 2 Ikki marta chiqarish (dual-run)

Ba’zi instantsiyalar eskisini, ba’zilari yangi (yirik flitlar uchun) deb imzolaydigan qisqa davr.
JWKSni sinxronlashtirishni va’kid’boʻyicha validatsiya ulushini monitoring qilishni talab qiladi.

4. 3 Rotate-on-schedule vs rotate-on-use

Jadval bo’yicha: N kun/haftada bir marta (imzo kalitlari, TLS).
Foydalanishda: refresh-tokenlar - bir martalik, har bir almashtirish uchun yangi («sirpanchiq» rotatsiya).

5) JWT/JWKS: amaliyot

5. 1 Sarlavhalar va identifikatorlar

Sertifikat kalitini tanlash uchun JWS sarlavhasida’kid’dan foydalaning.
Minimal klaym, qisqa’exp’, toʻgʻri’aud/iss/nbf’.

Sarlavha JWS misoli:
json
{ "alg": "ES256", "kid": "jwt-2025-10", "typ": "JWT" }

5. 2 JWKS nashri

JWKS barcha aktiv tekshirish kalitlarini (grace oynasida eski + yangi) oʻz ichiga olishi kerak.
JWKSni mijozlarda keshlash: qisqa TTL (masalan, 5-15 daqiqa).
Buzilganda - JWKSdan buzilgan kalitni olib tashlash (keskin), keshning fors-nogironligi.

JWKS misoli:
json
{
"keys": [
{ "kty":"EC","crv":"P-256","kid":"jwt-2025-10","use":"sig","alg":"ES256","x":"...","y":"..." },
{ "kty":"EC","crv":"P-256","kid":"jwt-2025-07","use":"sig","alg":"ES256","x":"...","y":"..." }
]
}

5. 3 Kadens va muddatlar

JWT imzosi: har 3-6 oyda kalit aylanishi (yoki high-risk uchun ko’proq).
’exp’ access-token: 5-30 min; refresh - 7-30 kun («rotate-on-use» dan).
O’g "irlash xavfini kamaytirish uchun PoP/DPoP bilan majburiy" yopishtirish "(§ 8 ga qarang).

6) HMAC rotatsiyasi (vebxuki/imzo)

Faol va kanar sirlarini saqlang; ikkala imzoni qabul qiling.
Sarlavhalar:’X-Signature’+’X-Timestamp’; oynani cheklash ± 300s.
Eskisini toʻliq oʻchirish - joʻnatuvchi tasdiqlangan oʻtishdan keyin.
Hamkorlar uchun: oʻtish sanasi va tekshirish vaqtini eʼlon qiling.

7) TLS/mTLS va ishonch zanjirlari

Ochiq server sertifikatlari uchun ACME/auto-renew (Let’s Encrypt yoki korporativ CA).
mTLS: qisqa mijoz sertifikatlari (7-30 kun), kanallar orqali avtomatik rotatsiya (SPIFFE/SPIRE/mesh).
Oraliq/ildiz CA rotatsiyasi - faqat bir-birini qoplaydigan ishonch langarlari (trust bundle) va uzoq davom etadigan kanari orqali amalga oshiriladi.
OCSP/CRL va clock-skew. Ro’yxatda - validatsiyani rad etish sabablari.

8) PoP/DPoP va tokenlarni bog’lash mijoz kaliti

DPoP (Demonstration of Proof-of-Possession): token mijozning public-key bilan bog’langan; replay xavfini kamaytiradi.
Mijoz kalitini rotatsiya qilish = yangi DPoP kalitini, tokenlarni qisqa muddatga chiqarish.
Servis-k-servis uchun mTLS afzalroqdir (qurilma/vorker HSM/TPMdagi kalitni «olib yuradi»).

9) Refresh-tokenlar: rotate-on-use

Bir martalik refresh-tokenlar: har bir almashinuv → yangi refresh + access.
Bekor qilingan’jti ’/’ sid’roʻyxati TTL = umr koʻrish muddati bilan saqlanadi.
Qayta foydalanish detekti (re-play): sessiya/qurilmani darhol chaqirib olish, alert.

10) Chaqirib olish va blokirovka ro’yxatlari

Introspektsiyasiz JWT: tanqidiy holatlar uchun’exp’+’qora roʻyxat’dan foydalaning (lokal/Redis’da, xesh boʻyicha shardlash).
OAuth introspection: status markazlashgan server; qisqa TTL bilan «active = false/true» ni kesh qiling.
API-kalitlar: kalitning xesh (parol sifatida), egasi/tenant belgilari, scope, yaratilish/oxirgi kirish sanasini saqlang; chaqirib olish - bir zumda.

11) Ma’lumotlar kalitlari: envelope-shifrlash

CMK/KEK (KMS/HSM) DEKni himoya qiladi; CMK rotatsiyasi ma’lumotlarni qayta ochmasdan amalga oshiriladi: DEK pere-wrap.
har bir obyekt/tenant/partiya uchun DEK; Tugmalar uchun KDF/HKDF.
Yo’q qilish siyosati (crypto-shredding): KEK = buzilishdagi ma’lumotlar o’qishga yaroqsiz.

12) Hodisalar tartib-taomillari (murosaga keltirish)

1. To’xtatib qo’yish: buzilgan kalitda tokenlar ishlab chiqarishni o’chirish, uni yangisiga o’tkazish.
2. ’kid’ ni JWKSdan olib tashlash, sertifikatlarni (OCSP/CRL) qaytarib olish, roʻyxatdagi API kalitlarini blokirovka qilish.
3. TTLni qisqartirish:’exp’tokenlarini vaqtincha kamaytirish, PoP/DPoP tekshiruvini kuchaytirish.
4. Majburiy logout: seanslarni nogironlashtirish (revoke’sid ’/’ jti’).
5. Forensika va hisobot: taymlaynlar, qamrov, kim/nima jabr ko’rdi; pleybuklarni yangilash.

13) Payplin va rollout

13. 1 Generatsiya va nashr etish

HSM/KMS kalitlarini yarating; maxfiy kalitni eksport qilish taqiqlanadi.
JWKS/sertifikatlarni tekshirish va testlar bilan avtomatik nashr etish.
Kanar relizi: mijozlarning 1-5% → 100%.

13. 2 Sog’liqni saqlash nazorati

Metrika:’kid’bo’yicha validatsiya ulushi, imzo/sertifikat xatolari, soat dreyfi.
Alertlar: imzo tufayli 401/403 portlashi, OCSP/CRL mavjud emas, muddati tugayotgan sertifikatlar (T-30/T-7/T-1).

14) Konfigi va misollar

14. 1 Vault/KMS siyosatining namunasi (psevdo)

hcl path "transit/keys/jwt-prod" {
capabilities = ["read," "update," "list"] # signature/rotation
}
path "transit/keys/jwt-prod/rotate" {
capabilities = ["update"]
}

14. 2 JWT rotatsiya rejasi misoli


T0: create a new version of the key (kid = jwt-2025-10), add to JWKS
T0 + 15m: start signing with a new kid; validate with old and new
T0 + 7d: remove old kid from JWKS
T0 + 30d: delete old private key from KMS (schedule purge)

14. 3 Envoy: JWKSni majburiy yangilash (psevdo)

yaml jwt_authn:
providers:
oidc:
issuer: https://auth. example. com/
remote_jwks:
http_uri:
uri: https://auth. example. com/.well-known/jwks. json cluster: jwks_cluster timeout: 2s cache_duration: 300s # короткий TTL

15) Kuzatuv va audit

Метрики: `jwt_verify_fail_total{reason}`, `jwks_refresh_total`, `jwks_kid_share{kid}`, `token_revoked_total`, `refresh_rotations_total`, `dpop_fail_total`.
Логи: `kid`, `jti`, `sid`, `reason`, `client_id`, `tenant`, `trace_id` (без PII).
Dashbordlar:’kid’ulushlar xaritasi, muddati tugaydigan sertifikatlar, chaqirib olish chastotasi, mintaqalar bo’yicha nolid imzolar.

16) Antipatternlar

Uzoq umr ko’radigan JWT’lar chaqirib olinmaydi va qisqa’exp’.
’kid’ va’qo’lda’tekshirish kaliti yo’qligi.
Maxfiylarni KMS va etcd darajasida shifrlashsiz ENV/k8s-Secret saqlash.
Nerotatsion refresh-tokenlar; refresh dan detektsiz qayta foydalanish.
«Hamma uchun» yagona global API-kaliti.
JWKS e’lon qilmasdan va monitoringsiz yangi kalitlarni «jim» chiqarish.
Nol yopish oynalari (bir zumda almashtirish) → ommaviy 401/403.

17) iGaming/Moliya xususiyatlari

Regulyatorlar va audit: rotatsiyalar/sharhlarning o’zgarmas loglari; vaqt va aktyorlarning isbotlanishi.
Sheriklik PSP/KYC: sherik/yurisdiksiya uchun alohida kalitlar; SLA/xavfsizlik buzilishlarida tezkor chaqirib olish.
Ko’p ijara: scope bilan per-tenant API-kalitlar; brendlar/hududlar kalitlarini izolyatsiya qilish.
Yuqori xavf: tanqidiy operatsiyalar uchun PoP/DPoP, qisqa’exp’, ichki xizmatlar o’rtasida mTLS.
Backoffice: SSO/OIDC, qisqa sessiyalar, apparat tokenlari (FIDO2), hamma joyda rotate-on-schedule.

18) Prod-tayyorlik chek-varaqasi

  • KMS/HSM/Vault’dagi barcha shaxsiy kalitlar; eksport qilish taqiqlangan.
  • JWKS qisqa TTL bilan nashr etiladi va keshlanadi; JWT sarlavhalarida’kid’mavjud.
  • Rotatsiya rejasi yopiq deraza va avtomatik rollout bilan.
  • Bir martalik refresh-tokenlar; qaytarib olingan’jti’s TTL ro’yxati.
  • HMAC sirlari: faol + kanar; ikkalasini ham qabul qilish; oʻtish vaqti e’lon qilindi.
  • TLS/mTLS: auto-renew, T-30/T-7/T-1 alertlari, CA almashtirish uchun trust bundle.
  • Envelope-shifrlash: KEK/CMK to’xtovsiz aylantiriladi, DEK per-obyekt/tenant.
  • Imzo, JWKS, sharhlar bo’yicha metriklar/alertlar; dashbordi’kid’-dollar.
  • Hodisalar pleybuki va muntazam mashqlar.
  • Kanary testlari va yangi kalitlar/SA bilan validatsiya nusxalari.

19) TL; DR

Kalitlarni KMS/HSM’da saqlang, JWTni’kid’bilan imzolang va JWKSni nashr qiling. Kalitlar va sertifikatlarni almashtiring,’kid’uchun validatsiya ulushlarini kuzatib boring. Refresh - rotate-on-use va qisqa’exp’; tanqidiy operatsiyalar uchun - PoP/DPoP va mTLS. Maʼlumotlar uchun KEK rotatsiyasi bilan envelope shifrlashdan foydalaning. Hodisalar metrikasi/alertlari, pleybuklari va muntazam kanareya rotatsiyalarini joriy qiling.

Contact

Biz bilan bog‘laning

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

Telegram
@Gamble_GC
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.