- •Знакомство с ssl
- •Цифровые сертификаты
- •Типы сертификатов
- •Аутентификация на стороне клиента или сервера
- •Файл ключей и файл со списком доверенных источников
- •Ssl и WebSphere Application Server
- •Ssl и Integrated Solutions Console
- •Какие преимущества дает использование ssl?
- •2. От теории к практике: взлом ssl
- •От теории к практике
- •3. Найдена дыра в протоколе ssl
- •4. Взлом ssl. Перехват паролей в зашифрованных соединениях.
- •Руководство
- •Информационная безопасность
- •Войны в песочнице — Часть 2. Обход https
- •Secure Sockets Layer
- •Пассивное наблюдение
- •Man in the middle
- •Пользовательские интерфейсы
- •Как пользователь использует ssl?
- •Завершение истории
- •Комментарии (53)
- •6. Критическая уязвимость в ssl вышла из разряда теоретических: исследователи выпустили программу для взлома шифрования
- •Криптографический троян
- •Mozilla и OpenSsl: просто ужасно, не так ли?
Первый
Криптографический протокол SSL (Secure Socket Layer) был разработан в 1996 году компанией Netscape и вскоре стал наиболее популярным методом обеспечения защищенного обмена данными через Интернет. Этот протокол интегрирован в большинство браузеров и веб серверов и использует ассиметричную криптосистему с открытым ключом, разработанную компанией RSA.
Для осуществления SSL соединения необходимо, чтобы сервер имел инсталлированный цифровой сертификат. Цифровой сертификат - это файл, который уникальным образом идентифицирует пользователей и серверы. Это своего рода электронный паспорт, который проводит аутентификацию сервера до того, как устанавливается сеанс SSL соединения. Обычно цифровой сертификат независимо подписывается и заверяется третьей стороной, что гарантирует его достоверность. В роли такой третьей стороны выступают центры сертификации, в частности, компания thawte. Компания thawte является наиболее известным в мире центром сертификации.
Протокол SSL обеспечивает защищенный обмен данными за счет сочетания двух следующих элементов:
Аутентификация Цифровой сертификат привязан к конкретному домену сети Интернет, а центр сертификации проводит проверки, подтверждающие подлинность организации, а уже затем создает и подписывает цифровой сертификат для этой организации. Такой сертификат может быть установлен только на тот домен web-сервера, доля которого он прошел аутентификацию, что и дает пользователям сети Интернет необходимые гарантии.
Шифрование Шифрование - это процесс преобразования информации в нечитаемый для всех вид, кроме конкретного получателя. Оно основывается на необходимых для электронной коммерции гарантиях конфиденциальности передачи информации и невозможности ее фальсификации.
Как выглядит SSL сертификат?
Чтобы увидеть детали SSL сертификата web-сайта, сделайте двойной щелчок мыши по закрытому замочку, который появляется внизу страницы в строке состояния.
Так выглядит цифровой сертификат для браузера IE 6.0:
SSL сертификат web-сервера позволяет посетителям Вашего сайта видеть следующую информацию (детальная информация о сертификате представлена на закладке «Состав»):
* Домен сети Интернет, для которого выпущен этот сертификат. Эта информация позволяет убедиться, что данный SSL сертификат web-сервера был выпущен именно для вашего хоста и домена (http://www.mydomain.com/). * Владелец сертификата. Эта информация является дополнительной гарантией, поскольку посетитель может увидеть имя того, с кем ведет бизнес. * Город, где зарегистрирована компания-владелец сертификата. Эта информация еще раз убеждает посетителя, что он имеет дело с реальной организацией. * Срок действия сертификата. Эта информация особенно важна, поскольку показывает пользователю, что ваш цифровой сертификат действующий.
Как установить SSL сессию защищенного обмена данными?
Когда вы устанавливаете сетевое соединение с защищенным web-сервером, таким как https://www.ssl.ua, сервер должен вначале сам аутентифицировать клиентский web-браузер, что осуществляется с помощью цифрового сертификата, после чего устанавливается защищенное соединение.
Следующая диаграмма показывает шаги, необходимые для установки защищенной сессии по протоколу SSL.
В ходе этой процедуры web-браузер проверяет, чтобы:
доменное имя в сертификате соответствовало тому домену, от которого идет запрос на защищенное соединение
сертификат не был просрочен
сертификации, подписавший сертификат домена, входил в число доверенных вашего web-браузера
Этапы этой процедуры проходят без пауз, так что пользователь «не чувствует» этой внутренней работы. Сертификат служит электронным документом, независимым образом заверяемым третьей стороной, такой как компания thawte, которая гарантирует, что домен принадлежит именно этой реально существующей компании. Действующий сертификат дает пользователю гарантию конфиденциальности при передаче прошедшему аутентификацию узлу Интернет. Передача информации осуществляется защищенным образом.
Когда желательно применять SSL сертификаты?
Решение о применении SSL сертификата исходит из важности обеспечения конфиденциальной передачи данных в сети Интернет. Например, при проведении через ваш web-сайт финансовых транзакций вопрос о применении SSL сертификата самоочевиден. Если вы обрабатываете значимую персональную информацию о клиентах, такую как номер социального страхования или другую подобную информацию, то применение SSL сертификата имеет серьезные основания. Особенно если вопросы конфиденциальности и информационной безопасности ваших клиентов имеют высокий приоритет.
В сфере бизнеса применение SSL сертификатов гарантирует клиентам, что риск утечки информации при ее передаче через открытые сети исключен. Само по себе это уже дает очевидное преимущество, ведь многие виды коммерческой деятельности строятся на основе доверия к сетевым партнерам. Так что если ваш успех в бизнесе зависит от установления доверительных отношений с клиентами и проведения онлайновых транзакций, то применение SSL сертификата становится жизненно необходимым.
Значимость аутентификации web-сервера
Информация - это основа жизнеобеспечения вашего бизнеса. Чтобы обеспечить цельность (защиту от фальсификации) и конфиденциальность, необходимо идентифицировать тех, с кем вы имеете дело, а также быть уверенными в надежности получаемых данных. Аутентификация поможет вам установить доверие между сторонами при проведении любых видов транзакций. К числу средств обеспечения надежности относится предотвращение следующих явлений:
«Спуфинг» (имитация соединения):
Относительно дешевые услуги web-дизайнеров и легкость, с которой могут быть скопированы уже существующие страницы, позволяют создавать нелегальные web-сайты, которые выглядят «официально» и с виду представляют организацию. Реально же это ловушка, чтобы незаконно получить, скажем, номера кредитных карт.
Несанкционированные действия:
Конкурент или обиженный пользователь могут изменить ваш web-сайт так, чтобы он давал ложную информацию или отказывался обслуживать потенциальных клиентов.
Неправомочное разглашение информации:
Когда транзакции осуществляются «открытым текстом», хакер может их перехватывать, чтобы получить информацию, важную для ваших клиентов.
Фальсификация данных:
Содержание транзакции может быть перехвачено и злонамеренно либо случайно в процессе передачи изменено. Имена пользователей, номера кредитных карт и финансовая информация, передаваемая «открытым текстом» слишком уязвима для вмешательства со стороны.
Второй
Безопасность данных в открытых информационных сетях, таких как Интернет, всегда будет источником серьезного беспокойства для разработчиков и клиентов. Поэтому для любого используемого продукта крайне важно создать безопасную среду исполнения.
Протокол SSL (Secure Socket Layers - протокол защищенных сокетов), совместно разработанный Netscape Communications и RSA Data Security, позволяет эффективно обеспечить такую безопасность. Протокол SSL обеспечивает безопасность, аутентификацию на базе сертификатов и согласование безопасности по установленному сетевому соединению, поэтому множество компаний и продуктов приняли SSL в качестве коммуникационного протокола.
В этой серии мы сконцентрируемся на двух главных аспектах:
подробная информация о схеме работы SSL;
детальная информация о поддержке SSL в версиях 5.1 и 6.0.1 среды ISC.
В данной статье исследуется SSL и объясняется, почему его рекомендуется реализовать в среде ISC. Во второй и третьей частях этой серии будет представлена подробная пошаговая инструкция по реализации и подключению SSL к ISC 5.1 и 6.0.1.
Во-первых, что такое SSL?
Знакомство с ssl
Протокол SSL обеспечивает целостность и конфиденциальность обмена данными между двумя общающимися приложениями, использующими TCP/IP. Данные, перемещающиеся между клиентом и сервером, шифруются симметричным алгоритмом.
Для цифровых подписей и обмена ключами шифрования используется алгоритм с открытым ключом (RSA). В шифровании с открытым ключом используется два ключа, каждый из которых может использоваться для шифрования сообщений. Если один ключ используется для шифрования сообщения, для его расшифровки необходимо использовать другой. Это позволяет получать защищенные сообщения, просто публикуя один (открытый) ключ и храня другой (секретный) ключ в тайне.
Цифровые сертификаты
Это подводит нас к обсуждению цифровых сертификатов, играющих важную роль в SSL. Цифровые сертификаты в основном служат двум целям:
установить личность владельца;
сделать доступным первичный ключ владельца.
Цифровой сертификат выпускается проверенной полномочной организацией - источником сертификатов (certificate authority - CA) и выдается только на ограниченное время. После истечения срока действия сертификата его необходимо заменить. Протокол SSL использует цифровые сертификаты для обмена ключами, аутентификации серверов и, при необходимости, аутентификации клиентов.
Цифровой сертификат содержит следующие фрагменты информации о личности владельца сертификата и источнике сертификатов:
полное (уникальное) имя владельца сертификата;
публичный ключ владельца;
дата выдачи цифрового сертификата;
дата окончания действия сертификата;
полное (уникальное) имя издателя (источника сертификата);
цифровая подпись издателя.
Подключение по SSL всегда инициируется клиентом вызовом URL-адреса, начинающегося с https:// вместо http:// .
Типы сертификатов
Протокол SSL использует сертификаты для проверки соединения. Эти SSL-сертификаты расположены на безопасном сервере и служат для шифрования данных и идентификации Web-сайта. Сертификат SSL помогает подтвердить, что сайт действительно принадлежит тому, кто это заявляет, и содержит информацию о держателе сертификата, домена, для которого был выдан сертификат, и название источника (CA), выдавшего сертификат.
Есть три способа получить SSL-сертификат:
использовать сертификат от источника сертификатов;
использовать самоподписанный сертификат;
использовать "пустой" сертификат
Использование сертификата от источника сертификатов
Источники сертификатов (CA) - это организации, которым доверяет вся отрасль и которые занимаются выдачей Интернет-сертификатов. Например, такой сертификат можно получить от компании VeriSign. Чтобы получить сертификат, подписанный источником, необходимо предоставить достаточно информации источнику, чтобы он смог проверить вашу личность. Тогда источник создаст новый сертификат, подпишет его и доставит его вам. Популярные Web-браузеры заранее настроены доверять сертификатам, выданным определенными источниками, так что не нужно никакой дополнительной конфигурации для подключения клиента через SSL к серверу, для которого был выдан сертификат.
Использование самоподписанного сертификата
Самоподписанный сертификат - это сертификат, созданный самим пользователем. При использовании такого сертификата издатель совпадает с владельцем сертификата. Удобство такого решения в том, что для создания самоподписанного сертификата нужно меньше времени, чем для получения сертификата, подписанного источником сертификатов. Однако самоподписанный сертификат требует, чтобы любой клиент, подключающийся по SSL к серверу, установившему такой сертификат, был настроен доверять подписавшему сертификат. Так как сертификат был подписан самим пользователем, такая подпись скорее всего не окажется в файле списка доверенных источников клиента и поэтому должна быть туда добавлена. Если получить доступ к такому файлу любого клиента невозможно, то не стоит использовать такую конфигурацию, лучше получить сертификат от проверенного источника. Самоподписанные сертификаты полезны только тогда, когда каждый клиент, взаимодействующий с сервером, можно настроить так, чтобы он доверял данному сертификату.
Использование "пустого" сертификата
Это решение по функциональности ничем не отличается от предшествующих. В общих чертах, "пустые" сертификаты содержат фиктивную информацию, используемую в качестве временного решения для настройки SSL и проверки его функционирования в конкретной среде. Приложение ISC предоставляет "пустой" сертификат вместе с ключами и файлами доверенных источников для сервера и клиента.
Итак, что нужно делать после получения сертификата?