8 мая 2013

Цифровые сертификаты и HTTPS — ваша защита в Сети

Безопасность Советы

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

Цифровые сертификаты и HTTPS

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

HTTPS – это аббревиатура HyperText Transfer Protocol, защищенный протокол передачи гипертекста.  А «гипертекст» является официальным названием обычной веб-страницы. То есть подключение к сайту через HTTPS (вместо стандартного HTTP) означает, что любые данные, которые вы предоставляете сайту: логин с паролем для комментария в блоге, информация для оплаты парковки или покупки чего-то через интернет-магазин – будут направляться ему только после шифрования, и их перехват по пути не даст хакеру никакой ценной инфорации.

Итак, HTTPS означает шифрование данных. Но остается еще одна проблема: как быть уверенным, что вы установили зашифрованную связь именно с тем сайтом, с которым планировали? Допустим, вы покупаете некий продукт, например антивирус «Касперского«. При этом ваша платежная информация поступает прямиком на  сервер интернет-магазина. Точно? А не в укромный уголок некоего хакера из Румынии? А может, какая-то третья сторона перехватывает введенные вами данные? Собственно, вот мы и подошли к тому моменту, когда в игру вступают сертификаты безопасности.

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

 

Предупреждение об отсутствии сертификата

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

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

Сертификат удостоверяет, что сайт, с которым вы устанавливаете зашифрованное соединение — именно тот, за который он себя выдает.

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

Да, не все так просто. Особенно если учесть, что существуют определенные органы, имеющие возможность выдавать эти самые сертификаты. Существует целый ряд центров сертификации (эмитентов), имеющих на это право и несущих ответственность за выданные сертификаты. GoDaddy, VeriSign и Entrust – три эти компании приходят на ум посвященному человеку практически сразу. Я бы тоже не против назвать себя сертификатором и раздавать эти самые сертификаты направо и налево. Вот только кто же станет им доверять?! Никто. Да и покупать тогда тоже никто не будет. Это слишком деликатный вопрос, поэтому не всякий может назвать себя центром сертификации, а только проверенная компания, заслужившая доверие.

Система доверия работает благодаря списку так называемых «корневых сертификатов». По умолчанию они принимаются большинством браузеров. Также они имеют право удостоверять действительность других органов сертификации. Разберем это на примере. Предположим, есть некий парень по имени Ларри, который занимается вопросами сертификации и является корневым сертификатором. Ваш браузер будет по умолчанию доверять любому сертификату, выданному Ларри. И помимо этого доверием будет пользоваться любой другой сертификатор, за которого поручится Ларри. Центров сертификации немало, но всего существует 36 или около того органов, которые обладают правом решать, стоит ли доверять тому или иному центру. Вроде все просто и понятно, верно? Не совсем так.

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

Сбои в крупных центрах сертификации, таких как DigiNotar и Comodo, а также откровение, что не один, а целых два поддельных сертификата поручились за вирус Stuxnet, наглядно показали, что необходима новая система. Исследователь безопасности Мокси Марлинспайк предположил, что его система «Конвергентный SSL» является решением проблем с сертификатами. Несмотря на то что система дебютировала почти два года назад на конференции Black Hat Security и ее встретили довольно позитивно, мы по-прежнему используем скомпрометированные системы сертификации. Периодически мы слышим о возникающих в центрах сертификации проблемах, плачем и стонем, но продолжаем пользоваться этой службой, не предпринимая никаких шагов для изменения ситуации.

Подключение к сайту через HTTPS (вместо стандартного HTTP) означает, что любые данные, которые вы предоставляете сайту: логин с паролем для комментария в блоге, информация для оплаты парковки или покупки чего-то через интернет-магазин – будут проходить через шифрованную систему.
Так что же можно сделать? Все, что вы можете сделать, – это убедиться, что при вводе какой-либо конфиденциальной информации и даже при пользовании веб-почтой вы используете соединение HTTPS. Помимо этого вы можете нажать на замочек в браузере, чтобы изучить сертификат самостоятельно. Наиболее продвинутые из нас, кто в курсе новостей по теме, могут самостоятельно отозвать сертификат доверия, если тот окажется скомпрометированным. В таком случае ваш браузер не будет больше доверять сертификатам, выпущенным органом, выдавшим отвергнутый вами сертификат. Также все это распространится и на сертификаты, за которые поручилась служба, обозначенная вами как подозрительная. Лучше всего отозвать доверие немедленно, лишь только узнав об этом. Но в то же время не стоит слишком суетиться по этому поводу, потому что Google, Mozilla и Microsoft реагируют довольно быстро (чего пока нельзя сказать об Apple), чтобы самостоятельно отозвать доверие у такого сертификата. Просто будьте в курсе последних событий, обновлений для браузера и операционной системы, и тогда вы будете хорошо защищены от всех напастей. В том числе и от поддельных сертификатов.