Что значит защищенное соединение https

Что значит защищенное соединение https

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

Минутка технического объяснения про SSL и HTTPS

Стан­дарт­ный про­то­кол пере­да­чи дан­ных в вебе, кото­рый исполь­зу­ет­ся с 1992 года, — HTTP. Этот про­то­кол зада­ёт пра­ви­ла, по кото­рым поль­зо­ва­те­ли запра­ши­ва­ют сай­ты, а сер­ве­ры — отда­ют эти сай­ты. Про­то­ко­ла — это про­сто дого­во­рён­но­сти: «Заго­ло­вок стра­ни­цы пере­да­вай так-то, текст — так, пароль про­си так». Про­то­кол может быть любым внут­ри, глав­ное — что­бы все дого­во­ри­лись исполь­зо­вать имен­но его.

Минус про­то­ко­ла HTTP в том, что он пере­да­ёт дан­ные в откры­том виде. Если на сай­те с HTTP вве­сти дан­ные кар­точ­ки, то они поле­тят по кана­лам свя­зи неза­шиф­ро­ван­ны­ми. Зло­умыш­лен­ник может их пере­хва­тить и про­чи­тать — доста­точ­но, напри­мер, про­сто «про­слу­ши­вать» весь тра­фик в бес­про­вод­ной сети.

HTTP — это быст­рый, но небез­опас­ный про­то­кол. Его слож­но в этом винить: когда его созда­ва­ли, никто не думал, что на сай­тах будут вво­дить дан­ные кре­дит­ных карт. Дума­ли, будут обме­ни­вать­ся резуль­та­та­ми науч­ных иссле­до­ва­ний.

Что­бы решить про­бле­му неза­шиф­ро­ван­ных дан­ных, в 2000 году при­ду­ма­ли HTTPS — HyperText Transfer Protocol Secure, без­опас­ный про­то­кол пере­да­чи гипер­тек­ста. Внут­ри себя он рабо­та­ет как обыч­ный HTTP, но сна­ру­жи шиф­ру­ет весь свой тра­фик. Даже если кто-то вкли­нит­ся посе­ре­дине, он уви­дит толь­ко шифр, кото­рый не полу­чит­ся разо­брать.

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

На самом деле при­мер­но с 2014 года вме­сто про­то­ко­ла SSL исполь­зу­ют TLS, кото­рый заду­мы­вал­ся как обнов­ле­ние SSL 3.0. Дело в том, что в 2014 году обна­ру­жи­ли уяз­ви­мость в SSL-протоколе, кото­рая поз­во­ля­ет рас­шиф­ро­вы­вать все дан­ные. В TLS кон­крет­но этой уяз­ви­мо­сти нет (но навер­ня­ка есть дру­гие), поэто­му все плав­но пере­шли на него, но по ста­рой памя­ти и при­выч­ке назы­ва­ют всё SSL-соединением и SSL-сертификатами.

Как работает SSL-протокол

  1. После вво­да адре­са бра­у­зер отправ­ля­ет­ся к нуж­но­му сер­ве­ру и запра­ши­ва­ет у него стра­ни­цу по про­то­ко­лу HTTPS. Если стра­ни­цы рабо­та­ют с HTTPS, то всё отлич­но, пере­хо­дим к шагу 2. Если на сер­ве­ре исполь­зу­ет­ся ещё ста­рый про­то­кол HTTP, то он отдаст бра­у­зе­ру стра­ни­цу по это­му неза­щи­щён­но­му про­то­ко­лу и ника­ко­го шиф­ро­ва­ния даль­ше не будет.
  2. Сер­вер отправ­ля­ет бра­у­зе­ру копию сво­е­го SSL-сертификата, что­бы бра­у­зер убе­дил­ся, что всё в поряд­ке. В таком сер­ти­фи­ка­те напи­са­но, что это за домен, кто выдал сер­ти­фи­кат и инфор­ма­ция о вла­дель­це.
  3. Бра­у­зер про­ве­ря­ет под­лин­ность сер­ти­фи­ка­та и, если всё хоро­шо, — отправ­ля­ет в ответ свой пуб­лич­ный ключ для шиф­ро­ва­ния. Если пока непо­нят­но, что такое пуб­лич­ный ключ, — немно­го тер­пе­ния, мате­ри­ал уже гото­вим.
  4. Сер­вер шиф­ру­ет стра­ни­цу полу­чен­ным клю­чом и отправ­ля­ет её бра­у­зе­ру.
  5. Бра­у­зер рас­шиф­ро­вы­ва­ет стра­ни­цу, пока­зы­ва­ет её поль­зо­ва­те­лю, а сер­ве­ру сооб­ща­ет, что всё в поряд­ке, рабо­та­ем даль­ше. С это­го момен­та все дан­ные шиф­ру­ют­ся и мож­но отправ­лять на сер­вер что угод­но.

А как быть с обычными сайтами без сертификатов?

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

Есть мно­го сай­тов, кото­рые не исполь­зу­ют сер­ти­фи­ка­ты и ниче­го не про­сят от поль­зо­ва­те­лей — сайты-визитки, кор­по­ра­тив­ные стра­ни­цы и инфор­ма­ци­он­ные пор­та­лы.

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

Читайте также:  Программа для принтера эпсон для печати фотографий

Получить SSL-сертификат — это сложно?

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

Что не так с безопасным соединением

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

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

HTTPS
Название HyperText Transfer Protocol Secure
Уровень (по модели OSI) Прикладной
Семейство TCP/IP
Создан в 2000
Порт/ID 443/TCP
Назначение протокола Безопасное соединение с сервером
Спецификация RFC 2818
Основные реализации (клиенты) веб-браузеры
Основные реализации (серверы) Apache, nginx, IIS
(см. также список веб-серверов)

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

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

Содержание

Принцип работы [ править | править код ]

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

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

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

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

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

Читайте также:  Прикольные никнеймы для инстаграмма

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

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

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

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

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

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

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

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

Уязвимости HTTPS [ править | править код ]

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

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

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

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

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

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

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

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

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

Читайте также:  Для поиска ассоциативных правил чаще всего применяется

Используя Mozilla Firefox в качестве основного браузера, пользователям на глаза может попасться иконка замка зеленого цвета. Нажав на нее, можно увидеть надпись: «Защищенное соединение». В остальных браузерах эта информация для одних и тех же сайтов тоже присутствует, но называется по-другому: «Безопасное подключение», «Соединение защищено». В статье вы узнаете, что это такое и что значит для вас, как для пользователя.

Особенности протокола безопасности

Итак, что такое защищенное соединение или https, например, в «Одноклассниках» или любом другом сайте? Чтобы можно было передавать данные по сети, придумано и внедрено множество протоколов. Основным, через которые работали и работают сейчас сайты, является http. Придуман он более 20 лет назад, когда компьютеры и инфраструктура сети не позволяла обрабатывать и передавать большие объемы данных. Обмен информации между компьютером пользователя и сервером происходил без шифрования, потому как оно требовало дополнительных вычислительных мощностей и увеличивало размер передаваемого и принимаемого трафика.

Получается, что на каждом участке, сетевом узле, через который проходил незашифрованный трафик, был риск перехвата и чтения ваших данных злоумышленником. Если там стандартная информация о вашем IP-адресе и посылаемый запрос на открытие страницы, то страшного ничего в этом нет. Дело принимало куда более рисковый оборот, если совершается платеж, и серверу передаются данные кредитной карты (номер, дата, CVV2).

Когда период цифровых расчетов достиг популярности, все помешались на безопасности. В конечном счете был разработан протокол https. Последняя буква S (Security) означает «безопасность».

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

Установка защищенного соединения

Протокол https использует трехуровневую защиту:

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

  1. Сохранность данных – https фиксирует малейшие изменения на сайте. Если же что-то пошло не так, он выдает информацию «Ваше подключение не защищено».

  1. Шифрование – перед загрузкой страницы с протоколом https происходит обмен ключом шифрования между сайтом и браузером. Дальнейшая информация «гуляет» в сети в зашифрованном виде и только «двое с ключами» имеют к ней доступ.

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

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

Включение https

Дело в том, что от пользователя ничего не зависит. Сайт начинает работать через https после того, как на сервере к доменному имени будет подключен SSL-сертификат. SSL формирует уникальную подпись сайта, которая защищает соединение. Если SSL нет, то и https тоже нет. Это две неотъемлемые составляющие в защите веб-пространства.

Про установку и настройку SSL-сертификата рассказывается в следующем видео:

Защищенное соединение в Одноклассниках

Множество площадок с миллионной аудиторией еще в 2016 году перешли на https. «Одноклассники» не стали исключением. Этот протокол позволяет:

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

Еще в настройках социальной сети вы можете установить параметр «Всегда использовать защищенное соединение», позволяющий перенаправлять на https даже в том случае, когда в адресной строке прописывается http://ok.ru .

О том, как включить безопасное соединение Вконтакте, рассказывается в следующем видео:

Заключение

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

Ссылка на основную публикацию
Чем открыть файл с расширением dat
После установки каких-нибудь программ, получения почты при помощи почтовых клиентов, на компьютере создаются .dat файлы. Чаще всего они почти не...
Фото с листком для вк
Сигна в ВК – это просто фотография человека с листком бумаги, на котором обычно написано чье-то имя. Часто надписи делают...
Фото спортивных мужчин 40 лет
17. Джерард Батлер, 48 лет (kinopoisk) «Законопослушный гражданин» Джерард Батлер когда-то работал официантом, демонстратором игрушек и даже юристом. Он также...
Чем отличается frontend от backend
Переводы , 13 апреля 2017 в 19:58 Мая Устинова Вы наверняка уже слышали эти модные в сфере программирования слова «фронтенд»...
Adblock detector