Американский программист Стив Гибсон (Steve Gibson) придумал новый способ авторизации на сайтах, который он предлагает сделать стандартом: SQRL (Secure QR Login). Произносится как “squirrel” (белочка).
Из названия понятно, что в новом стандарте для входа на сайт используются QR-коды. Так и есть. Сайт показывает посетителю QR-код, посетитель запускает специальное приложение SQRL на своем мобильном телефоне — и наводит камеру на QR-код. Приложение показывает URL, зашифрованный в коде. Проверив название сайта пользователь разрешает авторизацию на сайте одним нажатием кнопки “Log in”.
Таким образом, человек авторизуется в системе, не указывая имя и пароль, эти поля можно оставить пустыми. Но на практике лучше все равно оставить традиционный способ авторизации, ведь не у всех имеются смартфоны.
Несмотря на простоту, такой способ аутентификации гораздо безопаснее, чем обычный ввод имени пользователя и пароля, потому что по каналам связи передается не пароль, а хэш, сгенерированный на основе пароля пользователя (master key) и уникального одноразового кода, полученного из QR (одноразовый код добавляется в URL). Мобильное приложение SQRL генерирует хэш и отправляет его на сервер для аутентификации.
Такой способ аутентификации предотвращает и перехват пароля, и атаку повторного воспроизведения, поскольку коды одноразовые.
В принципе, можно использовать одноразовые коды в URL и без QR-кодирования, так что предложенный способ выглядит немного странновато.