Seit einiger Zeit ermöglicht Microsoft den Import von hardwarebasierten TOTP-Token, die den HMAC-SHA256-Algorithmus zur Generierung von Einmalpasswörtern (OTP) verwenden.
In diesem Blog-Beitrag möchten wir Ihnen folgende Fragen beantworten:
- Sind meine TOTP-Token, die nur den HMAC-SHA1-Algorithmus verwenden, unsicher?
- Kann ich meine bestehenden HMAC-SHA1-Token weiterverwenden?
- Ist ein Parallelbetrieb von HMAC-SHA1 und HMAC-SHA256 möglich?
- Welche Unterschiede gibt es beim Import von HMAC-SHA1- und HMAC-SHA256-Token?
- Wie funktioniert der Import von HMAC-SHA256-Token?
Sind meine TOTP-Token, die nur den HMAC-SHA1-Algorithmus verwenden, unsicher?
Kurz vorweg: Nein.
Dazu ein kurzer Blick auf die Funktionsweise eines OTP (Einmalpassworts):
Ein OTP wird unter Verwendung des HMAC-Verfahrens (z. B. HMAC-SHA1, HMAC-SHA256 oder HMAC-SHA512) aus einem Moving Factor und einem sicheren, zufälligen geheimen Schlüssel (Secret) generiert. Dieses Secret wird sowohl vom Client (z. B. Token) als auch vom Server (z. B. Microsoft Entra) geteilt.
SHA bezeichnet eine kryptografische Hashfunktion, die für jede Eingabe einen eindeutigen Hash-Wert erzeugt – abhängig von der verwendeten Hashfunktion in ihrer Länge. Zwar weist SHA1 bekannte Schwächen gegenüber Kollisionsangriffen auf, doch diese haben keinen Einfluss auf die Sicherheit von HMAC: HMAC kombiniert den Hashwert mit einem geheimen Schlüssel, was bedeutet, dass selbst bei kollidierenden Nachrichten kein Vorteil für Angreifer entsteht.
Die Sicherheit eines OTP ist also nicht unmittelbar abhängig vom eingesetzten Hashverfahren wie SHA1, sondern vielmehr vom Schutz des geheimen Schlüssels und einer sicheren Implementierung.
Typische Schwachstellen im OTP-Kontext:
- Kompromittierung des geheimen Schlüssels, z. B. durch Diebstahl oder unsichere Speicherung (Generierung eines gültigen OTP möglich)
- Erraten eines OTP
- Phishing-Attacken
Fazit: Die Schwächen von OTPs liegen nicht im eingesetzten Hashverfahren, sondern in der Handhabung, der Implementierung und insbesondere der sicheren Speicherung des Secrets.
Quellen:
RFC 4226 – HOTP: An HMAC-Based One-Time Password Algorithm – Appendix B
RFC 6238 – TOTP: Time-Based One-Time Password Algorithm
Kann ich meine bestehenden HMAC-SHA1-Token weiterverwenden?
Ja, Sie können Ihre TOTP-Token weiterhin verwenden.
Ist ein Parallelbetrieb von Token mit HMAC-SHA1 und HMAC-SHA256 möglich?
Ja, ein Parallelbetrieb beider TOTP-Algorithmustypen ist möglich.
Welche Unterschiede gibt es beim Import von HMAC-SHA1- und HMAC-SHA256-Token?
HMAC-SHA1-TOTP-Token können über eine Seed-Datei als CSV in der Entra-Weboberfläche oder per Microsoft Graph API (als JSON) importiert werden.
HMAC-SHA256-TOTP-Token können ausschließlich über die Microsoft Graph API importiert werden.
Wie funktioniert der Import von HMAC-SHA256-Token?
Was wird benötigt:
- Eine Seed-Datei im JSON-Format (z. B. „SNstart-SNend_azure_base32secret.json“), die wir bereitstellen (verfügbar ab 15.07.2025)
- TOTP-Token, die den HMAC-SHA256-Algorithmus verwenden
- Zugriff auf das Microsoft Entra Admin-Portal und die Microsoft Graph API
Schritt-für-Schritt-Anleitung
1. Prüfen, ob Hardware-OATH-Token in Entra aktiviert sind
- Melden Sie sich an Ihr Entra Portal an https://entra.microsoft.com/
- Navigieren Sie wie folgt zu den Authentifizierungsmethoden:
- Menü (links) → Identität → Schutz → Authentifizierungsmethoden

2. Importieren der Token
- Melden Sie sich an: https://developer.microsoft.com/en-us/graph/graph-explorer
- Stellen Sie sicher, dass Ihr Tenant gewählt ist auf dem Sie den Import ausführen wollen
- Aktivieren Sie die Berechtigung Policy.ReadWrite.AuthenticationMethod
- Wählen Sie als HTTPS-Request-Methode: POST
- Wählen Sie als Microsoft API-Version: beta
- Tragen Sie folgende URL ein: https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices
- Klicken Sie auf „Modify Permissions“ und anschließend auf „Open the permission panel“
- Suchen Sie im „Permission panel“ nach Policy.ReadWrite.AuthenticationMethod und stimmen Sie dieser zu
- Schließen Sie das „Permission panel“
- Wechseln Sie in den Reiter „Request body“
- Fügen Sie den Inhalt der JSON-Seed-Datei ein
- Starten Sie den Import
3. Nach erfolgreichem Import
Wenn die Token erfolgreich importiert wurden, erhalten Sie folgende Ausgabe:
Der Benutzer kann den Token anschließend selbst registrieren.
Noch Fragen?
Sollten Sie Fragen haben oder Unterstützung benötigen, kommen Sie gern auf uns zu und lassen Sie sich beraten.