5.1. General (Allgemeines)
5.1. General (Allgemeines)
Die Sicherheit und Stärke dieses Algorithmus hängen von den Eigenschaften des zugrunde liegenden Bausteins HOTP ab, der eine Konstruktion basierend auf HMAC [RFC2104] ist, die SHA-1 als Hash-Funktion verwendet.
Die Schlussfolgerung der in [RFC4226] detaillierten Sicherheitsanalyse ist, dass für alle praktischen Zwecke die Ausgaben der dynamischen Kürzung auf unterschiedlichen Eingaben gleichmäßig und unabhängig verteilte Zeichenfolgen sind.
Die Analyse zeigt, dass der bestmögliche Angriff gegen die HOTP-Funktion der Brute-Force-Angriff ist.
Wie im Abschnitt Algorithmusanforderungen angegeben, SOLLTEN Schlüssel zufällig gewählt werden oder unter Verwendung eines kryptographisch starken Pseudozufallsgenerators, der ordnungsgemäß mit einem Zufallswert gesät wurde.
Schlüssel SOLLTEN die Länge der HMAC-Ausgabe haben, um die Interoperabilität zu erleichtern.
Wir EMPFEHLEN, die Empfehlungen in [RFC4086] für alle Pseudozufalls- und Zufallszahlengenerierungen zu befolgen. Die zur Generierung der Schlüssel verwendeten Pseudozufallszahlen SOLLTEN den in [CN] spezifizierten Zufälligkeitstest erfolgreich bestehen oder einen ähnlichen, allgemein anerkannten Test.
Alle Kommunikationen SOLLTEN über einen sicheren Kanal stattfinden, z.B. Secure Socket Layer/Transport Layer Security (SSL/TLS) [RFC5246] oder IPsec-Verbindungen [RFC4301].
Wir EMPFEHLEN auch, die Schlüssel sicher im Validierungssystem zu speichern und sie insbesondere mit manipulationssicherer Hardware-Verschlüsselung zu verschlüsseln und sie nur bei Bedarf offenzulegen: Zum Beispiel wird der Schlüssel entschlüsselt, wenn er zur Überprüfung eines OTP-Werts benötigt wird, und sofort wieder verschlüsselt, um die Exposition im RAM auf eine kurze Zeitspanne zu begrenzen.
Der Schlüsselspeicher MUSS sich in einem sicheren Bereich befinden, um so weit wie möglich direkte Angriffe auf das Validierungssystem und die Secrets-Datenbank zu vermeiden. Insbesondere sollte der Zugriff auf das Schlüsselmaterial auf Programme und Prozesse beschränkt sein, die vom Validierungssystem benötigt werden.