Ольга Полянская - Инфраструктуры открытых ключей
- Название:Инфраструктуры открытых ключей
- Автор:
- Жанр:
- Издательство:Интернет-университет информационных технологий - ИНТУИТ.ру
- Год:2007
- Город:M.
- ISBN:978-5-9556-0081-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Ольга Полянская - Инфраструктуры открытых ключей краткое содержание
В курс включены сведения, необходимые специалистам в области информационной безопасности.
Рассматривается технология инфраструктур открытых ключей (Public Key Infrastructure – PKI), которая позволяет использовать сервисы шифрования и цифровой подписи согласованно с широким кругом приложений, функционирующих в среде открытых ключей. Технология PKI считается единственной, позволяющей применять методы подтверждения цифровой идентичности при работе в открытых сетях.
Курс дает представление об основных концепциях и подходах к реализации инфраструктур открытых ключей, в нем описываются политика безопасности, архитектура, структуры данных, компоненты и сервисы PKI. Предлагается классификация стандартов и спецификаций в области инфраструктур открытых ключей. Подробно рассматриваются процессы проектирования инфраструктуры и подготовки ее к работе, обсуждаются типовые сценарии использования и способы реагирования на инциденты во время функционирования PKI.
Инфраструктуры открытых ключей - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Протокол установления соединенияпозволяет серверу и клиенту выполнить взаимную аутентификацию, согласовать применяемый алгоритм шифрования и криптографические параметры перед тем, как протокол прикладного уровня начнет передачу данных. Протокол передачи записейобеспечивает защиту протоколов более высокого уровня, включая протокол установления соединения . Протокол передачи записей зависит от надежности транспортного протокола, такого как TCP.
Протоколы SSL и TLS независимы от протоколов прикладного уровня, поэтому любой протокол прикладного уровня может прозрачно оперировать поверх SSL и TLS. Протоколы SSL и TLS обеспечивают три сервиса безопасности [70]:
*аутентификацию (подтверждение идентичности соединения: протокол установления соединения использует сертификаты и верификацию цифровых подписей для подтверждения идентификационных признаков и полномочий удаленного приложения);
*целостность (защиту данных протокола от несанкционированной модификации: протокол передачи записей использует значение бита контроля целостности для подтверждения того, что передаваемые данные не изменялись);
*конфиденциальность (обеспечение секретности соединения: после согласования симметричного ключа шифрования на основе протокола установления соединения выполняется шифрование данных, которыми обмениваются стороны во время сеанса связи).
Протоколы SSL и TLS способны поддерживать взаимную аутентификацию сторон, но обычно на базе сертификата выполняется аутентификация сервера клиентом, а затем клиент аутентифицируется другим способом, например, вводя по запросу сервера свое имя и пароль или номер своей кредитной карты и дату окончания ее срока действия.
Протокол установления соединений
Протокол установления соединений Handshake Protocol состоит как бы из трех подпротоколов, которые позволяют выполнить аутентификацию сторон, согласовать алгоритмы и параметры безопасности для протокола передачи записей [19].
Handshake Protocol отвечает за организацию сеанса взаимодействия между клиентом и сервером для протокола передачи записей , в частности за согласование характеристик сеанса:
*идентификатора сеанса ( Session identifier ), то есть произвольной последовательности битов, выбранной сервером для идентификации сеанса;
*сертификата соединения ( Peer certificate ), представляющего собой сертификат X.509; этот элемент может отсутствовать, если аутентификация не требуется;
*метода сжатия ( Compression method ), то есть алгоритма сжатия данных перед их шифрованием;
*спецификатора шифрования ( Cipher spec ), который задает идентификаторы алгоритма шифрования данных и алгоритма хэширования, а также некоторые криптографические атрибуты (например, размер хэш-кода);
*главного секрета ( Master secret ), представляющего собой секретное значение, разделенное между клиентом и сервером;
*признака установления нового соединения ( Is resumable ) на основе текущего сеанса.
Эти характеристики затем используются для установки параметров безопасности в протоколе передачи записей . Возможность установить несколько защищенных соединений во время одного сеанса особенно важна, когда клиенту и серверу необходимо установить несколько кратковременных соединений.
В результате работы протокола Handshake Protocol формируются криптографические параметры. Когда клиент и сервер начинают взаимодействие, то согласовывают версию протокола, криптографические алгоритмы, аутентифицируют друг друга (по желанию) и используют криптографию с открытыми ключами для разделения общего секрета. Работа протокола Handshake Protocol выполняется за шесть шагов [70].
*1-й шаг. Обмен приветственными сообщениями для согласования алгоритмов и обмена случайными числами.
*2-й шаг. Обмен криптографическими параметрами для согласования начального секрета.
*3-й шаг. Опциональный обмен сертификатами и криптографической информацией для взаимной аутентификации клиента и сервера.
*4-й шаг. Генерация главного секрета на основе начального секрета и обмен случайными числами.
*5-й шаг. Формирование параметров безопасности для протокола передачи записей .
*6-й шаг. Оповещение о расчете тех же самых параметров безопасности и корректном завершении соединения.
Когда клиент желает установить новое соединение на основе данного сеанса или повторить этот сеанс, то отправляет свое приветственное сообщение с идентификатором сеанса, который должен быть возобновлен. Если сервер все еще хранит в кэш-памяти параметры сеанса и желает восстановить соединение, то в ответ отправляет свое приветственное сообщение с тем же самым идентификатором сеанса. В этот момент клиент и сервер обмениваются сообщениями о смене параметров шифрования и завершении формирования соединения.
При обмене сертификатами и ключами передаются данные, необходимые для генерации начального секрета. Если используется алгоритм RSA, то клиент генерирует случайное начальное число и шифрует его при помощи открытого RSA-ключа сервера. Если применяется алгоритм Диффи-Хэллмана, клиент и сервер обмениваются открытыми ключами, а затем в качестве начального секрета используется результат вычисления ключа согласования ключей по алгоритму Диффи-Хэллмана.
Главный секрет и симметричные ключи генерируются при помощи псевдослучайной функции PRF (PseudoRandom Function), полученной на основе алгоритмов SHA-1 и MD5. Чтобы гарантировать безопасность, применяются две разные однонаправленные хэш-функции. При первом применении функции PRF генерируется главный секрет из начального секрета и случайных чисел, полученных на основе приветственных сообщений клиента и сервера. В результате повторного применения функции PRF к тем же самым исходным данным получают два симметричных ключа, два значения начального вектора и два значения MAC (кода аутентификации сообщения) секрета. При возобновлении сеанса используется уже известное для данного сеанса значение главного секрета, но генерируются новые случайные числа на основе новых приветственных сообщений клиента и сервера, поэтому в результате формируется новый ключевой материал.
Протокол передачи записей использует один симметричный ключ, одно значение начального вектора и один MAC секрета для защиты трафика "клиент-сервер", а также другие значения перечисленных параметров для защиты трафика "сервер-клиент", - в целом, для корректной работы протокола передачи записей требуется шесть секретных чисел.
Читать дальшеИнтервал:
Закладка: