Aller au contenu principal

6. Vue d'ensemble des schémas (Overview of Schemes)

Un schéma (Scheme) combine des primitives cryptographiques et d'autres techniques pour atteindre un objectif de sécurité particulier. Ce document spécifie deux types de schémas : les schémas de chiffrement (Encryption Schemes) et les schémas de signature avec appendice (Signature Schemes with Appendix).

Les schémas spécifiés dans ce document ont une portée limitée, car leurs opérations ne comprennent que les étapes de traitement des données à l'aide d'une clé publique ou privée RSA, et n'incluent pas les étapes d'obtention ou de vérification des clés. Par conséquent, en plus des opérations de schéma, les applications incluront généralement des opérations de gestion des clés (Key Management Operations) par lesquelles les parties peuvent sélectionner les clés publiques et privées RSA pour les opérations de schéma. Les opérations supplémentaires spécifiques et d'autres détails sont en dehors de la portée de ce document.

Comme c'est le cas pour les primitives cryptographiques (Section 5), la spécification des opérations de schéma suppose que les entrées satisfont certaines conditions, en particulier que les clés publiques et privées RSA sont valides. Par conséquent, lorsque les clés ne sont pas valides, le comportement des implémentations n'est pas spécifié. L'implication de ce comportement non spécifié dépend de l'application. Les approches possibles pour aborder le problème de la validation des clés incluent : la validation explicite des clés par l'application ; la validation des clés au sein d'une infrastructure à clés publiques ; et l'attribution de la responsabilité d'effectuer des opérations avec des clés invalides à la partie qui a généré les clés.

Une pratique cryptographique généralement bonne est d'utiliser une paire de clés RSA donnée dans un seul schéma. Cela évite le risque qu'une vulnérabilité dans un schéma puisse compromettre la sécurité d'un autre, et peut être essentiel pour maintenir une sécurité prouvable (Provable Security). Bien que RSAES-PKCS1-v1_5 (Section 7.2) et RSASSA-PKCS1-v1_5 (Section 8.2) aient traditionnellement été utilisés ensemble sans aucune interaction indésirable connue (en fait, c'est le modèle introduit avec PKCS #1 v1.5), cette utilisation combinée de paires de clés RSA n'est PAS RECOMMANDÉE (NOT RECOMMENDED) pour les nouvelles applications.

Pour illustrer le risque associé à l'utilisation d'une paire de clés RSA dans plusieurs schémas, supposons qu'une paire de clés RSA soit utilisée à la fois pour RSAES-OAEP (Section 7.1) et RSAES-PKCS1-v1_5. Bien que RSAES-OAEP lui-même soit résistant aux attaques, un attaquant pourrait être en mesure d'exploiter une faiblesse dans une implémentation RSAES-PKCS1-v1_5 pour récupérer des messages chiffrés avec l'un ou l'autre schéma. Autre exemple, supposons qu'une paire de clés RSA soit utilisée à la fois pour RSASSA-PSS (Section 8.1) et RSASSA-PKCS1-v1_5. Dans ce cas, la preuve de sécurité de RSASSA-PSS ne serait plus suffisante, car la preuve ne prend pas en compte la possibilité que des signatures puissent être générées à l'aide du second schéma. Des considérations similaires peuvent s'appliquer si une paire de clés RSA est utilisée pour l'un des schémas définis ici et une variante définie ailleurs.