Аутентификация на основе одноразовых паролей
Для организации удаленного доступа пользователей к защищенным информационным ресурсам были разработаны достаточно надежные схемы с применением одноразовых паролей (OTP – One Time Password). Суть концепции одноразовых паролей состоит в использовании различных паролей при каждом новом запросе на предоставление доступа. Одноразовый пароль действителен только для одного входа в систему. Динамический механизм задания пароля является одним из лучших способов защитить процесс аутентификации от внешних угроз. Известно четыре метода аутентификации с применением технологии ОТР:
использование механизма временных меток на основе системы единого времени;
применение общего пароля для легального пользователя и проверяющего списка случайных паролей и надежного механизма их синхронизации;
использование общего пароля для пользователя и проверяющего генератора псевдослучайных чисел с одним и тем же начальным значением;
применение фиксированного числа случайных (псевдослучайных) последовательностей, скопированных на носители в виде скретч-карт.
Наиболее распространены аппаратные реализации одноразовых паролей виде компактных устройств, которые называют ОТР-токенами. Они имеют небольшой размер и выпускаются в виде различных форм:
карманного калькулятора;
брелока;
смарт-карты;
устройства, комбинированного с USB-ключом.
В качестве примера решений OTP можно привести линейку RSA SecurID, ActivCard Token, комбинированный USB-ключ Aladdin eToken NG-OTP. В частности, одной из распространенных аппаратных реализаций одноразовых паролей является технология SecurID, предлагаемая компанией RSA Security. Она основана на специальных калькуляторах — токенах, которые каждую минуту генерируют новый код. В токен встроена батарейка, заряда которой хватает на 3 – 5 лет, после чего токен нужно менять. Аутентификация с помощью SecurID интегрирована в сотни приложений, а недавно при поддержке Microsoft она была встроена в операционную систему Windows. Впрочем, имеются реализации "в железе" и другие алгоритмы генерации одноразовых паролей. Например, можно генерировать пароль по событию — нажатию клавиши на устройстве. Такое решение предлагает компания Secure Computing в виде продукта Safeword. Аппаратную реализацию технологии "запрос-ответ" продает корпорация CryptoCard. Имеются даже универсальные аппаратные реализации, которые позволяют перепрограммировать токены. В частности, решения, выпускаемые компанией VASCO, допускают реализацию нескольких десятков алгоритмов аутентификации с помощью одноразовых паролей. В целом технология ОТР основана на использовании двухфакторных схем аутентификации и может быть классифицирована как усиленная технология аутентификации.
Аутентификация по предъявлению цифрового сертификата
Механизмы аутентификации с применением сертификатов обычно используют протокол с запросом и ответом. Согласно этому протоколу, сервер аутентификации направляет пользователю последовательность символов, называемую запросом, а программное обеспечение клиентского компьютера для генерирования ответа вырабатывает с помощью закрытого ключа пользователя цифровую подпись под запросом от сервера аутентификации. Общий процесс подтверждения подлинности пользователя состоит из следующих стадий:
получение открытого ключа СА (одноразовый процесс),
получение по некоторому незащищенному каналу от этого пользователя его сертификата открытого ключа.
Аутентификация с открытым ключом используется как защищенный механизм аутентификации в таких протоколах как SSL, а также может использоваться как один из методов аутентификации в рамках рассмотренных протоколов Kerberos и RADIUS.
Использование смарт-карт и USB-ключей
Несмотря на то, что криптография с открытым ключом согласно спецификации Х.509 может обеспечивать строгую аутентификацию пользователя, сам по себе незащищенный закрытый ключ подобен паспорту без фотографии. Закрытый ключ, хранящийся на жёстком диске компьютера владельца, уязвим по отношению к прямым и сетевым атакам. Достаточно подготовленный злоумышленник может похитить персональный ключ пользователя и с помощью этого ключа представляться этим пользователем. Защита ключа с помощью пароля помогает, но недостаточно эффективно -пароли уязвимы по отношению ко многим атакам. Несомненно, требуется более безопасное хранилище.
Смарт-карты
Смарт-карты - пластиковые карты стандартного размера банковской карты, имеющие встроенную микросхему. Они находят всё более широкое применение в различных областях, от систем накопительных скидок до кредитных и дебетовых карт, студенческих билетов и телефонов стандарта GSM.
Для использования смарт-карт в компьютерных системах необходимо устройство чтения смарт-карт. Несмотря на название - устройство чтения (или считыватель), - большинство подобных оконечных устройств, или устройств сопряжения (IFD), способны как считывать, так и записывать информацию, если позволяют возможности смарт-карты и права доступа. Устройства чтения смарт-карт могут подключаться к компьютеру посредством последовательного порта, слота PCMCIA или USB. Устройство чтения смарт-карт также может быть встроено в клавиатуру. Как правило, для доступа к защищенной информации, хранящейся в памяти смарт-карты, требуется пароль, называемый PIN-кодом.
USB-ключи
USB-ключи достаточно привлекательны, поскольку USB стал стандартным портом для подключения периферийных устройств и организации не нужно приобретать для пользователей какие бы то ни было считыватели.
Аутентификацию на основе смарт-карт и USB-ключей сложнее всего обойти, так как используется уникальный физический объект, которым должен обладать человек, чтобы войти в систему. В отличие от паролей, владелец быстро узнаёт о краже и может сразу принять необходимые меры для предотвращения её негативных последствий. Кроме того, реализуется двухфакторная аутентификация. Микропроцессорные смарт-карты и USB-ключи могут повысить надёжность служб PKI: смарт-карта может использоваться для безопасного хранения закрытых ключей пользователя, а также для безопасного выполнения криптографических преобразований. Безусловно, данные устройства аутентификации не обеспечивают абсолютную безопасность, но надёжность их защиты намного превосходит возможности обычного настольного компьютера.
Для хранения и использования закрытого ключа разработчики используют различные подходы. Наиболее простой из них - использование устройства аутентификации в качестве защищенного носителя аутентификационной информации: при необходимости карта экспортирует закрытый ключ, и криптографические операции осуществляются на рабочей станции. Этот подход является не самым совершенным с точки зрения безопасности, зато относительно легко реализуемым и предъявляющим невысокие требования к устройству аутентификации. Два других подхода более безопасны, поскольку предполагают выполнение устройством аутентификации криптографические операций. При первом пользователь генерирует ключи на рабочей станции и сохраняет их в памяти устройства. При втором пользователь генерирует ключи при помощи устройства. В обоих случаях, после того как закрытый ключ сохранён, его нельзя извлечь из устройства и получить любым другим способом.