8.4. Ochiq kalitli shifrlash tizimlari va gibrid sxema
Ochiq kalitli kriptografiya g'oyasi
Ochiq kalitli (asimmetrik) kriptografiya oldingi paragrafda ko'rilgan kalit yetkazish muammosini hal qilish uchun yaratildi. Uning g'oyasi dastlab mantiqqa zid tuyuladi: shifrlash uchun bitta kalit, shifrni ochish uchun esa boshqa kalit ishlatiladi. Bu ikki kalit matematik jihatdan o'zaro bog'liq, biroq bog'liqlik shu qadar murakkabki, birini bilgan holda ikkinchisini hisoblab chiqarish amalda mumkin emas.
Har bir foydalanuvchi kalitlar juftligiga ega bo'ladi. Ochiq kalit (public key) hammaga tarqatilishi mumkin: uni veb-saytga joylash, elektron pochta orqali yuborish yoki ochiq ma'lumotlar bazasiga kiritish mumkin. Shaxsiy kalit (private key) esa faqat egasida qoladi va hech kimga oshkor qilinmaydi. Ochiq kalit bilan shifrlangan ma'lumotni faqat mos shaxsiy kalit bilan ochish mumkin (8.8-rasm).

Jarayonni misolda ko'raylik. Alisa Boburga maxfiy xabar yubormoqchi. U Boburning ochiq kalitini oladi (u hammaga ma'lum) va xabarni shu kalit bilan shifrlaydi. Endi bu xabarni faqat Bobur, o'z shaxsiy kaliti bilan ocha oladi. Hatto Alisaning o'zi ham shifrlagandan keyin xabarni qayta ocholmaydi, chunki unda Boburning shaxsiy kaliti yo'q. Eng muhimi, Alisa va Bobur bir-biri bilan oldindan hech qanday maxfiy kalit almashmagan. Aynan shu bilan asrlar davomida hal etilmagan muammo yechimini topdi.
Ochiq kalitli kriptografiyaning yana bir afzalligi kalitlar sonining kamayishidir. Simmetrik tizimda foydalanuvchilar soni ortishi bilan kalitlar soni tez ko'payadi. Asimmetrik tizimda esa har bir foydalanuvchiga bitta kalitlar juftligi yetarli: yuz nafar foydalanuvchi uchun yuz juftlik kifoya qiladi. Shu sababli bunday tizimlar ancha yaxshi kengayadi va internet miqyosidagi aloqa uchun mos keladi.
Ochiq kalitli algoritmlar va ularning matematik asosi
Ochiq kalitli algoritmlar matematikadagi «bir tomonga oson, teskari tomonga juda qiyin» amallarga tayanadi. Bunday amallar bir tomonlama funksiyalar deb ataladi. Sodda taqqoslash keltiraylik: ikkita katta tub sonni ko'paytirish oson, biroq berilgan katta sonni tub ko'paytuvchilarga ajratish juda qiyin masaladir. Aynan shu nomutanosiblik RSA algoritmining asosini tashkil etadi.
Algoritm | Matematik asosi | Qo'llanishi |
|---|---|---|
RSA | Katta sonlarni tub ko'paytuvchilarga ajratishning qiyinligi | Shifrlash, raqamli imzo, kalit almashinuvi |
Diffi-Xellman | Diskret logarifm masalasining qiyinligi | Umumiy maxfiy kalitni ochiq kanal orqali kelishish |
Elliptik egri chiziqlar (ECC) | Elliptik egri chiziqlar geometriyasi | Raqamli imzo va kalit almashinuvi; qisqa kalitda yuqori bardoshlik |
8.3-jadval. Asosiy ochiq kalitli algoritmlar (SecurityTolboom, OpenLearn va CS161 asosida).
RSA 1977-yilda uchta tadqiqotchi (Rivest, Shamir va Adleman) tomonidan ishlab chiqilgan bo'lib, ularning familiyalari bosh harflaridan nom olgan. U bugungacha keng qo'llaniladi. Diffi-Xellman usuli 1976-yilda e'lon qilingan va u alohida ahamiyatga ega: bu usul ma'lumotni shifrlash uchun emas, balki ikki tomonning ochiq kanal orqali suhbatlashib, umumiy maxfiy kalitga kelishishi uchun ishlatiladi. Tashqaridan kuzatayotgan shaxs ularning butun suhbatini eshitsa ham, kelishilgan kalitni hisoblab chiqara olmaydi. Elliptik egri chiziqlar kriptografiyasi esa nisbatan yangi yo'nalish bo'lib, u ancha qisqa kalit bilan bir xil darajadagi bardoshlikni ta'minlaydi, shuning uchun mobil qurilmalar va cheklangan resursli tizimlarda afzal ko'riladi.
Ochiq kalitli tizimlarning cheklovi va gibrid sxema
Ochiq kalitli kriptografiya kalit muammosini hal qilgan bo'lsa, nega undan hamma joyda foydalanilmaydi? Sababi tezlikda. Asimmetrik algoritmlar murakkab matematik amallarga tayanadi va shu sababli simmetrik algoritmlardan sezilarli darajada sekin ishlaydi. Katta hajmdagi ma'lumotni asimmetrik usulda shifrlash uchun simmetrik usulga qaraganda ko'p marta uzoq vaqt ketadi. Bundan tashqari, ular hisoblash resursini ham ko'proq talab qiladi.
Amalda bu muammo aqlli yechim bilan bartaraf etiladi: ikki usul birgalikda ishlatiladi va bu gibrid (aralash) shifrlash deb ataladi. Uning mantiqi shundaki, har bir usul o'zi eng yaxshi bajaradigan vazifaga qo'yiladi. Asimmetrik shifrlash faqat kichik bir narsani, ya'ni kalitni himoyalash uchun ishlatiladi; katta hajmdagi ma'lumotning o'zi esa tez simmetrik algoritm bilan shifrlanadi (8.9-rasm).

Jarayon quyidagicha kechadi. Avval Alisa tasodifiy simmetrik kalit yaratadi, u seans kaliti (session key) deb ataladi, chunki faqat shu aloqa seansi uchun ishlatiladi. So'ngra u xabarni shu seans kaliti bilan tez shifrlaydi. Keyin seans kalitining o'zini Boburning ochiq kaliti bilan shifrlaydi. Nihoyat, shifrlangan xabar va shifrlangan seans kalitini birgalikda yuboradi. Bobur o'z shaxsiy kaliti bilan seans kalitini ochadi, so'ngra u bilan xabarni ochadi.
Natijada har ikki usulning afzalligi birlashadi: asimmetrik kriptografiya kalitni xavfsiz yetkazadi, simmetrik kriptografiya esa yuqori tezlikni ta'minlaydi. Aynan shu sxema bugungi kunda internetda HTTPS protokoli orqali ishlaydigan har bir xavfsiz ulanishda qo'llaniladi. Foydalanuvchi brauzerda qulf belgisini ko'rganda, aslida uning kompyuteri bilan server o'rtasida shunday gibrid jarayon sodir bo'lgan bo'ladi.
Ochiq kalitli kriptografiyaning yana bir muhim qo'llanishi bor: kalitlarning rolini almashtirsak, butunlay boshqa vazifa hal bo'ladi. Agar ma'lumot shaxsiy kalit bilan shifrlansa, uni har kim ochiq kalit yordamida ocha oladi, ya'ni maxfiylik ta'minlanmaydi. Biroq bu holat boshqa narsani isbotlaydi: ma'lumotni aynan shaxsiy kalit egasi ishlagan, chunki boshqa hech kimda u kalit yo'q. Bu g'oya elektron raqamli imzoning asosini tashkil etadi va keyingi paragrafda batafsil ko'rib chiqiladi.
Simmetrik va ochiq kalitli tizimlarni taqqoslash
Ikki turdagi kriptotizimni yaxlit taqqoslash quyidagi jadvalda keltirilgan (8.4-jadval). Bu jadval mutaxassis uchun amaliy ahamiyatga ega, chunki aynan shu belgilar asosida aniq vazifa uchun usul tanlanadi.
Belgi | Simmetrik tizim | Ochiq kalitli tizim |
|---|---|---|
Kalitlar soni | Bitta maxfiy kalit ikki tomonda bir xil | Har bir tomonda juftlik: ochiq va shaxsiy kalit |
Kalitni oldindan almashish | Zarur | Zarur emas |
Tezligi | Yuqori | Sezilarli past |
Kalitlar sonining o'sishi | Foydalanuvchilar soni ortishi bilan tez ko'payadi | Har bir foydalanuvchiga bitta juftlik yetarli |
Rad eta olmaslikni ta'minlash | Ta'minlamaydi | Ta'minlaydi (raqamli imzo orqali) |
Asosiy qo'llanish sohasi | Katta hajmdagi ma'lumotni shifrlash | Kalit almashinuvi va raqamli imzo |
8.4-jadval. Simmetrik va ochiq kalitli kriptotizimlarni taqqoslash (OpenLearn Network Security asosida).
Amaliy misol
Bekzod veb-xizmat uchun HTTPS ni yoqadi va brauzerda qulf belgisi paydo bo'lganini ko'radi. Otabek unga aslida nima sodir bo'layotganini tushuntiradi. Brauzer server bilan bog'langanda avval sertifikatni tekshiradi va serverning ochiq kalitini oladi. So'ngra tomonlar seans kalitini kelishib oladi, bunda ochiq kalitli usul ishlatiladi. Shundan keyin butun ma'lumot almashinuvi tez simmetrik algoritm bilan shifrlanadi. Ya'ni foydalanuvchi bir marta sahifani ochganda, uning kompyuterida bir necha kriptografik amal ketma-ket bajariladi va bularning barchasi bir soniyaning ulushida sodir bo'ladi.
Kasbiy vaziyat
Bekzod taklif kiritadi: «Agar ochiq kalitli shifrlash shu qadar qulay bo'lsa, mijozlar bazasini ham RSA bilan shifrlaymizmi? Unda kalit almashish muammosi umuman bo'lmaydi.» Otabek uni tezlik masalasiga e'tibor berishga chorlaydi. Baza yuz minglab yozuvdan iborat va unga har soniyada murojaat qilinadi. RSA bilan shifrlangan bazaga har bir murojaat sezilarli darajada uzoq davom etadi, natijada xizmat foydalanuvchi uchun juda sekin ishlaydi. Bundan tashqari, bu yerda kalit almashish muammosi umuman yo'q, chunki ma'lumot boshqa tomonga uzatilmaydi. Shu sababli to'g'ri yechim, saqlanadigan ma'lumot uchun AES, uzatiladigan ma'lumot uchun esa gibrid sxemadir. Bu misol asosiy kasbiy qoidani ko'rsatadi: kriptografiyada «eng kuchli usul» degan tushuncha yo'q, masalaga mos usul bor.
Amaliy topshiriq
8.4-jadvalga tayanib quyidagi vazifalarni bajaring. (a) Uchta amaliy holat uchun mos kriptografik usulni (simmetrik, ochiq kalitli yoki gibrid) tanlang va tanlovingizni ikki-uch jumlada asoslang: noutbukdagi diskni to'liq shifrlash; ikki tashkilot o'rtasida internet orqali maxfiy hujjat yuborish; veb-saytda foydalanuvchi bilan xavfsiz ulanish o'rnatish. (b) Gibrid shifrlashning to'rt qadamini o'z so'zlaringiz bilan ketma-ket yozing va har bir qadamda qaysi kalit ishlatilishini ko'rsating. (v) Nima uchun gibrid sxemada seans kaliti har safar yangidan yaratiladi degan savolga javob yozing.
Nazorat savollari
- 1Ochiq kalitli kriptografiyada kalitlar juftligi qanday vazifani bajaradi?
- 2Ochiq kalitli tizim simmetrik tizimning qaysi ikki muammosini hal qiladi?
- 3RSA va Diffi-Xellman usullari qanday vazifalar uchun ishlatiladi?
- 4Nima uchun katta hajmdagi ma'lumot asimmetrik usulda shifrlanmaydi?
- 5Gibrid shifrlash sxemasining to'rt qadamini tushuntiring.
- 6Ma'lumot shaxsiy kalit bilan shifrlansa, bu nimani isbotlaydi?