В стеке протоколов TCP/IP, протокол SSL располагается между протоколами TCP/IP и высокоуровневыми протоколами уровня приложений, как, например, HTTP и SMTP. Реализация SSL инициализирует TCP/IP на стороне приложения и позволяет клиенту и серверу, поддерживающим SSL, аутентифицировать друг друга и устанавливать между собой зашифрованное соединение. В данной статье рассматриваются три основных принципа SSL соединений через Интернет:
SSL аутентификация сервера позволяет клиенту подтвердить подлинность сервера. ПО клиента, поддерживающее SSL, может использовать стандартные приемы шифрования с открытым ключом для проверки подлинности сертификата сервера и соответствия публичного ключа сервера списку доверяемых сертификатов, публикуемых Центром Сертификации (ЦС). Такое подтверждение может быть важно для клиента, если он, например, отправляет по сети номер кредитной карточки и хочет идентифицировать получающий сервер.
SSL аутентификация клиента позволяет серверу подтвердить подлинность клиента. Используя те же приемы, описанные в предыдущем параграфе, сервер, поддерживающий SSL, может проверить подлинность сертификата клиента и соответствие публичного ключа клиента списку доверяемых сертификатов, публикуемых ЦС. Данное подтверждение может быть важно для сервера, если он, например, является сервером банка, отправляющим клиенту конфиденциальную финансовую информацию и необходимо идентифицировать получателя.
При шифровании SSL соединения требуется, чтобы вся передаваемая информация была зашифрована при помощи отправляющего ПО и затем дешифрована при помощи получающего ПО. Данное требование позволяет сохранять высокую конфиденциальность соединения. Конфиденциальность важна для обоих участников любого закрытого соединения. Также все данные, передаваемые через зашифрованное SSL соединение, защищаются механизмом обнаружения вторжений, позволяющем автоматически отслеживать возникновение изменений в данных во время передачи.
Выполнение SSL протокола проходит несколько фаз: установка SSL соединения, аутентификация сервера, не обязательная аутентификация клиента. И только затем устанавливается зашифрованный канал связи. Данная статья не дает детального описания протокола SSL, она является руководством по созданию веб приложения с поддержкой SSL для сервера приложений.