Logo GH

מפתח וסיבוב אסימונים

1) מדוע יש צורך בסיבוב

מפתחות ואסימונים באופן בלתי נמנע ”גיל”: חשיפה ביומנים/גיבויים, סיכונים פנימיים, פגיעות בספרייה, דליפות מבני זוג. סיבוב מקטין את ”חיי הסיכון” ונותן שליטה בתקריות. המטרה היא לבנות מחזורי סיבוב צפויים ומנגנוני החזרה מהירים ללא הפסקה.

2) שטח: מה בדיוק אנחנו מסתובבים

מפתחות חתימה/הצפנה: JWT (JWS/JWE), OAuth/OIDC, SAML, HMAC, רישיונות.
סודות אינטגרציה: מפתחות API, סוד לקוח, סיסמאות טק. משתמשים.
TLS/mTLS: תעודות שרת/לקוח, CAs root/intermediate.
מפתחות נתונים: KEK/CMK ב- KMS/HSM, DEK (הצפנת מעטפה).
גישה/רענון, שירות לשירות (MTLS, HMAC), הפעלה קצרת ימים.

3) אחסון, גרסאות, תוויות

KMS/HSM/Vault כמקור לאמת. אסור לאחסן מפתחות פרטיים בקבצי Git/ENV/תמונה.
Versioning: ”key _ id'/” version” + תוויות: ”מטרה = jwt-sign',” env = prod', ”alg = ES256”, ”נוצר _ at',” מסתובב _ at ”.
מדיניות גישה: העיקרון של מינימום זכויות הכרחיות (חיסיון מינימלי), הפרדת חובות (SoD).
ביקורת: מי יצר/קרא/חתם; יומנים בלתי ניתנים לשינוי.

4) דפוסי סיבוב בסיסיים

4. 1 חלונות חופפים (גלגול חינני)

אנו מפרסמים את המפתח החדש של JWKS/להפיץ את התעודה.
חלון חפיפה: אימות עם מפתחות ישנים וחדשים, חתימה - רק עם חדשים.
לאחר שתפוג תקופת החסד, מחק את הישן מהסט המהימן.

4. 2 הפעלה כפולה

תקופה קצרה שבה חלק מהמקרים מסמנים ישן, חלק - חדש (עבור ציים גדולים).
דורש JWKS מסונכרן לחלוטין וניטור של אחוז אימות על ידי ”ילד”.

4. 3 סובב-על-לוח זמנים נגד סיבוב-על-שימוש

מתוכנן: פעם אחת בכל N ימים/שבועות (מפתחות חתימה, TLS).
בעת שימוש: רענן אסימונים - חד פעמי, עבור כל החלפה לשחרר חדש (”גלישה” סיבוב).

5) JWT/JWKS: תרגול

5. 1 כותרות ומזהים

השתמש ”ילד” בכותרת JWS לבחור מפתח אימות.
אקלים מינימלי, ”exp” קצר, נכון ”audd/iss/nbf”.

דוגמה לכותרת JWS:
json
{ "alg": "ES256", "kid": "jwt-2025-10", "typ": "JWT" }

5. 2 פרסום JWKS

על JWKS להכיל את כל מפתחות האימות הפעילים (ישן + חדש בחלון גרייס).
זימון לקוח 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 חודשים (או לעיתים קרובות יותר עבור סיכון גבוה).
'expess' access-token: 5-30 דקות; 7-30 יום (עם ”סיבוב על שימוש”).
מאולץ ”להתחבר” עם PoP/DPoP (ראו # 8) כדי להפחית את הסיכון לגניבה.

6) סיבוב HMAC (חוברות/חתימות)

שמור סודות פעילים וקנריים; קבל חתימות משניהם.
כותרים: ”X-חתימה” + ”X-Timestamp”; חלונות מוגבלים בשנות ה-30.
ניתוק מוחלט של הישן לאחר שהשולח עבר אישור.
לשותפים, לפרסם את מתג תאריך-זמן ובדיקות סוף נקודה.

7) TLS/mTLS ושרשראות אמון

ACME/חידוש אוטומטי עבור תעודות שרת ציבוריות (בואו להצפין או Enterprise CA).
MTLS: תעודות לקוח קצרות (7-30 ימים), סיבוב אוטומטי בערוצים (SPIFFE/SPIRE/mesh).
סיבוב ביניים/שורש CA - רק דרך עוגני צרור אמון חופפים וקנרית ארוכה.
לפקוח עין על OCSP/CRL ו שעון רזה. ביומנים - הסיבות לכשל האימות.

8) PoP/DPoP וצרור token↔klyuch לקוח

DPoP (הדגמת ההוכחה של החזקה): האסימון מחויב למפתח הציבורי של הלקוח; מפחית את הסיכון של שידור חוזר.
סיבוב מפתח לקוח = שחרור של מקש DPoP חדש, אסימונים - לזמן קצר.
עבור שירות לשירות, mTLS מועדף (המכשיר/פועל "נושא את המפתח ב-HSM/TPM).

9) אסימונים רעננים: סיבוב-על-שימוש

אסימוני רענון חד-פעמיים: כל החלפה = ריענון + גישה חדשה.
רשימה של חנות 'jti '/' sid' עם TTL = רענון לכל החיים.
שימוש חוזר בזיהוי (re-play): החזרת הפעלה/התקן מיידית, התראה.

10) רשימות חזרה וחסימה

JWT ללא אינטרוספקציה: השתמש ב-exp '+' blacklists' jti עבור מקרים קריטיים (local/in Redis, hash sharding).
Oauth introspection: centralized status server cache ”active = false/true” עם TTL קצר.
מפתחות API: חשיש מפתח חנות (כמו סיסמאות), תוויות בעלים/דייר, היקף, יצירת/תאריך גישה אחרון; זכור - מיידית.

11) מפתחות נתונים: הצפנת מעטפה

CMK/KEK (KMS/HSM) מגן על DEK; סיבוב CMK מתרחש ללא גילוי מחדש של נתונים: לעטוף מחדש DEK.
DEK עבור כל חפץ/דייר/צד; KDF/HKDF עבור מפתחות נגזרים.
מדיניות גריסה מוצפנת: מחיקת KEK = נתונים בלתי קריאים בעת פגיעה.

12) נהלי תקרית (פשרה)

1. להקפיא: לנטרל תמצית סמלי על מפתח נפרץ, העברה להנפקה חדשה.
2. ביטול: הסרת ”ילד” מ ־ JWKS, ביטול תעודות (OCSP/CRL), חסימת מפתחות API מהרשימה.
3. הפחת TTL: הפחת באופן זמני את אסימונים exp, לחזק בדיקת PoP/DPoP.
4. רישום מאולץ: ביטול הפעלות (ביטול 'sid'/' jti').
5. זיהוי פלילי ודיווח: צירי זמן, כיסוי, מי/מה סבל; עדכון ספרי משחקים.

13) צינור וחילוץ

13. דור ופרסום 1

צור מפתחות ב ־ HSM/KMS; יצוא מפתח פרטי - אסור.
פרסום אוטומטי של תעודות JWKS/עם אימות ובדיקות.
שחרור כנרית: 1-5% לקוחות = 100%.

13. 2 בקרת בריאות

Metrics: הפרופורציה של אימות על ידי ”ילד”, חתימה/שגיאות תעודה, סחף שעון.
התראות: 401/403 ספייק עקב חתימה, OCSP/CRL לא זמין, פג תוקף תעודות (T-30/T-7/T-1).

14) תצורות ודוגמאות

14. 1 כספת/KMS Policy Example (פסאודו)

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 שליח: כוח עדכון 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 _ veriation _ fall _ total _ reason”, ”jwks _ ranh _ total”, ”jwks _ kid _ share kid”, ”token _ builed _ total”, ”ranh _ rotations _ total”, ”dpop _ fall _ total”.
'ילד', 'jti', 'sid',' סיבה ',' לקוח _ id', 'דייר', 'trace _ id' (trace' id).
לוחות מחוונים: 'ילד' כרטיס שיתוף, פג תוקף תעודות, תדר חזרה, חתימות לא תקפות על ידי אזור.

16) תרופות אנטי ־ פטריות

ג 'יי-וי-טי ארוך-ימים ללא זיכרון וללא ”exp” קצר.
היעדר ”קיד” ו ”ידני” בחירת מפתח האימות.
מסתיר סודות ENV/k8s-Secret ללא KMS וללא הצפנה ברמת etcd.
אסימונים רענון לא סיבובי; להשתמש מחדש רענון ללא זיהוי.
מפתח API גלובלי אחד ”לכל”.
”שקט” שחרור מפתחות חדשים ללא פרסום וניטור JWKS.
אפס חלונות חפיפה (החלפה מיידית) = מסה 401/403.

17) פרטים של iGaming/Finance

רגולטורים וביקורת: יומנים בלתי ניתנים לשינוי של סיבובים/זכרונות; פרובוקציה של זמן ושחקנים.
שותף PSP/KYC: מפתחות נפרדים לכל שותף/תחום שיפוט; זיכרון מהיר של עבירות בטיחות/SLA.
רב-חכירה: לכל דייר מפתחות API עם היקף; בידוד מפתח מותג/אזורי.
סיכון גבוה: PoP/DPoP לפעולות קריטיות, קיצור 'exp', mTLS בין שירותים פנימיים.
משרד אחורי: SSO/OIDC, פגישות קצרות, אסימונים לחומרה (FIDO2), סובב-על-לוח זמנים לכל מקום.

18) רשימת מוכנות למומחים

[ ] כל המפתחות הפרטיים בכספת KMS/HSM; יצוא אסור.
[ ] JWKS יוצא לאור עם TTL קצר; יש 'ילד' בכותרות JWT.
[ תכנית סיבוב ] עם חלון חופף והצתה אוטומטית.
[ אסימונים ] רענן הם חד פעמיים; רשימה של 'jti' s מבוטל עם TTL.
[ ] סודות HMAC: פעיל + קנרית; קבלת פנים על ידי שניהם; זמן החלפה מוצהר.
[ ] TLS/mTLS: חידוש אוטומטי, התראות T-30/T-7/T-1,
[ הצפנת מעטפת ]: KEK/CMK הסתובב ללא השבתה, DEK לכל אובייקט/דייר.
[ ] מטריצות/התראות לפי חתימה, JWKS, משוב; לוחות מחוונים 'ילד' - דייל.
[ ] תקרית (פשרה) ותרגילים רגילים.
[ ] בדיקות של שכפול כנרית ואימות עם מפתחות חדשים.

19) TL; DR

שמור מפתחות בKMS/HSM, תחתום על JWT עם ”ילד” ותפרסם את JWKS. לסובב מפתחות ותעודות עם חפיפה, לפקח על מניות אימות על ידי ”ילד”. רענן - לסובב-על-שימוש וקצר ”exp”; למבצעים קריטיים, PoP/DPoP ו-mTLS. עבור נתונים, השתמש בהצפנת מעטפה עם סיבוב KEK ללא השבתה. יישום מדטים/התראות, חוברות משחק תקריות, וסיבובים קבוצתיים רגילים.

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

Telegram
@Gamble_GC
התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.