
212
Часть
III. Weh-протоколы
6.4.1.
SSL
SSL был разработан Netscape в 1994 г. и стал основой для стандарта IETF
Transport Layer Security (TLS) [DA98]. SSL
—
это протокол между транспортным и
11ри1счадным уровнями. Все протоколы прикладного уровня, такие как HTTP, LDAP и
Internet Message Access Protocol (ШАР [IMAJ), MOiyr использовать SSL. SSL вер-
сии 3.0 [SSLJ, который появился после выявления и устранения недостатков более
ранних версий, в настоящее время является текущей версией SSL и составляет основу
TLS.
SSL поддерживается большинством известных на сегодняшний день браузеров.
Гчавная цель SSL
—
обеспечить для клиента, использующего TCP/IP в качестве
соединения транспортного уровня, безопасную передачу данных серверу, воспри-
нимающему SSL. Безопасность определяется шифрованием данных, передаваемых
между аутентифицированными клиентом и сервером. Естественная форма сообще-
ния преобразуется путем шифрования в форму, которая может быть прочитана
только тем, кто способен осуществить расшифровку. Преобразование открытого
текста в зашифрованный текст (криптографическую версию текста, которую не-
возможно прочесть) выполняется с помощью алгоритма и ключа. Существует мно-
жество математических алгоритмов шифрования, обеспечивающих различную сте-
пень криптографической устойчивости (т.е. степени сложности для постороннего
лица извлечь открытый текст из зашифрованного). Чтобы осуществить шифрова-
iHie,
необходимо применить определенный алгоритм и выбрать ключ. Ключом час-
то является пароль, известный участвующему в коммуникационном взаимодейст-
вии нрограмхмному компоненту, и не являющийся частью сообщения. Надежность
ключа определяется количеством битов, необходимых для его представления, по-
скольку взломщик может попытаться подобрать ключ, испробовав все возможные
комбинации. Чрезвычайно сложный алгоритм с небольшим ключом, представлен-
ным дюжиной битов, требует рассмотрения 2^^ (т.е. 4096) значений, что легко мо-
жет быть реализовано любым компьютером. Однако мощному компьютеру стоимо-
стью несколько миллионов долларов потребуется 10^^ лет, чтобы рассмотреть все
возможные значения 128-битного ключа, использовав метод прямого перебора.
Дл1ггельность процесса шифрования/дешифрования напрямую не зависит от дли-
ны ключа. Следует заметить, что простой алгоритм с длинным ключом более уяз-
вим, чем сложный алгоритм с коротким ключом.
Зашифровангюе сообщение, таким образом, может быть передано через сеть, кото-
рая является уязвимой для перехвата сообщения. Даже если по перехваченным фраг-
ментам удастся получить копию зашифроватюго текста, и известен алгоритм, ис-
пользованный для шифрования, без ключа преобразование криптофаммы в открытый
текст будет невозможно. Различные алгоритмы шифрования и их возможности не
входят в сферу рассмотрения этой книги. Читателям можно порекомендовать обра-
титься к другим источникам, затрагивающим эту тему (например, [Ste98a, RGR97]).
Кринто1рафия па основе открытого к7поча и сертификатов используется серве-
ром для собственной аутентификации. Сертификат в своей основе представляет со-
бой файл, идентифицирующий личность или организацию. Клиент может убедиться,
что сервер действительно является тем сервером, который заявлен, проверив серти-
фикат доверенной сторонней организации. Сервер, в свою очередь, может гарантиро-
вать тождество клиента, проверив клиентский сертификат. На практике сервер ред-
ко н])оверяет клиентский сертификат. И клиеггг, и сервер могут иметь небольшой
список таких доверенных сторонних организаций, выдающих сертификаты.
Протокол SSL состоит из двух составных частей: установления SSL-соединения
и защищенного взаимодействия. Протокол установления SSL-соединения схож