Сегодня, дабы провести экскурс среди коллег я бы хотела рассказать о том для чего нужен SSL, как он работает и какие типы SSL-сертификатов бывают.
Для чего нужен SSL
Итак, ни для кого не секрет что существуют злые, хитрые хакеры которые могут перехватить траффик вашего компьютера. От компьютера до веб-сервера траффик проходит через множество узлов многие из которых могут оказаться незащищёнными к "прослушке". В результате если вы предоставляете какому-то сайту личную информацию, от девичьей фамилии мужа или секретного рецепта пиццы, до мелочей вроде кредитной карты, то эта информация может попасть в третьи руки. Для того чтобы этого избежать информация шифруется, и такое соединение называется "безопасным" (secure - последняя буква в https://).
Как работает SSL
В основе работы технологии SSL - лежит технология шифрования данных RSA (аббревиатура фамилий создателей). Если просто, то технология основанна на том что генерируются два больших простых числа A и B, и число N, для расшифровки которого необходимо неприменно знать каждое из этих простых чисел. Одно из чисел A или B прячут, оно образует секретный ключ, а другое с числом N показывают всем - оно образует открытый ключ.
Спойлер для дотошных:
Число N - мультпликативно обратное над взаимно простым числом значению функции Эйлера над числами A и B. =) А ключи образуют не A и B, а их произведение, число N и число обратное N.
Шифрование получается "односторонним", т.е. то что зашифровано открытым ключом нельзя им расшифровать.
После того как пользователь получил открытый ключ, он генерирует им временный ключ на сессию и отправляет на сервер. Сервер с помощью секретного ключа расшифровывает временный ключ и им кодирует весь трафик к пользователю. Это обеспечивает приватность передачи данных. Технология шифрования RSA используется и в других системах, например SSH или SSL VPN.
Какие типы SSL-сертификатов бывают.
Для того чтобы использовать все прелести RSA-шифрования вы можете самостоятельно сгенерить открытый и секретный ключ для вашего сервера. Используя их вы можете бесплатно сделать себе handmade сертификат для поддержки ssl-соединений.
Однако SSL - это не только шифрование данных, это ещё метод подтверждения пользователю что он попал правильно и его не обманывают. Для того чтобы следить за этим существуют центры авторизации (Secure Server Certification Authority) которые предоставляют готовые ssl-сертификаты на домен или группу доменов (например поддомены *.jino.ru как у Jino). У них пользователь может проверить правильность сертификата.
Все права на технологию принадлежат американской правительственной фирме VerySign, и долгое время она единолично обладала правом выдачи сертификатов, но в силу антимонопольного закона была вынуждена лицензировать других регистраторов SSL, среди них ThatWE, Comodo, RapidSSL, GoDaddy.
Бесплатный сертификат
Браузер не пустит пользователя на сайт если сертификат не подписан центром сертификации. Пользователю будет показано уведомление, что сертификат не проверен и предложение принять его на свой страх и риск. Например в файрфокс вы увидете такую картинку
Это может отпугнуть ваших пользователей и может быть использовано только если они хотят шифрования данных.
Стандартные сертификаты
Если кликнуть по иконке такого сайта в адресной строке, то вы увидите синюю иконку
Стандартный сертификат SSL подтверждает только домен на котором вы находитесь. Если это именно тот домен который вы хотели посетить, то вы можете чувствовать себя в безопасности, однако если домен отличается от нужного вам, то вы можете стать жертвой фишеров, пожалуйста будьте внимательны. Для регистрации такого сертификата в некоторых фирмах, владелец не обязан предоставлять никаких документов. Вся представленная информация о владельце носит формальный характер.
Как разновидности таких сертификатов можно отметить SGC-сертификаты (с принудительно высоким уровнем шифрования) и Wildcard - сертификаты с поддержкой поддоменов.
Сертификаты расширенной проверки (EV)
В отличие от остальных, такой сертификат проверяется особо тщательно и требует проверки документов регистрирующегося Юр.лица. Таким образом посетитель может быть уверен что этот сайт или домен точно принадлежит той компании которой нужно.
В интернет эксплорер у вас будет зелёная адресная строка, в опере справа зелёная часть адресной строки, а Google Chrome никак ни проявляет различий между сертификатами. Интернет эксплорер до версии 7 также никак не проявлял различий между сертификатами отображая только замок защищённого соединения. Многие фишеры даже ставили такой замок как иконку своего сайта заблуждая этим пользователей.
Соединение без сертификата
Для большинства сайтов интернета вовсе не обязательно наличия сертификата и защищённого соединения. Адресная строка начинается с http:// и никак не выделяется.
Вредоносный сайт
Если вы попали на сайт который содержит вирусы, ифреймы, трояны и выманивает ваш секретный рецепт пиццы, то умный браузер покажет вам такой красный знак. Чтобы действительно попасть на сайт нужно кликнуть на маленькую ссылку внизу и пару раз подтвердить. Если вы не знаете что произойдёт, не делайте этого.
Ссылки по теме:
http://www.freessl.ru/rapidssl-wildcard-ssl-certificate.html
http://ssl.ru/ru/certificates/standart/ - сертификаты от RBK
http://www.securitylab.ru/analytics/365717.php - статья об возможной уязвимости в ssl найденной в конце 2008го года.
http://en.wikipedia.org/wiki/Extended_Validation_Certificate
http://www.dria.org/wordpress/archives/2008/05/06/635/ - статья "Firefox 3: Site Identification button". С рассуждениями о том насколько понятны иконки файрфокса. На английском.
Комментарии:
OrelryEryclaf
13.11.2009 07:05:51
Moony (Елена Лунная)
13.11.2009 07:27:55