Главная страница
Навигация по странице:

  • 1. Цель работы Изучить основные принципы и особенности алгоритма идентификации с нулевой передачей знаний.2. Рекомендуемые источники

  • 7. Методические указания к выполнению работы

  • 9.Общие сведения 9.1. Основные понятия и определения

  • 9.2. Идентификация и аутентификация пользователя.

  • 9.2.1. Типовые схемы идентификации и аутентификации пользователя

  • 9.2.2. Особенности применения пароля для аутентификации пользователя.

  • 9.2.3. Биометрическая идентификация и аутентификация пользователя.

  • 9.3. Взаимная проверка подлинности пользователей

  • 9.4. Протоколы идентификации с нулевой передачей знаний

  • 9.4.1. Упрощенная схема идентификации с нулевой передачей знаний

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

  • Методичка МОИБ.. Методические разработки к лабораторным работам по дисциплине средства обеспечения информационной безопасности в сетях передачи данных для студентов специальностей 200900, 201000, 201800


    Скачать 0.98 Mb.
    НазваниеМетодические разработки к лабораторным работам по дисциплине средства обеспечения информационной безопасности в сетях передачи данных для студентов специальностей 200900, 201000, 201800
    АнкорМетодичка МОИБ..doc
    Дата29.03.2018
    Размер0.98 Mb.
    Формат файлаdoc
    Имя файлаМетодичка МОИБ..doc
    ТипМетодические разработки
    #17365
    страница5 из 7
    1   2   3   4   5   6   7

    Л
    83
    абораторная работа №5



    ИЗУЧЕНИЕ АЛГОРИТМА ИДЕНТИФИКАЦИИ ГИЛЛОУ-КУИСКУОТЕРА
    1. Цель работы

    Изучить основные принципы и особенности алгоритма идентификации с нулевой передачей знаний.
    2. Рекомендуемые источники

    1. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях /Под ред. В.Ф. Шаньгина.- 2-е изд.. перераб. и доп..-М.: Радио и связь, 2001, с. 143-160.

    2. Соколов А.В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах.- М.: ДМК Пресс, 2002, с. 239-268.

    3. Б. Шнайер. Прикладная криптография.-М.: Триумф, 2002, с. 563-572.


    3. Подготовка к работе

    1. Ознакомиться с алгоритмом идентификации по одному из рекомендованных источников/1-3/.

    2. Ознакомиться с содержанием данной методической разработки.

    3. Подготовить бланк отчета.


    4. Контрольные вопросы

    1. Сущность процедуры и основные алгоритмы идентификации.

    2. Сущность процедуры и основные алгоритмы аутентификации.

    3. Т
      84
      иповые схемы идентификации и аутентификации пользователя.

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

    5. Сущность взаимной проверки подлинности на основе процедуры «рукопожатия».

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

    7. Упрощенная схема идентификации с нулевой передачей знаний.

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

    9. Математические соотношения, положенные в основу алгоритма Гиллоу-Куискуотера.

    10. Сравнительный анализ процедуры «рукопожатия» и протоколов с нулевой передачей знаний: упрощенная схема, параллельная схема, схема Гиллоу-Куискуотера.


    5. Содержание работы

    1. Ознакомиться с постановкой задачи идентификации и аутентификации пользователей.

    2. Изучить особенности алгоритма идентификации Гиллоу-Куискуотера.

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


    6. Содержание отчета

    1. Цель работы.

    2. Основные математические соотношения алгоритма Гиллоу-Куискуотера.

    3. Значения параметров, использованные в сеансах лабораторного задания.



    85


    7. Методические указания к выполнению работы

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

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

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

    Аутентификация - процедура проверки подлинности, позволяющая достоверно убедиться, что субъект является именно тем, кем он себя объявляет.

    Идентификация и аутентификация - взаимосвязанные процессы распознавания и проверки подлинности субъектов.

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

    Р
    86
    ассмотренные процедуры инициализации являются процедурами защиты и относятся к одному субъекту.

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

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

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

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

    Одним из таких алгоритмов является алгоритм Гиллоу-Куискуотера.

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

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

    Строка W является аналогом открытого ключа. Другой открытой информацией, которую используют все карты, участвующие в данном приложении, являются модуль n и показатель степени V. Модуль n является произведением двух секретных простых чисел.

    Секретным ключом стороны А является величина G, выбираемая таким образом, чтобы выполнялось соотношение

    .

    Сторона А отправляет стороне В свои идентификационные данные W. Далее ей нужно доказать стороне В, что эти идентификационные данные принадлежат именно ей. Чтобы добиться этого, сторона А должна убедить сторону В, что ей известно значение О.

    Рассмотрим протокол доказательства подлинности А без передачи стороне В значения О:

    1. Сторона А выбирает случайное целое х, такое, что

    1 < х n - 1 . Она вычисляет



    и отправляет это значение стороне В.

    2. Сторона В выбирает случайное целое d, такое, что

    1 < d n - 1 , и отправляет это значение d стороне А.

    3. Сторона А вычисляет



    и отправляет это значение стороне В.

    4. Сторона В вычисляет значение


    88
    .

    Если ,то проверка подлинности успешно завершена.

    Математические выкладки, использованные в этом протоколе, не очень сложны:

    ,

    поскольку G вычислялось таким образом, чтобы выполнялось соотношение

    .
    8. Лабораторное задание

    1. Вызов рабочего окна производится из Главного меню по пункту Идентификация.

    2. Процесс идентификации представлен на схеме. Имитируется установление подлинности мобильной станции со стороны базовой станции.

    3. Для удобства проведения работы размерности всех параметров взяты значительно меньшими реально допустимых значений с точки зрения защитных свойств. Например, на практике параметр n имеет длину 512 бит (2512= 4 10153).

    4. В работе значения идентификационной информации W выбираются произвольно в указанных пределах. Произвольно выбирается и показатель степени V. Для определения величины модуля n необходимо выбрать два достаточно больших простых числа р и qи найти n= рq. Выбор простых чисел произвести с помощью опции «ПРОСТЫЕ ЧИСЛА» из Главного меню.

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


    9.Общие сведения

    9.1. Основные понятия и определения

    С каждым объектом компьютерной системы (КС) связана некоторая информация, однозначно идентифицирующая его. Это может быть число, строка символов, алгоритм, определяющий данный объект. Эту информацию называют идентификатором объекта. Если объект имеет некоторый идентификатор, зарегистрированный в сети, он называется законным (легальным) объектом; остальные объекты относятся к незаконным (нелегальным).

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

    Следующий шаг – аутентификация объекта (проверка подлинности объекта). Эта процедура устанавливает, является ли данный объект именно таким, каким он себя объявляет.

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

    Перечисленные три процедуры инициализации являются процедурами защиты и относятся к одному объекту КС.

    П
    90
    ри защите каналов передачи данных подтверждение подлинности (аутентификация) объектов означает взаимное установление подлинности объектов, связывающихсямеждусобой по линиям связи. Процедура подтверждения подлинности выполняется обычно в начале сеанса в процессе установления соединения абонентов. Термин "соединение"указывает на логическую связь (потенциально двустороннюю) между двумя объектами сети. Цель данной процедуры – обеспечить уверенность, что соединение установлено с законным объектом и вся информация дойдет до места назначения.

    После того как соединение установлено, необходимо обеспечить выполнение требований защиты при обмене сообщениями:

    (а) получатель должен быть уверен в подлинности источника данных;

    (б) получатель должен быть уверен в подлинности передаваемых данных;

    (в) отправитель должен быть уверен в доставке данных получателю;

    (г) отправитель должен быть уверен в подлинности доставленных данных.

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

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

    91

    9.2. Идентификация и аутентификация пользователя.

    Прежде чем получить доступ к ресурсам компьютерной системы, пользователь должен пройти процесс представления компьютерной системе, который включает две стадии:

    1. идентификацию - пользователь сообщает системе по ее запросу свое имя (идентификатор);

    2. аутентификацию - пользователь подтверждает идентификацию вводя в систему уникальную, не известную другим пользователям информацию о себе (например, пароль).

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

    - во-первых, наличие соответствующего субъекта (модуля) аутентификации;

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

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

    - внешний аутентифицирующий объект, не принадлежащий системе;

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

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

    аутентификации пользователя

    Р
    92
    ассмотрим структуры данных и протоколы идентификации и аутентификации пользователя.

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

    IDi - неизменный идентификатор i-го пользователя, который является аналогом имени и используется для идентификации пользователя;

    Ki - аутентифицирующая информация пользователя, которая может изменяться и служит для аутентификации (например, пароль Pi = Ki).

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

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

    Рассмотрим две типовые схемы идентификации и аутентификации .
    Схема 1. В компьютерной системе выделяется объект-эталон для идентификации и аутентификации пользователей. Структура объекта-эталона для схемы 1 показана в таблице 5.1.


    93


    Таблица 5.1-Структура объекта-эталона для схемы 1

    Номер пользователя

    Информация для идентификации

    Информация для аутентификации

    1

    ID1

    E1

    2

    ID2

    E2

    ...

    ...

    ...

    N

    IDn

    En


    Здесь Ei = F (IDi, Ki),

    где F - функция, которая обладает свойством “невосстановимости” значения Ki по Ei и IDi. “Невосстановимость” Ki оценивается некоторой пороговой трудоемкостью Т решения задачи восстановления аутентифицирующей информации Ki по Еi и IDi. Кроме того, для пары Ki и Kj возможно совпадение соответствующих значений Е. В связи с этим вероятность ложной аутентификации пользователя не должна быть больше некоторого порогового значения Р. На практике задают Т = 1020 ... 1030, Р = 10-7 ... 10-9 .
    Протокол идентификации и аутентификации (для схемы 1).

    1. Пользователь предъявляет свой идентификатор ID.

    2. Если ID не совпадает ни с одним IDi , зарегистрированным в компьютерной системе, то идентификация отвергается - пользователь не допускается к работе, иначе (существует IDi = ID) устанавливается, что пользователь, назвавшийся пользователем i, прошел идентификацию.

    3. Субъект аутентификации запрашивает у пользователя его аутентификатор К.

    4. Субъект аутентификации вычисляет значение

    Y
    94
    = F (IDi, K).

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

    Данная схема идентификации и аутентификации пользователя может быть модифицирована. Модифицированная схема 2 обладает лучшими характеристиками по сравнению со схемой 1.
    Схема 2. В компьютерной системе выделяется модифицированный объект-эталон, структура которого показана в таблице 5.2.

    Таблица 5.2-Структура объекта-эталона для схемы 2

    Номер пользователя

    Информация для идентификации

    Информация для аутентификации

    1

    ID1, S1

    E1

    2

    ID2, S2.

    E2

    ...

    ...

    ...

    N

    IDn, Sn

    En


    В отличие от схемы 1, в схеме 2 значение

    Ei = F (Si, Ki),

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

    F - функция, которая обладает свойством “невосстановимости” значения Ki по Ei и Si.


    95

    Протокол идентификации и аутентификации (для схемы 2).

    1. Пользователь предъявляет свой идентификатор ID.

    2. Если ID не совпадает ни с одним IDi, зарегистрированным в компьютерной системе, то идентификация отвергается - пользователь не допускается к работе, иначе (существует IDi = ID) устанавливается, что пользователь, называвшийся пользователем i, прошел идентификацию.

    3. По идентификатору IDi выделяется вектор Si.

    4. Субъект аутентификации запрашивает у пользователя аутентификатор К.

    5. Субъект аутентификации вычисляет значение

    Y = F (Si, К).

    1. Субъект аутентификации производит сравнение значений Y и Еi. При совпадении этих значений устанавливается, что данный пользователь успешно аутентифицирован в системе. В противном случае аутентификация отвергается - пользователь не допускается к работе.

    Вторая схема аутентификации применяется в ОС UNIX. В качестве идентификатора ID используется имя пользователя (запрошенное по Loqin), в качестве аутентификатора Ki - пароль пользователя (запрошенный по Password), функция F представляет собой алгоритм шифрования DES. Эталоны для идентификации и аутентификации содержатся в файле Etc/passwd.

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

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

    аутентификации пользователя.

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

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





    Рисунок 5.1- Схема простой аутентификации с помощью пароля


    97

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

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

    Например, функция  () может быть определена следующим образом:

     (Р) = EР (ID),

    где Р - пароль отправителя,

    ID - идентификатор отправителя,

    EР - процедура шифрования, выполняемая с использованием пароля Р в качестве ключа.

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

    На практике пароли состоят только из нескольких букв, чтобы дать возможность пользователям запомнить их. Короткие пароли уязвимы к атаке полного перебора всех вариантов. Для того, чтобы предотвратить такую атаку, функцию (Р) определяют иначе, а именно:

     (Р) = E Р К (ID),

    г
    98
    де K и ID - соответственно ключ и идентификатор отправителя.

    Очевидно, значение  (Р) вычисляется заранее и хранится в виде ' (Р) в идентификационной таблице у получателя (рис. 5.2). Подтверждение подлинности состоит из сравнения двух отображений пароля  (РА) и ' (РА) и признания пароля РА , если эти отображения равны. Конечно, любой, кто получит доступ к идентификационной таблице, может незаконно изменить ее содержимое, не опасаясь, что эти действия будут обнаружены.




    Рисунок 5.2- Аутентификация с помощью пароля с использованием идентификационной таблицы.
    9.2.3. Биометрическая идентификация и

    аутентификация пользователя.

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

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

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

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

    • неотделимость биометрических признаков от дееспособной личности;

    • трудность фальсификации биометрических признаков.


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

    • узор радужной оболочки и сетчатки глаз;

    • отпечатки пальцев;

    • геометрическая форма руки;

    • форма и размеры лица;

    • особенности голоса;

    • биомеханические характеристики рукописной подписи;

    • биомеханические характеристики “клавиатурного почерка”.

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

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

    • использующие рисунок радужной оболочки глаза;

    • использующие рисунок кровеносных сосудов сетчатки глаза.

    Поскольку вероятность повторения данных параметров равна 10-78, такие системы являются наиболее надежными среди всех биометрических систем. Такие средства идентификации применяются там, где требуется высокий уровень безопасности (например, в США в зонах военных и оборонных объектов).

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

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

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

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

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

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

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

    Д
    102
    ля проверки подлинности применяют следующие способы:

    • механизм запроса-ответа;

    • механизм отметки времени ("временной штемпель").

    Механизм запроса-ответа состоит в следующем. Если пользователь А хочет быть уверенным, что сообщения, получаемые им от пользователя В, не являются ложными, он включает в посылаемое для В сообщение непредсказуемый элемент – запрос X (например, некоторое случайное число). При ответе пользователь В должен выполнить над этим элементом некоторую операцию (например, вычислить некоторую функцию f (X)). Это невозможно осуществить заранее, так как пользователю В неизвестно, какое случайное число X придет в запросе. Получив ответ с результатом действий В, пользователь А может быть уверен, что В – подлинный. Недостаток этого метода – возможность установления закономерности между запросом и ответом.

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

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

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

    Д
    103
    ля взаимной проверки подлинности обычно используют процедуру "рукопожатия". Эта процедура базируется на указанных выше механизмах контроля и заключается во взаимной проверке ключей, используемых сторонами. Иначе говоря, стороны признают друг друга законными партнерами, если докажут друг другу, что обладают правильными ключами. Процедуру рукопожатия обычно применяют в компьютерных сетях при организации сеанса связи между пользователями, пользователем и хост-компьютером, между хост-компьютерами и т.д.

    Рассмотрим в качестве примера процедуру рукопожатия для двух пользователей А и В. (Это допущение не влияет на общность рассмотрения. Такая же процедура используется, когда вступающие в связь стороны не являются пользователями). Пусть применяется симметричная криптосистема. Пользователи А и В разделяют один и тот же секретный ключ КАВ. Вся процедура показана на рис. 5.3.

    Р

    104
    исунок 5.3.Схема процедуры рукопожатия (пользователь А проверяет подлинность пользователя В)

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

    • ПользовательВ, получив идентификатор IDА, находит в базе данных секретный ключ КАВ и вводит его в свою криптосистему.

    • Тем временем пользователь А генерирует случайную последовательность S с помощью псевдослучайного генератора PG и отправляет ее пользователю В в виде криптограммы

    (S).

    • ПользовательB расшифровывает эту криптограмму и раскрывает исходный вид последовательности S.

    • Затем оба пользователя А и В преобразуют последователь-ность S, используя открытую одностороннюю функцию (·).

    • ПользовательB шифрует сообщение (S) и отправляет эту криптограмму пользователю А.

    • Наконец, пользовательA расшифровывает эту криптограмму и сравнивает полученное сообщение ´(S) с исходным (S). Если эти сообщения равны, пользователь А признает подлинность пользователя В.

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

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

    И
    105
    ногда пользователи хотят иметь непрерывную проверку подлинности отправителей в течение всего сеанса связи. Один из простейших способов непрерывной проверки подлинности показан на рис. 5.4 . Передаваемая криптограмма имеет вид

    ЕК (IDА, M),

    где IDА – идентификатор отправителя А; М – сообщение.

    ПолучательB, принявший эту криптограмму, расшифровывает ее и раскрывает пару (IDА, M). Если принятый идентификатор IDА совпадает с хранимым значением IDА´, получатель В признает эту криптограмму.





    Рисунок 5.4- Схема непрерывной проверки подлинности отправителя
    Другой вариант непрерывной проверки подлинности использует вместо идентификатора отправителя его секретный пароль. Заранее подготовленные пароли известны обеим сторонам. Пусть РА и РВ – пароли пользователей А и В соответственно. Тогда пользователь А создает криптограмму

    С = ЕКА, М).

    П
    106
    олучатель криптограммы расшифровывает ее и сравнивает пароль, извлеченный из этой криптограммы, с исходным значением. Если они равны, получатель признает эту криптограмму.

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

    передачей знаний

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

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


    107


    9.4.1. Упрощенная схема идентификации с нулевой передачей знаний

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

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

    • сторона А, доказывающая свою подлинность,

    • сторона В, проверяющая представляемое стороной А доказательство.

    Для того чтобы сгенерировать открытый и секретный ключи для стороны А, доверенный арбитр (Центр) выбирает некоторое число V, которое является квадратичным вычетом по модулю n. Иначе говоря, выбирается такое число V, что сравнение

    x2  V (mod n)

    имеет решение и существует целое число

    V –1 mod n.

    Выбранное значение V является открытым ключом для А. Затем вычисляют наименьшее значение S, для которого

    S  sqrt (V –1) (mod n).

    Это значение S является секретным ключом для А.

    Т
    108
    еперь можно приступить к выполнению протокола идентификации.

    1. Сторона А выбирает некоторое случайное число r, r < n. Затем она вычисляет

    x = r 2 mod n

    и отправляет x стороне В.

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

    3. Если b=0, тогда А отправляет r стороне В. Если b=1, то А отправляет стороне В

    y = r  S mod n.

    4. Если b = 0, сторона В проверяет, что

    x = r2 mod n,

    чтобы убедиться, что А знает sqrt (x). Если b=1, сторона В проверяет, что

    x = y2 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, и для А все закончено.


    109

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

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

    Как и в предыдущем случае, сначала генерируется число n как произведение двух больших чисел. Для того, чтобы сгенерировать открытый и секретный ключи для стороны А, сначала выбирают К различных чисел V1, V2, ..., VК, где каждое Vi является квадратичным вычетом по модулю n. Иначе говоря, выбирают значение Vi таким, что сравнение

    x2  Vi mod n

    имеет решение и существует Vi–1 mod n. Полученная строка V1, V2, ..., VК является открытым ключом.

    Затем вычисляют такие наименьшие значения Si, что

    Si = sqrt (Vi–1) mod n.

    Эта строка S1, S2, ..., SK является секретным ключом стороны А.

    Протокол процесса идентификации имеет следующий вид:

    1. Сторона А выбирает некоторое случайное число r, r2 mod n и посылает x стороне В.

    2. Сторона В отправляет стороне А некоторую случайную двоичную строку из K бит: b1, b2, ..., bK.

    3. Сторона А вычисляет

    y = r  (S1b1  S2b2  ...  SKbK) mod n.

    П
    110
    еремножаются только те значения Si, для которых bi=1. Например, если b1=1, то сомножитель S1 входит в произведение, если же b1=0, то S1 не входит в произведение, и т.д. Вычисленное значение y отправляется стороне В.

    4. Сторона В проверяет, что

    x = y2  (V1b1  V2b2  ...  VKbK) mod n.

    Фактически сторона В перемножает только те значения Vi, для которых bi=1. Стороны А и В повторяют этот протокол t раз, пока В не убедится, что А знает

    S1, S2, ..., SK.

    Вероятность того, что А может обмануть В, равна (1/2)Кt. Авторы рекомендуют в качестве контрольного значения брать вероятность обмана В равной (1/2)20 при К=5 и t=4.

    Стороны А и В повторяют этот протокол t раз, каждый раз с разным случайным числом r, пока сторона В не будет удовлетворена.

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

    В этот протокол можно включить идентификационную информацию .

    Пусть I – некоторая двоичная строка, представляющая идентификационную информацию о владельце карты (имя, адрес, персональный идентификационный номер, физическое описание) и о карте (дата окончания действия и т.п.). Эту информацию I формируют в Центре выдачи интеллектуальных карт по заявке пользователя А.

    Далее используют одностороннюю функцию f (·) для вычисления f (I, j), где j – некоторое двоичное число, сцепляемое со строкой I. Вычисляют значения

    Vj = f (I, j)

    д
    111
    ля небольших значений j, отбирают К разных значений j, для которых Vj являются квадратичными вычетами по модулю n. Затем для отобранных квадратичных вычетов Vj вычисляют наименьшие квадратные корни из Vj–1(mod n). Совокупность из К значений Vj образует открытый ключ, а совокупность из К значений Sj – секретный ключ пользователя А.
    1   2   3   4   5   6   7


    написать администратору сайта