Чтобы узнать о HTTPS, мы должны сначала узнать, что такое HTTP.

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

Есть несколько точек возможных нарушений, прежде чем ваш запрос попадет на веб-сервер из вашего браузера и вернется в ваш браузер, будь то беспроводной маршрутизатор или поставщик услуг Интернета (ISP), оптоволоконный кабель для обмена данными в Интернете. Некоторые популярные атаки - это подмена DNS и атаки Man in the middle. Таким образом, при использовании HTTP ваши интернет-сессии становятся общественным достоянием. У вас нет настоящей конфиденциальности. Вот почему использование безопасного протокола важно при передаче личных и конфиденциальных данных.

Что такое HTTPS?

А вот и HTTPS. Что, как правильно отвечает большинство людей, есть не что иное, как Secure HTTP. HTTP с функцией безопасности. Но это не просто замок, который вы видите в окне браузера! Это еще не все. Интернет-мир стремительно движется к нему повсюду.

Так как же HTTPS делает его безопасным? Шифрование. Вместо данных, передаваемых по сети в виде обычного текста, теперь они шифруются с использованием алгоритмов шифрования. Злоумышленник больше не может понять ваши данные и будет видеть только зашифрованные данные, которые он не может понять. Самая распространенная атака - это атака Человек посередине, при которой агрессивный злоумышленник может создать свою собственную инфраструктуру, чтобы перенаправить ваш запрос! Вы думаете, что посещаете определенный веб-сайт www.abc.com, но они могут перенаправить его, и вы на самом деле можете смотреть на похожий на вид веб-сайт, обслуживаемый совершенно другим небезопасным сервером, который может делать что угодно с данными, которыми вы делитесь. такие как ваше местоположение, информация о кредитной карте и т. д. Без использования HTTPS у вас нет уверенности, что вы разговариваете с нужным сервером. И сервер не может определить, действительно ли он с вами разговаривает.

С HTTPS существует уровень целостности данных, который защищает вас от злоумышленника, перехватывающего ваши запросы и ответы сервера. Сертификаты требуют, чтобы каждая сторона знала, как шифровать и расшифровывать данные, и только они знают, как это делать. На всякий случай, если вы думаете, что плохой парень может подделать сертификат, они не могут. По крайней мере, они не могут подделать сертификат или попытаться расшифровать данные с помощью открытого ключа. У них не будет доступа к закрытому ключу. Сертификат содержит открытый ключ веб-сервера. Прокси-сервер злоумышленника не имеет подходящего закрытого ключа. Если прокси пересылает реальный сертификат клиенту, он не может расшифровать информацию, которую клиент отправляет на веб-сервер. Злоумышленник может попытаться подделать сертификат и предоставить свой собственный открытый ключ. Это уничтожит подпись сертификационных органов. Браузер предупредит вас о недействительном сертификате.

На высоком уровне это то, что происходит во время разговора с помощью HTTPS-рукопожатия:

  1. Компьютер: Эй! Назовите себя!
  2. Сервер: Взгляните на мой сертификат.
  3. Компьютер: Эх! Мне это нравится. Приступим к обмену.
  4. Сервер: Круто, признаю. Давай начнем.

В HTTPS единственные две стороны, которые могут читать данные, - это сервер и ваш браузер. Слой TLS (Transport Layer Security) или SSL (Secure Sockets Layer) действует как щит, не позволяя посторонним глазам наблюдать за вашим разговором.

Почему именно HTTPS?

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

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

Причин несколько. Google отмечает веб-сайты как небезопасные, если не использует протокол HTTPS. Это также снижает рейтинг сайта в поисковой выдаче. Вы, должно быть, заметили, что после обновления Chrome 55 до Chrome 56 они начали отображать «Небезопасно» в адресной строке рядом с URL-адресом, не использующим HTTPS для тех веб-сайтов, которые собирают конфиденциальную информацию, и постепенно перешли к отображению предупреждения для всех HTTP сайты, независимо от конфиденциальных данных, с выпуском Chrome 68.

Firefox начал показывать: «Это соединение небезопасно. Введенные здесь логины могут быть скомпрометированы »рядом с полями ввода в форме.

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

Теперь браузеры требуют от веб-сайтов большей ответственности за безопасное обслуживание контента. Вот почему основные веб-сайты теперь начали использовать HTTPS. Мало того, вы также сможете использовать больше функций в браузерах. Например, HTTPS - одно из трех основных требований для PWA. К тому же ваш сайт не будет помечен как «НЕ БЕЗОПАСНЫЙ» в Chrome и других браузерах.

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

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

HTTPS теперь стал нормой, и нет, на это нельзя закрывать глаза.

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