Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Щерба В.В. Криптографическая защита информации

.pdf
Скачиваний:
58
Добавлен:
07.01.2021
Размер:
931.06 Кб
Скачать

71

Л е к ц и я 8. ИДЕНТИФИКАЦИЯ

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

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

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

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

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

72

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

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

1.Протоколы идентификации сторон.

2.Идентификация с помощью паролей.

3.Протоколы идентификации типа «запрос-ответ».

4.Протоколы идентификации с нулевым разглашением.

5.Атаки на протоколы идентификации.

Протоколы идентификации сторон

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

Любые протоколы идентификации включают двух участников: 1 – участника А, проходящего идентификацию, которого часто называют доказывающим, и 2 – участника В, контролирующего процедуру и анализирующего поступающую информацию, которого по аналогии называют проверяющим.

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

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

1. Протоколы, основанные на проверке и анализе атрибутной информации. Атрибутная информация – это информация, являющаяся атрибутом субъекта или объекта как элементов некоторой системы. В

73

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

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

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

Идентификация с помощью паролей

Идентификацию с помощью паролей, в отличие от рассматриваемых далее более надежных протоколов, иногда называют «слабой идентификацией». Обычная парольная схема строится следующим образом. Каждый пользователь системы получает свой пароль из последовательности 6–10 символов. Эта последовательность выступает в качестве общего секрета пользователя и системы. Для получения доступа к системному ресурсу пользователь предъявляет свой идентификатор и пароль, которые в общем случае определяют и его полномочия. По существу, идентификатор выполняет роль заявки на идентификацию, а пароль – подтверждения идентичности пользователя. Проверяющий на основании полученного идентификатора осуществляет сравнение предъявленного пароля с соответствующим значением, хранимым системой. При совпадении значений проверяющий выносит положительное решение, в противном случае – завершает идентификацию.

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

74

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

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

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

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

пользователи системы имеют списки одноразовых паролей, которые предварительно рассылаются с применением защищенных каналов связи;

во время идентификации, использующей пароль t, пользователь создает и передает в систему новый пароль (t+1), зашифрованный на ключе, полученном из пароля t;

75

– пользователи системы формируют одноразовые пароли с помощью итеративного применения однонаправленной функции H(w) в соответствии с условием для i-ой идентификации:

wi = H(wi-1) = H(H(H( … H(w0) … ).

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

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

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

Протоколы идентификации типа «запрос-ответ»

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

76

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

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

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

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

Рассмотрим три протокола идентификации типа «запрос-ответ» с использованием симметричных алгоритмов шифрования.

77

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

tA, tВ – временные метки доказывающего А и проверяющего В соответственно;

zA, zB – случайные числа, выбираемые А и В соответственно; id(A), id(B) – идентификаторы А и В соответственно;

Ek, Dk – алгоритмы зашифрования и расшифрования на ключе k соответственно.

Протокол односторонней идентификации с использованием меток времени

1 шаг

А В

id(A), Ek (tA, id(B))

2 шаг

В

Dk (Ek (tA, id(B)).

На первом шаге протокола доказывающий А передает проверяющему свой идентификатор, являющийся заявкой на идентификацию, и шифртекст двух параметров – своей метки времени и идентификатора проверяющего В. Тем самым доказывающий А демонстрирует свое знание общего секрета k. Получив сообщение, пользователь В проверяет соответствие значения метки времени допустимому временному окну и своего идентификатора. Передача значения id(B) как составной части шифртекста необходима для исключения попыток немедленной передачи противником перехваченного сообщения в адрес пользователя А системы.

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

1 шаг

А В

id(A)

2 шаг

В А

zB

3 шаг

А В

Ek (zB, id(B))

4 шаг

В

Dk (Ek (zB, id(B))).

На первом шаге протокола доказывающий А передает проверяющему свой идентификатор, являющийся заявкой на идентификацию. В ответ пользователь В выбирает и передает А случайное число zB, которое выступает в роли временной метки предыдущего протокола. Передачей шифртекста двух параметров zB и id(B) доказывающий А демонстрирует свое знание секрета k. На последнем шаге протокола пользователь В, как и в предыдущем протоколе, выполняет проверку поступивших данных.

78

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

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

1 шаг

А В

id(A)

2 шаг

В А

zB

3 шаг

А В

Ek (zA, zB, id(B))

4 шаг

В

Dk (Ek (zA, zB, id(B)))

5 шаг

В А

Ek (zA, zB, id(А))

6 шаг

А

Dk (Ek (zA, zB, id(B))).

Как и в рассмотренном выше протоколе, пользователь В на 4 шаге выполняет проверку поступивших данных. Далее на 5-ом и 6-ом шаге приведенного протокола пользователи меняются ролями: А становится проверяющим, В – доказывающим. На 5-ом шаге пользователь В формирует шифртекст, используя значение случайного числа zA, переданное пользователем А. На 6-ом шаге протокола пользователь А осуществляет необходимые проверки.

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

при расшифровании запроса проверяющего, зашифрованного на открытом ключе пользователя А;

при проверке пользователем В цифровой подписи А, поставленной «под сообщением».

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

Пусть EA и DA – алгоритмы зашифрования и расшифрования дока-

зывающего А.

 

 

1 шаг

А В

id(A)

2 шаг

В А

EА (z, id(B))

3 шаг

А

DА(EА (z, id(B)))

4 шаг

А В

z.

79

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

Теперь рассмотрим протоколы идентификации с применением цифровой подписи SA и SB.

Протокол односторонней идентификации с использованием меток времени

1 шаг А В id(A), id(B), tA, SA(tA, id(B)).

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

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

1 шаг

А В

id(A)

2 шаг

В А

zB

3 шаг

А В

zA, id(B), SA (zA, zB, id(B)).

Получив на 3 шаге протокола сообщение, пользователь В проверяет соответствие значения пришедшего идентификатора и достоверность цифровой подписи под строкой (zA, zB, id(B)).

80

Л е к ц и я 9. КРИПТОГРАФИЧЕСКИЕ ХЭШ-ФУНКЦИИ

Понятие хэш-функции

Хеширование (иногда хэширование, англ. hashing) – преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины. Такие преобразования также на-

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

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

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

ХФ применяются для решения следующих задач:

при проведении статистических экспериментов;

при тестировании логических устройств;

при построении алгоритмов быстрого поиска;

при проверке целостности записей в базах данных и т. п. Например, для осуществления быстрого поиска нужного сообще-

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

ХФ позволяют обеспечивать решение следующих криптографических задач:

в системах контроля целостности данных при их передаче или хранении;

в системах аутентификации источника данных.

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

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