Лекция 5 ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ.ppt
- Количество слайдов: 60
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Любой объект компьютерной системы (КС) может быть идентифицирован числом, словом или строкой символов. Если объект имеет некоторый идентификатор, зарегистрированный в сети, его называют законным (легальным), другие объекты относятся к незаконным (нелегальным).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Идентификация в информационных системах — присвоение субъектам и объектам идентификатора и/или сравнение идентификатора с перечнем присвоенных идентификаторов Аутентификация — проверка принадлежности субъекту доступа предъявленного им идентификатора; подтверждение подлинности
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Авторизация: Процесс предоставления определенному лицу прав на выполнение некоторых действий. Процесс подтверждения (проверки) прав пользователей на выполнение некоторых действий. Проверка прав пользователя на осуществление транзакций, проводимая в точке обслуживания, результатом которой будет разрешение или запрет операций клиента (например, совершения акта купли-продажи, получения наличных, доступ к ресурсам или службам).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Авторизация — это не то же самое, что идентификация и аутентификация: идентификация — это называние лицом себя системе; аутентификация — это установление соответствия лица названному им идентификатору; а авторизация — предоставление этому лицу возможностей в соответствии с положенными ему правами или проверка наличия прав при попытке выполнить какое-либо действие.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Идентификация объекта выполняется в том случае, когда объект делает попытку войти в сеть. Если идентификация прошла успешно, то данный объект является законным для данной сети. Аутентификация объекта (проверка подлинности) устанавливает, является ли данный объект именно тем, кем себя объявляет. Предоставление полномочий (авторизация) устанавливает сферу деятельности объекта и доступные ему ресурсы КС, после идентификации и подтверждения его подлинности.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Аутентификация объектов при защите каналов передачи данных означает взаимное установление подлинности объектов, связанных между собой по линии связи. При обмене сообщениями необходимо обеспечить выполнение следующих требований защиты: получатель должен быть уверен в подлинности источника данных; получатель должен быть уверен в подлинности передаваемых данных; отправитель должен быть уверен в доставке данных получателю; отправитель должен быть уверен в подлинности доставленных данных.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Для выполнения первых двух требований средством защиты является цифровая подпись. Для выполнения последующих требований отправитель должен получить уведомление о вручении с помощью удостоверяющей почты. Средством защиты в такой процедуре является цифровая подпись подтверждающего ответного сообщения, которое, в свою очередь, является доказательством пересылки исходного сообщения.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Идентификация и аутентификация пользователя Чтобы получить допуск к ресурсам КС, пользователь должен пройти идентификацию (то есть сообщить системе по её запросу свое имя), затем аутентификацию (то есть вводить в КС уникальную, не известную другим пользователям информацию о себе). Для этого необходимо наличие соответствующего субъекта (модуля) аутентификации и аутентифицирующего объекта, хранящего уникальную информацию для аутентификации пользователя.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Различают несколько форм представления объектов, аутентифицирующих пользователя. Примером могут служить стандартные пароли, персональные идентификационные номера (PIN), а также секретные и открытые ключи, знание которых демонстрируется в протоколах типа «запрос-ответ» : на основе средств хранения: обычно это магнитные карты, смарт-карты, touch memory и персональные генераторы, которые используются для создания одноразовых паролей; на основе биометрических характеристик; здесь включаются методы, базирующиеся на проверке пользовательских биометрических характеристик (голос, сетчатка глаза, отпечатки пальцев и т. д. ).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Протоколы аутентификации можно классифицировать по уровню обеспечиваемой безопасности или по возможности противостоять определенному классу атак: - простая аутентификация (на основе использования паролей), - строгая аутентификация (на основе использования криптографических методов и средств), - доказательная аутентификация: протоколы, обладающие свойством доказательства с нулевым значением.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Оценка уровня безопасности, обеспечиваемого протоколом аутентификации, может быть определена по отношению к конкретным типам атак, каковыми являются: самозванство, когда один пользователь пытается выдать себя за другого; повторная передача, заключающаяся в повторной передаче аутентифицированных данных каким-либо пользователем; подмена стороны аутентификационного обмена, при этом злоумышленник в ходе атаки участвует в процессе аутентификационного обмена между двумя сторонами и имеет возможность изменения проходящего через него трафика; .
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ отражение передачи, в ходе которой злоумышленник в рамках данного протокола пересылает обратно перехваченную информацию; вынужденная задержка, когда злоумышленник перехватывает информацию и передает её через некоторое время; атака с выборкой текста, при которой злоумышленник перехватывает аутентификационный трафик и пытается получить информацию о долговременных ключах; атака, когда злоумышленник выдает себя за какую-либо другую сторону, обладающую существенными привилегиями в системе;
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ - атака, когда после успешного прохождения аутентификации между двумя пользователями и установления соединения нарушитель «удаляет» какого-либо пользователя из соединения и продолжает работу от его имени. Подобного рода атаки могут быть устранены следующими приемами: периодическое выполнение процедур аутентификации в рамках уже установленного сеанса связи; привязка результата аутентификации к последующим действиям пользователей в рамках системы (например, аутентификационный обмен секретными сеансовыми ключами, с использованием которых осуществляется дальнейшее взаимодействие пользователей).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Протоколы аутентификации для атак, описанных выше, имеют следующие свойства: взаимная аутентификация, отражающая необходимость обоюдной аутентификации между сторонами аутентифицированного обмена; вычислительная эффективность - это количество операций, необходимых для выполнения протоколов; коммуникационная эффективность, отражающая количество сообщений и их длину, необходимую для осуществления аутентификации;
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ наличие третьей стороны; например, доверенный сервер распределения симметричных ключей или сервер, реализующий дерево сертификатов для распределения открытых ключей; основа гарантий безопасности; этому могут служить протоколы, обладающие свойством доказательства с нулевым знанием; хранение секрета; определяется способ реализации хранения критичной ключевой информации.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Типовые схемы идентификации и аутентификации пользователя Пусть в КС зарегистрировано n пользователей и i-й аутентифицирующий объект i-го пользователя содержит два информационных поля: Idr - неизменный идентификатор i-го пользователя, который является аналогом имени и используется для идентификации пользователя; Kr - аутентифицирующая информация пользователя, которая может изменяться и служит для аутентификации (например, пароль Pi = Ki).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Распространены две типовые схемы идентификации и аутентификации. Согласно алгоритму по схеме 1 в КС выделяется объектэталон для идентификации и аутентификации пользователей. Структура объекта-эталона для схемы 1 показана в табл. 1. Номер пользователя 1 2 …. . N Информация идентификации Id 1 Id 2 Idn для Информация аутентификации E 1 E 2 En для Здесь Ei = F(Idi, Ki), где F - функция, которая обладает свойством «невосстановимости» значения Ki по Ei и Idi.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ «Невосстановимость» Ki оценивается некоторой трудоемкостью To решения задачи восстановления аутентифицирующей информации Ki по Ei и Idi. Для пары Ki и Kj возможно совпадение соответствующих значений Е. Поэтому вероятность ложной аутентификации пользователя не должна быть больше некоторого порогового значения Р 0. Обычно задают Т 0 = 1020 , . . . , 1030 , Р 0 = 10 -7 , . . . , 10 -10.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Протокол идентификации и аутентификации по схеме 1 Сначала пользователь предъявляет свой идентификатор Id. При несовпадении Id ни с одним из Id, которые зарегистрированы в КС, идентификатор отвергается и пользователь не допускается к работе. В случае совпадения, пользователь прошёл идентификацию. Субъект аутентификации запрашивает у пользователя его аутентификатор K и вычисляет значение Y = F(Id, K).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ - Субъект аутентификации производит сравнение значений Y и E. . При равенстве этих значений устанавливается, что пользователь успешно аутентифицирован в системе. Информация об этом пользователе передаётся в программные модули, использующие ключи пользователей. В противном случае пользователь не допускается к работе.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Согласно схеме 2 в КС выделяется модифицированный объект -эталон, структура которого показана в табл. 2. Номер Информация для пользовател идентификации я 1 Id 1, S 1 аутентификатора 2 Id 2, S 2 E 2 …… N Id. N, SN n n EN E 1 В схеме 2 значение E=F(Si , Ki), где Si, - случайный вектор, который задаётся при создании идентификатора пользователя; F - функция, обладающая свойством «невосстановимости» значения Кi по Ei и Si.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Протокол идентификации и аутентификации по схеме 2 Пользователь предъявляет свой идентификатор Id. При несовпадении Id ни с одним из Idi, которые зарегистрированы в КС, идентификатор отвергается и пользователь не допускается к работе. В случае Id = Idi, пользователь прошёл идентификацию. По идентификатору Idi, выделяется вектор Si. Субъект аутентификации запрашивает у пользователя его аутентификатор Ki и вычисляет значение Y = F(Si, Ki). Субъект аутентификации производит сравнение значений Y и Ei. При равенстве этих значений устанавливается, что пользователь успешно аутентифицирован в системе. В противном случае пользователь не допускается к работе.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Необходимым требованием устойчивости схем аутентификации к восстановлению информации Ki является случайный равновероятный выбор Ki из множества возможных значений.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Особенности применения пароля для аутентификации пользователя. Каждый пользователь КС получает идентификатор и пароль, который в начале сеанса он предъявляет системе.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Рис. 1 Метод подтверждения подлинности с использованием пароля, основанный на сравнении представляемого пользователем пароля РА с исходным значением Р'А, хранящимся в компьютерном центре. Если РА и Р'А совпадают, то пароль РА считается подлинным, а пользователь – законным.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Доступ в такую систему может получить нарушитель, если узнает каким-либо образом пароль и идентификатор законного пользователя. Лучше, если отправитель может переслать вместо открытой формы пароля отображение пароля, получаемое с использованием односторонней функции A пароля, которая должна гарантировать невозможность раскрытия противником пароля по его отображению и нарушитель наталкивается на сложную задачу. Функция А может быть рассчитана по формуле А(Р) = ЕР (Id), где Р - пароль отправителя; Id - идентификатор отправителя; ЕР - процедура шифрования, выполняемая с использованием пароля Р в качестве ключа.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Чтобы пользователь запомнил пароль, он должен быть коротким, однако это делает пароль уязвимым к атаке полного перебора всех вариантов. Для предотвращения такой атаки функцию А(Р) определяют как А(Р) = ЕРxor. K (Id), где K и Id - соответственно ключ и идентификатор отправителя. Подтверждение подлинности пароля состоит из сравнения двух отображений а(РА) и а'(РА) и признания пароля РА, если эти отображения равны.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Идентификация и аутентификация пользователя по биометрическим признакам По сравнению с традиционными биометрические методы имеют следующие основные достоинства: высокая степень достоверности идентификации по биометрическим признакам из-за их уникальности; неотделимость биометрических признаков от дееспособности личности;
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ трудность фальсификации биометрических признаков. Биометрическими признаками, используемыми при идентификации потенциального пользователя, являются: узор радужной оболочки и сетчатки глаз; отпечатки пальцев; геометрическая форма руки; форма и размеры лица; особенности голоса; биомеханические характеристики рукописной подписи; биомеханические характеристики «клавиатурного почерка» .
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Системы идентификации по узору радужной оболочки и сетчатки глаз разделяются на два класса: использующие рисунок радужной оболочки глаза; использующие рисунок кровеносных сосудов сетчатки глаза. Эти системы считаются наиболее надёжными среди всех биометрических систем.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Взаимная проверка подлинности пользователей Процесс взаимной аутентификации выполняется в начале сеанса связи двумя способами либо механизмом запросаответа, либо механизмом отметки времени ( «временный штемпель» ). Проверка подлинности проводится методом запроса-ответа: пользователь А включает в посылаемое для пользователя В сообщение непредсказуемый элемент запрос X (например, случайное число); при ответе В должен выполнить над X некоторую операцию. Получив ответ с результатом действий В, пользователь А может быть уверен, что пользователь В - подлинный.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Механизм отметки времени: регистрируется время для каждого сообщения, при этом каждый пользователь сети может определить, насколько «устарело» пришедшее сообщение, и решить не принимать его, поскольку оно может быть ложным.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Возникает проблема допустимого временного интервала задержки для подтверждения подлинности сеанса, поскольку сообщение с «временным штемпелем» не может быть передано мгновенно, а компьютерные часы отправителя и получателя не могут быть абсолютно синхронизированы.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Непрерывная проверка подлинности отправителей в течение всего сеанса связи: - передаваемая криптограмма имеет вид EK (Id. A, M), где Id. A - идентификатор отправителя А; М- сообщение. - получатель В, принявший эту криптограмму, расшифровывает её и раскрывает пару (Id. A, M). - если идентификатор Id. A совпадает с хранимым значением Id'A, получатель В признает эту криптограмму.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ Вариант 2 непрерывной проверки подлинности: (используется вместо идентификатора отправителя его секретный пароль) - подготовка паролей (РА и РВ - пароли пользователей А и В соответственно) заранее. Известны обеим сторонам. - пользователь А создает криптограмму C = EK (PA, M). - получатель расшифровывает криптограмму и сравнивает пароль, извлечённый из этой криптограммы, с исходным значением. При их равенстве получатель признаёт эту криптограмму.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Протоколы идентификации с нулевой передачей знаний В настоящее время разработаны протоколы идентификации с нулевой передачей знаний для безопасного использования смарт-карт. Неотъемлемым признаком владельца такой карты становится секретный ключ, и доказательство знания секретного ключа с нулевой передачей этого знания является доказательством подлинности личности владельца смарт-карты.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Упрощённая схема идентификации с нулевой передачей знаний Наиболее известным доказательством идентичности с нулевой передачей конфиденциальной информации является схема, которую в 1986 г. предложили У. Фейге, А. Фиат и А. Шамир: - выбирают случайное значение модуля п, который является произведением двух больших чисел. Значение п предоставляется группе пользователей, доказывающей свою подлинность.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя В процессе участвуют: сторона А, доказывающая свою подлинность; сторона В, проверяющая предоставляемое стороной А доказательство. Доверенный арбитр для генерации открытого и секретного ключей выбирает некоторое число V, являющееся квадратичным вычетом по модулю п, такое, что сравнение х2 = V (mod n) имеет решение. Кроме того должно существовать целое число V-1 ( mod n )
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя V является открытым ключом для пользователя А. вычисляют наименьшее значение S, для которого S = sqrt (V-1) (mod n), S -является секретным ключом для А.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя В дальнейшем приступают к выполнению протокола идентификации. С этой целью: Пользователь А выбирает случайное число r, r < n, вычисляет х = r 2 mod n и отправляет х стороне В. Пользователь В посылает А случайную последовательность битов b. Пользователь А отправляет r пользователю В, если b = 0. Если b = 1, то пользователь А отправляет В у = r * S mod n. Если b = 0, пользователь В проверяет х = r 2 mod n для того, чтобы убедиться, что пользователь А знает sqrt(x). Если b = 1, пользователь В проверяет х = у2 *V mod n, для того, чтобы знать, что пользователь А знает sqrt (V-1).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Подобные шаги образуют один цикл протокола, называемый аккредитацией. Пользователи А и В повторяют этот цикл t раз при различных значениях r и b до тех пор, пока пользователь В не убедится, что пользователь А знает значение S. Если сторона А не знает значения S, она может выбрать такое значение r, которое позволит ей обмануть сторону В, если В отправит ей b = 0, либо А может выбрать такое r, которое позволит обмануть В, если В отправит ей b = 1.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Но этого невозможно сделать в обоих случаях. Вероятность того, что А обманет В в одном цикле, составляет 1/2. Вероятность обмануть В в t циклах равна (1/2)t. Для работы этого протокола необходимо, чтобы пользователь А никогда повторно не использовал значение r. Если А поступила бы таким образом, а сторона В отправила бы стороне А на шаге 2 другой случайный бит b, то В имела бы оба ответа А. После этого В может вычислить значение S, и для А все закончено.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Параллельная схема идентификации с нулевой передачей знаний Параллельная схема идентификации позволяет увеличить число аккредитаций, выполняемых за один цикл, и тем самым уменьшить длительность процесса идентификации.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя 1. Генерируется число n как произведение двух больших чисел. 2. Для того, чтобы сгенерировать открытый и секретный ключи для стороны А, сначала выбирают К различных чисел V 1, V 2, . . . , VK, где каждое Vi , является квадратичным вычетом по модулю n. Иначе говоря, выбирают значение V, таким, что сравнение х2 = Vi ( mod n ) имеет решение и существует Vi-1 ( mod n ). Полученная строка V 1, V 2, . . . , VK является открытым ключом. 3. Затем вычисляют такие наименьшие значения Si, что Si = sqrt (Vi-1) ( mod n ).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Эта строка S 1, S 2, . . . , SK является секретным ключом стороны А. 4. Протокол процесса идентификации имеет следующий вид: 1. Сторона А выбирает некоторое случайное число r, r<n. Затем она вычисляет х = r 2 mod n и посылает х стороне В. 2. Сторона В отправляет стороне А некоторую случайную двоичную строку из К бит: b 1, b 2, . . . , b. K. 3. Сторона А вычисляет у = r * (S 1 b 1 * S 2 b 2 *. . . * SKb. K) mod n. Перемножаются только те значения Si, для которых bi = 1. (Например, если b 1 = 1, то сомножитель S 1 входит в произведение, если же b 1 = 0, то S 1 не входит в произведение, и т. д. ).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Вычисленное значение у отправляется стороне В. 4. Сторона В проверяет, что х = у2 * (V 1 b 1 * V 2 b 2 *. . . * VKb. K) mod n. Фактически сторона В перемножает только те значения Vi, для которых bi = 1. Стороны А и В повторяют этот протокол t раз, пока В не убедится, что А знает S 1, S 2, . . . , SK. Вероятность того, что А может обмануть В, равна (1/2)Kt. Авторы рекомендуют в качестве контрольного значения брать вероятность обмана В равной (1/2)20 при К = 5 и t = 4.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Пример. Рассмотрим работу этого протокола для небольших числовых значений. Если n = 35 (n - произведение двух простых чисел 5 и 7), то возможные квадратичные вычеты будут следующими: 1: х2 = 1 (mod 35) имеет решения: х = 1, 6, 29, 34; 4: х2 = 4 (mod 35) имеет решения: х = 2, 12, 23, 33; 9: х2 = 9 (mod 35) имеет решения: х = 3, 17, 18, 32; 11: x 2 = 11 (mod 35) имеет решения: х = 9, 16, 19, 26; 14: x 2 = 14 (mod 35) имеет решения: х = 7, 28; 15: x 2 = 15 (mod 35) имеет решения: х = 15, 20; 16: x 2 = 16 (mod 35) имеет решения: х = 4, 11, 24, 31;
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя 21: x 2 = 21 (mod 35) имеет решения: х = 14, 21; 25: x 2 = 25 (mod 35) имеет решения: х = 5, 30; 29: x 2 = 29 (mod 35) имеет решения: х = 8, 13, 22, 27; 30: x 2 = 30 (mod 35) имеет решения: х = 10, 25. Заметим, что 14, 15, 21, 25 и 30 не имеют обратных значений по модулю 35, потому что они не являются взаимно простыми с 35. Составим таблицу квадратичных вычетов по модулю 35, обратных к ним значений по модулю 35 и их квадратных корней.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя V V-1 S = sqrt (V-1) 1 1 1 4 9 * 3 9 4 2 11 16 4 16 11 9 ** 29 29 8 Пояснения: * (4 * 9) mod 35 = 1; ** (9 * 9) mod 35 = 11
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Итак, сторона А получает открытый ключ, состоящий из К = 4 значений V: [4, 11, 16, 29]. Соответствующий секретный ключ, состоящий из К = 4 значений S: [3, 4, 9, 8]. Рассмотрим один цикл протокола. 1. Сторона А выбирает некоторое случайное число r = 16, вычисляет х = 162 mod 35 = 11 и посылает это значение х стороне В. 2. Сторона В отправляет стороне А некоторую случайную двоичную строку [1, 1, 0, 1].
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя 3. Сторона А вычисляет значение у = r * (S 1 b 1 * S 2 b 2 *. . . * SKb. K) mod n = 16 * (31 * 41 * 90 * 81) mod 35 = 31 и отправляет это значение у стороне В. 4. Сторона В проверяет, что х = y 2 * (V 1 b 1 * V 2 b 2 *. . . * VKb. K) mod n = 312 * (41 * 111 * 160 * 291) mod 35 = 11. Стороны А и В повторяют этот протокол t раз, каждый раз с разным случайным числом r, пока сторона В не будет удовлетворена.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя В этот протокол можно включить идентификационную информацию. Пусть I - некоторая двоичная строка, представляющая идентификационную информацию о владельце карты (имя, адрес, персональный идентификационный номер, физическое описание) и о карте (дата окончания действия и т. п. ). Эту информацию I формируют в Центре выдачи смарт карт по заявке пользователя А. Далее используют одностороннюю функцию f(·) для вычисления f(I, j), где j - некоторое двоичное число, сцепляемое со строкой I. Вычисляют значения Vj = f(I, j) для небольших значений j, отбирают К разных значений j, для которых Vj являются квадратичными вычетами по модулю n.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя - Окончательно, для отобранных квадратичных вычетов Vj вычисляют наименьшие квадратные корни из Vj-1 (mod n). Совокупность из К значений Vj образует открытый ключ, а совокупность из К значений Sj - секретный ключ пользователя А.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Схема идентификации Гиллоу - Куискуотера Алгоритм идентификации с нулевой передачей знания, разработанный Л. Гиллоу и Ж. Куискуотером, имеет несколько лучшие характеристики, чем предыдущая схема идентификации. В этом алгоритме обмены между сторонами А и В и аккредитации в каждом обмене доведены до абсолютного минимума - для каждого доказательства требуется только один обмен с одной аккредитацией. Однако объем требуемых вычислении для этого алгоритма больше, чем для схемы Фейге-Фиата-Шамира.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Пусть сторона А - смарт карточка, которая должна доказать свою подлинность проверяющей стороне В. Идентификационная информация стороны А представляет собой битовую строку I, которая включает имя владельца карточки, срок действия, номер банковского счета и др. Фактически идентификационные данные могут занимать достаточно длинную строку, и тогда их хэшируют к значению I. Строка I является аналогом открытого ключа. Другой открытой информацией, которую используют все карты, участвующие в данном приложении, являются модуль n и показатель степени V. Модуль n является произведением двух секретных простых чисел.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Секретным ключом стороны А является величина G, выбираемая таким образом, чтобы выполнялось соотношение I * GV = 1 (mod n). Сторона А отправляет стороне В свои идентификационные данные I. Далее ей нужно доказать стороне В, что эти идентификационные данные принадлежат именно ей. Чтобы добиться этого, сторона А должна убедить сторону В, что ей известно значение G.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Протокол доказательства подлинности А без передачи стороне В значения G: 1. Сторона А выбирает случайное целое r, такое, что 1 < r < n 1. Она вычисляет Т = r. V mod n и отправляет это значение стороне В. 2. Сторона В выбирает случайное целое d, такое, что 1 < d < n 1, и отправляет это значение d стороне А. 3. Сторона А вычисляет D = r * Gd mod n и отправляет это значение стороне В. 4. Сторона В вычисляет значение T' = DV Id mod n. Если Т = Т' (mod n), то проверка подлинности успешно завершена.
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Доказательство: T' = DV * Id = (r * Gd)V * Id = r. V * Gd. V * Id = r. V * (I * GV)d = r. V º T (mod n) , поскольку G вычислялось таким образом, чтобы выполнялось соотношение *GV = 1 (mod n).
ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ СООБЩЕНИЯ. Типовые схемы идентификации и аутентификации пользователя Все!
Лекция 5 ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ.ppt