Статьи

Реализуете ли вы пароль без пароля?

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

Несмотря на использование инструментов управления, таких как KeePass , сложно использовать разные пароли для каждого сайта — и я, конечно, не меняю их так часто, как следовало бы. Даже тогда я забываю, что я использовал на определенных сайтах. Для входа в систему часто нужно нажать «забытый пароль», нажать ссылку электронной почты, ввести новый пароль и, наконец, получить доступ.

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

Мы используем те же механизмы идентификатора и пароля, которые мы использовали на заре Интернета. Но реакция на пароли началась. Разработчики, такие как Джастин Бальтроп, предложили логин без пароля, и пришли реализации, например, passwordless.net для Node.js. Основной аргумент: пароли устарели, потому что у всех нас есть защищенные учетные записи электронной почты и мобильные SMS .

Для входа без пароля используется следующий процесс:

  1. Пользователь заходит на веб-сайт и вводит свой адрес электронной почты (или номер мобильного телефона).
  2. Токен (cookie) отправляется на устройство. Уникальный код аутентификации генерируется и сохраняется на сервере, а затем отправляется по ссылке к пользователю по электронной почте (или SMS).
  3. У пользователя есть ограниченное время, чтобы нажать на эту ссылку — возможно, десять минут. При нажатии проверяется существующий токен и код аутентификации, чтобы обеспечить доступ к тому же пользователю. Затем пользователь входит в систему, и сеанс запускается с использованием долгосрочного токена.
  4. Пользователю не нужно повторять процесс, пока он не выйдет из системы, не переключит браузер, не получит доступ к системе в течение определенного периода времени или не захочет использовать другое устройство.

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

  • Там нет необходимости для умного оборудования или биометрии — пользователю просто нужен адрес электронной почты или номер SMS. Это гораздо более вероятно, чем иметь учетную запись Google, Twitter или Facebook, которая может помешать тем, кто использует OAuth-провайдеры.
  • Вам никогда не нужно снова управлять паролями. Там нет ничего для пользователя, чтобы изобрести, повторно использовать, записать или сбросить. Вспомогательный персонал освобожден от ежедневной рутинной работы по управлению счетами.
  • Пользователю требуется действительный адрес электронной почты для входа в систему, поэтому следует избегать обычных махинаций регистрации и проверки электронной почты.
  • Пароль никогда не сохраняется и не отправляется. Это не может быть угадано или взломано. Кто-то может захватить вашу базу данных и перехватить HTTP-трафик или сообщения электронной почты — им все равно будет сложно войти в систему.
  • Там меньше кода для развертывания. Формы входа имеют одно поле, а управление безопасностью минимально.

Переход без пароля — не волшебное решение, подходящее для каждого приложения. Разработчики системы должны будут рассмотреть ряд вопросов …

Ожидания пользователя
Я еще не использовал систему без пароля в дикой природе. Хотя это не должно быть трудным опытом, мало кто будет ожидать этого. Это может привести к дополнительным обращениям в службу поддержки в первые дни развертывания.

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

Это не подходит для всех приложений
Вход в систему без пароля будет трудно реализовать на клиенте веб-почты! Кроме того, вы не хотите, чтобы ваш банк передавал пароль третьему лицу.

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

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

Без пароля не для всех. Библиотеки реализации недостаточны, и некоторые компании будут нервничать из-за раннего внедрения. Но мне нравится идея и исследование жизнеспособности системы, над которой я работаю. Я дам вам знать, как это получается.

Вы бы пошли без пароля?