Протоколы безопасного сетевого взаимодействия

Безопасное сетевое взаимодействие (часть 2)

Протокол Записи состоит из нескольких уровней. На каждом уровне сообщения могут включать поля длины, описания и содержимого. Протокол Записи фрагментирует сообщение на блоки нужной длины, осуществляет сжатие данных, применяет МАС и зашифровывает их, после чего результат передается по сети. На другом конце соединения полученные данные дешифруются, проверяется их целостность, далее они декомпрессируются, дефрагментируются и передаются протоколам более высокого уровня.

Выше протокола Записи могут располагаться следующие протоколы: протокол Рукопожатия , Аlert-протокол, протокол изменения шифрования и протокол прикладных данных. Для того чтобы иметь возможность расширения протокола TLS , протокол Записи допускает создание новых типов записей. Если реализация TLS получает тип записи, который она не понимает, она просто игнорирует его. Заметим, что тип и длина записи не зашифрованы, следовательно эти значения не должны содержать секретных данных.

Состояния соединения

Вводится понятие состояния соединения , которое определяет параметры выполнения протокола Записи . Такими параметрами являются алгоритм сжатия, алгоритм шифрования и МАС-алгоритм, а также параметры этих алгоритмов, т.е. секреты МАС, ключи алгоритма шифрования и инициализационные вектора. Для каждого направления (соответственно чтение или запись) параметры соединения могут различаться. Существует четыре состояния соединения : текущие состояния чтения и записи и ожидаемые состояния чтения и записи. Параметры безопасности для ожидаемых состояний устанавливаются протоколом Рукопожатия , а протокол Изменения шифрования может делать ожидаемое состояние текущим, при этом соответствующее текущее состояние сбрасывается и заменяется ожидаемым. Ожидаемое состояние в этом случае инициализируется в пустое состояние. Разработчики не должны допускать возможности сделать текущим состояние, которое не было инициализировано параметрами безопасности. Начальное текущее состояние всегда определяется без использования шифрования, сжатия и МАС.

Параметры безопасности для состояний чтения и записи устанавливаются с помощью следующих значений (см. таб. 21.1).

Уровень записи использует параметры безопасности для создания следующих шести элементов:

Источник

Безопасное сетевое взаимодействие (часть 2)

Аннотация: Рассматривается протокол TLS/SSL. Описаны протокол Записи и протокол Рукопожатия, определено понятие «состояние соединения». Описаны используемые криптографические операции и PRF. Рассматриваются расширения, которые могут использоваться для добавления функциональностей в TLS.

Протокол TLS/SSL

Введение

Основная функция протокола TLS состоит в обеспечении защиты и целостности данных между двумя взаимодействующими приложениями, одно из которых является клиентом, а другое – сервером.

Читайте также:  Как называется компьютерная сеть где нет специально выделяемого сервера

Протокол TLS (Transport Layer Security) разрабатывался на основе спецификации протокола SSL 3.0 (Secure Socket Layer), опубликованного корпорацией Netscape. Различия между данным протоколом и SSL 3.0 несущественны, но важно заметить, что TLS 1.0 и SSL 3.0 несовместимы, хотя в TLS 1.0 предусмотрен механизм, который позволяет реализациям TLS иметь обратную совместимость с SSL 3.0.

Перечислим задачи протокола TLS в порядке их приоритета:

  1. Криптографическая безопасность: TLS должен использоваться для установления безопасного соединения между двумя участниками.
  2. Интероперабельность: независимые разработчики могут создавать приложения, которые будут взаимодействовать по протоколу TLS , что позволит устанавливать безопасные соединения.
  3. Расширяемость: TLS формирует общий каркас, в который могут быть встроены новые алгоритмы открытого ключа и симметричного шифрования. Это также избавляет от необходимости создавать новый протокол, что сопряжено с опасностью появления новых слабых мест, и предотвращает необходимость полностью реализовывать новую библиотеку безопасности.
  4. Относительная эффективность: криптографические операции интенсивно используют ЦП, особенно операции с открытым ключом. Для этого вводится понятие сессии, для которой определяются алгоритмы и их параметры. В рамках одной сессии может быть создано несколько соединений (например, ТСР). TLS позволяет кэшировать сессии для уменьшения количества выполняемых действий при установлении соединения. Это снижает нагрузку как на ЦП, так и на трафик.

Протокол состоит из двух уровней. Нижним уровнем, расположенным выше некоторого надежного протокола (а именно, протокола ТСР) является протокол Записи . Протокол Записи обеспечивает безопасность соединения, которая основана на следующих двух свойствах:

  1. Конфиденциальность соединения. Для защиты данных используется один из алгоритмов симметричного шифрования. Ключ для этого алгоритма создается для каждой сессии и основан на секрете, о котором договариваются в протоколе Рукопожатия . Протокол Записи также может использоваться без шифрования.
  2. Целостность соединения. Обеспечивается проверка целостности сообщения с помощью МАС с ключом. Для вычисления МАС используются безопасные хэш-функции SHA -1 и MD5. Протокол Записи может выполняться без вычисления МАС, но обычно функционирует в этом режиме.

Протокол Записи используется для инкапсуляции различных протоколов более высокого уровня. Одним из протоколов более высокого уровня является протокол Рукопожатия , который использует протокол Записи в качестве транспорта для ведения переговоров о параметрах безопасности. Протокол Рукопожатия позволяет серверу и клиенту аутентифицировать друг друга и договориться об алгоритмах шифрования и криптографических ключах до того, как прикладной протокол, выполняющийся на том же уровне, начнет передавать или принимать первые байты данных.

Читайте также:  Словарь терминов компьютерные сети

Протокол Рукопожатия обеспечивает безопасность соединения, которая основана на следующих свойствах:

  1. Участники аутентифицированы с использованием криптографии с открытым ключом (т.е. с использованием алгоритмов RSA, DSS и т.д.). Эта аутентификация может быть необязательной, но обычно требуется по крайней мере для сервера.
  2. Переговоры о разделяемом секрете безопасны, т.е. этот общий секрет невозможно подсмотреть.
  3. Переговоры о разделяемом секрете надежны, если выполнена аутентификация хотя бы одной из сторон. В таком случае атакующий, расположенный в середине соединения, не может модифицировать передаваемый секрет незаметно для участников соединения.

Одно из преимуществ TLS состоит в том, что он независим от прикладного протокола. Протоколы более высокого уровня могут прозрачно располагаться выше протокола TLS .

Источник

Безопасное сетевое взаимодействие (часть 2)

Аннотация: Рассматривается протокол TLS/SSL. Описаны протокол Записи и протокол Рукопожатия, определено понятие «состояние соединения». Описаны используемые криптографические операции и PRF. Рассматриваются расширения, которые могут использоваться для добавления функциональностей в TLS.

Протокол TLS/SSL

Введение

Основная функция протокола TLS состоит в обеспечении защиты и целостности данных между двумя взаимодействующими приложениями, одно из которых является клиентом, а другое – сервером.

Протокол TLS (Transport Layer Security) разрабатывался на основе спецификации протокола SSL 3.0 (Secure Socket Layer), опубликованного корпорацией Netscape. Различия между данным протоколом и SSL 3.0 несущественны, но важно заметить, что TLS 1.0 и SSL 3.0 несовместимы, хотя в TLS 1.0 предусмотрен механизм, который позволяет реализациям TLS иметь обратную совместимость с SSL 3.0.

Перечислим задачи протокола TLS в порядке их приоритета:

  1. Криптографическая безопасность: TLS должен использоваться для установления безопасного соединения между двумя участниками.
  2. Интероперабельность: независимые разработчики могут создавать приложения, которые будут взаимодействовать по протоколу TLS , что позволит устанавливать безопасные соединения.
  3. Расширяемость: TLS формирует общий каркас, в который могут быть встроены новые алгоритмы открытого ключа и симметричного шифрования. Это также избавляет от необходимости создавать новый протокол, что сопряжено с опасностью появления новых слабых мест, и предотвращает необходимость полностью реализовывать новую библиотеку безопасности.
  4. Относительная эффективность: криптографические операции интенсивно используют ЦП, особенно операции с открытым ключом. Для этого вводится понятие сессии, для которой определяются алгоритмы и их параметры. В рамках одной сессии может быть создано несколько соединений (например, ТСР). TLS позволяет кэшировать сессии для уменьшения количества выполняемых действий при установлении соединения. Это снижает нагрузку как на ЦП, так и на трафик.
Читайте также:  Что такое облако в компьютерной сети

Протокол состоит из двух уровней. Нижним уровнем, расположенным выше некоторого надежного протокола (а именно, протокола ТСР) является протокол Записи . Протокол Записи обеспечивает безопасность соединения, которая основана на следующих двух свойствах:

  1. Конфиденциальность соединения. Для защиты данных используется один из алгоритмов симметричного шифрования. Ключ для этого алгоритма создается для каждой сессии и основан на секрете, о котором договариваются в протоколе Рукопожатия . Протокол Записи также может использоваться без шифрования.
  2. Целостность соединения. Обеспечивается проверка целостности сообщения с помощью МАС с ключом. Для вычисления МАС используются безопасные хэш-функции SHA -1 и MD5. Протокол Записи может выполняться без вычисления МАС, но обычно функционирует в этом режиме.

Протокол Записи используется для инкапсуляции различных протоколов более высокого уровня. Одним из протоколов более высокого уровня является протокол Рукопожатия , который использует протокол Записи в качестве транспорта для ведения переговоров о параметрах безопасности. Протокол Рукопожатия позволяет серверу и клиенту аутентифицировать друг друга и договориться об алгоритмах шифрования и криптографических ключах до того, как прикладной протокол, выполняющийся на том же уровне, начнет передавать или принимать первые байты данных.

Протокол Рукопожатия обеспечивает безопасность соединения, которая основана на следующих свойствах:

  1. Участники аутентифицированы с использованием криптографии с открытым ключом (т.е. с использованием алгоритмов RSA, DSS и т.д.). Эта аутентификация может быть необязательной, но обычно требуется по крайней мере для сервера.
  2. Переговоры о разделяемом секрете безопасны, т.е. этот общий секрет невозможно подсмотреть.
  3. Переговоры о разделяемом секрете надежны, если выполнена аутентификация хотя бы одной из сторон. В таком случае атакующий, расположенный в середине соединения, не может модифицировать передаваемый секрет незаметно для участников соединения.

Одно из преимуществ TLS состоит в том, что он независим от прикладного протокола. Протоколы более высокого уровня могут прозрачно располагаться выше протокола TLS .

Источник

Оцените статью
Adblock
detector