05.09.2006

Внешние носители закрытых ключей

CNews Analytics, сентябрь/2006, Алексей Сабанов, Антон Крячков, Константин Демченко, Сергей Белов

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

Для усиления безопасности закрытых ключей пользователя и обеспечения его мобильности широко используются внешние отчуждаемые носители. Следует отметить, что использование внешних носителей для сохранения программного хранилища (в качестве носителя может выступать, например, USB-диск, дискета, CD-диск) обеспечивает мобильность, однако не существенно повышает безопасность. Содержимое такого носителя загружается на локальный компьютер всякий раз, когда пользователю необходима ключевая информация (например, для формирования ЭЦП документа). Удобство и простота — важные преимущества использования портативного внешнего устройства по сравнению со стандартным программным хранилищем. Однако эти преимущества не повышают защищённость системы.

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

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

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

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

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

Аппаратные устройства с криптографическими возможностями

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

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

Злонамеренное программное обеспечение (malicious software). Предположим, что пользователь подключает аппаратное устройство с криптографическими возможностями на инфицированную вирусом машину и вводит пароль для авторизации в появившемся на экране монитора окне. Существует вероятность того, что вирус, находящийся в компьютере, может подменить собой пользователя и, действуя от его имени, использовать аппаратное устройство (токен) для подписи сообщения. Однако реализация такой атаки ограничена во времени — она осуществима только на время физического подключения токена к компьютеру.

Физический доступ (phisycal access). В обсуждаемом типе токенов закрытый ключ хранится в защищённой памяти устройства и никогда не покидает её. Поэтому воспользоваться им для проведения криптографических преобразований можно только в случае получения злоумышленником физического доступа к устройству (кража, похищение и др.). Если злоумышленник сумеет получить токен легального пользователя, возникнет угроза компрометации хранящейся в его памяти информации. Безопасность в этом случае обеспечивается лишь степенью физической защиты, обеспечиваемой самим устройством. У простейших токенов она минимальна, поэтому сломать её и извлечь ключевую информацию не составляет серьёзного труда. Справедливости ради, отметим, что для взлома защиты часто необходимо разрушить сам токен или просто украсть его, а, значит, нападение будет обнаружено легальным пользователем. Конечно, иногда пользователь сам может потерять свой токен. В таком случае он должен незамедлительно уведомить об этом администратора безопасности (или другое лицо, отвечающее за информационную безопасность в организации), который отзовёт утерянные сертификаты и выполнит другие работы согласно регламенту.

В дополнение к перечисленным выше рискам и угрозам, существует потенциально более разрушительный тип нападения на аппаратные токены — атака на побочные каналы (side channel attack). Получив физический доступ к токену, атакующий может получить информацию о закрытых ключах пользователя, измерив такие показатели, как время и мощность, затраченные в ходе выполнения токеном криптографических преобразований. Да, возможно, такой тип атаки покажется неправдоподобным, однако на деле он представляет собой высокоэффективный способ считывания закрытого ключа, к тому же не повреждающий само устройство.

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

Смарт-карты и USB-ключи

Устройства, использующие технологии смарт-карт, разработаны специально для надежного противостояния различным типам атак и обеспечивают максимально высокий уровень безопасности для хранения и использования закрытых ключей. Микросхема смарт-карты, которую использует этот класс устройств, обеспечивает безопасное хранение и использование ключей шифрования и ЭЦП, а также надёжное хранение цифровых сертификатов. Такие токены могут выпускаться как в форм-факторе смарт-карты, так и в виде USB-ключа, что существенно расширяет область их применения. Более того, токены, базирующиеся на смарт-карт технологиях можно дополнить RFID-меткой для радиочастотной идентификации, благодаря чему они могут использоваться не только для входа в сеть, но и для контроля доступа в помещения.

Мобильность смарт-карт и USB-ключей позволяет пользователю безопасно работать в "недоверенной среде", так как ключи шифрования и ЭЦП генерируются аппаратно микросхемой смарт-карты, никогда не покидают её и не могут быть извлечены или перехвачены. Конечно, как и любое другое решение, связанное с обеспечением информационной безопасности, токен, использующий технологии смарт-карт, можно взломать. Обладая достаточным количеством времени, денег и технологических ресурсов, возможно многое, однако цена такой атаки скорее всего будет значительно выше выгоды. Это объясняется тем, что каждая смарт-карта содержит различные закрытые ключи. Поэтому физическая атака должна быть совершена в отношении каждого применяемого в организации токена. Когда нападение может быть реализовано с минимальными временными и финансовыми потерями, как, например, в случае программного или простейшего аппаратного токена, оно выгодно. Но когда атака является настолько рискованной и дорогостоящей, вероятность её реализации стремится к нулю.

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

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

Также важно отметить, что существуют международные стандарты безопасности, разработанные специально для смарт-карт и USB-ключей, среди которых наиболее широко применимыми являются стандарт CWA 14169 (стандарт для изделий, реализующих электронную подпись — безопасные устройства создания подписи secure signature-creation devices, SSCD) и профиль защиты для смарт-карт "Smart Card Protection Profile (SCSUG-SCPP)". Многие производители смарт-карт и USB-ключей для приложений информационной безопасности (среди которых в первую очередь стоит упомянуть компанию Aladdin) сертифицируют свою продукцию на соответствие этим стандартам.

Особенности использования национальной криптографии

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

Упомянутый выше функционал взаимодействует с программным обеспечением через стандартные интерфейсы типа CryptoAPI 2.0, CAPICOM. По интерфейсам типа Microsoft CSP, PKCS#11 доступен лишь ограниченный набор низкоуровневых функций, который позволяет использовать только основные криптографические процедуры (шифрование/расшифрование, проверка подписи, хеширование) на уровне ядра операционной системы, т.е. в приложениях типа шифраторов IP протокола, жесткого диска и т.д.

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

Таким образом, в аппаратное устройство с криптографическими возможностями неизбежно должен входить программный компонент поддержки PKI-систем, использующих российскую криптографию. С другой стороны, все криптографические операции с закрытым ключом — генерация ключевой пары (открытый и закрытый ключи), формирование электронной цифровой подписи (ЭЦП) и выработка ключей аутентификации — должны осуществляться внутри аппаратного устройства. Все остальные функции могут быть реализованы в любом из компонентов или взяты в уже существующих российских криптопровайдерах типа КриптоПро CSP версии 3.0.

Вопросы, касающиеся жизненного цикла закрытых ключей, особенно важны для тех, кто в настоящее время создает системы с применением "модной" ЭЦП и тех, кто уже применяет или планирует применять подобные системы в недалеком будущем. В России для создания инфраструктуры открытых ключей и систем, применяющих так называемую строгую аутентификацию (двухфакторную с применением асимметричных методов шифрования), уже сделано немало. Во время специализированной конференции "Актуальные проблемы создания системы удостоверяющих центров России. Аспекты международного сотрудничества в области ЭЦП", проходившей в ноябре 2005г. в Санкт-Петербурге, более 40 компаний заявили о себе как о публичных (конечно, условно в свете действующего ФЗ-1) Удостоверяющих центрах.

Число пользователей ЭЦП в России исчисляется сегодня сотнями тысяч. Гигантскими темпами стали развиваться отдельные сегменты электронного бизнеса В2В; например, как было отмечено на 10-ом интернет-форуме, рост рынка В2В за 2005 г. на 294 % во многом обусловлен интенсивным ростом объема электронной торговли электроэнергией, организованной с применением технологий строгой аутентификации участников торговли и использованием ЭЦП. Интенсивными темпами "догоняет" действительность законодательство: если в 2002 г. был принят только один закон — ФЗ-1 "Об электронной цифровой подписи", в 2004г.- закон "О коммерческой тайне", то в текущем году уже принято 2 закона в части информационной безопасности — "Закон о персональных данных" и новая редакция закона "Об информации, информационных технологиях и о защите информации". Во всех вышеперечисленных законах в той или иной степени затронуты вопросы защиты персональной информации пользователей интернет-систем, и, в частности, ЭЦП, как одного из сервисов безопасности — вопросов хранения закрытых ключей пользователей. И это только начало пути. На очереди — рассмотрение и принятие законов об электронном документе, электронной сделке. Соответственно, впереди много работы по исполнению принятых и готовящихся законодательных актов.



  • 1 "Using the GOST R 34.10-94, GOST R 34.10-2001 and GOST R 34.11-94 algorithms with the Internet X.509 Public Key Infrastructure Certificate and CRL Profile"
  • "Additional cryptographic algorithms for use with GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 algorithms"
  • "Using the GOST 28147-89, GOST R 34.11-94, GOST R 34.10-94 and GOST R 34.10-2001 algorithms with the Cryptographic Message Syntax (CMS)"
  • "Addition of GOST Ciphersuites to Transport Layer Security (TLS)"
  • "Using algorithms GOST R 34.10-2001, GOST R 34.10-94 and GOST R 34.11-94 for XML Digital Signatures"