Введение в криптографию
[an error occurred while processing this directive]

Удобно, красиво, но ... - часть 3


Теперь посмотрим, как защищаются пароли пользователя в операционных системах (ОС) MicrosoftWindows95 первых версий (до OSR 2).

Большинство современных сетевых ОС являются многопользовательскими, это и Novell NetWare, и Microsoft Windows NT, и т.д. Для разграничения доступа пользователей к своим ресурсам эти ОС требуют от последних доказать свою подлинность. Делается это с помощью пароля, который известен и ОС, и пользователю. Ясно, насколько важно системе для обеспечения ее безопасности надежно и недоступно для постороннего доступа хранить информацию о паролях пользователей.

ОС Microsoft Windows 95 не является многопользовательской и не предоставляет возможность пользователям разделять свои ресурсы. Тем не менее, для удобства работы она запрашивает у пользователя при входе в систему его имя и пароль. Но если он ничего не ответит (нажмет кнопку ``Cancel''), ОС все равно разрешит ему работать дальше. Для чего же тогда запрашивается пароль?

Дело в том, что ПК может работать в локальной вычислительной сети (ЛВС), где ему доступны ресурсы или серверы, для обращения к которым требуются пароли, причем, возможно, различные. Чтобы пользователю не нужно было их все запоминать, ОС Microsoft Windows 95 запоминает пароли для доступа к ресурсам ЛВС в специальном файле с именем ``имя_пользователя.pwl''. В этом файле данные шифруются на том самом пароле, который система запрашивает у пользователя при его входе в систему. Если пароль введен правильно, то в дальнейшем ОС сама подставляет соответствующий пароль при запросе пользователя на доступ к ресурсам или серверам ЛВС.

Данные в .pwl файлах шифруются следующим образом []. Из пароля пользователя по алгоритму шифрования RC4 вырабатывается . Каждый пароль на доступ к соответствующему ресурсу вместе с некоторой служебной информацией суммируется побитно с полученной гаммой. То есть каждый раз при шифровании используется одна и та же гамма. Если учесть, что .pwl файл содержит зашифрованную запись, начинающуюся с имени пользователя, дополненного до 20 символов пробелами, то задача вскрытия пароля становится элементарной. Получив первые 20 знаков гаммы, мы можем прочитать любой сохраненный в файле пароль (учитывая то обстоятельство, что редко когда используются пароли длиной более 10 символов).

Следует отметить, что сам по себе алгоритм RC4 довольно сложный, и в данном случае использовались слабости не самого алгоритма, а схемы его применения, а именно многократное использование одной гаммы.

Next: Сколько дырок в вычислительных

Up: 6.4. Поучимся на чужих

Previous: 6.4. Поучимся на чужих

Contents:




- Начало -  - Назад -  - Вперед -


[an error occurred while processing this directive]