17.07.2006

USB-токен: правила выбора

CNews, №7/2006, Юрий Сергеев

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

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

К проблемам парольной аутентификации можно отнести еще и легкость подбора по словарю (если паролем служит слово или фраза из какого-нибудь языка, даже при условии замены букв на спецсимволы, например, Р@ssw0rd). Также пароль может быть перехвачен или подсмотрен при его вводе. Проблемы аутентификации пользователей в информационной системе выявлены очень давно, и уже были предложены различные решения. Современная тенденция — использование двухфакторной аутентификации на основе USB-токенов. В России такие устройства занимают доминирующее положение по отношению к смарт-картам и автономным токенам в результате более позднего формирования рынка аппаратных устройств аутентификации и мощной маркетинговой политики компаний-производителей. Основными игроками на российском рынке USB-ключей (токенов) являются компании Aladdin, Rainbow Technologies, "Актив" (совместно с "Анкад"), RSA Security, а также Feitian Technologies.

Цена безопасности

USB-токены предназначены для работы в приложениях, к которым предъявляются повышенные требования с точки зрения защиты данных. Их можно назвать преемниками контактных смарт-карт, они практически повторяют их устройство, но не требуют специальных считывателей, что упрощает их внедрение и уменьшает стоимость. Таким образом, экономическое преимущество при использовании USB-токенов по сравнению со смарт-картами достигается тогда, когда за компьютером работает один пользователь. Если же необходимо, чтобы на одной машине работало несколько человек, то выгоднее приобрести один считыватель и несколько смарт-карт, так как стоимость самой карточки ниже цены токена. Отметим, что USB-токены, не основанные на архитектуре "смарт-карта + кард-ридер", например, ruToken, "Шипка", выполнены на серийном микроконтроллере и программно эмулируют функциональность смарт-карт. Это сильно снижает их безопасность. В частности, они используют внешний чип памяти со всеми вытекающими последствиями (у смарт-карточных токенов память находится внутри чипа смарт-карты, и атаковать ее очень сложно).

Продемонстрируем это на примере продукции Aladdin. Один электронный USB-токен eToken PRO/32K стоит $49. Смарт-карта eToken PRO/SC обойдется в $23, считыватель смарт-карт для eToken ASEDrive Ше USB V2 — в $40.

Таблица 1 Средняя стоимость внедрения систем контроля доступа



USB-токен, $ тыс. Смарт-карта+считыватель, $ тыс.

500 пользователей, 500 компьютеров 24,5 40

500 пользователей, 250 компьютеров 24,5 21,5



Тонкости выбора

USB-токен — это симбиоз считывателя и смарт-карты, только в нем карта впаяна, и ее нельзя поменять. Процесс инсталляции аналогичен установке считывателя, а его подключение/извлечение аналогично подключению/извлечению карты из считывателя. Чтобы начать использовать USB-токен в приложениях, его необходимо отформатировать специальной утилитой. Не все приложения, которые работают с USB-токенами, будут поддерживать именно конкретную модель, это необходимо проверить. Зачастую выбор токена определяется не его качественными характеристиками, а возможностью работы с определенными приложениями или операционными системами. При покупке не стоит руководствоваться размерами памяти токена: маленький объем памяти смарт-карты здесь является преимуществом, поскольку это не позволит сотрудникам записывать другую конфиденциальную информацию с рабочего компьютера. При покупке комплекта программа + USB-токен надо убедиться, что вас обеспечат драйверами для USB-токена, и выяснить, каким образом будет произведено форматирование токена: самой программой или отдельной утилитой.

Состав USB-ключа:

  • процессор (обычно RISC) — управление и обработка данных;
  • процессор для решения криптографических задач на аппаратном уровне — реализация алгоритмов ГОСТ 28147-89, DES, 3DES, RSA, DSA, MD5, SHA-1 и др.;
  • USB-контроллер — обеспечение интерфейса с USB-nopтом компьютера;
  • оперативная память RAM —хранение изменяемых данных;
  • перепрограммируемая память EEPR0M — хранение ключей шифрования, паролей, сертификатов и т.д.;
  • постоянная память ROM — хранение команд и констант.



Файловая система токена разделяется между несколькими приложениями и службами. Пользователю не нужно знать множество паролей — их запоминает токен. Следует помнить лишь короткий PIN-код, удостоверяющий пользователя как владельца всех паролей, хранящихся в памяти ключа. После нескольких неудачных попыток ввода PIN-кода процессор "запирает" токен до вмешательства администратора безопасности, поскольку предполагается, что ключ был украден или потерян.

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

Таблица 2 Основные характеристики наиболее популярных на российском рынке продуктов



Изделие Емкость памяти, Кб Разрядность серийного номера Поддерживаемые ОС Алгоритмы шифрования/хеширования

Rainbow Technologies, iKey 2032 32 64 Windows 95, 98, NT, сертифицирован к 2000, ХР, 2003, Windows 95, 98, NT, сертифицирован к 2000, ХР, 2003, RedHat Linux, Mandrake, SuSe (сертифицирован ФСТЭК России) MD5, RSA, 1024/2048, DSA, DES, 3DES, RC2, RC4, SHA-1

Rainbow Technologies, iKey 3000 32 64 Windows 95, 98, ME, NT, 20003, сертифицирован к 2000, ХР, RedHat Linux, Mandrake, SuSe MD5, RSA 1024/2048, DSA, DES, 3DES, RC2, RC4, SHA-1

Aladdin Knowledge Systems, eToken PRO 16/32 32 Windows 95, 98, ME, NT, 20003, Linux, DOS (сертифицирован ФСТЭК России) RSA/1024, DSA, DES (ECB, CBC), 3DES (CBC), SHA-1, MAC, iMAC, MAC3, iMAC3

"Актив" совместно с "Анкад", ruToken 8-128 32 Windows 98/ME/2000/XP/2003 ГОСТ 28147-89 аппаратно, другие - программно

Feitian Technologies, ePass2000 16/32 64 Windows 98/ME/2000/XP/2003, Linux and MACOS 8/9, OS X RSA, DES, 3DES



Перечисленные в таблице 2 модели подходят для построения системы аутентификации на основе открытых ключей (PKI) с использованием сертификатов. Рассмотрим механизм такой аутентификации. Технология PKI построена на использовании двух математически связанных ключей — открытого и секретного (закрытого). С помощью открытого ключа сообщение шифруется, а с помощью секретного расшифровывается, при этом естественно, что, зная открытый ключ, нельзя получить закрытый. Такие криптографические преобразования реализовываются на основе RSA или DSA. Криптостойкость зашифрованных сообщений обеспечивается неразрешимостью за полиномиальное время двух математических задач: факторизации больших чисел на простые множители (RSA) и дискретного логарифмирования в простом конечном поле (DSA). Важнейшим плюсом, является то, что аутентификационная информация пользователя совсем не передается по сети, а лишь участвует в вычислениях, как на клиентской, так и на серверной стороне, что соответствует принципам строгой аутентификации. По такому принципу строится протокол аутентификации "запрос-ответ" (Handshake Authentication Protocol).

Заметим, что поддержка работы RSA и DSA, в том числе и аппаратная генерация их ключей, с размером ключа 2048 бит является хорошим гарантом безопасности, который в принципе не может быть обеспечен протоколами симметричного шифрования, — например, семейством алгоритмов DES. Обычно данные протоколы используются для шифрования трафика с использованием ключа, полученного после аутентификации принципала. Интересной особенностью продуктов ruToken является аппаратная реализация российского стандарта симметричного шифрования ГОСТ  28147-89, к числу достоинств которого можно отнести бесперспективность силовой атаки, эффективность реализации и высокое быстродействие на современных компьютерах.

Компании-производители указывают огромное количество реализованных алгоритмов шифрования/хеширования в своих описаниях к продуктам, однако большинство из них — алгоритмы хеширования. Они представляют собой односторонние функции и используются для преобразования, например, PIN-кода или другой чувствительной информации для хранения в файловой системе токена, так как из хеша сложно восстановить PIN-код в понятном человеку виде. Таким образом, наличие большого числа алгоритмов хеширования не определяет "качество" токена. Хотя в некоторых случаях хеш-преобразования используются другими алгоритмами в качестве вспомогательных, поэтому стоит сразу определиться, поддержка каких алгоритмов вам нужна в работе информационной системы.

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

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

Базовые возможности токенов:

  • авторизация пользователей в Microsoft-сетях: вход в домен по предъявлению токена, подключение к терминальному серверу по предъявлению токена, блокирование сессии пользователя после отсоединения токена;
  • безопасное использование электронной почты: ЭЦП для почтовых сообщений и их шифрование;
  • защищенный удаленный доступ к корпоративным ресурсам: безопасное подключение к сетям VPN, безопасная связь с защищенными веб-ресурсами;
  • использование токена в качестве хранилища различных сертификатов и паролей.