In primo luogo, ci sono in realtà molti modi in cui 2FA potrebbe funzionare, il modo più semplice è quello di ricevere un SMS con un codice di accesso dal tuo servizio durante ciascuno dei tuoi accessi. Anche se questo è un po 'meno sicuro perché potrebbe essere intercettato, in questo modo non ti dovrebbe essere richiesto di aggiornare le tue impostazioni 2FA se cambi il telefono mantenendo la SIM.
Un altro modo in cui 2FA potrebbe funzionare è installare un generatore di token sul telefono, un'app dal fornitore di servizi. Ad esempio un generatore One-Time Password basato sul tempo. Il punto qui è che il tuo telefono può generare un token in qualsiasi momento anche senza accesso alla rete.
Poiché un tale generatore funziona allo stesso modo su tutti i telefoni ed è un algoritmo deterministico, è necessario che sul telefono sia necessario un codice o una chiave per verificare che effettivamente sia stato generato sul telefono . Se l'app utilizza qualcosa come il tuo numero di chiamata, chiunque lo sappia, potrebbe generare un codice valido per il tuo account. Anche i numeri di serie della tua SIM o dell'hardware hanno difetti simili. Quindi un modo migliore è avere una chiave casuale disponibile solo sul tuo telefono specifico e in qualche modo al tuo servizio (per la verifica). A parte questo, di solito non solo si perde un problema al telefono ma si elimina anche l'app del generatore.
Tuttavia, una chiave di questo tipo significa che la modifica del telefono implica necessariamente una diversa installazione dell'app sul nuovo telefono con una nuova chiave (o non). E per motivi di sicurezza, la tua vecchia chiave non dovrebbe essere disponibile per nessun servizio di sincronizzazione, quindi non dovrebbe esserci alcun mezzo per copiarla.
Motivo per cui il recupero del tuo account è così complicato, è che è per definizione un modo per by-pass il 2FA. Ciò significa che se ci fosse un modo semplice per il tuo recupero, c'è anche un modo semplice per i cattivi di accedere al tuo account mentre stai usando 2FA. Rifiutando completamente questo (come Github), garantisce che una volta abilitato 2FA, difficilmente gli altri possano aggirarlo.