Нам постоянно приходится запоминать множество паролей, и со временем это становится проблемой. Авторизация, очевидно, важна, но есть множество других путей надежной идентификации пользователей.
Пароли постепенно уходят в прошлое как неудобные и неизбежные. Однако всё кардинально меняется. Благодаря сочетанию датчиков, шифрования и других современных технологий аутентификация принимает новые и весьма занимательные формы.
Большинство сценариев взаимодействия с компьютерными системами были со временем обновлены, но никто по-прежнему не хочет возиться с проверкой пароля: это слишком серьезно или связано с большой ответственностью. Если не очистить поле ввода пароля после того, как кто-то ввел его неправильно, данные кредитной карты могут оказаться под угрозой.
Пересмотр общепринятых правил в отношении паролей совершенно естественен. Здесь необходимо обратиться к здравому смыслу и постараться создать полезную, безопасную и безошибочную систему авторизации — будь то пароль или что-то другое.
Истоки проблемы
Все мы не очень любим авторизацию через пароль. Чем больше сервисов мы используем, тем больше паролей приходится запоминать.
Приложения SaaS, социальные сети и другие службы требуют соблюдать строгие правила введения паролей, которые затрудняют вход в систему для честных пользователей. Неужели авторизация вида «имя пользователя и пароль» настолько незаменима, что мы готовы смириться с этим препятствием при использовании сервисов и продуктов?
Дело не в самих паролях — проблема заключается в масштабе, ведь людям приходится запоминать множество имен и паролей, они испытывают дискомфорт. А мы не хотим, чтобы наши продукты стали менее безопасными, когда мы понизим стандарты защиты в угоду удобству пользователей. Как же обеспечить надежную безопасную идентификацию и защиту конфиденциальных данных?
Для этого уже есть несколько методов и постоянно появляются новые. Традиционную аутентификацию при помощи пароля можно сделать комфортной и удобной. Вот актуальные способы:
- имя пользователя и пароль;
- кодовая фраза;
- двухфакторная идентификация;
- социальный вход;
- беспарольная авторизация;
- биометрическая идентификация;
- подключенное устройство.
Я буду оценивать каждый метод, исходя из нескольких факторов:
- частота использования: легкость настройки и обслуживания;
- безопасность: сложность идентификации для постороннего человека;
- комфорт: простота идентификации для пользователя аккаунта.
Имя пользователя и пароль
Буду честен: у меня возникают проблемы с традиционной моделью. В идеальном мире я бы устранил пароли вообще, но в реальности я пользуюсь этим методом в 99% своих проектов.
Почему? Такая проверка подлинности — наиболее понятный способ авторизации, и люди будут считать его самым надежным. Можно многое улучшить с точки зрения удобства и простоты использования. Создание и восстановление паролей можно упростить, а вход в систему ускорить и сделать менее запутанным.
Необходимость вспоминать пароль — главная причина, почему я низко оценил безопасность и удобство использования этого способа. Сначала трудно создать безопасный пароль, а потом — запомнить его и использовать. Люди создают пароли, которые слишком легко разгадать, а это уже угроза безопасности.
Ирония в том, что чем выше наш уровень безопасности, тем опаснее становится идентификация с помощью пароля. Нужно усовершенствовать сам алгоритм проверки подлинности пароля — реалистично оценивая безопасность и выбирая наиболее эффективные решения.
Сейчас можно пользоваться технологиями, которых не существовало, когда были сформированы структуры паролей. И мы обязаны это делать, чтобы облегчить пользователям жизнь. Отбрасывая утверждения об абсолютной безопасности паролей и создавая новые идеи, основанные на современных запросах пользователей, мы можем внести множество очевидных улучшений в традиционные системы паролей. Поговорим о некоторых из них.
Ограничивать или исключать правила для паролей
Заглавные и строчные буквы, символы и цифры — все эти ограничения заставляют пользователей создавать все более сложные пароли.
Регистрация на сайте GoDaddy
В США и Великобритании 73% взрослых людей
используют на всех своих аккаунтах один и тот же пароль. Если ваши правила не дают пользователю использовать его стандартный пароль — он создает уникальный и, как правило, очень быстро его забывает. Исключив правила для паролей, вы даете пользователю возможность помнить пароль, чем повышаете юзабилити своего сервиса.
Зачем нам навязывают этот комплекс правил? Существуют исследования, которые утверждают, что длинные пароли эффективнее паролей с различными символами, но об этом я расскажу позже.
Напоминать пользователю о правилах
Если вы все же решили использовать правила для паролей, напоминайте о них пользователю, когда он их игнорирует при выборе пароля. Если вы требуете обязательно вводить специальные символы или заглавные буквы, то помогите пользователю об этом вспомнить, когда он пытается авторизоваться. Это облегчит участь человека, которому необходимо запомнить миллион паролей, но это, мягко говоря, небезопасно, ведь взломщики чужих аккаунтов тоже будут знать о существовании этих правил.
Авторизация на cайте BrowserStack
Именно эта модель безопасности долгие годы медленно меня убивает. Я гораздо тщательнее многих слежу за своими паролями, но всё равно их забываю. Если добавить такую форму напоминания в окно авторизации, это значительно увеличит юзабилити сайта и количество успешных авторизаций.
Показывать напечатанные символы скрытого пароля с возможностью их убрать
Это довольно распространенная опция, в особенности для мобильных устройств, но стоит применять ее повсеместно (включая рабочие компьютеры).
Если кто-то использует функцию общего доступа к экрану или проводит презентацию, можно спрятать символы при вводе пароля, но таких пользователей единицы. Всем остальным удобнее видеть, какой пароль они набирают. Такой метод успешно применяют Yahoo и Sprint — это убедительно доказывает, что нам больше не нужно маскировать пароли.
Подсказки Люка Вроблевски
Люк Вроблевски написал отличный
обзор идей, как можно «открыть» пароль, и описал, как лучше интегрировать их. Он утверждает, что маскирование паролей — устаревшая практика.
Конкретизировать сообщение об ошибках ввода
Всегда сообщайте пользователю, если он ввел неправильное имя или неверный пароль. Здесь появляются угрозы конфиденциальности: такие ошибки могут совершать посторонние пользователи, например, при попытке взломать аккаунт. По крайней мере, сообщайте пользователям, что, пусть они и вошли через имя пользователя, вы ожидаете от них дополнительного подтверждения личности.
У людей, как правило, несколько адресов электронной почты, имен пользователей и паролей. Избавьте пользователей от необходимости помнить их все. Если ваша система безопасности не позволяет оповещать о попытках ввести неправильный пароль или почтовый адрес через электронную почту, то вам стоит задуматься о двухфакторной идентификации.
Кодовая фраза
Чтобы продвинуть традиционную проверку подлинности имени пользователя и пароля на шаг вперед, не вводя новые модели и не меняя устоявшиеся традиции, подумайте о переходе от словесных паролей к фразовым.
Секретные фразы безопаснее паролей, их легче запомнить. Об этом пишут уже больше десяти лет: от статьи «
Пароли-слова против паролей-фраз» в 2005 году до «Почему секретные фразы удобнее для пользователей, чем пароли» в 2015-м.
Ключевые фразы лучше и для безопасности, и для удобства использования. Вспомнить фразу, содержащую нормальные читаемые слова, намного проще, чем шифрованный пароль. Поэтому нам не нужно записывать свои пароли и не приходится пользоваться одним и тем же паролем во всех случаях, пытаясь не забыть его.
Широко распространилось убеждение, что заглавные буквы, цифры и специальные символы усложняют автоматизированный подбор пароля. Но оказывается, что компьютеру сложнее угадать ряд случайных (или кажущихся случайными) слов, связанных в длинную фразу.
Хотите доказательств?
Zxcvbn — это проект Dropbox, определяющий надежность пароля. Другие сайты могут использовать Zxcvbn как определитель надежности пароля с открытым исходным кодом. В этой статье Dropbox есть статистика и сведения об истинной надежности различных паролей. Прочтите статью, и вы поймете, что пароль Tr0ub4dour&3 гораздо уязвимее, чем «правильнаялошадьштапельнойбатареи». Это легко проверить с помощью тестов.
Чтобы ввести в обиход пароли-фразы, нужно только предложить пользователю идею такой фразы и ликвидировать правила использования пароля. Те, кто хочет использовать традиционные пароли, могут это делать и дальше, но большинство людей попытаются соорудить нечитаемый пароль. В любом случае это хорошая идея для улучшения юзабилити.
Впервые я использовал пароли-фразы с компанией интернет-банкинга
Simple, которая приветствует эксперименты и новые технологии, и они показали себя прекрасно. Мою фразу-пароль просто запомнить и легко набрать — особенно на мобильном телефоне.
Двухфакторная авторизация
Двухфакторная идентификация — это еще одно расширение традиционной идентификации при помощи пароля. После проверки комбинации имени пользователя и пароля уникальный код или URL пересылается по электронной почте либо отправляется SMS-сообщением владельцу аккаунта, который пытается войти в систему.
Пользователь проходит идентификацию, подтвердив, что получил уникальный код. Доступ подтверждается через несколько этапов, или же владелец аккаунта получает предупреждение о враждебных попытках получить доступ к его учетной записи.
Авторизация в приложении Google
Google предоставляет возможность двухфакторной идентификации во всех или почти во всех своих сервисах. В случае с Gmail используется уникальный код. Другие службы отправляют этот код или ссылку на адрес электронной почты пользователя.
Используйте двухфакторную аутентификацию только там, где это имеет смысл. Она может сильно раздражать человека, если его телефон в этот момент недоступен или он не может войти в электронную почту. Если злоупотреблять двухфакторной аутентификацией, пользователь вполне может отказаться от ваших услуг.
Google хорошо справляется с идентификацией. Компания используют правило «Доверять этому устройству 30 дней». Кроме того, она предлагает опцию двухфакторной аутентификации как один из вариантов и поощряет его применение, ни к чему не принуждая пользователей.
Еще одно преимущество двухфакторной идентификации в том, что нам не нужны правила паролей, ведь мы не полагаемся на пароль как на единственную стратегию безопасности. Опять-таки модификации паролей зачастую оказываются удобнее, чем-то, к чему мы привыкли.
Социальный вход
Социальный вход или вход через авторитетный проверенный сайт — популярный и удобный способ идентификации. Он предназначен не только для входа в систему. У American Express есть Amex Express Checkout, откуда вы входите на свой Amex-аккаунт, чтобы безопасно оплачивать товары на сторонних сайтах. Вы идентифицированы, и уже не нужно отправлять данные кредитной карты продавцу.
Однако чаще всего социальный вход означает возможность войти в сторонний сервис или в приложение с помощью Facebook, LinkedIn или Twitter.
Для многих сервисов это отличный способ идентификации. Для входящего это удобно только в том случае, если у него есть аккаунт в этом стороннем сервисе. Поэтому социальный вход всегда подразумевает запасной вариант.
Социальный вход также запрашивает разрешение третьей стороны, что может отпугивать и останавливать пользователей и не работает с брандмауэрами, блокирующими оригинальный сайт (например, корпоративные офисы).
Тем не менее
статья MailСhimp от 2012 года понятно объясняет, почему сайт был против социального входа (и, судя по всему, с тех пор не поменял позицию). Сервис аргументирует это тем, что социальный вход создает слишком много неудобств для пользователя. Даже при однократной регистрации в варианте социального входа и при запасном варианте входа пользователь должен запомнить, как именно он регистрировался в самом начале.
В чем-то я согласен с MailСhimp, но социальный вход сейчас для многих гораздо понятнее и удобнее. Подтверждение тому — широта его применения: часто это отличный способ упростить идентификацию. Я по-прежнему предлагал бы только один вариант, а именно социальный вход, но если такие компании, как Medium, предлагают несколько вариантов, такое решение точно имеет право на жизнь.
Беспарольная авторизация
Беспарольная авторизация — это двухфакторная идентификация без первого шага. Нужно помнить свое имя пользователя, адрес электронной почты или номер телефона, после чего пользователь получает уникальный код для завершения входа. Он не создает пароль и не вводит его.
Мы можем продвинуть беспарольную идентификацию еще на шаг вперед, пропустив ручной набор кода. Использование глубоких ссылок или уникального символа в URL, ссылок в сообщении электронной почты или текста может напрямую открыть сервис и помочь войти в него.
В целях безопасности коды или ссылки прекращают свое действие вскоре после отправки пользователю или их использования. Вот почему авторизация без пароля лучше, чем с паролем. Доступ предоставляется именно тогда, когда кто-то в нем нуждается, и ограничен в любое другое время, но нет никакого пароля, чтобы запросить этот доступ.
Авторизация в Slack
У Slack есть очень хороший пример беспарольной идентификации. На разных этапах входа в систему и процессов сброса пароля сервис использует «волшебную ссылку» (magic link) для идентификации пользователей. Уникальный URL отправляется на электронный адрес пользователя, и этот URL открывает приложение и позволяет ему войти.
Примечательна сама презентация этой модели взаимодействия: она представляет контакт пользователя с системой как «магию», упрощая его и успокаивая пользователя (вероятно, придумавший «двухфакторную идентификацию» неправильно понял ее брендинг).
Биометрическая идентификация
Отпечатки пальцев, сканы сетчатки глаза, распознавание лица, голоса и многое другое — все это биометрическая авторизация.
Наиболее распространенный пример — Touch ID компании Apple. Такие вещи действительно восхищают. Биология — наша истинная идентичность, она всегда с нами. Мы знаем об идее разблокирования телефонов или планшетов при помощи отпечатка пальца. Тем не менее биометрическая идентификация используется и в других местах (и с другими параметрами).
Windows Hello — это перспективная система идентификации для Windows 10, соединяющая камеры с датчиками (на компьютерах и устройствах) для распознавания лица, радужки глаз или отпечатков пальцев. Нужно просто открыть компьютер и заниматься своими делами, не жертвуя при этом безопасностью. Этот тип идентификации был до недавнего времени невозможен, особенно в масштабе Windows 10.
Для работы биометрических систем нужны аппаратные средства и датчики, но, к счастью, в наших мобильных телефонах есть датчики для самых разных вещей. Hello использует инфракрасный датчик камеры для определения лица и глаз (при любом освещении), а в мобильных телефонах или планшетах есть устройство для сканирования отпечатков пальцев.
Если бы производители настольных компьютеров и ноутбуков уделяли больше внимания безопасности и биометрическим датчикам, мы бы давно уже ушли от паролей. Mobile с самого начала определил безопасность как приоритет, и теперь остальное программное обеспечение подгоняется под эти требования.
Биометрическая идентификация только начинает развиваться, но некоторые API и библиотеки позволяют нам пользоваться биометрической идентификацией уже сегодня. К ним относятся BioID Web Service, KeyLemon, Authentify и Windows Biometric Framework API (на котором, как мне кажется, построена Hello).
Авторизация с помощью подключенного устройства
Авторизация с помощью подключенного устройства — это идентификация через Bluetooth (или нечто подобное), то есть присоединение одного устройства к другому, которое уже идентифицировало пользователя.
Например, для Mac OS X есть приложение KeyTouch, позволяющее авторизоваться на компьютере со сканом отпечатков пальцев со своего iPhone. Есть еще и Knock, который позволяет кликнуть по телефону, чтобы разблокировать компьютер.
Можно представить себе, сколько возможностей даст накопление числа подключенных устройств, особенно в пространстве «интернета вещей», где персональные и, возможно, подключеные устройства будут работать постоянно. Идентификация с помощью подключенных устройств может стать очень полезной.
Приложение Tether для iPhone
В домашнем офисе я использую приложение Mac OS X и iOS под названием Tether («связка»). После однократной синхронизации компьютера и телефона компьютер блокируется и разблокируется — в зависимости от близости телефона к компьютеру.
Tether сэкономил мне массу времени. Набор моего пароля с заглавными буквами, цифрами и символами может занять всего три или четыре секунды, но много раз повторять это каждый день, неделю и месяц — это уже слишком. Благодаря идентификации подключенного устройства к тому времени, когда я сажусь в кресло, мой компьютер уже разблокирован. Еще один пример — ключи от машины с Bluetooth.
Что же теперь делать
Мы провели
опрос в Twitter, и оказалось, что из всех перечисленных вариантов чаще всего используется старая добрая авторизация через логин и пароль (49%), а за ней следует социальный вход (28%).
Все изменения должны быть удобны для пользователей. Мы можем упрощать коммуникации, уменьшив количество паролей, которых требуют наши сервисы и приложения. Если требуется внедрить новые способы идентификации для большего комфорта пользователей, нужно всегда рассматривать такую возможность.
Будь моя воля, мы бы навсегда покончили с паролями. Мне кажется, что они тянут нас назад, хотя и еще остаются нужны. Так что нас ждет революция в области паролей.
Тем не менее нужно помнить, что люди хотят чувствовать себя в безопасности, когда входят в систему, и знать, что их данные недоступны посторонним. Если мы будем пренебрегать идентификацией, пользователи не будут нам доверять. Поэтому мы вовсе не собираемся устранить все пароли уже завтра, хотя, возможно, сократим масштаб их применения.
Лучшая идентификация, как и лучший интерфейс, абсолютно невидима. Нужно стремиться к тому, чтобы сделать идентификацию незаметной. А это значит, что традиционная идентификация пароля — независимо от того, насколько серьезна ее функциональность, — это вчерашний день.
Надеюсь, мы застанем время, когда авторизация перестанет быть препятствием, но при этом вся информация будет оставаться в безопасности. Если вы уже думаете об этом — знайте, что скоро так и случится. Я думаю, это будут решения из области биометрии, и многие со мной согласны. В любом случае, работая над созданием удобных сервисов с безопасный входом, мы сделаем идентификацию комфортнее.
Перевод, в котором путают аутентификацию и авторизацию - не нужен вообще. Лучше читать оригинал.
Самый дельный коммент.
Не упомянут поддерживаемый практически всеми браузерами (в тч мобильными) способ авторизации по сертификату.
Из минусов: ощутимый входной порог (получение и установка сертификата) и то, что устройство с установленным сертификатом не должно попадать в третьи руки. В остальном пользоваться очень удобно.
На практике встречается редко: в основном используют специализированные ресурсы (управление финансами, доступ к данным) и корпоративные системы.
Мне лично не комфортно видеть свой собственный пароль, пропадает ощущение безопасности. В этом плане у unix всё идеально, даже точки вместо символов не показываются.
в этом плане у unix все отвратительно - нет никакого понимания, ввел ты что-то или нет.
А вообще все зависит от аудитории. Бывает, что по умолчанию надо пароль показывать, так как аудитория не может ввести пароль в скрытом режиме, для пользователей это очень сложно.
Поясните, может я не понимаю: а в чем восхищение биометрической идентификацией? Ведь на выходе, после сканирования, получается тот же пароль - набор 0-лей и 1-чек. Да его еще и не поменяешь, если узнают - он один на всю жизнь ;-) Это просто такой вариант не запоминать ОДИН пароль, а носить его при/на себе...
Толи автор был пьяный, толи переводчик. Может даже оба, но когда уровень бреда в статье про безопасность превышает всякий уровень, это настораживает.