TLS и SSL: Необходимый минимум знаний. Цифровой сертификат безопасности: для чего это нужно

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Сертификат безопасности сайта – это данные, которыми сайт сообщает, что обмениваться с ним данными безопасно.

Отчасти это можно сравнить с предъявлением документов. Перед тем как пройти куда-либо с человеком, представившимся вам сотрудником полиции, вы можете попросить его показать вам удостоверение. Таким образом вы убедитесь, что этот человек действительно работает в правоохранительных органах и ему можно довериться.

Наличие у сайта сертификата безопасности может показывать, что:

  • Вебсайт использует https шифрование.
  • Он принадлежит реально зарегистрированной компании.
  • Владелец домена подтвердил свои права на него.

Типы сертификатов

Есть три вида удостоверений:

  • Начальный – Domain Validated, DV – подтверждающий только доменное имя. Выпускается моментально. Бесплатное подключение удостоверений этого уровня доступно в панели управления провайдера доменных имен. В ходе получения начального сертификата безопасности сайта просто проверяются ваши права на домен. Для получения удостоверения вы должны перейти по ссылке, высылаемой на электронную почту. Важный момент: когда вас попросят ввести почтовый адрес, нужно указать либо тот, что указан в WHOIS, либо тот, что расположен на самом домене. Так произойдет проверка прав.
  • Обычный - Organization Validation, OV - подтверждающий домен и его принадлежность организации. Чтобы его получить, вам нужно предъявить гарантийное письмо, удостоверяющие принадлежность домена вашей организации.
  • Расширенный – Extended Validation, EV – наиболее дорогой и авторитетный. Именно о наличии этого типа удостоверения свидетельствует зеленая строка с названием организации в адресной строке. Правила получения расширенного удостоверения строго регламентированы. Их нельзя назвать легко выполнимыми: необходимо предоставить множество документов. Каждый год производится проверка правовой, физической и операционной деятельности компании. Процесс выдачи занимает до двух недель.

Что такое https

HTTPS (Hyper Text Transfer Protocol Secure) – усовершенствованный протокол http. Такое соединение подтверждает то, что веб-сайт защищен – протоколом шифрования данных. Это также означает, что вся пересылаемая информация между вами и сайтом зашифрована и подтверждает, что он – подлинный.

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

Если же описываемого символа на странице нет, это может быть поводом насторожиться. Ваши данные могут попасть в руки мошенников, ведь http соединение не зашифровано. Соответственно, при перехвате информации, например, когда вы пользуетесь публичным WIFI, прочесть ваши личные данные не составит никакого труда. Но если соединение будет защищено, то злоумышленник, если и перехватит сигнал, все равно не сможет расшифровать данные. Поэтому при пользовании публичными WIFI сетями стоит посещать только те страницы, соединение с которыми идет через https.

Как он работает

SSL шифрование подразумевает использование PKI системы, которая также известна как ассиметричная.

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

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

Что делать, если возникла проблема с сертификатом безопасности сайта

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

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

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

Как получить сертификат безопасности сайта

Для получения удостоверения безопасности мы можете обратиться к любому известному и проверенному удостоверяющему центру напрямую. Таких много: GoDaddy, Comodo, Norton, GlobalSign

Несмотря на то, что можно купить удостоверения напрямую, многие предпочитают делать это через посредников – своих хостеров/провайдеров/регистраторов. Это удобнее, ведь поддержку на русском языке вы получите только в российской компании.
Купить удостоверение у российского продавца сложно. Российские удостоверяющие центры не входят в число доверенных.

Сертификат безопасности сайта – это краеугольный камень репутации любого ресурса, владельцев которого заботит собственный бренд и доверие клиентов.

Подключение SSL обязательно для владельца любого веб-сайта. Оно оказывает влияние на уровень доверия пользователя.

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

Что представляет собой технология соединения SSL?

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

Да только затем, чтобы подтвердить подлинность какого-то ресурса (заметьте, официального), на который осуществляется вход. Иными словами, это есть электронный непубликуемый документ, который гарантирует безопасность посещения того или иного сайта во Всемирной паутине.

SSL-сертификат: зачем нужен этот документ?

Говоря о принципах, которые заложены в технологии доступа на основе защищенного соединения SSL, тут стоит привести сравнение с доступом вроде HTTPS, которое, по сути, тоже является защищенным (об этом свидетельствует литера «S».

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

То есть при доступе к какой веб-странице у пользователя не должно возникнуть проблем с личными данными (логинами, паролями, PIN-кодами и т. д.), поскольку данный документ удостоверяет, что система безопасности оградит его от любых вмешательств извне. Как уже понятно, третьим лицам такая пользовательская информация не передается. В этом смысле считается, что при установке защищенного соединения по типу SSL не нужны дополнительные средства безопасности вроде антивируса, файрволла или защитника Windows, появившегося в качестве одного из основных компонентов, начиная с восьмой версии операционной системы.

Принципы взаимодействия с пользователями

Теперь давайте посмотрим, как это все работает. Само собой разумеется, что сегодня для доступа в Интернет используются высокотехнологичные программные продукты, называемые браузерами.

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

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

Кто выпускает SSL-сертификаты?

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

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

Сегодня же признанными официальными организациями, которые выдают подобного рода документы, принято считать следующие:

  • COMODO.
  • TTHAWTE.
  • GeoTrust.
  • RapidSSL.
  • Symantec и др.

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

Что получает пользователь при регистрации?

Теперь посмотрим на преимущества, которые получает обычный владелец сайта. Давайте представим себе, что такое корневой сертификат SSL, и зачем он нужен. Как правило, именно он является основным в списке предоставляемых услуг поддержки, хотя в основном пакете таких сертификатов присутствует как минимум три:

  • корневой;
  • промежуточный;
  • сертификат для отдельных доменов.

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

Где использовать SSL-сертификаты? Тут сразу же можно применить юридический аспект. Грубо говоря, владелец сайта, получив данное удостоверение, снимает с себя всякую ответственность за безопасность ресурса, поскольку организация, выдавшая такой электронный документ, выступает в качестве гаранта. Конечно, проверки производятся чуть ли не ежедневные. И, естественно, изначально предполагается, что на сертифицированном в плане безопасности сайте не буде размещаться так называемый пиратский контент или автоматически срабатывающие вредоносные коды, которые могу нанести ущерб конечному пользователю при входе на сайт или даже при осуществлении операции перенаправления (редиректа).

Проблемы с шифрованным соединением

Итак, зачем нужен SSL-сертификат, мы немного разобрались. Теперь посмотрим на некоторые проблемы, увы, возникающие довольно часто при установке такого шифрованного соединения.

Считается, что сбои могут наблюдаться в случае вирусного заражения, некорректных настроек браузера, блокирования доступа в Интернет на уровне брэндмауэра и антивируса, а также, что выглядит достаточно странно, в связи с некорректной установкой даты и времени на системном таймере (не в Windows, а в BIOS).

Простейшие методы исправления ситуации

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

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

В некоторых случаях и система, и браузер пытаются блокировать тот или иной компонент, считая его потенциально небезопасным. К сожалению, именно тут согласованности нет. Поэтому работоспособность даже своего ресурса рекомендуется проверять исключительно на встроенных браузерах Windows (либо Internet Explorer, либо Edge).

Выгодно ли оформлять SSL-сертификат?

Теперь перейдем к вопросу о целесообразности получения того, что называется SSL-сертификат. Зачем нужен такой документ, думается, немного понятно. Однако те же владельцы сайтов задаются больше вопросом стоимости оформления такого документа. Как оказывается, такая услуга обходится достаточно дешево. К примеру, оформление базового пакета Comodo PositiveSSL Certificate в среднем обойдется в 500-550 рублей, рангом выше - около 4 тысяч, самый ответственный - около 8 тысяч рублей.

При этом стоит учесть и предоставляемые гарантии. Так, например, для сертификатов по порядку возрастания гарантия составляет 10, 50 и 100 тысяч долларов США.

Что в итоге?

Что касается выводов, тут каждый пользователь, вернее, владелец сайта или доменного имени, должен принимать решение о целесообразности приобретения такого документа сам. Если говорить о конечных пользователях, у них проблем с доступом к сертифицированным ресурсам возникнуть не должно, разве что при просрочке сертификата. С другой стороны, засилье поисковых систем тоже может сказаться, ведь они в первую очередь обращаются к безопасным сайтам с подтвержденными сертификатами SSL. Так что тут, как говорится, палка о двух концах.

16.09.1997 Тодд Купи

Все четыре программных продукта, о которых пойдет речь в обзоре, облегчают работу с сертификатами безопасности, но сервер WebСА компании Entrust справляется с этой задачей лучше остальных. WebСА вызывает доверие Sentry

Все четыре программных продукта, о которых пойдет речь в обзоре, облегчают работу с сертификатами безопасности, но сервер WebСА компании Entrust справляется с этой задачей лучше остальных.

Вряд ли кто-нибудь захочет завести случайные связи в киберпространстве, посылая по Internet конфиденциальную информацию для непроверенного партнера. Разумнее - воспользоваться услугами солидных "бюро знакомств", которые позволят удостовериться, что тот, кто находится на другом конце провода, вполне благонадежен. В компьютерном мире роль бюро знакомств играют специальные программы, называемые серверами сертификатов безопасности (или просто серверами сертификатов).

Серверы WebСА 1.0.1 (Entrust Technologies), Sentry CA Apache Stronghold Release 1.2 (Xcert Software), Certificate Server 1.01 (Netscape Communications) и e-Cert (Frontier Technologies) предназначены для решения именно этой задачи. Все они позволяют создавать и обрабатывать цифровые сертификаты в стандарте Х.509 и, наряду с технологией шифрования, используются для защиты данных, передаваемых между пользователями. По сути дела, сертификаты препятствуют попыткам злоумышленника, применяющего фальшивый шифровальный ключ, выдать себя за другого. С помощью серверов, находящихся в распоряжении службы сертификации (их называют серверами сертификатов), можно создавать, хранить и обрабатывать сертификаты в безопасном режиме (см. ). Если вы уже пришли к выводу, что нуждаетесь в цифровых сертификатах, для вас не составит большого труда установить в частной сети сервер сертификатов с помощью любого из четырех программных продуктов, о которых пойдет речь ниже.

Среди протестированных нами продуктов наивысшей оценки заслуживает пакет WebСА компании Entrust: он быстро устанавливается, обладает удачным интерфейсом, легко настраивается и стоит недорого. Однако конкуренция между программами была очень жесткой. Certificate Server компании Netscape - неплохой вариант для пользователей, вынужденных управлять большим количеством сертификатов и готовых смириться с достаточно неудобной процедурой установки. Серверы Sentry CA компании Xcert и e-Cert компании Frontier Technologies тоже довольно привлекательны; их можно использовать на узлах, работающих под управлением ПО на базе Unix и Microsoft соответственно.

WebСА вызывает доверие

Сервер сертификатов WebСА компании Entrust Technologies появился на рынке одним из первых и явно предназначен для работы на корпоративном уровне. Он оказался очень серьезным продуктом. Благодаря способности осуществлять взаимную аутентификацию WebСА производит аутентификацию сертификатов, хранящихся на других серверах. Стоимость этого пакета невысока (500 дол. за 500 сертификатов), что позволяет создавать у себя службы корпоративного масштаба небольшим и среднего размера компаниям.

Сервер WebСА привлекателен и совместимостью со многими другими программными продуктами. Такие гиганты компьютерного бизнеса, как IBM, Novell и Hewlett-Packard, создают специализированные прикладные программы, в которых используются сертификаты, созданные при помощи WebСА. Даже Netscape, разработавшая конкурирующий сервер сертификатов, выпускает версию своего сервера Communicator 4.0, снабженную совместимым с WebСА браузером.

WebСА работает под управлением Windows NT 3.51 или выше и хорошо совместим с любым Web-сервером, который применяет протокол безопасности SSL (Secure Sockets Layer) и работает под управлением NT, - в том числе с серверами Internet Information Server (IIS) компании Microsoft и Enterprise Server компании Netscape. Мы проверили, как WebСА работает с IIS 3.0, и не обнаружили никаких проблем. Установливая в сети сервер WebСА, администраторы получат настоящее удовольствие - настолько проста эта процедура.

В комплект сервера WebСА входит Entrust/Directory - база данных, совместимая с протоколом LDAP (Lightweight Directory Access Protocol, упрощенный протокол доступа к каталогам). Она используется сервером для хранения и обработки содержащейся в сертификатах информации. Объем базы данных достаточен для того, чтобы держать на одном сервере сведения о 5 тыс. пользователей. Если требуется создать большее число сертификатов, то в WebСА имеются ссылки на более крупные каталоги Х.500.

Вместе с сервером WebСА поставляются образец заявки на выдачу сертификата, сценарии интерфейса общего шлюза и страницы в формате HTML. Все эти элементы настраиваются по вашему желанию. Пользователь способен создавать сертификаты различных типов и в любом количестве в соответствии с определенной для него привилегией доступа. При соответствующей настройке сервер позволит загружать список пользователей из имеющегося каталога или принимать целевые запросы на выдачу сертификатов. Благодаря основанному на браузере и очень простому в работе интерфейсу администраторы добавляют группы новых пользователей, аннулируют их и исключают из списков, изменяют некоторые параметры сертификатов (например, сроки действия), а также добавляют и аннулируют имена других администраторов. Пользователи, нуждающиеся в сертификатах для работы с браузерами, могут связаться с WebСА через Web с помощью специальной страницы, которая позволяет подготовить заявку на выдачу сертификата и направить ее администратору узла.

Большинство серверов сертификатов отвечают на запросы пользователей электронным письмом, содержащим ссылку на Web-страницу, к которой пользователь должен обратиться для получения сертификата. Сервер WebСА дает возможность получать сертификаты из каталога, поддерживающего протокол LDAP.

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

Sentry - бдительный часовой

Сервер Sentry CA компании Xcert Software успешно развеивает миф о том, что установка ПО под ОС Unix требует как минимум ученой степени в области программирования и работы с операционными системами. Нам потребовалось менее 15 минут, чтобы разархивировать дистрибутивный файл, запустить установочную программу и настроить сервер для работы на компьютере SPARC 5 компании Sun Microsystems под управлением операционной системы Solaris 2.5.1.

Sentry CA совместим с популярным Web-сервером Apache, если последний снабжен программным модулем Stronghold компании C2 Net, поддерживающим безопасные транзакции. При этом сам сервер Sentry CA комплектуется полным набором программ, входящих в сервер Apache. К сожалению, компания Xcert пока не выпустила сервер Sentry CA в виде расширения для серверов Netscape Enterprise Server и Microsoft IIS.

Набор функций Sentry CA производит очень приятное впечатление. Продукт поддерживает режим взаимной аутентификации со службами сертификации других организаций, работающих с той же локальной сетью, с помощью безопасного протокола LDAP, поэтому можно принимать и обрабатывать их сертификаты. В состав сервера включены также модули списка управления доступом (ACL, Access Control List), которые предоставляют администратору возможность разрешать или запрещать доступ пользователя к ресурсам на основании его сертификата. Мы чрезвычайно легко создали несколько ACL-объектов, ограничивающих доступ к каталогам нашего Web-сервера на основании имени организации, указанного в сертификате.

Если вы намерены пополнить ваш арсенал средств безопасности шифровальными устройствами типа смарт-карт, то для вас окажется очень полезной поддержка сервером Centry CA устройств, совместимых со стандартом PKCS (Public Key Cryptography Standards #11). Благодаря этой поддержке сервер удовлетворяет запросы на сертификаты, отправленные с помощью смарт-карт NetSign компании Litronic и шифровальных модулей Cryptographic Token компании Fischer International. Те и другие представляют собой аппаратные средства распознавания; пользователи вставляют их в специальное считывающее устройство, соединенное с компьютером.

Как и в других аналогичных продуктах, взаимодействие с сервером Sentry CA осуществляется через стандартный Web-браузер. Используя специальные формы, которые входят в комплект сервера, пользователи запрашивают сертификаты, а администраторы удовлетворяют эти запросы, ведя с пользователями диалог по электронной почте. Запросы на выдачу сертификатов могут высылаться автоматически, без вмешательства администратора, что очень удобно, - особенно для узлов, на которых выдавается большое количество сертификатов. Следует отметить: сертификаты нельзя создавать внутри Sentry CA, их приходится приобретать у независимой службы, что неизбежно увеличивает полную стоимость сервера.

Среди достоинств Sentry CA следует отметить развитый интерфейс прикладного программирования Xcert Universal Data API (XUDA). Набор инструментальных программ XUDA обеспечивает большую гибкость в работе с базой данных, предназначенной для хранения сертификатов. Эти программы применимы и для разработки приложений, использующих сертификаты с открытым ключом, SSL-транзакции и безопасный доступ к базам данных.

Certificate Server совсем неплох

Продукт Certificate Server компании Netscape не обладает такими же развитыми возможностями, как Sentry CA, столь же отчетливой ориентацией на корпоративную работу и таким же простым интерфейсом, как WebСА, но все же является вполне достойным. Как и другие серверы, созданные Netscape, Certificate Server работает под управлением ОС Windows NT и целого ряда версий Unix, что упрощает задачу его интеграции с корпоративной сетевой средой. Certificate Server поддерживает до 10 тыс. сертификатов на каждый сервер. Он может быть приобретен в составе комплекта SuiteSpot Professional Edition производства Netscape и прекрасно совместим с другими продуктами этой компании.

Основным достоинством сервера является основанный на Web-браузере пользовательский интерфейс. Он не столь удобен в работе, как интерфейс сервера WebСА, но простые электронные формы, входящие в состав сервера, позволяют настроить большинство функций. С помощью сертификата, предоставившего нам права администратора, мы воспользовались протоколом SSL для регистрации в программе и создали в ней настраиваемые шаблоны, а затем - выдавали, находили и аннулировали выданные сертификаты.

Действуя в качестве пользователя, мы запрашивали сертификаты для сервера и отдельного пользователя. Чтобы получить разрешение, нужно было заполнить соответствующую форму и поставить ее в очередь к администратору сервера. Оба типа полученных нами сертификатов работали с самыми последними версиями браузеров Navigator и Internet Explorer, настроенными на функционирование в безопасной сетевой среде.

Certificate Server поставляется в комплекте с сервером Online Workgroup Server компании Informix Software, который используется для хранения и обработки сертификатов. Специальная база данных учитывает любое изменение в статусе каждого из созданных сертификатов и включает в себя такие сведения, как время создания и аннулирования, имя подписавшего сертификат и т. п. Если ваша сетевая среда поддерживает протокол LDAP, то для вас окажутся полезными прямые ссылки на сервер Directory Server компании Netscape, которые содержатся в Certificate Server. Они позволяют размещать действующие сертификаты и списки аннулированных сертификатов в каталогах LDAP.

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

e-Cert - часть системы e-Lock

Сервер e-Cert является одной из трех составных частей системы безопасности e-Lock, разработанной компанией Frontier: для выдачи сертификатов и управления ими используется компонент e-Cert, для создания цифровых подписей под любым файлом или документом - e-Sign, а с помощью e-Mail можно зашифровать и подписать электронное послание, передаваемое по протоколу Secure MIME. Другие рассмотренные нами серверы сертификатов тоже поддерживают продукты, сходные с e-Sign и e-Mail, но только Frontier включила эти программы в комплект своего сервера.

Установка e-Cert 1.1 на ПК класса Pentium под управлением Windows NT Server 4.0 оказалась гораздо более простой, чем в случае с Certificate Server. Нам помогла установочная программа Install Wizard. Процедуру установки сервера облегчают многие заимствования из концепции "мастеров" (wizards), предложенной компанией Microsoft.

Программа e-Cert относится к тем немногим серверам сертификатов, которые используют различные базы данных для хранения сертификатов. Можно выбрать любую систему управления базами данных, совместимую с ODBC (Open Database Connectivity), практически любую коммерческую СУБД на базе SQL или каталог LDAP. В комплект сервера входят несколько удобных демонстрационных программ, одна из которых автоматически выдает пользователю сертификат через Web-браузер.

Сервер сертификатов e-Cert прост в эксплуатации и совместим с такими промышленными стандартами, как PKCS. Однако он лишен некоторых полезных функций, например удобного способа выдачи сертификатов пользователям. Когда пользователь присылает файл с запросом на сертификат (или сертификат, полученный от публичной службы сертификации), приходится вручную переносить его на e-Cert путем загрузки с диска или копирования с другой машины в сети. Затем администратор должен изучить запрос и принять по его поводу какое-либо решение. Еще один потенциальный недостаток e-Cert кроется в отчетливой ориентации пакета на сервер IIS и браузер Internet Explorer. Если ваша сетевая среда ориентирована на операционную систему Unix или продукты компании Netscape, вам следует поискать какой-нибудь другой вариант.

Тодд Купи (Todd Coopee) - помощник руководителя технической службы колледжа Trinity College в г. Хартфорд (шт. Коннектикут). Адрес его электронной почты - [email protected] .

Результаты испытаний серверов сертификатов

Критерий Весовой коэфф., % WebСА Sentry CA Certificate Server e-Cert
Разнообразие свойств и поддержка протоколов 30 8 9 8 6
Средства управления и поддержка серверов 30 9 6 9 7
Установка и справочная документация 20 10 10 5 9
Емкость и возможности наращивания 10 8 9 9 7
Цена 10 10 7 8 9
Итоговая оценка 8,9 8,1 7,8 7,3
Примечания. Оценки даны по 10-балльной шкале. Весовые коэффициенты свидетельствуют об относительной значимости каждого критерия и используются при выведении итоговой оценки.

Что такое "сертификаты безопасности"

Термин "служба сертификации" (Certificate Authority, CA) берет свое начало в области шифрования с открытым ключом (public key). В этом шифровальном алгоритме шифровальный ключ состоит из двух частей: открытого ключа (он опубликован и доступен всем желающим) и секретного (private key), который известен только его владельцу. Конфиденциальные сообщения шифруются и отсылаются с помощью открытого ключа, но расшифроваются только благодаря секретному ключу, которым располагает адресат сообщения. Открытый и секретный ключи фактически являются инверсными копиями друг друга, однако из-за большого размера шифровального ключа практически невозможно восстановить его неизвестную (секретную) составляющую по известной части.

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

Универсальное применение сертификатов обеспечивает стандарт Х.509, на котором все они основаны и который поддерживается целым рядом протоколов безопасности. В их числе - стандарт шифрования с открытым ключом (PKCS), протокол связи SSL (Secure Sockets Layer Handshake Protocol) и безопасный протокол передачи гипертекстовых сообщений (Secure HTTP).

Достоинства и недостатки серверов сертификатов


Стоимость, дол. Достоинства Недостатки
WebСА фирмы Entrust Technologies, Inc., www.entrust.com 500 (за 500 сертификатов) Невысокая цена
Простота установки
Хороший интерфейс управления
Ограниченные возможности настройки
Отсутствуют некоторые развитые функции
Sentry CA 1.2 фирмы Xcert Software, Inc., www.xcert.com 1495 Простота установки
Хороший набор функций
Ограниченные функции Web-сервера
Нет возможности создавать собственные сертификаты
Certificate Server 1.01 фирмы Netscape Communications Corp., www.netscape.com 995 Хорошие средства управления
Имеется возможность настройки
Содержит базу данных Informix
Неудобный процесс установки
Неполная справочная документация
e-Cert 1.1 фирмы Frontier Technologies Corp., www.frontiertech.com 799 Простота установки
Является частью более крупного пакета
Поддерживает ограниченное число типов серверов
Явно ориентирован на продукцию Microsoft


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

Что такое SSL и что такое TLS?

SSL — Secure Socket Layer, уровень защищенных сокетов. TLS — Transport Layer Security, безопасность транспортного уровня. SSL является более ранней системой, TLS появился позднее и он основан на спецификации SSL 3.0, разработанной компанией Netscape Communications. Тем не менее, задача у этих протоколов одна — обеспечение защищенной передачи данных между двумя компьютерами в сети Интернет. Такую передачу используют для различных сайтов, для электронной почты, для обмена сообщениями и много еще для чего. В принципе, можно передавать любую информацию таким образом, об этом чуть ниже.

Безопасная передача обеспечивается при помощи аутентификации и шифрования передаваемой информации. По сути эти протоколы, TLS и SSL, работают одинаково, принципиальных различий нет. TLS, можно сказать, является преемником SSL, хотя они и могут использоваться одновременно, причем даже на одном и том же сервере. Такая поддержка необходима для того, чтобы обеспечить работу как с новыми клиентами (устройствами и браузерами), так и с устаревшими, которые TLS не поддерживают. Последовательность возникновения этих протоколов выглядит вот так:

SSL 1.0 — никогда не публиковался
SSL 2.0 — февраль 1995 года
SSL 3.0 — 1996 год
TLS 1.0 — январь 1999 года
TLS 1.1 — апрель 2006 года
TLS 1.2 — август 2008 года

Принцип работы SSL и TLS

Принцип работы SSL и TLS, как я уже сказал, один и тот же. Поверх протокола TCP/IP устанавливается зашифрованный канал, внутри которого передаются данные по прикладному протоколу — HTTP, FTP, и так далее. Вот как это можно представить графически:

Прикладной протокол «заворачивается» в TLS/SSL, а тот в свою очередь в TCP/IP. По сути данные по прикладному протоколу передаются по TCP/IP, но они зашифрованы. И расшифровать передаваемые данные может только та машина, которая установила соединения. Для всех остальных, кто получит передаваемые пакеты, эта информация будет бессмысленной, если они не смогут ее расшифровать.

Установка соединения обеспечивается в несколько этапов:

1) Клиент устанавливает соединение с сервером и запрашивает защищенное подключение. Это может обеспечиваться либо установлением соединения на порт, который изначально предназначен для работы с SSL/TLS, например, 443, либо дополнительным запросом клиентом установки защищенного соединения после установки обычного.

2) При установке соединения клиент предоставляет список алгоритмов шифрования, которые он «знает». Сервер сверяет полученный список со списком алгоритмов, которые «знает» сам сервер, и выбирает наиболее надежный алгоритм, после чего сообщает клиенту, какой алгоритм использовать

3) Сервер отправляет клиенту свой цифровой сертификат, подписанный удостоверяющим центром, и открытый ключ сервера.

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

5) Генерируется сеансовый ключ для защищенного соединения. Это делается следующим образом:
— Клиент генерирует случайную цифровую последовательность
— Клиент шифрует ее открытым ключом сервера и посылает результат на сервер
— Сервер расшифровывает полученную последовательность при помощи закрытого ключа
Учитывая, что алгоритм шифрования является асимметричным, расшифровать последовательность может только сервер. При использовании асимметричного шифрования используется два ключа — приватный и публичный. Публичным отправляемое сообщение шифруется, а приватным расшифровывается. Расшифровать сообщение, имея публичный, ключ нельзя.

6) Таким образом устанавливается зашифрованное соединение. Данные, передаваемые по нему, шифруются и расшифровываются до тех пор, пока соединение не будет разорвано.

Корневой сертификат

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

Запрос на подпись (CSR, Certificate Sign Request)

Для получения подписанного серверного сертификата необходимо сгенерировать запрос на подпись (CSR, Certificate Sign Request) и отправить этот запрос авторизационному центру, который вернет подписанный сертификат, устанавливаемый непосредственно на сервер, чуть ниже посмотрим, как это сделать на практике. Сначала генерируется ключ для шифрования, затем на основании этого ключа генерируется запрос на подпись, CSR-файл.

Клиентский сертификат

Клиентский сертификат может быть сгенерирован как для использования в устройствах, так и для использования пользователями. Обычно такие сертификаты используются при двусторонней верификации, когда клиент верифицирует, что сервер действительно тот, за кого себя выдает, и сервер в ответ делает то же самое. Такое взаимодействие называется двусторонней аутентификацией или mutual authentication. Двусторонняя аутентификация позволяет повысить уровень безопасности по сравнению с односторонней, а также может служить заменой аутентификации с использованием логина и пароля.

Цепочка действий по генерации сертификатов

Давайте посмотрим на практике, как происходят действия, связанные с генерацией сертификатов, с самого начала, и при этом на практике.

Первое, что делается — это генерация корневого сертификата. Корневой сертификат подписывается самим собой. А потом уже этим сертификатом будут подписываться другие сертификаты.

$ openssl genrsa -out root.key 2048 Generating RSA private key, 2048 bit long modulus ..........+++ ...........................................+++ e is 65537 (0x10001) $ openssl req -new -key root.key -out root.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ".", the field will be left blank. ----- Country Name (2 letter code) :RU State or Province Name (full name) :N/A Locality Name (eg, city) :Saint-Petersburg Organization Name (eg, company) :My Company Organizational Unit Name (eg, section) :IT Service Common Name (e.g. server FQDN or YOUR name) :My Company Root Certificate Email Address :[email protected] Please enter the following "extra" attributes to be sent with your certificate request A challenge password : An optional company name :My Company $ openssl x509 -req -days 3650 -in root.csr -signkey root.key -out root.pem Signature ok subject=/C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=My Company Root Certificate/[email protected] Getting Private key

Таким образом мы сгенерировали сначала приватный ключ, затем запрос подписи, а затем своим ключом подписали свой же запрос и получили собственный цифровой сертификат, выданный на 10 лет. Пароль (challenge password) при генерации сертификата можно не вводить.

Приватный ключ ОБЯЗАТЕЛЬНО необходимо хранить в надежном месте, имея его можно подписать от вашего имени любой сертификат. А полученный корневой сертификат можно использовать для идентификации того, что сертификат, например, сервера подписан именно нами, а не кем-то еще. Именно такие действия выполняют авторизационные центры, когда генерируют собственные сертификаты. После создания корневого сертификата можно приступать к генерации сертификата сервера.

Просмотр информации о сертификате

Содержимое сертификата можно просмотреть таким образом:

$ openssl x509 -noout -issuer -enddate -in root.pem issuer= /C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=My Company Root Certificate/[email protected] notAfter=Jan 22 11:49:41 2025 GMT

Мы видим, кто выдал этот сертификат и когда заканчивается срок его годности.

Серверный сертификат

Для подписи сертификата для сервера нам нужно выполнить следующие действия:

1) Сгенерировать ключ
2) Сгенерировать запрос на подпись
3) Отправить CSR-файл в авторизационный центр или подписать самостоятельно

В серверный сертификат может включаться цепочка сертификатов, которыми подписан сертификат сервера, но ее можно также хранить в отдельном файле. В принципе, выглядит всё примерно так же, как и при генерации корневого сертификата

$ openssl genrsa -out server.key 2048 Generating RSA private key, 2048 bit long modulus ...................................................................................+++ ..........................+++ e is 65537 (0x10001) $ openssl req -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ".", the field will be left blank. ----- Country Name (2 letter code) :RU State or Province Name (full name) :N/A Locality Name (eg, city) :Saint-Petersburg Organization Name (eg, company) :My Company Organizational Unit Name (eg, section) :IT Service Common Name (e.g. server FQDN or YOUR name) :www.mycompany.com Email Address :[email protected] Please enter the following "extra" attributes to be sent with your certificate request A challenge password : An optional company name : $ openssl x509 -req -in server.csr -CA root.pem -CAkey root.key -CAcreateserial -out server.pem -days 365 Signature ok subject=/C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=www.mycompany.com/[email protected] Getting CA Private Key $ openssl x509 -noout -issuer -subject -enddate -in server.pem issuer= /C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=My Company Root Certificate/[email protected] subject= /C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=www.mycompany.com/[email protected] notAfter=Jan 25 12:22:32 2016 GMT

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

Установка SSL/TLS-сертификата на сервер с nginx

Для установки SSL/TLS-сертификата на веб-сервер nginx надо выполнить несколько простых шагов:

1) Скопировать файлы.key и.pem на сервер. В различных операционных системах сертификаты и ключи могут храниться в разных директориях. В Debian’е, к примеру, это директория /etc/ssl/certs для сертификатов и /etc/ssl/private для ключей. В CentOS это /etc/pki/tls/certs и /etc/pki/tls/private

2) Прописать необходимые настройки в конфигурационный файл для хоста. Вот как это примерно должно выглядеть (это просто пример):

Server { listen 443; server_name www.mycompany.com; root html; index index.html index.htm; ssl on; ssl_certificate server.pem; ssl_certificate_key server.key; ssl_session_timeout 5m; # Не рекомендуется использовать SSLv3 !!! # Он здесь только для примера ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP; ssl_prefer_server_ciphers on; location / { try_files $uri $uri/ =404; } }

3) Перезапустить nginx

4) Зайти браузером на 443 порт сервера — https://www.mycompany.com и проверить его работоспособность.

Установка SSL/TLS-сертификата на сервер с Apache

Установка SSL/TLS-сертификата на Apache выглядит примерно так же.

1) Скопировать файлы ключа и сертификата на сервер в соответствующие директории

2) Включить модуль ssl для Apache командой «a2enmod ssl», если он еще не включен

3) Создать виртуальный хост, который будет слушать 443 порт. Конфиг будет выглядеть примерно так:

ServerAdmin [email protected] DocumentRoot /var/www Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/server.pem SSLCertificateKeyFile /etc/ssl/private/server.key # Эта директива добавляет файл, содержащий список # всех сертификатов, которыми подписан сертификат сервера #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE " \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE " ssl-unclean-shutdown

При этом надо сделать еще кое-что. Найти в файле httpd.conf, или apache2.conf, или ports.conf, в зависимости от системы, такой участок конфига:

Listen 443

Если такого условия нет, его надо добавить в конфиг. И еще одно: Надо добавить строку

NameVirtualHost *:443

Эта строка может находиться в файле httpd.conf, apache2.conf или ports.conf

4) Перезапустить веб-сервер Apache

Создание клиентского сертификата

Клиентский сертификат создается примерно так же, как серверный.

$ openssl genrsa -out client.key 2048 Generating RSA private key, 2048 bit long modulus ........................+++ ..................................................+++ e is 65537 (0x10001) $ openssl req -new -key client.key -out client.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ".", the field will be left blank. ----- Country Name (2 letter code) :RU State or Province Name (full name) :Saint-Petersburg Locality Name (eg, city) :^C mnorin@mnorin-work:~/Temp/certs/CA$ openssl req -new -key client.key -out client.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ".", the field will be left blank. ----- Country Name (2 letter code) :RU State or Province Name (full name) :N/A Locality Name (eg, city) :Saint-Petrersburg Organization Name (eg, company) :My Company Organizational Unit Name (eg, section) :Engineering Common Name (e.g. server FQDN or YOUR name) :Ivan Ivanov Email Address :[email protected] Please enter the following "extra" attributes to be sent with your certificate request A challenge password : An optional company name : $ openssl x509 -req -in client.csr -CA root.pem -CAkey root.key -CAcreateserial -out client.pem -days 365 Signature ok subject=/C=RU/ST=N/A/L=Saint-Petrersburg/O=My Company/OU=Engineering/CN=Ivan Ivanov/[email protected] Getting CA Private Key $ openssl x509 -noout -issuer -subject -enddate -in client.pem issuer= /C=RU/ST=N/A/L=Saint-Petersburg/O=My Company/OU=IT Service/CN=My Company Root Certificate/[email protected] subject= /C=RU/ST=N/A/L=Saint-Petrersburg/O=My Company/OU=Engineering/CN=Ivan Ivanov/[email protected] notAfter=Jan 25 13:17:15 2016 GMT

Если необходим клиентский сертификат в формате PKCS12, создаем его:

$ openssl pkcs12 -export -in client.pem -inkey client.key -certfile root.pem -out iivanov.p12 Enter Export Password: Verifying - Enter Export Password:

Теперь можно использовать клиентский сертификат для работы с нашим сервером.

Настройка nginx на использование клиентских сертификатов

Чаще всего, как я уже сказал, используется односторонняя аутентификация, обычно проверяется только сертификат сервера. Давайте посмотрим, как заставить веб-сервер nginx проверять клиентский сертификат. Необходимо в секцию server добавить опции для работы с клиентскими сертификатами:

# Корневой сертификат(ы), которым(и) подписан клиентский ssl_client_certificate /etc/nginx/certs/clientroot.pem; # Возможные варианты: on | off | optional | optional_no_ca ssl_verify_client optional; # Глубина проверки цепочки сертификатов, которыми подписан клиентский ssl_verify_depth 2;

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

Настройка Apache на использование клиентских сертификатов

Apache настраивается также через добавление дополнительных опций в секцию виртуального хоста:

# Директория, содержащая корневые сертификаты для проверки клиентов SSLCARevocationPath /etc/apache2/ssl.crl/ # или файл, содержащий сертификаты SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl # Опция верификации клиента. Возможные варианты: # none, optional, require and optional_no_ca SSLVerifyClient require # Глубина просмотра цепочки подписей. По умолчанию 1 SSLVerifyDepth 2

Как видите, опции примерно такие же, как и для nginx, поскольку процесс проверки организован единообразно.

«Прослушка» информации о сертификате при помощи openssl

Для проверки взаимодействия сервера с клиентскими сертификатами можно проверить, устанавливается ли соединение с использованием TLS/SSL.

На стороне сервера запускаем прослушку порта при помощи openssl:

Openssl s_server -accept 443 -cert server.pem -key server.key -state

На стороне клиента обращаемся к серверу, например, culr’ом:

Curl -k https://127.0.0.1:443

В консоли со стороны сервера можно наблюдать процесс обмена информацией между сервером и клиентом.

Можно также использовать опции -verify [глубина проверки] и -Verify [глубина проверки]. Опция с маленькой буквы запрашивает у клиента сертификат, но он не обязан его предоставлять. С большой буквы — если сертификат не предоставлен, возникнет ошибка. Запустим прослушку со стороны сервера таким образом:

Openssl s_server -accept 443 -cert server.pem -key server.key -state -Verify 3

Со стороны сервера ошибка выглядит так:

140203927217808:error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate:s3_srvr.c:3287:

Со стороны клиента так:

Curl: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

Добавим с клиентской стороны сертификат и доменное имя (можно для проверки вписать в файл /etc/hosts имя хоста для адреса 127.0.0.1):

Curl https://www.mycompany.com:443 --cacert root.pem --cert client.pem --key client.key

Теперь соединение пройдет успешно и можно устанавливать серверный сертификат на веб-сервер, клиентский отдать клиенту, и работать с ними.

Безопасность

При использовании SSL/TLS одним из основных методов является метод MITM (Man In The Middle), «человек посередине». Этот метод основывается на использовании серверного сертификата и ключа на каком-то узле, который будет прослушивать трафик и расшифровывать информацию, которой обмениваются сервер и клиент. Для организации прослушивания можно использовать, например, программу sslsniff. Поэтому корневой сертификат и ключ обычно желательно хранить на машине, которая не подключена к сети, для подписания приносить запросы на подпись на флэшке, подписывать и так же уносить. И, естественно, делать резервные копии.

В общих чертах именно так и используются цифровые сертификаты и протоколы TLS и SSL. Если есть вопросы/дополнения, пишите в комментарии.

Запись опубликована автором в рубрике с метками , .

Навигация по записям

: 29 комментариев

  1. cl-service.com

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

  2. Доброжелатель.

    Тема сисек не раскрыта, ибо описанная технология работы PKI не имеет ничего общего с заголовком темы. Хоть бы для причия ссылки на rfc привел.
    P.S. Был такой анекдот про собаку и блоху.

  3. Доброжелатель.

    Нивкоем случае не хотел тебя обидеть. Искал инфу о различии SSl и TLS на практике и твоя ссылка в гугле была первая. Был заинтрегован названием темы. Все круто, так держать!

  4. DrAibolit

    Благодарю за толковые пояснения о цифровой сертификации. Я новичок в этом=)
    Надеюсь разъясните следующий вопрос.
    Поскольку в интернет индустрии очень развита тема мошенничества, хотелось бы научиться определять на «вшивость» самостоятельно посещаемые мною сайты (особенно, где присутствуют кашельки и оплаты, инвестиции и т.д) и определять исходя из этого степень моего доверия (приходится часто регистрироваться, оставлять личную информацию, совершать покупки, транзакции, инвестиции). Если я правильно понял, что наличие данной сертификации позволяет сделать такую оценку. Ну и с другой стороны, получить ее не проблема и даже бесплатно.
    Как или с помощью какой программы можно определить наличие цифрового сертификата у того или иного сайта? и желательно его категорию, которая присваивается при выдаче спецорганом SSL DV (выдача сертификата проводится с проверкой только домена), SSL OV (с проверкой организации), EV (с расширенной проверкой юрлица). Мошеннические сайты скорее всего последним вариантом сертификации пользоваться не станут..
    Буду рад, если поведаете еще способы определения надежности сайтов))

    1. mnorin Автор записи

      Какой-то определенной программы для этих целей я еще не встречал, но пару советов по этому поводу могу дать.
      Можно использовать, например, Chromium или Google Chrome. Возьмем, например, сайт https://www.thawte.com/ — компания, которая собственно цифровымисертификатами и занимается.
      В адресной строке будет написано название компании и зеленый замочек. Это значит, что организация проверена, это как минимум SSL OV.
      Если кликнуть на замочек, а в выпавшем окошке «Details», а затем «View Certificate», то можно увидеть информацию о сертификате. Для Thawte сертификат подписан следующим сертификатом: «thawte Extended Validation SHA256 SSL CA», а сертификат для click.alfabank.ru тоже подписан Thawte, но другим сертификатом. Это «thawte EV SSL CA — G3», то есть они тоже проходили Extended Validation.
      Как-то так.

  5. Руслан

    Раздел «Принцип работы SSL и TLS», «Клиент генерирует случайную цифровую последовательность».

    Я был уверен что клиент генерирует сеансовый закрытый и, соответственно, открытый ключи (который вы, очевидно, и назвали «цифровая последовательность»). Открытый ключ передаётся серверу и сервер шифрует пакеты в сторону клиента сеансовым открытым клиентским ключом.

    Уточните, пожалуйста.

  6. Новичок

    Статья очень полезная! Даже есть практические примеры=) Только я не понял одну вещь — в чем различие между корневым сертификатом и серверным? или это одно и тоже?

  7. Виталий

    Здравствуйте.
    Хостер предложил услугу - SSL для виртуальных серверов. Воспользовались. Оказалось, что для третьего уровня, т.е. http://www.site.ru сертификат недействителен, только для site.ru. Притом, посетителей упорно кидает на протокол https, не важно, заходят они на site.ru или на http://www.site.ru . Разумеется, во втором случае браузер начинает истошно ругаться, а посетитель до сайта так и не добирается.
    А для тех, кто до сайта таки добрался, сайт стал выглядеть криво, пропала часть меню, перестала отображаться часть картинок в выдаче некоторыми компонентами.

Следующие процедуры демонстрируют, как можно организовать работу с сертификатами на сервере. Дополнительные сведения о сертификатах см. в разделе О сертификатах .

Важно! Очень важно обеспечить сохранность и защиту сертификата и пары ключей; всегда создавайте их резервные копии на дискете и храните эту дискету в безопасном месте.

Чтобы выпустить собственный сертификат сервера

Исследуя возможность выпуска собственных сертификатов сервера, следует рассмотреть следующие вопросы.

  • Ознакомьтесь с возможностями, предлагаемыми службой сертификации; службы сертификации Microsoft Certificate Services 2.0 поддерживают различные форматы сертификатов и имеют средства для аудита и регистрации событий, связанных с сертификатами.
  • Сравните стоимость выпуска собственных сертификатов и приобретения сертификата в службе сертификации.
  • Организации может потребоваться некоторое время, чтобы изучить, реализовать и интегрировать службы сертификации с существующими системами и политиками безопасности.
  1. Используйте службы сертификации для создания настраиваемой службы выпуска сертификатов и управления ими. Серверные сертификаты можно создавать для Интернета или корпоративных интрасетей, что позволяет установить в организации полный контроль над политиками управления сертификатами. Дополнительные сведения см. в документации по службам сертификации Microsoft.
  2. Для получения и установки сертификата сервера используйте .

Примечания

  • Интерактивные запросы на серверные сертификаты можно выполнять только к службам сертификации организации. Мастер сертификатов веб-сервера IIS не распознает изолированную службу сертификации, работающую на том же компьютере. Используйте автономный запрос на сертификат для сохранения сертификата в файле и его автономной обработки (см. документацию по службам сертификации). Интерактивные запросы с использованием локальных служб сертификации организации при этом не затрагиваются.
  • При открытии сертификата SGC, на вкладке Общие может возникнуть сообщение "Этот сертификат не удалось проверить для всех указанных для него целей применения." Это сообщение обусловлено способом, которым сертификаты SGC взаимодействуют с Windows 2000, и не обязательно свидетельствует о том, что сертификат работает неправильно.
Чтобы получить сертификат сервера в службе сертификации

Примечание. Если заменяется текущий сертификат сервера, IIS будет продолжать использовать его до тех пор, пока новый запрос не будет полностью обработан.

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

  • Сможет ли служба сертификации выдать вам сертификат, совместимый со всеми обозревателями, с помощью которых пользователи обращаются к вашему серверу?
  • Является ли служба сертификации известной организацией, которой можно доверять?
  • Каким образом служба сертификации обеспечивает подтверждение вашей подлинности?
  • Имеет ли эта служба систему интерактивного приема запросов на сертификаты, например запросов, созданных с помощью мастера сертификатов веб-сервера?
  • Сколько будет стоить сам сертификат, а также его последующие обновления и другие услуги?
  • Имеет ли служба сертификации опыт в области деловых интересов вашей компании?

Список сертификационных служб, поддерживающих Internet Information Services, находится на веб-узле Microsoft Security по адресу . В списке By Category выберите строку Certificate Authority Services .

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

  • Для установки сертификата используйте мастер сертификатов веб-сервера .
  • Создание резервной копии сертификата сервера и закрытого ключа

    Примечание. В предыдущей версии IIS для создания резервных копий сертификатов сервера использовалась программа Key Manager. В настоящей версии программу Key Manager заменяет мастер сертификатов веб-сервера. Так как IIS тесно связан с Windows, для экспорта и создания резервных копий сертификатов сервера можно использовать диспетчер сертификатов.

    Чтобы создать резервную копию сертификата сервера
    Чтобы добавить диспетчер сертификатов в MMC

    Примечание. Если диспетчер сертификатов уже установлен в консоли MMC, он будет указывать на хранилище сертификатов «Локальный компьютер».

    1. Откройте консоль MMC и выберите команду Добавить/удалить оснастку в меню «Консоль».
    2. Нажмите кнопку Добавить .
    3. Выберите в списке строку Сертификаты .
    4. Нажмите кнопку Добавить .
    5. Выберите переключатель учетной записи компьютера .
    6. Выберите переключатель локальным компьютером (тем, на котором выполняется эта консоль) .
    7. Нажмите кнопку Готово .