Токены и смарт-карты являются одним из наиболее распространенных средств строгой аутентификации пользователей. Традиционно они используются для надежной двухфакторной аутентификации пользователей в локальных приложениях. Однако, с их помощью можно решить эту задачу, применительно к веб-порталам и облачным сервисам. Это важно, поскольку проблема аутентификации в сетевых сервисах с каждым годом становится все актуальнее. Сегодня мы рассмотрим, как для этой задачи можно использовать eToken ГОСТ.
2. Проблемы традиционных решений
3. eToken ГОСТ для аутентификации на порталах и облачных сервисов
Введение
Сегодня в Интернете можно найти немало порталов и облачных сервисов, которые активно используются как физическими, так и юридическими лицами. К ним относятся системы онлайн-банкинга, электронного документооборота, всевозможные торговые площадки и пр. Также можно отметить активное развитие порталов для предоставления государственных электронных услуг, в том числе с возможностью создания юридически значимых документов и заявлений.
То же самое происходит и в области B2B. Электронные торговые площадки, возможность сдачи отчетности через Интернет, системы корпоративного и межведомственного документооборота предоставляют значительные преимущества перед традиционными решениями. Также нельзя забывать о современных тенденциях – облачных сервисах. Их популярность постоянно возрастает. По данным IDC (Russia Public IT Cloud Services Market 2011-2015 Forecast and 2010 Analysis) объем российского рынка облачных услуг удваивается каждый год.
Однако и у веб-порталов, и у облачных сервисов есть один серьезный недостаток. Речь идет о повышенных рисках с точки зрения информационной безопасности организации. Особенно это актуально для значимых приложений, несанкционированный доступ к которым может привести к серьезным потерям. К таким приложениям относятся онлайн-банкинг, электронные торговые площадки, системы документооборота и пр. Основными способами защиты от угроз являются строгая двухфакторная аутентификация пользователей и обеспечение надежного шифрования канала, по которому будут передаваться данные. Только при решении обеих этих задач можно говорить о достаточной степени безопасности пользования веб-порталами и облачными сервисами.
Проблемы традиционных решений
На сегодняшний день существует два основных способа аутентификации пользователей в Интернете – парольная защита и использование цифровых сертификатов. Первый совершенно не удовлетворяет современным представлением о безопасности и, поэтому, на нем акцентировать внимание читателя не будем. Цифровые сертификаты, основанные на криптографических технологиях, обладают значительно большей степенью безопасности. В целом они подходят для решения поставленных задач. Традиционно для реализации аутентификации пользователей на веб-порталах и облачных сервисах с помощью цифровых сертификатов используют встроенные в браузеры средства и протоколы семейства SSL/TLS. Однако с такой реализацией связан целый ряд серьезных проблем.
Начать нужно с того, что надежность этого метода аутентификации оказывается ниже, чем может показаться с первого взгляда. Существует несколько способов, которые могут использовать злоумышленники для несанкционированного доступа к удаленному сервису. Первый из них – возможность кражи закрытого ключа сертификата. Заполучив его, злоумышленник может подобрать установленный пользователем пароль (мало кто из пользователей задумывается об использовании стойких паролей), что даст ему неограниченные возможности по использованию сервиса.
Второй способ – несанкционированный доступ к удаленному сервису через компьютер легитимного пользователя. Причем здесь может использоваться как физический (в домашних условиях это гости хозяев или их детей, в офисах – другие сотрудники организации), так и удаленный доступ к ПК (в том числе и с помощью вредоносных программ). Сев за компьютер или подключившись к нему удаленно, злоумышленник может использовать установленный на нем закрытый ключ сертификата легитимного пользователя. Особенно, если последний облегчил ему задачу, не использовав высокую степень защиты, при которой требуется ввод пароля на доступ к ключу. Помимо этого существуют и другие способы получения аутентификационных данных для последующего несанкционированного доступа к удаленным сервисам: мошенничество с использованием методов социальной инженерии, фишинг и пр.
Другая проблема традиционных средств заключается в отсутствии мобильности. Перед прохождением процедуры аутентификации необходимо загрузить сертификат в хранилище браузера. И, если для домашнего или офисного компьютера это не представляет никакой сложности, то на общедоступных ПК (в интернет-кафе, гостинице, компьютерном классе и пр.) превращается в настоящую проблему. Ведь нужно не только установить сертификат, но и после работы с сервисом удалить его. Оставшись на чужом компьютере, закрытый ключ потенциально может оказаться в руках злоумышленников. Кроме того, используя общедоступные компьютеры, нельзя забывать о возможности функционирования на них шпионского программного обеспечения, которое злоумышленники могут использовать в своих целях.
И ещё. Использование встроенных в браузере средств возможно только для корпоративных систем. Ведь для взаимодействия с системами государственных органов требуется использование криптографических инструментов, удовлетворяющих российским ГОСТам. А их в стандартных поставках браузеров и операционных систем нет. Поэтому приходится приобретать, устанавливать и настраивать специальные программные и/или аппаратные средства, нести дополнительные затраты на их приобретение и обслуживание.
eToken ГОСТ для аутентификации на порталах и облачных сервисов
Альтернативным решением для строгой двухфакторной аутентификации пользователей является использование токенов – защищенных устройств для хранения закрытых ключей шифрования и выполнения различных криптографических функций. В качестве примера можно взять продукт eToken ГОСТ, представленный на рынке компанией "Аладдин Р.Д.". Разработчики представляют инструменты для организации строгой двухфакторной аутентификации пользователей на веб-порталах и облачных сервисах.
Первой частью этого решения является устройство eToken ГОСТ, которое представляет собой аппаратный USB-токен или пластиковую смарт-карту. В его основе лежит защищенный высокоскоростной однокристальный микроконтроллер Atmel AT90SC25672RCT, специально созданный для продуктов подобного рода. Из программного обеспечения в устройстве присутствует платформа Java Card и апплет "Криптотокен", реализующий российские криптографические алгоритмы и протоколы. Главным отличием eToken ГОСТ является высокая степень защищенности, которая позволяет ему успешно противостоять всем известным на сегодняшний день атакам. Закрытые ключи, хранящиеся в его памяти, являются неизвлекаемыми. То есть, скопировать их для несанкционированного использования, при современном развитии технологий, невозможно. Применение же самого токена невозможно без знания PIN-кода.
Отдельно стоит отметить возможности апплета "Криптотокен". Реализованные в нем алгоритмы полностью удовлетворяют действующим российским криптографическим ГОСТам: ГОСТ Р 34.10-2001, ГОСТ Р 34.11-94, ГОСТ 28147-89. Более того, рассматриваемый продукт имеет сертификат соответствия ФСБ России и, в соответствии с действующим законодательством, может использоваться в качестве персонального средства электронной подписи. Это значит, что владелец eToken ГОСТ может использовать его не только для строгой двухфакторной аутентификации на веб-порталах и в облачных сервисах, но и для работы в них, связанной с созданием юридически значимых документов.
Следует добавить про CCID-совместимость и раскрыть тему про отсутствие необходимости в установке дополнительных драйверов производителей, ведь это окрывает двери на широкие поляны.
Второй частью рассматриваемого решения является программное обеспечение JC-WebClient. Оно представляет собой браузерный плагин, обеспечивающий взаимодействие между браузером и USB-ключом или смарт-картой. Ключевыми особенностями JC-WebClient является кросс-платформенность и мультибраузерность. Он может работать в любых операционных системах со всеми наиболее распространенными браузерам (Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari и Opera), что позволяет ему охватить практически всю интернет-аудиторию. Другим важным свойством данного плагина является легкость установки. При первом посещении любого портала с реализованной на нем строгой аутентификацией на базе eToken ГОСТ, пользователю предлагается инсталлировать JC-WebClient. После утвердительного ответа процесс загрузки и установки будет выполнен автоматически. При этом права локального администратора не нужны.
Общая функциональная схема решения выглядит следующим образом (рисунок 1). Для пользователя веб-портала или облачного сервиса генерируется цифровой сертификат, закрытый ключ которого размещается в защищенной памяти eToken ГОСТ. Для прохождения процедуры аутентификации человек должен подключить свой токен к компьютеру, перейти на сайт портала и ввести PIN-код. После этого JC-WebClient связывается с серверным компонентом, внедренным на сайте, и обеспечивает проверку личности пользователя.
Рисунок 1: Общая схема работы eToken ГОСТ
Описанное решение имеет несколько преимуществ, которые делают его весьма привлекательным. Во-первых, это высокая степень безопасности. Невозможность извлечения закрытого ключа из защищенной памяти токена и реализация двухфакторной аутентификации (когда для аутентифкации проверяется наличие ключа и знание PIN-кода) делают его надежным средством, которое может использоваться в самых разных системах. При этом решение оказывается защищено от современных видов атак, в том числе и от несанкционированного доступа к компьютеру легитимного пользователя.
Во-вторых, в eToken ГОСТ реализованы российские криптографические средства, и он обладает сертификатом соответствия ФСБ. Это существенно расширяет сферу его применения и позволяет использовать на порталах, имеющих непосредственно отношение к государственным структурам, например, на различных электронных торговых площадках (естественно, для этого необходима поддержка со стороны самого портала).
В-третьих, описанное решение обеспечивает высокую мобильность пользователя. Использовать свой eToken ГОСТ он может на любом компьютере, включая общедоступные. Ведь для этого не нужно устанавливать никакое специальное программное обеспечение, ну а плагин JC-WebClient инсталлируется максимально просто, не требуя прав администратора. При этом можно не беспокоиться о потенциальных опасностях незнакомого компьютера. Ни программы-шпионы, ни другие средства не смогут получить доступ к закрытому ключу цифрового сертификата.
Отдельного упоминания заслуживает защита от атак, связанных с подменой подписываемого документа. Откровенно говоря, это относится не к аутентификации пользователей на порталах и в облачных сервисах, а к цифровой подписи. Тем не менее, не упомянуть эту весьма интересную функцию мы не могли.
Суть проблемы заключается в том, что обычное использование токена от данного вида атак не защищает. Ведь аутентификацию проходит легитимный пользователь, просто подписывает он не тот документ, который нужно. Для защиты от этого вида атак можно использовать специальное устройство SafeTouch. Оно представляет собой предназначенный для использования в интернет-банкинге считыватель для смарт-карт, который снабжен жидкокристаллическим экраном и двумя кнопками управления. Работает оно следующим образом. При создании документа на встроенном жидкокристаллическом экране отображаются основные его характеристики: сумма, тип документа, банковский идентификационный код (БИК банка), номер счета и название получателя. Таким образом, оператор наглядно видит, что ему предлагается подписать. И с помощью кнопок управления он может либо согласиться с операцией, либо отказаться от ее выполнения. SafeTouch может работать совместно со смарт-картами eToken ГОСТ.
Недостатком использования eToken ГОСТ для организации строгой двухфакторной аутентификации в Интернете являются дополнительные затраты. Причем это касается больше не владельцев веб-порталов и облачных сервисов. Для них как раз затраты минимальны – необходимо лишь приобрести пакет разработчика JC-WebClient SDK и доработать программную часть системы (для облегчения этого есть документация и примеры кода для среды ASP.NET и языка PHP). Пользователям же придется приобрести токен или смарт-карту eToken ГОСТ.
Впрочем, недостаток этот весьма условный. При использовании критически важных веб-сервисов (онлайн-банкинг, системы электронного документооборота и пр.) потери из-за несанкционированного доступа могут быть несоизмеримо выше, чем затраты на приобретение надежных средств аутентификации. Поэтому, применение eToken ГОСТ в таких случаях является более чем оправданным.
Выводы
Проблема строгой аутентификации пользователей веб-порталов и облачных сервисов на сегодняшний день является весьма актуальной. В будущем ее острота будет только расти. Это объясняется переносом в Интернет и все большим и большим распространением критически важных сервисов, предназначенных для управления персональными или корпоративными финансовыми потоками, участия в юридически значимом документообороте и пр.
Решить ее можно путем создания системы двухфакторной аутентификации, когда пользователь для подтверждения своей личности должен предъявить два доказательства, например, наличие личного цифрового сертификата и пароль для доступа к нему. Реализовать ее можно по-разному. Наиболее распространены варианты, когда закрытый ключ цифрового сертификата хранится на локальном жестком диске компьютера (в специальном хранилище браузера) или на обычной "флешке". Однако, они уязвимы для многих атак, а, потому, не отвечают современным представлениям об информационной безопасности.
Выходом из этой ситуации может служить применение токенов и смарт-карт. Обладая защищенной памятью для хранения закрытых ключей, они устойчивы к взлому, и, при сегодняшнем уровне развития технологий, позволяют гарантировать безопасность даже при краже или утере. Естественно, для того, чтобы организовать двухфакторную авторизацию на веб-портале или в облачном сервисе, подойдет не любой токен. Для этого необходимо, чтобы разработчики предусмотрели такую возможность и обеспечили программную поддержку решения как со стороны сервера, так и со стороны клиента.
Наглядным примером такого решения может служить eToken ГОСТ. Данный ключ, наряду с SDK и другими инструментами, обладает всем необходимым для реализации системы двухфакторной аутентификации в Интернете. При этом он обладает целым рядом дополнительных преимуществ. В частности, в нем реализованы российские криптографические стандарты, он обладает сертификатом соответствия ФСБ России (а, значит, может использоваться на государственных порталах) и мобильностью, которая позволяет использовать аутентификацию на любом, даже общедоступном компьютере.
Обратной стороной использования eToken ГОСТ является повышенная стоимость системы, которую владельцы веб-порталов и облачных сервисов обычно перекладывают на пользователей. Последним приходится приобретать токены или смарт-карты для работы. Впрочем, нужно понимать, что веб-порталы и облачные сервисы сами по себе позволяют экономить организациям немалые средства. И потратить часть (причем очень небольшую часть) из этих денег на обеспечение высокой степени безопасности гораздо лучше, чем позволить злоумышленникам получить доступ к банковским счетам или подписать от имени компании нежелательные документы.