[Generic/OpenPGP] Schwachstellen in der Handhabung des geheimen Schlüssels
(2001-03-22 17:39:18+00)
Quelle:
http://www.i.cz/en/pdf/openPGP_attack_ENGvktr.pdf
Das OpenPGP-Schlüsselformat weist mehrere Schwachstellen auf, die ein Angreifer, der Schreibzugriff auf den geheimen Schlüssel hat, ausnutzen kann, um die Signaturerstellung so irrezuleiten, daß anhand der fehlerhaften Signatur der geheime Schlüssel ermittelt werden kann.
Betroffene Systeme
Im Prinzip alle OpenPGP-Implementationen. Bestimmte PGP-Versionen (z.B. 7.0.3) scheinen nicht verwundbar zu sein, wenn RSA-Schlüssel verwendet werden.
Beschreibung
Ein OpenPGP-secret key packet enthält eine unverschlüsselte Kopie des public key, auf den bei der Erzeugung von Signaturen zurückgegriffen wird. Dies geschieht zwingend bei DSA-Signaturen, läst sich jedoch bei RSA-Signaturen vermeiden, weshalb bestimmte RSA-Implementationen nicht verwundbar gegen die folgende Attacke sind: Der Angreifer, der Schreibzugriff auf den secret key ring des Opfers hat, tauscht die public key-Komponente des secret key packets gezielt aus. Wenn das Opfer nun eine weitere Signatur erstellt, die der Angreifer mitliest, kann der Angreifer die geheime Komponente mit wenig Aufwand ermitteln. Der Angreifer kann sich so ersparen, das Paßwort, welches den ihm vorliegenden geheimen Schlüssel schützt, zu erraten, was bei einer verantwortungsvollen Nutzung von OpenPGP seitens des Opfers für den Angreifer eine erhebliche Einsparung des Aufwandes bedeutet.
Weitere Attacken verschieben die Längen der geschützten RSA-Parameter gegeneinander oder ändern den Wert eines geschützten Parameters.
Beim RSA-Verfahren gibt es genügend hinreichend geschützte Information, anhand der geprüft werden kann, ob ein geheimer Schlüssel verändert wurde oder nicht. Bestimmte PGP-Versionen (insbesondere 7.0.3) enthalten solche Überprüfungen, weshalb sie nicht gegen modifizierte RSA-Schlüssel verwundbar sind. Der unten angebene Patch für GnuPG führt diese Überprüfungen auch dort ein. RSA-Schlüssel sollten dadurch wieder hinreichend gesichert sein. Für DSA-Schlüssel läßt sich dieses Verfahren leider nicht anwenden, denn die geschützten Daten reichen nicht aus, um die ungeschützten zu überprüfen.
Gefahrenpotential
Falls der geheime Schlüssel auf einem nicht gegen Manipulation geschützten Medium gespeichert ist:
sehr hoch
Angriffe können sich auch gegen Backup-Medien richten, die später zurückgespielt werden.
(Hinweise zur Einstufung des Gefahrenpotentials.)
Gegenmaßnahmen
- Verwenden von RSA-Schlüsseln mit PGP oder GnuPG in Verbindung mit folgenden Patch (Signatur).
- Verwendung der aktuellen Version von PGP 2.6.3(i)n.
- Speicherung von geheimen Schlüsseln nur auf zuverlässigen Medien, auch wenn ein sicheres Paßwort verwendet wird.
Weitere Information zu diesem Thema
- Analyse von Klima und Rosa
- Zusammenfassung von Hal Finney
- Boneh, D., DeMillo, A., Lipton, R., On the Importance of checking cryptographic protocols for faults (1997).
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=293