Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Безопасность на транспортном уровне: SSL и TLS
Алгоритмы сжатия
Как мы уже говорили, сжатие является дополнительной услугой в SSLv3. Для SSLv3 не определен алгоритм сжатия. Поэтому заданным по умолчанию методом сжатия служит NULL. Однако система может использовать любой алгоритм сжатия по выбору сторон.
Генерирование криптографических параметров
Чтобы обеспечить целостность и конфиденциальность сообщения, в SSL необходимо иметь: шесть криптографических объектов секретности, четыре ключа и два инициализирующих вектора (IV). Клиенту нужно: один ключ для передачи сообщения установления подлинности (HMAC - HASH-BASED MESSAGE AUTHENTICATION CODE), один ключ для шифрования и один IV для шифрования блока. Сервер нуждается в том же самом. SSL требует, чтобы ключи для одного направления отличались от ключей для другого направления. Если будет атака в одном направлении, она не затронет другое направление. Для генерации параметров используют следующую процедуру:
- Клиент и сервер обмениваются двумя случайными числами, одно из которых создано клиентом, а другое - сервером.
- Клиент и сервер обмениваются одним предварительным главным секретным кодом, используя один из алгоритмов смены ключей, которые мы обсуждали раньше.
- Создается 48-байтовый
главный секретный код
(master secret) из
предварительного главного секретного кода
(pre-master secret), с применением хэш-функций (SHA-1 и MD5), как это показано на рис. 7.8.
увеличить изображение
Рис. 7.8. Вычисление главного секретного кода из предварительного главного секретного кода -
Главный секретный код используется для того, чтобы создать
материал для ключей (key material), который имеет переменную длину. Для этого применяют то же самое множество хэш-функций, что и в предыдущем случае, и подставляют спереди различные константы, как это показано на
рис. 7.9. Алгоритм повторяется, пока не получится материал для ключа адекватного размера.
Обратите внимание, что длина блока материала для ключей зависит от выбранного набора шифра и размера ключей, необходимых для этого набора.
- Из материала для ключей извлекаются шесть различных ключей, как показано на рис. 7.10.
Сеансы и соединение
SSL отличает соединение от сеанса. Давайте рассмотрим эти два термина. Сеанс - связь между клиентом и сервером. После того как сеанс установлен, эти две стороны имеют общую информацию, такую как идентификатор сеанса, сертификат, подтверждающий подлинность каждого из них (в случае необходимости), метод сжатия (если необходимо), набор шифров и главный секретный код. Эта информация используется для того, чтобы создать ключи для сообщения, содержащего шифр установления подлинности.
Для двух объектов, чтобы начать обмен данными, установление сеанса необходимо, но не достаточно; они должны создать между собой соединение. Эти два объекта обмениваются двумя случайными числами и создают, используя главный секретный код, ключи и параметры, необходимые для того, чтобы обмениваться сообщениями, включая установление подлинности и секретность.
Сеанс может состоять из многих соединений. Соединение между двумя сторонами может быть закончено и восстановлено в пределах одного и того же сеанса. Когда соединение закончено, эти две стороны могут также закончить сеанс, но это необязательно. Сеанс может быть приостановлен и продолжен снова.
Чтобы создавать новый сеанс, эти две стороны должны пройти процесс переговоров. Чтобы возобновлять старый сеанс и создавать только новое соединение, эти две стороны могут пропустить часть переговоров, что уменьшает время вхождения в связь. Не надо создавать главный секретный код, когда сеанс продолжается.
Разделение сеанса от соединения предотвращает высокую стоимость создания главного секретного кода. Если мы разрешаем приостановления и продолжения сеанса, процесс вычисления главного секретного кода может быть устранен. рис. 7.11 иллюстрирует идею сеанса и соединения в этом сеансе.
Состояние сеанса
Сеанс определяется состоянием сеанса - это множество параметров, установленных между сервером и клиентом. табл. 7.2 показывает список параметров для состояния сеанса.
Состояние соединения
Подключение определяется состоянием соединения - это множество параметров, установленных между двумя равными по уровню объектами. табл. 7.3 показывает список параметров для состояния соединения.
SSL использует два признака, чтобы отличить криптографическую секретность: писать и читать. Термин писать определяет ключ, используемый для того, чтобы подписать или зашифровать исходящее сообщение.Термин читать определяет ключ, используемый для того, чтобы подтвердить или расшифровывать прибывающие сообщения. Обратите внимание: писать-ключ клиента - тот же самый, что и ключ- читать сервера; ключ- читать клиента - тот же самый, что и ключ- писать сервера.