[Интерфейсы, Дизайн мобильных приложений, Графический дизайн, Дизайн] Механизмы аутентификации в пользовательских интерфейсах

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
04-Мар-2021 11:30


Для кого эта статьяСтатья для дизайнеров интерфейсов, которые желают понять то, как работают процессы регистрации, авторизации, восстановления пароля, применяемые в различных системах. Если вы разработчик/дизайнер, и нашли ошибку/неточность - то дайте мне знать (я с радостью доработаю статью).НачалоСегодня я хотел бы рассказать о том, как проходит аутентификация в приложениях самых различных платформ - начиная от мобильных приложений, заканчивая консольными утилитами.Аутентификация - это процесс, при котором пользователь подтверждает подлинность своей личности в какой-либо системе. Система предоставляет личные данные только своему владельцу.Механизм аутентификации на базовом уровне довольно прост - вам нужно ввести данные в виде логина и пароля. Проверить данные на совпадение, и если данные совпали между собой - то вы являетесь подлинным обладателем учётной записи.Учётная запись - это хранимый в системе набор данных о пользователе. К учётной записи как правило имеет доступ лишь один пользователь - её владелец.Пример:В кино, когда шпиона просят назвать кодовую фразу для подтверждения своей личности - то по факту осуществляется процесс аутентификации пользователя. Если кодовая фраза (пароль) верный - то шпиону доверяют и предоставляют закрытые от остальных данные. (Утрированно)Процессы аутентификацииТак как наши данные при регистрации в каком либо сервисе хранятся в базе данных - то к процессу аутентификации применяются базовые принципы работы с базами данных (далее БД) - это чтение, запись, обновление и удаление данных. При этом, во время каждого из действий с БД проверяется возможность совершения этих действий пользователем.
  • Регистрация (CREATE) - создание в системе вашей личной учётной записи
  • Авторизация (READ) - получение доступа к вашей личной учётной записи
  • Восстановление доступа к учётной записи (UPDATE) - если вы на пример забыли пароль - то его можно сменить, подтвердив свою личность.
  • Удаление (DELETE) - удаление вашей учётной записи из системы
Варианты фиксирования уникального имени пользователя (логин)
Есть несколько возможных способов проверки подлинности при предоставлении доступа к данным учётной записи в какой-либо системе. Логином могут выступать следующие пункты:
  • Email (username@mail.com)
  • Номер телефона (+996 777 777 777)
  • Уникальное имя (username)
  • Учётная запись в стороннем сервисе (Google, Facebook, Apple… и так далее)
При аутентификации в сервисе А через сторонние сервисы Б - вам не нужно проходить процесс подтверждения личности в сервисе Б, а лишь нужно подтвердить свою личность в сервисе А. (На пример зайти в учётную запись Google, и при помощи её зайти в учётную запись Figma). Могут использоваться проверки в виде сообщения на почту со ссылкой для подтверждения регистрации/авторизации.Варианты подтверждения логина (пароль)
Логин - это ещё не полный доступ к учётной записи, ему всегда сопутствует секретный ключ (пароль), который работает только в связке Логин-Пароль (или что-то из списка ниже).
  • Пароль (password9379992*)
  • SMS код (9379992SMS)
  • Код в электронном сообщении (9379992MAIL)
  • PIN код (9379992)
  • Ключи доступа / Токены (какпример ssh key)
  • Сканеры внешности (лицо, отпечаток пальца)
Токен - это уникальный (как правило длинный) набор символов для доступа к учётной записи, который может храниться на устройстве (телефон, компьютер, флешка, чип карта). Токен обычно не вводят вручную в поле ввода пароля, а предоставляют системе целый файл с токеном, для проверки подлинности.Необходимость интернет соединения при различных видах аутентификацииНе все виды аутентификации пользователя требуют интернет соединения для проверки соответствия логина и пароля пользователя. На пример: вы можете без подключения к интернету разблокировать свой телефон, компьютер, сейф с кодовым замком или открыть дверь в подъезд.Соединение нужно для тех типов аутентификации, в которых личные данные пользователей хранятся на удалённом сервере. Это как доступ к банковской ячейке, открыть которую вы можете только придя в банк, подтвердив свою личность и в присутствии охраны.Комбинации ввода логина и пароляОписанные выше варианты логинов и паролей могут комбинироваться между собой для проверки подлинности пользователя. На пример:EmailНомер телефонаУникальное имяПарольПарольПарольТокенТокенТокенPIN кодPIN кодPIN кодВнешностьВнешностьВнешностьКод в Email сообщенииSMS кодВ таблице каждая колонка - это варианты логина, а строки - это доступные варианты паролей.
Механизм проверки соответствия логина и пароля
Процесс проверки соответствия логина и пароля проходит в несколько этапов.
  • Вводим логин
  • Вводим пароль
  • Отправляем данные на проверку
  • Система получает данные, которые ввёл пользователь, ищет в своей базе данных пользователя, проверяет соответствие логина и пароля.
  • Система отправляет результат проверки пользователю.
  • Получаем результат проверки
Для всех способов аутентификации процесс проверки соответствия одинаковый.Двухфакторная аутентификация
В некоторых случаях может потребоваться дополнительная мера защиты учётных данных пользователя, и именно для этого вводится механизм двух факторной аутентификации - это когда пользователю необходимо подтвердить подлинность своей личности двумя разными способами. Примером может служить - ввод Email + Пароль, а затем номера телефона и СМС кода.Упрощённая схема двух факторной аутентификации.
На первом этапе мы вводим логин и пароль, отправляем их системе на проверку - как в обычной аутентификации. Система проверяет логин и пароль, и отправляет ответ (результат проверки) пользователю. Ответ может быть как положительным, так и отрицательным. Если ответ положительный - то пользователь переходит ко второму этапу. В это время ему должно прийти сообщение с кодом подтверждения в виде символов или же ссылки. После ввода кода подтверждения пользователь снова отправляет данные системе на проверку. Если ответ положительный - то пользователь получает доступ к своим данным. Если ответ отрицательный - то пользователь получает возможность повторить попытку ввода, либо процесс аутентификации начинается сначала.Ошибки аутентификации
Во время проверки логина и пароля могут возникнуть ситуации, когда аутентификация не пройдена и пользователь не получил доступ к своим личным данным.
  • Логин введён неверно
  • Пароль введён неверно
  • Нет соединения с сервером
  • Ошибка проверки данных сервером
  • Превышен лимит ошибочных попыток аутентификации
  • Пользователь ввёл верно свои денные, но он не зарегистрирован
  • Учётная запись пользователя заблокирована администратором
Лимиты ошибочных попыток аутентификации вводятся для усиления безопасности личных данных пользователей. После превышения лимита обычно предлагается восстановить пароль, либо повторить аутентификацию позже. В системах с повышенным уровнем контроля за безопасностью данных пользователя принимаются меры блокировки учётной записи до момента подтверждения личности пользователя (на пример в банковских картах).Процесс восстановления пароля
В случаях, когда пользователь забыл свой пароль - он может его восстановить при помощи системы восстановления доступа. Для этого пользователю нужно пройти несколько шагов.
  • Ввести логин
  • Подтвердить свою личность (на пример пройти по ссылке в электронном письме от сервиса восстановления пароля или ввести код из СМС)
  • Ввести новый пароль
  • Повторить ввод нового пароля
  • Сохранить новый пароль
После прохождения данных этапов пользователь для входа в систему может использовать свой логин и новый пароль.В системах с повышенным контролем за безопасностью данных пользователей используется более сложный механизм подтверждения личности пользователя для смены пароля. Примером может служить приход пользователя в банк, чтобы восстановить пин-код к своей карте или личному кабинету в системе банка.Стоит заметить, что некоторые сервисы не поддерживают восстановление пароля - например кошельки криптовалют. С одной стороны это позволяет обезопасить данные пользователя, с другой это даёт пользователю шанс навсегда потерять доступ к своим данным в системе.Упрощённое объяснение термина "сессия"Сессия - это механизм сохранения состояния авторизации пользователя в системе на заданный срок. Сессий одного пользователя может быть много. Примером может служить сессии в социальных сетях - когда вы можете зайти в свой аккаунт социальной сети с нескольких устройств одновременно, без необходимости выходить из учётной записи на другом устройстве.Для того что бы различать входы с различных устройств - каждой сессии присваивается свой уникальный для каждой авторизации номер (Токен), который хранится в Cookies. Это нужно для того, что бы при выходе (закрытии сессии) с одного из устройств вы не выходили из своей учёной записи во всех остальных устройствах.Cookies
Наверное вы часто слышали термин Cookies - это маленький фрагмент данных, которые система (сервер) хранит у пользователя. Каждый раз, когда пользователь открывает сайт - серверу отправляются данные Cookies, которые сервер сохранил у пользователя на устройстве. В нашей теме аутентификации - этим небольшим фрагментом будет уникальный номер сессии (Токен) пользователя, если он (пользователь) уже авторизован.Вы можете проектировать свои интерфейсы как с сохранением сессий пользователей, так и без сохранения.ЗаключениеВ данной статье мы рассмотрели базовые принципы работы аутентификации в различных системах. Вся эта статья нацелена для того, чтобы помочь дизайнерам интерфейсов понять то - как работает процесс аутентификации, для чего он нужен, каких видов он бывает и что происходит на большинстве этапов во время авторизации, регистрации, восстановления пароля пользователем.Надеюсь вам было полезно, и хоть немного интересно.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_interfejsy (Интерфейсы), #_dizajn_mobilnyh_prilozhenij (Дизайн мобильных приложений), #_graficheskij_dizajn (Графический дизайн), #_dizajn (Дизайн), #_autentifikatsija (аутентификация), #_dizajn (дизайн), #_dizajnery (дизайнеры), #_dizajneru (дизайнеру), #_dizajner (дизайнер), #_dizajn_interfejsov (дизайн интерфейсов), #_dizajn_sajtov (дизайн сайтов), #_dizajn_sajta (дизайн сайта), #_interfejsy (интерфейсы), #_interfejs (интерфейс), #_interfejsy (
Интерфейсы
)
, #_dizajn_mobilnyh_prilozhenij (
Дизайн мобильных приложений
)
, #_graficheskij_dizajn (
Графический дизайн
)
, #_dizajn (
Дизайн
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 19:13
Часовой пояс: UTC + 5