Классический токены, такие как JaCarta PKI, eToken Pro и другие, привязаны к инфраструктуре PKI и сертификатам, которые заверены CA сервером. Они используются для доступа на серьезные ресурсы, требующие усиленной квалифицированной электронной подписи. Это когда пользователь физически идет в удостоверяющий центр, подтверждает свою личность с помощью паспорта, после чего ему выдается сертификат с закрытым ключом, которые записываются память токена. Или же, классические токены применяются в корпоративных системах, когда сертификаты пользователям выдаются внутренним центром сертификации предприятия для VPN аутентификации.
U2F в свою очередь, это упрощенная система которая не имеет привязки к PKI, а токен оперирует парами открытый/закрытый ключ в чистом виде без обвязки в виде сертификата. U2F адаптирован именно для работы со всевозможными легкими веб-сервисам и плотно интегрируется с браузером.
Например, вы можете перевести аутентификацию в gmail на использование токена U2F. U2F также поддерживают такие сервисы, как google drive, YouTube, GitHub, WordPress, Facebook и другие, а сам U2F токен может содержать до 500 ключевых пар – по ключевой паре для каждого ресурса. Если сервис не поддерживает протокол U2F, то интегрировать с ним токен можно посредством провайдеров двухфакторной аутентификации, например Duo Security.
Процедура привязки U2F токена к ресурсу очень проста и делается с помощью пары кликов. При первом обращении к ресурсу пользователь должен пройти регистрацию, введя логин и пароль. Затем токен генерирует ключевую пару и передает открытый ключ на сервер сервиса.
При подключении к веб-сервису, где U2F-токен пользователя уже зарегистрирован, после ввода логина и пароля, сервер формирует дополнительный запрос к токену, называемый challenge. Нажатием на кнопку токена, пользователь подтверждает обращение к ресурсу и токен выбирает нужную ключевую пару, закрытым ключом подписывает запрос и отправляет его серверу, который проверяет подпись и предоставляет или запрещает доступ. Если не понятно, то предлагаю вспомнить принцип работы ассиметричного шифрования – если что-то зашифровано закрытым ключом, оно может быть расшифровано только открытым ключом из той же самой ключевой пары. При регистрации, то есть привязки U2F токена к веб-ресурсу, открытый ключ сгенерированный на токене, был передан серверу. Закрытый ключ остался на токене. Теперь, при аутентификации, сервер посылает challenge, который на токене пользователя шифруется закрытым ключом и обратно отправляется серверу. Если сервер сможет расшифровать challenge ранее полученным открытым ключом, значит challenge был зашифрован верным U2F токеном, то есть тем токеном, который изначально проходил регистрацию и от которого изначально был получен открытый ключ.
Исходя из этого, можно сказать, что классический токен применяется для серьезных ресурсов и серьезных операций. То есть завладев токеном с усиленной квалифицированной электронной подписью, злоумышленник может через госуслуги переписать квартиру другому лицу. Токены U2F предназначаются для более простых операций, вида доступа к gmail или Facebook