русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 1102; Нарушение авторских прав


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

Пусть Iа – идентификатор стороны А; DA – секретное криптопреобразование стороны А (секретный ключ); ЕА – открытое криптопреобразование стороны А (открытый ключ); TА – временной штамп стороны А; RА – случайное число, выбранное стороной А; СА – сертификат стороны.

IB – идентификатор стороны В; DB – секретное криптопреобразование стороны В (секретный ключ); EB – открытое криптопреобразование стороны В (открытый ключ); TB – временной штамп стороны В; RB – случайное число, выбранное стороной В.

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

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

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

Пользователь А:

1. Выбирает RA.

2. Формирует сообщение М = (ТА, RA, IB, данные), где данные произвольны. Данные могут быть зашифрованы с помощью EB для секретности, например, когда А передает В ключ шифрования данных.

3. Посылает (СА, DA(M)) пользователю В.

Пользователь В:

1. Расшифровывает СА и получает ЕА. Проверяет дату окончания срока действия сертификата;

2. Использует ЕА для расшифрования DA(M), проверяя как подлинность подписи А, так и целостность подписанной информации.

3. Проверяет IB, содержащееся в М, на точность.

4. Проверяет ТА в М.

5. Дополнительно проверяет RA, содержащееся в М.

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



Первая схема подобного рода предложена в 1986 г. Фейге, Фиатом и Шамиром. Суть ее состоит в следующем:

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

В процессе аутентификации участвуют две стороны: сторона А, доказывающая свою подлинность, и сторона В – проверяющий.

Доверенный арбитр (центр распределения ключей) выбирает некоторое целое число v, являющееся квадратичным вычетом по модулю п, т.е. сущ. x : x2 = v(mod n) , и взаимно простым с n. Это значение v передается А в качестве открытого ключа. Затем вычисляется наименьшее значение s, такое что s = (v1)1/ 2 (mod n). Это значение будет секретным ключом стороны А.

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

1. Сторона А выбирает случайное число r, 0 < r < n. Затем она вычисляет х = r2 mod n и отправляет его стороне В.

2. Сторона В посылает А случайный бит b.

3. Если b = 0, то А отправляет В число r. Если b = 1, то А отправляет В: у = r*s (mod n).

4. Если b = 0, то В проверяет, что х = r2 (mod n), чтобы убедиться, что А знает квадратный корень из х. Если b = 1, то сторона В проверяет, что х =y2*v (mod n), чтобы убедиться, что А знает квадратный корень из v–1.

Шаги 1–4 образуют один цикл протокола. Стороны повторяют этот цикл t раз при разных случайных значениях r и b. Если сторона А не знает значения s, она может выбрать такое r, которое позволит ей обмануть В в случае b = 0 или b = 1, но не в обоих случаях одновременно. Вероятность обмана в одном цикле составляет 0,5. Вероятность обмана в t циклах равна 2–t.

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

Способ, требующий только одного раунда обмена, но требующий большего объема вычислений, был предложен Гиллоу и Кискатером.

Пусть I – идентификационная информация стороны А (или значение ее хэш-функции); n – открытое произведение двух секретных простых чисел; v – открытое значение (показатель степени).

Секретный ключ g стороны А выбирается так, что Igv =1(mod n) .

Сторона А отправляет В свои идентификационные данные I. Протокол доказательства:

1. А выбирает случайное целое r (1 < r < n – 1), вычисляет Т = rv (mod n) и отправляет это значение стороне В.

2. В выбирает случайное целое d (1 < d < n – 1) и отправляет это число стороне А.

3. А вычисляет D = rgd (mod n) и отправляет это значение В.

4. В вычисляет Т' =DvId (mod n) и проверяет выполнение равенства Т'= Т. Если оно выполняется, то проверка считается завершенной успешно.



<== предыдущая лекция | следующая лекция ==>
Использование сертификатов | Требования к идентификации и аутентификации


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.