Page 42 - 4394
P. 42
операційна система обчислює h(Х) і порівнює зі значенням,
записаним у відповідній області для A; саме значення х в той же час
усувається з пам'яті процесора;
якщо значення збігаються, то відкривається сесія
користувача А.
Словникова атака є найпростішим методом розкриття паролів
в операційних системах. Атака має на меті не відшукання пароля
певного користувача, а якогось пароля, використаного в цій
системі. Це є так звані слабкі паролі (дати народжень, імена тощо).
Атака відбувається так:
спочатку обчислюють значення функції h для слів з
великого словника, який охоплює слова з різних мов, географічні й
власні назви; крім того, добре увести в словник слова, записані з
невеликими змінами або помилками; список цих значень можна
заготувати наперед;
копіюють область, яка містить значення функції А для
паролів користувачів (у багатьох системах вона доступна для
читання);
на власному комп'ютері порівнюють зчитані та обчислені
значення; відшукавши відповідну пару, можна ідентифікувати
пароль одного користувача.
З метою захисту паролів від атаки діють так. Для кожного
користувача А утворюють запис, який складається з наступних
компонентів:
випадково вибраної послідовності r сталої довжини
А
(зокрема, для операційної системи UNIX ця довжина дорівнює 12
бітів);
значення хешувальної функції для тексту, утвореного з
пароля користувача А та послідовності r .
А
Наприклад, якщо послідовність r має 12 бітів, то відповідний
А
12
словник повинен мати список 2 додаткових значень для кожного
пароля.
Варіант хешувальної функції з ключем називають кодом
достовірності [4]. Якщо h - хешувальна функція з ключем K, то
код достовірності повідомлення X дорівнює h(XK), де ХК -
об'єднання текстів X і К. Той факт, що h(XK) отримано справді з X,
може перевірити лише той, хто має ключ K. Код достовірності в
криптографії аналогічний до поняття контрольної суми, яке вводять
під час розгляду проблем завадостійкого кодування. Контрольну
42