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

  • 4.2. Имитозащита информации. Контроль целостности потока сообщений

  • Шифрование i

  • 4.3. Криптографические методы контроля целостности

  • 4.4. Код аутентификации сообщений

  • 4.5. Код обнаружения манипуляций с данными

  • 4.8. Идентификация, аутентификация и авторизация

  • 4.9. Аутентификация субъекта

  • 4.10. Аутентификация объекта

  • Иванов М.А. КМЗИ сети. Криптографические методы защиты информации


    Скачать 3.04 Mb.
    НазваниеКриптографические методы защиты информации
    АнкорИванов М.А. КМЗИ сети.pdf
    Дата18.02.2018
    Размер3.04 Mb.
    Формат файлаpdf
    Имя файлаИванов М.А. КМЗИ сети.pdf
    ТипУчебное пособие
    #15674
    страница7 из 20
    1   2   3   4   5   6   7   8   9   10   ...   20
    ГЛАВА 4. МЕТОДЫ
    АУТЕНТИФИКАЦИИ ИНФОРМАЦИИ
    4.1. Аутентичность. Задача аутентификации информации
    В компьютерных системах (КС), помимо обеспечения секрет- ности информации, необходимо также решать не менее важную задачу аутентификации обрабатываемых массивов данных и пересылаемых сообщений. Информация может считаться
    аутентичной, когда потребитель имеет гарантии, во-первых,
    целостности информации и, во-вторых, ее авторства.
    Иногда ошибочно считается, что задача аутентификации ре- шается простым шифрованием. На первый взгляд кажется, что это действительно так. В зашифрованный массив данных трудно внести какие-то осмысленные изменения, потому что с вероят- ностью, близкой к единице, факты искажения становятся оче- видными после расшифрования: например, вместо текста на рус- ском языке появляется бессмысленный набор символов. Нако- нец, для классических криптосистем только пользователи, обла- дающие секретным ключом, могут зашифровать сообщение, и, значит, если получатель принял сообщение, зашифрованное на его секретном ключе, он может быть уверен в его авторстве.
    На самом деле приведенные рассуждения ошибочны. Иска- жения, внесенные в зашифрованные данные, становятся очевид- ными после расшифрования только в случае большой избыточ-
    ности исходных данных. Эта избыточность имеет место лишь в некоторых частных случаях (например, когда исходная инфор- мация является текстом на естественном или искусственном языке). В общем случае требование избыточности данных может не выполняться, а это означает, что после расшифрования моди- фицированных данных они по-прежнему могут поддаваться ин- терпретации. Кроме того, при использовании симметричной криптосистемы факт успешного расшифрования данных, зашиф- рованных на секретном ключе, может подтвердить их авторство лишь для самого получателя. Третий участник информационного обмена (арбитр) при возникновении споров не сможет сделать однозначного вывода об авторстве информационного массива, так как его автором может быть каждый из обладателей секрет-

    131 ного ключа, а их как минимум двое. Таким образом, задачи обеспечения секретности и аутентичности должны решаться различными методами[8].
    4.2. Имитозащита информации. Контроль целостности
    потока сообщений
    На всех этапах своего жизненного цикла информация может подвергаться случайным и умышленным деструктивным воз- действиям. Для обнаружения случайных искажений информа- ции применяются корректирующие коды, которые в некоторых случаях позволяют не только зафиксировать факт наличия ис- кажений информации, но и локализовать и исправить эти иска- жения. Умышленные деструктивные воздействия чаще всего имеют место при хранении информации в памяти компьютера и ее передаче по каналам связи. В таком случае полностью ис- ключить возможность несанкционированных изменений в мас- сивах данных нельзя. Поэтому крайне важно оперативно обна- ружить данные изменения, поскольку в этом случае ущерб, на- несенный законным пользователям, будет минимальным. Це- лью противника, навязывающего ложную информацию, являет- ся выдача ее за подлинную, поэтому своевременная фиксация факта наличия искажений в массиве данных сводит на нет все усилия злоумышленника. Таким образом, под имитозащитой
    понимают не исключение возможности несанкционированных
    изменений информации, а совокупность методов, позволяющих
    достоверно зафиксировать факты изменений, если они имели
    место [8, 25, 29].
    Для обнаружения искажений в распоряжении законного поль- зователя (например, получателя информации при ее передаче) должна быть некая процедура проверки
    M
    T
    , дающая на выхо- де 1, если в массиве данных M отсутствуют искажения, или 0, если такие искажения имеют место. Для ограничения возможно- стей противника по подбору информационной последовательно- сти M'
    M
    M'
    , где M – правильная последовательность (без искажений), такой, что
    1
    M'
    T
    , идеальная процедура этой про- верки должна обладать следующими свойствами [8]:

    132
    невозможно найти такое сообщение M' способом, более
    эффективным, чем полный перебор по множеству допус-
    тимых значений M (такая возможность в распоряжении про- тивника имеется всегда);
    вероятность успешно пройти проверку у случайно выбран-
    ного сообщения M' не должна превышать заранее уста-
    новленного значения.
    Учитывая, что в общем случае все возможные значения M мо- гут являться допустимыми, второе свойство требует внесения
    избыточности в защищаемый массив данных. При этом чем больше разница N между размером преобразованного избыточ- ного
    *
    M и размером исходного
    M массивов, тем меньше веро- ятность принятия искаженных данных за подлинные. Эта веро- ятность равна
    N
    -
    2
    На рис. 4.1 показаны некоторые возможные варианты внесе- ния такой избыточности. В роли неповторяющегося блока дан- ных nrb могут выступать метка времени, порядковый номер со- общения и т. п., а в роли контрольного кода – имитоприставка или электронная подпись. Имитоприставкой принято называть контрольный код, который формируется и проверяется с помо- щью одного и того же секретного ключа.
    Использование блока nrb позволяет контролировать целост- ность потока сообщений, защищая от повтора, задержки, пере-
    упорядочивания или их утраты. При использовании в качестве
    nrb порядкового номера получатель, приняв (i + 1)-е сообщение, проверяет равенство
    1 1
    i
    i
    nrb
    nrb
    , т.е. что его номер на едини- цу больше номера предыдущего i-го сообщения. При использо- вании в качестве nrb метки времени получатель контролирует, чтобы времена отправки и приема сообщений соответствовали друг другу с учетом задержки в канале связи и разности показа- ний часов отправителя и получателя. Целостность потока сооб- щений можно также контролировать, используя зашифрование со сцеплением сообщений (рис. 4.2).

    133
    а
    Исходные данные
    Избыточные разряды
    Зашифрование
    E
    k
    Защищенные данные
    Исходные данные
    Неповторяющийся блок данных nrb
    Формирование контрольного кода
    Контрольный код
    Защищенные данные
    б
    Исходные данные
    Неповторяющийся блок данных nrb
    Зашифрование
    E
    k
    Защищенные данные
    в
    Формирование контрольного кода
    Рис. 4.1.Схемы контроля целостности:
    а – с использованием зашифрования;
    б – с формированием контрольного кода;
    в – с формированием контрольного кода и зашифрованием

    134
    i-е cообщение
    Зашифрование
    E
    k
    Зашифрованное сообщение
    Шифрование
    (i - 1)-го сообщения
    Шифрование
    i-го сообщения
    Шифрование
    (i + 1)-го сообщения
    Рис. 4.2. Контроль целостности потока сообщений
    Рассмотрим схему на рис. 4.1,б. Самый естественный способ преобразования информации с внесением избыточности – добав- ление к исходным данным контрольного кода s фиксированной разрядности N, вычисляемого как некоторая функция от этих данных:
    N
    s
    M
    f
    M
    s
    M
    M
    ,
    ,
    ,
    *
    В такой ситуации выделение исходных данных из преобразо- ванного массива
    *
    M суть простое отбрасывание контрольного кода s. Проверка же целостности заключается в вычислении для содержательной части M' полученного массива данных кон- трольного кода
    M'
    f
    s
    и сравнении его с переданным значе- нием s. Если они совпадают, сообщение считается подлинным, в противном случае ложным: если
    0,
    ;
    если
    ,
    1
    '
    M'
    f
    s
    M'
    f
    =
    s
    M
    T
    Функция f формирования контрольного кода обязана удовле- творять следующим требованиям: она должна быть вычислительно необратимой, т.е. подоб- рать массив данных под заданный контрольный код можно

    135 только путем полного перебора по пространству возможных значений M; у противника отсутствует возможность сформировать лож- ный массив данных (или ложное сообщение) M' и снабдить его корректно вычисленным контрольным кодом
    M'
    f
    s
    Второе свойство можно обеспечить двумя способами: либо сделать функцию f зависимой от некоторого секретного пара- метра (ключа), либо пересылать контрольный код отдельно от защищаемых данных [8].
    4.3. Криптографические методы контроля целостности
    Можно выделить два основных криптографических подхода к решению задачи защиты информации от несанкционированных изменений данных, которые предполагают формирование:
    1)
    кода аутентификации сообщений MAC (Message Authen- tication Code);
    2)
    кода обнаружения манипуляций с данными MDC (Ma- nipulation Detection Code).
    В табл. 4.1 приведены сравнительные характеристики указан- ных двух подходов [8, 24]. Главное различие между кодами
    MAC и MDC заключается в том, что в первом случае для форми- рования контрольного кода требуется секретная информация, а во втором – нет.
    4.4. Код аутентификации сообщений
    Формирование кода MAC с использованием функции зашиф- рования блочного шифра официально или полуофициально за- креплено во многих государственных стандартах шифрования.
    Имитоприставка ГОСТ 28147-89 – классический пример кода
    MAC. Код аутентификации сообщений может формироваться в режимах CBC или СFB, обеспечивающих зависимость последне- го блока шифротекста от всех блоков открытого текста. В случае использования преобразования
    k
    E для выработки контрольного кода требования к нему несколько отличаются от традиционных, используемых при зашифровании: во-первых, не требуется свой-

    136 ство обратимости; во-вторых, его криптостойкость может быть снижена (например, за счет уменьшения числа раундов шифро- вания, как в ГОСТ 28147-89). Действительно, в случае выработ- ки кода MAC преобразование всегда выполняется в одну сторо- ну, при этом в распоряжении противника есть только зависящий от всех блоков открытого текста контрольный код, в то время как при зашифровании у него имеется набор блоков шифротек- ста, полученных с использованием одного секретного ключа.
    Таблица 4.1
    Сравнительная характеристика MAC и MDC
    Параметр
    MAC
    MDC
    Используемое преобразование
    Функция зашифрования блочного шифра
    Хеш-функция
    Секретная информация
    Секретный ключ
    Нет
    Возможность для противника вычислить контрольный код
    Отсутствует
    Присутствует
    Хранение и передача контрольного кода
    Вместе с защищаемыми
    Данными
    Отдельно от защищаемых данных
    Дополнительные условия
    Требует предварительного распределения ключей
    Необходим аутентичный канал для передачи контрольного кода
    Области использования
    Защита при передаче данных
    Защита при разовой передаче данных, контроль целостности хранимой информации
    4.5. Код обнаружения манипуляций с данными
    MDC есть результат действия хеш-функции. Иначе говоря,
    MDC – это хеш-образ сообщения M, к которому применили хеш- функцию, т.е.
    M
    h
    s
    . Основное требование к хеш-функции: не должно существовать способа определения массива данных M, имеющего заданное значение хеш-образа
    M
    h
    , отличного от перебора по всему множеству возможных значений M. Наиболее простой способ построения хеш-функции основан на использо- вании вычислительной необратимости относительно ключа k

    137 функции зашифрования
    k
    E любого блочного шифра. Даже при известных блоках открытого M и закрытого
    M
    E
    c
    k
    текстов ключ k не может быть определен иначе как перебором по мно- жеству всех возможных значений. Итак, схема формирования хеш-образа сообщения M , обладающая гарантированной стой- костью, равной стойкости используемого шифра, может быть следующей:
    1)
    массив данных M разбивается на блоки фиксированного размера, равного размеру ключа k используемого блоч- ного шифра, т. е.
    t
    M
    M
    M
    M
    M
    3 2
    1
    ,
    ;
    <
    0
    ,
    1
    -
    3 2
    1
    k
    M
    k
    M
    M
    M
    M
    t
    m
    2)
    если последний блок
    t
    M неполный, он дополняется ка- ким-либо образом до нужного размера
    ;
    k
    3)
    хеш-образ сообщения вычисляется следующим образом:
    ,
    0 1
    2 3
    s
    E
    E
    E
    E
    M
    h
    s
    M
    M
    M
    M
    t
    где
    0
    s – синхропосылка, обычно выбирают
    0 0
    s
    Задача подбора массива данных
    t
    M'
    M'
    M'
    M'
    M'
    3 2
    1
    под заданный контрольный код s эквивалентна системе уравне- ний, которую необходимо решить для определения ключа для заданных блоков открытого и закрытого (в режиме простой за- мены) сообщений. Однако в рассматриваемой ситуации нет не- обходимости решать всю систему
    ;
    ;
    2 1
    1 0
    2 1
    s
    s
    E
    s
    s
    E
    M'
    M'
    ;
    3 2
    3
    s
    s
    E
    M'
    ,
    1
    -
    s
    s
    E
    M'
    M'
    t
    достаточно решить уравнение
    i
    i
    M
    s
    s
    E
    i
    1
    -
    '

    138 относительно
    i
    M' , остальные блоки массива M могут быть про- извольными. Но и эта задача в случае использования надежной функции
    k
    E вычислительно неразрешима.
    К сожалению, приведенная схема формирования MDC не учи- тывает наличия так называемых побочных ключей шифра. Если для
    k
    k
    справедливо
    ,
    i
    k
    i
    k
    M
    E
    M
    E
    где
    i
    M – некоторый блок открытого текста, то такой код
    k
    и яв- ляется побочным ключом, т.е. ключом, дающим при зашифрова- нии блока
    i
    M точно такой же результат, что и истинный ключ k.
    Обнаружение противником побочного ключа при дешифровании сообщения не является особым успехом, так как с вероятностью, близкой к 1, на этом найденном побочном ключе он не сможет правильно расшифровать другие блоки закрытого текста, учиты- вая, что для различных блоков побочные ключи в общем случае также различны. В случае выработки кода MDC ситуация прямо противоположная: обнаружение побочного ключа означает, что противник нашел такой ложный блок данных, использование ко- торого не изменяет контрольного кода [8].
    Для уменьшения вероятности навязывания ложных данных в результате нахождения побочных ключей, при преобразовании применяются не сами блоки исходного сообщения, а результат их расширения по некоторому алгоритму. Под расширением по- нимается процедура получения блока данных большего размера из блока данных меньшего размера. Например, для криптоалго- ритма, в котором размер ключа равен 256 бит, возможна сле- дующая схема расширения 128-битового блока в 256-битовый: исходный блок:
    16 15 14 13 12 11 10 9
    8 7
    6 5
    4 3
    2 1
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    M
    i
    ; расширенный блок:
    15 12 9
    6 3
    16 13 10 7
    4 1
    16 15 14 13 12 11 10 9
    8 7
    6 5
    4 3
    2 1
    (
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    b
    M
    Ext
    i
    ,
    )
    14 11 8
    5 2
    b
    b
    b
    b
    b
    где
    i
    b – байты блока данных [8].

    139
    4.6. Код HMAC
    Существует вариант построения кода MAC на основе исполь- зования секретного ключа и функции хеширования, при котором хешированию подвергается результат конкатенации секретного ключа и исходного сообщения, поэтому, как и в классическом случае, у противника, не знающего ключа, отсутствует возмож- ность вычислить контрольный код.
    Для повышения безопасности подобного алгоритма получе- ния MAC, создана схема вложенного (nested) MAC, в которой хеширование выполняется дважды (рис. 4.3). В стандарте NIST
    FIPS 198 вложенный MAC назван HMAC (hashed MAC). Схема формирования HMAC (рис. 4.4) более сложная, чем показанная на рис. 4.3. Алгоритм формирования HMAC имеет следующий вид:
    1.
    Сообщение делится на N блоков, по b бит в каждом.
    2.
    Секретный ключ дополняется слева нулями до получения
    b-разрядного ключа. Рекомендуется, чтобы секретный ключ до операции дополнения имел длину, большую n, где n – разрядность HMAC.
    3.
    Выполняется операция XOR результат шага 2 с констан- той ipad (input pud). Величина ipad суть b/8 повторений последовательности 36h.
    4.
    Полученный блок добавляется слева к N-блоковому со- общению.
    5.
    Результат шага 4 хешируется и создается n-разрядный хеш-образ, называемый Intermediate HMAC.
    6.
    Результат шага 5 дополняется слева нулями до получения
    b-разрядного блока.
    7.
    Шаги 2 и 3 повторяются с константой opad (output pud).
    Величина opad суть b/8 повторений последовательности
    5Ch.
    8.
    Результат шага 7 добавляется слева к блоку, полученно- му на шаге 6.
    9.
    Результат шага 8 хешируется с использованием той же хеш-функции и создается финальный HMAC.

    140
    M
    h(x)
    MAC
    K
    AB
    K
    AB
    h(x)
    MAC
    Рис. 4.3. Схема формирования кода nested MAC
    K
    AB
    Дополнение
    ipad
    M
    1
    M
    2
    M
    N
    b
    b
    b
    h(x)
    Дополнение
    b
    bN
    n
    n
    K
    AB
    Дополнение
    b
    b
    b
    opad
    h(x)
    HMAC
    n
    2b
    Intermediate
    HMAC
    Рис. 4.4. Схема формирования кода HMAC

    141
    4.7. Код CMAC
    В стандарте NIST FIPS 113 определена схема формирования кода аутентификации сообщений, названная CMAC (или
    CBCMAC). Схема формирования CMAC показана на рис. 4.5 и 4.6.
    Оригинальное сообщение делится на N блоков по m разрядов в каждом. Если последний блок имеет длину, меньшую m, он дополняется единичным битом и последующими нулевыми би- тами до требуемой длины. Пусть n – разрядность CMAC. Пер- вый блок сообщения M
    1
    шифруется на симметричном ключе K
    AB
    , в результате получается m-разрядный блок шифротекста. Этот блок поразрядно суммируется по модулю 2 со следующим бло- ком сообщения M
    2
    , в результате вновь получается m-разрядный блок шифротекста.
    Процесс повторяется до тех пор, пока не бу- дет зашифрован последний блок сообщения M
    N
    , после чего n ле- вых разрядов результата объявляются кодом CMAC. В дополне- ние к симметричному ключу K
    AB
    для получения CMAC на по- следнем шаге шифрования используется другой ключ k. Он фор- мируется в результате шифрования на ключе K
    AB
    блока, состоя- щего из m нулевых бит, после чего результат умножается на x или x
    2
    в поле GF(2
    m
    ), если операции дополнения последнего блока соответственно не проводилась или проводилась.
    M
    1
    M
    2
    M
    N
    E
    E
    E
    K
    AB
    m
    m
    m
    m
    m
    m
    Взятие n левых бит
    n
    CMAC
    k
    m
    m
    m
    Рис. 4.5. Схема формирования кода CMAC

    142
    b нулей
    E
    K
    AB
    Умножение на x или x
    2
    k
    Рис. 4.6. Схема генерации ключа k для последнего шага формирования CMAC
    4.8. Идентификация, аутентификация и авторизация
    Чтобы исключить работу с системой незаконных пользовате- лей, необходима процедура распознавания системой каждого законного пользователя (или групп пользователей). Для этого в защищенном месте система обязана хранить информацию, по которой можно опознать пользователя, а пользователь (при вхо- де в систему, выполнении определенных действий, доступе к ресурсам) обязан себя идентифицировать, т.е. указать иденти-
    фикатор, присвоенный ему в данной системе.Получив иденти- фикатор, система проводит его аутентификацию, т.е. проверяет его содержательность (подлинность) – принадлежность множе- ству идентификаторов. Если бы идентификация не дополнялась аутентификацией, то сама идентификация теряла бы всякий смысл. Обычно устанавливается ограничение на число попыток предъявления некорректного идентификатора. Аутентификация пользователя может быть основана на следующих принципах: предъявлении пользователем пароля (рис. 4.7); предъявлении пользователем доказательств, что он обладает секретной ключевой информацией; ответах на некоторые тестовые вопросы; предъявлении пользователем некоторых неизменных при- знаков, неразрывно связанных с ним; предоставлении доказательств того, что он находится в оп- ределенном месте в определенное время; установлении подлинности пользователя некоторой третьей доверенной стороной.
    Процедуры аутентификации должны быть устойчивы к подло-
    гу, подбору и подделке.

    143
    После распознавания пользователя система должна выяс- нить, какие права предоставлены этому пользователю, какую информацию и каким образом (читать, записывать, модифици- ровать или удалять) он может использовать, какие программы может выполнять, какими ресурсы ему доступны, а также дру- гие вопросы подобного рода. Этот процесс называется автори-
    зацией. Таким образом, вход пользователя в систему состоит из идентификации, аутентификации и авторизации. В процессе дальнейшей работы иногда может появиться необходимость в дополнительной авторизации по отношению к каким-либо дей- ствиям.
    Претендент A
    Верификатор B
    Запрос идентификатора (ID)
    2
    PW
    6
    Запрос доступа
    1
    ID
    3
    Идентификация
    (проверка ID)
    Аутентификация
    (проверка пароля)
    Авторизация
    Разрешение доступа
    Запрос пароля (PW)
    5 4
    7 8
    9
    Рис. 4.7. Процессы идентификации и аутентификации
    Существуют различные механизмы реализации разграниче- ния доступа. Например, каждому ресурсу (или компоненту) системы может быть сопоставлен список управления доступом, в котором указаны идентификаторы всех пользователей, кото-

    144 рым разрешен доступ к данному ресурсу, а также определено, какой именно доступ разрешен. При обращении пользователя к конкретному ресурсу система проверяет наличие у данного ре- сурса списка управления доступом и, если он существует, про- веряет, разрешено ли этому пользователю работать с данным ресурсом в запрошенном режиме. Другим примером реализа- ции механизма авторизации пользователя является профиль
    пользователя – список, ставящий в соответствие всем иденти- фикаторам пользователей перечень объектов, к которым раз- решен доступ данному пользователю с указанием типа доступа.
    Может быть организована системная структура данных, так на- зываемая матрица доступа, которая представляет собой таб- лицу, столбцы которой соответствуют идентификаторам всех системных ресурсов, а строки – идентификаторам всех зареги- стрированных пользователей. На пересечении i-го столбца и j-й строки таблицы администратор системы указывает разрешен- ный тип доступа владельца i-го идентификатора к j-му ресурсу.
    Доступ к механизмам авторизации должны иметь только специальные системные программы ОБИ, а также строго огра- ниченный круг пользователей, отвечающих за безопасность системы. Рассматриваемые механизмы должны быть тщательно защищены от случайного или преднамеренного доступа неав- торизованных пользователей. Многие атаки на информацион- ные системы нацелены именно на вывод из строя или обход средств разграничения доступа.
    Аналогичные действия осуществляются в системе и при аутен- тификации других субъектов взаимодействия (претендентов), например прикладных процессов или программ, с системой
    (верификатором).
    В отличие от аутентификации субъекта взаимодействия процедура аутентификации объекта, устанавливая подлин- ность электронной почты, банковского счета и т.п., проверяет факт принадлежности данного объекта владельцу указанного идентификатора.

    145
    4.9. Аутентификация субъекта
    Цель субъекта взаимодействия при аутентификации – доказать верификатору подлинности предъявленного идентификатора.
    Классическим средством аутентификации субъекта являются парольные схемы. При этом для устранения последствий не- санкционированного доступа противника к информации, храня- щейся в памяти компьютера верификатора, передаваться может не сам пароль pw (password), а его хеш-образ q = h(pw) (рис. 4.8).
    Функция h(pw) в этой ситуации может быть определена как
    ,
    ID
    E
    pw
    h
    pw
    если длина пароля и длина ключа k функции зашифрования
    k
    E
    одинаковы, или как
    ,

    ID
    E
    pw
    h
    k
    pw
    если длина пароля меньше длины ключа. Верификатор заранее вычисляет значения h(pw)и для каждого идентификатора ID хранит значения q. Претендент, прошедший идентификацию, вводит пароль
    ;
    w
    p
    верификатор, получив
    ,
    w
    p
    h
    q
    проверяет равенство
    q
    q
    и при его выполнении заключает, что был вве- ден правильный пароль, и разрешает доступ. Противник, даже узнав значение q, не сможет определить pw в силу вычислитель- ной необратимости функции h(pw).
    Противник W
    pw'
    h(x)
    Претендент А
    pw = h
    -1
    (q)
    Верификатор B
    Хеш-образы паролей
    q
    Проверка пароля
    q' = h (pw')
    Рис. 4.8. Простейшая парольная схема аутентификации (вариант 1)

    146
    Однако рассмотренная схема не защищает от противника, ко- торый может передавать информацию, подключаясь непосредст- венно к линии связи. В этой ситуации может помочь, схема, по- казанная на рис. 4.9, в которой процедура вычисления
    w
    p
    h
    q
    возложена на верификатора.
    Противник W
    pw'
    h
    Претендент А
    pw = h
    -1
    (q)
    Верификатор B
    Хеш-образы паролей
    q
    Проверка пароля
    q' = h (pw')
    Рис. 4.9. Простейшая парольная схема аутентификации (вариант 2)
    Обе рассмотренные схемы не защищают от атаки перехвата
    и повтора, когда противник записывает информацию, переда- ваемую претендентом, и организует ее повторение для входа в систему. Для устранения последствий перехвата информации, передаваемой претендентом, или несанкционированного досту- па противника к информации, хранящейся в памяти компьюте- ра верификатора, может быть рекомендована схема (рис. 4.10), предполагающая использование двух хеш-функций
    1
    h и
    2
    h , причем результат работы второй из них зависит от неповто- ряющегося блока данных nrb.
    На рис. 4.11 рассмотрена модификация схемы, показанной на рис. 4.9. Особенностью данного варианта является исполь- зование при создании пароля случайной строки, называемой
    salt, после выполнения конкатенации введенного пароля pw′ и

    147
    salt, хранимой на стороне верификатора, результат хешируется и сравнивается с хранимым значением
    salt
    pw
    h
    Претендент A
    Верификатор B
    pw'
    h
    1
    q' = h
    1
    (pw')
    h
    2
    r' = h
    2
    (q', nrb)
    nrb
    nrb
    r'
    Хеш-образы паролей
    q
    h
    2
    Проверка nrb
    r = h
    2
    (q, nrb)
    Сравнение
    nrb
    r'
    Рис. 4.10. Парольная схема аутентификации, защищенная от повтора
    На рис. 4.12 показана схема с использованием одноразов о- го пароля. Пользователь системы и верификатор договари- ваются об используемых хеш-функции, пароле P
    0
    и состоя- нии счетчика n. Система (верификатор) вычисляет
    0
    P
    h
    n
    , где
    n
    h означает n-кратное применение хеш-функции. Иначе го- воря, справедлива цепочка равенств
    x
    h
    h
    x
    h
    n
    n
    1
    -
    ,
    x
    h
    h
    x
    h
    n
    n
    2
    -
    1
    -
    , …,
    x
    h
    h
    x
    h
    2
    ,
    x
    h
    x
    h
    1
    . Вначале, при первом доступе система хранит
    0
    P
    h
    n
    и значение n. На рис. 4.12 рассмотрен принцип осуществления первого доступа в систему.

    148
    A
    B
    A, pw
    UserID
    Salt
    Password
    A
    S
    A
    h(pw
    A
    ||S
    A
    )
    Конкатенация
    h(x)
    Сравнение
    pw′ принимается или отвергается
    Рис. 4.11. Использование случайной строки salt припроверке пароля
    A
    B
    A
    A
    n
    h
    n
    (P
    0
    )
    h(x)
    Сравнение
    pw’ принимается или отвергается
    n
    h
    n

    1
    (P
    0
    )
    A
    n

    1
    h
    n

    1
    (P
    0
    )
    Первоначальная запись
    Новая запись
    В случае совпадения
    Рис. 4.12. Использование одноразового пароля при аутентификации субъекта
    Аутентификация субъекта может быть как односторонней, так и взаимной. В первом случае процедуру аутентификации проходит один субъект, во втором – аутентифицируют друг друга два взаимодействующих субъекта, например связываю- щиеся между собой по линиям связи. Взаимная аутентификация

    149 не есть простое объединение двух сеансов односторонней аутентификации, так как в последнем случае противник легко может осуществить атаку перехвата и повтора, выдавая себя за верификатора перед претендентом и за претендента перед верификатором.
    Проверка подлинности предполагает применение неповто- ряющихся блоков данных, в качестве которых используются временные метки, механизмы запрос-ответ и процедуры руко-
    пожатия (handshake) (рис. 4.13). Метки времени позволяют регистрировать время отправки конкретного сообщения, что дает возможность получателю определить, насколько «устаре- ло» пришедшее сообщение, а значит, защититься от повтора.
    При использовании меток времени возникает проблема допус-
    тимого времени задержки, связанная, во-первых, с невозмож- ностью мгновенной передачи сообщения, а во-вторых, невоз- можностью абсолютной синхронизации хода часов получателя и отправителя. Механизм «запрос–ответ» предполагает вклю- чение пользователем А в сообщение для пользователя В запроса
    A
    x
    – некоторого случайного числа. Перед ответом пользова- тель В обязан выполнить над числом
    A
    x
    некоторую операцию, например вычислить хеш-образ
    A
    x
    h
    Получив ответ с пра- вильным результатом вычислений, пользователь А может быть уверен, что В – подлинный. Процедура рукопожатия заключа- ется во взаимной проверке ключей, используемых субъектами взаимодействия. Последние признают друг друга законными партнерами, если докажут друг другу, что обладают правиль- ными ключами [25].
    4.10. Аутентификация объекта
    В процессе аутентификации объекта, иногда называемой
    аутентификацией источника данных, проверяется подлин- ность идентификатора, представленного с некоторыми данны- ми. В отличие от аутентификации субъекта в этой ситуации претенденту не нужно быть активным участником процесса ау-

    150 тентификации. Данный тип аутентификации (рис. 4.14), по су- ти, ничем не отличается от процедуры контроля целостности.
    Для аутентификации объекта применяется шифрование сим- метричным алгоритмом, выработка имитоприставки или элек- тронной подписи. Первые два варианта применяются в том случае, когда претендент и верификатор доверяют друг другу.
    Если необходимо иметь возможность доказательства подлин- ности идентификатора третьей стороне (при условии, что вери- фикатор не имеет возможности изменить массив данных M), например необходима юридическая значимость пересылаемых электронных документов, требуется электронная подпись.
    Пользователь А
    Пользователь В
    ID
    A
    K
    AB
    ID
    A
    Генератор
    ПСЧ
    K
    AB
    E
    AB
    D
    AB
    x
    A
    E
    AB
    (x
    A
    )
    h
    x
    A
    h
    D
    AB
    E
    AB
    Сравнение
    E
    AB
    (h(x
    A
    ))
    h(x
    A
    )
    h(x
    A
    )
    h(x
    A
    )
    Если равно,
    пользователь В
    опознан
    Рис. 4.13. Механизм «запрос–ответ» и процедура handshake

    151
    Абонент А
    (претендент)
    Абонент В
    (верификатор)
    M
    Зашифрование,
    формирование имитоприставки или электронной подписи
    nrb
    nrb
    Ключевая информация
    k
    Ключевая информация
    k
    nrb
    nrb
    F
    k
    (M, nrb)
    F
    k
    (M, nrb)
    Проверка
    nrb
    Расшифрование,
    проверка имитоприставки или электронной подписи
    Информационная последовательность
    M опознана как подлинная
    Рис. 4.14. Схема аутентификации объекта
    Контрольные вопросы
    1.
    Сформулируйте требования к качественному контроль- ному коду целостности информации.
    2.
    Что такое имитозащита информации?
    3.
    Перечислите методы аутентификации объектов инфор- мационного взаимодействия.
    4.
    Назовите методы аутентификации субъектов информаци- онного взаимодействия.
    5.
    В чем заключается принцип вычисления кода аутентифи- кации сообщений?
    6.
    Сформулируйте принцип вычисления кода обнаружений манипуляций с данными.
    7.
    Дайте сравнительную характеристику кодам MAC и MDC.
    8.
    В чем заключается принцип вычисления кода HMAC.
    9.
    Как осуществляется аутентификация пользователей.

    152 10.
    В каком виде надежнее хранить пароли пользователей: в шифрованном или хешированном?
    11.
    Как осуществляется контроль целостности потока сооб- щений?
    12.
    Что такое одноразовый пароль?

    153
    1   2   3   4   5   6   7   8   9   10   ...   20


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