Я уверен, что большинство читателей знает, что аутентификация делится на:
- Парольную;
- Двухфакторную («что я знаю — что я имею», 2FA);
- С помощью одноразовых паролей (One Time password, OTP).
Несмотря на все недостатки, присущие парольной аутентификации, ее безусловным преимуществом является простота. Пароль, вероятно, был самым первым способом аутентификации.
Пользователь сам себе выдумывает пароль. Однако стоит помнить, что пароли должны быть длинными, содержать минимум три набора символов из четырех, не являться словарными словами, не содержать имя пользователя и т. д. К тому же их нужно еще и регулярно менять.
Недостатки же такого способа также очевидны:
- Пользователи быстро забывают пароли;
- Если соблюдать требования к длине, времени жизни и сложности пароля, то до 50% работы службы поддержки будет уходить на смену паролей. К тому же сегодня у пользователя куча устройств, а пароли нужно помнить и менять на всех устройствах.
Что делать? Применять двухфакторную аутентификацию? А где гарантия что пользователь не забудет (не потеряет) токен? Или не сделает PIN-код для доступа к токену слишком простым? Ведь фактически 2FA это тот же пароль плюс токен безопасности. Придуманный способ передачи второй части пароля в виде SMS тоже не всегда выход. Да еще и при условии работы в незащищенной сети, например, в общедоступном Wi-Fi.
Интересный способ придумала Microsoft для доступа к своим сервисам. Там пароль как таковой просто не нужен. Достаточно просто запросить одноразовый пароль в виде SMS на свой телефон. Правда при этом нужно помнить, что телефон должен быть у вас и ваша аутентификация зависит прежде всего от того, можете ли вы обеспечить безопасность вашего телефона.
Мало того, можно не использовать SMS. Можно получить пароль, меняющийся по времени, непосредственно из установленного на смартфоне приложения. Для смартфонов на базе Windows Phone применяется приложение Microsoft, для смартфонов на базе Android и Apple — например, Google Authenticator. Суть не меняется. Вы вводите просто
Такое же приложение, Mobile OTP, может применяться не только на смартфонах, но и на любых мобильных телефонах, использующих Java. Данное приложение состоит из двух частей — серверного скрипта и клиентской части. Серверный скрипт может использоваться на любых серверах под управлением BSD-Unix или Linux. При этом ОТР меняется по времени. Лаг по времени может составлять 3 мин как вперед, так и назад. Само приложение — бесплатное. Существует с 2003 г.
На мой взгляд, такой подход более удобен, так как пользователю не нужно носить с собой токен.
Вместе с тем нужно отметить, что данный способ аутентификации применим для внутрикорпоративной аутентификации и не может применяться для аутентификации в открытых сервисах (социальных сетях, сервисах электронной почты), так как требует непосредственной инициализации на клиенте.
Какой способ будете применять вы — вам и решать. Могу лишь сказать, что на мой взгляд, время паролей истекло.
Автор статьи — Microsoft Most Valuable Professional, Microsoft Security Trusted Advisor.