Как стать автором
Обновить

Комментарии 42

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Странная мысль — сам протокол никакого отношения к Гуглу не имеет, какое приложение генерирует коды, всё равно. И таких приложений довольно много, причем, по крайней мере на iOS, родное Гугловское из плохих. После того, как при восстановлении из бекапа оно потеряло все коды, никому его не рекомендую.

Когда знаете об этом — это действительно логично, а вот когда сталкиваешься с этим в первый раз, а при этом и на сервере и на мобильном устройстве приложение называется одинаково, чувствуется нерушимая связь и четкая зависимость одного от другого.

Спасибо за ваш комментарий. Проблемы, возникающие при восстановлении из бекапа явились для меня новостью. На всякий случай попробую испытать восстановление заранее пока не сталкнулся с проблемой в боевой ситуации.
Не уточняется какие именно проблемы возникают при восстановлении из бекапа. Как известно одноразовые пароли можно генерировать на основе времени (каждые XX секунд — новый OTP), а можно — на основе счётчика (каждое обращение просто «рождает» новый OTP, но они все должны быть использованы, пропуск более 2-3 штук приводит к рассинхронизации клиента и сервера и необходимости сброса всей системы).

Понятно, что во втором случае никакое «восстановление из бекапа» невозмножно — и это не баг, а фича. В самом Гугле Google Authenticator используется, разумеется, только в таком режиме (так как он безопаснее), так что, возможно, о проблемах с восстановлением для «временной» генерации просто никто не подумал.
Ну почему сразу всегда ошибочны? В 1/1000000 случаев может и совпасть)
Автору надо было сказать «не рабочий».
По аналогии со сломанными часами — они два раза в сутки показывают точное время.
Использовал это приложение начиная с Android 4.0.4, никогда не было никаких проблем. Странно. Может вы с часовыми поясами напутали?
Аналогично, 4.4.2 и даже смартфон тот же, lenovo p780. С проблемами в работе приложения не сталкивался.
Использовал это приложение начиная с Android 4.0.4, никогда не было никаких проблем. Странно. Может вы с часовыми поясами напутали?

Это маловероятно. Первоначально с ошибкой я сталкнулся, когда устройство работало на своей «заводской» прошивке. Никаких кустомизаций на тот момент не применялось.
timezone info в андроидеах отдельно не обновляется, в отличии от реальной жизни.

Я с такой ошибкой как вы не сталкивался, но версию про «что-то с часами», проверил бы детальнее
Я пытался на сходном аппарате на MTK6589 на 4.4.2 экспериментировать. Как только часовые пояса не менял — не подходит код и всё, сегодня же FreeOTP Authenticator сразу сработало.
Я с такой ошибкой как вы не сталкивался, но версию про «что-то с часами», проверил бы детальнее


С изменением времени и часовых поясов предпринималось несколько попыток. В частности на 4pda рекомендуют для этих целей приложение ClockSynk (в той же ветке про timezone fixer). Выставив корректное время без смещения пробывали менять часовые пояса в большую и меньшую сторону. То же самое проделовали с временем на устройстве, но ни одна из комбинаций не дала рабочие коды.

Кстати интересное наблюдение — при «правильном» времени и часовом поясе первые 2 цифры кода всегда совпадают с корректным кодом (открытым в этот момент на FreeOTP).
НЛО прилетело и опубликовало эту надпись здесь
У меня была аналогичная проблема из-за лага до сервера гугла. Нужно правильно задавать величину смещения в секундах.
Не понимаю, как тогда это исправляет FreeOTP? Вносит свой «компенсирующий» лаг?
Вы пробовали Authy? Я использую его, тк он поддерживает больше типов 2FA.
И бонусом хранит ваши ключи для 2fa на своих серверах. Это, конечно, упрощает перенос на другое устройство, но является серьезным фактором риска, который стоит учитывать.
С любыми другими приложениями, у вас также нет никакой гарантии.
Если нужна безопасность повыше — можно использовать YubiKey NEO, он тоже умеет TOTP. И из него ключи не вытянуть никак.
google-authenticator (для андроида живёт в отдельном репозитории) — это open source, что позволяет посмотреть на его потроха и убедиться, что всё нормально.

Кстати, в версии для андроида они сделали подстройку времени по серверам гугла (т. е. считают разницу времени между их серверами и устройством, и учитывают её при генерации кодов).

Yibikey neo мне более интересен тем, что на нём есть openpgp-апплет (у меня хранятся на нём три rsa2048 ключа: для подписи, расшифровки и ssh). Правда, проблемы с gpg-agent'ом периодически возникают: иногда после очередного отключения/подключения ключа он его не видит (хотя pcsc_scan видит прекрасно).
gpg
-> % gpg --card-status

Application ID ...: D27600012401020000060350xxxx0000
Version ..........: 2.0
Manufacturer .....: Yubico
Serial number ....: 0350xxxx
Name of cardholder: Konstantin Gribov
Language prefs ...: en
Sex ..............: мужской
URL of public key : http://...
Login data .......: xxx
Signature PIN ....: принудительный
Key attributes ...: 2048R 2048R 2048R
Max. PIN lengths .: 127 127 127
PIN retry counter : 3 3 3
Signature counter : xxx
Signature key ....: D18B CC7F BA42 15F9 7EE9  FA26 E128 84E1 7319 D40C
      created ....: 2015-01-09 00:29:29
Encryption key....: 3541 7899 380F 6D25 FA44  56E9 518F C0EA F2C2 628E
      created ....: 2015-01-09 00:30:05
Authentication key: 131F 0381 D136 B020 5B75  B06F 639A B38B 307F F7C5
      created ....: 2015-04-24 13:50:31
General key info..: pub  rsa2048/E12884E17319D40C 2015-01-09 Konstantin Gribov <.......@gmail.com>
sec#  rsa4096/xxxxxxxxxxxxxxxx       создан: 2015-01-09     годен до: никогда   
ssb   rsa2048/E12884E17319D40C       создан: 2015-01-09     годен до: никогда   
ssb   rsa2048/518FC0EAF2C2628E       создан: 2015-01-09     годен до: никогда   
ssb   rsa2048/639AB38B307FF7C5       создан: 2015-04-24     годен до: никогда


«Поддержка» totp была и на старых (простых yubikey), но для генерации totp надо было посчитать время на хост-системе и передать его на токен для подписи. Кода там копейки (5-10 строк на python получилось, когда сам писал), но требует участия хост-системы при генерации, т. к. токен ничего не знает про время.
google-authenticator (для андроида живёт в отдельном репозитории) — это open source, что позволяет посмотреть на его потроха и убедиться, что всё нормально.

У вас нет гарантии что он собран из того исходника без патчей.

Yibikey neo мне более интересен тем, что на нём есть openpgp-апплет

Надеюсь вы в курсе developers.yubico.com/ykneo-openpgp/SecurityAdvisory%202015-04-14.html По сути ключи там не защищены PIN-ом.

«Поддержка» totp была и на старых (простых yubikey)

Новые Neo тоже не знают про время и требуют приложение на хосте: github.com/Yubico/yubioath-desktop
У вас нет гарантии что он собран из того исходника без патчей.
У большого количества людей есть возможность вытащить соответствующих apk, распаковать и пройтись jad'ом (хз как он для dex называется, но не суть важно). Или собрать из исходников на гитхабе и сравнить получившийся apk (за исключением подписей).

Наличие такой возможности (сравнить) сродни фальсифицируемости в научном познании. В случае отсутствия исходников остаётся только реверс-инжиниринг, который требует существенно больших затрат.

Надеюсь вы в курсе developers.yubico.com/ykneo-openpgp/SecurityAdvisory%202015-04-14.html По сути ключи там не защищены PIN-ом.
В курсе. Печаль для всех, кто наследует эту проблему от javacardopenpgp. Для эксплуатации, правда, требует физического доступа к машине (который точно также позволяет перехватить ввод pin или passphrase для обычного), так что для меня не добавляет и не убавляет ничего в рисках при использовании. В любом случае, токен несколько увеличивает безопасность, т. к. ключ присутствует не всё время, а только при аутентификации/подписи/расшифровке против обычных ключей, доступных всё время.
Да и никто не мешает таки пересобрать apk ручками, собсно.
> google-authenticator (для андроида живёт в отдельном репозитории) — это open source, что позволяет посмотреть на его потроха и убедиться, что всё нормально.

Не совсем:

This open source project allows you to download the code that powered version 2.21 of the application. Subsequent versions contain Google-specific workflows that are not part of the project
Понятно. Эта информация и сейчас есть, только чуток запрятана в wiki проекта на github.
НЛО прилетело и опубликовало эту надпись здесь
А еще можно просто на любом компьютере с python сгенерировать этот OTP как вот тут описано.
НЛО прилетело и опубликовало эту надпись здесь
Знаем :)
Token2 Mobile OTP
(пна некоторых андроид-устройствах глюки с расширением, под iphone можете комфортно пользоваться)
НЛО прилетело и опубликовало эту надпись здесь
Только вот для Faceboox, Gmail, Dropbox, Live.com (Microsoft), Lastpass Google Authenticator генерирует правильные коды на Kitkat 4.4.2 на Samsung s3
Может, проблема в Lenovo?
Нет, проблема в ветке 4.4.2 для MTK видимо. Почитайте отзывы на Google Authenticator на маркете, и видимо Гуглу на эти отзывы плевать.
Если проблема не воспроизводится ни на одном Nexus-устройстве, то шансов на то, что её починят, катастрофически мало, да.
Полагаю проблема связана именно с часовыми поясами. У меня например стоит часовой пояс минск и все прекрасно работает.
То есть, если я правильно понимаю, время должно совпадать с часовым поясом. Например если вы ставите Москву и потом корректируете руками время — будет фигня. А если вы правильно подбираете часовой пояс — все будет хорошо
все верно, по стандарту TOTP используется timestamp привязанный к UTC
т.е. проблема вызвана другой проблемой (часовые пояса), которая решается вайпом или рутованием? А 4.4.2 чем выделается?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории