База знаний по Open Source
Авторизация
Поиск по базе знаний

SSL – это открытый криптографический протокол (Secure Sockets Layer protocol, протокол защищенных сокетов), разработанный в 1996 году компанией Netscape для передачи зашифрованной информации по открытым каналам, обеспечивая надежный, защищенный обмен данными между двумя приложениями, работающими удаленно. Для работы протокол использует ассиметричную криптосистему с открытым ключом, разработанную компанией RSA Data Security.

SSL обеспечивает безопасный канал между клиентом и сервером, предоставляя возможность взаимной аутентификации, использования цифровых подписей для обеспечения целостности и шифрования для конфиденциальности.

В многоуровневой модели OSI  протокол SSL располагается между протоколом транспортного уровня (например, TCP), и протоколом прикладного уровня (чаще всего HTTP).

Протокол SSL имеет два уровня: протокол записей (SSL Record Protocol) и протокол диалога (SSL Handshake Protocol). Нижний уровень SSL – SSL Record Protocol располагается поверх транспортного протокола (например, TCP). Верхний уровень – SSL Handshake Protocol позволяет серверу и клиенту идентифицировать друг друга и согласовывать алгоритм шифрования и криптографические ключи, до начала обмена данными.

В протоколе SSL реализована возможность два типа идентификации (или аутентификации):

  • идентификация на стороне клиента;
  • идентификация на стороне сервера.

Серверная сторона аутентифицируется всегда, в то время как клиентская – аутентифицируется опционно.

SSL-идентификация сервера позволяет клиенту проверить подлинность сервера, то-есть убедиться, что сертификат сервера и открытый ключ действительны и были выданы источником, находящимся в списке доверенных источников сертификатов этого клиента. В случае самоподписанных сертификатов клиенту нужно будет добавить исключение для данного сертификата.

SSL-аутентификация клиента позволяет серверу проверить личность пользователя. Используется в основном в финансовых системах.

При установлении соединения по SSL клиент и сервер обмениваются приветственными сообщениями (hello message). Кроме всего прочего приветственное сообщение устанавливает четыре основных параметра: версия протокола, идентификатор сессии, способ шифрования, метод компрессии, а также, два специально сгенерированных случайных числа; и сервер, и клиент, генерируют такие числа независимо друг от друга, а затем, просто обмениваются ими друг с другом.

После получения приветственного сообщения от клиента, сервер отсылает клиенту свой сертификат. После этого, производится еще ряд промежуточных обменных операций, в процессе которых, производится окончательное уточнение выбранного алгоритма шифрования и ключей. Для шифрования данных используются средства симметричной криптографии (например, DES, RC4 и т.д.) – протокол позволяет использовать по выбору различные алгоритмы для шифрования. В итоге сервер посылает клиенту некое финальное сообщение, после чего обе стороны приступают к обмену зашифрованной информацией.

Надежность соединения обеспечивается контролем целостности сообщений с помощью зашифрованного кода целостности (MAC). Для вычисления кодов МАС используются безопасные хэш-функции (например, безопасный хэш-алгоритм [SHA], MD5 и т.д.).

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

Версии SSL:

  • SSL v2.0 – первый реализованный протокол SSL
  • SSL v3.0 – ревизия протокола с целью предотвращения специфичных атак, добавление не-RSA шиф­ров и цепей сертификатов
  • TLS v1.Х – ревизия протокола SSL v3.0. Уровень MAC обновлен до HMAC. Добавлены дополнение блоков для блочных шифров, стандартизован порядок сообщений, расширены предупреди­тельные сообщения.

В настоящее время на смену SSL v3.0 пришел протокол TLS (Transport Layer Security), но она до сих пор используется во многих современных браузерах (Chrome, Firefox) и веб-серверах в целях обратной совместимости. По некоторым оценкам, через SSL 3.0 проходит около 1% всего  интернет-трафика.

Добавить комментарий

Еще по теме Щифрование и конфиденциальность в IT