Магистерская работа: Обеспечение информационной безопасности информационно-технологической инфраструктуры электронного правительства в Кыргызской Республике

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

·        при производстве аппаратного ключа точно измеряется отклонение частоты его таймера от номинала. Величина этого отклонения учитывается как параметр алгоритма сервера;

·        сервер отслеживает коды, генерируемые конкретным аппаратным ключом, и при необходимости динамически подстраивается под этот ключ.

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

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

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

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

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

·        последовательности паролей, основанные на односторонней функции. Суть данного метода составляет последовательное использование односторонней функции (известная схема Лампорта). Этот метод является более предпочтительным с точки зрения безопасности по сравнению с методом последовательно преобразуемых паролей.

Одним из наиболее распространенных протоколов аутентификации на основе одноразовых паролей является стандартизованный в Интернете протокол S/Key (RFC 1760). Данный протокол реализован во многих системах, требующих проверки подлинности удаленных пользователей, в частности в системе TACACS+ компании Cisco.

2.2.2 Строгая аутентификация

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

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

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

В соответствии с рекомендациями стандарта Х.509 различают процедуры строгой аутентификации следующих типов:

·        односторонняя аутентификация;

·        двусторонняя аутентификация;

·        трехсторонняя аутентификация.

Односторонняя аутентификация предусматривает обмен информацией только в одном направлении. Данный тип аутентификации позволяет:

·        подтвердить подлинность только одной стороны информационного обмена;

·        обнаружить нарушение целостности передаваемой информации;

·        обнаружить проведение атаки типа "повтор передачи";

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

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

Трехсторонняя аутентификация содержит дополнительную передачу данных от доказывающей стороны проверяющей. Этот подход позволяет отказаться от использования меток времени при проведении аутентификации.

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

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

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

·        протоколы строгой аутентификации на основе симметричных алгоритмов шифрования;

·        протоколы строгой аутентификации на основе однонаправленных ключевых хэш-функций;

·        протоколы строгой аутентификации на основе асимметричных алгоритмов шифрования;

·        протоколы строгой аутентификации на основе алгоритмов электронной цифровой подписи.

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

Ниже приводится три примера отдельных протоколов аутентификации, специфицированных в ISO/IEC 9798-2. Эти протоколы предполагают предварительное распределение разделяемых секретных ключей. Рассмотрим следующие варианты аутентификации:

·        односторонняя аутентификация с использованием меток времени;

·        односторонняя аутентификация с использованием случайных чисел;

·        двусторонняя аутентификация.

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

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

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

) Односторонняя аутентификация, основанная на метках времени:

®B : EK (tA, B)

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

) Односторонняя аутентификация, основанная на использовании случайных чисел:

¬B: r B®B E K (r B B)

Участник В отправляет участнику А случайное число rB. Участник А шифрует сообщение, состоящее из полученного числа rB и идентификатора В, и отправляет зашифрованное сообщение участнику В. Участник В расшифровывает полученное сообщение и сравнивает случайное число, содержащееся в сообщении, с тем, которое он послал участнику А. Дополнительно он проверяет имя, указанное в сообщении.

) Двусторонняя аутентификация, использующая случайные значения:

A¬B r B®B:EK ( rA,rB ,B)¬B:EK (r A, r B)

При получении второго сообщения участник В выполняет те же проверки, что и в предыдущем протоколе, и дополнительно расшифровывает случайное число rА для включения его в третье сообщение для участника А. Третье сообщение, полученное участником А, позволяет ему убедиться на основе проверки значений rA и rB, что он имеет дело именно с участником В.

Широко известными представителями протоколов, обеспечивающих аутентификацию пользователей с привлечением в процессе аутентификации третьей стороны, являются протокол распределения секретных ключей Нидхэма и Шредера и протокол Kerberos.

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

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

Односторонняя хэш-функция hK(·) с параметром-ключом К, примененная к шифруемым данным M, дает в результате хэш-значение m (дайджест), состоящее из фиксированного небольшого числа байтов (рис. 2.18).

Рис. 2.18. Применение для аутентификации односторонней хэш-функции с параметром-ключом

Дайджест m = hK(М) передается получателю вместе с исходным сообщением M. Получатель сообщения, зная, какая односторонняя хэш-функция была применена для получения дайджеста, заново вычисляет ее, используя расшифрованное сообщение M. Если значения полученного дайджеста m и вычисленного дайджеста m’ совпадают, значит, содержимое сообщения М не было подвергнуто никаким изменениям. Знание дайджеста не дает возможности восстановить исходное сообщение, но позволяет проверить целостность данных. Дайджест можно рассматривать как своего рода контрольную сумму для исходного сообщения. Однако между дайджестом и обычной контрольной суммой имеется и существенное различие. Контрольную сумму используют как средство проверки целостности передаваемых сообщений по ненадежным линиям связи. Это средство проверки не рассчитано на борьбу со злоумышленниками, которым в такой ситуации ничто не мешает подменить сообщение, добавив к нему новое значение контрольной суммы, Получатель в таком случае не заметит никакой подмены.

На рис. 2.19 показан вариант использования односторонней хэш-функции для проверки целостности данных. В этом случае односторонняя хэш функция h() не имеет параметра-ключа, но зато применяется не просто к сообщению М, а к сообщению, дополненному секретным ключом K, то есть отправитель вычисляет дайджест m = h(M,K) . Получатель, извлекая исходное сообщение M, также дополняет его тем же известным ему секретным ключом K, после чего применяет к полученным данным одностороннюю хэш-функцию h(.). Результат вычислений-дайджест m', который сравнивается с полученным по сети дайджестом m.

Рис. 2.19. Применение односторонней хэш-функции к сообщению, дополненному секретным ключом К.

При использовании для аутентификации односторонних функций шифрования в рассмотренные выше протоколы необходимо внести следующие изменения:

·        функция симметричного шифрования Еk заменяется функцией hk;

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

·        для обеспечения возможности независимого вычисления значения однонаправленной функции получателем сообщения в протоколе 1, метка времени tA должна передаваться дополнительно в открытом виде, а в сообщении 2 протокола 3 случайное число rA должно передаваться дополнительно в открытом виде.

Заметим, что в третье сообщение протокола включено поле А. Результирующий протокол обеспечивает взаимную аутентификацию и известен как протокол SKID 3.

Источник: https://www.bibliofond.ru/detail.aspx?id=865048