6. Überblick über Schemata (Overview of Schemes)
Ein Schema (Scheme) kombiniert kryptographische Primitive und andere Techniken, um ein bestimmtes Sicherheitsziel zu erreichen. Dieses Dokument spezifiziert zwei Arten von Schemata: Verschlüsselungsschemata (Encryption Schemes) und Signaturschemata mit Anhang (Signature Schemes with Appendix).
Die in diesem Dokument spezifizierten Schemata sind im Umfang begrenzt, da ihre Operationen nur die Schritte zur Verarbeitung von Daten unter Verwendung eines öffentlichen oder privaten RSA-Schlüssels umfassen und nicht die Schritte zum Erhalten oder Überprüfen von Schlüsseln. Daher werden Anwendungen zusätzlich zu den Schema-Operationen in der Regel Schlüsselverwaltungsoperationen (Key Management Operations) einschließen, durch die Parteien öffentliche und private RSA-Schlüssel für die Schema-Operationen auswählen können. Spezifische zusätzliche Operationen und andere Details liegen außerhalb des Umfangs dieses Dokuments.
Wie bei den kryptographischen Primitiven (Abschnitt 5) geht die Spezifikation der Schema-Operationen davon aus, dass die Eingaben bestimmte Bedingungen erfüllen, insbesondere dass die öffentlichen und privaten RSA-Schlüssel gültig sind. Daher ist das Verhalten von Implementierungen nicht spezifiziert, wenn Schlüssel ungültig sind. Die Auswirkungen dieses nicht spezifizierten Verhaltens hängen von der Anwendung ab. Mögliche Ansätze zur Behandlung des Schlüsselvalidierungsproblems umfassen: explizite Schlüsselvalidierung durch die Anwendung; Schlüsselvalidierung innerhalb einer Public-Key-Infrastruktur; und Zuweisung der Verantwortung für die Durchführung von Operationen mit ungültigen Schlüsseln an die Partei, die die Schlüssel generiert hat.
Eine allgemein gute kryptographische Praxis besteht darin, ein gegebenes RSA-Schlüsselpaar nur in einem Schema zu verwenden. Dies vermeidet das Risiko, dass eine Schwachstelle in einem Schema die Sicherheit eines anderen kompromittieren könnte, und kann entscheidend für die Aufrechterhaltung nachweisbarer Sicherheit (Provable Security) sein. Obwohl RSAES-PKCS1-v1_5 (Abschnitt 7.2) und RSASSA-PKCS1-v1_5 (Abschnitt 8.2) traditionell zusammen ohne bekannte nachteilige Wechselwirkungen verwendet wurden (tatsächlich ist dies das mit PKCS #1 v1.5 eingeführte Modell), wird diese kombinierte Verwendung von RSA-Schlüsselpaaren für neue Anwendungen NICHT EMPFOHLEN (NOT RECOMMENDED).
Um das Risiko zu veranschaulichen, das mit der Verwendung eines RSA-Schlüsselpaars in mehreren Schemata verbunden ist, nehmen Sie an, dass ein RSA-Schlüsselpaar sowohl für RSAES-OAEP (Abschnitt 7.1) als auch für RSAES-PKCS1-v1_5 verwendet wird. Obwohl RSAES-OAEP selbst gegen Angriffe resistent ist, könnte ein Angreifer möglicherweise eine Schwäche in einer RSAES-PKCS1-v1_5-Implementierung ausnutzen, um mit einem der beiden Schemata verschlüsselte Nachrichten wiederherzustellen. Ein anderes Beispiel: Nehmen Sie an, dass ein RSA-Schlüsselpaar sowohl für RSASSA-PSS (Abschnitt 8.1) als auch für RSASSA-PKCS1-v1_5 verwendet wird. In diesem Fall wäre der Sicherheitsbeweis von RSASSA-PSS nicht mehr ausreichend, da der Beweis die Möglichkeit nicht berücksichtigt, dass Signaturen mit dem zweiten Schema generiert werden könnten. Ähnliche Überlegungen können gelten, wenn ein RSA-Schlüsselpaar für eines der hier definierten Schemata und eine anderswo definierte Variante verwendet wird.