Более подробно с этими рекомендациями можно ознакомиться в документе «Recommendation for Key Management» по адресу csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf. Как ни удивительно, многие крупные компании по-прежнему ведут бизнес в Web, используя SSL-сертификаты с 1024-разрядными ключами.

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

Определение длины ключа SSL

Существует простой способ определить длину ключа любого SSL-сертификата в Internet Explorer (IE).

  1. В IE обратитесь к сайту, на котором установлен SSL-сертификат.
  2. Щелкните на пиктограмме замка (Security Report) справа от URL-адреса, а затем нажмите кнопку View Certificates.
  3. Перейдите на вкладку Details и прокрутите страницу до поля Public key. Как показано на экране 1, длина SSL-ключа указана в скобках.

Экран 1. Проверка длины ключа SSL-сертификата через браузер IE

В этом примере SSL-сертификат издан с 2048-разрядным ключом, соответствующим рекомендациям NIST. Любопытно, что, по оценкам NIST, SSL-сертификаты с 2048-разрядным ключом можно будет безо­пасно применять до 2030 года. Конечно, с помощью этого метода можно проверить не только SSL-сертификаты компании, но и любой компании, имеющей защищенный сайт (то есть сайт с протоколом HTTPS). Если конечные пользователи часто посещают защищенные сайты (например, сайт 401k), полезно проверить сертификаты этих сайтов на соответствие рекомендациям NIST.

Если сайт уязвим, можно обратиться к соответствующим компаниям и выяснить, планируют ли они обновить свои SSL-сертификаты.

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

Учитываем нагрузку и характеристики оборудования

В случае интенсивного SSL-трафика для увеличения длины ключа SSL-сертификата иногда требуется модернизировать аппаратные средства. При изменении длины ключа с 1024 до 2048 разрядов возрастает нагрузка на процессор сервера или SSL-устройства. В большинстве случаев существующих ресурсов достаточно, но если оборудование едва справляется с SSL-трафиком, то, возможно, удастся получить у руководства средства на SSL-акселератор, в приобретении которого вам отказывали в течение двух лет. Высокий коэффициент использования процессора веб-сервера иногда указывает на большую SSL-нагрузку, но может быть результатом выполнения на сервере некорректного сценария. SSL-нагрузку на сервере можно оценить с помощью системного монитора (perfmon.exe) со счетчиком Web Service.

Быстрый и практичный способ определить связь превышения допустимой нагрузки Microsoft IIS Server с SSL-трафиком — загрузить пакет Web Capacity Analysis Tools (WCAT) от Microsoft, опубликованный по адресу support.microsoft.com/kb/231282 и technet.microsoft.com/magazine/2008.04.utilityspotlight.aspx. Протестируйте надежные и уязвимые сайты, запустив системный монитор и измеряя нагрузку на процессор веб-сервера. Если нагрузка на центральный процессор близка к 100% при доступе через протокол HTTPS и существенно ниже при аналогичном доступе через протокол HTTP, то, вероятно, причина в SSL-трафике на сервере. Можно даже провести сравнительное тестирование 1024-и 2048-разрядных сертификатов, чтобы оценить потенциальное влияние 2048-разрядного сертификата на производительность веб-сервера.

Наряду с повышенной нагрузкой, связанной с управлением сеансами SSL, может оказаться, что имеющееся оборудование несовместимо с SSL-сертификатами с длиной ключа более 1024 разрядов. Это ограничение не зависит от SSL-трафика. Например, одно из устройств, непригодных для 2048-разрядных ключей, — SonicWALL SSL-VPN 200. Как сообщили представители компании, источник проблемы в аппаратных средствах, а не в микропрограммном обеспечении, поэтому модернизировать устройство невозможно. Придется приобрести новое устройство для работы с 2048-разрядными ключами. Дополнительную информацию об этой проблеме можно найти по адресу fuzeqna.com/sonicwallkb/consumer/kbdetail.asp?kbid=7354. Вероятно, такие изъяны могут встретиться и в других устройствах. Поэтому не будет преждевременным начать ревизию SSL-сертификатов и оборудования, чтобы успеть составить смету, приобрести и обновить оборудование до конца 2010 года.

Подготовка CSR

Большинство поставщиков SSL перестали издавать SSL-сертификаты с 1024-разрядными ключами и требуют запрос на подпись сертификата (CSR) с длиной ключа не менее 2048 разрядов. Некоторые поставщики SSL (например, Thawte, VeriSign) по-прежнему принимают запросы CSR на 1024-разрядные ключи, но срок действия таких сертификатов завершится 31 декабря 2010 г. При обновлении сертификатов SSL не имеет смысла посылать запрос CSR на 1024-разрядный ключ, так как SSL-сертификат будет действовать только до конца года. Дополнительные сведения о поставщиках SSL можно найти на сайте WhichSSL (www.whichssl.com), содержащем сравнительную информацию о различных поставщиках, которая будет полезна при оценке и выборе поставщика.

Чтобы обновить SSL-сертификат на сервере IIS, обычно составляют запрос обновления CSR и посылают его поставщику SSL. После проверки домена заявителя поставщик издает SSL-сертификат. Различные поставщики используют разные процедуры проверки. Большинство посылает сообщение по адресу электронной почты, приведенному в поле WHOIS регистрационной информации домена для быстрого издания SSL-сертификатов; процедура проверки корпоративных SSL-сертификатов, как правило, гораздо строже. Однако, если послать запрос на обновление существующего SSL-сертификата с 1024-разрядным ключом в IIS, CSR обновления также будет иметь 1024-разрядный ключ. Чтобы обойти это препятствие, экспортируйте существующий SSL-сертификат, а затем подготовьте новый запрос CSR, что позволит выбрать длину ключа.

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

Дополнительная информация по этой проблеме приведена в статье Microsoft «How To Renew or Create New Certificate Signing Request While Another Certificate Is Currently Installed» по адресу support.microsoft.com/kb/295281. Для сайтов, на которых простои недопустимы, особенно важно познакомиться с доменом поставщика SSL и процедурами проверки компаний. Прежде чем сформировать запрос CSR, убедитесь, что имеются все необходимые адреса электронной почты и другие средства проверки, чтобы своевременно издать новый SSL-сертификат.

Обновление корневых сертификатов

Обновления для корневых сертификатов можно загрузить с сайта службы поддержки Microsoft (support.microsoft.com/kb/931125). Конечно, можно загрузить корневые сертификаты непосредственно от поставщика SSL. Как известно, корневые сертификаты используются в цепочке доверительных отношений, чтобы проверить правильность SSL-сертификата. Следует убедиться, что корневой сертификат от поставщика SSL также имеет ключ размером не менее 2048 разрядов. Для проверки длины ключа корневого сертификата выполните следующие действия.

  1. Запустите консоль управления Microsoft Management Console (MMC).
  2. В консоли MMC щелкните File, Add/Remove Snap-in.
  3. В левом столбце под заголовком Available snap-ins щелкните Certificates, а затем нажмите кнопку Add.
  4. Выберите Computer account и нажмите кнопку Next.
  5. Выберите Local computer и нажмите кнопку Finish.
  6. На экране 2 показано, как должно выглядеть диалоговое окно Add or Remove Snap-ins. Нажмите кнопку OK.
  7. В левой панели консоли MMC разверните узел Certificates (Local Computer).
  8. Разверните Trusted Root Certification Authorities.
  9. Выберите Certificates. В результате должен появиться список корневых сертификатов, как показано на экране 3.
  10. В центральной панели дважды щелкните корневой сертификат, который нужно проверить. В этом примере отмечен Go Daddy Class 2 Certification Authority.
  11. Перейдите на вкладку Details.
  12. Прокрутите экран вниз до поля Public key и посмотрите значение.

Экран 2. Добавление оснастки Certificates в консоль MMC

Экран 3. Использование оснастки MMC Certificates для?просмотра корневых сертификатов

В проверенном корневом сертификате Go Daddy длина ключа составляет 2048 разрядов, поэтому на компьютере установлен обновленный корневой сертификат.

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

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

Алан Сугано (asugano@adscon.com) — президент компании ADS Consulting Group, специализирующейся на разработках в области Microsoft.NET, SQL Server и сетевых технологиях