бирор кўринишда бошқариши керак. Бироқ, паролни ҳақиқий ҳолатда файлда
сақлаш жуда ҳам ёмон ғоя. Сабаби, мазкур ҳолда бу
пароллар файли
бузғунчининг асосий мақсадига айланади. Бу ерда ҳам, ахборот
хавфсизлигини кўплаб соҳаларида бўлгани каби, бу муаммони криптография
еча олади.
Паролни файлда симметрик криптотизим ёрдамида шифрланган ҳолатга
сақлаш мақбул ишдек кўриниши мумкин. Бироқ, паролни текшириш учун
ушбу файл дешифрланиши шарт ва дешифрлаш калити бошқа бир файлда
сақланиши зарур. Бу эса, ушбу калитлар файлини бузғунчи
томонидан
ўғирланиши мумкинлиги эҳтимолини яратади. Яъни, паролларни шифрланган
ҳолатда сақлаш энг муҳим усул саналмас экан.
Паролни файлда шифрланган кўринишда сақлаш ўрнига паролни
хэшланган қийматини сақлаш анча хавфсиз усул. Масалан, А томоннинг
пароли FSa7Yago га тенг бўлса, биз файлда 𝑦𝑦 = ℎ(𝐹𝐹𝐹𝐹𝐹𝐹7𝑌𝑌𝐹𝐹𝑌𝑌𝑌𝑌) ни сақлаймиз.
Бу ерда ℎ - криптографик хэш функция. Шундан сўнг, тизим Алисадан парол
𝑥𝑥 ни киритишни талаб этса, парол дастлаб хэшланади ва 𝑦𝑦 билан таққосланади.
Яъни, агар 𝑦𝑦 = ℎ(𝑥𝑥) бўлса, киритилган парол тўғри деб топилади ва
фойдаланувчи А аутентификациядан ўтказилади.
Паролни хэшла сақлашдан асосий мақсад, бузғунчи пароллар сақланган
файлни қўлга киритган тақдирда ҳам, ҳақиқий паролни ўрнига
унинг хэш
қийматини қўлга киритади. Хэш функцияларга қўйилган бир томонламалик
хусусиятига кўра, хэш қийматдан ҳақиқий паролни топишнинг имкони
мавжуд эмас. Албатта, бузғунчи ихтиёрий парол олиб уни хэшлашдан олинган
қийматини солишитириш орқали уни аниқлаши мумкин (фараз бўйича ҳужум
ёки паролни барча вариантларини кўриб чиқиш ҳужуми). Бироқ, бузғунчи
зарур бўлган паролни аниқлаши учун етарлича вақт ва зарур амалларни
бажариши талаб этилади.
Фараз қилайлик, бузғунчида 𝑁𝑁 та энг кенг фойдаланилган пароллар,
𝑑𝑑
0
, 𝑑𝑑
1
, 𝑑𝑑
2
, … , 𝑑𝑑
𝑁𝑁−1
,
сақланган луғат мавжуд. Шундан сўнг луғатдаги ҳар бир
паролни хэшлайди: 𝑦𝑦
0
= ℎ(𝑑𝑑
0
), 𝑦𝑦
1
= ℎ(𝑑𝑑
1
), … , 𝑦𝑦
𝑁𝑁−1
= ℎ(𝑑𝑑
𝑁𝑁−1
) ва (𝑑𝑑
0
, 𝑦𝑦
0
)
жуфтлик кўринишидаги янги луғатни ҳосил қилади.
Шундан сўнг, агар бузғунчи бирор хэш қиймат кўринишидаги паролни
“орқага қайтариш” учун уни 𝑁𝑁 та хэш қиймат билан солиштириб кўради. Агар
мослик аниқланса, у ҳолда паролни ҳақиқий қиймати топилади.
Бундан
ташқари, бузғунчи ҳосил қилган янги луғати асосида ихтиёрий пароллар
файлигини бузиш учун фойдаланиши мумкин. Бундан ташқари, (𝑑𝑑
0
, 𝑦𝑦
0
)
кўринишдаги кўплаб луғатларни Интернет тармоғи орқали бепул ёки пуллик
кўринишларда топиш мумкин. Бу эса, мавжуд бўлган (𝑑𝑑
0
, 𝑦𝑦
0
) кўринишдаги
луғатни бир марта яратиб, сўнг ундан барча пароллар файлини бузиш учун
фойдаланиш мумкинлигини англатади.
Хўш, ушбу ҳужумни олдини олиш ёки бузғунчи ишини янада
мураккаблаштиришнинг бирор усули борми? Албатта бор. Бунинг учун
паролни хэшлаб сақлашда унга махфий бўлган катталикни (
“туз”, salt – деб
аталади) қўшиб, кейин хэшлаш тавсия этилади. Яъни, 𝑦𝑦 = ℎ(𝑝𝑝, 𝑠𝑠) кўринишида.
Бу ерда, 𝑝𝑝 – парол бўлса, 𝑠𝑠 – “туз”. Бу
катталик, симметрик блокли
шифрлашнинг 𝐶𝐶𝐶𝐶𝐶𝐶 режимидаги 𝐼𝐼𝐼𝐼 катталик ҳисобланади. 𝐼𝐼𝐼𝐼 катталик бир хил
очиқ матнни турлича шифрматнлар кўринишида шифрлаш учун
фойдаланилган бўлса, 𝑠𝑠𝐹𝐹𝑠𝑠𝑠𝑠 ҳам бир паролни турли хэш қийматлар кўринишида
ифодалаш учун ишлатилади. “туз” пароллар файлидаги ҳар бир файл учун
турлича бўлади. Хўш, мазкур усул қандай қилиб бузғунчининг ишига салбий
таъсир кўрсатади.
Фараз қилинсин, 𝑝𝑝 янги киритилган парол бўлсин. Биз тасодифий 𝑠𝑠𝐹𝐹𝑠𝑠𝑠𝑠,
𝑠𝑠 ни генерация қиламиз ва 𝑦𝑦 = ℎ(𝑝𝑝, 𝑠𝑠) ҳисоблаймиз ва пароллар файлида (𝑠𝑠, 𝑦𝑦)
шаклида сақлаймиз. Бу ўринда фойдаланилган 𝑠𝑠 қиймат махфий эмас, яъни,
пароллар файлида очиқ кўринишда сақланади. Киритилган парол 𝑥𝑥 ни
текшириш учун, пароллар файлидан (𝑠𝑠, 𝑦𝑦) олинади ва ℎ(𝑥𝑥, 𝑠𝑠) ни ҳисоблайди
ва уни 𝑦𝑦 билан таққослайди. Бу ҳолда таққослаш 𝑠𝑠𝐹𝐹𝑠𝑠𝑠𝑠 ишлатилмагани каби,
бир хил амалга оширилади. Бироқ, бузғунчига мураккаблик туғилади. Яъни, у
керакли паролни олиш учун жуда кўп ҳисоблашларни амалга ошириши талаб
этилади. Фараз қилайлик, А томоннинг пароли “туз” 𝑠𝑠
𝑎𝑎
билан
биргаликда
хэшланган ва B томонинг пароли эса 𝑠𝑠
𝑏𝑏
билан биргаликда хэшланган. Мазкур
ҳолда, бузғунчи А томоннинг паролини ўзидаги пароллар луғати асосида
текшириши учун луғатидаги барча паролларга 𝑠𝑠
𝑎𝑎
ни бириктириб,
кейин
хэшлаши талаб этилади. Бироқ, Б томонинг паролини текшириш учун эса
ўзидаги барча паролларга 𝑠𝑠
𝑏𝑏
ни бириктириб, хешлаши талаб этилади. 𝑁𝑁 та
фойдаланувчидан иборат пароллар файли учун, бузғунчининг иши 𝑁𝑁 факторга
кўпаяди. Бундан ташқари, бузғунчи ўзи учун яратган (𝑑𝑑
0
, 𝑦𝑦
0
) шаклидаги
пароллар луғати ҳам фойдасиз бўлади.
Do'stlaringiz bilan baham: