Как в компьютере хранятся и передаются пароли?
Из телефонного разговора системного администратора с коммерческим директором предприятия:
– Выдвини верхний ящик.
– Он заперт.
– Там в серванте, за бутылкой виски, в стакане, ключ от стола, а в ящике футляр для очков, в нем бумажка с паролем.
© Народная мудрость в Интернет
Самый простой способ хранения пароля – это записать его в файл, откуда при обращении системы авторизации его можно прочитать и сверить с тем, который ввел человек с клавиатуры. Ведь пока на компьютере не произведен вход, никто не может прочесть этот файл. Так раньше думали многие разработчики программного обеспечения. Но преступники, которых принято называть «хакеры», смогли без входа в систему получать доступ к подобным файлам. Например, отдельно подключив жесткий диск или загрузившись с дискеты, можно скопировать файл с хранящимися паролями и прочесть его.
А что если пароль в подобном файле будет храниться в зашифрованном виде? Тогда хакер попытается его раскодировать. Но чем лучше будет закодирован пароль, тем больше сил и времени потратит преступник на его прочтение. Думаю, читатель понимает, что когда в голливудских фильмах какой-то специалист за несколько мгновений взламывает чей-то компьютер, то это всего лишь художественный спецэффект, не имеющий к жизни никакого отношения.
В современных операционных системах пароли хранятся в зашифрованных файлах и сверяются с помощью хеширования2. Это позволяет увеличить надежность сохранения данных авторизации. К примеру, большинство веб-сайтов в Интернете хранят пароли в базе данных в виде 128-битного хеша, вычисленного по алгоритму MD5, который был разработан профессором Л. Ривестом еще в 1991 году. Пароль «12345678» будет храниться в базе данных пользователей как отпечаток «25d55ad283aa400af464c76d713c07ad». Полученный при хешировании MD5 отпечаток пароля обратно в ту же запись «12345678» никак вычислить нельзя, поэтому данный способ хеширования называют необратимым.
Когда вы решите пройти авторизацию на этом веб-сайте, то введете свой логин и пароль. После нажатия кнопки «Войти» логин будет передан открытым текстом по сети, а пароль тут же превратится в вычисленный хеш, и уже значение хеша, тот длинный набор символов, будет передан на веб-сайт. Дальше ряд программ на веб-сайте начнет поиск пользователя с указанным вами логином в базе данных, а когда будет найдено совпадение, то начнется проверка хеша пароля. Если и логин и хеш пароля совпадут, то веб-сайт разрешит вам вход. Если хеш будет хоть как-то отличаться, то вам выйдет всем известная надпись: «логин или пароль указаны неверно».
Существует множество способов хранения и передачи парольной информации по компьютерным сетям. Но все эти способы объединяет один основной принцип, по которому пароль или иная информация для авторизации пользователя прячутся, шифруются, проверяются.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.