Solución:
Utilizo una forma diferente usando una instalación qrencode local:
qrencode -o- -d 300 -s 10 "otpauth://totp/YOUR_IDENTIFICATION?secret=YOUR_SECRET" | display
De esta manera, puedo reconstruir la biblioteca de claves de autenticación perdidas de lo que tenía en mi computadora portátil.
Las respuestas que recomiendan el uso de Google Charts son absolutamente terribles desde el punto de vista de la seguridad de la información. Eso es esencialmente compartir el TOTP secreto así como su nombre de usuario ([email protected]
) y emisor (Example
) con una empresa de terceros sin obligación legal de mantenerlos en secreto, y hacerlo a través de un GET
¡solicitud! Al hacerlo, violará no solo todos los supuestos subyacentes a la autenticación multifactor, sino también, muy probablemente, la política de seguridad de la información de su organización. Anula cualquier valor agregado por MFA, ya que el único factor que lo protege de comprometer su cuenta en caso de violación de contraseña es en sí mismo.
Simplemente use cualquier generador de códigos QR siempre que procese sus datos localmente.
NUNCA USE GENERADORES QR EN LÍNEA PARA LOS SECRETOS DE MFA
En Linux, recomendaría la biblioteca python-qrcode que puede imprimir su código QR usando caracteres ASCII en la consola.
pip install qrcode
Luego:
qr "otpauth://totp/Example:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Example
Advertencia: compartir su semilla TOTP con terceros rompe el supuesto básico de autenticación multifactor de que la semilla TOTP es secreto.
Acabo de descubrir esto.
Resulta que necesitaba codificar todos los caracteres especiales en ‘oauth’, es decir, ‘$’, ‘%’, ‘=’, etc.
Entonces, usando la misma URL de Google Charts que antes, pero codificando esos caracteres, así:
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/Example%3Aalice%40google.com%3Fsecret%3DJBSWY3DPEHPK3PXP%26issuer%3DExample
Y funciona correctamente.