Токен (англ. token) — это устройство, хранящее некий уникальный параметр, на основе которого выдается корректный ответ на запрос системы об аутентификации.
Различают следующие варианты использования токена.
□ На запрос системы токен предъявляет ей хранимое секретное значение. Это не самый надежный случай, так как, перехватив это значение один раз, злоумышленник может имитировать ответ токена.
□ Токен и система имеют общую, синхронизированную систему генерации одноразовых паролей. На запрос системы токен выдает пароль, действительный для данного промежутка времени. Синхронизированная система генерирует в это время свой вариант пароля, который и сравнивает с полученным.
□ Токен зарегистрирован в системе, и система знает его секретное значение (либо открытый ключ для варианта асимметричной криптографии — более подробно об этом рассказывается в главе 18). Получив в запросе некую случайную величину, сгенерированную системой для данного сеанса аутентификации, токен преобразует ее, используя свой секретный параметр. Таким образом, с одной стороны, информация, предоставляемая для аутентификации (как запрос, так и ответ), каждый раз различна и ее перехват ничего не дает злоумышленнику. С другой стороны, система, зная случайное значение и секретный параметр токена, генерирует свой вариант ожидаемого ответа токена и на основе этого сравнения принимает решение об авторизации. По сравнению с предыдущим методом данный алгоритм стоек к рассинхронизации системы и токена. При случайных или умышленных попытках некорректной авторизации либо даже простейшем сбое питания в методе с синхронной системой счетчики одноразовых паролей могут рассинхронизироваться. Это потребует вмешательства в работу системы специалистов с дополнительными полномочиями.
Варианты применения токена совместно с паролем или ПИНом пользователя следующие:
□ ПИН служит паролем доступа к самому токену: без введения ПИН токен не действует;
□ токен генерирует аутентификационный ответ на основе своего секретного параметра и ПИН пользователя, т. е. корректность и секретного параметра и ПИНа анализируются системой.
□ ПИН пользователя совместно с параметром токена и случайной величиной системы, или с синхронизированным параметром служат основой для выработки одноразового пароля, который затем сообщается пользователю. Пользователь далее работает с этим паролем, как с обычным, но только в ограниченный промежуток времени.
Надежность подобных систем зависит от реализации работы токена и системы. Например, если между системой и устройством считывания данных,
подготовленных токеном, может размещаться средство перехвата информации, и при этом срок жизни пароля из ответа токена достаточно долгий, то, естественно, он может быть использован злоумышленником.