Статья

Асимметричный ответ: технологии U2F сделают интернет безопаснее во всем мире

Безопасность Стратегия безопасности
мобильная версия

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

Проблема массовой кражи аккаунтов в сети подтолкнула организацию FIDO Alliance к разработке протокола двухфакторной аутентификации U2F, предназначенного для усиления парольной аутентификации за счет использования физических устройств (токенов) в качестве второго фактора. На рынке уже имеется U2F-токен российского разработчика, основанный на технологии открытых ключей. Сейчас это одно из самых надежных и проверенных направлений криптографии – асимметричная криптография.

Как заработать целых $100 за 15 лет

В августе 1977 г. в разделе «Математические игры» популярного журнала «Scientific American» в качестве головоломки была размещена криптографическая задача. Всем желающим было предложено расшифровать коротенький текст, состоящий из 128 десятичных чисел и нескольких служебных данных. Первому, кто это сделает, полагалась награда в $100.

Решение этой задачи вылилось в долгие 15 лет безуспешных мучений лучших умов США и не только. Это было похоже на массовый психоз. Дело дошло до того, что в сентябре 1993 г. было объявлено о старте проекта распределенных вычислений с координацией по электронной почте для решения этой «головоломки».

После этого еще на протяжении полугода более 600 добровольцев из 20 стран бились над этими числами. В итоге загаданная фраза из шести слов была-таки расшифрована. Разработчиками криптографического алгоритма оказалась группа ученых из Массачусетского технологического института (MIT), а его название RSA, образованное по первым буквам их фамилий, стало всемирно известным брендом, на практике доказавшим свою надежность.

Симметричные алгоритмы устарели еще во времена Древнего Египта

Криптография применялась уже во времена Древнего Египта. Но тогда использовалась та ее разновидность, которую сейчас принято называть «симметричной». У получателя и отправителя были одинаковые (симметричные) ключи. С их помощью и осуществлялось шифрование посланий. Технология очень надежная, но есть один существенный недостаток.

Этот самый ключ каким-то образом необходимо было доставить обоим участникам переписки. Ситуацию спасало то, что и расстояния, и частота отправки писем, и количество участников были относительно невелики. Сначала курьеры доставляли ключи лицам, которых они знали в лицо, а потом уже начиналась переписка. И так продолжалось практически до появления интернета.

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

Средствами симметричной криптографии проблему, понятно, решить невозможно: как распространять по открытым каналам секретные ключи? Как бороться с мошенниками, которые имитируют деятельность легитимных пользователей? Как вообще отличить легитимного пользователя от хакера? И тут на помощь пришла та самая технология открытых ключей, в корне отличавшаяся от всего применявшегося ранее.

U2F-токен и веб-браузер против киберкриминала

Асимметричная криптография помимо своего прямого назначения – шифрования данных – отлично справляется и с аутентификацией автора сообщения. «Протокол U2F работает следующим образом: когда пользователь сайта регистрирует U2F-токен для своей учетной записи, на этом токене создается ключевая пара, которая используется для взаимодействия только с этим сайтом. При этом открытый ключ из этой пары передается на сайт для привязки к учетной записи пользователя. Вместе с открытым ключом на сайт передается созданный дескриптор ключа, являющийся идентификатором ключевой пары и связанный с URL данного сайта. В процессе аутентификации пользователя, помимо проверки имени пользователя и пароля, целевой сайт убеждается в наличии у пользователя U2F-токена путем проверки электронной подписи, созданной этим U2F-токеном», – поясняет Анатолий Лебедев, доцент кафедры информационной безопасности МГТУ им. Н.Э. Баумана.

Данный механизм позволяет исключить подключение к веб-сервисам с ключевой парой, которая была сгенерирована для другого веб-сервиса. Первую часть работы выполняет браузер – проверяет, что текущий URL соответствует URL целевого веб-сервиса. Сам же U2F-токен проверяет, что полученный дескриптор ключа соответствует текущему URL.

«Если хотя бы одна из этих проверок завершилась неудачно, пользователь не будет аутентифицирован. Таким образом, устраняется возможность атаки, во время которой злоумышленник, используя подставной (фишинговый) сайт, пытается аутентифицировать пользователя (передавая ему дескриптор ключа от истинного сайта) с целью получить доступ к его персональным данным», – продолжает Анатолий Лебедев.

Таким образом, закрытый ключ, созданный U2F-токеном для конкретной онлайн-службы или сайта, может быть использован только этой онлайн-службой или сайтом и только для одной учетной записи.

А как же «человек посередине»?

Протокол U2F в большинстве случаев позволяет определить, находится ли при аутентификации между пользователем и защищенным ресурсом «человек посередине» или попросту – хакер. Рассмотрим для примера следующую ситуацию.

Пользователь должным образом зарегистрировал свой U2F-токен на защищенном ресурсе, и после этого «человек посередине» в процессе аутентификации пытается перенаправить пользователя на «ложный» ресурс. В этом случае U2F-токен пользователя даже не ответит на запрос, т.к. закрытый ключ, соответствующий URL «ложного» ресурса, не будет найден.

Аналогичным образом можно выявить ситуацию, когда «человек посередине» вмешался в процесс регистрации ранее (и получил дескриптор ключа, созданный U2F-токеном и соответствующий «ложному» ресурсу), а сейчас пытается вмешаться в процесс аутентификации, перенаправляя пользователя на «ложный» ресурс.

Открытая технология не помеха для создания закрытых алгоритмов

Протокол U2F является открытым. Однако для достижения эффективной безопасности U2F-токен должен быть создан с соблюдением определенных стандартов.

«Возможен вариант реализации U2F-токена, при котором дескриптор ключа содержит закрытый ключ, зашифрованный каким-либо специфическим способом, – рассказывает Антон Крячков, руководитель направления управления знаниями компании «Аладдин Р.Д.». – Данный подход позволяет снизить стоимость токена, так как закрытые ключи не хранятся в памяти токена, а передаются в составе дескриптора ключа на сайт. Крайне желательно, чтобы разработчик таких токенов сертифицировал их в FIDO Alliance. Кроме того, используемый в токене защищенный элемент должен обладать усиленными свойствами безопасности».

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

«Доступная для всех безопасная аутентификация в самых популярных и востребованных сервисах сети стала реальностью, – считает Антон Крячков. – Компания «Аладдин Р.Д.» стала первым и пока единственным российским разработчиком, спроектировавшим и запустившим U2F-токены в серийное производство. Они производятся в России, и любой отечественный пользователь веб-сервисов Google, GitHub, Dropbox– будь то частное лицо или организация с десятками тысяч сотрудников и распределенной филиальной сетью – может приобрести необходимое количество ключей».

Таким образом, FIDO Alliance проделал действительно грандиозную работу по интеграции современных средств криптографии в ежедневную практику миллионов пользователей в сети интернет. Добавление второго фактора аутентификации (на примере U2F-токена) гарантированно исключает целый ряд мошенническим схем с использованием фишинговых сайтов, атак типа «человек посередине» и т.п.

Кроме того, стандарт предусматривает, что не только браузер может выступать в качестве U2F-клиента. Вместе с тем допускается, чтобы им могло быть и некое приложение на мобильной операционной системе (такой, как Android или iOS), которое могло бы «общаться» с U2F-токеном через системный программный интерфейс (системный API).

Татьяна Ведешкина