Ich bin nicht 100 % sicher, ob diese Frage hierher oder ins Kryptografie-Forum gehört, aber ich versuche es trotzdem.
Ich hätte gern eine Vorstellung davon, wie Software-Authentifizierungs-Apps wie Google Authenticator, Duo, Okta usw. das Geheimnis (also den Seed) für die TOTP- und HOTP-Authentifizierung speichern. Da sie alle offline funktionieren können, bedeutet dies, dass die Seeds irgendwo auf dem Client-Gerät gespeichert sind. Sind sie überhaupt verschlüsselt? Oder besteht keine Notwendigkeit, sie zu schützen, da der Besitz des Geräts selbst die einzige Voraussetzung für eine solche OTP-Authentifizierung ist?
Antwort1
Sie verlassen sich auf die Sicherheit, die das Gerät bietet.
Android und iOS haben ein viel strengeres Sicherheitsmodell als Desktop-Computer. Jede App hat ihren privaten Speicher, auf den andere nicht zugreifen können. Unter normalen Umständen reicht es aus, den Seed in diesem Speicher zu speichern und der App keine Möglichkeit hinzuzufügen, ihn zu extrahieren. Dieser Speicher sollte auch als nicht sicherungsfähig gekennzeichnet werden, da dies die Extraktion von Seeds ermöglichen oder sie in einem Speicher speichern würde, der als nicht sicher genug gilt (Cloud eines Drittanbieters).
Auf diesen privaten Speicher kann zugegriffen werden, wenn das Gerät gerootet oder gejailbreakt ist. Daher ist die Verwendung eines solchen Geräts als TOTP-Token nicht sicher.