- PVSM.RU - https://www.pvsm.ru -
Приветствую тебя, уважаемый читатель.
Пришла ко мне как-то идея — сделать вход на сайт с помощью QR-кода. Поиск в сети дал несколько результатов:
В начале 2012 года похожий эксперимент был даже у Google (для двухфакторной аутентификации), но не прижилось.

Всё это сложные хитрые клиент-серверные реализации и они, конечно, очень крутые. А вот ключевой момент моей yet another genius идеи:
Пользователь заходит на сайт в современном браузере (где поддерживаться камера и камера есть) и подносит QR-код к камере устройства. А в коде закодированы… правильно! — данные для входа (пара логин-пароль)… просто так, в незашифрованном виде, обычным текстом. Код считывается на стороне клиента javascript'ом, данные вставляются в форму тем же javascript'ом, форма авторизации отправляется javascript'ом. По большому счёту можно использовать и другие виды штрихкодов, но QR, как мне кажется, наиболее популярен (широко распространён) для подобных задач.
И да, применять это можно не только в вебе, но и в любых непонятных ситуациях, когда требуется ввести логин/пароль/что-то с клавиатуры, а у вас есть камера и QR-код.
Наверное идея звучит глупо. Она слишком проста. Но позвольте мне рассказать почему она имеет право на жизнь.
Вам это не нужно, если:
Главное преимущество — ручного ввода нет. Скорость ввода пароля этим способом ~1 секунда при любой допустимой длине пароля
Привлекательность такого способа авторизации становится заметна в случаях когда:
Можно, конечно, использовать отпечатки пальцев, USB-токены, одноразовые пароли, -NFC-теги-, но для всего этого нужна *модификация серверной части* или аппаратные модификации клиента и др. В случае считывания QR-кода прямиком в поля ввода сервера получает всё те же логин и пароль. Камера и современный браузер есть на большинстве современных ноутбуков/планшетов/ПК.
Где это можно использовать:
— есть множество приложений, хранящих пароли в базе данных, защищённой мастер-паролем. Это классно, но эти приложения показывают вам пароль в виде текста и вам нужно ввести его руками. Можно отображать сохранённый пароль в виде QR-кода
— QR-код можно -выложить чёрным жемчугом на платиновой пластине- распечатать на бумажке/пластике/ и прикрепить его как стильный брелок/связку брелоков
— QR-код можно генерировать при регистрации где-либо, а ваше приложение-менеджер-паролей его считает и сохранит
— можно генерировать довольно сложные одноразовые пароли и кодировать их в QR. Например, для той же двухфакторной авторизации
Т.к. не особо силён в javascript, то для проверки концепции стянул скрипты, выполняющие задачу чтения кода с камеры, с сайта webqr.com/ [4] (спасибо им) и слегка модифицировал их. Посмотреть можно тут [5]
Бесспорный и главный плюс классических паролей — они хранятся в голове и набираются руками. Главная опасность вышеописанного способа — ваши QR-коды стали доступны злоумышленнику. Но если вы, как мой папа, храните все пароли в файле «Мои пароли.doc» на рабочем столе, то qr-коды даже над>жнее — их не прочитать глазами.
Спасибо за внимание. Ожидаю критических комментариев, указывающих на фатальные недостатки способа. Или восхищённых возгласов — «Как же я сам до этого не додумался!»?
Автор: solo12zw74
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/usability/51707
Ссылки в тексте:
[1] SQRL: https://www.grc.com/sqrl/sqrl.htm
[2] и другие: https://www.grc.com/sqrl/other.htm
[3] ru.wikipedia.org/wiki/Das_Keyboard: http://ru.wikipedia.org/wiki/Das_Keyboard
[4] webqr.com/: http://webqr.com/
[5] Посмотреть можно тут: http://solo12zw74.github.io/qrlogin/#
[6] Источник: http://habrahabr.ru/post/207358/
Нажмите здесь для печати.