Как сгенерировать QR-код для Google Authenticator, который правильно показывает Эмитент, отображаемый над OTP?
Предупреждение: передача вашего начального TOTP третьим сторонам нарушает базовое предположение о многофакторной аутентификации, заключающееся в том, что TOTP семя это секрет.
Итак, мне известна документация по этому вопросу, найденная здесь: формат URI ключа аутентификатора Google
Когда я следую этому примеру с этой страницы:
otpauth://totp/Example:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Example
И я "склеиваю" его в URL Google Charts, таким образом:
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/Example:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Example
Он отобразит действительный QR-код, и если я отсканирую его с помощью приложения Google Authenticator на своем телефоне, он начнет генерировать действительные OTP.
Однако на дисплее телефона для записи, созданной с помощью QR-кода, я получаю OTP, а под ним - "Пример: [email protected]". Я хочу, чтобы над OTP отображался "Пример", а под OTP отображался "[email protected]". Я не могу не заметить, как это делают все профессионально созданные приложения. Например, Google, Wordpress, Amazon и т.д. Название компании находится над OTP, а имя пользователя отображается под OTP. Да, это чисто косметический вопрос, но я хочу сделать это правильно.
Кто-нибудь может предложить мне подсказку?
Ответы
Ответ 1
Предупреждение: передача вашего начального TOTP третьим сторонам нарушает основополагающее предположение о многофакторной аутентификации, заключающееся в том, что TOTP семя это секрет.
Просто понял это.
Как выяснилось, мне нужно было закодировать все специальные символы в "oauth", то есть "$", "%", "=" и т.д.
Таким образом, используя тот же URL-адрес Google Charts, как и раньше, но кодируйте эти символы, например, так:
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/Example%3Aalice%40google.com%3Fsecret%3DJBSWY3DPEHPK3PXP%26issuer%3DExample
И это работает правильно.
Ответ 2
Я использую другой способ, используя локальную установку qrencode:
qrencode -o- -d 300 -s 10 "otpauth://totp/YOUR_IDENTIFICATION?secret=YOUR_SECRET" | display
Таким образом, я могу восстановить mt утраченную библиотеку ключей аутентификации из того, что у меня было на моем ноутбуке.
Ответ 3
Ответы, рекомендующие использование Google Charts, абсолютно ужасны с точки зрения информационной безопасности. По сути, мы делимся секретом TOTP, а также вашим именем пользователя ([email protected]
) и эмитентом (Example
) со сторонней компанией, не имеющей юридического обязательства хранить их в тайне, и делаем это по запросу GET
! При этом вы нарушаете не только каждое предположение, лежащее в основе многофакторной аутентификации, но и, скорее всего, политику информационной безопасности вашей организации. Он аннулирует любую добавленную стоимость MFA, поскольку единственный фактор, который защищает вас от взлома вашей учетной записи в случае взлома пароля, сам по себе нарушается.
Просто используйте любой генератор QR-кода, если он обрабатывает ваши данные локально.
НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ОНЛАЙН QR-ГЕНЕРАТОРОВ ДЛЯ СЕКРЕТОВ МИДЫ
В Linux я бы порекомендовал библиотеку python-qrcode, которая может печатать ваш QR-код, используя символы ASCII на консоли.
pip install qrcode
Тогда:
qr "otpauth://totp/Example:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Example
![enter image description here]()
Ответ 4
Просто хочу отметить, что более новые версии для Google Authenticator будут использовать параметр issuer
, описанный здесь:
https://github.com/google/google-authenticator/wiki/Key-Uri-Format#issuer
например:
https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=otpauth%3A//totp/User%2540Realm%3Fsecret%3DKO5DE2YD3Q2ZXEOO%26issuer%3DIssuer%2520Name&choe=UTF-8
Ответ 5
Перейдите в Настройки- > Изменить настройки учетной записи- > Двухэтапная аутентификация- > Приложение аутентификации (по умолчанию) → Нажмите на редактирование (отредактируйте символ в левом углу) → Сменить телефон.
Здесь вы получите QR-код. Сканирование с вашего телефона с помощью сканера штрих-кода
Валай