Ma találtam egy nagyon jó kis leírást arra, hogy hogyan lehet a Google Authenticatorját saját programunkban használni. Az Authenticator előnye, hogy mivel idő alapú a kód, így nem kell a telefonnak nethez kapcsolódnia, így bárki, akinek van Android, iPhone vagy Blackberry telefonja könnyen használhatja.

A cikk itt található: http://www.idontplaydarts.com/2011/07/google-totp-two-factor-authentication-for-php/

A forrás pedig itt: https://github.com/dwisetiyadi/CodeIgniter-PHP-QR-Code 

Ha a Google Authenticator már a telefononkun van, akkor alapból a qr code beolvasása után már mentetné is a kulcsok közé.

Ezek után a hitelesítő már szépen mutatja is az időszakos jelszavainkat.

Érdemes viszont csak másodlagos lépcsőnek alkalmazni, mivel a csak számokból álló jelszót elég gyorsan fel lehet törni brute force-al. A próbálkozási lehetőségek korlátozása ezt azért eléggé ellehetetlenítheti.

Másik, de nem olyan jellegzetes buktató, hogy a kód generálása időhöz kötött, így ha a szerver és a telefon órája nincs szinkronban, akkor a 2 kód nem fog megegyezni.

(A kódban egyébként a $window paraméter azt mondja meg, hogy visszamenőleg mennyi kódot teszteljen.