GH GambleHub

კლავიშების მართვა და როტაცია

გასაღებები არის პლატფორმის „ნდობის ფესვები“. საიმედო საკვანძო კონტროლის სისტემა (KMS/HSM + პროცესები + ტელემეტრია) კრიპტოგრაფიას ერთჯერადი ინტეგრაციიდან ყოველდღიურ ოპერაციად აქცევს: გასაღებები რეგულარულად განახლდება, მათი გამოყენება გამჭვირვალეა, კომპრომისები ლოკალიზებულია, ხოლო კლიენტები განიცდიან კლავიშების შეცვლას დუნტის გარეშე.

1) მიზნები და პრინციპები

Crypto agility: ძირითადი ალგორითმის/სიგრძის შეცვლის შესაძლებლობა დიდი მიგრაციის გარეშე.
გრძელი გაფართოება: პირადი გასაღებები არ ტოვებს KMS/HSM; ხელმოწერის/გაშიფვრის ოპერაციები - დისტანციური.
მოკლე გზა არტიფაქტები: ნიშნები/სესიის გასაღებები ცხოვრობენ წუთების საათებში და არა კვირაში.
Dual-key/Dual-cert ფანჯრები: უპასუხისმგებლო როტაციები.
Regional & tenant isolation: გასაღებები იყოფა რეგიონებსა და ქირაობებს.
Full auditability: უცვლელი ოპერაციული ჟურნალი, HSM სერთიფიკატი, წვდომის კონტროლი.

2) გასაღებების კლასიფიკაცია

Root (Root CA/Master Key): ძალიან იშვიათი გამოყენება, ინახება HSM- ში, გამოიყენება შუალედური გასაღებების ან მონაცემთა გასაღებების გასაცემად.
ოპერაციული: JWT/მოვლენების ხელმოწერა, TLS, ვებჰუკების ხელმოწერა, კონფიგურაციის დაშიფვრა/PII.
სესიის/დროებითი: DPOP, mTLS-binding, ECDH დასკვნა არხისთვის/დიალოგისთვის.
ინტეგრაცია: პარტნიორების გასაღებები (საზოგადოებრივი) და HMAC საიდუმლოებები.
Data Keys (DEK): გამოიყენეთ KEK- ის envelope დაშიფვრა, არ ინახება მკაფიოდ.

3) გასაღებების იდენტიფიკაცია და გამოყენების პოლიტიკა

თითოეულ კლავიშს აქვს 'kid' (კლავიში იდენტიფიცირებულია ნიშნები/სათაურები):
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"

წესები: „ერთი მიზანი არის ერთი გასაღები“ (მინიმალური შარინგი), მკაფიო სფეროები და ვადები.

4) სასიცოცხლო საკვანძო ციკლი (KMS/HSM)

1. თაობა: HSM/KMS- ში, ექსპორტის პოლიტიკით = აკრძალულია.
2. Publish: ასიმეტრიისთვის - JWKS/სერთიფიკატი 'kid' - ით.
3. Use: dign/decrypt კონტროლირებადი IAM- ით.
4. Rotate: დაიწყეთ 'შემდეგი' გასაღები და ჩართეთ dul-accept.
5. Retire: ძველი თარგმნა 'retiring', შემდეგ 'revoked'.
6. Destroy: გაანადგურა მასალა (purge პროტოკოლით) დავის ფანჯრის შემდეგ.

5) როტაცია: სტრატეგიები

Scheduled: კალენდარი (მაგალითად, ყოველი 1-3 თვე JWT ხელმოწერისთვის, 6-12 თვე TLS სერიებისთვის).
Rolling: მომხმარებელთა თანდათანობითი გადართვა (JWKS უკვე შეიცავს ახალ კლავიშს; ემიტერი იწყებს ახლების ხელმოწერას ქეშების დათბობის შემდეგ).
Forced (უსაფრთხოება): დაუყოვნებელი როტაცია კომპრომისზე; მოკლე ორმაგი აქცენტის ფანჯარა, არტეფაქტების აგრესიული გადინება.
Staggered per region/tenant: იმისათვის, რომ არ „გააფართოვოს“ მთელი მსოფლიო ერთდროულად.

ოქროს წესი: ჯერ პუბლიკაცია, შემდეგ ახალი ხელმოწერა და მხოლოდ გასვლის შემდეგ - ძველი მიმოხილვა.

6) ორმაგი ფანჯარა (შეუცვლელი ცვლა)

ჩვენ ვაქვეყნებთ JWKS- ს ძველი და ახალი „kid“.
გადამოწმებას ორივე იღებს.
ემიტერი N წუთის/საათის შემდეგ იწყებს ახლის ხელმოწერას.
ჩვენ ვაკვირდებით შემოწმების წილს ძველ/ახალ 'kid'.
მიზნობრივი წილის მიღწევის შემდეგ, ძველი.

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) ხელმოწერისა და ვალიდაციის პოლიტიკა

ნაგულისხმევი ალგორითმები: ES256/EdDSA ხელმოწერისთვის; RSA-PSS იქ, სადაც საჭიროა.
აკრძალვა 'none '/სუსტი ალგორითმები; გადამოწმების მხრივ.
Clock skew: ჩვენ ვუშვებთ ± 300 c, მოვათავსოთ გადახრები.
Key pinning (შიდა სერვისები) და მოკლე TTL JWKS ქეში (30-60 გვ).

8) Envelope დაშიფვრა და KDF

შეინახეთ მონაცემები შემდეგნაირად:

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/HSM- ში, რეგულარულად ბრუნავს.
DEK იქმნება ობიექტისთვის/წვეულებისთვის; როდესაც KEK ბრუნავს, ჩვენ ვასრულებთ re-wrap- ს (სწრაფად, მონაცემთა re- დაშიფვრის გარეშე).
ნაკადებისთვის - ECDH + HKDF არხის მოკლევადიანი გასაღებების გასაცემად.

9) რეგიონალიზმი და მულტფილმი-ტენანტი

გასაღებები და JWKS გადაკეთებულია: 'eu-core', 'latam-core' - სხვადასხვა გასაღების ნაკრები.
IAM/აუდიტის დაყოფა tenant/region; გასაღებები არ „მიედინება“ რეზიდენტებს შორის.
'kid' კოდირება სანდო დომენის პრეფიქსით: 'eu-core-es256-2025-10'.

10) ინტეგრაციის საიდუმლოებები (HMAC, API გასაღებები)

შეინახეთ KMS-backed Secret Store- ში, გაცემა მცირე ზომის კლიენტის საიდუმლოებების საშუალებით (როტაციის პოლიტიკა - 90 დღე).
ორი აქტიური საიდუმლოების მხარდაჭერა როტაციის დროს.
ვებჰუკებისთვის - Timestamp + HMAC სხეულის ხელმოწერა; დროის ფანჯარა 5 წუთის განმავლობაში.

11) წვდომის კონტროლი და პროცესები

IAM მატრიცა: ვისაც შეუძლია 'გენერატორის', 'sign', 'decrypt', 'rotate', 'destroy' (მინიმალური როლები).
4 - თვალის პრინციპი: მგრძნობიარე ოპერაციები მოითხოვს ორ მტკიცებულებას.
Change Windows: ახალი გასაღების ჩართვის ფანჯრები და ტესტის კანარის რეგიონები.
Runbooks: პროცედურის შაბლონები სკოლისთვის და როტაციისთვის.

12) დაკვირვება და აუდიტი

მეტრიკა:
  • `sign_p95_ms`, `decrypt_p95_ms`, `jwks_skew_ms`,
  • მიღება 'kid', 'old _ kid _ usage _ ratio',
  • `invalid_signature_rate`, `decrypt_failure_rate`.
ლოგიკური/აუდიტი:
  • ხელმოწერის/გაშიფვრის თითოეული ოპერაცია: 'who/what/when/where/where/kid/purpose'.
  • გასაღების სტატუსის ისტორია და როტაციის/რეკვიზიციის მოთხოვნა.
  • HSM სერტიფიკაცია, საკვანძო მასალების წვდომის ჟურნალები.

13) Playbooks (ინციდენტები)

1. ხელმოწერის გასაღების კომპრომისი

ძველი 'kid' - ის დაუყოვნებლივი revoke (ან მინიმალური ფანჯრის თარგმანით), ახალი JWKS- ის გამოქვეყნება, TTL- ის შემცირება, fors logout/RT ინვალიდობა, ინტეგრაციის მფლობელებისთვის კომუნიკაცია, რეტრო აუდიტი.

2. მასობრივი 'INVALID _ SIGNATURE' როტაციის შემდეგ

შეამოწმეთ JWKS/clock skew ქეში, დაუბრუნეთ dul-accept, გახანგრძლივეთ ფანჯარა, გაუგზავნეთ მომხმარებლებს.

3. ლატენტობის ზრდა KMS/HSM

ადგილობრივი ხელმოწერების ქეშის ჩართვა დაუშვებელია; ამის ნაცვლად - გამცემი batch/queue, autoscaling HSM მარაგი, კრიტიკული ნაკადების პრიორიტეტი.

4. ერთი რეგიონის უარყოფა

რეგიონალური იზოლაციის პროცედურების გააქტიურება; არ „გაიყვანოთ“ გასაღებები სხვა რეგიონებიდან; დაცემულ რეგიონში ხელმოწერებზე დამაგრებული ფუნქციების დეგრადაცია.

14) ტესტირება

კონტრაქტი: JWKS სისწორე, სწორი 'kid '/alg/use, მომხმარებელთა თავსებადობა.
Negative: ყალბი ხელმოწერა, მოძველებული 'kid', არასწორი alg, clock skew.
ქაოსი: მყისიერი როტაცია, KMS- ის მიუწვდომლობა, დროის „დრიფტი“.
Load: ხელმოწერების პიკი (JWT/webhooks), გაშიფვრის პიკი (PII/გადახდები).
E2E: ორმაგი კეი ფანჯარა: გამოშვება - გადამოწმება - ტრაფიკის გადაცემა - ძველი გარსი.

15) კონფიგურაციის მაგალითი (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 და მარკერები არტეფაქტებში

JWT ჰედერის ფრაგმენტი:
json
{ "alg":"ES256", "kid":"eu-core-es256-2025-10", "typ":"JWT" }
JWKS (საზოგადოებრივი ნაწილი):
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) ანტი შაბლონები

გრძელი გასაღებები „წლების განმავლობაში“ და საერთოა ყველა რეგიონისთვის.
როტაცია „ერთ მომენტში“ ორმაგი აქცენტის გარეშე.
პირადი გასაღებების ექსპორტი KMS/HSM „სიჩქარისთვის“.
დავალებების შერევა: JWT- ს ხელმოწერა და მონაცემების დაშიფვრა ერთი გასაღებით.
ჟურნალების არარსებობა/HSM სერტიფიკაცია და IAM შეზღუდვები.
KEK- ის როტაციაში არ არსებობს re wrap მექანიზმი DEK- ისთვის.
სახელმძღვანელო „საიდუმლოებები“ env- ში Secret Store- ის ნაცვლად.

18) ჩეკის სია გაყიდვამდე

  • ყველა პირადი გასაღები KMS/HSM- ში; IAM მატრიცა და 4 - თვალის პრინციპი მორგებულია.

დამტკიცებულია ალგორითმების, სიცოცხლის სიგრძისა და ვადების პოლიტიკა.

  • ორმაგი კეის პროცესი შედის 'kid' აქციების მონიტორინგით.
  • JWKS ქვეყნდება მოკლე TTL- ით და კეშის დათბობით; კლიენტები იღებენ 2 კლავიშს.
  • Envelope დაშიფვრა: KEK ბრუნავს, DEK re-wrap უსაქმურობის გარეშე.
  • რეგიონალური იზოლაცია და ცალკეული ტენანტის გასაღებების ნაკრები.
  • პლეიბუკები კომპრომისზე/როლინგზე/როტაციაზე; ტრენინგის ბორბლები.
  • მეტრიკები ('old _ kid _ usage _ ratio', 'invalid _ signature _ rate ") და ალერტები შედის.
  • დასრულდა კონტრაქტის/ნეგატიური/ქაოსის/ლოადის/E2E ტესტების ერთობლიობა.
  • ინტეგრაციის დოკუმენტაცია: როგორ დაამუშავოთ kid ', რომელი ფანჯრები და შეცდომის კოდი.

დასკვნა

კლავიშების მართვა არის ოპერაციული დისციპლინა: KMS/HSM, როგორც ჭეშმარიტების წყარო, რეგულარული და უსაფრთხო როტაცია ორმაგი კეიდან, რეგიონალური და ჩრდილოვანი იზოლაცია, განახლებადი დაშიფვრა და დაკვირვება. ამ წესების შესაბამისად, თქვენ იღებთ კრიპტოკონტურს, რომელიც ფართომასშტაბიანია, მდგრადია ინციდენტებისთვის და მარტივად ავუხსნით აუდიტორიას - ხოლო დეველოპერები და ინტეგრატორები განიცდიან ნებისმიერ ცვლილებას ტკივილის გარეშე.

Contact

დაგვიკავშირდით

დაგვიკავშირდით ნებისმიერი კითხვის ან მხარდაჭერისთვის.ჩვენ ყოველთვის მზად ვართ დაგეხმაროთ!

ინტეგრაციის დაწყება

Email — სავალდებულოა. Telegram ან WhatsApp — სურვილისამებრ.

თქვენი სახელი არასავალდებულო
Email არასავალდებულო
თემა არასავალდებულო
შეტყობინება არასავალდებულო
Telegram არასავალდებულო
@
თუ მიუთითებთ Telegram-ს — ვუპასუხებთ იქაც, დამატებით Email-ზე.
WhatsApp არასავალდებულო
ფორმატი: ქვეყნის კოდი და ნომერი (მაგალითად, +995XXXXXXXXX).

ღილაკზე დაჭერით თქვენ ეთანხმებით თქვენი მონაცემების დამუშავებას.