Ключевой хеш-код аутентификации сообщения (HMAC), основанный на алгоритме хеширования Keccak. Стойкость алгоритма Keccak и случайный оракул
48. Ключевой хеш-код аутентификации сообщения (HMAC), основанный на криптографически стойкой функции хеширования: пример (IPSec).
49. Ключевой хеш-код аутентификации сообщения (HMAC), основанный на симметричном шифре: пример (AES-CCMP).
50. Аутентификация информации: идентификация, аутентификация, авторизация. Модель системы аутентификации. Протокол как метод аутентификации. Протокол с запросом и ответом. Атаки на протоколы аутентификации.
Идентификация в информационных системах — процедура, в результате выполнения которой для субъекта идентификации выявляется его идентификатор, однозначно идентифицирующий этого субъекта в информационной системе. Для выполнения процедуры идентификации в информационной системе субъекту предварительно должен быть назначен соответствующий идентификатор (т.е. проведена регистрация субъекта в информационной системе). Процедура идентификации напрямую связана с аутентификацией: субъект проходит процедуру аутентификации, и если аутентификация успешна, то информационная система на основе факторов аутентификации определяет идентификатор субъекта. При этом достоверность идентификации полностью определяется уровнем достоверности выполненной процедуры аутентификации.
Аутентификация — процедура проверки подлинности, доказательства обладания заявленным свойством.
Авторизация — предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий Модель системы аутентификации:: P,V – участники процедуры аутентификации(V – проверяющий, P- проверяемый) E – криптоаналитик, атакующий. В основе протокола идентификации содержится некоторый алгоритм проверки того факта, что идентифицируемый объект (пользователь, устройство, процесс, …), предъявивший некоторое имя (идентификатор), знает секретную информацию, известную только заявленному объекту, причем метод проверки является, конечно, косвенным, то есть без предъявления этой секретной информации. Обычно с каждым именем (идентификатором) объекта связывается перечень его прав и полномочий в системе, записанный в защищенной базе данных. В этом случае протокол идентификации может быть расширен до протокола аутентификации, в котором идентифицированный объект проверяется на правомочность заказываемой услуги.
Часть протоколов аутентификации основана на принципе "запрос-ответ", Традиционная методика схемы "запрос-ответ" выглядит следующим образом:
Типы атак на протоколы:
51. Аутентификация сущности. Протоколы с нулевым разглашением: итеративность доказательства, пример, связь с криптографией с открытым ключом. Аутентификация сущности – это процесс обмена информации(т. е. протокол), в ходе которого пользователь устанавливает подлинность другого пользователя.
Протокол с нулевым разглашением исключает возможность получения злоумышленником или проверяющей стороной информации, которая используется для прохождения аутентификации. При использование подобного протокола (Пещера Али-Бабы), аутентифицируемая сторона пользуется секретом в половине случаев. Поэтому чтобы увеличить точность проверки протокол повторяется n раз давая 1-(½)n вероятность правильной аутентификации. Таким образом для достижения высокой вероятности аутентификации протокол должен работать итеративно с каждой итерацией повышая вероятность подлинности сущности. Обычно в качестве секрета аутентифицируемой стороны выступает знание решения NP-задачи (в виде однонаправленной функции с секретом): другими словами, если аутентифицируемая сторона может осуществить обратное преобразование заранее оговоренной однонаправленной функции, то она успешно проходит аутентификацию (и поскольку между сторонами передаются только результаты прямого и обратного преобразования, то разглашения секрета не происходит)
Пример: Назовем проверяющую сторону Петей, а доказывающую сторону Димой (в англоязычной литературе обычно используются пары Peggy (от prover) и Victor (от verifier). Допустим Диме известен Гамильтонов цикл в большом графе G. Пете известен граф G, но он не знает гамильтонова цикла в нём. Дима хочет доказать Пете, что он знает гамильтонов цикл, не выдавая при этом ни самого цикла, ни какой-либо информации о нём (возможно Петя хочет купить этот гамильтонов цикл у Димы, но перед этим удостовериться, что он у Димы действительно есть). Для этого Петя и Дима совместно выполняют несколько раундов протокола: Вначале Дима создает граф H, изоморфный G. Преобразовывание гамильтонова цикла между изоморфными графами — тривиальная задача, поэтому если Диме известен гамильтонов цикл в G, то он также знает гамильтонов цикл в H.
В каждом раунде Петя выбирает новый случайный бит, который неизвестен Диме, поэтому чтобы Дима мог ответить на оба вопроса, нужно чтобы H был в самом деле изоморфен G и Дима должен знать гамильтонов цикл в H (а значит также и в G). Поэтому после достаточного числа раундов, Петя может быть уверен в том, что у Димы действительно есть гамильтонов цикл в G. С другой стороны, Дима не раскрывает никакой информации о гамильтоновом цикле в G. Более того, Пете сложно будет доказать кому-либо ещё, что он сам или Дима знает гамильтонов цикл в G.
|