Автор: Пользователь скрыл имя, 12 Марта 2013 в 19:22, лекция
1. Основні концепції шифрування
2. Цифрові підписи
3. Управління ключами
Цифровые
подписи - это не цифровые изображения
рукописных подписей. Цифровые подписи
- это форма шифрования, обеспечивающая
аутентификацию. Популярность цифровых
подписей постоянно растет, и они
были разрекламированы как способ перехода
на полностью электронную
Цифровая подпись - это метод аутентификации электронной информации посредством шифрования.
При
шифровании с открытым ключом, если
информация шифруется с использованием
секретного ключа, принадлежащего определенному
лицу, то только это лицо может осуществлять
дешифрование информации. Следовательно,
мы знаем, что информация поступила
от этого лица, если дешифрование информации
проведено успешно с
С
помощью цифровой подписи можно
еще больше повысить уровень этой
защиты и обезопасить информацию
от изменения после получения
и дешифрования. На рис. 4 показано, каким
образом может быть выполнена
эта задача. Во-первых, информация обрабатывается
с помощью хеш-функции. Хеш-функция
создает контрольную сумму
Рис. 4. Функционирование цифровых подписей
Когда информация принимается получателем, он может обработать ее той же самой хеш-функцией. Получатель дешифрует контрольную сумму, принятую вместе с сообщением, и сравнивает две контрольные суммы. Если они совпадают, это означает, что информация не была изменена. Посредством сохранения исходной зашифрованной контрольной суммы вместе с информацией эта информация всегда может быть проверена на наличие изменений.
Безопасность и полезность цифровых подписей зависит от двух важнейших элементов:
Если пользователь не защищает свой секретный ключ, то он не может быть уверен в том, что этот ключ используется исключительно им. Если какое-либо лицо также использует секретный ключ этого пользователя, нет никаких гарантий того, что рассматриваемые данные подписаны только действительным пользователем.
Безопасные хеш-функции
Для использования цифровых подписей необходимы безопасные хеш-функции. Хеш-функция может называться безопасной, если:
Второму
условию не так-то просто удовлетворить.
Рассматриваемые контрольные
Безопасные
хеш-функции должны обеспечивать создание
контрольной суммы длиной, по крайней
мере, в 128 бит. Двумя наиболее распространенными
безопасными хеш-функциями
Существует множество других хеш-функций, однако большая их часть признана небезопасными. В MD5 были обнаружены уязвимости, которые могут использоваться при проведении вычислительной атаки. Эта атака позволит создать дополнительный фрагмент информации, что приведет к образованию той же контрольной суммы. Функция SHA была разработана правительством США и в настоящее время считается безопасной. В большей части программного обеспечения по информационной безопасности рассмотренные функции MD5 и SHA доступны для использования.
Управление
ключами является самой сложной
задачей при использовании
Ключи
и инфраструктура, необходимая для
управления ими соответствующим
образом, могут значительно повлиять
на возможность использования
Создание ключей
Очевидно, что ключи должны создаваться с особой тщательностью. Некоторые ключи обеспечивают недостаточную производительность при работе с определенными алгоритмами. Например, ключ, состоящий из одних "нулей", при использовании в DES не обеспечивает высокий уровень защищенности информации. Аналогично, при создании ключей для использования в RSA, необходимо соблюдать внимательность при выборе p и q из набора простых чисел.
Большая часть систем шифрования обеспечивают некоторый метод генерирования ключей. Иногда пользователям позволяется выбирать ключ посредством выбора пароля. В данном случае полезно проинструктировать пользователей по поводу использования надежных паролей, содержащих числа и специальные символы. В противном случае общее пространство ключей значительно уменьшается (это позволяет быстрее проводить поиск при атаке "грубой силой").
Некоторые ключи выбираются из случайных чисел. К сожалению, существует очень немного генераторов истинно случайных чисел. Большинство из них генерируют псевдослучайные последовательности (т.е. в наборах чисел прослеживаются схемы, которые через то или иное время повторяются). Если генератор случайных чисел не является истинным, то существует возможность предсказания следующего числа. Если ключи базируются на выходных данных генератора случайных чисел, и злоумышленник может предсказать выходные данные, то существует вероятность того, что он сможет выявить ключ.
Также может быть необходимым выбрать правильную длину ключа. В некоторых алгоритмах используются ключи фиксированной длины (например, в алгоритме DES используется ключ длиной 56 бит). Другие алгоритмы могут использовать ключи переменной длины. Чем длиннее ключ, тем выше уровень обеспечиваемой безопасности. Например, 1024-битный ключ RSA более надежен, чем 512-битный ключ RSA. Тем не менее, таким образом нельзя сопоставлять надежность ключа RSA с надежностью ключа DES. В таблице 1 представлены относительные степени надежности ключей для различных алгоритмов шифрования.
Таблица 1. Относительная надежность ключей различной длины
Шифрование с секретным ключом (DES, RC5) |
Шифрование с открытым ключом (RSA, Диффи-Хеллман) |
Шифрование посредством |
40 бит |
- |
- |
56 бит |
400 бит |
- |
64 бит |
512 бит |
- |
80 бит |
768 бит |
- |
90 бит |
1024 бит |
160 бит |
120 бит |
2048 бит |
210 бит |
128 бит |
2304 бит |
256 бит |
Чтобы получить представление о том, насколько надежны ключи на практике, можно вспомнить машину EFF (Electronic Frontier Foundation). В 1997 г. она стоила 250 000 долларов и обеспечивала раскрытие ключа DES за 4,5 дня. В других случаях 40-битный ключ RC5 был раскрыт с помощью атаки "грубой силы" за 3,5 часа с использованием 250 компьютеров в UC Berkley. В Швейцарском Федеральном институте технологий посредством "грубой силы" раскрыт 48-битный ключ RC5 за 312 часов с использованием 3500 компьютеров.
Распространение ключей
После генерации ключей их необходимо доставить в различные места расположения и установить для использования на соответствующем оборудовании. Если ключи не защищены при передаче, они могут быть скопированы или украдены, вследствие чего нарушится безопасность всей системы шифрования. Из этого следует, что канал распространения должен быть сам по себе защищенным. Передача ключей может осуществляться вне канала связи. Иными словами, ключи могут передаваться администраторами на переносных носителях.
Такой
подход может быть полезным, если системы
расположены в небольшом
Тем не менее, существует частичное решение этой проблемы, заключающееся в использовании алгоритма обмена ключами Диффи-Хеллмана для распространения множества сеансовых ключей (ключи с коротким сроком действия, используемые для одного сеанса или небольшого объема трафика). Этот подход может снизить необходимость дальних поездок.
Любой
ключ, используемый в течение продолжительного
периода времени, требует обеспечения
основательных мер
Если ключевые пары генерируются центральным бюро сертификатов, то возможность использования секретного ключа для аутентификации находится под вопросом, так как центральному бюро сертификатов ключ уже может быть известен. При создании и распространении секретных ключей необходимо соблюдать особую внимательность.
Сертификация ключей
Если
ключи некоторым образом
Открытые
ключи предназначены для
Рис. 5. Сертификация открытого ключа в бюро сертификатов
Без правильной сертификации ключа и его владельца злоумышленник может внедрить собственные ключи и, таким образом, преодолеть защиту всей передаваемой и аутентифицируемой информации.
Защита ключей
Открытые
ключи открытой ключевой пары не требуют
защиты конфиденциальности. Они лишь
требуют обеспечения защиты целостности
посредством использования
Если
злоумышленник получает копию секретного
ключа, у него появляется возможность
чтения всего конфиденциального
трафика, адресованного владельцу
пары ключей, а также цифрового
подписывания информации в роли владельца
ключевой пары. Защита секретного ключа
должна распространяться на все его
копии. Следовательно, должен защищаться
файл, содержащий ключ, а также любой
архивный носитель, на котором может
быть записан этот файл. На большей
части систем защита ключа реализуется
посредством использования
Необходимо обеспечивать защиту всех ключей системы, использующей секретные ключи. Если ключ содержится в файле, этот файл должен быть защищен в любом месте, где бы он не находился (включая архивные носители). Если ключ находится в памяти, необходимо предпринимать меры по защите пространства памяти от исследования пользователями или процессами. Аналогично, в случае с дампом (сбросом данных на жесткий диск) ядра, файл ядра должен быть защищен, так как он может содержать ключ.
Информация о работе Принципи криптографічного захисту інформації