[ SSL. Описание протокола ]
ТЕОРИЯ:
SSL (Secure Sockets Layer — протокол защищённых сокетов) —
криптографический протокол, призваный обеспечить безопасную передачу данных
по сети Интернет.
При работе по этому протоколу создаётся защищённое соединение
между клиентом и сервером. По стандарту протокол работает на 443-м порту. Но
админ всегда может сменить номер порта чтобы скрыть от такого злоумышленника
как ты свои сервисы =).
SSL изначально разработан компанией Netscape Communications и сейчас
поддерживается всеми популярными браузерами. Для работы по SSL вместо
перфикса http:\ применяется перфикс https:\.
SSL представляет из себя 128 битовую систему шифрования данных с открытым
ключем. Для каждого сервера в интернете, использующего данную систему
шифрования, создаются 2 ключа, один общественный, к которому имеют доступ
все юзеры сервиса, второй устанавливается на сервере и недоступен ни для кого.
Эти 2 ключа зависят один от другого и друг без друга смысла не имеют.
Для того чтобы включить на своем сервере потдержку SSL необходимо
преобрести ключи и сертификат. Стоимость колеблется от 30$ до 500$ в
звисимости от вида сертификата. Сертификат предназначен для подтверждения
принадлежности ключей данному серверу или домену.
Многие хостеры по дефолту предоставляют так называемый "общий" SSL.
Единственное отличие - то что по мимо твоего сайта, те же ключи будут
использоваться и на других сайтах размещенных на этом хостере, что,
соглась, не совсем секурно.
ПРАКТИКА:
Вообще, протокол SSL не такая простая штука как многие думают. Писать
использующие SSL приложения довольно сложное занятие. Но как известно,
изобретать велосипед не придеться. Существуют готовые библиотеки
для реализации функций данного протокола. Вот некоторые из них:
* SSLeay
* OpenSSL
Я не буду сдесь вдаваться во все тонкости практического применения
этого протокола. Есле же ты захочешь с ним разобраться, то вооружись
хорошим снифером и www.ggogle.ru тебе в помощь =). Я же остановлюсь
на приблизительном описании принципов:
Пример соединения через SSL:
Клиент (К): посылает серверу слуяайное сообщение
Сервер (С): выдает свой сертификат
К: запрашивает подтверждение сертификата
С: передает подтверждение, один раз открыто, и один раз шифрованое
приватным ключем.
К: посылает секретное сообщение шифрованое публичным ключем.
С: посылает сообщение зашифрованое темже секретным ключем (например
сообщением клиента).
Сертификат содержит в себе следущие сведения:
* Имя человека/организации выпускающего сертификат.
* Для кого был выпущен данный сертификат (субъект сертификата).
* Публичный ключ субъекта.
* Некоторые временные параметры (срок действия сертификата и т.п.).
Полезные ссылки по теме:
* http://inssl.com - проект посвященный SSL
(c) Cobalt
Для блога на вордпресс лучше брать и хостинг с wordpress, к примеру - из этого
списка можно выбрать.