Private key — asymmetric cryptography tizimida maxfiy saqlanadigan kalit. U public key bilan juftlik hosil qiladi va encryption, decryption, digital signature hamda authentication jarayonlarida ishlatiladi.
Private key oshkor bo‘lsa, unga bog‘langan public key, certificate yoki account ishonchliligi buzilishi mumkin. Shu sababli private key kriptografik tizimlarning eng muhim maxfiy qismlaridan biri hisoblanadi.
Vazifasi
Private key quyidagi vazifalarni bajaradi:
- public key bilan shifrlangan ma’lumotni ochish;
- digital signature yaratish;
- server yoki foydalanuvchi identity’sini tasdiqlash;
- TLS certificate bilan ishlash;
- SSH authentication bajarish;
- secure communication jarayonida qatnashish;
- asymmetric encryption modelida maxfiy tomon bo‘lish.
Masalan, SSH orqali serverga ulanishda foydalanuvchining private key’i lokal kompyuterda saqlanadi, server esa unga mos public key orqali authenticationni tekshiradi.
Private key qanday ishlaydi?
Private key public key bilan birga yaratiladi. Bu juftlik key pair deb ataladi.
Asosiy model:
- private key maxfiy saqlanadi;
- public key ochiq tarqatilishi mumkin;
- public key bilan shifrlangan ma’lumot private key bilan ochiladi;
- private key bilan yaratilgan signature public key orqali tekshiriladi.
Private key hech qachon ochiq joyga joylanmasligi kerak. U maxfiy credential sifatida qaraladi.
Public key bilan bog‘liqligi
Private key va public key matematik jihatdan bog‘langan bo‘ladi. Public key private keydan hosil qilinishi mumkin, lekin public key orqali private keyni topish amaliy jihatdan mumkin bo‘lmasligi kerak.
Bog‘liqlik:
- ikkalasi bitta key pairga tegishli;
- public key ochiq bo‘lishi mumkin;
- private key maxfiy saqlanadi;
- biri bilan yaratilgan kriptografik natija ikkinchisi bilan tekshiriladi;
- private key yo‘qolsa yoki oshkor bo‘lsa, key pair ishonchsiz bo‘lib qoladi.
Decryptionda ishlatilishi
Asymmetric encryptionda public key bilan shifrlangan ma’lumot private key orqali ochiladi.
Jarayon:
- public key egasiga ma’lumot shifrlanadi;
- ciphertext private key egasiga yuboriladi;
- private key orqali ciphertext decrypt qilinadi;
- plaintext hosil bo‘ladi.
Bu modelda faqat private key egasi ma’lumotni o‘qiy olishi kerak.
Digital signature’da ishlatilishi
Private key digital signature yaratish uchun ishlatiladi. Signature ma’lumot private key egasi tomonidan imzolanganini bildiradi.
Jarayon:
- ma’lumotdan hash olinadi;
- hash private key bilan imzolanadi;
- signature hosil bo‘ladi;
- public key orqali signature tekshiriladi.
Digital signature ma’lumot muallifini va yaxlitligini tekshirishga yordam beradi.
TLS’da private key
TLS certificate public keyni domain bilan bog‘laydi. Shu public keyga mos private key serverda maxfiy saqlanadi.
- server identity’si bilan bog‘liq;
- certificate bilan birga ishlaydi;
- TLS handshake jarayonida qatnashadi;
- server tomonidan maxfiy saqlanishi kerak;
- oshkor bo‘lsa, certificate almashtirilishi kerak bo‘ladi.
Private key web server konfiguratsiyasida alohida fayl sifatida saqlanishi mumkin.
SSH private key
SSH private key foydalanuvchi yoki server authentication jarayonida ishlatiladi.
SSH’da:
- private key foydalanuvchi qurilmasida saqlanadi;
- public key serverdagi
authorized_keysichida bo‘ladi; - server challenge yuboradi;
- client private key bilan javob beradi;
- server public key orqali tekshiradi.
Bu usul parol yubormasdan authentication qilish imkonini beradi.
Private key formatlari
Private key turli formatlarda saqlanishi mumkin:
Format ishlatilayotgan tizim, kutubxona yoki protokolga bog‘liq.
Passphrase
Private key qo‘shimcha passphrase bilan himoyalanishi mumkin. Bunda private key fayli saqlangan bo‘lsa ham, uni ishlatish uchun passphrase kerak bo‘ladi.
Passphrase quyidagilar uchun ishlatiladi:
- private key faylini qo‘shimcha himoyalash;
- kompyuter o‘g‘irlangan holatda xavfni kamaytirish;
- SSH key xavfsizligini oshirish;
- lokal credential himoyasi.
Passphrase private keyning o‘zini almashtirmaydi, balki uni ochish uchun qo‘shimcha himoya beradi.
Private key xavfsizligi
Private key xavfsizligi kalitni kim ko‘rishi, qayerda saqlanishi va qanday ishlatilishiga bog‘liq.
Muhim jihatlar:
- private key public repositoryga joylanmasligi kerak;
- frontend kod ichida bo‘lmasligi kerak;
- serverda ruxsatlar cheklangan bo‘lishi kerak;
- kerak bo‘lsa passphrase bilan himoyalanadi;
- key rotation imkoniyati bo‘lishi mumkin;
- access log va audit ishlatiladi;
- private key leak bo‘lsa, yangi key pair yaratiladi.
Dasturlashdagi o‘rni
Private key asymmetric cryptography tizimining maxfiy kaliti hisoblanadi. U TLS, SSH, digital signature, certificate, token imzolash va secure communication jarayonlarida muhim rol o‘ynaydi.
Bog‘liq tushunchalar
Public key, Asymmetric encryption, Digital signature, Certificate, TLS, SSH, Key pair, Encryption, Decryption, Security