Secure sockets layer что это?

Что такое Secure Sockets Layer

Современный интернет работает посредством сетевой инфраструктуры OSI. Она состоит из семи уровней, на каждом из которых происходит обмен данными между устройствами.

За работу каждого уровня отвечает один из сетевых протоколов. Сетевой протокол — это набор соглашений, в котором зафиксировано, как и по каким правилам будет происходить обмен данными. Одним из таких протоколов является Secure Sockets Layer, или SSL. Давайте разберемся, что он из себя представляет.

Что такое Secure Sockets Layer. Как работает протокол SSL

С английского Secure Sockets Layer (SSL) переводится как протокол защищённых сокетов (конечных точек соединения). SSL-certificate — это криптографический протокол, который отвечает за безопасную передачу данных на сеансовом уровне.

Протокол разработала и внедрила компания Netscape Communications в 1994 году. Самую первую версию SSL так и не выпустили из-за низкого уровня безопасности — протокол не гарантировал конфиденциальность данных по транзакциям с кредитными картами. При разработке SSL v2 были учтены и исправлены недостатки предыдущей версии. При этом уже в 1995 вышла третья версия протокола с улучшенной структурой MAC , но и её нельзя было назвать идеальной. В 1999 году Кристофер Аллен и Тим Диркс разработали новую версию протокола. Её назвали TLS — от англ. Transport Layer Security (защита транспортного уровня).

TLS-протокол регулярно обновляется. В 2006 году появилась версия 1.1, в 2008 — 1.2, а в 2018 разработана самая актуальная на данный момент версия — 1.3.

Поскольку технология SSL лежит в основе первых разработок безопасной передачи данных, защищённое подключение по-прежнему называют именно SSL ( а не TLS). Конечно, в бытовом общении эти понятия можно использовать как синонимы. При этом стоит понимать, что SSL и TLS всё-таки различаются.

SSL/TLS гарантирует безопасное взаимодействие на сеансовом уровне, работа которого не видна простому пользователю. Однако можно наблюдать, как защищённые протоколы работают на более высоком уровне — прикладном. За безопасность этого уровня отвечает протокол НTTPS.

Защита данных c SSL

Установите SSL-сертификат, и ваш сайт будет работать по безопасному соединению HTTPS

Как работает HTTPS

HTTPS (HyperText Transfer Protocol Secure) ― это протокол безопасного соединения, который защищает передаваемую информацию на уровне браузера. У него есть предшественник — HTTP.

HTTP (HyperText Transfer Protocol) ― протокол передачи данных в интернете. Благодаря его работе пользователь может запросить ту или иную информацию через браузер и получить её от сервера, на котором она хранится. Это первый протокол, разработанный для работы в веб-пространстве.

Информация, которой пользователь обменивается с сервером по протоколу HTTPS, в отличие от HTTP, защищена. HTTPS реализует защиту в три этапа:

  1. Шифрует передаваемую информацию. Так мошенники не могут отследить действия пользователей и получить доступ к данным.
  2. Проводит аутентификацию. Благодаря этому посетители понимают, что сайту можно доверять и что личная информация (паспортные данные, банковские реквизиты и другое) не попадёт в руки злоумышленников.
  3. Поддерживает целостность информации. Все транзакции и изменения данных фиксируются. Это позволяет отслеживать действия и вовремя предотвратить инцидент в случае подозрительной активности.

Какой порт SSL соответствует HTTPS протоколу? В отличие от HTTP, который работает по порту 80, HTTPS (SSL) использует порт 443.

Проверить, по какому протоколу работает сайт, можно в URL-строка браузера:

Изначально все сайты работают по HTTP. Чтобы «перевести» сайт на HTTPS, нужно установить SSL-сертификат .

Как работает SSL-сертификат

В основе работы SSL шифрования лежит обмен ключами по алгоритму RSA. Этот обмен происходит при каждом действии в сети (переходе по ссылке, вводе запроса в поисковик) — транзакции. При этом несколько транзакций могут объединиться в одну сессию — в таком случае обмен ключами произойдёт только один раз в сессию.

Рассмотрим, как работает RSA-алгоритм. Для этого представим, что пользователь переходит на сайт, но пока не знает, по какому протоколу он работает:

Браузер и сайт договариваются о симметричном ключе. Для этого браузер и сервер обмениваются асимметрично зашифрованными сообщениями, а затем общаются при помощи симметричного шифрования.

Асимметричный ключ — каждая сторона имеет два ключа: публичный и частный. Публичный ключ доступен любому. Частный известен только владельцу. Если браузер хочет отправить сообщение, то он находит публичный ключ сервера, шифрует сообщение и отправляет на сервер. Далее сервер расшифровывает полученное сообщение с помощью своего частного ключа. Чтобы ответить пользователю, сервер делает те же самые действия: поиск публичного ключа собеседника, шифрование, отправка.

Симметричный ключ — у обеих сторон есть один ключ, с помощью которого они передают данные. Между двумя сторонами уже должен быть установлен первичный контакт, чтобы браузер и сервер знали, на каком языке общаться.

Готово, пользователь подключился к сайту, который работает по безопасному протоколу HTTPS.

Итак, мы рассказали как для чайников, как работает SSL и HTTPS протоколы и что необходимо настроить для безопасного подключения.

Защитите данные на вашем сайте от мошенников. Установите SSL-сертификат, чтобы сайт работал по HTTPS-протоколу.

Что такое SSL?

Что такое SSL?

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

Погодите, а обычно разве не так?

Обычное интернет-соединенение проходит примерно через 15 узлов. Например, когда вы покупаете что-то в интернет-магазине, сидя у себя в офисе, отправляемая и получаемая вами информация проходит сразу через несколько узлов:

  • Через локальную сеть или Wi-Fi – её может увидеть администратор сети и ваши коллеги.
  • Через ближайший узел провайдера – там её могут увидеть сотрудники провайдера, и там же она может сохраниться для госорганов.
  • Через региональный маршрутизатор (точнее, несколько) — ещё несколько инженеров.
  • И в обратном порядке до сервера, где работает магазин – его узел провайдера, его локальная сеть.

Кроме того, к этой цепочке может подключиться злоумышленник, который будет специально вас слушать. В лучшем случае это будет ваш сосед, который «прослушивает» открытый Wi-Fi.

То есть когда я использую SSL, никто из этих людей не видит, что я передаю и получаю?

Да. Точнее, «снаружи» тогда будет видно только адрес сайта, с которым вы работаете. Вся информация пойдёт в шифрованном туннеле.

Как понять, соединён ли я по SSL?

Самый простой способ, если вы работаете с сайтом, — посмотреть строку адреса.

Если в начале его адреса будет написано https, а не http, то всё в порядке. Эта буква «s» в конце означает «secure», то есть защищённый, шифрованный. Современные браузеры покажут замок около адреса – наверняка вы уже видели такую иконку не раз. Кроме того, большая часть современных браузеров предупреждает о том, что вы передаёте важные данные по открытому каналу. Предполагается, что в будущем большинство сайтов будут работать по SSL полностью. Сейчас же это, в основном, касается только тех страничек, где происходит оплата.

Если я покупаю что-то в интернет-магазине, а сайт без https, это плохо?

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

По SSL можно соединяться только с сайтом или с чем-то ещё?

Этот протокол обмена информацией используют многие мессенджеры, например, Вотсап, Вайбер, ICQ (в последних версиях), Телеграм, Фейсбук Мессенджер и так далее. И многие приложения тоже, например, банковские. Кроме того, по SSL можно соединяться с чем угодно – это просто способ обмена ключами и ширования, то есть средство построения связи.

Что такое SSL-сертификат?

Когда вы соединяетесь с новым сайтом, и начинаете шифрованный обмен, происходит две вещи:

  1. Вы проверяете его сертификат
  2. И меняетесть ключами.

Сертификат в самом простом случае – это удостоверение, что тот сайт – именно тот сайт. То есть, грубо говоря, его «паспорт». Этот «паспорт» подтверждается «нотариусом» интернета – сертификационным центром. Иногда, конечно, сертификационные центры взламывают, и шифрованные данные становятся известны хакерам, но в целом таким центрам можно доверять. На этом доверии держится весь Интернет.

Что за проверка сертификата?

Ваш браузер в начале процедуры установки шифрования смотрит в «бумаги» сайта и проверят его «паспорт». Если там всё в порядке, то вы на современном браузере даже ничего не заметите, и просто перейдёте к следующему этапу. Если же что-то не так – например, сертификат вчера кончился, или он подписан самим сайтом (без независимой стороны) или что-то ещё подозрительно – вы увидите предупреждение.

Читайте также  Передача мультикаста через беспроводную сеть что это?

В этом случае крайне рекомендуется отклонить использование такого сертификата и перестать работать с сайтом. В безопасности всегда так: если что-то непонятно, лучше не подтверждать.

Почему?

Потому что если сертификат неверно подписан, просрочен или подписан не тем сертификационным центром, который должен там быть — скорее всего, это подложный сертификат, который кто-то заставляет вас подписать вместо настоящего. Конечно, в реальном мире паспорт тоже мог искупаться в реке, потом по нему мог побегать кот, и наконец, на нём мог пририсовать усы к фотографии ребёнок, но обычно так не случается. Чаще всего такие подложные сертификаты —это дело рук сотрудника безопасности вашего офиса (ему же хочется читать, что вы делаете в интернете). Реже – хакерские атаки. В Китае и других странах с жёстким контролем за Интернетом вы также можете получать такие «подложные» сертификаты от провайдера, потому что по закону шифрование запрещено. Граждане этих стран принимают такие сертификаты, чтобы пользоваться Интернетом.

Хорошо, сертификат в порядке. А что за обмен ключами?

Дальше начинается магия чисел. В математике есть такие хитрые операции, которые проверяются быстро, а считаются долго. Например, если вдруг вы захотите найти два числа, на которые делится 91, придётся перебирать вообще все возможные варианты. Это долго. А если вы пойдёте в другую сторону – мы спросим, что получится, если умножить 13 на 7 – вы сразу поймёте, что это 91. Делая такие операции вместе с тем, с кем вы собираетесь установить шифрованное соединение, вы меняетесь ключами так, что любой «подслушивающий» вас получает только результаты, которые надо очень долго считать.

Ок, поменялись ключами, дальше всё шифруется?

Да. Но не спешите радоваться – абсолютной защиты это не даёт. Во-первых, вас всё равно слушает государство (либо ваше роднойродное, либо американское – это ведь, скорее всего, их центры сертификации). Во-вторых, сами сертификаты могут быть выпущены с уязвимостью (либо метод шифрования может быть уязвим), чтобы знающий человек мог их читать – тут вам передаёт пламенный привет Сноуден, который это спалил. В-третьих, несмотря на сложность подсчёта ключа, его всё же можно подобрать математически – правда, это займёт ни одну сотню лет, но если вдруг у организации, которая очень хочет вас послушать, есть невероятно большая вычислительная мощность, вас может ждать сюрприз. И, наконец, всё идёт к тому, что довольно скоро изменятся сами принципы вычисления таких чисел на процессорах (благодаря уже доступным в лабораториях квантовым компьютерам), поэтому через несколько лет, скорее всего, нас ждут большие изменения в самих методах шифрования. Проще говоря: сосед не узнает, провайдер не узнает, сисадмин не узнает, даже хакер, скорее всего не узнает, а вот КГБ бдит, товарищ.

А почему, если я переведу время на компьютере в 2050-й год, у меня не будет работать браузер из-за ошибок SSL?

Потому что вы тоже имеете сертификат и набор уже готовых ключей для ряда случаев. Операционная система или имеет много ключей (столько, чтобы хватило на много-много соединений на ближайшие 500 лет), или же умеет получать эти новые ключи с официальных серверов. Но ваш сертификат SSL – как и все сертификаты – имеет срок годности. Поэтому если вы скачком убежите далеко в будущее, он кончится, а новый сертификат будет взять неоткуда. Вот почему путешественников во времени с ноутбуками и телефонами ждут некоторые трудности. Но, хочется верить, это меньшее, с чем им придётся столкнуться в 2050 году.

Что ещё надо знать?

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

То есть сам по себе SSL – это небезопасно?

Это достаточно безопасно, чтобы избежать большинства обычных угроз. Если за вами кто-то следит направленно, либо если вы не хотите уведомлять провайдера о своём любимом порно и том, с кем вы переписываетесь, надо выбирать ещё и другие методы защиты – например, VPN, одну из сетей даркнета и так далее. Там происходит не только шифрование, но и переадресация или перемешивание трафика, чтобы нельзя было понять, где и что происходит.

А что это значит – SSL?

Secure sockets layer — уровень защищённых cокетов, то есть, упрощая, «защищённое соединение». Разработан в 1996 году компанией Netscape. Компании уже давно нет, а протокол остался и лёг в основу современного Интернета.

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

  • Главная
  • Рубрикация
  • Указатель А — Я
  • Порталы
  • Произвольно
  • Журнал
  • Редакторам
  • На других языках
    • English
    • Ссылки сюда
    • Связанные правки
    • Загрузить файл
    • Спецстраницы
    • Версия для печати
    • Постоянная ссылка
    • Сведения о странице
    • Цитировать страницу
    • Читать
    • Просмотр
    • История

SSL (Secure Sockets Layer)

SSL (Secure Sockets Layer — уровень защищенных сокетов) — криптографический протокол для более безопасной передачи информации. Был разработан в 1996 году компанией Netscape и вскоре стал наиболее популярным методом обеспечения защищенного обмена данными через Интернет. Этот протокол интегрирован в большинство браузеров и веб серверов и использует ассиметричную криптосистему с открытым ключом, разработанную компанией RSA. Сейчас является небезопасным и должен быть исключен в пользу TLS.

Содержание

  • 1 Общее
  • 2 История создания
  • 3 Принцип работы
  • 4 Применение
  • 5 Уязвимость
  • 6 Ссылки

Общее

Протокол SSL используется в тех случаях, если нужно обеспечить должный уровень защиты информации, которую пользователь передает серверу. На некоторые сайты, которые работают с электронными деньгами (банки, Интернет-магазины, биржи контента), передаются секретные данные. Кроме пароля, это может быть номер и серия паспорта, номер кредитной карты, пин-код и др. Такая информация предоставляет большой интерес для злоумышленников, поэтому если вы используете для передачи незащищенный протокол http, то ваши данные вполне можно перехватить и использовать в корыстных целях.

Протокол SSL обеспечивает защищенный обмен данными за счет сочетания двух следующих элементов:

  • Аутентификация — цифровой сертификат привязан к конкретному домену сети Интернет, а центр сертификации проводит проверки, подтверждающие подлинность организации, а уже затем создает и подписывает цифровой сертификат для этой организации. Такой сертификат может быть установлен только на тот домен web-сервера, для которого он прошел аутентификацию, что и дает пользователям сети Интернет необходимые гарантии.
  • Шифрование — процесс преобразования информации в нечитаемый для всех, кроме конкретного получателя, вид. Оно основывается на необходимых для электронной коммерции гарантиях конфиденциальности передачи информации и невозможности ее фальсификации.

История создания

  1. SSL 1.0 — не был обнародован
  2. SSL 2.0 — выпущен в 1995м году, имел множество уязвимостей
  3. SSL 3.0 — выпущен в 1996м году
  4. TLS 1.0 — выпущен в 1999м году на основе SSL 3.0
  5. TLS 1.1 — выпущен в 2006м году
  6. TLS 1.2 — выпущен в 2008м году

Принцип работы

Протокол SSL размещается между двумя протоколами: протоколом, который использует программа-клиент (HTTP, FTP, LDAP, TELNET etc) и транспортным протоколом TCP/IP. SSL защищает данные, выступая в роли фильтра для обеих сторон, и передает их далее на транспортный уровень. Работу протокола можно разделить на два уровня:

  1. Слой протокола подтверждения подключения (Handshake Protocol Layer)
  2. Слой протокола записи

Первый слой, в свою очередь, состоит из трех подпротоколов:

  1. Протокол подтверждения подключения (Handshake Protocol)
  2. Протокол изменения параметров шифра (Cipher Spec Protocol)
  3. Предупредительный протокол (Alert Protocol)

Цифровой сертификат состоит из общего ключа и идентификационной информации с цифровой подписью уполномоченной сертификатной компании (CA). С каждым общим ключом связан частный ключ. Частный ключ не входит в состав сертификата и хранится отдельно от него. При идентификации клиента или сервера конечная система должна предоставить доказательство наличия частного ключа, соответствующего общему ключу цифрового сертификата. Применение общих и частных ключей в операциях шифрования обуславливает высокие требования согласований SSL к производительности системы. После установления первого соединения SSL между двумя конечными системами информация об этом соединении и приложениях может быть занесена в кэш в защищенной памяти для ускорения последующих согласований SSL. При возобновлении соединения SSL конечные системы проверяют наличие доступа к уникальной информации путем выполнения сокращенной процедуры согласования без применения общего и частного ключей. Если обе системы предоставят доказательства наличия доступа к этой информации, будут созданы новые симметричные ключи и соединение SSL возобновится. Кэшированная информация соединений TLS версии 1.2, 1.1, 1.0 и SSL версии 3.0 хранится в защищенной памяти не более 24 часов.

Читайте также  Какой паяльник выбрать для пайки радиодеталей?

Сертификаты расположены на безопасном сервере и используются для шифрования данных и идентификации Web-сайта. Как правило, сертификаты выдаются специальным центром. В сертификате хранятся следующие данные:

  1. Полное (уникальное) имя владельца сертификата
  2. Открытый ключ владельца
  3. Дата выдачи ssl сертификата
  4. Дата окончания сертификата
  5. Полное (уникальное) имя центра сертификации
  6. Цифровая подпись издателя

Типы сертификатов по типу валидации:

  1. Сертификаты, которые подтверждают только доменное имя (Domain Validation — DV).
  2. Сертификаты, которые подтверждают домен и организацию (Organization Validation — OV).
  3. Сертификаты с расширенной проверкой (Extendet Validation — EV).

Протокол записи (англ. Record Laye ) — это уровневый протокол. На каждом уровне сообщения включают поля для длины, описания и проверки. Протокол записи принимает сообщения, которые нужно передать, фрагментирует данные в управляемые блоки, разумно сжимает данные, применяя MAC (Message Authentication Code), шифрует и передаёт результат. Полученные данные он расшифровывает, проверяет, распаковывает, собирает и доставляет к более верхним уровням клиента.

Существует четыре протокола записи:

  1. Протокол рукопожатия (handshake protocol);
  2. Протокол тревоги (alert protocol);
  3. Протокол изменения шифра (the change cipher spec protocol);
  4. Протокол приложения (application data protocol);

Применение

В настоящее время протокол SSL не является безопасным. SSL реализуется поверх любого другого протокола прикладного уровня.

Уязвимость

Существует целый ряд атак, к которым уязвим протокол SSL

  1. Атака по словарю
  2. Атака отражением
  3. Атака протокола рукопожатия
  4. Взлом SSL-соединений внутри ЦОД
  5. BEAST атака
  6. RC4 атака
  7. Раскрытие шифров
  8. MITM

SSL сертификат: что это такое и для чего он нужен сайту

Здравствуйте, уважаемые читатели блога AFlife.ru! Сегодня мы разберёмся с тем, что такое SSL сертификат. Я расскажу о методах защиты сайта от похищения пользовательской информации и получения доступа к ней злоумышленниками, а также о сертификатах SSL и том, где их можно взять. Также я затрону различия двух протоколов и объясню, какой из них лучше.

  1. SSL-протокол
  2. Сертификат SSL
  3. Различия
  4. Какие виды SSL существуют
  5. Domain Validation
  6. Business Validation
  7. Extended validation
  8. Wildcard
  9. SAN
  10. SGC
  11. CodeSigning
  12. Получение SSL-сертификата

SSL-протокол

Secure Sockets Layer (SSL) предназначен для повышения безопасности. Сегодня его применяют на огромном количестве сайтов, чтобы защитить информацию от злоумышленников. Посредством протокола сайт и сервер соединяются с браузером по безопасной линии.

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

Сертификат SSL

Это своеобразная электронная подпись для вашего проекта. Он крайне важен для компаний, осуществляющих работу с персональной информацией пользователей – банкам, системам электронных платежей и так далее. Основной его функцией является защита переводов, а также сокрытие информации от возможных взломов третьими лицами.

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

  1. Имя домена, на которое он был оформлен.
  2. Юридическое лицо, являющееся его владельцем.
  3. Географическое расположение владельца (страна, населённый пункт).
  4. Период его активности.
  5. Реквизиты организации, предоставившей доступ к нему.

Сертификат официально подтверждает принадлежность доменного имени реальной фирмы, и то что его пользователь имеет законное право на применение секретного ключа.

Различия

Если говорить просто, то https – это расширенная версия http, дополненная функцией кодировки данных. Конечно, там есть множество технических нюансов, но вебмастеру ни к чему о них знать. Достаточно понимать, что расширенный протокол лучше, потому что обеспечивает повышенную безопасность всем сторонам.

Чтобы сайт работал по https, сначала необходимо подготовить хостинг. Для этого на него устанавливается SSL-сертификат. Он состоит из двух частей, что, опять же, не так интересно простым вебмастерам, оставим это программистам.

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

Какие виды SSL существуют

На данный момент существует сразу несколько типов рассматриваемых сертификатов.

Domain Validation

Сперва можно выделить «Domain Validation», которые подразумевают проверку домена. Они представляют собой начальные сертификаты, которые наиболее широко распространены по всему миру. Среднее время их выдаче колеблется в интервале от 2 до 10 минут (смотря кто их выдаёт).

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

Для получения потребуется подтвердить право на владение доменным именем:

  • Посредством электронной почты. В данном случае сертификационный центр отсылает письмо с верификацией, содержащее ссылку для требуемого подтверждения. Отправка письма осуществляется либо на почту, введённую во Whois доменного имени, либо на один из адресов вашего сайта;
  • Через DNS-записи. Этот метод подойдёт владельцам с оптимизированным мейл-селлером и скрытым при приватной регистрации во Whois адресом электронной почты. В данном случае потребуется создать отдельную запись в DNS, которая будет проверена сертификационным центром. Преимуществом этого метода является его полный автоматизм;
  • Посредством хеша. Владелец получит специальный файл формата .txt, который потребуется добавить на собственный сервер. После этого сертификационный сервис удостоверится в том, что он имеется на сервере, и выдаст сертификат. Этот метод также выполняется автоматически.

Business Validation

Применяется для проверки организаций. Это решение будет актуальным для владельцев фирм, которые заботятся об уровне доверия клиентов.

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

Extended validation

Обеспечивает расширенную проверку. Он выделяется тем, что сайту предоставляется зелёная окраска адресной строки в поисковике браузера.

Наиболее часто они встречаются у банковских и платёжных компаний, обладающих большим числом пользователей.

Wildcard

«Wildcard», ориентированные на поддержку поддоменов. Станет отличным решением в случае, если вы владеете сразу несколькими поддоменами, включёнными в один домен. Подобный вид способен защищать неограниченное число поддоменов на множестве серверов.

Представляют собой единые связные сертификаты, предназначенные для обеспечения безопасности множества общих и местных доменов, поддоменов, а также серверов. Они работают с любыми именами доменов.

Эта разновидность постепенно устаревает, требуется для принудительного повышения уровня шифровки старых интернет-браузеров с 40 до 256 бит.

CodeSigning

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

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

Получение SSL-сертификата

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

Как перевести свой сайт на защищенный протокол, мы рассмотрим в следующей статье. А на сегодня это все. Кому понравилась статья, не забывайте подписываться на обновления блога. Всем удачи и пока!

«Как это работает»: знакомство с SSL/TLS

Мы достаточно часто рассказываем о разных технологиях: от систем хранения до резервного копирования. Помимо этого мы делимся собственным опытом оптимизации работы нашего IaaS-провайдера — говорим об управленческих аспектах и возможностях для улучшения usability сервиса.

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

Читайте также  Какой саморез под дюбель 8?

/ Flickr / David Goehring / CC-BY

SSL (secure sockets layer — уровень защищённых cокетов) представляет собой криптографический протокол для безопасной связи. С версии 3.0 SSL заменили на TLS (transport layer security — безопасность транспортного уровня), но название предыдущей версии прижилось, поэтому сегодня под SSL чаще всего подразумевают TLS.

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

Рукопожатие

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

Кроме того, проверяется дата действия сертификата и наличие корневого сертификата, выданного надежным центром сертификации. Если браузер доверяет сертификату, то он генерирует предварительный секрет (pre-master secret) сессии на основе открытого ключа, используя максимально высокий уровень шифрования, который поддерживают обе стороны.

Сервер расшифровывает предварительный секрет с помощью своего закрытого ключа, соглашается продолжить коммуникацию и создать общий секрет (master secret), используя определенный вид шифрования. Теперь обе стороны используют симметричный ключ, который действителен только для данной сессии. После ее завершения ключ уничтожается, а при следующем посещении сайта процесс рукопожатия запускается сначала.

Алгоритмы шифрования

Для симметричного шифрования использовались разные алгоритмы. Первым был блочный шифр DES, разработанный компанией IBM. В США его утвердили в качестве стандарта в 70-х годах. В основе алгоритма лежит сеть Фейстеля с 16-ю циклами. Длина ключа составляет 56 бит, а блока данных — 64.

Развитием DES является алгоритм 3DES. Он создавался с целью совершенствования короткого ключа в алгоритме-прародителе. Размер ключа и количество циклов шифрования увеличилось в три раза, что снизило скорость работы, но повысило надежность.

Еще был блочный шифр RC2 с переменной длиной ключа, который работал быстрее DES, а его 128-битный ключ был сопоставим с 3DES по надежности. Потоковый шифр RC4 был намного быстрее блочных и строился на основе генератора псевдослучайных битов. Но сегодня все эти алгоритмы считаются небезопасными или устаревшими.

Самым современным признан стандарт AES, который официально заменил DES в 2002 году. Он основан на блочном алгоритме Rijndael и скорость его работы в 6 раз выше по сравнению с 3DES. Размер блока здесь равен 128 битам, а размер ключа — 128/192/256 битам, а количество раундов шифрования зависит от размера ключа и может составлять 10/12/14 соответственно.

Что касается асимметричного шифрования, то оно чаще всего строится на базе таких алгоритмов, как RSA, DSA или ECC. RSA (назван в честь авторов Rivest, Shamir и Adleman) используется и для шифрования, и для цифровой подписи. Алгоритм основан на сложности факторизации больших чисел и поддерживает все типы SSL-сертификатов.

DSA (Digital Signature Algorithm) используется только для создания цифровой подписи и основан на вычислительной сложности взятия логарифмов в конечных полях. По безопасности и производительности полностью сопоставим с RSA.

ECC (Elliptic Curve Cryptography) определяет пару ключей с помощью точек на кривой и используется только для цифровой подписи. Основным преимуществом алгоритма является более высокий уровень надежности при меньшей длине ключа (256-битный ECC-ключ сопоставим по надежности с 3072-битным RSA-ключом.

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

Хеш и MAC

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

Хеш-алгоритм также использует величину, необходимую для проверки целостности передаваемых данных — MAC (message authentication code). MAC использует функцию отображения, чтобы представлять данные сообщения как фиксированное значение длины, а затем хеширует сообщение.

В протоколе TLS применяется HMAC (hashed message authentication code), который использует хеш-алгоритм сразу с общим секретным ключом. Здесь ключ прикрепляется к данным, и для подтверждения их подлинности обе стороны должны использовать одинаковые секретные ключи, что обеспечивает большую безопасность.

Все алгоритмы шифрования сегодня поддерживают алгоритм хеширования SHA2, чаще всего именно SHA-256. SHA-512 имеет похожую структуру, но в нем длина слова равна 64 бита (вместо 32), количество раундов в цикле равно 80 (вместо 64), а сообщение разбивается на блоки по 1024 бита (вместо 512 бит). Раньше для тех же целей применялся алгоритм SHA1 и MD5, но сегодня они считаются уязвимыми.

Разговоры об отказе от SHA1 велись достаточно давно, но в конце февраля алгоритм был официально взломан. Исследователям удалось добиться коллизии хешей, то есть одинакового хеша для двух разных файлов, что доказало небезопасность использования алгоритма для цифровых подписей. Первая попытка была сделана еще в 2015, хотя тогда удалось подобрать только те сообщения, хеш которых совпадал. Сегодня же речь идет о целых документах.

Сертификаты бывают разные

Теперь, когда мы разобрались, что представляет собой протокол SSL/TLS и как происходит соединений на его основе, можно поговорить и о видах сертификатов.

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

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

Extended Validation, или сертификат с расширенной проверкой, считается самым надежным. Собственно, зеленый замочек или ярлык в браузере означает как раз то, что у сайта есть именно такой сертификат. О том, как разные браузеры информируют пользователей о наличии сертификата или возникающих ошибках можно почитать тут.

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

Кроме того, сертификаты могут различаться в зависимости от количества доменов, на которые они были выданы. Однодоменные сертификаты (Single Certificate) привязываются к одному домену, который указывается при покупке. Мультидоменные сертификаты (типа Subject Alternative Name, Unified Communications Certificate, Multi Domain Certificate) будут действовать уже для большего числа доменных имен и серверов, которые также определяются при заказе. Однако за включение дополнительных доменов, свыше определенной нормы, потребуется платить отдельно.

Еще существуют поддоменные сертификаты (типа WildCard), которые охватывают все поддомены указанного при регистрации доменного имени. Иногда могут потребоваться сертификаты, которые будут одновременно включать не только несколько доменов, но и поддомены. В таких случаях можно приобрести сертификаты типа Comodo PositiveSSL Multi-Domain Wildcard и Comodo Multi-Domain Wildcard SSL или (лайфхак) обычный мультидоменный сертификат, где в списке доменов указать также и нужные поддоменные имена.

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