Zum Inhalt

47-Tage-Zertifikate sind in Planung. Bist du bereit?

Jetzt handeln →

Alles, was Sie über RSASSA-PSS wissen müssen

Alles, was Sie über RSASSA-PSS wissen müssen

Rivest Shamir Adleman (RSA) ist ein asymmetrischer Algorithmus zum Verschlüsseln und Signieren von Daten. Die Verschlüsselung und Signierung erfolgen durch eine Reihe modularer Multiplikationen. Die Sicherheit des RSA-Algorithmus kann durch die Verwendung längerer Schlüssellängen, beispielsweise 1,024 Bit oder mehr, erhöht werden. Je länger die Schlüssellänge, desto langsamer ist jedoch der Verschlüsselungs- oder Signierungsprozess. RSA ist eines der gängigsten und sichersten Public-Key-Verschlüsselungsverfahren. Es gibt zwei verschiedene RSA-Signaturschemata, die im PKCS1-Standard spezifiziert sind.

  • RSASSA-PKCS1-v1_5: altes Signaturschema mit Anhang, wie erstmals in Version 1.5 von PKCS #1 standardisiert.
  • RSASSA-PSS (RSASSA = RSA Signature Scheme mit Anhang): basierend auf dem Probabilistic Signature Scheme (PSS), das ursprünglich von Bellare und Rogaway erfunden wurde.

Unterschied zwischen RSASSA-PKCS1-v1_5 und RSASSA-PSS

RSASSA-PKCS1-v1_5RSASSA-PSS
PKCSV1_5 ist deterministisch.Es wird randomisiert, wodurch jedes Mal ein anderer Signaturwert entsteht.
Der Message Digest-Wert kann aus einer PKCSV1_5-Signatur extrahiert werden.Sie kann nicht aus einer PSS-Signatur extrahiert werden, sondern nur anhand eines bekannten Message-Digest-Werts verifiziert werden.
Weniger sicher und robustPSS verfügt über einen Sicherheitsnachweis und ist robuster als PKCSV1_5.
Das ist ein altes Schema.Es handelt sich um ein neues System.
Es wird empfohlen, um Kompatibilität mit der bestehenden Signaturanwendung zu gewährleisten.Es wird empfohlen, um die Kompatibilität mit bestehenden Signaturanwendungen zu gewährleisten. Es wird auch für die spätere Übernahme in neue Signaturanwendungen empfohlen, da es bestimmte kritische Punkte des älteren Standards nicht enthält.

Angriffe auf alte Signaturverfahren

  1. Der Bleichenbacher-Angriff

    Im Jahr 1998 fand Daniel Bleichenbacher heraus, dass die von SSL-Servern zurückgegebenen Nachrichten bei Fehlern in Public-Key-Kryptografiestandards (PKCS) #1 Version 1.5 Padding ermöglichte einen adaptiven Chiffretext-Angriff, bei dem ein Angreifer eine Reihe von Chiffretexten zur Entschlüsselung sendet und dann die Ergebnisse dieser Entschlüsselungen verwendet, um nachfolgende Chiffretexte auszuwählen. Dies ermöglichte es einem Angreifer, RSA-Entschlüsselungs- und Signierungsvorgänge mit dem privaten Schlüssel eines TLS-Servers durchzuführen und so die Vertraulichkeit von TLS bei Verwendung mit RSA-Verschlüsselung vollständig zu brechen.

  2. Fehlerbasierter Angriff

    1996 präsentierten Dan Boneh und andere einen Angriff auf RSA, der auf fehlerhaften Berechnungen basierte. Durch das Einbringen zufälliger Fehler in die RSA-Berechnungen gelang es ihnen, den privaten Schlüssel anhand der fehlerhaften Signaturen zu rekonstruieren. RSA-Implementierungen, die den Chinesischen Restsatz zur Beschleunigung der Berechnungen nutzen, sind besonders anfällig – eine einzige fehlerhafte Signatur ermöglicht die Rekonstruktion des privaten Schlüssels. Der Schutz vor solchen fehlerbasierten Angriffen ist besonders wichtig für eingebettete Systeme wie Chipkarten, die nicht zur Offenlegung des privaten Schlüssels, sondern zur Durchführung kryptografischer Operationen wie Signaturen in einer potenziell von Angreifern kontrollierten Umgebung entwickelt wurden. Weiterführende Studien haben jedoch gezeigt, dass PSS nicht anfällig für diese fehlerbasierten Angriffe ist.

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

RSASSA-PSS

RSASSA-PSS ist ein verbessertes probabilistisches Signaturverfahren mit einem Anhang. Das bedeutet, dass ein privater RSA-Schlüssel verwendet werden kann, um Daten in Kombination mit zufälligen Eingaben zu signieren. Die Gegenseite kann die Signatur anschließend mit dem zugehörigen öffentlichen RSA-Schlüssel verifizieren. Da dieses Signaturverfahren mit zufälligen Daten arbeitet, sind zwei Signaturen mit denselben Eingaben unterschiedlich und können beide zur Validierung der Originaldaten verwendet werden.

RSASSA-PSS-Parameter

  1. Hash-Algorithmus/Funktion

    Hashfunktionen werden in Verschlüsselungsverfahren, Signaturverfahren mit Anhang und verschiedenen Kodierungsverfahren eingesetzt. Sie sind deterministisch, d. h., die Ausgabe wird vollständig durch die Eingabe bestimmt. Hashfunktionen nehmen Eingabezeichenketten variabler Länge entgegen und erzeugen Ausgabezeichenketten fester Länge.

  2. Funktionen zur Maskengenerierung

    Eine Maskengenerierungsfunktion nimmt eine Oktettfolge variabler Länge und die gewünschte Ausgabelänge als Eingabe und gibt eine Oktettfolge der gewünschten Länge aus. Maskengenerierungsfunktionen (MGF) sind deterministisch. Die Ausgabe einer Maskengenerierungsfunktion sollte pseudozufällig sein, d. h., wenn der Startwert der Funktion unbekannt ist, sollte es praktisch unmöglich sein, die Ausgabe von einer wirklich zufälligen Folge zu unterscheiden. Die beweisbare Sicherheit von RSAES-OAEP und RSASSA-PSS beruht auf der Zufälligkeit der Ausgabe der Maskengenerierungsfunktion, welche wiederum auf der Zufälligkeit des zugrunde liegenden Hash-Algorithmus basiert.

  3. Salzlänge

    Es handelt sich um den Salt-Wert, der mit der Signaturoperation verknüpft ist. Das Feld dient der Vereinfachung der Verarbeitung in einem einzigen Durchlauf. Wird das Feld weggelassen, wird der Salt-Wert aus der Signatur ermittelt. Der Salt-Wert erhöht die Sicherheit des Verfahrens, indem er einen stärkeren Sicherheitsnachweis als deterministische Alternativen wie Full Domain Hashing (FDH) ermöglicht.

  4. Trailerfeld

    Es wird im Kodierungsvorgang verwendet und ist eine Ganzzahl. Der Wert MUSS 1 sein, was dem Trailerfeld mit dem Hexadezimalwert 0xBC entspricht.

Standardparameter

Hash-Algorithmus

Der Standardwert ist SHA1, jedoch wird SHA-256 empfohlen

maskGenAlgorithm

MGF1 muss verwendet werden. mgf1SHA1 (die Funktion MGF1 mit SHA-1)

Salzlänge

Der Standardwert ist 20, üblicherweise wird jedoch hLen verwendet, die Länge der Ausgabe der Hash-Funktion in Bytes.

AnhängerFeld

trailerFieldBC (das Byte 0xbc)

Es wird empfohlen, dass die MGF-Hashfunktion der Hashfunktion des Schemas ähnelt und dass die Saltlänge hLen beträgt, also der Länge der Ausgabe der Hashfunktion.

Fazit

RSASSA-PSS ist ein verbessertes Signaturverfahren mit Anhang. Es verwendet einen privaten RSA-Schlüssel zum Signieren der Daten, und anschließend kann der Empfänger diese Signatur mithilfe des öffentlichen Schlüssels überprüfen. RSA Der Schlüssel liegt in seinen vielfältigen Parametern und seiner höheren Sicherheit und Robustheit im Vergleich zu anderen Modellen.