Опубликован: 31.07.2006 | Уровень: специалист | Доступ: платный
Лекция 12:

Шифрование

Управление ключами

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

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

Создание ключей

Очевидно, что ключи должны создаваться с особой тщательностью. Некоторые ключи обеспечивают недостаточную производительность при работе с определенными алгоритмами. Например, ключ, состоящий из одних "нулей", при использовании в DES не обеспечивает высокий уровень защищенности информации. Аналогично, при создании ключей для использования в RSA, необходимо соблюдать внимательность при выборе p и q из набора простых чисел.

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

Некоторые ключи выбираются из случайных чисел. К сожалению, существует очень немного генераторов истинно случайных чисел. Большинство из них генерируют псевдослучайные последовательности (т. е. в наборах чисел прослеживаются схемы, которые через то или иное время повторяются). Если генератор случайных чисел не является истинным, то существует возможность предсказания следующего числа. Если ключи базируются на выходных данных генератора случайных чисел, и злоумышленник может предсказать выходные данные, то существует вероятность того, что он сможет выявить ключ.

Также может быть необходимым выбрать правильную длину ключа. В некоторых алгоритмах используются ключи фиксированной длины (например, в алгоритме DES используется ключ длиной 56 бит). Другие алгоритмы могут использовать ключи переменной длины. Чем длиннее ключ, тем выше уровень обеспечиваемой безопасности. Например, 1024-битный ключ RSA более надежен, чем 512.битный ключ RSA. Тем не менее, таким образом нельзя сопоставлять надежность ключа RSA с надежностью ключа DES. В таблице 12.2 представлены относительные степени надежности ключей для различных алгоритмов шифрования.

Чтобы получить представление о том, насколько надежны ключи на практике, вспомните машину EFF. В 1997 г. она стоила 250 000 долларов и обеспечивала раскрытие ключа DES за 4,5 дня. В других случаях 40-битный ключ RC5 был раскрыт с помощью атаки "грубой силы" за 3,5 часа с использованием 250 компьютеров в UC Berkley. В Швейцарском Федеральном институте технологий посредством "грубой силы" раскрыт 48-битный ключ RC5 за 312 часов с использованием 3500 компьютеров. На данный момент рекомендуется использовать, как минимум, 80-битные ключи при шифровании секретной информации, а также минимум 1024-битные ключи в RSA и алгоритме Диффи-Хеллмана. 160-битные ключи ECC также считаются безопасными.

Внимание!

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

Распространение ключей

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

Таблица 12.2. Относительная надежность ключей различной длины
Шифрование с секретным ключом(DES, RC5) Шифрование с открытым ключом(RSA, Диффи-Хеллман) Шифрование посредством эллиптических кривых
40 бит - -
56 бит 400 бит -
64 бит 512 бит -
80 бит 768 бит -
90 бит 1024 бит 160 бит
120 бит 2048 бит 210 бит
128 бит 2304 бит 256 бит

Такой подход может быть полезным, если удаленные сайты расположены в небольшом удалении. Но что если удаленные сайты расположены на других континентах? Проблема приобретает намного более серьезный характер.

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

Любой ключ, используемый в течение продолжительного периода времени, требует обеспечения основательных мер предосторожности. Нельзя использовать алгоритм обмена ключами Диффи-Хеллмана для передачи пар ключей RSA. В случае с парами ключей RSA один ключ должен содержаться в секрете, а другой может находиться в открытом состоянии. Открытый ключ должен публиковаться так, чтобы предотвратить его подмену (см. раздел ниже "Сертификация ключей"). Если пары ключей генерируются центральным бюро сертификатов, секретный ключ должен безопасно передаваться владельцу ключевой пары. Если пара ключей генерируется владельцем, открытый ключ должен передаваться в центральное бюро сертификатов с обеспечением мер безопасности.

Примечание

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

Сертификация ключей

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

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

Внимание!

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

Сертификация открытого ключа в бюро сертификатов

Рис. 12.11. Сертификация открытого ключа в бюро сертификатов
Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?

Олег Ивченков
Олег Ивченков
Россия
Зарина Каримова
Зарина Каримова
Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008