Может быть, потому что в этом сервисе восстановление пароля — больший геморрой, чем, скажем, в почте или соцсетях. А чем сложнее пароль, тем чаще его забывают пользователи.
В-общем-то, логично. Тогда придется хорошенько продумать протокол обмена данными, т.к. UART — дуплексный канал, а радиомодули работают попеременно на прием или передачу. Есть полудуплексные модули, которые сами управляют потоком, но они дорогие, дешевле тогда уж будет bluetooth использовать.
Можно и в одну сторону. Включить/выключить кнопки = просто программно учитывать/не учитывать их состояние. А светодиод пусть горит все время, когда девайс включен…
Грубо говоря, сервер шлет вам случайное число, токен его шифрует с использованием пароля, отправляет результат обратно. Сервер проделывает то же самое, сравнивает результат. Пароль не покидает пределов токена.
Подобным образом работает аутентификация в сотовых сетях. SIM-карта, по сути, тот же токен, только без usb-интерфейса.
Основным препятствием станет даже не это, а низкая частота кадров с камеры и недостаточная чувствительность матрицы, при плохом освещении все сдвиги смажутся.
Как с хоста в токен передается пин-код? Если открытым текстом — все очень плохо, USB-сниффер его украдет. Если шифруется, то как?
И насколько реально сделать поддельный токен, который никакого ключа не хранит, а только принимает от юзера пин, и пересылает, допустим, по радио?
Хорошо, я слишком сильно упрощаю. Вот таблица (из полного отчета о работе) с вероятностями всех видов ошибок: Видно, что при ошибке программа чаще «съезжает» или по столбцу, или по строке. Гораздо реже ошибка идет по обеим координатам.
Можно посмотреть в сторону дифференциальных трансформаторов. Их довольно просто изготовить самостоятельно, в т.ч. миниатюрные (мотайте на стержне от шариковой ручки). К помехам не чувствителен, точность — отличная.
Из обвязки понадобится генератор синусоиды (нес-ко килогерц), усилители, ФНЧ (это все на операционниках можно сделать), АЦП.
Хотя, можно несущую генерировать контроллером, и АЦП там встроенный должен быть.
Никто про полностью автомат и не говорит, на поток пока тоже не поставили. Это лишь демонстрация возможности (proof of concept). Если удастся повысить точность, можно и с QWERTY-клавиатурой совладать.
Смех смехом, а подобная атака тоже была кем-то продемонстрирована. Используя телескоп и камеру, удалось собрать картинку с монитора по отражениям в различных блестящих предметах, которые есть в любой комнате (вроде чайников, дверных ручек, плафонов ламп и т.п.) Скоро и до глаз пользователя дойдет. А если он носит очки, можно, наверное, и камерой смартфона подглядеть.
Подобным образом работает аутентификация в сотовых сетях. SIM-карта, по сути, тот же токен, только без usb-интерфейса.
И насколько реально сделать поддельный токен, который никакого ключа не хранит, а только принимает от юзера пин, и пересылает, допустим, по радио?
Из обвязки понадобится генератор синусоиды (нес-ко килогерц), усилители, ФНЧ (это все на операционниках можно сделать), АЦП.
Хотя, можно несущую генерировать контроллером, и АЦП там встроенный должен быть.
А если серьезно — картинку взял из оригинальной статьи, все вопросы к ним.