Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_tzis!113.doc
Скачиваний:
37
Добавлен:
09.11.2019
Размер:
2.07 Mб
Скачать

Алгоритм md5

Алгоритм MD5 является разработкой Рона Ривеста (RFC 1321). Алгоритм получает на входе сообщение произвольной длины и создает в качестве выхода дайджест сообщения длиной 128 бит. По настоящее время этот алгоритм остается одним из самых распространеных алгоритмов хеширования. Однако в настоящее время длина его выхода 128 бит является недостаточно большой, чтобы противопостоять атакам прямого перебора. Кроме того, однаружены ряд уязвимостей MD5 против линейного и дифференциального криптоанализа.

7.4. Алгоритм hmac

Использование хеш-функций само по себе не решает проблемы обеспечения целостности и неизменности сообщений, поскольку хеш-значения не зависят от ключа и могут быть также подделаны. Поэтому необходимо строить свертки сообщений, зависящие от секретного ключа, которым владеют отправитель и получатель. В этой целью был разработан алгоритм построения свертки сообщений HMAC, строящий свертку сообщения в зависимости от ключа K. Этот алгоритм описан в документе RFC 2104 и обеспечивает выполнение следующих требований:

  1. Возможность использования без модификации уже имеющихся функций хеширования, в частности, тех функций, для которых существуют проверенные на практике, открытые и широко доступные программные реализации.

  2. Возмолжность легкой замены встроенной функции хеширования на более скоростную или более защищенную, если таковые потребуются.

  3. Сохранение скорости работы алгоритма, близкой к скорости работы сответствующей функции хеширования, без значительного ухудшения показателей скорости.

  4. Возможность применения ключей, и простота работы с ними.

  5. Простота анализа стойкости механизма аутентификации, основанной на этом алгоритме.

На рис. 7.1. дана общая схема работы алгоритма HMAC. В схеме использованы следующие обозначения:

H – встроенная функция хеширования (например, SHA-1).

М – подаваемое на вход сообщние (включая биты заполнения, требуемые алгоритмом хеширования)

Yi – i-й блок М, .

L – число блоков в М.

b – число битов в блоке,

n – длина хеш-кода, генерируемого функцией H,

Kсекретный ключ. Если длина ключа больше b, то ключ подвергается хеш-преобразованию для получения ключа длины n.

K+ ключ K с добавленными впереди нулями, чтобы общая длина стала равна b.

ipad – значение 00110110 (шестнадцатеричное 36), повторенное b/8 раз.

opad – значение 01011010 (шестнадцатеричное 5C), повторенное b/8 раз.

В целом, алгоритм HMAC может быть описан формулой

Рис.7.1. Общая схема работы алгоритма HMAC.

Следует обратить внимание на то, что связывание с ipod означает переключение половины битов К. Точно также, свящывание с opad означает также переключение половины битов К, но уже для другого набора. В итоге из К были получены два разных подключа, сгенерированные из ключа К.

Алгоритм HMAC является простым, и время его работы ненамного превышает времени двухкратного вычисления функции H для каждого из L блоков, т.е. , где - время вычисления функции H.

7.5. Простая аутентификация на основе хеш-значений

Простая аутентификация, используемая на локальном компьютере, заключается в том, что при загрузке операционной системы пользователю предлагается ввести свой идентификатор и пароль. В операционных системах Windows используется база данных пользователей sam (system authetication manager), хранящая идентификаторы всех пользователей и их пароли, преобразованные с помощью хеш-функции. Эта база данных находится в системной папке Windows\System32\Config, и доступ к ней при загруженной ОС блокируется. При вводе пользователем своего логина и пароля, пароль подвергается хеш-преобразованию и сравнивается со значением, хранящемся в базе данных sam. Если значения хеш-сверток совпали, то пользователь допускается к работе, иначе, ему предлагается ввести свои логин и пароль повторно. И хотя окно с полями вводя имени и пароля может появляться сколь угодно долго, операционная система Windows осуществляет проверку только три раза, после чего пользователь теряет возможность входа в компьютер. Для повторения процедуры ввода необходима перезагрузка операционной системы.

Действия взломшика для доступа к компьютеру могут заключаться в том, что он может загрузить другую операционную систему с дискеты или системного диска, скопировать базу данных sam и затем подвергнуть ее взлому с помощью программ типа SamInside, которые, перебирая всевозможные комбинации паролей со скоростью несколько миллионов вариантов в секунду, позволяют вскрыть пароль длины 6-7 символов. Такая атака называется brute force (грубая сила). Если же пароль имеет простую структуру типа Nikolai_1987, то программы такого типа могут вскрыть его, составляя комбинации слов из загружаемого словаря и цифровых сочетаний.

Если пользователь использует пароль сложной структуры, содержащий символы из разных алфавитов (например, английского и русского, а также спецсимволы), то такой пароль невозможно вскрыть при его длине 5-6 символов. Впрочем есть программы, которые обнуляют пароль любого пользователя и позволяют войти в компьютер с пустым паролем. Однако в этом случае, естественно, попытка взлома будет сразу замечена. От такой атаки нет защиты, кроме физического ограничения доступа к данному компьютеру или использования специальных аппаратных устройств аутентификации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]