91
imkonini yaratadi. Ya’ni, parollarni shifrlangan holatda saqlash
ham xavfsizlikni
ta’minlab bera olmaydi.
Parollarni faylda shifrlangan ko’rinishda saqlash o’rniga parolni xeshlangan
qiymatini saqlash ancha xavfsiz usul hisoblanadi. Masalan, Alisaning paroli
Fsa7Yago
ga teng bo’lsa, faylda
𝑦𝑦
=
ℎ
(
𝐹𝐹𝑆𝑆𝑎𝑎
7
𝑌𝑌𝑎𝑎𝑎𝑎𝑒𝑒
)
saqlanadi. Bu yerda
ℎ
-
kriptografik xesh funksiya. Shundan so’ng, tizim Alisadan
parol
𝑥𝑥
ni kiritishni talab
etsa, parol dastlab xeshlanadi va
𝑦𝑦
bilan taqqoslanadi. Ya’ni, agar
𝑦𝑦
=
ℎ
(
𝑥𝑥
)
bo’lsa,
kiritilgan parol to’g’ri deb topiladi va Alisa autentifikasiyadan o’tkaziladi [13].
Parollarni xeshlab saqlaganda buzg’unchi parollar faylini qo’lga kiritganda
ham, haqiqiy parolni aniqlash imkonini pasaytirishga harakat qilish muhim
hisoblanadi. Xesh funksiyalarga qo’yilgan bir tomonlamalik xususiyatiga ko’ra,
xesh qiymatdan haqiqiy parolni topib bo’lmaydi. Albatta, buzg’unchi
ixtiyoriy
parolning xesh qiymatini taqqoslash orqali parolni aniqlashi mumkin (faraz bo’yicha
hujum yoki parolni barcha variantlarini ko’rib chiqish hujumi). Biroq, buzg’unchi
zarur bo’lgan parolni aniqlashi uchun qo’shimcha vaqt va zarur hisoblash amallarini
bajarishi kerak bo’ladi [13].
Faraz qilaylik, buzg’unchida
𝑁𝑁
ta eng keng foydalanilgan parollar,
𝑑𝑑
0
,
𝑑𝑑
1
,
𝑑𝑑
2
, … ,
𝑑𝑑
𝑁𝑁−1
, saqlangan lug’atdan har bir parolni xeshlab:
𝑦𝑦
0
=
ℎ
(
𝑑𝑑
0
),
𝑦𝑦
1
=
ℎ
(
𝑑𝑑
1
), … ,
𝑦𝑦
𝑁𝑁−1
=
ℎ
(
𝑑𝑑
𝑁𝑁−1
)
va
(
𝑑𝑑
0
,
𝑦𝑦
0
)
juftlik ko’rinishidagi yangi lug’atni hosil
qiladi. Shundan so’ng, agar buzg’unchi biror xesh qiymat ko’rinishidagi parolni
“qayta tiklash” uchun uni
𝑁𝑁
ta xesh qiymat bilan taqqoslaydi. Agar moslik
aniqlansa,
u holda parolni haqiqiy qiymati topilgan bo’ladi. Buzg’unchi hosil qilgan yangi
lug’ati asosida ixtiyoriy parollar faylini buzishlari mumkin.
(
𝑑𝑑
0
,
𝑦𝑦
0
)
ko’rinishdagi
ko’plab bepul yoki pullik lug’atlarni Internet tarmog’ida topish mumkin. Bu esa,
mavjud bo’lgan
(
𝑑𝑑
0
,
𝑦𝑦
0
)
ko’rinishdagi lug’at ayrim parollarni aniqlashda
foydalanilishi mumkinligini anglatadi.
Bunday hujumlarni oldini olish yoki buzg’unchi ishini yanada
murakkablashtirish uchun parolga maxfiy bo’lgan kattalikni (
“tuz”, salt
– deb
ataladi) qo’shib, keyin xeshlash tavsiya etiladi. Ya’ni,
𝑦𝑦
=
ℎ
(
𝑆𝑆
,
𝑠𝑠
)
ko’rinishida. Bu
92
yerda,
𝑆𝑆
– parol bo’lsa,
𝑠𝑠
– “tuz”. Bu kattalik, simmetrik blokli shifrlashning
𝐶𝐶𝐵𝐵𝐶𝐶
rejimidagi
𝐿𝐿𝐼𝐼
kattalik hisoblanadi.
𝐿𝐿𝐼𝐼
kattalik bir xil
ochiq matnni turlicha
shifrmatnlar ko’rinishida shifrlash uchun foydalanilgan bo’lsa,
𝑠𝑠𝑎𝑎𝑒𝑒𝑆𝑆
har bir parolni
turli xesh qiymatlar ko’rinishida ifodalash uchun ishlatiladi. “Tuz” parollar faylidagi
har bir fayl uchun turlicha bo’ladi [13]. Bu usulning mohiyatini quyida ko’ramiz.
Faraz qilaylik,
𝑆𝑆
yangi kiritilgan parol bo’lsin. Dastlab tasodifiy
𝑠𝑠𝑎𝑎𝑒𝑒𝑆𝑆
,
𝑠𝑠
generasiya qilinadi va
𝑦𝑦
=
ℎ
(
𝑆𝑆
,
𝑠𝑠
)
hisoblanadi hamda parollar faylida
(
𝑠𝑠
,
𝑦𝑦
)
shaklida saqlanadi. Foydalanilgan
𝑠𝑠
qiymat maxfiy emas va shuning uchun u
parollar faylida ochiq ko’rinishda saqlanadi. Kiritilgan parol
𝑥𝑥
ni tekshirish uchun,
buzg’unchi parollar faylidan
(
𝑠𝑠
,
𝑦𝑦
)
ni oladi. Shundan so’ng, buzg’unchi
ℎ
(
𝑥𝑥
,
𝑠𝑠
)
ni
hisoblaydi hamda uni
𝑦𝑦
bilan taqqoslaydi. Bu
holda taqqoslash
𝑠𝑠𝑎𝑎𝑒𝑒𝑆𝑆
ishlatilmagani
kabi, bir xil amalga oshiriladi. Biroq, buzg’unchiga murakkablik tug’iladi. Ya’ni, u
kerakli parolni olish uchun juda ko’p hisoblashlarni amalga oshirishi talab etiladi.
Faraz qilaylik, A tomonning paroli “tuz”,
𝑠𝑠
𝑎𝑎
bilan birgalikda xeshlangan, B
tomoning paroli esa
𝑠𝑠
𝑏𝑏
bilan birgalikda xeshlangan. Mazkur holda, buzg’unchi A
tomonning parolini o’zidagi parollar lug’ati asosida tekshirishi uchun lug’atidagi
barcha parollarga
𝑠𝑠
𝑎𝑎
ni biriktirib xeshlashi talab etiladi. Biroq, B tomoning
parolini
tekshirish uchun esa o’zidagi barcha parollarga
𝑠𝑠
𝑏𝑏
ni biriktirib xeshlashi talab etiladi.
𝑁𝑁
ta foydalanuvchidan iborat parollar fayli uchun buzg’unchining ishi
𝑁𝑁
faktorialga
ko’payadi. Bundan tashqari, bu holda buzg’unchi o’zi uchun yaratgan
(
𝑑𝑑
0
,
𝑦𝑦
0
)
shaklidagi parollar lug’ati ham foydasiz bo’ladi.
Do'stlaringiz bilan baham: