8.5. Xesh-funksiyalar va elektron raqamli imzo

Xesh-funksiya tushunchasi va xossalari

Shifrlash maxfiylikni ta'minlaydi, biroq u boshqa muhim savolga javob bermaydi: ma'lumot yo'lda o'zgartirilmaganini qanday tekshirish mumkin? Bu vazifani xesh-funksiyalar hal qiladi. Xesh-funksiya (hash function) ixtiyoriy uzunlikdagi ma'lumotni qat'iy uzunlikdagi qiymatga aylantiruvchi bir tomonlama matematik funksiyadir. Natijada hosil bo'lgan qiymat xesh yoki xesh qiymati deb ataladi (8.10-rasm).

8.10-rasm. Xesh-funksiyaning ishlash tamoyili (muallif ishlanmasi; SecurityTolboom va Ganiyev asosida).
8.10-rasm. Xesh-funksiyaning ishlash tamoyili (muallif ishlanmasi; SecurityTolboom va Ganiyev asosida).

Xesh-funksiyaning bir necha muhim xossasi bor. Birinchidan, u bir tomonlama: xesh qiymatidan dastlabki ma'lumotni tiklab bo'lmaydi. Ikkinchidan, natija uzunligi doimo bir xil bo'ladi: besh belgili so'z ham, besh megabaytlik hujjat ham bir xil uzunlikdagi xesh beradi. Uchinchidan, ma'lumotdagi eng kichik o'zgarish ham xesh qiymatini butunlay o'zgartiradi. To'rtinchidan, ikki xil ma'lumot bir xil xesh berishi (bu hodisa to'qnashuv deb ataladi) amalda juda kam ehtimolli bo'lishi kerak.

Aynan uchinchi xossa xesh-funksiyalarni yaxlitlikni tekshirish vositasiga aylantiradi. Agar jo'natuvchi hujjat bilan birga uning xesh qiymatini ham bersa, qabul qiluvchi olingan hujjatning xeshini qayta hisoblab, ikkalasini solishtiradi. Ular teng bo'lsa, hujjat o'zgartirilmagan; farq qilsa, ma'lumot buzilgan yoki o'zgartirilgan bo'ladi.

Keng qo'llaniladigan xesh-funksiyalar ikki oilaga bo'linadi. MD5 128 bitlik qiymat beradi va u uzoq vaqt ishlatilgan, biroq bugungi kunda kriptografik maqsadlar uchun ishonchsiz deb topilgan. SHA oilasi esa bir necha avloddan iborat: SHA-1 (160 bit, endi kriptografik foydalanish uchun tavsiya etilmaydi), SHA-2 oilasi (jumladan SHA-256 va SHA-512, hozirda eng keng tarqalgan) va SHA-3. O'zbekistonda esa milliy standart sifatida O'z DSt 1106:2009 ham qo'llaniladi.

Xesh-funksiyalarning amaliy qo'llanishi: parollarni saqlash

Xesh-funksiyalarning eng muhim amaliy qo'llanishlaridan biri parollarni saqlashdir. To'g'ri loyihalangan tizim foydalanuvchi parolini hech qachon ochiq holda saqlamaydi. Buning o'rniga u parolning xesh qiymatini saqlaydi. Foydalanuvchi tizimga kirganda, kiritilgan parolning xeshi hisoblanadi va bazadagi xesh bilan solishtiriladi. Ular teng bo'lsa, parol to'g'ri hisoblanadi.

Bunday yondashuvning afzalligi shundaki, ma'lumotlar bazasi o'g'irlansa ham, tajovuzkor qo'liga parollar emas, ularning xeshlari tushadi. Xesh bir tomonlama bo'lgani uchun undan parolni tiklab bo'lmaydi. Bu foydalanuvchilarni katta xavfdan asraydi, chunki ko'p odamlar bir xil parolni bir necha xizmatda ishlatadi.

Biroq bu himoya ham mutlaq emas. Tajovuzkorlar lug'atga asoslangan hujum qo'llaydi: ular keng tarqalgan parollarning xeshlarini oldindan hisoblab, tayyor jadval tuzadi va o'g'irlangan xeshlarni shu jadval bilan solishtiradi. Bunga qarshi tuz (salt) usuli ishlatiladi: har bir parolga tasodifiy qiymat qo'shiladi va shundan keyin xesh hisoblanadi, tasodifiy qiymatning o'zi esa xesh bilan birga saqlanadi. Natijada bir xil parollar ham turli xesh beradi va oldindan tayyorlangan jadvallar foydasiz bo'lib qoladi. Yanada kuchli usul qalampir (pepper) deb ataladi: bunda qo'shiladigan tasodifiy qiymat xesh bilan birga emas, alohida, ko'pincha maxsus apparat modulida saqlanadi.

Xabar autentifikatsiya kodi

Oddiy xesh yaxlitlikni tekshiradi, biroq u yakka o'zi yetarli emas. Sababi shundaki, agar tajovuzkor ma'lumotni ushlab olsa, u ma'lumotni ham, uning xeshini ham o'zgartirib qo'yishi mumkin, chunki xesh hisoblash uchun hech qanday sir talab qilinmaydi. Bu muammoni hal qilish uchun xabar autentifikatsiya kodi (MAC) qo'llaniladi.

MAC ning mohiyati shundaki, xesh qiymati faqat ma'lumotdan emas, balki ma'lumot va maxfiy kalitdan birgalikda hisoblanadi. Kalit faqat jo'natuvchi va qabul qiluvchiga ma'lum bo'lgani uchun, tajovuzkor ma'lumotni o'zgartirsa ham, unga mos MAC qiymatini hisoblay olmaydi. Natijada qabul qiluvchi o'zgartirishni darhol aniqlaydi. MAC odatda simmetrik shifrlash algoritmlari asosida quriladi.

Elektron raqamli imzo

MAC yaxlitlikni ta'minlaydi, biroq uning bir cheklovi bor: kalit ikkala tomonda ham bo'lgani uchun, u imzo vazifasini bajara olmaydi. Agar nizo chiqsa, jo'natuvchi «bu MAC ni men emas, qabul qiluvchining o'zi hosil qilgan» deb da'vo qilishi mumkin, chunki ikkalasida ham bir xil kalit bor. Ushbu muammo rad etish muammosi deb ataladi va u faqat ochiq kalitli kriptografiya orqali hal qilinadi.

Elektron raqamli imzo (ERI) qo'lda qo'yiladigan imzoning elektron muqobili bo'lib, u nafaqat hujjatning yaxlitligini ta'minlaydi, balki imzolovchining o'z imzosidan tonishiga ham yo'l qo'ymaydi. O'zbekiston Respublikasining «Elektron raqamli imzo to'g'risida»gi Qonunida ERI elektron hujjat axboroti asosida yopiq kalitdan foydalangan holda maxsus o'zgartirish natijasida hosil qilinadigan va ochiq kalit yordamida hujjatdagi xatolik yo'qligini aniqlash hamda kalit egasini identifikatsiya qilish imkonini beruvchi imzo sifatida ta'riflanadi.

ERI tizimi ikki muolajadan iborat: imzoni shakllantirish va imzoni tekshirish (8.11-rasm). Imzolash bosqichida avval hujjatning xesh qiymati hisoblanadi, so'ngra bu xesh imzolovchining shaxsiy kaliti bilan shifrlanadi va natijada elektron raqamli imzo hosil bo'ladi. Imzo hujjat bilan birga yuboriladi.

8.11-rasm. Elektron raqamli imzoni shakllantirish va tekshirish bosqichlari (muallif ishlanmasi; Ganiyev asosida).
8.11-rasm. Elektron raqamli imzoni shakllantirish va tekshirish bosqichlari (muallif ishlanmasi; Ganiyev asosida).

Tekshirish bosqichida qabul qiluvchi ikki amalni bajaradi. Birinchidan, u olingan hujjatning xesh qiymatini mustaqil hisoblaydi. Ikkinchidan, imzoni jo'natuvchining ochiq kaliti bilan ochib, undagi xesh qiymatini tiklaydi. So'ngra ikki qiymat solishtiriladi. Agar ular teng bo'lsa, ikki xulosa bir vaqtda chiqadi: hujjat o'zgartirilmagan (yaxlitlik) va uni aynan shaxsiy kalit egasi imzolagan (mualliflik va rad eta olmaslik).

Bu yerda bir savol tug'ilishi mumkin: nima uchun hujjatning o'zi emas, uning xeshi imzolanadi? Sababi tezlikda. Asimmetrik shifrlash sekin ishlagani uchun katta hujjatni to'liq shifrlash uzoq vaqt oladi. Xesh esa hujjat hajmidan qat'i nazar qisqa va qat'iy uzunlikda bo'ladi, shuning uchun uni imzolash tez bajariladi. Ayni paytda xesh hujjatni to'liq ifodalagani uchun himoya kuchi kamaymaydi.

ERI ni qo'lda qo'yiladigan imzo bilan taqqoslash foydali. Oddiy imzoni nusxalash mumkin, ERI ni esa mumkin emas, chunki u har bir hujjat uchun boshqacha bo'ladi. Oddiy imzo hujjat keyinchalik o'zgartirilganini ko'rsatmaydi, ERI esa eng kichik o'zgarishni ham aniqlaydi. Shu bilan birga ERI ning o'ziga xos sharti bor: uning ishonchliligi butunlay shaxsiy kalitning maxfiy saqlanishiga bog'liq. Shaxsiy kalit boshqa shaxs qo'liga tushsa, u kalit egasi nomidan istalgan hujjatni imzolashi mumkin.

Raqamli sertifikat va ishonch zanjiri

Ochiq kalitli kriptografiyada muhim bir savol javobsiz qolgan edi: Alisa olgan ochiq kalit haqiqatan Boburga tegishli ekaniga qanday ishonish mumkin? Agar tajovuzkor o'z ochiq kalitini Boburning kaliti deb tanishtirsa, u Alisaning barcha xabarlarini o'qiy oladi. Bu masalani raqamli sertifikatlar hal qiladi.

Raqamli sertifikat egasining ochiq kalitini uning shaxsi bilan bog'laydigan elektron hujjatdir. Uning ichida ochiq kalit va egasining identifikatori bo'ladi. Sertifikatga ishonch uni bergan uchinchi tomon, ya'ni sertifikat markazi (CA) tomonidan ta'minlanadi: markaz sertifikatni o'z imzosi bilan tasdiqlab, undagi ma'lumot to'g'riligini kafolatlaydi.

Amalda esa ishonch zanjiri qo'llaniladi (8.12-rasm). Ildiz sertifikat markazlari (Root CA) brauzer va operatsion tizimga oldindan o'rnatilgan bo'ladi. Ular o'z vakolatlarini oraliq markazlarga (Intermediate CA) beradi va bu ishonchni imzo bilan tasdiqlaydi. Oraliq markazlar esa aniq saytlar uchun sertifikat beradi. Natijada brauzer sayt sertifikatidan boshlab, zanjir bo'ylab ildiz markazgacha borib, ishonchni tekshiradi.

8.12-rasm. Raqamli sertifikat va ishonch zanjiri (muallif ishlanmasi; SecurityTolboom asosida).
8.12-rasm. Raqamli sertifikat va ishonch zanjiri (muallif ishlanmasi; SecurityTolboom asosida).

Sertifikat olish tartibi quyidagicha. Tashkilot sertifikat so'rovi (CSR) tayyorlaydi, unda o'z ochiq kaliti va identifikatorini ko'rsatadi. Sertifikat markazi domen haqiqatan shu tashkilotga tegishli ekanini tekshiradi va sertifikatni imzolab beradi. Sertifikat o'zini o'zi imzolagan bo'lishi ham mumkin, biroq bunday sertifikatga tashqi ishonch bo'lmaydi va brauzer foydalanuvchini ogohlantiradi, shuning uchun ular odatda faqat sinov muhitida ishlatiladi.

Amaliy misol

Bekzod «Raqamli Yechim» sayti uchun sertifikat oladi va HTTPS ni yoqadi. Dastlab u sinov uchun o'zi imzolagan sertifikat yaratgan edi, biroq brauzer har safar ogohlantirish ko'rsatardi. Otabek buning sababini tushuntiradi: brauzer sertifikatning o'zini emas, uni kim tasdiqlaganini tekshiradi. O'zi imzolagan sertifikat hech qanday tan olingan markazga bog'lanmagani uchun ishonch zanjiri uzilgan bo'ladi. Shu sababli Bekzod tan olingan sertifikat markazidan sertifikat oladi va endi foydalanuvchilar brauzerida ogohlantirish o'rniga qulf belgisi ko'rinadi.

Kasbiy vaziyat

Kompaniyada mijoz bilan nizo kelib chiqadi: mijoz onlayn imzolangan shartnomani «men imzolamadim» deb da'vo qiladi. Bekzod savol beradi: buni qanday isbotlash mumkin? Otabek tushuntiradi: agar hujjat elektron raqamli imzo bilan imzolangan bo'lsa, imzoni mijozning ochiq kaliti bilan tekshirish mumkin. Imzo to'g'ri chiqsa, bu hujjat aynan mijozning shaxsiy kaliti bilan imzolanganini ko'rsatadi, chunki boshqa hech kimda u kalit yo'q. Ayni paytda Otabek muhim ogohlantirish qo'shadi: bu isbot faqat shaxsiy kalit haqiqatan himoyalangan bo'lsa kuchga ega. Agar mijoz kalitini boshqa shaxsga bergan bo'lsa yoki uni himoyasiz saqlagan bo'lsa, masala murakkablashadi. Aynan shu sababli ERI kaliti maxsus qurilmada, masalan USB-token yoki smart-kartada saqlanadi.

Amaliy topshiriq

Quyidagi topshiriqlarni bajaring. (a) Xesh-funksiyaning to'rtta xossasini sanab, har biri qanday amaliy foyda berishini bir jumlada tushuntiring. (b) Parolni ochiq holda saqlash, oddiy xesh bilan saqlash va tuz qo'shilgan xesh bilan saqlash usullarini xavfsizlik darajasi bo'yicha taqqoslovchi jadval tuzing. (v) Elektron raqamli imzoni shakllantirish va tekshirish bosqichlarini o'z so'zlaringiz bilan ketma-ket yozing, har bir bosqichda qaysi kalit ishlatilishini aniq ko'rsating. (g) Nima uchun hujjatning o'zi emas, uning xesh qiymati imzolanishini asoslang.

Nazorat savollari

  1. 1Xesh-funksiyaning to'rtta asosiy xossasini sanang.
  2. 2Parollar nima uchun ochiq holda emas, xesh ko'rinishida saqlanadi?
  3. 3Tuz (salt) usuli qanday hujumga qarshi ishlatiladi va u qanday ishlaydi?
  4. 4MAC oddiy xeshdan nimasi bilan farq qiladi?
  5. 5Elektron raqamli imzo qanday ikki xossani bir vaqtda ta'minlaydi?
  6. 6Raqamli sertifikat qanday muammoni hal qiladi va ishonch zanjiri qanday ishlaydi?