heisenberg hat geschrieben: 09.10.2024 19:08:00
...dann ist das ja nichts anderes als ein - noch nicht mal besonders komplexes (16 Zeichen, alphabetisch, nur Großbuchstaben) - Zweitpasswort, das halt nochmal mit Hilfe der aktuellen Zeit durchgeschüttelt wird.
Dieses Zweitpasswort ist aber nicht mit einem Keylogger ausspähbar. Das einzige, was man mit einem Keylogger mitschneiden kann, ist das generierte TOTP und das gilt üblicherweise 30 Sekunden. Ein Angreifer, der Benutzernamen und Passwort seines Opfers ausgespäht hat, hat mit einem ausgespähten TOTP nur diese 30 Sekunden Zeit, um sich einzuloggen.
Das hat den Spruch "2FA ist ja total sicher!" für mich ja schon gerade etwas entzaubert!
Dieses "total sicher" habe ich noch nirgends gehört. Es fügt halt der einfachen Authentisierung per Benutzernamen und Passwort einen weiteren Faktor hinzu, der noch dazu nicht statisch ist sondern ständig wechselt.
Die größte Schwachstelle von TOTP ist die Stelle, an der dieses Zweitpasswort gespeichert ist. Das muß nämlich sowohl beim Client als auch beim Server im Klartext vorliegen, denn sonst kann das TOTP nicht berechnet werden.
Ich empfehle hierzu, sich mal
libpam-google-authenticator zu installieren und dann mal mit z.B. dieser
Anleitung den SSH Zugang abzusichern. Man kann dabei nur lernen, auch, wie und wo dieses Zweitpasswort gespeichert wird.
Letztlich ist es so, daß, wer den Server übernehmen kann, hat Zugriff auf die Zweitpasswörter und somit auf die TOTPs aller Benutzer, die Passwörter kennt er aber nicht, denn die sind in /etc/shadow gehasht.
Die 2FA-Verfahren, die auf SMS basieren, sind ebenfalls alles andere als sicher. Gerade bei Bankgeschäften kann ich nur davon abraten, SMS-Pins zu nutzen. Meines Wissens sind die in der EU auch gar nicht mehr erlaubt. Bestandskunden "geniessen" noch eine gewisse Übergangsfrist, bevor auch sie auf sicherere Verfahren umstellen müssen.