Logo GH

Εναλλαγή κλειδιού

1) Γιατί απαιτείται εναλλαγή

Κλειδιά και μάρκες αναπόφευκτα «ηλικία»: έκθεση σε κούτσουρα/αντίγραφα ασφαλείας, κίνδυνοι για κατόχους εμπιστευτικών πληροφοριών, αδυναμίες στη βιβλιοθήκη, διαρροές από εταίρους. Η εναλλαγή μειώνει τη «διάρκεια ζωής κινδύνου» και δίνει δυνατότητα ελέγχου σε περιστατικά. Στόχος είναι η κατασκευή προβλέψιμων κύκλων περιστροφής και μηχανισμών ταχείας ανάκλησης χωρίς χρόνο διακοπής.

2) Πεδίο: τι ακριβώς περιστρέφουμε

Κλειδιά υπογραφής/κρυπτογράφησης: JWT (JWS/JWE), OAuth/OIDC, SAML, webhooks (HMAC), άδειες.
Μυστικά ενσωμάτωσης: κλειδιά API, μυστικό πελάτη, κωδικοί πρόσβασης τεχνολογίας. χρήστες.
TLS/mTLS: πιστοποιητικά εξυπηρετητή/πελάτη, ρίζα/ενδιάμεσες αρμόδιες αρχές.
Κλειδιά δεδομένων: KEK/CMK σε KMS/HSM, DEK (κρυπτογράφηση φακέλου).
: πρόσβαση/ανανέωση, υπηρεσία προς υπηρεσία (mTLS, HMAC), σύντομη συνεδρία.

3) Αποθήκευση, εκδόσεις, ετικέτες

KMS/HSM/Θησαυροφυλάκιο ως πηγή αλήθειας. Απαγορεύεται η αποθήκευση ιδιωτικών κλειδιών σε αρχεία git/ENV/εικόνας.
Έκδοση: 'key _ i /' version' + ετικέτες: 'σκοπός = jwt-sign', 'env = prod', 'alg = ES256', 'created _ at', 'rotates _ at'.
Πολιτικές πρόσβασης: αρχή των ελάχιστων αναγκαίων δικαιωμάτων (ελάχιστο προνόμιο), διαχωρισμός των καθηκόντων (SoD).
Έλεγχος: ποιος δημιούργησε/διάβασε/υπέγραψε. αμετάβλητα κορμοτεμάχια.

4) Βασικά πρότυπα εναλλαγής

4. 1 Επικαλυπτόμενα παράθυρα (χαριτωμένη ανατροπή)

Δημοσιεύουμε τα νέα βασικά → στο JWKS/διανέμουμε το πιστοποιητικό.
Αλληλεπικάλυψη παραθύρου: επικύρωση με παλιά και νέα κλειδιά, υπογραφή - μόνο με νέα.
Μετά τη λήξη της περιόδου χάριτος, διαγράψτε το παλιό από το σύνολο εμπίστευσης.

4. 2 Διπλή διαδρομή

Σύντομη περίοδος κατά την οποία ένα μέρος των περιπτώσεων υπογράφει παλαιά, εν μέρει νέα (για μεγάλους στόλους).
Απαιτεί ένα αυστηρά συγχρονισμένο JWKS και παρακολούθηση του ποσοστού επικυρώσεων από το «παιδί».

4. 3 Περιστροφή σε πρόγραμμα έναντι περιστροφής κατά τη χρήση

Προγραμματισμένη: μία φορά κάθε N ημέρες/εβδομάδες (πλήκτρα υπογραφής, TLS).
Όταν χρησιμοποιείται: αναζωογονητικές μάρκες - μία φορά, για κάθε ανταλλαγή απελευθερώνεται νέα («συρόμενη» περιστροφή).

5) JWT/JWKS: Πρακτική

5. Επικεφαλίδες και αναγνωριστικά

Χρησιμοποιήστε το «παιδί» στην κεφαλίδα JWS για να επιλέξετε ένα κλειδί επαλήθευσης.
Ελάχιστες αναρριχήσεις, σύντομες «exp», σωστές «aud/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 Cadence και χρονοδιάγραμμα

Υπογραφή JWT: εναλλαγή κλειδιού κάθε 3-6 μήνες (ή συχνότερα για υψηλού κινδύνου).
"exp 'access-token: 5-30 λεπτά, ανανέωση - 7-30 ημέρες (με «εκ περιτροπής χρήση»).
Αναγκαστική «σύνδεση» με το PoP/DPoP (βλέπε § 8) για τη μείωση του κινδύνου κλοπής.

6) Περιστροφή HMAC (webhooks/υπογραφές)

να διατηρούν ενεργά και καναρίνια μυστικά· δέχεται υπογραφές και από τα δύο.
Τίτλοι: «X-Signature» + «X-Timestamp», περιορισμός παραθύρων ± 300s.
Πλήρης αποσύνδεση του παλιού - μετά την επιβεβαίωση του αποστολέα.
Για τους συντρόφους, δημοσιεύουν τους ελέγχους ημερομηνίας αλλαγής και τελικού σημείου.

7) TLS/mTLS και αλυσίδες εμπιστοσύνης

ACME/αυτόματη ανανέωση για πιστοποιητικά δημόσιου εξυπηρετητή (ας κρυπτογράφηση ή επιχείρηση CA).
mTLS: σύντομα πιστοποιητικά πελατών (7-30 ημέρες), αυτόματη εναλλαγή μέσω καναλιών (SPIFFE/SPIRE/πλέγμα).
Ενδιάμεση/ρίζα περιστροφή CA - μόνο μέσω επικαλυπτόμενων αγκυρώσεων δέσμης εμπιστοσύνης και μακρύ καναρίνι.
Προσέξτε το OCSP/CRL και το ρολόι-skew. Στα αρχεία καταγραφής - οι λόγοι της αποτυχίας επικύρωσης.

8) PoP/DPoP και δέσμη πελατών

DPoP (απόδειξη της απόδειξης της κατοχής): η ένδειξη δεσμεύεται από το δημόσιο κλειδί του πελάτη· μειώνει τον κίνδυνο επανάληψης.
Περιστροφή κλειδιού πελάτη = απελευθέρωση νέου πλήκτρου DPoP, μάρκες - για σύντομο χρονικό διάστημα.
Για την υπηρεσία προς υπηρεσία, προτιμάται η mTLS (η συσκευή/ο εργαζόμενος «φέρει» το κλειδί στο HSM/TPM).

9) Αναζωογονητικές μάρκες: περιστροφή κατά τη χρήση

Εφάπαξ ανανεωτικές μάρκες: κάθε ανταλλαγή → νέα ανανέωση + πρόσβαση.
Κατάλογος ανακληθέντων καταστημάτων «jti »/« sid» με TTL = ανανέωση διάρκειας ζωής.
Ανίχνευση επαναχρησιμοποίησης (αναπαραγωγή): άμεση ανάκληση συνεδρίας/συσκευής, συναγερμός.

10) Ανακληση και καταλόγους τμημάτων

JWT χωρίς ενδοσκόπηση: χρησιμοποιήστε σύντομες «exp» + «μαύρες λίστες» «jti» για κρίσιμες περιπτώσεις (τοπικά/σε Redis, hash sharding).
OAuth introspection: κεντρική μνήμη διακομιστή κατάστασης «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/με επαλήθευση και δοκιμές.
Canary release: 1-5% των πελατών → 100%.

13. Έλεγχος της υγείας

Μετρήσεις: η αναλογία επικυρώσεων ανά «παιδί», σφάλματα υπογραφής/πιστοποιητικού, μετατόπιση ρολογιού.
Καταχωρίσεις: 401/403 ακίδα λόγω υπογραφής, μη διαθέσιμο OCSP/CRL, λήγοντα πιστοποιητικά (T-30/T-7/T-1).

14) Ρυθμίσεις και παραδείγματα

14. 1 Παράδειγμα πολιτικής θησαυροφυλακίου/KMS (Pseudo)

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

14. Παράδειγμα σχεδίου περιστροφής 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 _ verify _ fail _ total {reason}', 'jwks _ refresh _ total', 'jwks _ kid _ share {kid}', 'token _ revoked _ total', 'refresh _ rotations _ total', 'dpop _ fail _ total'.
: «παιδί», «jti», «sid», «λόγος», «πελάτης _ i ,» ενοικιαστής «,» trace _ i ( PII).
Dashboards: κοινόχρηστη κάρτα «παιδί», πιστοποιητικά λήξης, συχνότητα ανάκλησης, άκυρες υπογραφές ανά περιοχή.

16) Αντιπατερίδια

Μακρόβια JWT χωρίς ανάκληση και χωρίς σύντομα «exp».
Απουσία «kid» και «χειροκίνητης» επιλογής της κλείδας επαλήθευσης.
Αποθήκευση μυστικών σε ENV/k8s-Secret χωρίς KMS και χωρίς κρυπτογράφηση σε επίπεδο κλπ.
Μη εναλλασσόμενες μάρκες ανανέωσης· να επαναχρησιμοποιήσει την ανανέωση χωρίς ανίχνευση.
Ένα ενιαίο παγκόσμιο κλειδί API «για όλους».
«Ήσυχη» κυκλοφορία νέων κλειδιών χωρίς δημοσίευση και παρακολούθηση JWKS.
Παράθυρα μηδενικής επικάλυψης (στιγμιαία αντικατάσταση) → μάζα 401/403.

17) Ιδιαιτερότητες του iGaming/Finance

Ρυθμιστικές αρχές και έλεγχος: αμετάβλητα αρχεία εναλλαγής/ανάκλησης· δυνατότητα απόδειξης του χρόνου και των παραγόντων.
Εταίρος PSP/KYC: ξεχωριστά κλειδιά ανά εταίρο/δικαιοδοσία· ταχεία ανάκληση για παραβάσεις SLA/ασφάλειας.
Πολλαπλή μίσθωση: κλειδιά API ανά ενοικιαστή με πεδίο εφαρμογής· απομόνωση κλειδιού σήματος/περιοχής.
Υψηλός κίνδυνος: PoP/DPoP για κρίσιμες λειτουργίες, βραχεία «exp», mTLS μεταξύ εσωτερικών υπηρεσιών.
Backoffice: SSO/OIDC, σύντομες συνεδρίες, μάρκες υλικού (FIDO2), πανταχού παρούσα περιστροφή στο πρόγραμμα.

18) Κατάλογος ελέγχου ετοιμότητας Prod

  • Όλα τα ιδιωτικά κλειδιά στο KMS/HSM/Vault; απαγορεύεται η εξαγωγή.
  • Το JWKS δημοσιεύεται και αποθηκεύεται με σύντομο TTL. υπάρχει ένα «παιδί» στα πρωτοσέλιδα JWT.
  • Σχέδιο περιστροφής με επικαλυπτόμενο παράθυρο και αυτόματη εγκατάσταση.
  • Οι μάρκες ανανέωσης είναι διαθέσιμες. κατάλογος ανακληθέντων «jti» με TTL.
  • Μυστικά HMAC: ενεργό + καναρίνι. παραλαβή και από τις δύο πλευρές· Δηλωμένος χρόνος αλλαγής T.
  • TLS/mTLS: αυτόματη ανανέωση, T-30/T-7/T-1 ειδοποιήσεις, δέσμη εμπιστοσύνης για αλλαγή CA.

Κρυπτογράφηση φακέλου: KEK/CMK περιστρέφεται χωρίς downtime, DEK ανά αντικείμενο/ενοικιαστή.

  • Μετρήσεις/καταχωρίσεις με υπογραφή, JWKS, ανάδραση· παιδικά ταμπλό.
  • Βιβλίο παιχνιδιού περιστατικών (συμβιβασμός) και τακτικές ασκήσεις.
  • Δοκιμές αντιγράφων καναρινιού και επικύρωσης με νέα κλειδιά/CA.

19) TL, DR

Κρατήστε τα κλειδιά στο KMS/HSM, υπογράψτε JWT με 'παιδί' και αναρτήστε JWKS. Περιστροφή κλειδιών και πιστοποιητικών με επικάλυψη, παρακολούθηση μεριδίων επικύρωσης από «παιδί». Ανανέωση - περιστροφή κατά τη χρήση και σύντομη «exp». για κρίσιμες λειτουργίες - PoP/DPoP και mTLS. Για δεδομένα, χρησιμοποιήστε κρυπτογράφηση φακέλου με περιστροφή KEK χωρίς downtime. Εφαρμογή μετρήσεων/ειδοποιήσεων, βιβλίων αναπαραγωγής συμβάντων και τακτικών περιστροφών καναρινιών.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Telegram
@Gamble_GC
Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.