Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Атаки переборного типа




Криптоанализ

MD5-хеши

Шаг 5. Результат вычислений

Шаг 4. Вычисление в цикле

Заносим в блок данных элемент n из массива. Сохраняются значения A, B, C и D, оставшиеся после операций над предыдущими блоками (или их начальные значения, если блок первый).

AA = A

BB = B

CC = C

DD = D

Суммируем с результатом предыдущего цикла:

A = AA + AB = BB + BC = CC + CD = DD + D

После окончания цикла необходимо проверить, есть ли ещё блоки для вычислений. Если да, то изменяем номер элемента массива (n++) и переходим в начало цикла.

Результат вычислений находится в буфере ABCD, это и есть хеш. Если выводить побайтово, начиная с младшего байта A и закончив старшим байтом D, то мы получим MD5-хеш.

Хеш содержит 128 бит (16 байт) и обычно представляется как последовательность из 32 шестнадцатеричных цифр.

Несколько примеров хеша:

MD5("md5") = 1bc29b36f623ba82aaf6724fd3b16718

Даже небольшое изменение входного сообщения (в нашем случае на один бит: ASCII символ «5» с кодом 0x3516 = 00011010 1 2 заменяется на символ «4» с кодом 0x3416 = 00011010 0 2) приводит к полному изменению хеша. Такое свойство алгоритма называется лавинным эффектом.

MD5("md4") = c93d3bf7a7c4afe94b64e30c2ce39f4f

Пример MD5-хеша для «нулевой» строки:

MD5("") = d41d8cd98f00b204e9800998ecf8427e

На данный момент существуют несколько видов «взлома» хешей MD5 — подбора сообщения с заданным хешем:

§ Перебор по словарю

§ Brute-force

§ RainbowCrack

Для полного перебора или перебора по словарю можно использовать программы PasswordsPro, MD5BFCPF, John the Ripper. Для перебора по словарю существуют готовые словари.

RainbowCrack — ещё один метод взлома хеша. Он основан на генерировании большого количества хешей из набора символов, чтобы по получившейся базе вести поиск заданного хеша. Хотя генерация хешей занимает много времени, зато последующий взлом производится очень быстро.

39. Решение задачи безопасного хранения паролей в ОС Windows: NT hash.

В настоящее время операционные системы Windows 2000 и Windows XP фирмы Microsoft, основанные на ядре Windows NT, получили очень широкое распространение. Процент этих ОС среди всех Windows-систем очень велик и продолжает расти, поэтому проблема их безопасности является одним из важных аспектов современной компьютерной безопасности.

Формирование NT Hash:

1. Пароль пользователя преобразуется в Unicode-строку.

2. Генерируется хэш на основе данной строки с использованием алгоритма MD4.

3. Полученный хэш шифруется алгоритмом DES, причем в качестве ключа используется RID (т.е. идентификатор пользователя). Это необходимо для того, чтобы два пользователя с одинаковыми паролями имели разные хэши. Напомним, что все пользователи имеют разные RID-ы (RID встроенной учетной записи Администратора равен 500, встроенной учетной записи Гостя равен 501, а все остальные пользователи последовательно получают RID-ы, равные 1000, 1001, 1002 и т.д.).

Для повышения безопасности хранения паролей, начиная с 3-го Service Pack'a в Windows NT (и во всех последующих NT-системах, вплоть до Windows 2003), полученные хэши дополнительно шифруются еще одним алгоритмом с помощью утилиты syskey. Т.е. к вышеописанным алгоритмам добавляется еще 4-й шаг - получение с помощью syskey нового хэша от хэша, полученного на шаге 3.

40. Решение задачи безопасного хранения паролей, понятие «соли».

Виды хранения паролей:

- Хранить пароли в БД в открытом виде.

- Использовать обычные хэши crc32, md5, sha1

- Использовать функцию crypt()

- Использовать статическую «соль», конструкции вида md5(md5($pass))

- Использовать уникальную «соль» для каждого пользователя.

Статическая соль и тому подобные конструкции могут служить достаточно хорошо… пока структура этих конструкций и соль хранятся в тайне.

41. Аутентификация информации: идентификация, аутентификация, авторизация. Модель системы аутентификации. Протокол как метод аутентификации. Протокол с запросом и ответом. Атаки на протоколы аутентификации.

Аутентифика́ция (англ. Authentication) — процедура проверки подлинности, например: проверка подлинности пользователя путём сравнения введённого им пароля с паролем в базе данных пользователей; подтверждение подлинности электронного письма путём проверки цифровой подписи письма по ключу шифрования отправителя; проверка контрольной суммы файла на соответствие сумме, заявленной автором этого файла.

Идентификация (от латинского identifico — отождествлять): присвоение субъектам и объектам идентификатора и / или сравнение идентификатора с перечнем присвоенных идентификаторов. Например, представление человека по имени отчеству - это идентификация.

Аутентификация (от греческого: αυθεντικός; реальный или подлинный): подтверждение подлинности чего-либо или кого либо. Например, предъявление паспорта - это подтверждение подлинности заявленного имени отчества.

Авторизация является функцией определения прав доступа к ресурсам и управления этим доступом. Авторизация — это не то же самое что идентификация и аутентификация: идентификация — это называние лицом себя системе; аутентификация — это установление соответствия лица названному им идентификатору; а авторизация — предоставление этому лицу возможностей в соответствие с положенными ему правами или проверка наличия прав при попытке выполнить какое-либо действие. Например, авторизацией являются лицензии на осуществление определённой деятельности.

Разработка математической модели предполагает: разработку модели, которая учитывала бы ключевые особенности объекта исследования и выбор диагностических признаков; проведения анализа этих диагностических признаков и разработка методов для предварительной обработки. В случае использования статистического подхода - исследовать статистические характеристики диагностических признаков. Эти исследования позволяют сделать выводы об адекватности модели.

HTTP (сокр. от англ. HyperText Transfer Prоtocоl — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов). Основой HTTP является Технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом. HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов. В 2006 году в Северной Америке доля HTTP-трафика превысила долю P2P-сетей и составила 46 %, из которых почти половина — это передача потокового видео и звука

HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC, WebDAV.

Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д. (В частности для этого используется HTTP-заголовок.) Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.

HTTP — протокол прикладного уровня, аналогичными ему являются FTP и SMTP. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов HTTP использует глобальные URI. В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.

Основными атаками на протоколы аутентификации являются:

- самозванство (impersonation). Заключается в том, что один пользователь пытается выдать себя за другого;

- повторная передача (replay attack). Заключается в повторной передаче аутентификационных данных каким-либо пользователем;

- подмена стороны аутентификационного обмена (interleaving at-tack). Злоумышленник в ходе данной атаки участвует в процессе аутентификационного обмена между двумя сторонами и имеет возможность модификации проходящего через него трафика;

- отражение передачи (reflection attack). Один из вариантов предыдущей атаки, в ходе которой злоумышленник в рамках данной сессии протокола пересылает обратно перехваченную информацию;

- вынужденная задержка (forced delay). Злоумышленник перехватывает некоторую информацию и передает ее спустя некоторое время;

- атака с выборкой текста (chosen-text attack). Злоумышленник перехватывает аутентификационный трафик и пытается получить информацию о долговременных ключах.

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

Кроме перечисленных атак на протоколы аутентификации существует атака следующего вида: после успешного прохождения аутентификации между двумя пользователями и установления соединения нарушитель «выкидывает» какого-либо пользователя из соединения и продолжает работу от его имени.

42. Аутентификация сущности. Протоколы с нулевым разглашением: итеративность доказательства, пример.

Аутентификация взаимодействующих сущностей реализуется с помощью процедуры двойного или тройного квитирования установления связи, аналогичной механизмам синхронизации последовательных номеров, используемым в некоторых протоколах. Одиночное квитирование обеспечивает только одностороннюю аутентификацию, и не может дать гарантий без синхронизации часов. Двойное квитирование может обеспечить взаимную аутентификацию, но без взаимной уверенности в синхронизации часов. Тройное квитирование обеспечивает взаимную аутентификацию взаимодействующих процессов, при которой нет необходимости синхронизировать часы. И здесь, снова, аутентификация обычно полагается на механизмы

управления криптографическими ключами при ассоциировании аутентифицируемой сущности с ключом. Базовая аутентификация справочника в Х.500(Х.509) дает нам примеры одиночного, двойного и тройного квитирования при аутентификации с использованием технологий управления асимметричными ключами, хотя конкретные протоколы, описанные в этом стандарте содержат несколько небольших ошибок. Кроме того, одиночное и двойное квитирование включает передачу временных меток, и вытекающая из этого зависимость от синхронизации часов потенциально является проблемой в среде распределенных систем.

Доказательство с нулевым разглашением (информации) (англ. Zero-knowledge proof) — это интерактивный протокол, позволяющий одной из сторон (проверяющему, verifier) убедиться в достоверности какого-либо утверждения (обычно математического), не получив при этом никакой другой информации от второй стороны (доказывающего, prover).

В криптографии Доказательство с нулевым разглашением (информации) (англ. Zero-knowledge proof) — это интерактивный протокол, позволяющий одной из сторон (проверяющему, verifier) убедиться в достоверности какого-либо утверждения (обычно математического), не получив при этом никакой другой информации от второй стороны (доказывающего, prover).

Доказательство с нулевым разглашением должно обладать тремя свойствами:

1. Полнота: если утверждение действительно верно, то доказывающий убедит в этом проверяющего.

2. Корректность: если утверждение неверно, то даже нечестный доказывающий не сможет убедить проверяющего за исключением пренебрежимо малой вероятности.

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

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




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 728; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.