
Kun aloin parantaa omaa yksityisyyttäni, rupesin miettimään, kuinka paljon luotan Google Authenticatoriin. Halusin koodit salasananhallintaan, jonka valitsen itse. En halunnut syöttää jokaista salaisuutta matkalla jollekin muunnossivustolle.
Tein siksi pienen työkalun, joka toimii kokonaan omalla koneella. Se on nyt julkinen: totp-migrator.
Ongelma
Google Authenticator osaa viedä tilit, mutta vain QR-koodeina omassa muodossaan. 1Password, Bitwarden, Vaultwarden, Aegis ja LastPass eivät lue niitä. Useimmat muuntimet ovat verkkosivuja. Silloin liität jokaisen kaksivaiheisen tunnistuksen salaisuuden jonkun toisen JavaScriptiin.
Mitä totp-migrator tekee
Se lukee kahta syötettä:
- Google Authenticatorin vienti-QR:n
otpauth-migration://-osoitteen. Iso vienti jakautuu usealle QR-koodille, ja työkalu tarkistaa, että kaikki ovat mukana. - tavalliset
otpauth://totp/-osoitteet, joita useimmat muut todennussovellukset osaavat viedä
Se kirjoittaa tuontitiedoston sovellukselle, johon siirryt: 1Password, Bitwarden tai Vaultwarden, Aegis, LastPass tai pelkkä osoitelista.
totp-migrator decode accounts.txt
totp-migrator export -f bitwarden -o vault.json accounts.txt

Työkalu on yksi Python-paketti ilman riippuvuuksia. Voit lukea koko koodin ennen kuin annat sille salaisuutesi.
Miten yksityisyys on hoidettu
Työkalu käsittelee avaimia jokaiseen tiliin, jonka olet suojannut kaksivaiheisella tunnistuksella. Siksi oletusten pitää olla tiukat.
- Mitään ei lähde verkkoon. Testi kaatuu, jos paketti joskus tuo verkkokirjaston.
- Salaisuudet eivät näy ruudulla. Näet palvelun, tilin nimen ja asetukset. Salaisuudet ja koodit näkyvät vain
--reveal-valinnalla. Viimeinen tarkistus estää tulostamasta mitään, missä on salaisuus. Jos tulevassa versiossa on bugi, ajo kaatuu eikä vuoda. - Ei mitään komentohistoriaan. Työkalu ei ota osoitteita komentoriviparametreina eikä lue niitä suoraan terminaalista, jossa ne jäisivät ruudulle.
- Tiedostot huolella. Linuxissa ja macOS:ssä vientitiedostoa voit lukea vain sinä. Työkalu ei koskaan kirjoita olemassa olevan tiedoston päälle.
- Tiukka lukija. Google ei ole julkaissut vientimuotoa. Jos lukija näkee jotain, mitä se ei ymmärrä, se pysähtyy eikä arvaa.
Mitä oikeasti testasin
En halua luvata enempää kuin olen tarkistanut. README:ssä on siksi taulukko siitä, mitä on testattu:
- 1Password: työkalun ensimmäinen versio siirsi omat tilini samalla pohjalla. Jokainen koodi täsmäsi ennen kuin poistin Google Authenticatorin.
- Bitwarden ja Vaultwarden: jokainen muutos testataan tuomalla tiedosto oikeaan Vaultwardeniin Bitwardenin virallisella komentorivityökalulla. Jokainen koodi tarkistetaan.
- LastPass: samassa testissä CSV-tiedoston lukee Bitwardenin LastPass-tuonti. LastPassiin en ole sitä vielä tuonut.
- Aegis: tiedosto noudattaa Aegisin dokumentoitua muotoa. Tuontia en ole vielä kokeillut.
Mitä työkalu ei suojaa
Vientitiedosto on selväkielinen, koska sovellukset tuovat sellaisen. Samoin QR-kuvakaappaukset, jotka annat työkalulle. Tuo tiedosto, vertaa muutamaa koodia vanhassa ja uudessa sovelluksessa, poista tiedostot ja poista tilit Google Authenticatorista vasta sen jälkeen.
Kokeile
github.com/ollijunes/totp-migrator
Issuet ja pull requestit ovat tervetulleita. Älä liitä niihin oikeaa QR-koodia, osoitetta tai vientitiedostoa. Reposta löytyy apuvälineet keinotekoisen esimerkin tekemiseen.
