Токен (авторизации)

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

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

В некотором смысле токен — это электронный ключ для доступа к чему-либо.

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

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

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

 Токен с синхронно динамическим паролем.
Устройство генерирует новый уникальный пароль с определённым интервалом времени. Токен и сервер должны быть синхронизированы, чтобы пароль был успешно принят.

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

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

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

Одноразовые пароли на основе математического алгоритма 
Другой тип одноразовых паролей использует сложный математический алгоритм, например, хеш-цепи, для создания серии одноразовых паролей из секретного ключа.
Ни один из паролей нельзя отгадать, даже тогда, когда предыдущие пароли известны.
Существует общедоступный, стандартизированный алгоритм OATH; другие алгоритмы покрыты американскими патентами. Каждый новый пароль должен быть уникальным, поэтому неавторизованный пользователь по ранее использованным паролям не сможет догадаться, каким может быть новый пароль.

Типы токенов 
Токены могут содержать чипы с различными функциями от очень простых, до очень сложных, в том числе и несколько методов аутентификации.
Простейшим токенам безопасности не нужны никакие подключения к компьютеру. Токены имеют физический дисплей; Пользователь просто вводит отображаемое число для входа. Другие токены подключаются к компьютерам, используя беспроводные технологии, такие как Bluetooth. Эти токены передают ключевую последовательность локальному клиенту или ближайшей точке доступа.
Кроме того, другой широко доступной формой токена является мобильное устройство, которое взаимодействует с использованием внеполосного канала (например, SMS или USSD).
Тем не менее, другие токены подключаются к компьютеру, и может потребоваться PIN-код. В зависимости от типа токена, операционная система компьютера или прочитает ключ от токена и выполнит криптографические операции на нём, или попросит, чтобы программируемое оборудование токена выполнило эти операции самостоятельно.
Таким приложением является аппаратный ключ (электронный ключ), необходимый для некоторых компьютерных программ, чтобы доказать право собственности на программное обеспечение. Ключ помещается в устройство ввода, и программное обеспечение получает доступ к рассматриваемому устройству ввода / вывода, чтобы разрешить использование данного программное обеспечение.
Коммерческие решения предоставляются различными поставщиками, каждый со своими собственными (и часто запатентованными) функциями безопасности. Проекты токенов, соответствующие определённым стандартам безопасности, удостоверены в Соединённых Штатах как совместимые с FIPS 140, федеральный стандарт безопасности США. Токены без какой-либо сертификации часто не отвечают стандартам безопасности принятым правительством США, они не прошли тщательное тестирование, и, вероятно, не могут обеспечить такой же уровень криптографической защиты, как токены, которые были разработаны и проверены сторонними агентствами.

Токены без подключения 

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

Модель RSA SecurID SID700 представляет собой небольшой брелок.

Токены с подключением 

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

PC Card широко используются в ноутбуках. Предпочтительными в качестве токена являются карты типа II, потому что они в 2 раза тоньше чем, карты типа III.

Аудио вход (audio jack port) может быть использован для установления связи между мобильными устройствами, такими как iPhone, iPad и Android. Наиболее известное устройство — это Square, карт ридер для iPhone и Android.

Технология передачи данных с помощью данного устройства скрыта патентом компании Apple, но преподаватели и студенты факультета электротехники и компьютерных наук Мичиганского университета разработали устройство «HiJack», которое позволяет обмениваться данными между периферическим устройством с низким энергопотреблением и i устройством. Небольшой мощности, которую получает HiJack с аудио порта, достаточно для питания микроконтроллера TI MSP430 и соединения HiJack со специально разработанным для iOS приложением.

Токены могут также использоваться в качестве фото удостоверения личности. Сотовые телефоны и PDAs могут служить токенами безопасности при правильном программировании.

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

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

Пример использования токена 
С помощью токена можно защитить учётную запись на компьютере, используя сложный пароль, не запоминая его. Для этого вы должны купить программное обеспечение(например: eToken Network Logon) и токен, подходящий к нему. С помощью программы токен получит ключ для входа в систему. При повторном запуске вам потребуется вставить токен (например в USB порт) и ввести PIN. После проделанных операций вы получаете доступ к системе.

Беспроводные токены 
В отличие от токенов с подключением, беспроводные токены формируют логическую связь с компьютером клиента и не требуют физического подключения. Отсутствие необходимости физического контакта делает их более удобными, чем токены с подключением и токены без подключения. В результате данный тип токенов является популярным выбором для систем входа без ключа и электронных платежей, таких как Mobil Speedpass, которые используют RFID, для передачи информации об аутентификации от токена брелока. Тем не менее существуют различные проблемы безопасности, после исследований в Университете имени Джонса Хопкинса, и Лаборатории RSA обнаружили, что RFID метки могут быть легко взломаны. Ещё одной проблемой является то, что беспроводные токены имеют относительно короткий срок службы 3-5 лет, в то время как USB токены могут работать до 10 лет.

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

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

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

В то же время использование плагина от определённого производителя затрудняет применение средств электронной подписи других вендоров. Для решения этой задачи разрабатываются универсальные плагины, например:
 плагин для работы с порталом государственных услуг, поддерживающий наиболее распространённые средства электронной подписи. Плагин предназначен для использования в инфраструктуре электронного правительства, поддерживает исключительно квалифицированные средства электронной подписи. По состоянию на начало 2016 г. не работает в последних версиях Mac OS X и в браузере Google Chrome.

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

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

Любая система, которая позволяет пользователям аутентифицироваться через ненадёжную сеть (например, Интернет) является уязвимой для атаки «человек посередине». MITM-атака (англ. Man in the middle) — термин в криптографии, обозначающий ситуацию, когда криптоаналитик (атакующий) способен читать и видоизменять по своей воле сообщения, которыми обмениваются корреспонденты, причём ни один из последних не может догадаться о его присутствии в канале.
Метод компрометации канала связи, при котором взломщик, подключившись к каналу между контрагентами, осуществляет активное вмешательство в протокол передачи, удаляя, искажая информацию или навязывая ложную.

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

TrustScreen 
Технология TrustScreen призвана повысить безопасность онлайн операций в дистанционном банковском обслуживании (ДБО) и других ответственных приложениях. Её задача состоит в защите от подмены злоумышленником подписываемого документа или его хеша в процессе подписи, а также от выполнения несанкционированных операций в случае успешного перехвата PIN-кода. Технология делает возможным визуальный контроль подписываемых данных, которые отображаются на экране устройства непосредственно перед подписью. Все значимые операции над отправленными на подпись данными производятся «на борту» устройства:
 визуализация документа на экране с целью контроля корректности,
 вычисление хеша документа,
 подпись хеша документа производится на неизвлекаемом ключе,
 ввод PIN-кода или команды подтверждения подписи, минуя клавиатуру компьютера.

См. также 
 JaCarta
 Rutoken
 eToken
 Токенизация

Примечания

Ссылки 

 
 US Personal Identity Verification (PIV) / NIST, FIPS-201-1
 OATH Initiative for open authentication

Контроль доступа