Порядок работы https – Протокол HTTPS: что это такое, зачем нужен HTTPS и для чего переводить сайт на защищенное соединение

Содержание

что должен знать каждый Web-разработчик / Habr

Как же все-таки работает HTTPS? Это вопрос, над которым я бился несколько дней в своем рабочем проекте.

Будучи Web-разработчиком, я понимал, что использование HTTPS для защиты пользовательских данных – это очень и очень хорошая идея, но у меня никогда не было кристального понимания, как HTTPS на самом деле устроен.

Как данные защищаются? Как клиент и сервер могут установить безопасное соединение, если кто-то уже прослушивает их канал? Что такое сертификат безопасности и почему я должен кому-то платить, чтобы получить его?

Трубопровод

Перед тем как мы погрузимся в то, как это работает, давайте коротко поговорим о том, почему так важно защищать Интернет-соединения и от чего защищает HTTPS.

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

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

Как правило, запросы передаются посредством обычного HTTP, в котором и запрос клиента, и ответ сервера передаются в открытом виде. И есть множество весомых аргументов, почему HTTP не использует шифрование по умолчанию:

• Для этого требуется больше вычислительных мощностей
• Передается больше данных
• Нельзя использовать кеширование

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

Transport Layer Security (TLS)

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

TLS — наследник SSL — это такой протокол, наиболее часто применяемый для обеспечения безопасного HTTP соединения (так называемого HTTPS). TLS расположен на уровень ниже протокола HTTP в модели OSI. Объясняя на пальцах, это означает, что в процессе выполнения запроса сперва происходят все “вещи”, связанные с TLS-соединением и уже потом, все что связано с HTTP-соединением.

TLS – гибридная криптографическая система. Это означает, что она использует несколько криптографических подходов, которые мы и рассмотрим далее:

1) Асиметричное шифрование (криптосистема с открытым ключом) для генерации общего секретного ключа и аутентификации (то есть удостоверения в том, что вы – тот за кого себя выдаете).
2) Симметричное шифрование, использующее секретный ключ для дальнейшего шифрования запросов и ответов.

Криптосистема с открытым ключом

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

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

Клиент и сервер используют свои собственные закрытые ключи (каждый – свой) и опубликованный открытый ключ для создания общего секретного ключа на сессию.

Это означает, что если кто-нибудь находится между клиентом и сервером и наблюдает за соединением – он все равно не сможет узнать ни закрытый ключ клиента, ни закрытый ключ сервера, ни секретный ключ сессии.

Как это возможно? Математика!

Алгоритм Ди́ффи — Хе́ллмана

Одним из наиболее распространенных подходов является алгоритм обмена ключами Ди́ффи — Хе́ллмана (DH). Этот алгоритм позволяет клиенту и серверу договориться по поводу общего секретного ключа, без необходимости передачи секретного ключа по соединению. Таким образом, злоумышленники, прослушивающие канал, не смогу определить секретный ключ, даже если они будут перехватывать все пакеты данных без исключения.

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

Немного математики…

Математические функции, лежащие в основе этого алгоритма, имею важную отличительную особенность — они относительно просто вычисляются в прямом направлении, но практически не вычисляются в обратном. Это именно та область, где в игру вступают очень большие простые числа.

Пусть Алиса и Боб – две стороны, осуществляющие обмен ключами по DH-алгоритму. Сперва они договариваются о некотором основании

root (обычно маленьком числе, таком как 2,3 или 5 ) и об очень большом простом числе prime (больше чем 300 цифр). Оба значения пересылаются в открытом виде по каналу связи, без угрозы компрометировать соединение.

Напомним, что и у Алисы, и у Боба есть собственные закрытые ключи (из более чем 100 цифр), которые никогда не передаются по каналам связи.

По каналу связи же передается смесь mixture, полученная из закрытых ключей, а также значений prime и root.

Таким образом:
Alice’s mixture = (root ^ Alice’s Secret) % prime
Bob’s mixture = (root ^ Bob’s Secret) % prime
где % — остаток от деления

Таким образом, Алиса создает свою смесь mixture на основе утвержденных значений констант (root и prime), Боб делает то же самое. Как только они получили значения mixture друг друга, они производят дополнительные математические операции для получения закрытого ключа сессии. А именно:

Вычисления Алисы
(Bob’s mixture ^ Alice’s Secret) % prime

Вычисления Боба
(Alice’s mixture ^ Bob’s Secret) % prime

Результатом этих операций является одно и то же число, как для Алисы, так и для Боба, и это число и становится закрытым ключом на данную сессию. Обратите внимание, что ни одна из сторон не должна была пересылать свой закрытый ключ по каналу связи, и полученный секретный ключ так же не передавался по открытому соединению. Великолепно!

Для тех, кто меньше подкован в математическом плане, Wikipedia дает прекрасную картинку, объясняющую данный процесс на примере смешивания цветов:

Обратите внимание как начальный цвет (желтый) в итоге превращается в один и тот же “смешанный” цвет и у Боба, и у Алисы. Единственное, что передается по открытому каналу связи так это наполовину смешанные цвета, на самом деле бессмысленные для любого прослушивающего канал связи.

Симметричное шифрование

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

Используя секретный ключ, полученный ранее, а также договорившись по поводу режима шифрования, клиент и сервер могут безопасно обмениваться данными, шифруя и дешифруя сообщения, полученные друг от друга с использованием секретного ключа. Злоумышленник, подключившийся каналу, будет видеть лишь “мусор”, гуляющий по сети взад-вперед.

Аутентификация

Алгоритм Диффи-Хеллмана позволяет двум сторонам получить закрытый секретный ключ. Но откуда обе стороны могут уверены, что разговаривают действительно друг с другом? Мы еще не говорили об аутентификации.

Что если я позвоню своему приятелю, мы осуществим DH-обмен ключами, но вдруг окажется, что мой звонок был перехвачен и на самом деле я общался с кем-то другим?! Я по прежнему смогу безопасно общаться с этим человеком – никто больше не сможет нас прослушать – но это будет совсем не тот, с кем я думаю, что общаюсь. Это не слишком безопасно!

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

Но, на самом деле, что это за сертификат, и как он предоставляет нам безопасность?

Сертификаты

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

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

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

Чтобы сертификату доверял любой веб-браузер, он должен быть подписан аккредитованным удостоверяющим центром (центром сертификации, Certificate Authority, CA). CA – это компании, выполняющие ручную проверку, того что лицо, пытающееся получить сертификат, удовлетворяет следующим двум условиям:

1. является реально существующим;
2. имеет доступ к домену, сертификат для которого оно пытается получить.

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

В ваш браузер уже изначально предзагружен список аккредитованных CA. Если сервер возвращает сертификат, не подписанный аккредитованным CA, то появится большое красное предупреждение. В противном случае, каждый мог бы подписывать фиктивные сертификаты.

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

Прочие вещи которые нужно знать о сертификатах

Расширенная валидация

В дополнение к обычным X.509 сертификатам, существуют Extended validation сертификаты, обеспечивающие более высокий уровень доверия. Выдавая такой сертификат, CA совершает еще больше проверок в отношении лица, получающего сертификат (обычно используя паспортные данные или счета).

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

Обслуживание множества веб-сайтов на одном сервере

Поскольку обмен данными по протоколу TLS происходит еще до начала HTTP соединения, могут возникать проблемы в случае, если несколько веб-сайтов расположены на одном и том же веб-сервере, по тому же IP-адресу. Роутинг виртуальных хостов осуществляется веб-сервером, но TLS-соединение возникает еще раньше. Единый сертификат на весь сервер будет использоваться при запросе к любому сайту, расположенному на сервере, что может вызвать проблемы на серверах с множеством хостов.

Если вы пользуетесь услугами веб-хостинга, то скорее всего вам потребуется приобрести выделенный IP-адрес, для того чтобы вы могли использовать у себя HTTPS. В противном случае вам придется постоянно получать новые сертификаты (и верифицировать их) при каждом обновлении сайта.

По этой теме много данных есть в википедии, есть курс на Coursera. Отдельное спасибо ребятам из чата на security.stackexchange.com, которые отвечали на мои вопросы сегодня утром.

Примечания переводчика:

1)Спасибо хабраюзеру wowkin за отличную ссылку по теме (видео переведено и озвученно хабраюзером freetonik):

2) По результатам развернувшейся в коменатариях дискуссии (спасибо за участие хабраюзерам a5b, Foggy4 и Allen) дополняю основную статью следующей информацией:

По данным netcraft на базе свежего SSL survey (2.4 млн SSL сайтов, июнь 2013), большинство SSL соединений не используют Perfect forward secrecy алгоритмы: news.netcraft.com/archives/2013/06/25/ssl-intercepted-today-decrypted-tomorrow.html

Особенно ситуация плоха в случае с IE (даже 10 версии), который поддерживает Диффи-Хеллмана только на эллиптических кривых (RSA и ECDSA сертификаты), либо классический Диффи-Хеллман с более редкими сертификатами DSS (DSA).
По подсчетам netcraft 99,7 % соединений с IE и по 66% — с Chrome, Opera и Firefox не будут использовать Диффи-Хеллмана.

На Hacker News в обсуждении это тоже заметили.

Also (and I made the same mistake in my talk…), yes, explaining DH is important, but now it kind of sounds like in TLS both sides figure out the master secret using DH (and, in your talk, specifically, regular DH, not EC-based DH), when in reality that depends on the ciphersuite, and the vast majority of TLS connections don’t work that way. From what I understand to be most TLS configurations in the wild, the pre-master secret is encrypted using the server’s public key. (RFC 5246: 7.4.7.1, 8.1.1)
это важно и интересно, но не все понимают что он в реальности применяется не так часто. В большинстве сеансов SSL и TLS действительно обмен ключей происходит путем их шифрования с помощью RSA.

HTTPS — Википедия

HTTPS (аббр. от англ. HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов TLS или устаревшего в 2015 году — SSL . В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443.

[1]

Протокол был разработан компанией Netscape Communications для браузера Netscape Navigator в 1994 году[2].

HTTPS не является отдельным протоколом. Это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS.[3] Он обеспечивает защиту от атак, основанных на прослушивании сетевого соединения — от снифферских атак и атак типа man-in-the-middle, при условии, что будут использоваться шифрующие средства и сертификат сервера проверен и ему доверяют.[4]

По умолчанию HTTPS URL использует 443 TCP-порт (для незащищённого HTTP — 80).[1] Чтобы подготовить веб-сервер для обработки https-соединений, администратор должен получить и установить в систему сертификат открытого и закрытого ключа для этого веб-сервера. В TLS используется как асимметричная схема шифрования (для выработки общего секретного ключа), так и симметричная (для обмена данными, зашифрованными общим ключом). Сертификат открытого ключа подтверждает принадлежность данного открытого ключа владельцу сайта. Сертификат открытого ключа и сам открытый ключ посылаются клиенту при установлении соединения; закрытый ключ используется для расшифровки сообщений от клиента.

[5]

Существует возможность создать такой сертификат, не обращаясь в ЦС. Подписываются такие сертификаты этим же сертификатом и называются самоподписанными (self-signed). Без проверки сертификата каким-то другим способом (например, звонок владельцу и проверка контрольной суммы сертификата) такое использование HTTPS подвержено атаке man-in-the-middle.[6]

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

[7]

В HTTPS для шифрования используется длина ключа 40, 56, 128 или 256 бит. Некоторые старые версии браузеров используют длину ключа 40 бит (пример тому — IE версий до 4.0), что связано с экспортными ограничениями в США. Длина ключа 40 бит не является сколько-нибудь надёжной. Многие современные сайты требуют использования новых версий браузеров, поддерживающих шифрование с длиной ключа 128 бит, с целью обеспечить достаточный уровень безопасности. Такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации.[5]

Традиционно на одном IP-адресе может работать только один HTTPS-сайт. Для работы нескольких HTTPS-сайтов с различными сертификатами применяется расширение TLS под названием Server Name Indication (SNI)

[8].

На 17 июля 2017 года, 22,67 % сайтов из списка «Alexa top 1,000,000» используют протокол HTTPS по умолчанию[9]. HTTPS используется на 4,04 % от общего числа зарегистрированных российских доменов[10].

Идентификация сервера[править | править код]

HTTP/TLS запросы генерируются путём разыменования URI, вследствие чего имя хоста становится известно клиенту. В начале общения, сервер посылает клиенту свой сертификат, чтобы клиент идентифицировал его. Это позволяет предотвратить атаку человек посередине. В сертификате указывается URI сервера. Согласование имени хоста и данных, указанных в сертификате, происходит в соответствии с протоколом RFC2459[11].

Если имя сервера не совпадает с указанным в сертификате, то пользовательские программы, например браузеры, сообщают об этом пользователю. В основном, браузеры предоставляют пользователю выбор: продолжить незащищённое соединение или прервать его.[12]

Идентификация клиента[править | править код]

Обычно, сервер не располагает достаточной информацией о клиенте, для его идентификации. Однако, для обеспечения повышенной защищённости соединения используется так называемая two-way authentication. При этом сервер, после подтверждения его сертификата клиентом, также запрашивает сертификат. Таким образом, схема подтверждения клиента аналогична идентификации сервера.[13]

Совместное использование HTTP и HTTPS[править | править код]

Когда сайты используют смешанную функциональность HTTP и HTTPS, это потенциально приводит к информационной угрозе для пользователя. Например, если основные страницы некоторого сайта загружаются, используя HTTPS, а CSS и JavaScript загружаются по HTTP, то злоумышленник в момент загрузки последних может подгрузить свой код и получить данные HTML-страницы. Многие сайты, несмотря на такие уязвимости, загружают контент через сторонние сервисы, которые не поддерживают HTTPS. Механизм HSTS позволяет предотвратить подобные уязвимости, заставляя принудительно использовать HTTPS соединение даже там, где по умолчанию используется HTTP.[14]

Атаки с использованием анализа трафика[править | править код]

В HTTPS были обнаружены уязвимости, связанные с анализом трафика. Атака с анализом трафика — это тип атаки, при которой выводятся свойства защищённых данных канала путём измерения размера трафика и времени передачи сообщений в нём. Анализ трафика возможен, поскольку шифрование SSL/TLS изменяет содержимое трафика, но оказывает минимальное влияние на размер и время прохождения трафика. В мае 2010 года исследователи из Microsoft Research и Университета Индианы обнаружили, что подробные конфиденциальные пользовательские данные могут быть получены из второстепенных данных, таких например, как размеры пакетов. Анализатор трафика смог заполучить историю болезней, данные об использовавшихся медикаментах и проведённых операциях пользователя, данные о семейном доходе и пр. Всё это было произведено несмотря на использование HTTPS в нескольких современных веб-приложениях в сфере здравоохранения, налогообложения и других.[15]

Человек посередине. HTTPS[править | править код]

Рис.1 Стандартная конфигурация сети. Пользователь на хосте клиента (CH) хочет осуществить безопасную транзакцию, но уязвим для атаки «человек в середине».

При атаке «человек посередине» используется то, что сервер HTTPS отправляет сертификат с открытым ключом в браузер. Если этот сертификат не заслуживает доверия, то канал передачи будет уязвимым для атаки злоумышленника. Такая атака заменяет оригинальный сертификат, удостоверяющий HTTPS-сервер, модифицированным сертификатом. Атака проходит успешно, если пользователь пренебрегает двойной проверкой сертификата, когда браузер отправляет предупреждение. Это особенно распространено среди пользователей, которые часто сталкиваются с самозаверенными сертификатами при доступе к сайтам внутри сети частных организаций. [16]

На рис. 1 представлена ситуация, когда злоумышленник является шлюзом между клиентом, осуществляющим безопасную транзакцию, и сервером. Таким образом через злоумышленника проходит весь трафик клиента и он может перенаправить его по своему усмотрению. Здесь делаются следующие шаги:

  1. Злоумышленник встраивается между клиентом и сервером
  2. Пересылает все сообщения от клиента серверу без изменений
  3. Перехват сообщений от сервера, посланных по шлюзу по умолчанию
  4. Создание самозаверенного сертификата и подмена им сертификата сервера
  5. Отправление ложного сертификата клиенту
  6. Когда клиент подтвердит сертификат, будут установлены защищённые соединения: между злоумышленником и сервером и другое — между злоумышленником и клиентом.

В итоге такой атаки клиент и сервер думают, что осуществляют безопасное соединение, однако злоумышленник теперь также имеет закрытый ключ и может расшифровать любое сообщение в канале.[16]

  1. 1 2 E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Дата обращения 25 декабря 2017.
  2. Walls, Colin. Embedded software (неопр.). — Newnes, 2005. — С. 344. — ISBN 0-7506-7954-9.
  3. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Дата обращения 25 декабря 2017.
  4. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Дата обращения 25 декабря 2017.
  5. 1 2 Tim Dierks <[email protected]>. The Transport Layer Security (TLS) Protocol Version 1.2 (англ.). tools.ietf.org. Дата обращения 25 декабря 2017.
  6. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Дата обращения 25 декабря 2017.
  7. Aboba, Bernard, Simon, Dan. PPP EAP TLS Authentication Protocol (англ.). buildbot.tools.ietf.org. Дата обращения 25 декабря 2017.
  8. ↑ Shbair et al, 2015, pp. 990–995.
  9. ↑ HTTPS usage statistics on top websites (неопр.). statoperator.com. Дата обращения 28 июня 2016.
  10. ↑ Статистика российского интернета runfo.ru (рус.). www.runfo.ru. Дата обращения 16 февраля 2017.
  11. Solo, David, Housley, Russell, Ford, Warwick. Certificate and CRL Profile (англ.). tools.ietf.org. Дата обращения 22 декабря 2017.
  12. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Дата обращения 22 декабря 2017.
  13. Tim Dierks <[email protected]>. The Transport Layer Security (TLS) Protocol Version 1.2 (англ.). tools.ietf.org. Дата обращения 22 декабря 2017.
  14. ↑ How to Deploy HTTPS Correctly (англ.), Electronic Frontier Foundation (15 November 2010). Дата обращения 23 декабря 2017.
  15. Shuo Chen, Rui Wang, XiaoFeng Wang, Kehuan Zhang. Side-Channel Leaks in Web Applications: a Reality Today, a Challenge Tomorrow (en-us) // Microsoft Research. — 2010-05-01.
  16. 1 2 Callegati et al, 2009, с. 78.
  • Shuo Chen, Rui Wang, XiaoFeng Wang, Kehuan Zhang. Side-Channel Leaks in Web Applications: a Reality Today, a Challenge Tomorrow (en-us) // Microsoft Research. — 2010-05-01.
  • F. Callegati, W. Cerroni, M. Ramilli. Man-in-the-Middle Attack to the HTTPS Protocol // IEEE Security Privacy. — 2009. — Январь (т. 7, вып. 1). — С. 78—81. — ISSN 1540-7993. — DOI:10.1109/MSP.2009.12.
  • W. M. Shbair, T. Cholez, A. Goichot, I. Chrisment. Efficiently bypassing SNI-based HTTPS filtering // 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM). — 2015. — Май. — DOI:10.1109/INM.2015.7140423.

Что такое HTTPS протокол, его использование и принцип работы

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

HTTPS (Hypertext Transport Protocol Secure) – это протокол, который обеспечивает конфиденциальность обмена данными между сайтом и пользовательским устройством. Безопасность информации обеспечивается за счет использования криптографических протоколов SSL/TLS, имеющих 3 уровня защиты:

  1. Шифрование данных. Позволяет избежать их перехвата.
  2. Сохранность данных. Любое изменение данных фиксируется.
  3. Аутентификация. Защищает от перенаправления пользователя.

 

В каких случаях необходим сертификат HTTPS?

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

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

Если на вашем сайте используется что-либо похожее, то вам стоит серьезно задуматься над переходом на HTTPS. Поэтому далее мы рассмотрим, что для этого необходимо.

Что нужно для перехода сайта на HTTPS?

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

В этом электронном документе указываются данные владельца и подпись. С помощью сертификата вы подтверждаете, что:

  • Лицо, которому он выдан, действительно существует,
  • Оно является владельцем сервера (сайта), который указан в сертификате.

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

 

Сертификатов существует несколько видов в зависимости от:

  • того, какой уровень безопасности вам необходим,
  • количества доменных имен и поддоменов,
  • количества владельцев.

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

 

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

Вернуться назад

Статьи по теме:

Как работает HTTPS соединение — принцип работы SSL шифрования.

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

Почему требуется защита информации? Потому что на пути от Вашего компьютера на сервер, где располагается сайт, на котором Вы вводите, например, данные банковской карты – расположено множество узлов. Например, при загрузке нашего сайта информация передается через следующие узлы:

трассировка

И это только глобальные узлы, имеющие свой IP адрес. Здесь не показывается сетевое «железо» вроде wi-fi точек доступа или офисных сетевых коммутаторов. Передаваемая информация может быть перехвачена на любом из них, поэтому шифрование данных становится необходимым при передаче конфиденциальной информации.

Принцип работы соединения по HTTPS протоколу

HTTPS представляет собой защищенный вариант HTTP протокола (hypertext transfer protocol – протокола передачи гипертекста), который первоначально использовался для передачи гипертекстовых документов. Со временем его стали применять и для передачи любых данных через Интернет. HTTP построен на принципе отношений «клиент- сервер»:

  • клиент инициирует соединение, для чего посылает запрос серверу;
  • сервер получает запрос, обрабатывает его и отправляет клиенту полученные результаты.

Виртуальный хостинг сайтов для популярных CMS:

В HTTP данные передаются без шифрования, в открытом виде. На пути от клиента к серверу информация проходит через десятки и сотни узлов, и доступ к ней может получить кто угодно на любом этапе передачи. То же самое может случиться при подключении к Интернету через незащищенную сеть Wi-Fi в общественном месте – баре, клубе, на улице или в метро.

От постороннего доступа необходимо защищать банковские, коммерческие, юридические и любые персональные данные – паспортные, медицинские, налоговые, судебные и пр.

В этих случаях для передачи конфиденциальной информации используется соединение HTTPS (HTTP Secure) – безопасная версия стандартного HTTP соединения. Оно подходит для любых устройств с выходом в Интернет – планшетов, мобильных телефонов, смартфонов, настольных ПК и ноутбуков. HTTPS не требует настроек со стороны пользователя – он автоматически начинает работать в нужный момент.

HTTPS поддерживают все современные браузеры, в том числе Google Chrome, Mozilla Firefox, Opera, Internet Explorer и Safari.Если сайт использует https-протокол – это видно в адресной строке браузера. Например, в Chrome:

протокол в браузере

Использование протокола HTTPS, области применения

Не всегда есть необходимость шифровать передаваемые данные. При шифровании увеличивается объем передаваемой информации, поэтому нужна достаточно большая скорость Интернета и пропускная способность канала. В каких случаях действительно необходимо использовать защищенное соединение, а когда без этого можно обойтись?

Личные блоги, новостные и любые справочные сайты могут обойтись без HTTPS протокола. Он необходим там, где есть:

  • личный кабинет пользователя;
  • услуги почтового сервера;
  • обмен персональными данными;
  • передача конфиденциальной информации.

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

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

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

незащищенное соединение

Аналогичные требования по защите информации для удаленных сотрудников, которым нужен доступ к внутренним ресурсам компании – например, почтовому серверу, финансовым отчетам, системе управления. С начала сессии ваше устройство обменивается данными с сервером по незащищенному HTTP протоколу. Как в этом случае добиться безопасного соединения? Здесь на помощь приходит многоступенчатое шифрование передаваемых данных через криптографический протокол SSL/TLS. SSL можно сравнить с «фантиком», в который заворачивают данные HTTP, чтобы скрыть их от посторонних.

SSL сертификат — как работает SSL шифрование

Протокол SSL/TLS помогает двум незнакомым друг с другом пользователям Интернета установить защищенное соединение через обычный, незащищенный канал. С помощью математических алгоритмов оба пользователя – клиент и сервер – договариваются о секретном ключе, не передавая его напрямую через соединение. Даже если кто-то сумеет подключиться к соединению и перехватить все передаваемые данные, расшифровать их ему не удастся.

Протокол SSL использует многослойную среду: с одной стороны от него находится протокол программы-клиента (например, IMAP, HTTP, FTP), а с другой – транспортный TCP/IP. Для SSL шифрования используются симметричные и ассиметричные ключи, полученные с помощью различных математических моделей.

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

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

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

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

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

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

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

ev сертификат

Что такое HTTPS-протокол и чем отличается HTTP от HTTPS

Чем отличается HTTP от HTTPS и SSL 

Привет уважаемые читатели seoslim.ru! Вы знаете, что представители поисковой системы Google заявили, что вскоре новая версия веб-браузера Chrome может начать блокировать загрузку веб-сайтов, осуществляющих обмен данными по небезопасному протоколу HTTP?

Во всяком случае, веб-проекты, не способные или не желающие позаботиться о защите данных свои пользователей в процессе взаимодействия, будут ранжироваться на странице результатов поиска (SERP) существенно ниже конкурентов, принявших все меры для внедрения современного безопасного протокола передачи данных HTTPS.

Отображение сайтов в браузерах

Кому же хочется, чтобы его ресурс блокировался в самом популярном браузере или понижался в выдаче за ТОП-20 или даже ТОП-30.

Всем, кто работает в сети, хорошо известно, что за пределами ТОП-10 жизни нет, тому что 90% трафика идет строго с первой страницы поисковых результатов.

Читайте также: 10 ошибок на сайте, которые не надо допускать

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

  • Обязательным безопасный протокол HTTPS будет только для проектов, на которых активно осуществляется обмен пользовательскими данными.

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

Если у вас обычный блог, где посетители могут только читать статьи или скачивать программы без регистрации, персональным или платежным, коммерческим данным пользователей и так ничего не угрожает. Так что и нет особой надобности в дополнительных мерах защиты.

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

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

Поэтому давайте разбираться, что такое HTTP и чем оно отличается от HTTPS, пока не стало слишком поздно.

Чем отличается HTTPS от HTTP

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

Чтобы не упустить нить мысли, рекомендуем прочитать все пункты внимательно, не перескакивая, иначе будет нарушена логика.

  1. Еще в далеком 1994-ом году разработчики компании Netscape Communications позаботились созданием безопасной среды коммуникаций для пользователя браузера Netscape Navigator и придумали защищенный протокол обмена данными HTTPS при помощи криптографического протокола SSL.
  2. К сожалению, в результате «Войны браузеров» поистине замечательный веб-обозреватель, во многом опередивший время, был повержен могуществом маркетологов корпорации Microsoft. В результате чего компания Netscape обанкротилась, а браузер Netscape Navigator перестал обновляться.
  3. Наступила эра глобализма браузера Internet Explorer.
  4. Hyper Text Transfer Protocol переводится как «трансферный протокол гипертекста» или «протокол трансфера внутри гипертекста». Говоря простыми словами – протокол передачи данных между гипертекстовыми документами.
  5. В данном контексте под протоколом следует понимать некий набор правил функционирования сетевого интерфейса.
  6. Под интерфейсом помается некая аппаратно-программная прослойка между функциональными единицами всемирной сети.
  7. SSL – Secure Sockets Layer переводится как «слой защищенных сокетов». Речь идет о алгоритме передачи данных между сетевыми интерфейсами, основанном на криптографическом шифровании.
  8. Правила обмена данными шифруются криптографическим образом для обеспечения невозможности третьих сторон получить доступ к передаваемым данным.

Если бы в свое время компания Netscape Communications не пала жертвой Войны Браузеров, мы бы имели безопасный протокол HTTPS внедренным уже двадцать лет назад.

пример https

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

  • HTTPS – способ обмена данными на базе открытого протокола HTTP интегрированного в слои криптографического протокола SSL.

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

  • HTTPS – это не есть какой-то новый или отдельный протокол.

Это HTTP, в котором защищенность от внешнего считывания достигается за счет передачи данных по шифрованным каналам или слоям криптографического протокола SSL.

Применение

HTTPS используется для обеспечения конфиденциальности в процессе обмена данными между документами или клиентами сети гипертекстовых документов.

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

Использование протокола сайтов

В практическом смысле применение HTTPS целесообразно только в случаях, когда между субъектами обмена передаются сведения, которые не должны стать публичным достоянием.

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

Для каких интернет-проектов протокол HTTPS необходим?

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

  • Онлайн-банки.
  • Интернет-магазины.
  • Сервисные сайты.
  • Онлайн-казино и игровые сайты.
  • Валютные, криптовалютные, фондовые и товарные биржи.
  • Порталы Госуслуг с возможностью создания личных кабинетов граждан.
  • Социальные сети и сайты знакомств.

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

Вспомним историю, компания Netscape Communications создавала HTTPS для защиты конфиденциальности пользователей своего браузера Netscape Navigator.

По какому принципу работает SSL сертификат и почему он безопасный

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

  • Когда клиент в интернет-магазине заполняет форму оплаты покупки и нажимает кнопку «Купить», платежным и персональным данным этого гражданина предстоит пересечь всемирную сеть.
  • Информация по транзакции шифруется программными криптографическими средствами SSL и интегрируется в стандартный протокол передачи данных в среде гипертекста.
  • Вот такой «гибридный» протокол и называется HTTPS. То есть, HTTP, но только с опцией обеспечения безопасности – Secure.

Как работает ССЛ

Принцип работы криптографического сертификата довольно прост.

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

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

Не защищенный сайт

Все пользователи могли видеть уведомление при попытке зайти на какой-либо сайт – «Сертификат недействителен, установить соединение невозможно».

Внимание! Качество проверки SSL-сертификата завит от того, каким именно браузером вы пользователь.

Например, обозреватели Chrome или Opera строго проверяют действительность сертификатов. А вот браузеры от неизвестных разработчиков вполне могут и не проверить надежность сертификата и впустить пользователя на мошеннический сайт либо на фишинговую страницу.

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

Далее разберемся, какие бывают сертификаты и где их взять.

Виды SSL сертификатов

Надежные сертификаты криптографического обмена данными предоставляются на платной основе, чем надежнее, тем дороже.

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

Бесплатные SSL с доверенной подписью

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

Сайты с такими сертификатами часто рассматриваются обозревателями Chrome, Opera Internet Explorer, Mozilla Firefox как подозрительные, не доверенные. В итоге сайты блокируются и не загружаются в самых распространенных браузерах.

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

Например, на сайте letsencrypt.org/ru/ выдаются бесплатно сертификаты, которые все популярные браузеры из «большой пятерки» рассматривают как надежные.

letsencrypt

Вот как выглядит адресная строка с сертификатом Let’s Encrypt. Если кликнуть на замочек, выпадает окно с информацией о сертификате.

Отображение блога seoslim.ru в браузере

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

сертификат Let’s Encrypt

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

Платные SSL

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

Надежный коммерческий SSL-сертификат вызывает больше доверия, а доверие – это двигатель торговли. Никто не хочет вести дела с организациями, которым нельзя доверять. Ведь речь идет о деньгах, а иногда и о больших деньгах.

Поэтому, чем более крупные суммы в обороте у компании, тем более надежный и дорогой сертификат SSL следует выбирать.

Платные SSL выдаются авторитетными центрами сертификации.

В их числе:

  • Symantec,
  • Norton,
  • Comodo,
  • Trustwave,
  • Thawte.

Почему все иностранные? Суть в том, что и все популярные веб-браузеры разрабатываются в зарубежных странах. Поэтому и сертификаты в браузерах применяются свои.

С проверкой домена

Сертификат типа DV (Domain Validation — валидация домена) переназначен для того, чтобы пользователь мог быть уверен, что попадает именно на заявленный сайт, а не на фишинговую копию.

На скриншоте выше сертификат с валидацией домена.

С проверкой компании

Сертификат OV (Organization Validation – валидация организации) подтверждает посещение сайта по правильному домену и что сайт точно принадлежит заявленной компании или организации.

С расширенной проверкой

Сертификат EV (Extendet Validation – расширенная валидация). Такие сертификаты осуществляют проверку как по перечисленным выше параметрам, так и дополнительные тесты, в том числе периодические.

Сертификация EV обозначается в адресной строке замочком, где рядом видно название компании.

Сертификат EV

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

Что дает HTTPS в поиске Яндекс и Google

На скриншоте ниже можно видеть, что на странице результатов поиска Яндекса сайты с безопасным обменом данными и сертификацией SSL отмечены зеленым замочком.

Поисковая выдача

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

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

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

У потенциального клиента мгновенно возникает сомнение: «Как это так? Вроде бы солидный, банк, а не удосужились позаботиться о защите клиентов? Может быть это вовсе и не такая респектабельная и надежная финансовая организация, как сама себя позиционирует?»

Не солидно серьезному банку работать по устаревшему проколу HTTP. Может, у вас и сейфы старого образца? Может, у вас кассирами работает неизвестно кто? Такая беззаботность обойдется организации потерей тысяч клиентов, которые хотели, да не решились доверить свои деньги банку, не уделяющему достаточно внимания безопасности клиентов.

Второй вопрос – наличие HTTPS с недавних пор входит в список наиболее влиятельных факторов поискового ранжирования. Поисковым компаниям вовсе не хочется, чтобы пользователи жаловались на то, что, найдя некий сервис или интернет-магазин через Яндекс или Google, люди в итоге наткнулись на мошенников и потеряли деньги.

«Если эта поисковая система навела меня на мошенников – лучше я воспользуюсь услугами другого поисковика».

Почему корпорация Google решила полностью блокировать загрузку веб-ресурсов без HTTPS в своем фирменном обозревателе Chrome?

Очень просто и логично. Основной рынок для Google – это США. Америка известна тем, что ее граждане по каждому поводу бегут судиться. По числу адвокатов на душу населения США впереди планеты всей.

Вполне вероятно, что Google уже привлекался к судным разбирательствам за то, что американский гражданин или компания, воспользовавшись услугами поиска Гугл, наткнулись на жуликов, потеряли персональные и коммерческие данные, понесли финансовый и репутационный ущерб.

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

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

Ну и репутация безопасной поисковой системы – это тоже инвестиция на миллионы долларов.

Требуя от владельцев интернет-проектов внедрения HTTPS Яндекс и Google заботятся о наполнении своего кармана.

Что такое протокол HTTPS, и как он защищает вас в интернете – Hexlet Guides

Содержание
  1. Применение HTTPS
  2. Почему HTTPS безопасен
  3. Как работает безопасное соединение
  4. Зачем нужны цифровые сертификаты
  5. Распространение HTTPS
  6. Где ещё применяется шифрование

Это руководство перепечатано из блога «Яндекса» для удобства пользователей. В нём идет речь о протоколе HTTPS, его актуальности, сферах применения и распространении.

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

При всём удобстве и популярности HTTP у него есть один недостаток: данные передаются в открытом виде и никак не защищены. На пути из точки А в точку Б информация в интернете проходит через десятки промежуточных узлов, и, если хоть один из них находится под контролем злоумышленника, данные могут перехватить. То же самое может произойти, когда вы пользуетесь незащищённой сетью Wi-Fi, например, в кафе. Для установки безопасного соединения используется протокол HTTPS с поддержкой шифрования.

http и https

Применение HTTPS

В некоторых сервисах, например, в электронных платёжных системах, защита данных исключительно важна, поэтому в них используется только HTTPS. Этот протокол также очень часто применяется и в других сервисах, которые обрабатывают приватную информацию, в том числе любые персональные данные. Многие сервисы Яндекса работают только по протоколу HTTPS: Паспорт, Почта, Директ, Метрика, Такси, Яндекс.Деньги, а также все формы обратной связи, имеющие дело с персональными данными пользователей.

Все современные браузеры поддерживают протокол HTTPS. Его не нужно специально настраивать — он автоматически включается в процесс, когда это необходимо и возможно.

Почему HTTPS безопасен

Защиту данных в HTTPS обеспечивает криптографический протокол SSL/TLS, который шифрует передаваемую информацию. По сути этот протокол является обёрткой для HTTP. Он обеспечивает шифрование данных и делает их недоступными для просмотра посторонними. Протокол SSL/TLS хорош тем, что позволяет двум незнакомым между собой участникам сети установить защищённое соединение через незащищённый канал.

Предположим, сегодня последний день месяца, и вы вспомнили, что нужно заплатить за интернет. На сайте провайдера вы находите нужную ссылку и переходите в личный кабинет. Всю передаваемую информацию вы наверняка хотите сохранить в секрете, поэтому она должна быть зашифрована: это и ваш пароль, и сумма платежа и номер кредитной карты. Проблема в том, что изначально ваш компьютер обменивался данными с сервером провайдера по открытому каналу, то есть по HTTP. Как в таких условиях можно установить безопасное соединение по HTTPS, если предположить, что канал всё время прослушивается? Сделать это позволяет простая математическая уловка.

Как работает безопасное соединение

Представьте, что вы хотите передать какую-то вещь другому человеку. Вы кладёте её в ящик и отправляете по почте. А чтобы курьер — или кто угодно другой — не украл её, вы запираете ящик на замок. Курьер доставляет ящик, но ваш адресат не может его открыть — у него нет ключа. Тогда он вешает на ящик свой замок и отправляет обратно вам. Вы получаете ящик под двумя замками, снимаете свой — теперь это безопасно — и отправляете снова. Адресат получает, наконец, ящик, на котором висит только его замок, открывает его и достаёт то, что вы ему послали.

схема работы

Это было нужно, чтобы обменяться с собеседником зашифрованными сообщениями. В ящике вы послали ему ключ от шифра, и теперь он известен вам обоим. Теперь вы можете открыто обмениваться зашифрованными сообщениями, не опасаясь, что их кто-то перехватит — всё равно их невозможно понять без ключа. Зачем такие сложности и почему нельзя было передать посылку отдельно, а ключ от замка отдельно? Конечно, можно было, но в таком случае нет гарантии, что ключ не перехватят и посылку не откроет кто-то другой.

На похожем принципе основана работа протокола SSL/TLS. При установке безопасного соединения по HTTPS ваш компьютер и сервер сначала выбирают общий секретный ключ, а затем обмениваются информацией, шифруя её с помощью этого ключа. Общий секретный ключ генерируется заново для каждого сеанса связи. Его нельзя перехватить и практически невозможно подобрать — обычно это число длиной более 100 знаков. Этот одноразовый секретный ключ и используется для шифрования всего общения браузера и сервера. Казалось бы, идеальная система, гарантирующая абсолютную безопасность соединения. Однако для полной надёжности ей кое-чего не хватает: гарантии того, что ваш собеседник именно тот, за кого себя выдаёт.

Зачем нужны цифровые сертификаты

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

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

процесс получения цифрового сертификата

Вам как пользователю сертификат не нужен, но любой сервер (сайт), который хочет установить безопасное соединение с вами, должен его иметь. Сертификат подтверждает две вещи: 1) Лицо, которому он выдан, действительно существует и 2) Оно управляет сервером, который указан в сертификате. Выдачей сертификатов занимаются центры сертификации — что-то вроде паспортных столов. Как и в паспорте, в сертификате содержатся данные о его владельце, в том числе имя (или название организации), а также подпись, удостоверяющая подлинность сертификата. Проверка подлинности сертификата — первое, что делает браузер при установке безопасного HTTPS-соединения. Обмен данными начинается только в том случае, если проверка прошла успешно.

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

Распространение HTTPS

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

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

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

Где ещё применяется шифрование

В интернете немало протоколов обмена данными, помимо HTTP и HTTPS, и они тоже должны обеспечивать защиту. Например, Яндекс.Почта поддерживает шифрование входящих и исходящих писем, о чём можно прочитать в технологическом блоге на Хабрахабре. Мы заботимся о безопасности наших пользователей и стараемся защитить их данные везде, где это представляется возможным.

HTTPS или HTTP – что лучше и в чем разница

Что такое HTTP и HTTPS?

HTTP – протокол гипертекстовой разметки, используемый по стандарту для передачи любого рода данных в интернете. Аббревиатура расшифровывается как «hypertext transfer protocol». Суть проста: пользователь отправляет запрос на сервер расположения сайта, протокол форматирует данные определённым образом в процессе, а потом доставляет результат, браузер всё это преобразует в нужный вид. В общем, HTTP – это набор правил передачи информации между браузером клиента и сервером сайта.

HTTPS – тот же протокол, но со встроенным шифровальщиком: добавочная буква «S» в аббревиатуре означает «Secure», то есть «безопасный». Он задействуется для доменов, к которым подключён SSL-сертификат (Secure Sockets Layer). В общем, это – защищённая вариация стандартного протокола для конфиденциальной передачи данных, расшифровка которых потребует приватного ключа, хранящегося только на сервере. Шифрование происходит в обе стороны – на приём и передачу, поэтому в промежутке доставки они всегда находятся в зашифрованном виде.

 

Разница между HTTP и HTTPS

HTTP – открытый протокол передачи данных, а HTTPS – закрытый, имеющий надстройку шифрования. Первый по умолчанию использует 80 порт и никак не отображается в браузере, второй – 443, а его название отображается в браузере возле домена с пометкой серого значка замочка. Это сразу бросается в глаза. Увидев такой в адресной строке, можете не переживать – передаваемые данные шифруются сайтом, их не получится добыть третьим лицам. То есть сайты с HTTPS вызывают больше доверия у посетителей, ведь многие знают о значении этой технологии.

HTTP и HTTPS

Данные, передаваемые по HTTP, меньше по объёму, поэтому их передача в обе стороны занимает чуть меньше времени. Но, если сайт нормально оптимизирован, то разница в скорости не будет бросаться в глаза. Да и многие пользователи понимают: лучше подождать пару секунд, не переживая, доберутся ли их деньги, реквизиты и пароли до сервера назначения в безопасности. Кроме того, поисковые системы, в частности, Google и Yandex считают HTTPS одним из признаков качественного сайта.

Читайте также: Как создать сайт: выбираем платформу для запуска сайта своими руками.

 

Преимущества протокола HTTPS

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

Плюсы HTTP:

  • Повышение безопасности – шифруется всё: URL-адреса, номера кредиток, история просмотров и т. д.;
  • HTTPS – фактор ранжирования в поисковой выдаче;
  • Повышенное доверие у посетителей;
  • Сохранение / улучшение конверсии.

 

Каким сайтам нужен HTTPS

HTTPS должен быть на каждом новом создаваемом сайте – это стандарт. Если у вас есть старые сайты на HTTP, к ним тоже следует подключить SSL-сертификаты, особенно если речь идёт об интернет-магазинах.

Кому нужен:

  • Интернет-магазинам;
  • Разработчикам ПО;
  • Банкам и финансовым организациям;
  • Компаниям, работающим с личными данными;
  • Сайтам с возможностью онлайн-оплаты, онлайн-регистрации;
  • Почтовым сервисам.

Читайте также: Покупка SSL-сертификата и подключение HTTPS к сайту на uCoz.

 

Как перейти на HTTPS?

Активация шифрования на сайтах данных связана с подключением к доменам SSL-сертификатов, обеспечивающих криптографическое соединение с сервером. Они бывают разных типов: многодоменные, групповые и стандартные. Есть платные (примерно от $10 до $100 в год) и бесплатные.

 

Подключение SSL на конструкторах сайтов

В случае с конструкторами активация HTTPS обычно происходит по упрощённому алгоритму с использованием бесплатного SSL от Let’s Encrypt. Например, в конструкторе бизнес-сайтов uKit сертификат SSL подключается автоматически и бесплатно после прикрепления домена к сайту. То есть вам специально ничего делать не нужно – всё по умолчанию заработает как надо.

Подключение HTTPS на uKit

 

Подключение SSL на CMS

При использовании CMS необходимо сначала купить SSL-сертификат (например, Comodo Positive SSL – $7.85/год). Далее выполните CSR-запрос и сохраните автоматически сгенерированный файл Закрытого ключа (Private Key). Потом заполните анкету для получения сертификата CRT и подтвердите права на владение домена посредством кода подтверждения, отправленного на почту вида: [email protected]. После выпуска SSL-сертификата (CRT) вручную установите его на хостинге вашего сайта, используя ключ (Private Key), сгенерированный при формировании CSR-запроса на сертификат.

Установка SSL сертификата на хостинг

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

Также не забудьте указать в Яндекс Вебмастер и Google Webmaster в настройках сайта, что основное зеркало сайта проходит по HTTPS.

Переезд сайта на HTTPS в Яндекс Вебмастере

Теперь насчёт колебания поисковых позиций в связи с переходом на защищённый протокол: если переезд сайта с HTTP на HTTPS будет сделан правильно, то никаких просадок в трафике наблюдаться не должно.

Читайте также: Собираем сайт на Вордпресс: детальное пошаговое руководство.

 

Выводы

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

В конструкторах сайтов процесс активации HTTPS упрощённый. Яркий тому пример – uKit, в котором всё происходит автоматически по умолчанию. При работе со связками хостинга и CMS придётся поработать вручную, установив сертификат и предварительно приведя в порядок URL, а также отключив переадресации на вариант без www. Старые сайты, если они до сих пор на HTTP, тоже рекомендуем переводить на HTTPS. Без него теперь никуда.

Читайте также: Как зарегистрировать и прикрепить домен к сайту.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *