что такое сертификаты tls
SSL-сертификаты бывают разные
Рассказываем, что такое цифровые сертификаты, какими они бывают и какие с ними связаны проблемы
Чем отличается защищенное соединение от незащищенного – знает довольно большое количество людей. А вот дальше довольно часто начинается темный лес: откуда берется сертификат, чем один сертификат отличается от другого, в чем разница между SSL и TLS и кто это вообще такие, какое отношение сертификат имеет к безопасности и так далее.
В рамках этого поста мы попробуем ответить хотя бы на часть этих и подобных вопросов, а начнем все-таки издалека – с того, что значат HTTP и HTTPS в адресной строке.
Что такое HTTP и HTTPS и чем они отличаются
Когда кто-нибудь из нас заходит на какой-нибудь сайт в Интернете, просто читает его или вводит на нем какие-то данные, происходит обмен информацией между нашим компьютером и сервером, на котором размещен сайт. Происходит он в соответствии с протоколом передачи данных — набором соглашений, определяющих порядок обмена информацией между разными программами.
Протокол, который используется для передачи данных в сети и получения информации с сайтов, называется HTTP (англ. HyperText Transfer Protocol — протокол передачи гипертекста). У него существует расширение, которое называется HTTPS (англ. HyperText Transfer Protocol Secure — безопасный протокол передачи гипертекста). Его суть — в том, что расширение позволяет передавать информацию между клиентом и сервером в зашифрованном виде. То есть информация, которой обмениваются клиент и сервер, доступна только этому клиенту и этому серверу, а не третьим лицам (например, провайдеру или администратору Wi-Fi-сети).
Шифрование данных, которые передаются от клиента к серверу, происходит, в свою очередь, в соответствии со своим, криптографическим протоколом. Сначала для этого использовался протокол под названием SSL (англ. Secure Sockets). У него было несколько версий, но все они в какой-то момент подвергались критике из-за наличия проблем с безопасностью. В итоге была выпущена та версия, которая используется сейчас — ее переименовали в TLS (англ. Transport Layer Security). Однако название SSL прижилось лучше, и новую версию протокола до сих пор часто называют так.
Для того чтобы использовать шифрование, у сайта должен быть специальный сертификат, или, как он еще называется, цифровая подпись, который подтверждает, что механизм шифрования действительно надежен и соответствует протоколу. Индикаторами того, что у сайта такой сертификат есть, являются, помимо буквы «S» в HTTPS, зеленый замочек и надпись «Защищено» или название компании в адресной строке браузера.
Как сайту получить SSL-сертификат
Существует два способа. Способ первый — веб-мастер может издать и подписать сертификат самостоятельно, сгенерировав криптографические ключи. Такой сертификат будет называться самоподписанным (англ. Self-Signed). В этом случае соединение с сайтом также будет зашифровано, но при попытке зайти на сайт с таким сертификатом пользователю будет показано предупреждение, что сертификат — недоверенный (неподтвержденный центром или устаревший). Обычно в окне браузер показывает перечеркнутый замочек и выделенные красным буквы HTTPS, или выделяет красным и перечеркивает буквы HTTPS в поисковой строке — зависит от браузера.
Второй способ (и единственный правильный) — приобрести сертификат, подписанный каким-либо из доверенных центров сертификации (Certificate authority). Сертификационные центры изучают документы владельца сайта и его право на владение доменом — ведь, по идее, наличие сертификата должно также гарантировать пользователю, что ресурс, с которым он обменивается информацией, принадлежит реальной легитимной компании, зарегистрированной в определенном регионе.
Сертификационных центров существует довольно много, но авторитетные среди них можно пересчитать по пальцам. От репутации центра зависит то, насколько ему будут доверять компании-разработчики браузеров и как они будут отображать сайт с таким сертификатом. От вида сертификата, срока его действия и репутации центра и зависит цена на сертификат.
Какими бывают SSL-сертификаты
Сертификаты, подписанные центрами, делятся на несколько видов — в зависимости от уровня надежности, того, кто и как их может получить и, соответственно, цены.
Первый называется DV (англ. Domain Validation — проверка домена). Для его получения физическому или юридическому лицу нужно доказать, что они имеют некий контроль над доменом, для которого приобретается сертификат. Проще говоря, что они либо владеют доменом, либо администрируют сайт на нем. Этот сертификат позволяет установить защищенное соединение, но в нем нет данных об организации, которой он выдан, а для его оформления не требуется никаких документов. Процесс получения такого сертификата обычно занимает несколько минут.
Сертификаты более высокого уровня — OV (англ. Organization Validation — проверка организации). Такие сертификаты выдаются только юридическим лицам, и от них требуются документы, подтверждающие существование организации, — так подтверждается не только безопасность соединения с доменом, но и то, что домен принадлежит организации, указанной в электронном сертификате. Оформление может занимать несколько дней, пока проверяются все документы. Наличие DV или OV-сертификата у сайта в браузере отображается серым или зеленым замочком, словом Secure и буквами HTTPS в адресной строке.
И еще есть EV (англ. Extended Validation — расширенная проверка) — сертификаты самого высокого уровня. Такой сертификат также могут получить только юридические лица, предоставившие все необходимые документы, а отличительной особенностью является то, что название и локация организации отображаются зеленой надписью в адресной строке после зеленого замочка. Такие сертификаты пользуются наибольшим доверием у браузеров, но они и дороже всего. В основном их приобретают крупные компании. Даже банки часто приобретают их в основном не для основного сайта, а отдельно для домена своего сервиса онлайн-платежей.
Информацию о сертификате (кем выдан, когда и сколько действует) можно посмотреть, кликнув на название организации или надпись Secure — правда, это можно сделать не во всех браузерах.
Что может быть не так с сертификатами
Один из принципов, по которым основные разработчики браузеров, такие как Google и Mozilla, выстраивают свою политику — безопасность Интернета и пользовательских данных в нем. В этой связи осенью 2017 года Google анонсировала, что отныне будет маркировать все страницы, использующие HTTP-соединение, как «незащищенные», и, по сути, блокировать пользователям доступ к ним.
Фактически, это условие вынудило все сайты на HTTP в ускоренном темпе приобретать доверенные сертификаты. Соответственно, спрос на услуги сертификационных центров вырос в разы, а время на проверку документов последним, естественно, хотелось бы сократить, чтобы выдать как можно больше этих самых сертификатов. Поэтому многие из центров стали проводить проверку гораздо менее тщательно.
Результатом этого становится то, что надежные сертификаты получают далеко не самые надежные сайты. Так, Google провела расследование, по результатам которого выяснилось, что один из самых крупных и авторитетных центров выдал более 30 тыс. сертификатов, не осуществив при этом должной проверки. Последствия для центра не радужные: Google заявила, что перестанет считать доверенными все сертификаты, выданные центром, пока тот полностью не переделает всю систему проверки и не установит новые стандарты. Mozilla также планирует ужесточить верификацию сертификатов в своих браузерах и тем самым повлиять на требования к их выдаче.
Тем не менее пока полностью уверенным в надежности сертификата и получившей его организации быть нельзя. Даже если это EV-сертификат, внешне соответствующий всем требованиям безопасности, не стоит доверять тому, что написано зеленым шрифтом, безоговорочно.
С EV-сертификатами все даже особенно плохо: злоумышленник может зарегистрировать компанию с названием, подозрительно похожим на название какой-нибудь известной компании и получить для своего сайта EV-сертификат. В этом случае зелеными буквами в адресной строке будет написано как раз-таки название компании (очень похожее на название другой известной компании), что позволит злоумышленнику повысить доверие пользователя к фишинговому сайту. Поэтому никогда не забывайте об осторожности и соблюдении правил при использовании любой веб-страницы.
Сертификаты SSL и TLS: предназначение, отличия и проверка
Когда мы используем интернет для поиска информации, покупки вещей или бронирования билетов на самолет, мы никогда не задумываемся о безопасности сайта и защите своих данных. Да и зачем это, если перед глазами популярный сервис, который давно себя зарекомендовал.
Другое дело, когда спустя сотню запросов мы находим нужную вещь для покупки, но она расположена на сомнительном ресурсе. И тут уже возникает вопрос: «А не будет ли мне это стоить всего моего состояния?». Давайте разберемся, как уберечь себя от потери личных данных и проверить сайт на наличие SSL и TLS сертификатов.
Сертификаты SSL и TLS: зачем они нужны
Продолжим разбор ситуации с покупкой чего-либо через интернет: представим себе, что мы собрались полететь на солнечное Бали из Москвы. Мы нашли сайт, который не представляет собой ничего подозрительного, и поэтому спокойно вводим на нем все необходимые данные и бронируем билеты на самолет.
В то время, когда на сайте совершается оплата за выбранные билеты, начинают срабатывать сертификаты защиты. Их еще называют SSL и TLS, но они представляют собой развитие одной технологии.
SSL расшифровывается как Secure Socket Layer, что означает «уровень защищенных сокетов». TLS же обозначается как Transport Layer Security, «безопасность транспортного уровня». По своей сути обе технологии занимаются одним делом – защитой пользовательской информации от злоумышленников.
Их отличие состоит лишь только в том, что TLS основан на уже действующей спецификации SSL 3.0. А сам SSL уже давно устарел, разработчики редко его используют как единственную защиту. Чаще всего можно увидеть связку двух сертификатов SSL/TLS. Такая поддержка обеспечивает работу как с новыми, так и со старыми устройствами.
Использование такой защиты можно встретить в различных ситуациях: при передаче сообщений, отправке личных данных, транзакциях и т.д.
Специфика работы сертификатов SSL/TLS
Вернемся к ситуации с покупкой билетов на сайте. Как мы выяснили, при отправке личных данных начинают действовать сертификаты. Но что происходит, если защита не производится должным путем?
Без подключения SSL/TLS контакт между пользователем и веб-сайтом происходит через канал HTTP. А это означает, что вся передаваемая информация находится в открытом виде: доступ к данным лежит на поверхности. То есть, когда происходит связь между пользователем и сайтом, например, при оплате билетов на самолет, вся информация, включая паспортные данные, может быть получена злоумышленником. Такое происходит, если на сайте не используются сертификаты защиты.
При подключении SSL/TLS, пользователь устанавливает соединение с веб-сервером HTTPS, который защищает все конфиденциальные данные при передаче. Кроме того, срабатывает привязка криптографического ключа к передаваемой информации и выполняется шифровка данных, которую никто не сможет перехватить.
SSL/TLS используют ассиметричное шифрование для аутентификации пользователя и симметричное для сохранения целостности личной информации.
Как проверить сертификаты SSL/TLS
Мы рассмотрим 5 наиболее популярных онлайн-инструментов для обнаружения слабых мест веб-сайта. Что ж, давайте приступим.
SeoLik
Начнем с отечественного онлайн-сервиса, который позиционирует себя как инструмент для проверки надежности сайта. Помимо основной задачи здесь также можно выполнить сканирование портов, узнать свой IP-адрес и произвести другие действия с сайтом.
Проверяем наличие HTTPS соединения:
Использование данного сервиса поможет проверить сайт всего за несколько минут и уберечь от потери личной информации. В данном случае мы можем быть спокойны, сертификат действителен еще 322 дня.
SSL Shopper
По сравнению с предыдущим сервисом, данный инструмент не столь функционален и поддерживает только англоязычную версию. Давайте посмотрим, как он работает:
Wormly Web Server Tester
Один из самых популярных инструментов для проверки сайтов, который помогает не только узнать о наличии SSL/TLS, но и дает возможность просмотреть данные о шифровании, различные протоколы и многое другое. Работает это следующим образом:
Данный сервис позволяет просматривать шифры сертификатов, что может быть полезно для веб-разработчиков.
Immuni Web
Это многофункциональный гигант, который анализирует поддержку протоколов, проверяет на совместимость PCI DSS и делает много всего, что недоступно в предыдущих инструментах. Конечно, здесь можно проверить и сайт на безопасность.
При необходимости можно сохранить все результаты в формате PDF. Для этого следует кликнуть по кнопке «Download report».
SSL Checker
Незаменимый инструмент для разработчиков. Особенностью данного сервиса является то, что в нем можно активировать уведомления, которые будут оповещать об истечении срока действия сертификата.
На этом моя статья подходит к концу. Теперь вы знаете, как можно проверить SSL и TLS сертификаты на сайте. Спасибо за внимание!
Про установку SSL-сертификатов вы можете почитать тут и тут.
Сертификаты TLS/SSL. Базовая информация для владельцев сайтов
Мы решили ответить на основные вопросы об SSL и простыми словами рассказать о них именно тем людям, которые принимают решение об установке сертификата на сайт.
Зачем нужен этот сертификат
В последнее время остается все меньше сайтов, у которых нет сертификата SSL. Но когда возникает вопрос: а зачем он нужен, первый ответ – ну Google же требует. Ответ на самом деле формальный. На деле же речь идет об очень важных вещах – безопасности и защите информации. Сегодня пользователи оставляют на сайтах не только разнообразные персональные данные, но и более «опасную» информацию, например, номера счетов или реквизиты банковских карт. Задача владельца сайта – сделать так, чтобы эти данные не попали в руки злоумышленников. Именно поэтому Google отдает предпочтение тем сайтам, которые защищают персональную информацию от «угона».
Защищенное соединение и сертификат SSL
Почему сертификат защищает от этой опасности? Как все это работает?
Сертификаты TLS/SSL – файлы, которые выдаются специальными организациями. С их помощью выдается подтверждение того, что получатель данных – именно тот сайт, адрес которого был набран в строке браузера. Некоторые сертификаты могут также удостоверять, что сайт принадлежит конкретному юридическому или физическому лицу.
Если у сайта есть сертификат, это значит, что данные передаются по защищенному протоколу, препятствующему их «перехвату» третьими лицами. А вот если соединение не защищено, злоумышленники могут, например, подменить номер счета, на который мы отправляем свой платеж, и получить его вместо сайта.
Именно поэтому важно получить подтверждение, что мы отправляем данные именно туда, куда ожидаем. Это и вопрос доверия к сайту, и фактической безопасности его пользователей, и поисковые системы придают большое значение наличию такого сертификата. Более того, Google Ads (рекламная система Google) может ограничивать показы рекламы сайта, его не имеющего.
Как происходит подтверждение сайта с помощью сертификатов
При соединении браузер проверяет, соответствуют ли данные в сертификате тому узлу, куда отправляются данные.
Если сайт соответствует информации, указанной в сертификате, то вы видите в окне браузера вот такой замочек для простого сертификата:
И замочек и информацию о компании для сертификата, где она указана:
Если же что-то пошло не так, то вы увидите такое предупреждение:
Шифрование данных и https
Кроме подтверждения подлинности сайта, которому передаются данные, использование защищенного протокола решает еще одну задачу – шифрует их. Почему это важно? Всегда есть опасность, что информация, которую мы передаем сайту, так или иначе будет доступна третьим лицам. Поэтому крайне важно, чтобы данные передавались в зашифрованном виде. Шифрование используется для того, чтобы в случае если злоумышленник каким-то образом получит доступ к передаваемой информации, он не мог понять, какие именно данные передавались, например, не мог извлечь из нее логин и пароль.
Какие типы сертификатов бывают и как выбрать нужный?
Domain Validation (DV)
Это самый простой вариант подтверждения. При таком подтверждении сертификационный центр удостоверяет строго одну вещь: этот домен принадлежит заявителю. Плюс такого сертификата в том, что его можно выпустить очень быстро.
Если вы являетесь счастливым обладателем блога, визитки, простого сайта с каталогом, сайта услуг или небольшого интернет-магазина, вам вполне подойдет такой вид подтверждения.
Organization Validation (OV)
Такой сертификат подтверждает организацию, владеющую сайтом. Выпускается такой сертификат в течение недели, +/- 3 дня. Важно: при таком способе сертификации для домена обязательно должны быть указаны данные о организации (отображаться в whois). Если же вы являетесь физлицом, то такой сертификат для вас получить попросту невозможно.
Extended Validation (EV)
Красиво, дорого, мощно! EV-сертификаты отличаются внешним видом для посетителя. В адресной строке такого сертификата будут отображаться данные о компании.
Если вы делаете что-то глобальное, вам нужен такой сертификат: например, если вы банк, если вы платежная система, если у вас собственный сервис приема платежей (данные карты вводятся на вашем сайте) и так далее. Такие сертификаты дороги. Даже у Сбербанка этот сертификат стоит только для https:\/\/online\.sberbank\.ru\/, а для https://www.sberbank.ru/ используется простой OV.
Что еще может понадобиться
Кроме типа подтверждения, сертификат может иметь ряд опций. Обычно они пишутся в названии карточки товара при покупке сертификата, например, Wildcard-сертификат, который защищает сразу все поддомены сайта, SAN-сертификат на несколько доменов, которые находятся на одном сервере, и так далее. Хотелось бы обратить внимание на очень важную для кириллических сайтов опцию – IDN (Internationalized Domain Names). Таким сайтам она необходима.
Если вы покупаете сертификат в не очень известной компании, у него может быть центр сертификации, который не добавлен в какой-нибудь из браузеров. Сайт с таким сертификатом будет отображаться как недоверенный.
А вот список сертификационных центров, чьи сертификаты наиболее распространены: Thawte, Comodo, GlobalSign, GeoTrust, DigiCert, Symantec.
О самоподписанных сертификатах
Конечно, протокол https должен применяться только в случае, если сертификат подтвержден. Но на деле владелец сайта может выписать сертификат сам на себя. Такой сертификат будет вызывать проблемы с подтверждением в любом браузере, так как в качестве сертификационного центра выступает некое частное лицо, которое точно не входит в список доверенных сертификационных центров ни одного браузера.
Это примерно как позвонить в дверь и сказать «это я» – если непонятно кто это, то это «я» ни о чем не скажет. Браузер предупредит, что он не знает организацию, выдавшую сертификат, однако если пользователь согласится с тем, что доверяет этому сайту, подключение будет работать.
Почему, несмотря на шифрование, не стоит передавать информацию таким сайтам? Ответ простой: если с подтверждением сертификата возникают проблемы, шифрование довольно бессмысленно. В подобной ситуации данные действительно не смогут быть прочитаны третьими лицами, однако владельцу сертификата и возможному злоумышленнику они достаются в «явном» виде. Поэтому не стоит на таких сайтах оставлять персональные данные, вводить пароли и тем более предоставлять номера банковских карт.
Как получить этот самый сертификат
Мы рекомендуем установку сертификата всем компаниям, с которыми работаем, советуем задуматься над этим и читателям. Как это сделать проще всего?
Многие хостинги имеют в себе интегрированные услуги по установке SSL-сертификатов, некоторые даже предоставляют сертификаты бесплатно при заказе хостинга. Такие решения наиболее удобны, так как процесс установки сертификата для этого хостинга уже поставлен на поток. Если же сайт расположен на собственном сервере, или на виртуальном частном сервере (VPS), или на виртуальном выделенном сервере (VDS), то установкой сертификата должен заниматься системный администратор. Также при переходе на https не забудьте поставить в известность всех, кто имеет отношение к привлечению трафика на ваш сайт. SEO-специалисту важно будет добавить сайт с новым протоколом в Вебмастер и сделать перенаправления с небезопасного подключения на безопасное, а специалистам по баннерной и контекстной рекламе может понадобиться поменять адреса посадочных страниц.
TLS и Веб-Сертификаты
А мы вот запустили тихой сапой один из самых необычных для нас курсов — «Цифровая подпись в информационной безопасности». Несмотря на всё мы вроде справились и людей привлекли, посмотрим, что получится. А сегодня мы разберём оставшийся интересный материал и посмотрим вкратце, как работает TLS, а также в чем разница между недоверенным и доверенным веб-сертификатами.
Перевод — dzone.com/articles/a-look-at-tls-transport-layer-security
Автор — Arun Pandey
TLS — сокращение от Transport Layer Security (протокол защиты транспортного уровня), основан на SSL. Как следует из названия, это протокол, работающий на транспортном уровне.
Как известно, безопасность связи — очень распространенная головная боль, но корректная реализация TLS может перенести веб-безопасность на новый уровень. В среде с внедренным TLS злоумышленник может получить информацию о хосте, к которому вы пытаетесь подключиться, узнать какое шифрование используется, прервать соединение, но сделать что-то кроме этого — не получится.
Почти во всех протоколах связи есть три основных части: шифрование данных, аутентификация и целостность данных.
В этом протоколе шифровать данные можно двумя способами: используя Криптосистему с Открытым Ключом или Симметричные Криптосистемы. Криптосистема с открытым ключом, как реализация, совершенней симметричных криптосистем.
Краткий обзор Криптосистемы с Открытым Ключом и Симметричных Криптосистем
Криптосистема с открытым ключом, являющаяся разновидностью Асимметричного Шифрования, использует открытый-закрытый ключ. Так открытый ключ B используется для шифрования данных A (B поделился открытым ключом с A), а после получения зашифрованных данных B расшифровывает их, используя собственный закрытый ключ.
В Симметричных Криптосистемах используется один и тот же ключ и для расшифровки, и для шифрования, поэтому секретный ключ у A и B будет один и тот же. И это является большим недостатком.
А теперь посмотрим, как работает аутентификация в TLS. Чтобы убедиться в подлинности отправителя сообщения и обеспечить получателя средствами для шифрования ответа, аутентификация может быть достигнута с помощью цифровых сертификатов. Операционные системы и браузеры хранят списки доверенных сертификатов, которые они могут подтвердить.
Доверенные vs. Недоверенные Сертификаты
Цифровые сертификаты бывают двух категорий. Доверенные сертификаты подписываются Центром Сертификации (Certificate Authority, кратко — CA), в то время как недоверенные сертификаты — самоподписанные.
Доверенные сертификаты находятся в веб-браузере и подписываются CA. Это необходимо для обеспечения наивысшего уровня надежности. Предположим, сайт “xyz.com” хочет получить доверенный цифровой сертификат от известного сертификационного центра “Comodo”.
Шаги будут следующими:
Недоверенный сертификат подписывается самим владельцем сайта. Такой метод подходит, если проблемы надежности не актуальны.
Заметим, что в реализации TLS не принято использовать недоверенный сертификат.