3.3 Shifrlash, sertifikat, elektron imzo Axborotlarni himoyalash uchun mo‘ljallangan turli apparat va dasturiy maxsulotlarda ko‘pincha bir xil yondashish, usullar va texnik yechimlar ishlatiladi. Bundek xavfsizlikning asos texnologiyalariga audentifikatsiya, malliflashtirish, audit va himoyalangan kanal texnologiyalari kiradilar.
Shifrlash - bu axborot xizmatlarining barcha sohalari uchun katta muammo (ko‘p qirrali tosh), audentifikatsiya bo‘ladimi, malliflashtirish hamda audit bo‘ladimi va himoyalangan kanal vositalarini yaratish bo‘ladimi yoki axborotlarni xavfsiz saqlashmi barchasi uchun u ko‘p qirrali tosh.
Axborotni oddiy “tushunarli” ko‘rinishidan “o‘qib bo‘lmaydigan” shifrlangan ko‘rinishga o‘tkazishning har qanday amali, tabiiyki, shifrdan chiqarish amali bilan to‘ldirilishi kerak, shifrlangan matnga tatbiq etilgandan so‘ng yana uni tushunarli ko‘rinishga keltirish uchun. shifrlash va shifrdan chiqarish amallarining ikkisi kriptotizim deb ataladi.
Shifrlash va shifrdan chiqarish amallari bajariladigan axborotni shartli ravishda “matn” deb ataymiz, vaholanki u axborot sonli massiv yoki grafik ma’lumotlar ham bo‘lishi mumkin.
Shifrlashning zamonaviy algoritmlarida sirli kalit ko‘rsatkichining mavjudligi inobatga olingan. Kriptografiyada Kerkxoff qoidasi qabul qilingan: “Shifrning chidamliligi faqat kalitning sirliligi bilan aniqlanadi”. Shifrlashning barcha standart algoritmlari (masalan, DES, PGP) keng tarqalgan, ularning topilishi oson hujjatlarda batafsil bayoni mavjut, lekin shunga qaramay ularning samarasi pasaymaydi. Buzg‘unchiga shifrlash algoritmi haqida hammasi ma’lum bo‘lishi mumkin, sirli kalitdan tashqari (qayd qilib o‘tish kerakki yana anchagina firmalarning algoritmlari mavjud, lekin ularning bayoni nashr qilinmaydi).
Shifrlash algoritmi ochilgan hisoblanadi, qachonki aniq vaqt oralig‘ida kalitni tanlashga imkon beruvchi amal topilgan bo‘lsa. Ochish algoritmining murakkabligi kriptotizimning muhim ko‘rsatkichlaridan biri hisoblanadi va uni kriptochidamlilik deb ataladi. Kriptotizimning ikki sinfi mavjud – simmetrik va asimmetrik. Shifrlashning simmetrik sxemasida (anaʻnaviy kriptografiya) shifrlashning sirli kaliti shifrdan chiqarishning sirli kaliti bilan mos (bir xil) keladi. Shifrlashning asimmetrik sxemasida (ochiq kalitli kriptografiya) shifrlashning ochiq kaliti shifrdan chiqarishning sirli kalitiga mos kelmaydi.
3.3.1-rasmda simmetrik kriptotizimning ananaviy modeli keltirilgan. Ushbu modelda uchta qatnashchi: jo‘natuvchi, qabul qiluvchi, buzg‘unchi. Jo‘natuvchining masalasi ochiq axborot kanali bo‘yicha himoyalangan ko‘rinishda qandaydir xabarni jo‘natishdan iborat. Buning uchun u k kalitda X ochiq matnni shifrlaydi va shifrlangan Y matnni uzatadi. Qabul qiluvchining masalasi esa Y matnni shifrdan chiqarish va X xabarni o‘qishdan iborat. Tasavvur etiladiki jo‘natuvchining o‘z kalit manbai bor deb. Qabul qiluvchiga hosil qilingan kalit ishonchli kanal orqali oldindan jo‘natiladi. Buzg‘unchining masalasi uzatilayotgan xabarlarni olish va o‘qishdan hamda yolg‘on xabarlarni qo‘shishdan iborat. Model universal bo‘lib – agarda shifrlangan xabarlar kompyuterda saqlanayotgan bo‘lsa va hech qayerga uzatilmasa, jo‘natuvchi va qabul qiluvchi bir insondan iborat bo‘ladi, buzg‘unchi bo‘lib kimdir siz bo‘lmaganingizda kompyuteringizdan foydalangan inson bo‘lishi mumkin. Axborotlarni shifrlashni eng ko‘p tarqalgan standart simmetrik algoritmi DES (Data Encryption Standard). DES algoritmining kriptochidamligini oshirish uchun ba’zida uning kuchaytirilgan varianti ishlatiladi, uni “uchtali DES algoritmi” deb ataladi, u ikkita turli kalitlarni ishlatib uch martali shifrlashni o‘z ichiga oladi. Simmetrik algoritmlarda asosiy muammo kalitlardadir. Birinchidan, ko‘p simmetrik algoritmlarning kriptochidamligi kalit sifatiga bog‘liq, bu esa kalitlarni hosil qilish xizmatiga yuqori talab qo‘yadi. Ikkinchidan, sirli yozishmalarning ikkinchi qatnashchisiga kalitni uzatuvchi kanalning ishonchli bo‘lishi juda ham muhim. n abonentli tizimda “har biri har biri bilan” tamoyilida sirli axborotlar bilan almashishni xohlovchilarga n kalitlar ta’lab etiladi, ular hosil qilinishi kerak va ishonchli ravishda taqsimlanishi kerak. Yaʻni kalitlar soni abonentlar sonining kvadratiga proporsionaldir, abonetlar soni ko‘p bo‘lganda masala juda ham murakkablashib ketadi. Bu muammoni ochiq kalitlarni i shlatishga mo‘ljallangan nosimmetrik algoritmlar hal qiladilar.
3.3.1-rasm. Simmetrik shifrlash modeli.
Ochiq kalitli kriptosxema modelida ham shuningdek uchta qatnashchi: jo‘natuvchi, qabul qiluvchi, buzg‘unchi (3.3.2-rasm). Jo‘natuvchining masalasi ochiq axborot kanali bo‘yicha himoyalangan ko‘rinishda qandaydir xabarni jo‘natishdan iborat. Qabul qiluvchi o‘z tomonida ikki kalitni hosil qiladi: ochiq YE va yopiq D . Yopiq kalit D (yana ko‘pincha shaxsiy kalit ham deb ataladi) ni abonent himoyalangan joyda saqlashi kerak, ochiq YE kalitni esa kim bilan ximoyalangan munosabatlarni quvvatlamoqchi bo‘lganlarning xammaga berishi mumkun. Ochiq kalit ma’tinni shifrlash uchun ishlatiladi, ammo shifrdan chiqarish uchun esa faqat yopiq kalitdan foydalaniladi. Shuning uchun ochiq kalit ximoyalanmagan ko‘rinishda jo‘natuvchiga uzatiladi. Jo‘natuvchi qabul qiluvchining ochiq kalitni qo‘llab X xabarni shifrlaydi va uni qabul qiluvchiga uzatadi.
3.3.2-rasm. Ochiq kalitli kriptosxemaning modeli.
Abonent 1 (3.3.3,a-rasm) o‘z xizmatchilari bilan kam tanilgan tilda sirli yozishma olib borishga qaror qildi deylik, masalan, sanskritda. Buning uchun u sanskrit-o‘zbekcha lug‘atni topib, barcha abonentlariga sanskrit-o‘zbekcha lug‘atni jo‘natadi. Ulardan har biri, lug‘atdan foydalanib sanskritda habar yozadi va 1 abonentga jo‘natadi, u ularni faqat o‘zi biladigan sanskrit-o‘zbekcha lug‘atidan foydalanib o‘zbek tiliga tarjima qiladi. Oydinki, bu yerda ochiq kalit YE vazifasini o‘zbek-sanskrit lug‘ati bajaradi, yopiq kalit D vazifasini esa sanskrit – o‘zbek lug‘ati bajaradi. 2, 3 va 4 abonentlar S2, S3, S4 begona xabarlarni o‘qiy oladilarmi (ulardan har biri 1 abonentga uzatgan)? Umuman olganda yo‘q, chunki buning uchun ularga sanskrit-o‘zbek lug‘ati kerak bo‘ladi, bu lug‘at esa faqat 1 abonentdagina bor. Biroq, nazariy jihatdan bunga imkon mavjud, chunki ko‘p vaqt sarflab sanskrit-o‘zbekcha lug‘atdan o‘zbek-sanskrit lug‘atini tuzib chiqish mumkin. Bunday jarayon juda ko‘p vaqt talab etadi, bu yopiq kalitni ochiq kalit bo‘yicha tiklashga alohida o‘xshashdir.
3.3.3,b-rasmda ochiq va yopiq kalitlarning ishlatilishiga boshqa sxema keltirilgan, uning maqsadi jo‘natiladigan xabarning muallifligini (audentifikatsiya) tasdiqlashdan iborat. Bu holda xabarlar oqimi teskari yo‘nalishga ega, 1 abonentdan ketadi, u D yopiq kalitning egasi, uning bilan yozishma olib boruvchilar esa YE ochiq kalitga egadirlar. Agarda 1 abonent o‘zini autentifitsiyalashtirishni (o‘zining elektron imzosini qo‘yish) xohlasa, bu holda u ma’lum matnni D yopiq kaliti bilan shifrlaydi va shifrlangan xabarini yozishma olib borayotgan abonentga jo‘natadi. Agarda ular 1 abonentning ochiq kaliti bilan shifrdan chiqarishga erishsalar, bu matn uning yopiq kaliti bilan shifrlanganligini isbotlaydi, demak aynan u bu xabarning muallifi ekanligi ayon bo‘ladi. Qayd qilishimiz kerak, bu holda turli abonentlarga manzillangan S2, S3, S4 xabarlar sirli emas, chunki ularning barchasida birdek ochiq kalit mavjut, uning yordamida 1 abonentdan keladigan barcha xabarlarni shifrdan chiqara oladilar.
Agarda ikki tomon audentifikatsiyalashni istasa va ikki yo‘nalishli sirli almashuv kerak bo‘lsa, u holda har bir muloqotdagi tomon o‘zining juft kalitini hosil qiladi va ochiq kalitni yozishma olib boruvchi tomonga jo‘natadi.
Tarmoqdagi n abonentlarning barchasi nafaqat shifrlangan axborotni qabul qilishidan tashqari yana shifrlangan xabarni jo‘natishi ham kerak, buning uchun har bir abonent o‘zining juft YE va D kalitlariga ega bo‘lishi zarur.
3.3.3-rasm. Ochiq va yopiq kalitlarni ishlatilishining ikki sxemasi.
Barchasi bo‘lib tarmoqda 2n kalitlar bo‘ladi: shifrlash uchun n ochiq kalitlar va shifrdan chiqarish uchun n sirli kalit. Shunday qilib moslashuvchanlik masalasi hal qilinadi – simmetrik algoritmdagi kalitlar sonini abonentlar soni bilan kvadratsimon bog‘liqligini nosimmetrik algoritmlarda chiziqli bog‘lanish bilan o‘zgartiriladi. Bunda kalitni sirli yetkazib berish masalasi kerak bo‘lmay qoladi. Buzg‘unchi uchun ochiq kalitni egallashga harakat qilishning ma’nosi qolmaydi, chunki bu matnni shifrdan chiqarishga yoki yopiq kalitni hisoblashga imkon bermaydi.
Vaholangki, ochiq kalit haqidagi axborot sirli emas, uni nusxa olishdan va buzg‘unchining kalitini o‘rnatishdan saqlash kerak, masalan, buzg‘unchi ochiq foydalanuvchi nomidan o‘zining ochiq kalitini o‘rnata olsa, shundan so‘ng u o‘zining yopiq kaliti yordamida barcha xabarlarni shifrdan chiqara olishi mumkin va o‘z xabarlarini uning nomidan jo‘natishi ham mumkin. Agarda foydalanuvchilar bilan ularning ochiq kalitlarining bog‘lovchi ro‘yxati tarqatilsa (byuletenlar, maxsus jurnallar va hokazo) juda oson bo‘lar edi. Biroq bunday yondoshishda biz yana parol holidagi kabi yomon moslashuvchanlikka to‘qnash kelamiz. Bu muammoni yechimi raqamli sertifikatlar texnologiyasidir. Bizning holat uchun sertifikat – bu elektron hujjat, u aniq foydalanuvchini aniq kalit bilan bog‘laydi.
Hozirgi vaqtda taniqli va ko‘p tarqalgan ochiq kalitli kriptoalgoritmlardan biri RSA (Rivest, Shamir, Adleman), bunday nom olishining sababi, algoritmni yaratgan mutaxassislarning bosh xariflaridan tashkil topgan.
Xavfsizlikning ko‘pchilik texnologiyalarida shifrlashning bir taraflama funksiyasi ishlatiladi (one-way function), yana shuningdek xesh – (hash function ) deb ataluvchi yoki daydjest-funksiyalar (digest function) ishlatiladi.
Bir taraflama funksiyani axborotlarni shifrlashga tatbiq etilishi natijasida qayd qilingan baytlar sonidan tashkil topgan qiymatli (daydjest) natija beradi (26.4,a-rasm). Daydjest dastlabki matn bilan birga uzatiladi. Xabarni qabul qiluvchi daydjestni hosil qilishda shifrlashning qanday bir taraflama funksiyasi (BTSHF) ishlatilganligini bilib, xabarni shifrlanmagan qismini ishlatish orqali uni qaytadan hisoblab chiqadi. Agarda hisoblangan va olingan dayjestlarning qiymatlari bir xil bo‘lsa, demak, xabar hech qanday o‘zgarishsiz qabul qilingan. Dayjestni bilish asl xabarni tiklash imkoniyatini bermaydi, ammo u axborotlarning butunligini bilish imkonini beradi.
Dayjest o‘z navbatida dastladki xabar uchun nazorat sonlar yig‘indisi bo‘lib xizmat qiladi. Biroq jiddiy farqlari ham mavjud. Nazorat sonlar yig‘indisini ishlatish, ishonchsiz yo‘llaridan uzatilgan xabarlarni butunligini tekshirish vositasidir. Bu vosita buzg‘unchilar bilan kurashishga qaratilgan vosita emas, ularga bu holatda nazorat sonlar yig‘indisining yangi qiymatini qo‘shib xabarni o‘zgartirib qo‘yishga hech narsa halaqit qilmaydi. Qabul qiluvchi bu holda hech qanday o‘zgartirishni bilmay qoladi. Nazorat sonlar yig‘indisidan farqli, dayjestni hisoblashda esa sirli kalit ta’lab etiladi. Agarda dayjestni hosil qilish uchun faqat jo‘natuvchi va qabul qiluvchi biladigan ko‘rsatkich bilan bir taraflama funksiya ishlatilgan holat bo‘lsa, dastlabki xabarni har qanday o‘zgartirilishi darhol ma’lum bo‘ladi.