Zum Inhalt

47-Tage-Zertifikate sind im Anmarsch. Sind Sie 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 zur Datenverschlüsselung und -signatur. Die Verschlüsselung und Signatur erfolgen durch eine Reihe modularer Multiplikationen. Die Sicherheit des RSA-Algorithmus lässt sich durch längere Schlüssellängen, beispielsweise 1,024 Bit oder mehr, erhöhen – je länger der Schlüssel, desto langsamer jedoch die Verschlüsselung oder Signatur. RSA zählt zu den beliebtesten und sichersten Public-Key-Verschlüsselungsverfahren. Im PKCS1 sind zwei verschiedene RSA-Signaturverfahren spezifiziert.

  • 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

    1998 entdeckte Daniel Bleichenbacher, dass die von SSL-Servern bei Fehlern in der PKCS- 1-Version-1.5-Padding-Methode zurückgegebenen Fehlermeldungen einen adaptiven Chiffretextangriff ermöglichten. Dabei sendet ein Angreifer eine Reihe von Chiffretexten zur Entschlüsselung und wählt anhand der Entschlüsselungsergebnisse weitere Chiffretexte aus. Dies erlaubte es einem Angreifer, RSA-Entschlüsselungs- und Signaturvorgänge mit dem privaten Schlüssel eines TLS-Servers durchzuführen und so die Vertraulichkeit von TLS in Verbindung 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 der Empfänger kann diese Signatur anschließend mit dem öffentlichen RSA- Schlüssel verifizieren. Es verfügt über verschiedene Parameter und ist sicherer und robuster als andere Verfahren.