Logo GH

Միգրացիայի և հոսանքների վերացումը

1) Ինչո՞ ւ պետք է նավարկենք

Բանալիները և հոսանքները անխուսափելիորեն «ծերանում են» 'էքսպոզիցիա լոգոտներում/bakas, ինսայդերի ռիսկեր, գրադարանների խոցելիություն, գործընկերների արտահոսք։ Միգրացիան նվազեցնում է «ռիսկի կյանքի ժամանակը» և վերահսկում է միջադեպերի ժամանակ։ Նպատակն է կառուցել կանխատեսելի ռոտացիայի ցիկլեր և արագ արձագանքման մեխանիզմներ առանց անցյալի։

2) Տարածքը 'ի՞ նչ ենք մենք անում։

Ստորագրության բանալիները/07: JWT (JWS/JWE), OAuth/OIDC, SAML, Webhuki (HMAC), լիցենզիա։

Ինտեգրման գաղտնիքները 'API բանալիներ, client secret, technoli։ օգտագործողները։

TFC/mTSA: սերվերներ/հաճախորդների հավաստագրեր, արմատային/միջանկյալ CA։

Տվյալների բանալիները ՝ KEK/CMK-ում KFC/HSM, DEK (envelope encryption)։

Токены: access/refresh, service-to-service (mTLS, HMAC), short-lived session.

3) Պահեստավորում, տարբերակներ, ստանդարտ

KFC/HSM/Vance որպես ճշմարտության աղբյուրը։ Արգելվում է մասնավոր բանալիներ պահել git/ENV/պատկերների ֆայլերում։

Տարբերակումը '"key _ id "/" version '+," purpose = jwt-sport "," env = elg = ES256 "," created _ at "," rotates _ at "։

Հասանելիության քաղաքականությունը 'նվազագույն անհրաժեշտ իրավունքների սկզբունքը (leportprivilege), պարտականությունների բաժանումը (SoD)։

Աուդիտ 'ով է ստեղծել/կարդալ/ստորագրել; անփոփոխ ամսագրեր։

4) Հիմնական պարտատոմսերը

4. 1 Փակող պատուհաններ (graceful rollover)

Մրցույթի նոր բանալին հրապարակում ենք JWKS/մենք տարածում ենք հավաստագիրը։

Արգելափակման պատուհանը 'հին և նոր բանալիներ, ստորագրությունը միայն նոր է։

Grace-ժամանակահատվածից հետո մենք հանում ենք վստահելի հավաքածուից հինը։

4. 2 Կրկնակի արտադրություն (d07-run)

Կարճ ժամանակահատվածը, երբ ինստանսների մի մասը ստորագրում է հին, մի մասը նոր է (մեծ ֆլիթների համար)։

Պահանջում է խստորեն համաժամեցված JWKS-ը և վալիդացիայի մասնաբաժնի մոնիտորինգը 'kid'։

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

Գրաֆիկով 'անգամ N օրվա/շաբաթվա ընթացքում (ստորագրության բանալիներ, TSA)։

Օգտագործելիս 'refresh-tocens-ը միանվագ է, յուրաքանչյուր փոխանակման համար նոր («սայթաքող» ռոտացիա)։

5) JWT/JWKS 'պրակտիկա

5. 1 Վերնագրեր և ցուցիչներ

Օգտագործեք «kid» -ը JWS-վերնագրում 'վերափոխման բանալին ընտրելու համար։

Առնվազն կլիեմներ, կարճ «exp», ճիշտ «aud/iss/nbf»։

JWS-ի օրինակ վերնագիր

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

5. 2 JWKS հրատարակություն

JWKS-ը պետք է պարունակի բոլոր ակտիվ ստուգման բանալիները (հին + նոր պատուհանի grace)։

JWKS-ի կատարումը հաճախորդների մոտ 'կարճ TTL (օրինակ, 5-15 րոպե)։

Փոխզիջման դեպքում, հեռացրեք JWKS-ից (կտրուկ), քեշի ֆորս-հաշմանդամ։

JWKS-ի օրինակ

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 Կադենսը և ժամանակը

JWT ստորագրությունը 'յուրաքանչյուր 3-6 մեզի ստեղնը (կամ ավելի հաճախ high-risk)։

'exp' 71-token: 5-30 րոպե; refresh-7-30 օր է («rotate-on-use» -ից)։

Հարկադիր «թեքումը» PoP/DPoP-ից (տե՛ ս 388) գողության ռիսկի նվազեցման համար։

6) HMAC-ի (webhuki/ստորագրության) ռոտացիա

Պահպանեք ակտիվ և կանարական գաղտնիքները։ ստորագրություններ վերցրեք երկուսով։

Վերնագրեր ՝ «X-Signature» + «X-Timestamp»; պատուհանի սահմանափակումը 300s է։

Հին - ի ամբողջական անջատումը այն բանից հետո, երբ ուղարկողը հաստատապես անցավ։

Գործընկերների համար 'հրապարակեք մրցույթի ամսաթիվը և ստուգման endpoint։

7) TFC/mTSA և վստահության շղթաներ

ACFC/2019-renew հանրային սերվերային հավաստագրերի համար (Let 's Encrypt կամ կորպորատիվ CA)։

MT.RU: կարճ հաճախորդների հավաստագրեր (7-30 օր), ավտոմատ միգրացիա (SPIFE/SPIRE/mesh)։

CA-ի լուծարումը միայն վստահության խարիսխի (trust bundle) և երկար canary միջոցով։

Հետևեք OCSA/CRL և clock-skew-ին։ Լոգայի պատճառները վալիդացիայից հրաժարվելու պատճառն են։

8) PoP/DPoP և միացումը հոսող է հաճախորդի բանալին։

DPoP (Demonstration of Prof-of-Possession): թոկենը կապված է public-key հաճախորդի հետ։ նվազեցնում է replay ռիսկը։

Հաճախորդի ստեղնաշարի լուծումը = նոր DPoP ստեղնը, հոսանքները կարճ ժամանակով։

Ծառայությունների համար նախընտրելի է mTSA (սարք/գողեր «կրում է» բանալին HSM/TPM)։

9) Refresh-tocens: rotate-on-use

Միանգամյա refresh-tocens: Յուրաքանչյուր փոխանակում նոր refresh + 210 է։

Հետ կանչված «jti »/« sid» ցանկը պահել TTL = refresh կյանքի ժամանակահատվածը։

Կրկնվող օգտագործման մանրամասը (ռր-105) 'նստաշրջանի/սարքի չարտոնված արձագանքը, ալերտը։

10) Վերանայումներ և արգելափակման ցուցակներ

JWT-ն առանց international Redis-ի օգտագործեք կարճ "exp '+ +" սև ցուցակները "քննադատական դեպքերի համար (տեղական/Redis-ում, hash-ում)։

OAuth introsp.ru: կենտրոնացված կարգավիճակի սերվեր; քերծեք «action = false/2019» կարճ TTL-ով։

API բանալիներ 'պահեք բանալին (ինչպես գաղտնաբառերը), սեփականատիրոջ/տենբերի, scope, ստեղծման/վերջին հասանելիության ամսաթիվը։ ակնթարթային ակնարկ է։

11) Տվյալների բանալիները ՝ envelope-կոդավորումը

CMK/KEK (KMS/HSM) պաշտպանում է DEK-ը։ CMK-ի լուծարումը տեղի է ունենում առանց տվյալների վերահաշվարկի 'pere-wrap DEK-ի։

DEK յուրաքանչյուր օբյեկտի/tenault/կուսակցության համար; KDF/HKDF ածանցյալների համար։

Ոչնչացման քաղաքականությունը (crypto-shredding) 'KEK = տվյալների անհեթեթությունը փոխզիջման ժամանակ։

12) Միգրացիայի ընթացակարգերը (փոխզիջում)

1. Սառեցրեք 'անջատել հոսանքների արտադրությունը սկեսրոջ ձևափոխված ձևով, թարգմանել խողովակը նոր։

2. Հետ կանչեք 'հեռացնել «kid» -ը JWKS-ից, հետ վերցնել հավաստագրերը (OCSA/CRL), արգելափակել API բանալիները ցուցակով։

3. Կրճատել TTL 'ժամանակավորապես կրճատել' exp 'token, ուժեղացնել PoP/DPoP ստուգումը։

4. Հարկադիր logout 'հաշմանդամացնել (revoke' sid '/' jti ')։

5. Ֆորենզիկան և հաշվետվությունները 'թայմլայններ, միգրանցներ, ովքեր/ինչ վնասվել են։ թարմացնել պլեյբուսները։

13) Delpline և rollout

13. 1 Գեներացիա և հրատարակություն

Ստեղծեք բանալիներ HSM/KFC-ում։ մասնավոր ստեղնաշարի արտահանումը արգելված է։

JWKS/հավաստագրերի ավտոմատ հրատարակումը verization և թեստերով։

Կանարյան թողարկումը 'հաճախորդների 1-5 տոկոսը 100 տոկոսն է։

13. 2 Առողջության վերահսկում

Մետրիկները '«kid» -ի վալիդացիայի մասնաբաժինը, ստորագրության սխալները/108, ժամացույցի դրեյֆը։

Alerts: 401/403 աճը ստորագրության պատճառով, OCSA/CRL-ը անհասանելի է, ավարտվում են հավաստագրերը (T-30/T-7/T-1)։

14) Գեորգի և օրինակներ

14. 1 Vox/KFC քաղաքականության օրինակ (կեղծ)

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

14. 2 JWT ռոտացիայի պլանի օրինակ


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: JWKS հարկադիր նորարարություն (կեղծ)

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) Դիտողությունն ու աուդիտը

Метрики: `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).

Դաշբորդներ '«kid» մասնաբաժնի քարտեզը, որը լրանում է վկայագրերը, հետ կանչման հաճախականությունը, ոչ որակյալ ստորագրությունները տարածաշրջաններում։

16) Անտիպատերնի

Երկար գոյատևող JWT-ը առանց հետ կանչելու և առանց կարճ «exp» -ի։

«kid» -ի բացակայությունը և «ձեռքով» ստուգման բանալին ընտրելը։

Գաղտնի պահպանումը ENV/k8s-Secret-ում առանց KFC-ի և առանց etcd մակարդակում։

Ոչ ռոտացիոն refresh-tocens; refresh-ի կրկնվող օգտագործումը առանց մանրամասների։

Միակ համաշխարհային API-ի բանալին «բոլորի վրա»։

«Հանգիստ» նոր կոմպոզիցիաների արտադրությունը առանց JWKS հրապարակման և մոնիտորինգի։

Արգելափակման զրոյական պատուհանները (անմիջապես փոխարինումը) տեղադրված են զանգվածային 401/403։

17) iGaming/ֆինանսական առանձնահատկությունները

Կարգավորիչները և աուդիտը 'սուբսիդիաների/ակնարկների անփոփոխ լոգները։ ժամանակի և ակտորների ապացուցումը։

Գործընկեր PSA/KYC 'գործընկերոջ/միգրացիայի առանձին բանալիներ; արագ արձագանք SLA/անվտանգության խախտումների ժամանակ։

Բազմաբնույթ 'per-tenae API-բանալիներ scope-ից; ռուսական բրենդների/տարածաշրջանների մեկուսացում։

Բարձր ռիսկ ՝ PoP/DPoP կրիտիկական վիրահատությունների համար, կարճ 'exp ", mTSA ներքին ծառայությունների միջև։

Backoffice: SSO/OIDC, կարճ նստաշրջաններ, ապարատային հոսանքներ (FIDO2), ամենուր rotate-on-schedule։

18) Չեկ-թուղթ պատրաստակամության համար

  • Բոլոր մասնավոր բանալիները KFC/HSM/Vox-ում; արգելված է արտահանումը։
  • JWKS-ը հրապարակվում և քշվում է կարճ TTL-ի հետ։ JWT վերնագրերում կա «kid»։
  • Արգելափակված պատուհանի և ավտոմատ rollout.
  • Refresh-tokens միանվագ; չեղյալ հայտարարված «jti» ցուցակը TTL-ի հետ։
  • HMAC գաղտնիքները 'ակտիվ + կանացի; ընդունումը երկու է. Հայտարարվել է t-ժամանակը։
  • TFC/mTSA: 108-renew, ալտերտեր T-30/T-7/T-1, trust bundle փոխելու համար։
  • Envelope-կոդավորումը 'KEK/CMK պտտվում են առանց անցքի, DEK per-օբյեկտ/տենանտ։
  • Metriki/alerts ստորագրությամբ, JWKS, ակնարկներ; dashbords 'kid' doley։
  • Պլեյբուկը (փոխզիջում) և ռուսական ուսմունքները։
  • canary-ի թեստերը և վալիդացիաները նոր բեկորների/SA-ի հետ։

19) TL; DR

Պահեք բանալիները KFC/HSM-ում, ստորագրեք JWT-ը «kid» -ի հետ և հրապարակեք JWKS-ը։ Միացրեք բանալիները և հավաստագրերը համընկնումով, հետևեք «kid» -ի վալիդների բաժնետոմսերին։ Refresh-ը rotate-on-use և կարճ 'exp'; կրիտիկական վիրահատությունների համար 'PoP/DPoP և mTSA։ Տվյալների համար օգտագործեք envelope-կոդավորումը KEK-ի լուծույթով առանց անցքի։ Ներդրեք փոխաբերություններ/ալտերտեր, պլեյբուսներ։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։