Научная литература
booksshare.net -> Добавить материал -> Криптография -> Венбо Мао -> "Современная криптография" -> 187

Современная криптография - Венбо Мао

Венбо Мао Современная криптография. Под редакцией Клюшиной Д.А. — М. : Издательский дом Вильямс, 2005. — 768 c.
ISBN 5-8459-0847-7
Скачать (прямая ссылка): sovremennaya_kriptografiya.djvu
Предыдущая << 1 .. 181 182 183 184 185 186 < 187 > 188 189 190 191 192 193 .. 311 >> Следующая

Рассмотрим теперь поле ciphersuites. Поле ClienfHello.ciphersuites представляет собой список криптографических опций, поддерживаемых на клиентской машине и упорядоченных в соответствии с приоритетами клиента. Клиент может предложить серверу широкий круг криптографический алгоритмов, как симметричных, так и с открытым ключом, кодов аутентификации сообщений и функций хэширования. Для каждой криптографической операции сервер выбирает единственную схему и сообщает о ней клиенту, используя поле ClientHello.cipher_suites.
12.5.2.2 Сертификат сервера и материал для обмена ключами
После обмена приветствиями сервер может послать свой сертификат, подлежащий аутентификации. Если сообщение ServerCertificate не является пустым, оно содержит список сертификатов X.509.v3 (см. раздел 13.2). Сертификат Х.509 содержит информацию об имени и открытом ключе владельца сертификата, а также об источнике сертификата (см. пример 13.1). Получив список сертификатов, клиент может выбрать алгоритм с открытым ключом, поддерживаемый клиентской машиной.
Вслед за сообщением ServerCertificate пересылается сообщение ServerKeyEx-change. Оно содержит элементы открытого ключа, соответствующего списку сертификата в сообщении ServerCertificate. Элементы ключа Диффи-Хеллмана включаются в тройку (р, д, ду), где р — простой модуль, д — порождающий элемент большой группы по модулю р, а у — целое число, записанное в кэш-памяти сервера и связанное с полем "номерсеанса".
472
Часть IV. Аутентификация
В дальнейшем сервер, обеспечивающий неанонимные услуги, с помощью сообщения CertificateRequest может запросить у клиента сертификат, согласованный с полем ClientHello.ciphersuite.
После этого сервер посылает сообщение ServerHelloDone, означающее завершение обмена приветствиями, и переходит в режим ожидания.
12.5.2.3 Ответ клиента
Получив сообщение CertificateRequest, клиент должен в ответ отослать либо сообщение ClientCertificate, либо предупреждение NoCertificate.
Затем клиент пересылает серверу сообщение ClientKeyExchange. Содержание этого сообщения зависит от выбранного алгоритма с открытым ключом, согласованным путем обмена сообщениями ClientHello и ServerHello.
Если для обмена ключами выбран алгоритм RSA, клиент генерирует "главный секрет" (число, состоящее из 48 бит) и шифрует его с помощью сертифицированного открытого ключа RSA, принадлежащего серверу и содержащегося i в сообщении ServerCertificate.
Если клиент способен подписывать сертификаты, он должен отослать серверу сообщение CertificateVerify, снабженное цифровой подписью. Это позволяет серверу явно верифицировать сертификат клиента.
12.5.2.4 Обмен заключительными сообщениями
На этом этапе клиент посылает серверу сообщение ClientFinished, содержащее код НМАС, зашифрованный с помощью "главного секрета". Это дает серверу возможность подтвердить квотирование, выполненное клиентом.
В ответ сервер пересылает клиенту сообщение ServerFinished, которое также содержит код НМАС, позволяющий клиенту подтвердить квитирование, выпол-' ненное сервером.
Таким образом, квитирование считается завершенным, а клиент и сервер могут переходить к обмену данных на уровне приложений.
12.5.3 Выполнение протокола квитирования TLS
Рассмотрим обычное течение протокола квитирования TLS.
Поскольку в ходе выполнения этого протокола клиент предпочитает оставаться анонимным и не аутентифицироваться сервером, он выбирает для шифрования* алгоритм RSA, а для вычисления кода НМАС — алгоритм SHA-1. В результате происходит односторонняя аутентификация — сервер доказывает свою подлин-1 ность клиенту. Итогом протокола становится установка одностороннего аутенти-фицированного канала связи от сервера к клиенту.
Такой ход протокола TLS является типичным для средств электронной коммерции в WWW, например, при покупке книг в электронных магазинах. Уста-
Глава 12. Протоколы аутентификации — реальный мир
473
Протокол 12.2. Выполнение протокола квитирования TLS
1. S: CiientHello.protocol_version="TLS Version 1.0",
ClientHello.random=Tc, Nc,
ClientHello.session_id="NULL",
ClientHello.crypto_suite="RSA: encryption, SHA-1: HMAC",
ClientHello.compressionmethod-'NULL";
2. С: ServerHello.protocolversion-'TLS Version 1.0",
ServerHello.random=Ts, Ns,
ServerHello.session_id="xyzl23",
ServerHello.crypto_suite="RSA: encryption, SHA-1: HMAC",
ServerHello.compressionmethod-'NULL";
ServerCertificate^oint_to(cepTH4bHKaT сервера),
ServerHelloDone;
3. S: ClientKeyExchange=point_to(RSA_Encryption(master_secret)),
ClientFinished=SHA_l(master_secret || С ||, Nc, Ns,...);
4. С: ServerFinished=SHA_l(master_secret || С ||, Ns, Nc, ¦-.)¦
новленный канал гарантирует клиенту, что его инструкции будет получать только аутентифицированный сервер. Это очень важно, поскольку эти инструкции могут содержать конфиденциальную информацию о клиенте, например, данные о банковской карточке, название книги и адрес доставки.
12.5.4 Атака на приложение TLS с помощью обходного канала
В ходе атаки с помощью обходного канала (side channel attack) Злоумышленник пытается найти скрытую информацию, непреднамеренно разглашенную пользователем. Одной из разновидностей атаки с помощью обходного канала является атака на основе временного анализа (timing analysis attack). В данном случае Злоумышленник наблюдает и анализирует реакцию пользователя на получаемые от него запросы. Первые примеры атаки с помощью обходного канала и атаки на основе временного анализа были изобретены Кочером (Kocher) [167]. Он атаковал систему, выполнявшую возведение в степень по модулю. Как известно, эта операция выполняется в ходе подписания сообщений, при расшифровке сообщений с помощью алгоритма RSA, а также при создании эфемерных ключей в семействе схем цифровой подписи Эль-Гамаля в рамках протокола обмена ключами Диффи-Хеллмана. Атака направлена на раскрытие секретного показателя степени. Возведение в степень использует метод возведения в квадрат с последующим умножением и побитовой обработкой показателя (см. алгоритм 4.3).
Предыдущая << 1 .. 181 182 183 184 185 186 < 187 > 188 189 190 191 192 193 .. 311 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed