15.09.2008

Аутентификация в распределенных информационных системах

Алексей Сабанов, INSIDE.Защита информации №4

Введение

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

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

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

Широкое использование Web-сервисов постепенно размывает физические границы предприятия. Мы становимся все более мобильными, появляется потребность работы из дома, в командировках, на отдыхе… Предоставление удаленного доступа к защищенным информационным ресурсам становится насущной проблемой и головной болью для ИТ-специалистов организаций. Не случайно, по данным исследования Vanson Bourne за 2007 год, до 90% ИТ-менеджеров болезненно относятся к рискам, связанным с удаленным доступом,Однако, рост случаев мошенничества, включая кражу персональных данных, привел к существенным юридическим и технологическим изменениям, призванным обеспечить защиту конфиденциальной информации клиента. С одной стороны – приняты соответствующие законы, вводящие ключевые понятия прав и обязанностей как объектов, так и субъектов персональных данных. С другой – появились улучшенные технологии аутентификации, обеспечивающие контроль доступа пользователей к информационным ресурсам.В связи с этиморганизации, участвующие в любой форме информационного взаимодействия с использованием открытых каналов связи, имеют возможность (а в ряде случаев это не просто возможность, а требование) применять надежные технологииподтверждения подлинности клиентов. Эффективная система аутентификации необходима для реализации требований по защите информации клиента, предотвращению отмывания денег и финансирования террористических организаций, сокращению мошенничества, связанного скражей персональных данных, а также для придания юридической силы электронным соглашениям и транзакциям. Риски ведения операций с неправомочными или некорректно идентифицированными сторонами информационного обмена в электронной среде могут привести к финансовым потерям и ущербу репутации через различного рода мошенничества, раскрытие информации клиента, искажение данных, или к появление соглашений, не имеющих законной силы.

В отличие от запада (Декларация ЕС 1999г., NIST 800-63, АРЕС Framework 2007 и т.д.), в России пока нет устоявшихся требований к аутентификации. Ближе всего в настоящее время к выработке подобных директив стоят банки. В некоторых банках научились оценивать риски. Требования бизнеса накладывают требования на сервисы безопасности. И наоборот. Если в банке знают, что технологии аутентификации неустойчивы к внешним атакам – то банки минимизируют свои риски путем снижения рекомендованных клиентам сумм транзакций. Это делается в виде предупреждений клиентам банка о том, что при переводе сумм выше определенного уровня ответственность переносится на клиентов.

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

Как показано в статье [1], одна из лучших технологий аутентификации в распределенных средах – применение электронной цифровой подписи (ЭЦП). Однако не всегда имеется возможность применения методов строгой аутентификации для организации удаленного доступа. Например, не все Интернет-кафе оборудованы доступными USB-портами для использования ключей класса eToken, иногда требуется установить соединение с удаленным информационным ресурсом с помощью смартфона или наладонника. Рассмотрим указанные требования и существующие решения аутентификации более подробно. Начнем с технологий.

Технологии аутентификации

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

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

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

Существующие методы аутентификации применяют три основных класса "факторов":

  • что пользователь знает (например, PIN-код, пароль);
  • что пользователь имеет (например, пластиковая карта, электронный ключ eToken);
  • чем пользователь характеризуется (например, биометрическая характеристика).

Процедуры аутентификации, использующие более одного фактора, существенно труднее скомпрометировать, чем однофакторные методы. Соответственно, должным образом спроектированные и реализованные методы многофакторной аутентификации более надежны и эффективны в противодействии злоумышленникам. Например, использование логина/пароля для входа в систему - однофакторная аутентификация (то есть, то, что пользователь знает); тогда как транзакция через банкомат требует двухфакторной аутентификации, т.е. предъявления того, чем пользователь обладает (банковская карта) объединенного с тем, что пользователь, знает (PIN-код). Методы двухфакторной аутентификации должны также предусматривать ограничение возможного числа неудачных попыток аутентификации для уменьшения риска подбора.

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

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

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

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

Как уже было сказано, к основным факторам аутентификации относят знание чего-либо (как правило, пароль или PIN-код) и владение чем-либо (смарт-карта, USB-ключ). К третьему фактору аутентификации часто относят обладание уникальными характеристиками, например, биологического характера (отпечаток пальца, голос, скан кровотока кисти руки и т.п.). Как показано в работе [2] (см. Рис.1) по своей сути технологии распознавания личностей по их биологическим характеристикам являются технологиями идентификации. Следовательно, данные биохарактеристик могут рассматриваться только как дополнительный идентификационный (а не аутентификационный) фактор. Также к третьему фактору аутентификации пытаются отнести встроенную в смарт-карту или токен RFID-метку или нанесенные на смарт-карту идентификационные характеристики (фотографию, ФИО владельца, должность и т.д.). Заметим, что по используемой технологии это опять же всего лишь идентификация. Например, чистейшей воды идентификацией является процесс сравнения охранником фотографии на паспорте или пропуске с проходящей сквозь рамку личностью. Чтобы осознать это глубже, вспомним определения идентификации и аутентификации.

Идентификация – процедура распознавания субъекта по его уникальному идентификатору, присвоенному данному субъекту ранее и занесенному в базу данных в момент регистрации субъекта в качестве легального пользователя системы.

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

  • чтобы достоверно убедиться в том, что субъект является тем, за кого себя выдает;
  • для защиты трафика обмена субъект-система от злоумышленника

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

Уязвимости факторов аутентификации

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

  • Те факторы, которые относятся к категории "нечто вещественное", могут быть либо похищены, либо скопированы. Например, если атакующий имеет доступ к компьютеру пользователя, он может скопировать маркер. Аппаратный маркер можно похитить и изготовить его дубликат.
  • Факторы типа "нечто известное" могут быть скомпрометированы и стать известными злоумышленнику. Атакующий может подобрать пароль или PIN-код. Если фактор представляет собой разделяемый секрет, атакующий может получить доступ к поставщику идентификационных данных или проверяющему и получить секретное значение. Злоумышленник также может установить вредоносное приложение (например, keylogger -перехватчик нажатия клавиш), и, таким образом, получить необходимые ему данные. И, в конце концов, злоумышленник может получить секрет через офлайновые атаки, через сетевой трафик при попытке аутентификации.
  • Факторы, которые представляют собой "неотъемлемый атрибут личности", можно имитировать. Например, злоумышленник может получить копию отпечатка пальца и воссоздать по ней оригинал.

Во избежание этих рисков существуют различные взаимодополняющие стратегии:

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

Рассмотрим наиболее часто применяемые технологии аутентификации.

Аутентификация по многоразовым паролям

Учетные записи пользователей современных операционных систем включают в себя службу аутентификации, которая может хранить простейший идентификатор (login) и пароль (password) пользователя в своей базе данных. При попытке логического входа в сеть пользователь набирает свой пароль, который поступает в службу аутентификации. По итогам сравнения пары login/password с эталонным значением из базы данных учетных записей пользователь может успешно пройти процедуру простейшей аутентификации и авторизоваться в информационной системе. В зависимости от степени защищенности в рамках эволюционного развития операционных систем Windows компанией Microsoft использовались протоколы LAN Manager (LM), NT LAN Manager (NTLM), NT LAN Manager версии 2 (NTLM v2) и Kerberos, наиболее распространенный и защищенный на сегодняшний день протокол аутентификации в локальных сетях.

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

Аутентификация на основе одноразовых паролей

Для организации удаленного доступа пользователей к защищенным информационным ресурсам были разработаны достаточно надежные схемы с применением одноразовых паролей (технология OTP – One Time Password). Суть концепции одноразовых паролей состоит в использовании различных паролей при каждом новом запросе на предоставление доступа. Одноразовый пароль действителен только для одного входа в систему. Динамический механизм задания пароля является одним из лучших способов защитить процесс аутентификации от внешних угроз. Известно четыре метода аутентификации с применением технологии ОТР:

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

Наиболее распространены аппаратные реализации одноразовых паролей, называемые ОТР-токенами. OTP-токены имеют компактные размеры и выпускаются в различных форм-факторах:

  • в виде карманного калькулятора;
  • в виде брелока;
  • в виде смарт-карты;
  • в виде устройства, комбинированного с USB-ключом.

В качестве примера решений OTP можно привести линейку RSA SecurID, ActivCard Token, комбинированный USB-ключ Aladdin eToken NG-OTP. В частности, одной из распространенных на западе аппаратных реализаций одноразовых паролей является технология SecurID, предлагаемая компанией RSA Security. Она основана на специальных калькуляторах — токенах, которые каждую минуту генерируют новый код. В токен встроена батарейка, заряда которой хватает на 3-5 лет, после чего токен нужно менять. Аутентификация с помощью SecurID интегрирована в сотни приложений, а недавно при поддержке Microsoft она была встроена в операционную систему Windows. Впрочем, имеются реализации «в железе» и других алгоритмов генерации одноразовых паролей. Например, можно генерировать пароль по событию — нажатию клавиши на устройстве. Такое решение предлагает компания Secure Computing в виде продукта Safeword. Аппаратную реализацию технологии «запрос-ответ» поставляет корпорация CryptoCard. Имеются даже универсальные аппаратные реализации, которые позволяют перепрограммировать токены. В частности, решения, выпускаемые компанией VASCO, допускают реализацию нескольких десятков алгоритмов аутентификации с помощью одноразовых паролей. В целом технология ОТР основана на использовании двухфакторных схем аутентификации и может быть классифицирована как усиленная технология аутентификации (рис.1).

С точки зрения защиты процесса аутентификации технология ОТР более надежна, чем многоразовые пароли. Однако рекомендовать эту технологию для проведения транзакций надо осторожно, понимая ограничения поля ее применимости. Заметим, что некоторым сотрудникам служб защиты информации настолько убедительно показывают маркетинговые «ходы» в виде примеров подмешивания в одноразовый пароль скажем, номера платежки, что стоит долгих трудов убедить их в том, что с точки зрения специалистов по криптографии это не повышает степени защищенности. Другим существенным недостатком массового применения ОТР-токенов является некомфортный, долгий процесс авторизации: надо сгенерировать одноразовый пароль на одном устройстве, ввести его и свой PIN-код (или другую дополнительную информацию) в другое устройство (например, компьютер в интернет-кафе). Если надо работать с такой технологией в течение рабочего дня, то процедуру требуется повторить каждый раз после перерыва. По статистике подобных перерывов за 8-часовой рабочий день бывает от 7 до 12, и каждый раз после каждого «перекура» процесс аутентификации и последующей за ней авторизации надо повторять заново.

Более надежной и удобной в использовании является технология аутентификации, основанная на применении ЭЦП. Для этого требуется сначала получить цифровой сертификат ключа электронной подписи.

Аутентификация на основе ЭЦП. Инфраструктура доверия

По большому счету, доверие всегда связано с безопасностью – чем более прозрачна и надежна защита – тем выше степень доверия и шире область использования решений. Электронная цифровая подпись (ЭЦП) – один из сервисов безопасности, который помогает решать задачи целостности, доступности и неотказуемости авторства. Для полноценного функционирования электронной цифровой подписи требуется создание развитой инфраструктуры, которая известна в России как инфраструктура открытых ключей или PKI (public key infrastructure) - в международной терминологии. Под этим термином понимается полный комплекс программно-аппаратных средств, а также организационно-технических мероприятий, необходимых для использования технологии с открытыми ключами. Основным компонентом инфраструктуры является собственно система управления цифровыми ключами и сертификатами. Все развитые страны мира, в том числе Россия, формируют подобные национальные инфраструктуры. Асимметричная криптография помогает решать задачи обеспечения конфиденциальности, аутентификации, целостности и достоверности информации. Попробуем рассмотреть эти понятия подробнее.

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

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

Давайте рассмотрим другую, не менее важную составляющую асимметричной криптографии - управление закрытыми ключами. А также обсудим, где эти ключи должны быть сохранены и почему. При этом будем считать решенным вопрос, как распределены публичные ключи, и каким образом мы узнаём о соответствии ключа пользователю. Как было упомянуто выше, это - роль инфраструктуры открытых ключей, а для нас достаточного того, что этот механизм есть. Эту работу мы начали с небольшого вступления, так как предполагается, что читатель знаком с основами асимметричной криптографии и PKI.

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

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

Не менее важной областью применения асимметричной криптографии является аутентификация. Например, при входе в операционную систему Microsoft Windows по смарт-карте пользователь отправляет запрос на аутентификацию, подписанный своим закрытым ключом. В ответ он получает от сервера реквизиты для удостоверения личности (ticket granting ticket - "билет, предоставляющий билет" в терминологии Kerberos), которые зашифрованы с помощью его открытого ключа и для расшифрования которых опять требуется использование закрытого ключа пользователя. Также асимметричная криптография является неотъемлемой частью протокола сетевой аутентификации TLS/SSL.

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

Безопасность закрытых ключей

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

Более тонкий вопрос, который возникает в этом случае, заключается в том, что неотказуемость, как свойство ЭЦП, можно также считать утраченным, как только пользователь получит возможность утверждать, что его закрытый ключ мог быть нелегально использован (неважно, действительно ли фактическое воровство имело место или нет).

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

Безопасность закрытого ключа пользователя должна быть обеспечена на каждом этапе его жизненного цикла:

  • Генерация ключевой пары (открытый и закрытый ключи).
  • Хранение закрытого ключа.
  • Использование закрытого ключа (выполнение криптографических операций, требующих использования закрытого ключа пользователя, например – формирование электронной цифровой подписи).
  • Уничтожение закрытого ключа.

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

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

При использовании закрытого ключа важно исключить возможности его перехвата, а также несанкционированного использования (помимо воли и желания владельца ключа).

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

Подходы к обеспечению безопасности закрытых ключей пользователей

Сейчас распространены и наиболее часто используются следующие подходы к обеспечению безопасности закрытых ключей:

  • Программные хранилища (software token) предназначены для хранения закрытых ключей на диске компьютера, чаще всего - в зашифрованном виде. Примерами реализации данного подхода являются криптопровайдер Microsoft Enhanced CSP, входящий в состав операционной системы Microsoft Windows или браузер Mozilla/Netscape.
  • Аппаратные устройства (hardware token) предназначены для хранения закрытых ключей и выполнения криптографических операций, требующих использования закрытого ключа. Наиболее распространенными в РФ представителями устройств данного класса являются смарт-карты и USB-ключи eToken PRO компании Aladdin, построенные с использованием микросхем смарт-карты.
  • Репозитарии (credentials repository) представляют собой выделенные сервера, предназначенные (часто специализированные аппаратное обеспечение) для централизованного хранения закрытых ключей для нескольких пользователей. Для того, что выполнить операцию с использованием своего закрытого ключа (например, подписать электронное письмо) пользователь должен вначале аутентифицироваться на сервере, передать данные для обработки на сервер, затем получить результат.

В настоящее время в России наиболее распространёнными средствами хранения закрытых ключей являются программные хранилища (software token) и аппаратные устройства (hardware token) в виде смарт-карт и USB-ключей. Репозитарии стоят очень дорого и не позволяют обеспечить мобильность пользователя. В основном они используются для хранения ключей, используемых при аутентификации устройств – например, серверов при организации защищённого информационного обмена, а также в финансовой сфере.

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

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

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

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

Аппаратные хранилища закрытых ключей

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

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

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

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

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

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

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

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

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

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

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

В дополнение к перечисленным выше рискам и угрозам, существует потенциально более разрушительный тип нападения на аппаратные токены — атака на побочные каналы (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-ключей для приложений информационной безопасности сертифицируют свою продукцию на соответствие этим стандартам

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

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

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

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

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

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

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

Заключение

Рассмотренные в статье технологии аутентификации имеют широкое применение в России и за рубежом. Например, общий объем используемых в России аппаратных устройств для хранения ключевой информации оценивается в миллион экземпляров, и это далеко не предел – наблюдается интенсивный рост использования устройств, позволяющих аппаратно и программно-аппаратно генерировать ключевые пары, формировать ЭЦП и применять их для различных целей, в том числе, как для аутентификации пользователей, так и для аутентификации электронных документов. Однако, ряд весьма важных вопросов еще не полностью регламентирован. Один из вопросов состоит в том, кто может (должен) оценивать надежность защиты закрытого ключа пользователя от компрометации? В статье 12 ФЗ-1 (Закон об ЭЦП, 2002г.) ответственность за хранение в тайне закрытого ключа ЭЦП возлагается на владельца сертификата ключа подписи. Правильно ли это с точки зрения взаимоотношений «удостоверяющий центр – пользователь сервиса ЭЦП»? Ведь для того, чтобы пользователь относился к вопросу хранения закрытого ключа осознанно, его уровень знаний вопросов информационной безопасности должен быть, как говорят математики, «много больше нуля», а его квалификация должна составлять хотя бы четверть от квалификации выдавшего ему сертификат ключа подписи регистратора – сотрудника удостоверяющего центра.

Ряд вопросов, непосредственно примыкающих к теме данной статьи, связан с определением дифференцированных требований со стороны регулирующих органов к технологиям аутентификации, которые должны обеспечивать минимальный и оптимальный уровни безопасности при организации удаленного доступа к защищенным ресурсам через недоверенную среду. Подобных требований не содержится ни в одном из нормативных документов, опубликованных за последнее время. О том, какие технологии аутентификации надо применять при организации доступа к тем или иным системам, нет четких указаний ни в документах по защите персональных данных, ни в ведомственных документах, таких, например, как стандарт Банка России. Сформулировать подобные требования весьма непросто. Тем не менее, на западе подобная работа была проделана для нескольких видов бизнеса. В частности, для электронной коммерции такие требования содержатся в Декларации ЕС 1999г., к которой Россия присоединилась в 2003г., в требованиях к системам электронной коммерции США (NIST 800-63), разработанные в 2004г., АРЕС e-Commerce Trust Framework-2006. Подробный анализ этих и других работ с целью разработки подходов к формированию требований к применению тех или иных технологий аутентификации в зависимости от требований бизнеса к информационным системам – тема следующей статьи, которая, как надеемся, будет вскоре опубликована.

Алексей Сабанов, заместитель генерального директора Aladdin