Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
31
1. Методы идентификации объектов информационной инфраструктуры в компьютерных технологиях.
Для легализации объектов информационной инфраструктуры в сетевых компьютерных технологиях широко используются методы и средства их идентификации и аутентификации. Так в работах профессора В.Ф. Шаньгина понятие идентификация (Identification) определяется как процедура распознавания объектов информационной инфраструктуры по его идентификатору, присвоенному данному объекту и занесенному в базу данных в момент его регистрации с целью легализации.
Таким образом, санкционированный пользователь при входе в корпоративную сеть должен по запросу сети ввести свой идентификатор и система проверяет в своей базе его наличие. Следующим шагом оценки доверительности объекта информационного взаимодействия является процедура аутентификации (Authentication). Аутентификации (Authentication) процедура проверки подлинности входящего в систему объекта (пользователя, процесса или устройства), предъявившего свой идентификатор. В результате процесса аутентификации признается достоверность пользователя, процесса или устройства или же признается факт их фальсификации.
Идентификация и аутентификации составляют сущность процессов распознавания и подтверждения подлинности объектов и субъектов информационной инфраструктуры в компьютерных технологиях. В результате процессуальных операций делается вывод о допуске или запрете к ресурсам системы пользователю, процессу или устройству информационного взаимодействия.
Следующими технологическими процессами системы доверительных взаимодействий в компьютерных технологиях являются следующие операции:
- Авторизация (Authorization) процедура предоставления пользователю, процессу или устройству определенных прав доступа к ресурсам системы. Процедура авторизации выполняется только после успешного завершения операций идентификации и аутентификации.
- Администрирование (Accounting) процесс управления доступом пользователей, процессов или устройств к ресурсам информационной инфраструктуры в компьютерных технологиях.
Задачи и информационно-технологические операции идентификации, аутентификации, авторизации и администрирования являются неотъемлемой частью сетевых компьютерных технологий в корпоративных системах. Абравиатура такого информационно-технологического взаимодействия определяется как «ААА» (аутентификация, авторизация, администрирование).
Уровень аутентификации пользователей, процессов или устройств определяется требованиями комплексной системы безопасности конкретной корпоративной организации. Наиболее строгие и полномасштабные требования предъявляются к финансовым транзакциям. Надежная аутентификация является ключевым фактором безопасности информационных технологий.
При организации защиты каналов теледоступа к инфрмационно-вычислительным ресурсам в корпоративных системах в обязательном порядке должна выполняться операция взаимной аутентификации субъектов, т.е. взаимное подтверждение подлинности субъектов в информационно-телекоммуникационных системах (ИТКС). Как правило, взаимная аутентификация выполняется вначале сеанса связи. Однако, при необходимости, процедура аутентификации может выполняться в течении всего информационно-технологического процесса взаимодействия пользователей, процессов или устройств единой информационно-телекоммуникационной системы (ЕИТКС) корпорации.
Для подтверждения своей подлинности субъект корпоративной ЕИТКС должен предъявлять строго детерминированные параметры. В зависимости от предъявляемых субъектом ЕИТКС сущностей процессы аутентификации подразделяются на следующие категории (Л.1):
1. На основе строго детерминированных знаний. Например: пароль субъекта взаимодействия, персональный идентификационный PIN-код, секретные и открытые ключи, знание которых определяется в протоколах «запрос-ответ».
2. На основе обладания аутентифицирующих устройств. Например: магнитная карта, смарт-карты, сертификаты, USB-ключи или USB-токены (token маркер, опознавательный признак).
3. На основе характеристик субъекта информационного взаимодействия методы проверки биометрических характеристик пользователя (голос, радужная оболочка и сетчатка глаза, отпечатки пальцев, ладоней, росчерк пера (акселометрия) и т.д.).
Пароль общий параметр, известный только участникам информационного взаимодействия. Для аутентификации участников удаленного информационного взаимодействия может быть организован обмен паролями между ними.
Персональный идентификационный номер PIN (Personal Identification Number) средство аутентификации держателя пластиковой карты или смарт-карты. Значение PIN-кода должно держаться в строгом секрете и быть известно только их держателю.
Динамический (одноразовый) пароль пароль, который после однократного применения никогда больше не используется. Механизм динамического изменения базируется на постоянном для заданного временного интервала пароле.
Система запрос-ответ. Наиболее эффективный метод в современных информационных технологиях удаленного взаимодействия в телекоммуникационных системах. В этом случае одна из сторон инициирует аутентификацию и передает другой стороне уникальное значение «запроса», другая сторона пересылает инициатору «ответ», вычисленный с помощью данных «запроса» и своего секрета. Так как обе стороны владеют одним секретом, то первая сторона может однозначно установить достоверность ответа второй стороны.
Сертификаты и цифровая подпись. На современном этапе информационного взаимодействия это наиболее надежный способ установления доверительности в корпоративных и межкорпоративных ИТКС. В этом случае для аутентификации используются сертификаты с использованием цифровых подписей, законодательно установленных на государственном уровне. Так в Российской Федерации такая законодательная основа определена Федеральным Законом №65 от 06 апреля 2011 года. В РФ ведется государственный реестр корпоративных Удостоверяющих Центров (reestr-PKI.ru), которые имеют право выдавать и регистрировать такие сертификаты.
Т его Процессы аутентификации классифицируются также и по уровням требуемой информационной безопасности. В этом случае различают:
- простую аутентификацию, использующую пароли;
- строгую аутентификацию, построенную на использовании многофакторных проверок и криптографических методов;
- биометрическую аутентификацию пользователей.
В свою очередь, атаки на протоколы аутентификации в сетевых компьютерных технологиях могут быть классифицированы по следующим функциональным группам:
1. Маскарад (Impersanation) когда пользователь «А» представляется пользователем «В» с целью получения его полномочий и информационных возможностей от его имени.
2. Подмена сторон аутентификационного обмена (Interleaving attack) несанкционированный пользователь (НСП) участвует в процессе аутентификационного обмена между двумя санкционированными пользователями с целью модификации проходящего через него трафика.
3. Повторная передача (Replay attack) передача аутентификационных данных несанкционированным пользователем ранее переданных санкционированным пользователем.
4. Принудительная задержка (Forced delay) несанкционированный пользователь (НСП) перехватывает информацию в канале санкционированного обмена и передает ее адресату с временной задержкой.
5. Атака с выборкой текста (Chosen-text attack) НСП перехватывает аутентификационный трафик с целью получения данных о долговременных криптографических ключах.
Парирование и нейтрализация указанных атак несанкционированных пользователей может осуществляться включением в протоколы аутентифиэлементомкации пользователей, процессов, устройств, электронных документов специальных методов:
1. Использование механизмов «запрос-ответ», меток времени, случайных чисел, идентификаторов, цифровых подписей.
2. Привязка результатов аутентификации к последующим действиям пользователей в рамках корпоративной информационной системы.
3. Периодическое выполнение процедур аутентификации в рамках уже установленного сеанса связи.
Механизм «запроса-ответа» состоит в следующем. Если пользователь А признает доверительность сообщения от пользователя В, он включает в посылаемое для пользователя В сообщение случайный элемент запрос Х (например некоторое случайное число). При ответе пользователь В должен выполнить над этим элементом некоторую операцию, известную пользователю А. В процедуре аутентификации заранее неизвестно какое случайное число Х придет в запросе от абонента А к абоненту В. Получив ответ, абонент А признает абонента В подлинным, если результат удовлетворяет принятому критерию.
При формировании или выборе протокола аутентификации необходимо учитывать следующие требования:
1. Наличие взаимной аутентификации. Это требование отражает необходимость обоюдной аутентификации между сторонами аутентификационного обмена.
2. Вычислительная эффективность. Количество операций, необходимых для выполнения протокола аутентификации должно быть минимальным.
3. Коммуникационная эффективность. Данное свойство отражает количество сообщений и их размер, необходимый для осуществления аутентификации.
4. Наличие третьей стороны. Примером третьей стороны может служить доверенный сервер распределения симметричных ключей (ЦРК центр распределения ключей) или сервер реализующий распределение, регистрацию, хранение и актуализацию открытых ключей и сертификатов (Корпоративный или межкорпоративный Удостоверяющий Центр УЦ).
5. Гарантия безопасности. Примером служит шифрование и цифровая подпись.
1.1. Методы аутентификации на основе паролей.
Методы аутентификации на основе паролей относятся к методам простой аутентификации, которые основаны на применении традиционных многоразовых паролей с одновременным согласованием средств их использования и обработки. Упрощенный вариант в виртуальных сетях VPN предусматривает доступ пользователей к серверу баз данных по паролю. Однако, большее распространение получают более эффективные средства аутентификации на основе смарт-карт, USB-токенов, цифровых сертификатов, программно-аппаратные средства и системы аутентификации на основе многоразовых паролей.
1.1.1. Аутентификация на основе многоразовых паролей.
В современных сетевых корпоративных системах предусматривается централизованная служба аутентификации, которая реализуется одним из серверов и использует специализированную базу данных. В этой базе данных хранятся учетные сведения о пользователях корпоративной сети, их идентификаторы (login) и пароли (password).
Структурная схема простой аутентификации с использованием пароля РА и процедура его шифрования имеет следующий вид:
нет
РА=РА1
?
DK
ЕК
РА
К К РА1
Да (пароль
подлинный)
Рис.1.1. Простая аутентификация с использованием пароля и процедуры его шифрования.
Для защиты пароля пользователя РА при передаче его по незащищенному каналу связи в корпоративных информационных системах используется метод симметричных криптографических преобразований. Для чего в структуру корпоративной информационной ческие паролисистемы включены блоки шифрования ЕК и дешифрования DК, управляемые секретным ключом К.
1.1.2. Аутентификация на основе одноразовых паролей (OTP One Time Password).
В этом случае формируется одноразовый динамический пароль действительный только для одного входа в корпоративную информационную систему.
Одноразовые динамические пароли генерируются с помощью ОТР-токена на основе секретного ключа пользователя как на ОТР-токена, так и на сервере аутентификации. Однако, в этом случае количество таких приложений ограничено.
1.2. Строгая аутентификация.
Идея строгой аутентификации заключается в том, что проверяемая (доказывающая) сторона доказывает свою подлинность проверяющей стороне знанием некоторого секрета. Этот секрет может быть предварительно распределен безопасным способом между сторонами аутентификационного обмена.
В соответствии со стандартом Х.509 различают следующие типы строгой аутентификации:
1. Односторонняя аутентификация.
2. Двусторонняя аутентификация.
3. Трехсторонняя аутентификация.
Односторонняя аутентификация предусматривает обмен аутентификационными данными только в одном направлении, что позволяет:
- обнаружить нарушение целостности принимаемой информации;
- обнаружить проведение атаки типа «повтор передачи»;
- гарантировать, что передаваемыми аутентификационными данным может воспользоваться только проверяющая сторона.
Двусторонняя аутентификация содержит дополнительный ответ проверяющей стороны доказывающей стороне, который должен убедить ее, что связь устанавливается с той стороной, которой были предназначены аутентификационные данные.
Трехсторонняя аутентификация содержит дополнительную передачу данных от доказывающей стороны проверяющей.
1.3. Механизмы аутентификации санкционированных пользователей.
Наиболее распространенным методом проверки подлинности санкционированных пользователей является процедура «рукопожатия». В этом случае санкционированные пользователи признают друг друга законными, если докажут друг другу знание общего секретного ключа КАВ.
Структурная схема процесса аутентификации с использованием процедуры «рукопожатие» имеет следующий вид:
Пользователь «А» Канал Пользователь «В»
«В» находит КАВ
идентификатор IDA
DK
EK
PG
S EKAB(S) S
α (S)
ЕК
DK
S KAB KAB
α1 (S)
EKAB(S)
α=α1
?
D
(«В» - подлинный)
Рис.1.2. Схема процедуры «рукопожатие» («А» проверяет «В»)
Алгоритм процедуры «рукопожатия» определяется следующим образом:
1. Пользователь «А» инициирует процедуру «рукопожатия», направляя пользователю «В» свой идентификатор IDA в открытом виде.
2. Пользователь «В», получив идентификатор IDA, находит в базе данных общий парный секретный ключ KAB и подключает его к системе аутентификации.
3. Пользователь «А» генерирует случайную последовательность S с помощью генератора случайных чисел PG. Шифрует эту последовательность S с помощью парного секретного ключа КАВ и отправляет криптограмму EKAB(S) пользователю «В».
4. Пользователь «В» с помощью парного секретного ключа КАВ расшифровывает полученную криптограмму и восстанавливает сообщение S.
5. Затем оба пользователя вычисляют по случайной последовательности S ее функцию хеширования (функцию свертки; дайджест сообщения) α(S).
6. Пользователь «В» шифрует хэш-значение α(S) с помощью парного секретного ключа КАВ и отправляет криптограмму EKAB(S) пользователю «А».
7. Пользователь «А» расшифровывает полученную криптограмму EKAB(S) и сравнивает дешифрованное значение α1 (S), полученное от абонента «В» с хэш-значением α (S), и если эти значения равны пользователь «А» признает подлинность пользователя «В».
В свою очередь пользователь «В» аналогичным образом устанавливает подлинность пользователя «А». Обе эти процедуры образуют процедуру «рукопожатия», которая обычно выполняется в начале сеанса связи между двумя любыми сторонами в корпоративной компьютерной сети.
1.4. Протоколы аутентификации с нулевой передачей знаний.
Для безопасного использования интеллектуальных карт разработаны протоколы аутентификации с нулевой передачей знаний. Секретный ключ владельца такой карты является неотъемлемым признаком его личности. Доказательство знания этого секретного ключа с нулевой передачей этого знания служит доказательством подлинности владельца интеллектуальной карты.
1.4.1. Упрощенная схема аутентификации с нулевой передачей знаний.
Эта схема была предложена в 1986 году У. Фейге, А. Фиатом и А. Шамиром. Она является наиболее известным доказательством идентичности с нулевой передачей конфиденциальной информации.
Изначально, случайным образом задаются два больших простых числа и вычисляется их произведение модуль Р, который должен иметь размерность 512…1024 бит. Это значение Р передается всем членам корпоративной компьютерной сети. Значения же двух больших простых чисел не передаются никому и хранятся в секрете.
В частном случае, в процессе аутентификации участвуют две стороны:
- пользователь «А», доказывающий свою подлинность;
- пользователь «В», проверяющий представляемое пользователем «А» доказательство.
Прежде чем приступить к рассмотрению методики аутентификации субъектов информационного взаимодействия в корпоративных сетевых компьютерных системах, необходимо дать описание раздела модульной алгебры, связанного с вычислением квадратичных вычетов.
Некоторое число а < Р, где Р простое число сравнимо с квадратом некоторого числа X по модулю Р, т.е. выполняется сравнение вида
X2=а modP, тогда число а является квадратичным вычетом по модулю Р. Если это условие не соблюдается, то число а является квадратичным невычетом по модулю Р.
В случае, если «а» является квадратичным вычетом по модулю Р, то сравнение X2=а modP имеет два решения +Xi; - Xi, т.е. число «а» по модулю Р имеет два квадратных корня по модулю Р. Множества квадратичных вычетов находятся вычислением квадратов чисел 1, 2, 3, …, по модулю Р. Например, при Р=11 множество квадратичных определится как:
12=1=1mod11; 22=4=4mod11; 32=9=9mod11; 42=16=16mod11=5mod11;
52=25=25mod11=3mod11; 62=36=36mod11=3mod11; 72=49=49mod11=5mod11;
82=64=64mod11=9mod11; 92=81=81mod11=4mod11; 102=100=100mod11=
=1mod11; 112=121=121mod11=0mod11.
Числа 1, 3, 4, 5, 9 являются квадратичными вычетами по модулю Р при Р = 11. Число таких вычетов определяется как m = ; для рассмотренного примера при Р = 11 число вычетов будет равно m = ,
mi → {m1=1; m2=3; m3=4; m4=5; m5=9}. В свою очередь не существует никаких значений Xi , которые удовлетворяли бы (для рассматриваемого примера) любому из следующих сравнений: X2=2 mod11; X2=6mod11; X2=7 mod11; X2=8 mod11; X2=10 mod11. Следовательно, числа 2, 6, 7, 8, 10 являются квадратичными невычетами по модулю Р = 11. Число таких невычетов определится как к = , для рассматриваемого примера к = Таким образом, если Р простое число, то число квадратичных вычетов и квадратичных невычетов по заданному модулю Р одинаково.
Для случая, если модуль Р будет определяться как произведение двух простых чисел P = N × L, где N и L простые числа, то число элементов множества квадратичных вычетов по модулю Р определится как:
m =
и это множество характерно тем , что каждый его элемент взаимно простой с Р.
Для примера рассмотрим случай при N=7 и L=5, следовательно множество квадратичных вычетов определится как:
m = = 6.
Производится вычисления элементов множества квадратичных вычетов для Р=35 (N=7 и L=5)
X |
X2 mod P |
1 |
X2 mod P = 1 mod 35 |
2 |
X2 mod P = 4 mod 35 |
3 |
X2 mod P = 9 mod 35 |
4 |
X2 mod P = 16 mod 35 |
5 |
X2 mod P = 25 mod 35 |
6 |
X2 mod P = 36 mod 35 = 1 mod35 |
7 |
X2 mod P = 49 mod 35 = 14 mod35 |
8 |
X2 mod P = 64 mod 35 = 29 mod35 |
9 |
X2 mod P = 81 mod 35 = 11 mod35 |
10 |
X2 mod P = 100 mod 35 = 30 mod35 |
11 |
X2 mod P = 121 mod 35 = 16 mod35 |
12 |
X2 mod P = 144 mod 35 = 4 mod35 |
13 |
X2 mod P = 169 mod 35 = 29 mod35 |
14 |
X2 mod P = 196 mod 35 = 21 mod35 |
15 |
X2 mod P = 225 mod 35 =15 mod35 |
16 |
X2 mod P = 256 mod 35 = 11 mod35 |
17 |
X2 mod P = 289 mod 35 = 9 mod35 |
18 |
X2 mod P = 324 mod 35 = 9 mod35 |
19 |
X2 mod P = 361 mod 35 = 11 mod35 |
20 |
X2 mod P = 400 mod 35 = 15 mod35 |
21 |
X2 mod P = 441 mod 35 = 21 mod35 |
22 |
X2 mod P = 484 mod 35 =29 mod35 |
23 |
X2 mod P = 529 mod 35 = 4 mod35 |
24 |
X2 mod P = 576 mod 35 = 16 mod35 |
25 |
X2 mod P = 625 mod 35 = 30 mod35 |
26 |
X2 mod P = 676 mod 35 = 11 mod35 |
27 |
X2 mod P = 729 mod 35 = 29 mod35 |
28 |
X2 mod P = 784 mod 35 = 14 mod35 |
29 |
X2 mod P = 841 mod 35 = 1 mod35 |
30 |
X2 mod P = 900 mod 35 = 25 mod35 |
31 |
X2 mod P = 961 mod 35 = 16 mod35 |
32 |
X2 mod P = 1024 mod 35 = 9 mod35 |
33 |
X2 mod P = 1089 mod 35 = 4 mod35 |
34 |
X2 mod P = 1156 mod 35 = 1 mod35 |
35 |
X2 mod P = 1225 mod 35 = 0 mod35 |
Анализ полученных квадратичных вычетов по модулю Р = 35 позволяет сформировать идентичные группы, имеющими решения при определенных значениях Xi .
Таблица 1.
N рупппы |
Квадратичные вычеты |
Имеет решение при Xi = |
1 |
X2 = 1 mod 35 |
X=1; X=6; X=29; X=34 |
2 |
X2 = 4 mod 35 |
X=2; X=12; X=23; X=33 |
3 |
X2 = 9 mod 35 |
X=3; X=17; X=18; X=32 |
4 |
X2 = 11 mod 35 |
X=9; X=16; X=19; X=26 |
5 |
X2 = 14 mod 35 |
X=7; X=28 |
6 |
X2 = 15 mod 35 |
X=15; X=20 |
7 |
X2 = 16 mod 35 |
X=4; X=11; X=24; X=31 |
Л.18 |
X2 = 21 mod 35 |
X=14; X=21 |
9 |
X2 = 25 mod 35 |
X=5; X=30 |
10 |
X2 = 29 mod 35 |
X=8; X=13; X=22; X=27 |
11 |
X2 = 30 mod 35 |
X=10; X=25 |
Из полученных групп составляется множество квадратичных вычетов взаимнопростых с Р=35, их число определяется как
m = = 6.
Элементы этого множества определятся как: Vi →{1, 4, 9. 11, 16, 29}.
Так как элементы множества Vi взаимнопросты с Р=35 , то для их значений существуют обратные значения Vi-1 mod P.
Обратные значения Vi-1 mod P определяются из условия, что известна функция Эйлера φ(Р) = =6 × 4 = 24.
Vi-1 mod P = Vi φ(Р)-1 mod P
Для Vi = 1 mod P Vi-1 mod P = 123 mod 35 =1 mod 35
Для Vi = 4 mod P Vi-1 mod P = 423 mod 35 =9 mod 35
Для Vi = 9 mod P Vi-1 mod P = 923 mod 35 =4 mod 35
Для Vi = 11 mod P Vi-1 mod P = 1123 mod 35 =16 mod 35
Для Vi = 16 mod P Vi-1 mod P = 1623 mod 35 =11 mod 35
Для Vi = 29 mod P Vi-1 mod P = 2923 mod 35 =29 mod 35
Рассмотренный раздел модулярной алгебры по вопросам вычисления квадратичных вычетов имеет важное прикладное значение при построении системы аутентификации санкционированных пользователей, процессов и устройств в сетевых корпоративных компьютерных технологиях с нулевой передачей знаний.
На первом этапе целесообразно рассмотреть алгоритм протокола упрощенной аутентификации санкционированных пользователей, процессов и устройств, который определяется как:
Для генерации открытого и секретного ключей для пользователя «А» корпоративный доверенный центр выбирает некоторое число V, которое является квадратичным вычетом по заданному модулю Р. Выбранное значение V будет определено как открытый ключ для пользователя «А». Из представленного множества квадратичных вычетов при Р=35 (Таблица 1) только 6 квадратичных вычетов удовлетворяют условию взаимной простоты с Р=35.
Vi → {1; 4; 9; 11; 16; 29} → {V1=1; V2=4; V3=9; V4=11; V5=16; V6=29}
Для данного подмножества Vi определяются обратные значения его элементов Vi -1 mod P.
Так как значение модуля Р определено как произведение двух простых чисел N и L , то функция Эйлера примет значение (P) = (N-1)×(L-1) = = (7-1) ×(5-1) = 24, следовательно:
Vi -1 = Vi φ(P)-1 mod P = Vi 24-1 mod 35 = Vi 23 mod 35
V1 -1 = V1 23 mod 35 = 123 mod 35 = 1 mod 35 → 1;
V2 -1 = V2 23 mod 35 = 423 mod 35 = 9 mod 35 → 9;
V3 -1 = V3 23 mod 35 = 923 mod 35 = 4 mod 35 → 4;
V4 -1 = V4 23 mod 35 = 1123 mod 35 = 16 mod 35 → 16;
V5 -1 = V5 23 mod 35 = 1623 mod 35 = 11 mod 35 → 11;
V6 -1 = V6 23 mod 35 = 2923 mod 35 = 29 mod 35 → 29;
Из полученного подмножества Vi → {1; 4; 9; 11; 16; 29} → {V1=1; V2=4; V3=9; V4=11; V5=16; V6=29} случайным образом выбирается число, которое и будет являться открытым ключом абонента «А». Для примера принимается V5=16. Для случая V5=16 вычисляется наименьшее значение квадратного корня S = sgrt V5-1 mod P.
Покажем, как производятся вычисления S для подмножества Vi-1 mod P, приведенного выше Vi → {1; 4; 9; 11; 16; 29} → {V1=1; V2=4; V3=9; V4=11; V5=16; V6=29}.
Si = sgrt Vi-1 mod P
1. S1 = sgrt V1-1 mod P = sgrt 1-1 mod 35 = sgrt 1 mod 35 → 1mod 35 → 1;
2. S2 = sgrt V2-1 mod P = sgrt 4-1 mod 35 = sgrt 9 mod 35 → 3 mod 35 → 3;
3. S3 = sgrt V3-1 mod P = sgrt 9-1 mod 35 = sgrt 4 mod 35 → 2 mod 35 → 2;
4. S4 = sgrt V4-1 mod P = sgrt 11-1 mod 35 = sgrt 16 mod 35 → 4 mod 35 → 4;
5. S5 = sgrt V5-1 mod P = sgrt 16-1 mod 35 = sgrt 11 mod 35 = sgrt 46 mod 35 =
= sgrt 46 mod 35 = sgrt 81 mod 35 = 9 mod 35 → 9;
6. S6 = sgrt V6-1 mod P = sgrt 29-1 mod 35 = sgrt 64 mod 35 = 8 mod 35 → 8;
В качестве секретного ключа абонента «А» выбирается одно из значений квадратного корня из представленного подмножества Si = sgrt Vi-1 mod P для выбранного ранее случайным образом значения Vi →V5=16 mod 35 →16, т.е. выбирается Si → S5 = 9 mod 35 → 9, которое является наименьшим значением Si, для которого существует sgrt S mod P. Например, для случая пункт 5 S5 = 9 mod 35 → 9. Следовательно, секретный ключ для абонента «А» будет равен S5 = 9 mod 35 → 9.
Таким образом, значение открытого ключа абонента»А» - КОА определится как V5=16, а значение секретного ключа абонента «А» определено как КЗА и будет равно S5 = 9 mod 35 → 9.
На следующем выполняются позиции протокола аутентификации абонента «А» при организации доверительного обмена информацией в режиме удаленного теледоступа с абонентом «В». Для чего:
1. Абонент «А» выбирает некоторое случайное число r < P и производит вычисление числа x = r2 mod P. Допустим абонент «А» выбирает значение r = 12. В этом случае значение числа x = r2 mod P при r = 12 и P = 35 определится как: x = r2 mod P = 122 mod 35 = 144 mod 35 = 4 mod 35 → 4.
Абонент «А» отправляет значение x = 4 абоненту «В».
2. Абонент «В», в свою очередь, отправляет абоненту «А» случайный бит «b» равный «1» или «0» (b = 1 ˅ 0).
3. Получив от абонента «В» значение b = 0, абонент «А» отправляет значение r = 12 абоненту «В». Если абонент «А» получил от абонента «В» значение b = 1, тогда абонент «А» вычисляет значение y = r × S mod P. Для рассматриваемого примера y = r × S mod P = 12 × 9 mod 35 = 108 mod 35 =
= 3 mod 35 → 3. После указанных вычислений абонент «А» отправляет абоненту «В» значение y = 3.
4. Если абонентом «В» принято значение b = 0, то абонент «В» проверяет равенство x = r2 mod P , чтобы убедиться, что сторона «А» знает значение sgrt x mod P : x = 144 mod 35 = 4, т.е. 4 = 4, так как принятое значение
х = 4 абонентом «В» от абонента «А» равно вычисленному абонентом «В» значению r2 mod P = 122 mod 35 = 144 mod 35 = 4 mod 35 по принятому значению r = 12.
Если абонентом «В» принято от абонента «А» значение бита b = 1, то абонент «В» проверяет условие, что x = y2 × V mod P (для рассматриваемого примера y2 × V mod P = 32 × V5 mod 35 = 9 × 16 mod 35 = 144 mod 35 =
= 4 mod 35 → 4). Следовательно, принятое от абонента «А» значение х = 4 совпадает с вычисленным абонентом «В» значением y2 × V5 mod P =4 mod35 → 4, т.е 4=4. Проведенные абонентом «В» вычисления убеждает его в том, что абонент «А» знает значение sgrt V-1 mod P, т.е. знает, что абонент «А» владеет секретным ключом S = sgrt V-1 mod P.
В рассматриваемом примере y = r × S mod P = 12 × 9 mod 35 = 108 mod 35 = 3 mod 35 → 3, а значение секретного ключа абонента «А» равно
S5 = sgrt V5-1 mod P = sgrt 16-1 mod 35 = sgrt 11 mod 35 = sgrt 46 mod 35 =
= sgrt 46 mod 35 = sgrt 81 mod 35 = 9 mod 35 → 9;
Указанная последовательность расчетов образует один цикл протокола признания доверительности абонента связи, называемый аккредитацией. Для повышения достоверности процесса аутентификации абоненты «А» и «В» повторяют этот цикл t раз при различных случайных значениях r и b.
1.4.2. Параллельная схема аутентификации с нулевой передачей знаний.
Параллельная схема аутентификации позволяет увеличить число аккредитаций, выполняемых за один цикл, и тем самым сократить длительность процесса аутентификации.
Протокол параллельной аутентификации с нулевой передачей знаний состоит из нижеследующих этапов:
1. Изначально генерируются открытый и закрытый (секретный ) ключи абонента «А» (абонент «А» является стороной доказывающая свою доверительность абоненту «В»). Для формирования открытого и закрытого ключей абонент «А» формирует число Р как произведение двух больших простых чисел (как и в предыдущей схеме в качестве примера выбираются простые числа N=7 и L=5; числа выбираются для упрощения модели небольшими). В этом случае число Р = N × L = 7 × 5 = 35, это число является модулем вычислений в системе аутентификации и передается открыто всем абонентам корпоративной системы.
Как и в предыдущем примере по заданному модулю Р выбирается k-различных чисел V1; V2; … ; Vk, где каждое значение Vi является квадратичным вычетом по модулю Р, т.е. Vi должно быть таким, чтобы сравнение
X2 = Vi mod P имело решение и существовало обратное значение Vi-1 mod P.
Так для модуля Р =35 (вышерассмотренный пример) множество Vi определяется как Vi → {1; 4; 9; 11; 16; 29} → {V1=1; V2=4; V3=9; V4=11; V5=16; V6=29}. Множество обратных значений Vi-1 mod P = Viφ(P)-1 mod P определилось как Vi-1 → {1; 9; 4; 16; 11; 29}.
2. Из множества Vi → {1; 4; 9; 11; 16; 29} случайным образом выбирается k-значений (для примера примем k = 4):
Vk → {4; 11; 16; 29} → {V2=4; V4=11; V5=16; V6=29}. Эти значения являются открытым ключом (в отличии от примера упрощенной схемы, где в качестве открытого ключа выбирается только лишь одно значение V5=16).
3. Затем вычисляются значения Si = sgrt Vi-1 mod P.
Для выбранных значений Vk → {V2=4; V4=11; V5=16; V6=29} обратные значения определятся как:
Vk-1 mod P = Vk φ(P)-1 mod P, где φ(Р) функция Эйлера, определяемая для двух простых чисел как (P) = (N-1)×(L-1) = = (7-1) ×(5-1) = 24. Следовательно, Vk-1 mod P = Vk23 mod 35.
V2-1 mod P = V223 mod 35 = 423 mod 35 = 9 mod 35 → 9;
V4-1 mod P = V423 mod 35 = 1123 mod 35 = 16 mod 35 → 16;
V5-1 mod P = V523 mod 35 = 1623 mod 35 = 11 mod 35 → 11;
V6-1 mod P = V623 mod 35 = 2923 mod 35 = 29 mod 35 → 29.
После предварительных вычислений производятся вычисления значений квадратных корней по заданному модулю Sk = sgrt Vk-1 mod P для подмножества Vk → {V2=4; V4=11; V5=16; V6=29}.
S2 = sgrt V2-1 mod P = sgrt 9 mod 35 = 3 mod 35 → 3;
S4 = sgrt V4-1 mod P = sgrt 16 mod 35 = 4 mod 35 → 4;
S5 = sgrt V5-1 mod P = sgrt 11 mod 35 = sgrt 46 mod 35 = sgrt 81 mod 35 =
= 9 mod 35 → 9;
S6 = sgrt V6-1 mod P = sgrt 29 mod 35 = sgrt 64 mod 35 = 8 mod 35 → 8;
Множество Sk → {S2 = 3; S4 = 4; S5 = 9; S6 = 8} → {3; 4; 9; 8} является секретным ключом абонента «А».
4. После формирования открытого и секретного ключей разрабатывается алгоритм аутентификации санкционированного пользователя «А» сетевой корпоративной системы на основе параллельной аутентификации с нулевой передачей знаний.
4.1. Абонент «А» задает случайное число r < P и вычисляет квадратичный вычет x = r2 mod P. Например: r = 12; x = 122 mod 35 = 144 mod 35 =
= 4 mod 35 → 4. Значение квадратичного вычета x = 4 абонент «А» отправляет в открытом виде по каналам теледоступа абоненту «В».
4.2. В свою очередь, абонент «В» формирует случайный двоичный код из k-бит, в рассматриваемом примере длина кодовой комбинации содержит столько же элементов, сколько десятичных чисел отображают секретный ключ абонента «А», т.е. k = 4. Например: bk → {b1b2b3b4} → {1101}.
Эту кодовую комбинацию абонент «В» отправляет абоненту «А» открыто по открытому каналу теледоступа.
4.3. Получив от абонента «В» кодовую комбинацию bk → {b1b2b3b4} → {1101}, абонент «А» вычисляет значение числа y:
y = r × ( × × … × ) mod P → r × ( × × × ) mod P →
→ 12 × ( 31 × 41 × 90 × 81 ) mod 35 → 1152 mod 35 → 32 mod 35 →32.
Вычисленное значение y = 32 абонент «А» отправляет абоненту «В» по открытому каналу.
4.4. В свою очередь, получив от абонента «А» численное значение
y = 32 , абонент «В» проверяет равенство:
x mod P = y2 × ( × … ) mod P
x mod P = y2 × ( × × × ) mod P
4 mod 35 = 322 × (41 × 111 × 160 × 291) mod35
4 mod 35 = 1024 × (4 × 11 × 1 × 29) mod35
4 mod 35 = 1306624 mod 35
4 mod 35 = 4 mod 35
Сравнивая вычисленное значение x mod P = y2 × ( × × × ) mod P = 4 mod 35 на стороне абонента «В» и принятое от абонента «А» значение квадратичного вычета x = r2 mod P = 4 mod 35, абонент «В» убеждается в их равенстве, что позволяет со стороны абонента «В» сделать вывод, что абоненту «А» известно значение его секретного ключа Sk → {S2 = 3; S4 = = 4; S5 = 9; S6 = 8} → {3; 4; 9; 8}. Этот секретный ключ абонент «А» никогда никому не пересылал ( в том числе и абоненту «В») и хранит только у себя под секретом, т.е. знание секретного ключа пользователя «А» недоступно всем пользователям корпоративной системы, поэтому этот метод и назван методом аутентификации с нулевой передачей знаний.
Пример 2. Протокол упрощенной аутентификации с нулевой передачей знаний на основе факторизации больших чисел.
Алгоритм протокола параллельной аутентификации пользователей, процессов и устройств с нулевой передачей знаний на основе факторизации больших чисел определится как:
1. Изначально на рабочем компьютере пользователя случайным образом выбираются два больших простых числа. Для примера алгоритм рассматривается на небольших простых числах p =7; g =11.
2. Вычисляется модуль системы параллельной аутентификации
n = p × g = 7 × 11 = 77
3. Определяется множество квадратичных вычетов по модулю n = 77.
N |
Xi2 ≡ N2 mod n |
N |
Xi2 ≡ N2 mod n |
1 |
X12 ≡ 1 mod 77 |
40 |
X402 ≡ 1600 mod 77 ≡ 60 mod 77 |
2 |
X22 ≡ 4 mod 77 |
41 |
X412 ≡ 1681 mod 77 ≡ 64 mod 77 |
3 |
X32 ≡ 9 mod 77 |
42 |
X422 ≡ 1764 mod 77 ≡ 70 mod 77 |
4 |
X42 ≡ 16 mod 77 |
43 |
X432 ≡ 1849 mod 77 ≡ 1 mod 77 |
5 |
X52 ≡ 25 mod 77 |
44 |
X442 ≡ 1936 mod 77 ≡ 11 mod 77 |
6 |
X62 ≡ 36 mod 77 |
45 |
X452 ≡ 2025 mod 77 ≡ 23 mod 77 |
7 |
X72 ≡ 49 mod 77 |
46 |
X462 ≡ 2116 mod 77 ≡ 37 mod 77 |
8 |
X82 ≡ 64 mod 77 |
47 |
X472 ≡ 2209 mod 77 ≡ 53 mod 77 |
9 |
X92 ≡ 81 mod 77 ≡ 4 mod 77 |
48 |
X482 ≡ 2304 mod 77 ≡ 71 mod 77 |
10 |
X102 ≡ 100 mod 77 ≡ 23 mod 77 |
49 |
X492 ≡ 2401 mod 77 ≡ 14 mod 77 |
11 |
X112 ≡ 121 mod 77 ≡ 44 mod 77 |
50 |
X502 ≡ 2500 mod 77 ≡ 36 mod 77 |
12 |
X122 ≡ 144 mod 77 ≡ 67 mod 77 |
51 |
X512 ≡ 2601 mod 77 ≡ 60 mod 77 |
13 |
X132 ≡ 169 mod 77 ≡ 15 mod 77 |
52 |
X522 ≡ 2704 mod 77 ≡ 9 mod 77 |
14 |
X142 ≡ 196 mod 77 ≡ 42 mod 77 |
53 |
X532 ≡ 2809 mod 77 ≡ 37 mod 77 |
15 |
X152 ≡ 225 mod 77 ≡ 71 mod 77 |
54 |
X542 ≡ 2916 mod 77 ≡ 67 mod 77 |
16 |
X162 ≡ 256 mod 77 ≡ 25 mod 77 |
55 |
X552 ≡ 3025 mod 77 ≡ 22 mod 77 |
17 |
X172 ≡ 289 mod 77 ≡ 58 mod 77 |
56 |
X562 ≡ 3136 mod 77 ≡ 56 mod 77 |
18 |
X182 ≡ 324 mod 77 ≡ 16 mod 77 |
57 |
X572 ≡ 3249 mod 77 ≡ 15 mod 77 |
19 |
X192 ≡ 361 mod 77 ≡ 53 mod 77 |
58 |
X582 ≡ 3364 mod 77 ≡ 53 mod 77 |
20 |
X202 ≡ 400 mod 77 ≡ 15 mod 77 |
59 |
X592 ≡ 3481 mod 77 ≡ 16 mod 77 |
21 |
X212 ≡ 441 mod 77 ≡ 56 mod 77 |
60 |
X602 ≡ 3600 mod 77 ≡ 58 mod 77 |
22 |
X222 ≡ 484 mod 77 ≡ 22 mod 77 |
61 |
X612 ≡ 3721 mod 77 ≡ 25 mod 77 |
23 |
X232 ≡ 529 mod 77 ≡ 67 mod 77 |
62 |
X622 ≡ 3844 mod 77 ≡ 71 mod 77 |
24 |
X242 ≡ 576 mod 77 ≡ 37 mod 77 |
63 |
X632 ≡ 3969 mod 77 ≡ 42 mod 77 |
25 |
X252 ≡ 625 mod 77 ≡ 9 mod 77 |
64 |
X642 ≡ 4096 mod 77 ≡ 15 mod 77 |
26 |
X262 ≡ 676 mod 77 ≡ 60 mod 77 |
65 |
X652 ≡ 4225 mod 77 ≡ 67 mod 77 |
27 |
X272 ≡ 729 mod 77 ≡ 36 mod 77 |
66 |
X662 ≡ 4356 mod 77 ≡ 44 mod 77 |
28 |
X282 ≡ 784 mod 77 ≡ 14 mod 77 |
67 |
X672 ≡ 4489 mod 77 ≡ 23 mod 77 |
29 |
X292 ≡ 841 mod 77 ≡ 71 mod 77 |
68 |
X682 ≡ 4624 mod 77 ≡ 4 mod 77 |
30 |
X302 ≡ 900 mod 77 ≡ 53 mod 77 |
69 |
X692 ≡ 4761 mod 77 ≡ 64 mod 77 |
31 |
X312 ≡ 961 mod 77 ≡ 37 mod 77 |
70 |
X702 ≡ 4900 mod 77 ≡ 49 mod 77 |
32 |
X322 ≡ 1024 mod 77 ≡ 23 mod 77 |
71 |
X712 ≡ 5041 mod 77 ≡ 36 mod 77 |
33 |
X332 ≡ 1089 mod 77 ≡ 11 mod 77 |
72 |
X722 ≡ 5184 mod 77 ≡ 25 mod 77 |
34 |
X342 ≡ 1156 mod 77 ≡ 1 mod 77 |
73 |
X732 ≡ 5329 mod 77 ≡ 16 mod 77 |
35 |
X352 ≡ 1225 mod 77 ≡ 70 mod 77 |
74 |
X742 ≡ 5476 mod 77 ≡ 9 mod 77 |
36 |
X362 ≡ 1296 mod 77 ≡ 64 mod 77 |
75 |
X752 ≡ 5625 mod 77 ≡ 4 mod 77 |
37 |
X372 ≡ 1369 mod 77 ≡ 60 mod 77 |
76 |
X762 ≡ 5776 mod 77 ≡ 1 mod 77 |
38 |
X382 ≡ 1444 mod 77 ≡ 58 mod 77 |
77 |
X772 ≡ 5929 mod 77 ≡ 0 mod 77 |
39 |
X392 ≡ 1521 mod 77 ≡ 58 mod 77 |
4. Анализ полученных квадратичных вычетов по модулю n = 77
(Xi2 mod 77) позволяет сформировать идентичные группы, имеющие решения при Xi = ?
Nгр Xi |
Квадратичные вычеты Xi2 ≡ |
Имеет решение при Xi = |
1 |
Xi2 ≡ 1 mod 77 |
X = 1; X = 43; X = 34; X = 76 |
2 |
Xi2 ≡ 4 mod 77 |
X = 2; X = 9; X = 68; X = 75 |
3 |
Xi2 ≡ 9 mod 77 |
X = 3; X = 25; X = 52; X = 74 |
4 |
Xi2 ≡ 16 mod 77 |
X = 4; X = 18; X = 59; X = 73 |
5 |
Xi2 ≡ 25 mod 77 |
X = 5; X = 16; X = 61; X = 72 |
6 |
Xi2 ≡ 36 mod 77 |
X = 6; X = 27; X = 50; X = 71 |
7 |
Xi2 ≡ 49 mod 77 |
X = 7; X = 70; |
8 |
Xi2 ≡ 64 mod 77 |
X = 8; X = 36; X = 41; X = 69 |
9 |
Xi2 ≡ 23 mod 77 |
X = 10; X = 38; X = 45; X = 67 |
10 |
Xi2 ≡ 44 mod 77 |
X = 11; X = 66; |
11 |
Xi2 ≡ 67 mod 77 |
X = 12; X = 23; X = 54; X = 65 |
12 |
Xi2 ≡ 15 mod 77 |
X = 13; X = 20; X = 57; X = 64 |
13 |
Xi2 ≡ 42 mod 77 |
X =14; X = 63; |
14 |
Xi2 ≡ 71 mod 77 |
X = 15; X = 29; X = 48; X = 62 |
15 |
Xi2 ≡ 58 mod 77 |
X = 17; X = 38; X = 39; X = 60 |
16 |
Xi2 ≡ 53 mod 77 |
X = 19; X = 30; X = 47; X = 58 |
17 |
Xi2 ≡ 56 mod 77 |
X = 21; X = 56; |
18 |
Xi2 ≡ 22 mod 77 |
X = 22; X = 55; |
19 |
Xi2 ≡ 37 mod 77 |
X = 24; X = 31; X = 46; X = 53 |
20 |
Xi2 ≡ 60 mod 77 |
X = 26; X = 37; X = 40; X = 51 |
21 |
Xi2 ≡ 14 mod 77 |
X = 28; X = 49; |
22 |
Xi2 ≡ 11 mod 77 |
X = 33; X = 44; |
23 |
Xi2 ≡ 70 mod 77 |
X = 35; X = 42; |
24 |
Xi2 ≡ 0 mod 77 |
X = 77; |
5. Составляется множество квадратичных вычетов взаимнопростых с «n» (n = 77), их число определится как:
m = = = 15
Элементы такого множества {Vi} определятся как:
{ Vi } → { V1 = 1; V2 = 4; V3 = 9; V4 = 16; V5 = 25; V6 = 36; V7 = 64;
V8 = 23; V9 = 67; V10 = 15; V11 = 71; V12 = 58; V13 = 53; V14 = 37;
V15 = 60; }.
Так как элементы множества { Vi } взаимнопросты с модулем n = 77, то для их значений существуют обратные значения Vi -1 mod n . Обратные значения Vi -1 mod n определяются из условия, что известна функция Эйлера
φ (n) = (p 1) × (g 1) = 6 × 10 = 60
В этом случае обратные значения элементов { Vi } определятся как:
Vi -1 mod n = Vi φ(n)-1 mod n .
Для рассматриваемого примера обратное значение Vi -1 mod n определится как:
Vi -1 mod n = Vi φ(n)-1 mod n = Vi 60-1 mod 77 = Vi 59 mod 77 ,
Следовательно, множество обратных значений { Vi } определится как:
V1 -1 mod 77 ≡ 1-1 mod 77 ≡ 159 mod 77 ≡ 1 mod 77
V2 -1 mod 77 ≡ 4-1 mod 77 ≡ 459 mod 77 ≡ 58 mod 77
V3 -1 mod 77 ≡ 9-1 mod 77 ≡ 959 mod 77 ≡ 60 mod 77
V4 -1 mod 77 ≡ 16-1 mod 77 ≡ 1659 mod 77 ≡ 53 mod 77
V5 -1 mod 77 ≡ 25-1 mod 77 ≡ 2559 mod 77 ≡ 37 mod 77
V6 -1 mod 77 ≡ 36-1 mod 77 ≡ 3659 mod 77 ≡ 15 mod 77
V7 -1 mod 77 ≡ 64-1 mod 77 ≡ 6459 mod 77 ≡ 71 mod 77
V8 -1 mod 77 ≡ 23-1 mod 77 ≡ 2359 mod 77 ≡ 67 mod 77
V9 -1 mod 77 ≡ 67-1 mod 77 ≡ 6759 mod 77 ≡ 23 mod 77
V10 -1 mod 77 ≡ 15-1 mod 77 ≡ 1559 mod 77 ≡ 36 mod 77
V11 -1 mod 77 ≡ 71-1 mod 77 ≡ 7159 mod 77 ≡ 64 mod 77
V12 -1 mod 77 ≡ 58-1 mod 77 ≡ 5859 mod 77 ≡ 4 mod 77
V13 -1 mod 77 ≡ 53-1 mod 77 ≡ 5359 mod 77 ≡ 16 mod 77
V14 -1 mod 77 ≡ 37-1 mod 77 ≡ 3759 mod 77 ≡ 25 mod 77
V15 -1 mod 77 ≡ 60-1 mod 77 ≡ 6059 mod 77 ≡ 9 mod 77
6. Производится вычисление значений квадратных корней по заданному модулю «n» (в рассматриваемом примере n = 77) из вычисленных значений элементов множества обратных величин Vi -1 mod n . Примем Si как числовое значение квадратных корней по заданному модулю «n» .
Si ≡ sgrt Vi -1 mod n
(для рассматриваемого примера Si ≡ sgrt Vi -1 mod n ≡ Si ≡ sgrt Vi -1 mod 77)
S1 ≡ sgrt V1 -1 mod 77 ≡ sgrt 1 mod 77 ≡ 1 mod 77
S2 ≡ sgrt V2 -1 mod 77 ≡ sgrt 58 mod 77 ≡ sgrt 135 mod 77 ≡ sgrt 212 mod 77 ≡
≡ sgrt 289 mod 77 ≡ 17 mod 77 ;
S3 ≡ sgrt V3 -1 mod 77 ≡ sgrt 60 mod 77 ≡ sgrt 137 mod 77 ≡ sgrt 214 mod 77 ≡
≡ sgrt 291 mod 77 ≡ sgrt 368 mod 77 ≡ sgrt 445 mod 77 ≡ sgrt 522 mod 77 ≡
≡ sgrt 599 mod 77 ≡ sgrt 676 mod 77 ≡ 26 mod 77;
S4 ≡ sgrt V4 -1 mod 77 ≡ sgrt 53 mod 77 ≡ sgrt 130 mod 77 ≡ sgrt 207 mod 77 ≡
≡ sgrt 284 mod 77 ≡ sgrt 361 mod 77 ≡ 19 mod 77;
S5≡ sgrt V5 -1 mod 77 ≡ sgrt 37 mod 77 ≡ sgrt 114 mod 77 ≡ sgrt 191 mod 77 ≡
≡ sgrt 268 mod 77 ≡ sgrt 345 mod 77 ≡ sgrt 422 mod 77 ≡ sgrt 499 mod 77 ≡
≡ sgrt 576 mod 77 ≡ 24 mod 77;
S6 ≡ sgrt V6 -1 mod 77 ≡ sgrt 15 mod 77 ≡ sgrt 92 mod 77 ≡ sgrt 169 mod 77 ≡
≡ 13 mod 77;
S7 ≡ sgrt V7 -1 mod 77 ≡ sgrt 71 mod 77 ≡ sgrt 148 mod 77 ≡ sgrt 225 mod 77 ≡
≡ 15 mod 77;
S8 ≡ sgrt V8 -1 mod 77 ≡ sgrt 67 mod 77 ≡ sgrt 144 mod 77 ≡ 12 mod 77;
S9 ≡ sgrt V9 -1 mod 77 ≡ sgrt 23 mod 77 ≡ sgrt 100 mod 77 ≡ 10 mod 77;
S10 ≡ sgrt V10 -1 mod 77 ≡ sgrt 36 mod 77 ≡ 6 mod 77;
S11 ≡ sgrt V11 -1 mod 77 ≡ sgrt 64 mod 77 ≡ 8 mod 77;
S12 ≡ sgrt V12 -1 mod 77 ≡ sgrt 4 mod 77 ≡ 2 mod 77;
S13 ≡ sgrt V13 -1 mod 77 ≡ sgrt 16 mod 77 ≡ 4 mod 77;
S14 ≡ sgrt V14 -1 mod 77 ≡ sgrt 25 mod 77 ≡ 5 mod 77;
S15 ≡ sgrt V15 -1 mod 77 ≡ sgrt 9 mod 77 ≡ 3 mod 77;
7. Множество { Vi } → { V1 = 1; V2 = 4; V3 = 9; V4 = 16; V5 = 25; V6 = 36; V7 = 64; V8 = 23; V9 = 67; V10 = 15; V11= 71; V12 = 58; V13 = 53; V14 = 37;
V15 = 60 } является множеством открытых ключей КО системы идентификации пользователей, процессов и устройств , организованной по алгоритму с нулевой передачей знаний. Для рассматриваемого примера абонентом-инициатором идентификации является абонент «А».
8. Множество { Si } → { S1 = 1; S2 = 17; S3 = 26; S4 = 19; S5 = 24; S6 = 13; S7 = 15; S8 = 12; S9 = 10; S10 = 6; S11= 8; S12 = 2; S13 = 4; S14 = 5; S15 = 3 } является множеством закрытых ( секретных ) ключей КЗ абонента-инициатора процесса идентификации ( абонента «А» ).
9. Из полученных множеств открытых ключей { Vi } и закрытых (секретных) ключей { Si } случайным образом абонентом-инициатором (абонентом «А») выбираются парные ключи КО и КЗ. Условно примем (для рассматриваемого) примера для абонента-инициатора процесса идентификации
КО = V4 = 16 mod 77 → 16; КЗ = S4 = 19 mod 77 → 19.
10. Процедура упрощенной схемы идентификации с нулевой передачей знаний осуществляется по следующему алгоритму:
10.1. Абонент-инициатор поцесса идентификации ( абонент «А» ) выбирает случайным образом целое число r < n ( в рассматриваемом примере
n = 77, следовательно r должно быть меньше n r < n ), принимается r = 23. Затем абонент «А» вычисляет квадратичный вычет числа r = 23 по модулю n (n = 77) :
x mod n ≡ r2 mod n ≡ 232 mod 77 ≡ 529 mod 77 ≡ 67 mod 77 → 67.
Полученное значение квадратичного вычета x = 67 абонент-инициатор ( абонент «А» ) отправляет абоненту «В» .
10.2. В свою очередь абонент «В» отправляет абоненту «А» число «в» (в = 1или в = 0).
10.3. Если абонент «А» получает от абонента «В» значение числа
в = 0, то абонент «А» отправляет абоненту «В» значение числа r (r = 23).
10.4. Если абонент «А» получает от абонента «В» значение числа в = 1, то абонент «А» вычисляет значение:
Y ≡ r × Si mod n ≡ r × S4 mod n ≡ 23 × 19 mod 77 ≡ 437 mod 77 ≡ 52 mod 77 → 52.
10.5. После выполненных вычислений абонент-инициатор «А» отправляет значение Y = 52 абоненту «В».
11. В случае, если абонент «В» выбрал значение в = 0, то при получении от абонента «А» значение r = 23, абонент «В» проверяет условие :
x mod n ≡ r2 mod n
Предворительно абонент «В» получил значение x mod n от абонента «А» (пункт 10.1)
x mod n ≡ 67 mod 77 → 67
r2 mod n ≡ 232 mod 77 ≡ 529 mod 77 ≡ 67 mod 77 → 67
Равенство принятого значения x mod n ≡ 67 mod 77 → 67 абонентом «В» и вычисленного им значения r2 mod n ≡ 232 mod 77 ≡ 529 mod 77 ≡
67 mod 77 → 67 убеждает его, что абонент-инициатор «А» знает значение
x mod n ≡ 67 mod 77 → 67 и признает абонента «А» доверительным.
12. В случае, если абонент «В» выбрал значение в = 1, то при получении от абонента «А» значение Y ≡ r × Si mod n ≡r × S4 mod n≡23 × 19 mod 77 ≡ 437 mod 77 ≡ 52 mod 77 → 52, абонент «В» проверяет условие:
x mod n ≡ Y2 × Vi mod n
x mod n ≡ 67 mod 77 → 67
Y2 × Vi mod n ≡ Y2 × V4 mod 77 ≡ 522 × 16 mod 77 ≡ 2704 × 16 mod 77 ≡
≡ 43264 mod 77 ≡ 67 mod 77 → 67.
Равенство значений x mod n ≡ 67 mod 77 → 67 и Y2 × Vi mod n ≡
67 mod 77 → 67 доказывает, что абонент «А» знает значение
Si ≡ sgrt Vi -1 mod n ≡ sgrt V4 -1 mod 77 ≡ 19 mod 77,
т.е. знает значение случайно заданного значения секретного ключа Si .
Следовательно, абонент «А» доверителен.
Вышеуказанные пункты алгоритма идентификации и аутентификации абонент «А» образуют один цикл, называемый циклом аккредитации. На практике абоненты «А» и «В» повторяют этот цикл t раз при различных случайных значениях «r» и «в». Вероятность маскарада при t циклах определится как Pi = . Важным условием при такой организации процесса аутентификации является исключение выбора значения «r» одинаковым в различных циклах аккредитации.
Пример 2. Протокол параллельной аутентификации с нулевой передачей знаний на основе факторизации больших чисел.
В рассматриваемом примере множество { Vi } → { V1 = 1; V2 = 4; V3 = 9; V4 = 16; V5 = 25; V6 = 36; V7 = 64; V8 = 23; V9 = 67; V10 = 15; V11= 71; V12 = 58; V13 = 53; V14 = 37; V15 = 60 } как и в предылущем примере упрощенной схемы аутентификации с нулевой передачей знаний является множеством открытых ключей КО системы идентификации пользователей, процессов и устройств , организованной по алгоритму с нулевой передачей знаний.
Множество { Si } → { S1 = 1; S2 = 17; S3 = 26; S4 = 19; S5 = 24; S6 = 13; S7 = 15; S8 = 12; S9 = 10; S10 = 6; S11= 8; S12 = 2; S13 = 4; S14 = 5; S15 = 3 } является множеством закрытых ( секретных ) ключей КЗ абонента-инициатора процесса идентификации ( абонента «А» ), каждый элемент которого определяется как наименьшее значение Si и детерминирован как:
Si ≡ sgrt Vi -1 mod n
1. Открытый ключ абонента-инициатора «А» случайным образом формируется из множества { Vi } → { V1 = 1; V2 = 4; V3 = 9; V4 = 16; V5 = 25; V6 = 36; V7 = 64; V8 = 23; V9 = 67; V10 = 15; V11= 71; V12 = 58; V13 = 53; V14 = 37; V15 = 60 };
2. Секретный ключ формируется в полном соответствии с элементами отрытого ключа { Si } → { S1 = 1; S2 = 17; S3 = 26; S4 = 19; S5 = 24; S6 = 13; S7 = 15; S8 = 12; S9 = 10; S10 = 6; S11= 8; S12 = 2; S13 = 4; S14 = 5; S15 = 3 }.
3. Абонент-инициатор «А» случайным образом задает число r < n например число r = 23, после чего вычисляет значение x mod n ≡ r2 mod n ≡
232 mod 77 ≡ 67 mod 77 → 77. Вычисленное значение квадратичного вычета
x mod n ≡ 67 mod 77 → 77 абонент «А» отправляет абоненту «В» .
4. В свою очередь, абонент «В» формирует случайным образом двоичный код ( например: { b1 b2 b3 b4 b5 b6 b7 } → {0110101} и отправляет его абоненту «А».
5. Получив двоичную кодовую комбинацию {0110101} от абонента«В», абонент «А» из множества элементов открытого ключа { Vi } и, соответственно, из множества соответствующих элементов закрытого (секретного) ключа { Si } формирует сеансовый семиэлементный открытый ключ и, соответственно, закрытый ключ. Например:
{ Viсеанс } → { V3 = 9; V5 = 25; V8 = 23; V10 = 15; V12 = 58; V13 = 53; V14 = 37; } - окрытый сеансовый ключ абонента «А»;
{ Siсеанс } → { S3 = 26; S5 = 24; S8 = 12; S9 = 10; S10 = 6; S12 = 2; S13 = 4; S14 = 5; } закрытый (секретный) сеансовый ключ абонента «А».
6. Абонент-инициатор «А» вычисляет значение «y»:
y ≡ r × ( S3b1 × S5b2 × S8b3 × S10b4× S12b5× S13b6× S14b7 ) mod n ≡
23 × ( 260 × 241 × 121 × 60 × 21 × 40 × 51 ) mod 77 ≡ 24 × (24×12×2×5) mod 77 ≡
23 × 2880 mod 77 ≡ 66240 mod 77 ≡ 20 mod 77 → 20.
Значение y ≡ 20 mod 77 → 20 абонент «А» отправляет по открытым каналам абоненту «В».
7. Абонент «В» получив значение y ≡ 20 mod 77 → 20 от абонента «А» производит вычисление значения «x»:
x mod n ≡ y2 × ( V3b1 × V5b2 × V8b3 × V10b4× V12b5× V13b6× V14b7 ) mod n ≡
400×(90×251× 231 × 150 × 581 × 530 × 371 )mod 77≡400×(25×23×58×37)mod77≡
400 × 1233950 mod 77 ≡ 493580000 mod 77 ≡ 67 mod 77 → 67 .
После проведенного вычисления x mod n абонент «В» производит сравнение его численного значения со значением x mod n ранее полученным от абонента «А» (пункт 3), убеждается в их равенстве и из чего делает заключение, что абоненту «А» известно значение соответствующего сеансового секретного ключа { Siсеанс } → { S3 = 26; S5 = 24; S8 = 12; S9 = 10; S10 = 6; S12 = 2; S13 = 4; S14 = 5; }, которое абонент «А» никогда никому не передавал, и, следовательно, абонент «А» является доверительным абонентом.
Для повышения достоверности распознавания санкционированных пользователей, процессов или устройств взаимодействующие объекты повторяют этот протокол t раз при различно задаваемых двоичных кодовых комбинаций со стороны абонента «В». Вероятность «маскарада» в этом случае определится как pt = .
Где: k количество элементов двоичной кодовой комбинации, задаваемой абонентом «В»;
t число циклов аккредитации.
Так в рассматриваемом примере k=7; t=1, следовательно pt = = = .
Для обеспечения гарантированной стойкости к «маскараду» размер модуля исчислений «n» выбирается ≥ 512 бит.
В протокол алгоритма идентификации с нулевой передачей знаний включают и идентификационную информацию. Например, формируется исходный текст о владельце идентификационной карты (ПИК), которая содержит данные: имя, фамилию, адрес, ПИН-код, дату окончания действия карты и т.д. Эта информация формируется в Центре выдачи интеллектуальных карт по заявке пользователя «А». После составления информационного образа производится его шифрование и формирование функции свертки (хэш-функции криптограммы исходного информационного образа).
Например хэш-значение интеллектуальной карты определится как
h (M) → 3; 7; 8; 13; 15; 16.
В этом случае абонентом инициатором является абонент «А» - владелец интеллектуалдьной карты (ПИК), абонентом удостоверяющим подлинность абонента «А» является Центр доверия (например, банк эквайер).
Рассмотрим процесс такого распознавания на следующем примере.
Примем модуль производимых вычислений, как и в предыдущем примере: n = p × g = 7 × 11 = 77.