Чем отличается https от http?
Безопасность сайтов и данных пользователей являются одним из самых главных проблем в сети. Поэтому многие владельцы веб-ресурсов используют SSL-сертификаты. О том, какие особенности использования шифрованного соединения и как правильно его настроить, мы расскажем в этой статье.
HTTP vs. HTTPS
Когда пользователь вводит доменное имя в браузере, для загрузки контента веб-сайта компьютер выполняет соединение с веб-сервером. Стандартно для такого контакта используется протокол HTTP (hypertext transfer protocol). Больше об этом протоколе вы можете узнать здесь: https://ru.wikipedia.org/wiki/HTTP. Признаком его использования является ссылка сайта в браузере, которая начинается с http://. При этом данные, которые передаются не шифруются. А это значит, что кто угодно может получить доступ к информации и использовать. Речь идет об изменении оригинальных данных или использовании в корыстных целях.
Чтобы избежать взлома данных злоумышленниками, используют SSL-сертификат. Он позволяет настроить защищенный канал связи между браузером и веб-сервером через HTTPS-протокол. Признаком использования такого соединения является URL сайта с https:// в начале.
Защищенное соединение необходимо всем сайтам, которые работают с личной и финансовой информацией. Вот несколько признаков, что вам нужно переходить на https:
- Формы регистрации и логина.
- Поля ввода личной информации и данных кредитных карт.
- Деятельность ресурса связана с проведением транзакций.
Если хотя бы один пункт применим к вашему веб-сайту, настраивайте https-соединение.
Настройка HTTPS
Для того, чтобы ваш веб-сайт работал через защищенное https-соединение, необходимо:
- Купить SSL-сертификат.
- Активировать его.
- Установить сертификат на хостинге.
- Поставить перенаправление для всех ссылок сайта с http на https.
После этого при открытии веб-сайта в браузере, вы сможете отметить следующее:
- Зеленый замочек возле ссылки.
- URL начинается с https://, а не с http://.
- Для некоторых типов сертификата: название компании в зеленой строке.
Сертификаты SSL
SSL или Secure Sockets Layer является уникальной цифровую подпись для доменного имени. Она включает в себя:
- организацию, которой был выдан сертификат;
- публичный ключ для шифрования и проверки цифровой подписи;
- цифровую подпись, созданную с использованием приватного ключа.
Эти данные кодируются base64.
Сертификаты выдаются специальными компаниями — центрами сертификации. Они берут на себя ответственность за проверку доменов и организаций, которые заказали сертификат. Проверяется право владения доменом и/или легальность деятельности компании в зависимости от типа сертификата. Если же по вине центра сертификации, шифр SSL был взломан и данные украдены, то он обязан выплатить компенсацию пострадавшим пользователям. Сумма компенсации основывается на сумме гарантии, которая варьируется в зависимости от типа сертификата.
Известными продуктами от центров сертификации являются сертификаты Comodo, Geotrust, Thawte, Symantec.
Все SSL-продукты можно разделить на следующие типы:
-
- По количеству доменов под защитой:
- Для одного домена — обеспечивают безопасность для домена с и без www. Подходят для простых ресурсов, например, блога или сайта-визитки.
- С защитой поддоменов (wildcard) — c помощью такого сертификата можно настроить защиту домена и всех его поддоменов первого уровня. Необходим для тех сайтов, которые используют поддомены в своей структуре.
- Для нескольких доменов (мультидоменные, multidomain или SAN) — защищают до 100 доменов (при покупке в стоимость входит 3 домена, остальные требуют доплаты). Пригодиться, если у вас несколько разных ресурсов или сайтов-зеркал.
- По степени защиты:
- DV SSL или SSL-сертификаты доменов — выпуск сертификата требует только права владения доменом. После установки сайт отображает только информацию о шифровании при нажатии на зеленый замок.
- OV SSL или SSL-сертификаты организации — для получения компания должна быть готова к проверке регистрации и легальности компании. Такой сертификат выдает информацию о шифровании и компании, владеющей доменным именем.
- EV SSL или SSL-сертификаты высокой надежности — получение такого сертификата требует глубокой ежегодной проверки компании, включая юридический, физический и рабочий статусы компании, а также данные в официальных реестрах. Именно этот тип сертификата позволяет добавить имя компании в зеленой строке.
- По количеству доменов под защитой:
Кроме того, что SSL-сертификаты необходимы для настройки https-соединения, они также влияют на результаты ранжирования в поисковых системах. Если для вас важно, чтобы сайт отображался как можно выше в поисковых результатах, стоит учесть SSL как один из важных факторов для этого.
Также, не стоит забывать о том, что сайты без сертификатов помечаются как “Ненадежные” или “Not Secure”. Это значит, что браузер не доверяет таким ресурсам и предупреждает пользователя о возможной опасности. Видя такую надпись, посетитель сайта может покинуть его сразу или после того, как столкнется с необходимостью предоставления ресурсу личной информации. Наличие сертификата, решает эту проблему, и сайт обозначается как “Надежный” или “Secure”.
Покупка сертификата
SSL можно купить на официальных сайтах центров сертификации или у компаний, которые их перепродают. Последние предлагают сертификаты по сниженной цене за счет партнерских соглашений. Но будьте внимательны выбирая провайдера и учитываете следующие моменты:
- Наличие сертификатов от известных центров сертификации (Comodo, GeoTrust, Thawte, Symantec).
- Тарифная сетка со скидками при покупке на длительный период.
- Техническая поддержка 24/7.
- База знаний по работе с SSL-продуктами.
- Позитивные отзывы реальных пользователей.
- Возможность возврата сертификата.
В заключение стоит добавить, что вы можете начать с покупки просто сертификата и поменять его в случае необходимости. Но помните, что экономить на безопасности не стоит. Защита данных ваших пользователей — это их доверие и лояльность к вашему ресурсу.
что это такое, принцип работы
HTTPS – протокол передачи данных, поддерживающий шифрование.
HTTP и HTTPS – в чем разница
Данные, передаваемые стандартным протоколом HTTP, например, между компьютером и сервером, идут в открытом виде и никак не защищены. Если в одном из узлов передачи есть уязвимость, злоумышленники могут с легкостью получить информацию, к примеру, о банковской карте пользователя.
Поэтому все больше сайтов переходят на защищенный протокол HTTPS. В протоколе безопасности HTTPS используется асимметричная схема шифрования за счет использования гибридной системы TLS (усовершенствованный SSL) – благодаря этому все данные надежно защищены от перехвата.
Используемая в протоколе HTTPS система TLS предполагает защиту на трех уровнях:
- Все данные шифруются. Так злоумышленники не смогут узнать, какая информация передается, и отследить действия пользователей на сайте. Для шифрования используется общий секретный ключ, который при установке безопасного соединения выбирают сервер и компьютер. Все ключи одноразовые, перехватить и подобрать очень сложно – длина ключа превышает 100 знаков.
- Фиксация всех изменений или искажений данных, даже если это было сделано случайно.
- Аутентификация гарантирует, что посетители попадут именно на тот сайт, который им нужен, и защищает от атаки посредника. Для этого у сайта должен быть специальный цифровой сертификат.
Сертификат безопасности
Первое, что делает система при установке безопасного соединения – проверяет наличие у сайта сертификата безопасности. Сертификат подтверждает, что организация или лицо, которому он выдан, действительно существует, и веб-адрес ему принадлежит.
Сертификат безопасности можно получить в центре сертификации. При выборе сертификата следует обратить внимание на следующее:
- Чтобы обеспечить высокий уровень защиты, при настройке сертификата лучше выбрать 2048-битный ключ,
- Для получения сертификата нужно обращаться в надежный центр сертификации, у которого есть техническая поддержка.
- Выбрать соответствующий тип сертификата по функциональности:
o Многодоменный сертификат для нескольких известных защищенных источников (например, www.example.com, cdn.example.com, example.co.uk).
- И по степени защиты:
o Domain Validation – подтверждение домена (стоимость 10-30 долларов в год),
o Organization Validation – подтверждение домена и организации (стоимость 40-200 долларов в год),
o Extended Validation – подтверждение домена и организации с расширенной проверкой (стоимость 120-300 долларов в год). Именно этот сертификат дает зеленую строку в адресной строке браузера.
Использование протокола HTTPS
Все современные браузеры поддерживают защищенный протокол HTTPS. И все больше сайтов переходят на его использование – особенно после того как Google объявил использование зашифрованного протокола фактором ранжирования.
Примеры сервисов и веб-страниц, где использование интернет-протокола HTTPS является необходимостью:
- Электронные платежные системы,
- Сервисы, обрабатывающие приватную информацию, в том числе персональные данные,
- Формы обратной связи, в которых указываются личные данные пользователей.
Рекомендации по работе с протоколом HTTPS от Google
Google активно выступает за распространение защищенного протокола – сайты с HTTPS получают небольшое преимущество в результатах поиска. А чтобы работа с интернет-протоколом HTTPS не вызывала сложностей Google советует придерживаться следующих рекомендаций:
- Использовать надежный сертификат безопасности,
- При необходимости использовать 301 редирект,
- Не закрывать HTTPS-страницы от сканирования и индексации файлом robots.txt,
- Не использовать на HTTPS-страницах теги noindex,
- Использовать технологию HSTS, которая снизит вероятность показа пользователям незащищенного содержания. В этом случае браузер будет запрашивать страницы HTTPS, даже если пользователь введет HTTPS в адресной строке.
Как перенести сайт с протокола HTTP на HTTPS
Рекомендации Google
- Изменение протокола сайта с HTTP на HTTPS расценивается Google как перенос сайта с изменением URL.
- Обязательно следует добавить ресурс с HTTPS-протоколом в Google Search Console.
- На HTTPS-протокол лучше переносить сайт по частям.
- Если новые URL пока не нужно индексировать, вместо переадресации следует использовать атрибут rel=canonical, поскольку страницы с переадресацией невозможно проверить. В других случаях нужно сделать переадресацию по сопоставлению URL для пользователей и поисковых систем,
- Сделать отдельный файл robots.txt для сайта с HTTPS.
- Для перенесенных на HTTPS страниц можно сделать отдельную Sitemap.
- После переноса сайта Google также рекомендует обновить внешние ссылки и ссылки в рекламных кампаниях.
Рекомендации Яндекса
Технически для Яндекса смена протокола сайта с HTTP на HTTPS – это просто объединение ресурсов в группу зеркал либо изменение главного зеркала. Чтобы этот процесс прошел корректно, важно, чтобы у ресурсов был идентичный контент, а у владельца сайта – сертификат безопасности, выданный в надежном центре.
После этого следует:
- Добавить сайт с HTTPS-протоколом в список сайтов в сервисе Яндекс.Вебмастер, тем самым сообщив о нем поисковому роботу,
- Сообщить роботу об изменениях в отношении главного зеркала на странице «Настройки индексирования — Переезд сайта» сервиса Яндекс.Вебмастер для HTTP-версии сайта.
В течении нескольких недель главное зеркало в группе зеркал изменится, что сразу отразится в панели сервиса Яндекс.Вебмастер.
Как повлияет переход на протокол безопасности HTTPS на позиции и трафик
Несмотря на то что смена протокола по сути ничего не меняет на самом сайте, индексирующий робот воспринимает страницы одного сайта на HTTP и HTTPS как два разных ресурса. Поэтому при смене протокола, как и при смене домена сайта, возможно уменьшение трафика ресурса, изменение страниц в индексе и снижение позиций.
Через некоторое время все показатели приходят в норму. А в случае с Google позиции должны немного увеличиваться, т.к. поисковая система учитывает использование HTTPS-протокола при ранжировании сайтов. Но не стоит думать, что смены протокола достаточно, чтобы сразу выйти в ТОП-10 – данный фактор имеет меньший вес по сравнению с качеством материалов сайта.
Разница между HTTP и HTTPS
РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы.
Многие люди запутываются, когда видят два разных URL-адреса как HTTP, а другие как HTTPS. В чем разница между этими двумя? В этом посте я расскажу о разработке HTTP и разнице между HTTP и HTTPS Проще говоря, это имеет смысл.
Что такое HTTP
Исправление обновления января 2020 года:
Мы рекомендуем вам попробовать этот новый инструмент. Он исправляет множество компьютерных ошибок, а также защищает от таких вещей, как потеря файлов, вредоносное ПО, сбои оборудования и оптимизирует ваш компьютер для максимальной производительности. Это исправило наш компьютер быстрее, чем делать это вручную:
- Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
- Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
- Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.
(дополнительное предложение для Advanced System Repair Pro -> Cайт | Лицензионное соглашение | Политика Kонфиденциальности | Удалить)
Всегда необходимо знать основы, прежде чем перейти к более сложным темам. HTTP означает HYperTТекст Transfer ransfer Protocol. Это система для отправки и получения информации между сервером и клиентом. Сервер — это машина, на которой находится код вашего сайта, а клиент — это не что иное, как ваш браузер. HTTP управляет взаимопониманием между сервером и клиентом для успешного обмена информацией или данными. В первом HTTP был только один метод GET, который запрашивал страницу с сервера, а ответом была HTML-страница. Последняя версия HTTP определяет девять методов запроса.
Когда вы посещаете веб-сайт, к адресу можно добавить префикс HTTP: //, что означает, что ваш браузер теперь подключен к серверу через HTTP. Теперь HTTP — не самый безопасный способ подключения, но проблема с HTTP заключается в том, что он уязвим для людей, которые хотят слушать или видеть, о чем идет речь.
Это не должно быть проблемой, если вы просто просматриваете какой-либо веб-сайт или совершаете лото, проблема возникает, когда вы совершаете финансовую транзакцию через Интернет. Как мы все знаем, Интернет не совсем безопасное место. В дополнение к поиску и просмотру веб-сайтов, мы должны обрабатывать финансовые транзакции, онлайн-покупки и безопасную передачу файлов. Итак, как вы защищаете такие финансовые операции? Ответ HTTPS.
Что такое HTTPS
HTTPS или Secure HTTP — это комбинация протокола передачи гипертекста (HTTP) и протокола SSL / TLS. Теперь все, что вы общаетесь через HTTPS, отправляется и принимается в зашифрованном виде, что повышает безопасность.
Как и в случае, когда клиент делает запрос к серверу, сервер отвечает списком методов шифрования. Когда клиент подключается к веб-сайту через HTTPS, веб-сайт шифрует сеанс с помощью цифрового сертификата. Secure Sockets Layer или SSL использует криптографическую систему, которая шифрует данные с использованием двух ключей, что означает, что браузер и сервер отправляют друг другу уникальные коды, которые используются для шифрования остальной части вызова.
Https используется во многих ситуациях, таких как страницы входа в банки, формы, корпоративные учетные записи и другие приложения, где данные должны быть сохранены. Всегда рекомендуется никогда не вводить информацию о кредитной карте на веб-сайтах, работающих по HTTP.
Разница между HTTP и HTTPS
HTTPS требует цифровой сертификат SSL
Нет HTTP-шифрования; Данные зашифрованы в HTTPS перед отправкой и получением.
Я надеюсь, что это исправило разницу между HTTP и HTTPS. Если у вас есть какие-либо вопросы или комментарии, пожалуйста, прокомментируйте.
Читайте о безопасности HTTPS и спуфинг здесь.
РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы устранить ошибки Windows и оптимизировать производительность системы
Связанные видео
Что такое HTTPS — Компьютер для новичков
В современных условиях безопасность в интернете имеет огромное значение. Мы постоянно совершаем покупки в интернет-магазинах, переводим деньги онлайн, вводим пароли в социальных сетях и даже можем общаться с государственными органами не вставая с дивана. Это очень удобно, однако есть существенный риск, что передаваемые вами данные перехватят злоумышленники. Как обезопасить себя во всемирной паутине и что такое HTTPS протокол мы рассмотрим в данном материале.
Чтобы разные электронные устройства могли взаимодействовать между собой, передавать и принимать информацию требуется набор определенных правил и соглашений, которого все они будут придерживаться, это называется протоколом передачи данных. В настоящее время для связи компьютеров между собой в сети интернет используется стек протоколов TCP/IP, а самым распространенным протоколом прикладного уровня является протокол HTTP (HyperText Transfer Prоtocоl) использующийся для просмотра сайтов в World Wide Web.
Таким образом, когда вы хотите открыть какой-нибудь сайт, ваш браузер отправляет запрос на веб-сервер, где расположен данный сайт, используя HTTP протокол, сервер обрабатывает запрос и посылает браузеру ответ, который браузер обрабатывает в соответствии с правилами HTML и показывает результат на экране. Каждый раз, когда мы щелкаем по ссылке на странице, вводим данные в различные поля, эта информация передается на сервер, обрабатывается там и посылается браузеру ответ. Так в самых общих чертах выглядит схема взаимодействия браузера с веб-сервером (сайтом).
Новичкам в интернете нужно понимать, что схема не зависит от используемого вами устройства или операционной системы. Все работает одинаковым образом на компьютере, смартфоне или телевизоре и неважно стоит на них Windows, Mac OS или Android.
Однако у данной схемы есть один существенный недостаток, все данные передаются по сети по не защищенным каналам в открытом виде, как есть. Причем нужно учитывать, что ваш браузер не устанавливает соединение с сервером напрямую тет-а-тет, а соединение происходит через множество промежуточных узлов, сначала вашей локальной сети (если она есть), затем принадлежащих вашему провайдеру, а потом и другим организациям пока в итоге не попадет на нужный сервер. В этом легко убедиться, если в командной строке Windows выполнить команду «tracert имя_хоста» (в Linux и MAC команда будет «traceroute имя_хоста«). Сначала с помощью dns-сервера будет определен ip-адрес нужного сервера, а затем построена цепочка прохождения пакетов до конечной точки, результат будет выглядеть примерно так.
Для начинающих пользователей это может быть удивительно но, тем не менее, это так. Отсюда можно сделать вывод, что если к одному из промежуточных узлов в цепочке к веб-серверу злоумышленник получит доступ, то он сможет перехватывать ваш трафик с сайтом и следовательно сможет получить все введенные вами пароли, персональную информацию, номера кредитных карт и так далее. Это особенно критично при использовании WI-Fi сетей в общественных местах. Последствия этого наверно объяснять не требуется. Это так называемая атака «человек посередине» или Man in the middle (MiTM).
Это не сильно критично для простых информационных сайтов где посетители не вводят такого рода информацию, но становится огромной проблемой для интернет-баков, социальных сетей, интернет-магазинов, электронной почты, электронных платежных систем и других сайтов где используется конфиденциальная информация. С другой стороны потерять доступ на любимый форум тоже не очень приятно.
Чтобы устранить эту проблему можно использовать HTTPS протокол. Чем отличается HTTP от HTTPS? Он является расширением HTTP протокола применяющий шифрование передаваемых данных с помощью криптографических протоколов SSL и TLS. Данный протокол получил название HTTPS (HyperText Transfer Protocol Secure) или на бытовом языке «защищенный протокол», а сайты его использующие соответственно «защищенные сайты».
Все современные браузеры умеют с ним работать по умолчанию, в том числе с новыми криптографическими методами приходящими на смену устаревшим. Обладателям древних браузеров стоит задуматься об обновлении, поскольку они рискуют однажды не открыть некоторые сайты доступные только по современным протоколам и просто снижают собственную безопасность.
Использование HTTPS не устраняет возможность перехвата трафика, однако теперь все данные передаются в зашифрованном виде и их мало перехватить, их еще требуется расшифровать, а сделать это не зная секретный ключ почти нереально. По крайней мере, для взлома потребуются огромные вычислительные ресурсы и соответствующие знания, что делает его экономически не целесообразным в большинстве случаев.
Как определить используемый на сайте протокол
Неопытных пользователей компьютера этот вопрос может поставить в тупик, хотя на самом деле все просто. Любой URL начинается с указания используемого протокола, другое дело, что людям зачастую не требуется его вводить самостоятельно, браузер подставляет его автоматически. Если просто набрать в адресной строке браузера beginpc.ru, то браузер подставит перед доменом «http://» и откроет сайт по обычному незащищенному протоколу.
Хотя в адресной строке протокол обычно не показывается (IE отображает). При этом в Firefox и Chrome слева от адреса показывается значок в виде буквы i в кружке серого цвета, а в Яндекс.браузере значок земного шара справа в конце строки. Если навести курсор мыши на них, то появится подсказка, что используется не защищенное соединение. Нужно понимать, что все меняется и даже в разных версиях одного браузера внешний вид может отличаться.
Чтобы установить защищенное соединение с сайтом, нужно явно указать безопасный протокол перед адресом страницы https://beginpc.ru в адресной строке браузера. В результате будет установлено зашифрованное соединение по протоколу HTTPS, о чем браузер обязательно уведомит пользователя тем или иным способом. Обычно при этом браузер не скрывает в URL что используется https и дополнительно показывает иконку закрытого замка серого или зеленого цвета. Браузер Хром дополнительно пишет перед адресом зеленым цветом слово «Надежный».
Все выше сказанное относилось для случая ручного ввода url, когда вы нажимаете на ссылку на странице сайта, то она уже содержит какой-то протокол и если вы хотите открыть ее с использованием другого, то вам придется скопировать ее в буфер обмена, а потом вставить в адресную строку и руками исправить протокол на нужный.
Теперь вы знаете, как отрыть сайт по защищенному протоколу или определить защищено ли ваше соединение с сайтом. Правда, в реальности все несколько сложнее. Дело в том, что сайт так же должен поддерживать возможность работать по защищенному протоколу. Более того, в силу определенных причин выходящих за рамки данной статьи администратор сайта может сделать его доступным только по одному из этих протоколов.
Для наглядности можете попробовать перейти по этой ссылке http://yandex.ru на поисковую систему Яндекс. Несмотря на прямо указанный протокол http вас принудительно перебросит на https, потому что теперь он доступен только по защищенному протоколу. Порой это может создавать проблемы некоторым пользователям компьютера.
Как работает HTTPS
Как его использовать мы разобрались, теперь разберемся что такое https. Для понимания ситуации следует несколько слов сказать о принципах работы защищенного соединения между браузером пользователя и веб-сервером с сайтом. Вполне понятно, что данные передаются в зашифрованном виде с помощью криптопротоколов SSL или TLS. Причем нужно сказать, что SSL считается устаревшим и не надежным, на смену ему пришел TLS разных версий.
Осталось понять, каким образом браузер и веб-сервер могут установить зашифрованное соединение, если они никогда ранее друг с другом не общались и секретный ключ известный только им у них отсутствует. Для этого им требуется договориться о ключах, с помощью которых можно зашифровывать и расшифровывать передаваемую информацию. Просто отправить такой ключ от одного к другому нельзя, ведь он будет отправлен в открытом виде и может быть перехвачен. Следовательно, злоумышленник сможет расшифровывать трафик зашифрованный с его помощью.
Это все равно, что сказать секретную информацию своему другу вслух в присутствии постороннего человека. При всей кажущейся сложности ситуации из нее есть выход. Друзья могли бы попытаться использовать эзопов язык для передачи сообщения, а в случае компьютерных технологий на помощь приходит математика.
В общих чертах смысл сводится к тому, что браузер и веб-сервер имеют каждый свой секретный ключ. Они договариваются между собой и выбирают случайные числа, используя при этом открытый канал связи. Затем каждый из них модифицирует их с помощью своих секретных ключей. Обмениваются получившимися результатами друг с другом и опять модифицируют с помощью своих секретных ключей.
В конечном итоге после всех манипуляций у них на руках оказывается одинаковый секретный ключ, несмотря на то, что он сам не передавался непосредственно по сети. При этом даже если кто то перехватывал все их сообщения ему это не поможет получить секретный ключ.
Таковы особенности односторонних математических функций, они легко вычисляются только в одну сторону. Это так называемое асимметричное шифрование, желающий подробностей могут поискать алгоритм Диффи — Хеллмана. Конечно, эти предварительные манипуляции создают дополнительную нагрузку и снижают быстродействие, но их нужно выполнять только один раз в начале каждой сессии. Даже если кто-то перехватит их предварительный обмен сообщениями, это ему ничего не даст. Весь дальнейший обмен информацией шифруется с помощью полученного секретного ключа и надежно защищен от чтения третьими лицами. Это уже называется симметричным шифрованием.
Зачем сайту нужен цифровой сертификат
В этой схеме есть только один маленький, но существенный изъян, она подразумевает, что злоумышленник может только читать передаваемую информацию, а модифицировать ее и передавать дальше не имеет возможности. В противном случае находясь «посередине», он легко может представиться браузеру пользователя веб-сервером к которому послан запрос и создать секретный ключ. Затем обратиться к веб-серверу которому был послан запрос и представиться браузером пользователя так же создав с ним секретный ключ.
В результате злоумышленник будет получать зашифрованные запросы от браузера, расшифровывать их, зашифровывать опять уже с использованием другого секретного ключа и отправлять веб-серверу представляясь браузером пользователя. Таким образом, он будет выполнять функцию посредника полностью контролируя соединение, а браузер и веб-сервер даже не будут об этом знать, думая, что общаются напрямую.
Реализовать проверку подлинности не так просто. Представьте себе, что вам нужно встретиться с незнакомым человеком, которого вы никогда не видели и вам известно только его ФИО. Как убедиться, что человек пришедший на встречу действительно тот за кого себя выдает? Вариантов не так много, самый простой попросить его предъявить свой паспорт и если ФИО совпадет с тем которое вы ожидаете, значит это действительно он.
Однако почему вы поверили паспорту? Наверно потому, что это официальный документ, выдаваемый паспортным столом для идентификации граждан. Другими словами, есть некто (паспортный стол) кому все доверяют и кто поручился за этого человека, выдав ему соответствующий документ.
В интернете все происходит аналогичным образом. Когда мы посылаем запрос на какой-нибудь сайт с использованием шифрования, нам очень важно удостовериться, что нам ответил именно нужный сайт, а не кто то другой выдающий себя за него. Вспомните, как во многих фильмах преступники подключаются к телефонной линии и выдают себя например за электриков и благодаря этому проникают в помещение своей жертвы.
Для этого существуют специальные организации называемые центрами сертификации (Certificate Authority, сокращенно CA). Их задача сводится к проверке существования домена и наличия прав на управление им. В случае успешного прохождения проверки, они выдают цифровой сертификат со своей подписью, его еще называют SSL-сертификатом сайта. Фактически, как и с паспортным столом все строится на доверии к организации, потому что если мы не доверяем центру сертификации, то и выданному им сертификату верить нельзя. В браузеры изначально заложены данные о центрах сертификации, которым доверяют его разработчики, но пользователи могут вносить изменения.
Таким образом цифровой сертификат сайта решает проблему идентификации, а SSL/TLS шифрование обеспечивает безопасную передачу данных по открытым каналам связи. Наличие у сайта действительного цифрового сертификата подписанного доверенным CA является обязательным условием при использовании зашифрованного HTTPS подключения. Схема выглядит очень надежной, но так ли это на самом деле мы рассмотрим в отдельной статье.
Ключевым моментом является доверие браузера к данному сертификату. Дело в том, что ssl сертификат может создать кто угодно, например владелец сайта может выдать его сам себе, это так называемые самоподписанные сертификаты.
С технической точки зрения его достаточно для установления соединения, но браузеры им не доверяют, ведь никто не поручился за его подлинность. В случае, когда сертификат сайта не вызывает доверия по каким-либо причинам, например является самоподписанным, выдан неизвестным CA, не совпадает домен, просрочен или еще что то, то браузер разрывает соединение.
Следует отметить одну особенность, не всегда все сертификаты совместимы со всеми браузерами. Порой старые браузеры не доверяют некоторым сертификатам подписанным новыми центрами сертификации и соответственно не соединяются с сайтом. В качестве примера можно привести несовместимость сертификатов выданных организацией Let’s Encrypt с Internet Explorer в Windows XP. В этом можно убедиться попробовав открыть в нем этот сайт по https.
Есть несколько выходов из данной ситуации, самым логичным шагом будет обновить свой браузер. Можно попробовать открыть сайт по традиционному незащищенному протоколу исправив ссылку вручную, опять-таки если сайт позволяет его использовать.
Третьим вариантом будет добавить сайт в исключения, но тут стоит подумать, насколько это целесообразно. Зачем используется безопасное соединение на сайтах вы знаете, поэтому готовы ли вы открыть данный сайт, несмотря на предупреждения об опасности, решать вам. Для простого информационного сайта на подобии этого думаю вполне допустимое решение, а вот интернет магазин или банк не стоит.
Следует отметить, что существует несколько типов сертификатов, однако это важно только администраторам сайтов. С точки зрения обычных пользователей можно выделить три группы различающих степенью доверия: простой, с проверкой компании и сертификат с расширенной проверкой организации.
В случае простого SSL-сертификата в момент выдачи CA проверяет только существование сайта и право управления им у заказывающего сертификат лица. Это самый широко распространенный тип цифровых сертификатов для сайтов в интернете.
Однако не во всех случаях этого достаточно, представьте себе, что кто то создал копию сайта известного интернет-магазина или банка с таким же дизайном и очень похожим доменом. Он может легально получить простой цифровой сертификат и пытаться заманить к себе невнимательных посетителей с целью украсть их персональные данные.
Чтобы этого избежать компания может заказать SSL сертификат для своего сайта с дополнительной проверкой компании. В этом случае CA дополнительно проверяет факт существования компании и в сертификате указывается не только домен, но и название организации которой он выдан.
Сертификаты с расширенной проверкой или по другому EV сертификаты, что является сокращением от Extended validation являются самыми дорогими и сложными в получении. К организациям желающим их получить предъявляются особые требования и подвергают тщательным проверкам. Их заказывают только крупные компании для которых очень важны репутация и дополнительная защита в случае неприятностей которую они дают. Сайты, имеющие EV сертификаты имеют в некоторых браузерах дополнительный отличительный знак в виде названия организации которой он принадлежит, может показываться зеленым цветом. Такие сертификаты обладают наибольшей степенью доверия.
Наш рассказ будет не полным, если мы не рассмотрим еще несколько моментов. Дело в том, что html-страницы сайтов не являются чем-то монолитным, они формируются из множества независимых кусочков, таких как текст, изображения, скрипты, стили и так далее. Все они являются составной частью страницы, но загружаются в браузер по отдельности. Таким образом возможна ситуация, когда загрузка части из них прописана в коде страницы по протоколу отличному от используемого для самой страницы.
Допустим, мы открываем сайт по защищенному протоколу, а вызов какого-нибудь изображения на странице указан через незащищенный http протокол. В этом случае браузеры рассматривают это как «смешанный контент», что потенциально снижает безопасность всего подключения. Поэтому интерпретируют как незащищенное соединение или не полностью защищенное подключение в зависимости от используемого браузера. Сообщая об этом пользователю в адресной строке тем или иным способом, а если щелкнуть по соответствующему значку, можно увидеть подробности.
В случае если внутри https соединения происходит попытка загрузки скриптов (js) или стилей (css) по протоколу http, то браузеры блокируют их загрузку, поскольку считают серьезной уязвимостью. Остальная часть загруженной страницы считается безопасной, но она может не работать должным образом из-за заблокированных файлов. Если человек все равно желает загрузить их, то может нажать соответствующую кнопку в информационном сообщении. Браузер выполнит перезагрузку страницы с учетом всех ресурсов, но пометит ее ненадежной.
Вот мы и разобрались, что такое HTTPS и зачем он нужен. Надо сказать, что несмотря на то, что технология шифрования трафика довольно старая, она не получила ранее широкого распространения в интернете в силу некоторых технических и экономических причин. В основном ее использовали крупные сайты действительно имеющие дело с важной приватной информацией посетителей, интернет-банки, платежные системы, крупные магазины.
Однако последнее время ситуация активно меняется, количество сайтов использующих зашифрованное HTTPS соединение стремительно увеличивается, в том числе не использующих приватную информацию в своей работе. Этому способствует появление достаточно дешевых и даже бесплатных SSL сертификатов снимающих с повестки дня экономическую составляющую для небольших сайтов.
Другим стимулом для перехода на HTTPS является политика поисковых систем вынуждающая вебмастеров мигрировать на защищенный протокол. Например, компания Google заявляет, что начиная с 2017 года будет понижать в выдаче сайты использующие незащищенное соединение на страницах содержащих приватную информацию и помечать их в своем браузере Хром как небезопасные. С другой стороны, такой переход создает множество технических сложностей и проблем, в том числе с позициями сайта в поисковой выдаче. Поэтому многие владельцы ресурсов пока что не желают переходить на зашифрованное соединение.
К тому же некоторые высказывают мнение, что все это затеяно крупными игроками вовсе не для повышения безопасности в сети, а в целях повышения собственных доходов. В любом случае, процесс миграции стремительно набирает обороты и в недалеком будущем HTTPS полностью вытеснит небезопасный HTTP отправив его на свалку истории. Вполне возможно, что это займет всего несколько лет.
Отправить ответ