- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF116:DrDrown1
Материал из Linuxformat.
USB-аутентификация
- YubiKey Добавьте защищенную одно- или двухфакторную аутентификацию на свои сайты или сервисы.
Недавно я услышал о шведской компании Yubico, которая продает устройство под названием YubiKey. Это USB-брелок для аутентификации: он притворяется USB-клавиатурой, но имеет лишь одну кнопку, по нажатию на которую генерируется заранее заданный идентификатор, дополненный одноразовым паролем (OTP).
Зачем это нужно? Скажем, вы хотите по-настоящему защитить механизм аутентификации пользователей web-сайта. Вы отправляете пользователю форму с полем для ввода пароля. Поместив курсор в это поле, он нажимает кнопку на YubiKey. Устройство генерирует строку, передаваемую открытым текстом, объединяет ее со счетчиком сессий и временным штампом и шифрует полученный результат AES со 128-битным ключом, уникальным для каждого брелка. Результат перехватывается формой и отправляется web-сервису, который проверяет его (выполняет аутентификацию). Если проверка завершилась успешно, пользователю разрешается войти на сайт. В качестве простого примера посмотрите короткий видеофрагмент на сайте http://www.yubico.com (хотя без YubiKey вы далеко не уйдете!) Yubico предоставляет и web-сервис для проверки. Также можно воспользоваться OpenID-сервером с поддержкой Yubico, например, Clavid (http://www.clavid.com), или даже развернуть собственный на основе открытого ПО на Java или PHP.
Выберите язык
Не бойтесь, если все это кажется сложным: на сайте Yubico есть подробная информация об открытых проектах, реализующих клиентскую часть процесса аутентификации на языках Java, C, C#/.NET, Ruby, Perl, Python, как модуль PAM или как модуль аутентификации Apache. Простейший вариант аутентификации YubiKey – «однофакторная аутентификация»: вы доказываете, что физически владеете ключом. Ее нетрудно расширить до двухфакторной аутентификации – нечто известное вам (пароль) плюс нечто, у вас имеющееся (YubiKey). Этот подход устойчив к большинству атак, включая фишинг и «кражу личности» путем перехвата или с помощью социальной инженерии [тактика злонамеренного проникновения, при которой взломщик «убалтывает» пользователей или администратора (например, представляясь новым сотрудником) и добивается значимой информации о компании и/или её компьютерных системах, чтобы получить несанкционированный доступ к сети, – прим. пер.].
Одно из замечательных достоинств YubiKey в том, что для его работы не нужно никаких специальных драйверов или ПО, так как устройство эмулирует нажатия клавиш клавиатуры. Поэтому заставить его работать очень просто. Вы отправляете клиенту YubiKey, и он вставляет его в любой компьютер. YubiKey стоит $25 за одно устройство, и $10, если покупать от 5000 штук и больше.