Научная литература
booksshare.net -> Добавить материал -> Информатика -> Петров А.А. -> "Компьютерная безопасность. Криптографические методы защиты" -> 127

Компьютерная безопасность. Криптографические методы защиты - Петров А.А.

Петров А.А. Компьютерная безопасность. Криптографические методы защиты — M.: ДМК, 2000. — 448 c.
ISBN 5-89818-064-8
Скачать (прямая ссылка): comp_safety.pdf
Предыдущая << 1 .. 121 122 123 124 125 126 < 127 > 128 129 130 131 132 133 .. 181 >> Следующая

• алгоритмов шифрования, обеспечивающих конфиденциальность соединения. С их помощью зашифровываются данные, передаваемые сторонами информационного взаимодействия после успешного про-холсдения аутентификации и ключевого обмена. В рамках SSL могут использоваться такие алгоритмы блочного шифрования, как DES, RC4 и др., и поддерлсиваться сразу несколько алгоритмов. Выбор конкретного алгоритма, на котором будет производиться зашифрование, осуществляется в ходе согласования контекста безопасности;
• двусторонней аутентификации с одновременным распределением сеансовых ключей. При этом используются методы асимметричной криптографии (RSA, DSS и др.);
• хэш-функций (MD5, SHA и др.), которые используются для обеспечения целостности и достоверности передаваемых сообщений на основе генерации МАС-кодов.
310 Компьютерная безопасность и практическое применение криптографии Описание протокола аутентификации
В ходе протокола аутентификации (SSL Handshake protocol) клиент и сервер согласуют версию протокола, используемые алгоритмы, а также проходят двустороннюю аутентификацию и вырабатывают общий сеансовый ключ.
Протокол аутентификационного обмена ключами содержит следующие шаги:
1. От клиента серверу (Client hello). Клиент пересылает случайное число (Client.param), идентификатор сессии (SessionID), список поддерживаемых криптографических алгоритмов и список поддерживаемых методов сжатия сообщений.
2. От сервера клиенту (Server hello). Сервер выбирает свое случайное число (Server.param), проверяет SessionID из сообщений Client hello (на предмет уникальности, для этого сервер должен хранить список ранее использованных с данным клиентом идентификаторов сессии) и посылает Server.param и SessionID вместе с выбранным идентификатором криптографического алгоритма и методом сжатия из списков, предоставленных клиентом.
3. От сервера клиенту (Certificate). Сервер передает клиенту свой сертификат, который кроме открытого ключа подписи молсет содержать открытый ключ шифрования, а также ряд параметров, используемых для последующего распределения сеансовых ключей, например параметры сервера, в соответствии с протоколом Диффи-Хэлмана.
4. От сервера клиенту (Server key exchange). Данное сообщение используется, если оно не имеет сертификата или если сертификат сервера содержит только открытый ключ подписи. В нем находятся подписанные параметры, использующиеся для обмена ключами: Sign(Client.param+Server.param+Param) (здесь и далее под знаком + будем подразумевать конкатенацию строк). Содержание Param зависит от выбранного типа обмена ключами (RSA, Fortezza или Диффи-Хэлмана), например: в случае обмена ключами типа Диффи-Хэлмана в нем присутствует значение X = gx mod п.
5. От сервера клиенту (Certificate request). В данном сообщении сервер запрашивает у клиента его сертификат.
6. От сервера клиенту (Server helloDone). Данное сообщение означает конец передачи данных в рамках протокола SSL Handshake со стороны сервера.
7. От клиента серверу (Certificate). Серверу пересылается сертификат клиента в случае, если было передано сообщение (Certificate request).
Защита технологии «клиент-сервер»
ЗП
Если у клиента нет сертификата, он может ответить серверу предуп-релсдающим сообщением; в этом случае сервер в зависимости от выбранной политики безопасности может продолжить обмен данными или ответить клиенту сообщением об ошибке и закончить сессию.
8. От клиента серверу (Client key exchange). Содержимое данного сообщения зависит от выбранного типа открытого распределения ключей, например: в случае выбора RSA клиент выбирает случайное число (pre_master_secret) и зашифровывает его на открытом ключе сервера, полученного из сертификата сервера.
9. От клиента серверу (Certificate verify). Данное сообщение используется для проверки сертификата. В нем передается значение Hash(master_secret + pad2 + Hash(handshake__messages + master_secret + pad 1)), где master_secret - значение, получаемое из pre_master_secret, a padl и pad2 - случайные значения, которые проверяются на сервере.
10. От клиента серверу (Finished). Данное сообщение используется для завершения протокола SSL Handshake. В нем передается значение Hash(master_secret + pad2 + Hash(handshake_messages +Sender + + rnaster_secret + padl)), которое проверяется на сервере.
В SSL-протоколе используется два типа аутентификации - двусторонняя аутентификация и аутентификация только сервера. Существует также третий тип установления защищенного канала передачи данных - без проведения аутентификации клиента и сервера.
Прежде чем приступить к рассмотрению безопасности SSL-протокола, следует отметить, что основным секретным параметром, знание которого распределяется между клиентом и сервером, является pre_master_secret.
Вопросы безопасности протокола SSL
Основным недостатком SSL является то, что большинство его реализаций поставляется с учетом экспортных ограничений в длине ключа равной 40 бит. При сегодняшнем уровне развития вычислительной техники это позволяет проводить на данный протокол атаки методом «грубой силы».
Предыдущая << 1 .. 121 122 123 124 125 126 < 127 > 128 129 130 131 132 133 .. 181 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed