Přenos 2FA tokenů z FreeOTP do nového zařízení

Přenos 2FA tokenů z FreeOTP do nového zařízení

Jak relativně snadno přenést či zazálohovat tokeny pro dvoufaktorovou autentizaci (Two Factor Auth) z Android aplikace FreeOTP (https://freeotp.github.io/), která to sama o sobě neumožňuje.

Budete potřebovat zdrojové zařízení, počítač, USB kabel, cílové zařízení.

Příprava počítače – Instalace ADB

Na počítač si nainstalujte ADB (Android Debug Bridge). Ve Fedoře to znamená:

sudo dnf install android-tools

Příprava zařízení – Povolení ladění přes USB

V obou zařízeních povolte vývojářské možnosti, to provedete tak, že:

V případě čistého Androidu 11: Nastavení -> Informace o telefonu

V případě Samsungu (One UI 4.0): Nastavení -> Informace o softwaru

Několikrát poklepete na položku “Číslo sestavení“.

Následně musíte na obou zařízeních povolit ladění přes USB, to provedete tak, že:

V případě čistého Androidu 11: Nastavení -> Systém -> Rozšířená nastavení -> Pro vývojáře zapnete “Ladění USB

V případě Samsungu (One UI 4.0): Nastavení -> Vývojářské možnosti a zapnete “Ladění přes USB

Záloha FreeOTP do počítače

Připojte zdrojové zařízení USB kabelem do počítače.

Úspěšné připojení můžete ověřit pomocí:

adb devices

Pak už můžete vytvořit zálohu:

adb backup -f ./zaloha-freeotp.ab -noapk org.fedorahosted.freeotp

Nyní bude třeba v telefonu odsouhlasit vytvoření zálohy a za chvíli bude záloha na počítači hotová.

Po vytvoření zálohy, nezapomeňte na zdrojovém telefonu zakázat ladění přes USB a můžete jej odpojit od počítače.

Obnovení zálohy FreeOTP do nového zařízení

Připojte cílové zařízení USB kabelem do počítače a ověřte připojení jako výše.

Obnovte zálohu:

adb restore ./zaloha-freeotp.ab

Odsouhlaste v telefonu obnovu zálohy a po chvíli spuštěním FreeOTP appky ověřte, že máte všechny tokeny nyní dostupné v cílovém zařízení.

Nyní zakažte ladění přes USB a odpojte telefon.

A máte hotovo!

Poznámka pod čarou

Na GitHubu existuje projekt, který umí ze zálohy, konkrétně ze souboru tokens.xml pomocí lokálně běžícího JavaScriptu vygenerovat webovou stránku s QR kódy, které lze poté naskenovat do FreeOTP, či jiné OTP aplikace (třeba Google Authenticator):

https://github.com/viljoviitanen/freeotp-export

Postup, jak z vytvořené zálohy dostat onen tokens.xml je popsaný například tu:

https://thevaliantway.com/2018/08/freeotp-migration/

Nicméně já jsem narazil na problém, že freeotp-export nebyl schopný vygenerovat QR kód pro jeden AWS token, takže tento postup pro mě nefungoval. Nicméně tokeny na ostatní služby jako GitHub, Amazon (obchod), DropBox, Facebook, etc. se vygenerovali v pořádku, takže tento postup může být pro většinu lidí dostatečný, ač paradoxně je více pracný, než pouhé adb backup/restore, které popisuji v článku.

Comments are closed.