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

  • 7.1. Разрядность ключа

  • Взломанный код RSA

  • 7.2. Генерация ключей

  • 7.3. Неоднородное ключевое пространство

  • 7.4. Хранение ключей

  • 7.5. Распределение ключей

  • 7.6. Время жизни ключей

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

  • ЧАСТЬ 2. ОСНОВЫ ТЕОРИИ, ПРИМЕНЕНИЯ И ОЦЕНКИ КАЧЕСТВА ГЕНЕРАТОРОВ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ

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


    Скачать 3.04 Mb.
    НазваниеКриптографические методы защиты информации
    АнкорИванов М.А. КМЗИ сети.pdf
    Дата18.02.2018
    Размер3.04 Mb.
    Формат файлаpdf
    Имя файлаИванов М.А. КМЗИ сети.pdf
    ТипУчебное пособие
    #15674
    страница11 из 20
    1   ...   7   8   9   10   11   12   13   14   ...   20

    ГЛАВА 7. УПРАВЛЕНИЕ КЛЮЧАМИ
    Криптоалгоритмы и криптопротоколы основаны на исполь- зовании ключевой информации, под которой понимается вся совокупность действующих в КС ключей. По своему назначе- нию они делятся на ключи для шифрования ключей и ключи для
    шифрования данных. По времени жизни ключи делятся на дол- го- и кратковременные. Примером последних являются так на- зываемые сеансовые ключи, действующие в течение только од- ного сеанса связи. В понятие управление ключами входит сово- купность методов решения следующих задач: генерации ключей; распределения ключей; хранения ключей; замены ключей; депонирования ключей; уничтожения ключей.
    Правильное решение всех перечисленных задач имеет ог- ромное значение, так как в большинстве случаев противнику гораздо проще провести атаку на ключевую подсистему или на конкретную реализацию криптоалгоритма, а не на сам алго- ритм криптографической защиты. Использование стойкого ал- горитма шифрования

    необходимое, но далеко не достаточное условие построения надежной системы криптографической за- щиты информации. Используемые в процессе информационно- го обмена ключи нуждаются в не менее надежной защите на всех стадиях своего жизненного цикла.
    7.1. Разрядность ключа
    К ключам для симметричных и асимметричных криптоси- стем предъявляются различные требования. Этот факт следует учитывать при построении гибридных криптосистем. В на- стоящее время надежными считаются ключи разрядностью не менее 128 бит для систем с секретным ключом и не менее 2304 бит для систем с открытым ключом, стойкость которых опре-

    218 деляется сложностью решения задачи факторизации больших чисел (например, RSA).
    В распоряжении противника, атакующего криптосистему, всегда имеются две возможности: случайное угадывание ключа и полный перебор по всему ключевому пространству. Вероят- ность успеха и в том, и другом случае зависит от разрядности ключа. В табл. 7.1 приведены длины ключей симметричных и асимметричных систем, обеспечивающие одинаковую стой- кость к атаке полного перебора и решению задачи факториза- ции соответственно.
    Таблица 7.1
    Длины ключей для криптосистем с секретным и открытым ключами
    Длина ключа, бит
    Криптосистема с секретным ключом
    Криптосистема с открытым ключом
    56 384 64 512 80 768 112 1792 128 2304
    Примечание. На практике в гибридных криптосистемах долговременный ключ для асимметричного алгоритма выбирают более стойким, чем сеансо- вый ключ для симметричного.
    Если противник обладает неограниченными финансовыми и
    техническими возможностями, для того чтобы узнать ключ,
    ему необходимо лишь потратить достаточное количество
    денег. В случае противника с ограниченными возможностями при выборе разрядности ключа учитывают следующие сообра- жения: сложность атаки полного перебора; требуемое быстродействие криптоалгоритма в тех случаях, когда увеличение размера ключа увеличивает время работы операций шифрования; время жизни защищаемой информации и ее ценность; возможности противника.

    219
    Если технические возможности противника известны, слож- ность атаки путем полного перебора по всему ключевому про- странству оценить достаточно просто. Например, при разряд- ности ключа симметричной криптосистемы, равной 64 бит, объем ключевого пространства равен
    64 2
    . Компьютер, который может перебирать
    6 10 ключей в секунду, потратит на проверку всех возможных ключей более 5 тысяч лет.
    В 1999 г. появилось сообщение [23], что международной группе исследователей удалось вскрыть шифр RSA с ключом длиной 512 бит. Интересно также отметить, что 512 двоичных разрядов

    это максимальная длина ключа, которую до недав- него времени правительство США разрешало использовать в экспортируемых программных продуктах. Работа по подбору двух простых сомножителей числа, содержащего 155 десятич- ных цифр, велась в течение семи месяцев с привлечением ре- сурсов параллельно работающих 292 компьютеров, находящих- ся в 11 различных географических точках. В это количество входило 160 рабочих станций SGI и Sun, работающих на такто- вых частотах 175

    400 МГц, 8 компьютеров Origin 2000 SGI, работающих на частоте 250 МГц, 120 ПК с процессорами Pentium II
    (350

    450 МГц) и 4 процессора, работающих на частоте 500 МГц, производства Digital/Compaq. Общие затраты вычислительных ресурсов составили около 8 тыс. MIPS-лет.
    Взломанный код RSA
    RSA – 155 =
    109417386415705274218097073220403576120037329 454492059909138421314763499842889347847179972 578912673324976257528997818337970765372440271 46743531593354333897 =
    102639592829741105772054196573991675900716567 808038066803341933521790711307779 106603488380168454820927220360012878672079585 75989291522270608237193062808643.

    220
    7.2. Генерация ключей
    Согласно принципу Кирхгофастойкость криптоалгоритма определяется секретностью ключа. Это означает, что если для генерации ключей используется криптографически слабый ал- горитм, независимо от используемого шифра вся система будет нестойкой. Качественный ключ, предназначенный для исполь- зования в рамках симметричной криптосистемы представляет собой случайный двоичный набор. Если требуется ключ раз- рядностью n, в процессе его генерации с одинаковой вероятно- стью должен получаться любой из
    n
    2 возможных кодов. Гене- рация ключей для асимметричных криптосистем процедура бо- лее сложная. Так, ключи, применяемые в этих системах, долж- ны обладать определенными математическими свойствами. На- пример, в случае системы RSA модуль шифрования есть произ- ведение двух больших простых чисел.
    Для генерации ключевой информации, предназначенной для использования в рамках симметричной криптосистемы, исполь- зуются следующие методы (в порядке возрастания качества): программная генерация, предполагающая вычисление оче- редного псевдослучайного числа как функции текущего времени, последовательности символов, введенных поль- зователем, особенностей его клавиатурного почерка и т.п.; программная генерация, основанная на моделировании ка- чественного генератора ПСЧ с равномерным законом рас- пределения; аппаратная генерация с использованием качественного ге- нератора ПСЧ; аппаратная генерация с использованием генераторов слу- чайных последовательностей, построенных на основе фи- зических генераторов шума и качественных генераторов
    ПСЧ.
    Невысокое качество программных методов формирования объясняется в первую очередь возможностью атаки на кон- кретную реализацию генератора и необходимостью защиты от разрушающих программных воздействий [29].

    221
    На рис. 7.1 показана схема генерации сеансовых ключей в стандарте ANSI X9.17, где
    k
    E

    функция зашифрования, k

    ключ,
    0
    V

    секретная синхропосылка,
    i
    T

    временная отметка,
    i
    R

    сеансовый ключ. Очевидно, что данная схема может пр и- меняться совместно с любым блочным шифром. Очередной се- ансовый ключ формируется в соответствии с уравнением
    i
    i
    k
    k
    i
    V
    T
    E
    E
    R
    Новое значение
    1
    i
    V
    определяется следующим образом:
    1
    i
    i
    k
    k
    i
    R
    T
    E
    E
    V
    k k
    k
    E
    k
    E
    k
    E
    k
    V
    i
    T
    i
    V
    i
    +1
    R
    i
    Рис. 7.1. Схема генерации ключей в стандарте ANSI X9.17
    7.3. Неоднородное ключевое пространство
    Для защиты от несанкционированного использования крип- тографического оборудования, которое противник не в состоя- нии вскрыть с целью исследования алгоритма, формируется
    неоднородное ключевое пространство (рис. 7.2), имеющее сле- дующие особенности: закрытие информации с использованием стойкого крипто- алгоритма
    k
    E имеет место только при использовании клю- чей специального вида;
    «правильный» (стойкий) ключ k разрядности
    k
    n
    k
    n
    k
    со- стоит из двух частей: собственно ключа
    *
    k
    разрядности
    *
    k
    n
    *
    *
    k
    n
    k
    и некоторого кода фиксированной длины

    222
    *
    k
    k
    n
    n
    , полученного в результате преобразования кода
    *
    k с использованием некоторой криптографической функ- ции F, т.е.
    ;
    =
    ,
    ,
    *
    *
    *
    k
    F
    k
    F
    k
    k
    вероятность случайно получить стойкий ключ пренебре- жимо мала и равна
    ;
    2
    - если поступивший на вход криптомодуля ключ не удовле- творяет указанным условиям, для шифрования информации применяется существенно менее стойкий алгоритм
    k
    E
    m, k
    k = (A, B),
    A = n
    k*
    , B =
    B' = F(A)
    c = E
    k
    (m)
    B' = B ?
    c = E'
    k
    (m)
    c
    Да
    Нет
    Рис. 7.2. Принцип работы криптомодуля при использовании неоднородного ключевого пространства
    7.4. Хранение ключей
    Секретные ключи не должны храниться в памяти в явном виде, допускающем их считывание. Любая информация об ис- пользуемых ключах должна хранится в зашифрованном виде, а значит, в защищенной системе должна иметь место иерархия ключей: либо двухуровневая (ключи шифрования ключей

    ключи шифрования данных), либо трехуровневая (главный или

    223 мастер-ключ

    ключи шифрования ключей

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

    ключи шифрования ключей. На верхнем уровне иерархии располагается мастер-ключ, используемый для защи- ты ключей шифрования ключей. Обычно в каждом компьютере используется один мастер-ключ.
    Учитывая главенствующую роль в иерархии мастер-ключа, применяемого в течение длительного времени, его защите уде- ляется особое внимание: мастер-ключ хранится в защищенном от считывания, запи- си и разрушающих воздействий модуле системы защиты; мастер-ключ распространяется неэлектронным способом, исключающим его компрометацию; в системе должен существовать способ проверки аутентич- ности мастер-ключа.
    Один из способов аутентификации мастер-ключа показан на рис. 7.3. В памяти компьютера хранится пара
    ,
    , c
    m
    где
    m

    некоторый массив данных,
    m
    E
    c
    k

    результат его за- шифрования на мастер-ключе
    M
    k
    Всякий раз, когда требуется проверка аутентичности мастер-ключа, берется код
    m
    из па- мяти и подается на вход криптомодуля. Полученный с выхода последнего зашифрованный текст
    c
    сравнивается с шифро- текстом, хранящемся в памяти. При положительном результа- те сравнения, аутентичность мастер-ключа считается установ- ленной [25].
    При генерации сеансовых ключей код с выхода генератора
    ПСЧ рассматривается как результат шифрования
    s
    k
    k
    E
    сеан- сового ключа
    s
    k , полученный с использованием мастер-ключа
    M
    k , и поэтому может храниться в том виде, в котором он был

    224 получен (рис. 7.4). При шифровании сообщения на вход крип- томодуля подаются шифротекст
    s
    k
    k
    E
    и сообщение
    m
    . Крип- томодуль сначала «восстанавливает» сеансовый ключ, а затем с его помощью шифрует сообщение [25].
    Криптомодуль
    k
    m
    E
    k
    Сравнение
    m
    E
    k
    (m)
    c'
    Память
    Результат
    c
    Рис. 7.3. Схема аутентификации мастер-ключа
    Криптомодуль
    k
    s
    E
    k
    E
    k
    (m)
    D
    k
    k
    M
    Генератор
    ПСЧ
    Память
    E
    k
    (k
    s
    )
    m
    Рис. 7.4. Схема защиты сеансового ключа
    Проще всего хранить ключи криптосистемы с одним пользо- вателем. В распоряжении последнего один из следующих вари- антов в порядке возрастания надежности:

    225 запоминание пароля pw и в случае необходимости автома- тическое получение из него ключа k с использованием хеш- функции h(x) по формуле
    ;
    pw
    h
    k
    запоминание начального заполнения качественного генера- тора ПСЧ, формирующего ключ; использование пластикового ключа с размещенным на нем
    ПЗУ (ROM-key) или интеллектуальной карточки.
    Следует помнить, что в первых двух случаях объем ключе- вого пространства зависит не только от длины пароля или клю- чевой фразы, но и от ограничения на вид используемых симво- лов. В табл. 7.2 приведены количество возможных ключей при использовании 8-символьной ключевой фразы и время полного перебора при скорости перебора
    6 10
    ключей в секунду в зави- симости от ограничений на используемые символы. Также сле- дует помнить о возможности проведения противником так на- зываемой атаки со словарем, включающем в себя наиболее ве- роятные ключевые слова. Пароли и символьные строки началь- ного заполнения генератора ПСЧ следует выбирать случайным образом, а не на основе лишь критерия простоты запоминания.
    Таблица 7.2
    Количество возможных ключей и время их полного перебора при различных ограничениях на используемые символы
    Символы ключа
    Число символов
    Число возможных ключей
    Время полного перебора
    Заглавные буквы
    32 1,1 10 12 13 дней
    Заглавные буквы и цифры
    42 9,7 10 12 112 дней
    Все 8-разрядные коды
    256 1,9 10 19 600 000 лет
    В последнем случае ни сам ключ, ни исходная информация, необходимая для его получения, пользователю неизвестны, а значит, он не может и скомпрометировать ее. Использование
    ROM-key, имеющего тот же вид, что и привычный ключ от входной двери, позволяет пользователю чисто интуитивно из- бегать многих ошибок, связанных с хранением криптографиче- ских ключей [25].

    226
    7.5. Распределение ключей
    Распределение ключей между участниками информационно- го обмена в сети реализуется двумя способами (рис. 7.5): использованием одного или нескольких центров распреде- ления или трансляции ключей; прямым обменом сеансовыми ключами между пользовате- лями сети.
    Недостатком первого подхода является возможность зло- употреблений со стороны центра, которому известно, кому и какие ключи распределены. Во втором случае проблема заклю- чается в необходимости проведения более качественной, чем в первом случае, процедуры аутентификации для проверки под- линности участников сеанса взаимодействия и достоверности самого сеанса. Примером первого подходя является схема Ker- beros, примером второго

    схема Диффи

    Хeллмана (гл. 6).
    A
    B
    A
    B
    A
    B
    б
    k
    k
    k
    k
    ЦРК
    ЦРК
    k
    а
    A
    B
    A
    B
    в
    k
    k
    k
    k
    ЦТК
    ЦТК
    k
    Рис. 7.5. Возможные варианты построения схемы распределения ключей:
    а – прямой обмен между пользователями в сети (схема типа «точка-точка»);
    б – схемы с использованием центра распределения ключей (ЦРК);
    в – схемы с использованием центра трансляции ключей (ЦТК);
    А, В – участники информационного обмена, k – ключ

    227
    Схемы, показанные на рис. 7.5, б и в, предполагают, что абоненты А и В предварительно разделили знание своих сек- ретных ключей с центром С, а схемы с ЦРК
    – что именно он формирует сеансовые ключи. Схемы, показанные на рис. 7.5,в, отличаются от предыдущего варианта тем, что ЦТК обеспечи- вает только перешифрование полученной ключевой информа- ции [25].
    В двухключевых асимметричных криптосистемах существу- ет опасность подмены открытого ключа одного или нескольких участников информационного обмена. Задача защиты открытых ключей от подделки является «ахиллесовой пятой» всей техно- логии. Пусть, например, противник W, имеющий пару ключей
    secret
    W
    public
    W
    k
    k
    ,
    подменил своим открытым ключом открытый ключ
    public
    A
    k
    або- нента А. В результате противник может: читать все сообщения, адресованные А, так как обладает секретным ключом
    secret
    А
    k
    из фальшивой пары ключей; снова зашифровать расшифрованное им сообщение на- стоящим ключом
    public
    A
    k
    и отправить его абоненту А, при этом никто ничего не заметит; формировать от имени А электронную подпись, которая будет казаться подлинной, так как все для ее проверки бу- дут использовать фальшивый ключ.
    Учитывая вышеизложенное, одна из важнейших функций центра доверия

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

    открытого ключа абонента А суть шифрограмма, полученная на секретном ключе центра распределения С, которая содержит метку време- ни ts, время действия сертификата lt, идентификатор
    A
    ID и от- крытый ключ
    ,
    public
    A
    k
    т.е.
    ,
    ,
    ,
    ,

    public
    A
    A
    C
    A
    k
    ID
    lt
    ts
    D
    c
    где
    C
    D

    функция шифрования с использование секретного ключа
    secret
    А
    k

    228
    В самом общем случае функциями центра доверия могут яв- ляться: генерация, хранение, распределение и контроль времени жизни ключей; сертификация ключей; аутентификация участников информационного обмена; аудит; служба единого времени; нотариальная служба; служба депонирования ключей.
    Для уменьшения количества сеансов пересылки ключей применяется процедура модификации ключей, которая может быть основана, например, на получении нового ключа путем хеширования старого. Если правило смены ключей соблюдает- ся и отправителем и получателем, то в каждый момент времени они имеют одинаковый ключ. Постоянная смена ключа затруд- няет противнику решение задачи раскрытия информации. При использовании такого приема следует помнить, что вся ключе- вая последовательность будет скомпрометирована, если про- тивнику станет известен хотя бы один из ранее использовав- шихся старых ключей [25].
    7.6. Время жизни ключей
    Любой ключ должен использоваться в течение ограниченно- го отрезка времени, длительность которого зависит от: частоты использования ключей (ключи щифрования клю- чей, например, применяются гораздо реже ключей шифро- вания данных); величины ущерба от компрометации ключа, которая зави- сит, в частности, от ценности защищаемой информации; объема и характера защищаемой информации (например, при шифровании случайным образом сформированных ключей закрытию подвергается информации, о содержи- мом которой противнику заранее ничего не известно).
    При определении времени жизни ключа учитываются сле- дующие соображения:

    229 чем дольше используется ключ, тем больше вероятность его компрометации и тем больший потенциальный ущерб может нанести его компрометация; чем больший объем информации, зашифрованной на одном ключе, перехватывает противник, тем легче проводить ата- ку на него; при длительном использовании ключа у противника появ- ляется дополнительный стимул потратить на его вскрытие значительные ресурсы, так как выгода в случае успеха оп- равдает все затраты [25].
    Контрольные вопросы
    1.
    Укажите, от чего зависит длительность использования ключевой информации.
    2.
    Каково минимальная разрядность ключа для криптосис- тем с секретным ключом?
    3.
    Каково минимальная разрядность ключа для криптосис- тем с открытым ключом?
    4.
    Перечислите не менее пяти способов формирования клю- чевой информации.
    5.
    Что такое неоднородное ключевое пространство?
    6.
    Что такое мастер-ключ?
    7.
    Опишите процедуру аутентификации мастер-ключа.
    8.
    Что такое сертификат открытого ключа?

    230
    ЧАСТЬ 2. ОСНОВЫ ТЕОРИИ, ПРИМЕНЕНИЯ
    И ОЦЕНКИ КАЧЕСТВА
    ГЕНЕРАТОРОВ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ
    1   ...   7   8   9   10   11   12   13   14   ...   20


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