master_secret = MD5 (pre_master_secret ||
SHA ('A' || pre_master_secret || ClientHello.random || ServerHello.random)) ||
MD5 (pre_master_secret ||
SHA ('BB' || pre_master_secret || ClientHello.random || Server Hello.random)) ||
MD5 (pre_master_secret ||
SHA ('CCC' || pre_master_secret || ClientHello.random || ServerHello.random)),
где ClientHello.random и ServerHello.random являются значениями оказий, входящих в оригинальные сообщения приветствия сторон (поле «случайное значение»).
3. 7. Генерирование криптографических параметров.
Для элемента “Параметры шифрования” поля “комплект шифров” требуются секретный ключ MAC клиента для записи, секретный ключ MAC сервера для записи, ключ клиента для записи, ключ сервера для записи, вектор инициализации клиента для записи и вектор инициализации сервера для записи. Все эти параметры генерируются из главного ключа путем применения функции хэширования к главному ключу с целью получения защищенной последовательности байтов достаточной длины.
Процедура генерирования ключей из главного ключа аналогична процедуре генерирования главного ключа из предварительного и показана ниже.
key_block = MD5 (master_secret ||
SHA ('A' || master_secret || ServerHello.random || ClientHello.random)) ||
MD5 (master_secret ||
SHA ('BB' || master_secret || Server Hello, random || ClientHello.random)) ||
MD5 (master_secret ||SHA('CCC' || master_secret || ServerHello.random || ClientHello.random)) || ...
Процедура выполняется до тех пор, пока не будет сгенерирована последовательность достаточной длины. Эта алгоритмическая структура представляет собой псевдослучайную функцию. Значение master_secret можно рассматривать как инициализирующее значение для этой функции. Сгенерированные клиентом и сервером случайные числа можно рассматривать как значения модификаторов (salt values), используемых с целью усложнения криптоанализа.
3. 8. Что такое TLS и его отличие от SSL.
Протокол TLSпредставляет собой результат инициативы IETF (InternetEngineeringTaskForce– проблемная группа проектирования Internet), целью которой является разработка стандарта SSLдля Internet. Текущая версия проекта стандарта TLSочень похожа на SSLv3. Рассмотрим различия между TLSи SSLv3.
1. Схемы вычислений значений MACэтих протоколов отличаются по двум параметрам: применяемому алгоритму и области данных, для которых вычисляется значение кода аутентичности сообщения.
2. В TLSприменяется PRFфункция. PRFфункция служит для получения небольшого по длине секретного значения, которое служит для генерирования более длинных блоков данных (используя специальную схему расширения данных где использован алгоритм HMAC), защищённых от атак на функции хэширования и вычисления значений кода аутентичности сообщения. Секретное значение получается путём использования той же схемы расширения данных, но с алгоритмом MD5 или SHA.
3. В TLSне извещения no_certificate, но определён ряд дополнительных кодов извещения (их всего 12, 9 из которых означают неустранимую ошибку).
4. В TLSвключены все алгоритмы симметричной схемы шифрования, за исключением Fortezza.
5. Сообщение finishedв TLSпредставляет собой хэш-код, вычисленный c помощью master_secret, предыдущих сообщений и метки, идентифицирующей клиент и сервер. Схема вычисления сообщения finishedотличается от схемы, используемой в SSLv3. ВTLS схемывыглядиттак: PRF (master_secret, finished_label, MD5 (handshake_meassages) || SHA-1 (handshake_messages)), где
finished_label – строка «client finished» дляклиентаи «server_finished» длясервера.
6. Схема вычисления master_secretдля TLSиная чем в SSLv3.
7. В SSLбайты заполнителя добавляются к данным пользователя, подлежащим шифрованию, минимально необходимом количестве, достаточном для того, чтобы получить общую длину данных для шифрования, кратную длине блока шифра. В случае TLSразрешается добавлять любое число заполнителей (до 255 байтов включительно), лишь бы в результате длина блока данных получилась кратной длине блока шифра.
4. Защита на уровне IP (сетевой уровень).
4. 1. Архитектура защиты на уровне IP
IPSec обеспечивает сервис защиты на уровне IP, позволяя системе выбрать необходимые протоколы защиты, определить алгоритм (алгоритмы) для соответствующего сервиса (сервисов) и задать значения любых криптографических ключей, требуемых для запрошенного сервиса. Для защиты используется два протокола: протокол аутентификации, указанный заголовком данного протокола (заголовком аутентификации АН), и комбинированный протокол шифрования/аутентификации, определенный форматом пакета для этого протокола (протокола ESP). В данном случае обеспечиваются следующие виды сервиса:
• контроль доступа;
• целостность без установления соединений;
• аутентификация источника данных;
• отторжение воспроизведенных пакетов (форма целостности последовательностей);
• конфиденциальность (шифрование);
• ограниченная конфиденциальность транспортного потока.
В случае ESP есть два варианта: с использованием и без использования опции аутентификации. Как АН, так и ESP имеют возможности контроля доступа, основанного на распределении криптографических ключей и управлении транспортными потоками, относящимися к этим протоколам защиты.
Вид сервиса | AH | ESP (только шифрование) | ESP (шифрование и аутентификация) |
Контроль доступа | - | - | - |
Целостность без установления соединений | - | - | |
Аутентификация источника данных | - | - | |
Отторжение воспроизведенных пакетов | - | - | - |
Конфиденциальность | - | - | |
Ограниченная конфиденциальность транспортного потока | - | - |
Ключевым объектом в механизмах аутентификации и конфиденциальности для IP является защищенная связь (Security Association). Связь представляет собой одностороннее отношение между отправителем и получателем, применяющим сервис защиты к транспортному потоку. Сервис защиты предоставляет возможность для защищенной связи использовать либо АН, либо ESP, но никак не обе эти возможности одновременно.
В любом пакете IP защищенная связь однозначно идентифицируется адресом пункта назначения в заголовке IPv4 или IPv6 и индексом параметров защиты (даёт возможност ьвыбрать защищённую связь по которой должен обрабатываться полученный пакет) во вложенном заголовке расширения (АН или ESP).
Заголовки АН и ESP поддерживают два режима использования: транспортный и туннельный. Дадим краткий обзором этих режимов.
Транспортный режим.
Транспортный режим обеспечивает защиту прежде всего для протоколов высшего уровня. Это значит, что защита транспортного режима распространяется на полезный груз пакета IP. Примеры включают сегмент TCP или UDP, или пакет протокола ICMP , которые размещаются непосредственно над IP в стеке главного протокола. Когда система использует заголовки АН или ESP над IPv4, полезным грузом являются данные, обычно размещаемые сразу после заголовка IP. Для IPv6 полезным грузом являются данные, обычно следующие после заголовка IP и всех имеющихся заголовков расширений IPv6, за возможным исключением заголовка параметров адресата, который тоже может подлежать защите.
ESP в транспортном режиме шифрует и, если нужно, идентифицирует полезный груз IP, но не заголовок IP. АН в транспортном режиме идентифицирует полезный груз IP и некоторые части заголовка IP.
Туннельный режим.
Туннельный режим обеспечивает защиту всего пакета IP. После добавления к пакету IP полей АН или ESP весь пакет, вместе с полями защиты, рассматривается как полезный груз некоторого нового "внешнего" пакета IP с новым внешним заголовком IP. Весь оригинальный, или внутренний, пакет при этом пересылается через "туннель" от одной точки сети IP к другой, и ни один из маршрутизаторов на пути не может проверить внутренний заголовок IP. Ввиду того что оригинальный пакет инкапсулирован в новый, больший пакет может иметь совершенно другие адреса источника и адресата, что усиливает защиту. Туннельный режим используется тогда, когда один или оба конца защищенной связи являются шлюзами защиты, например брандмауэрами или маршрутизаторами, которые основаны на IPSec. При использовании туннельного режима системы в сетях за брандмауэрами могут осуществлять защищенный обмен данными без применения IPSec. Незащищенные пакеты, генерируемые такими системами, связываются по туннелям, проложенным через внешние сети с помощью туннельного режима защищенной связи, установленного программным обеспечением IPSec в брандмауэре или защищенном маршрутизаторе на границе локальной сети.
Функциональные возможности транспортного и туннельного режимов
Вид заголовка | Транспортный режим защищенной связи | Туннельный режим защищенной связи |
АН | Идентифицирует полезный груз IP, а также отдельные части заголовка IP и заголовков расширений IPv6 | Идентифицирует весь внутренний пакет IP (заголовок и полезный груз внутреннего пакета IP), а также отдельные части внешнего заголовка IP и внешних заголовков расширений IPv6 |
ESP | Шифрует полезный груз IP и все заголовки расширений IPv6, следующие за заголовком ESP | Шифрует внутренний пакет IP |
ESP с аутентификацией | Шифрует полезный груз IP и все заголовки расширений IPv6, следующие за заголовком ESP.Идентифицирует полезный груз IP, но не заголовок IP | Шифрует внутренний пакет IP. Идентифицирует внутренний пакет IP |
4. 2. Заголовок аутентификации (AH).
Заголовок аутентификации (АН) обеспечивает поддержку целостности данных и аутентификации пакетов IP. Свойство целостности данных гарантирует невозможность незаметной модификации содержимого пакета в пути следования. Функция аутентификации дает возможность конечной системе или сетевому устройству идентифицировать пользователя или приложение и соответственно отфильтровать трафик, а также защититься от очень распространенных сегодня в Internet атак с подменой сетевых адресов. Заголовок АН также защищает от атак воспроизведения сообщений.