8. Taxonomie des algorithmes utilisés par COSE
Dans cette section, une taxonomie des différents types d'algorithmes pouvant être utilisés dans COSE est présentée. Cette taxonomie ne doit pas être considérée comme exhaustive. De nouveaux algorithmes seront créés qui ne rentreront pas dans cette taxonomie.
8.1. Algorithmes de signature
Les algorithmes de signature sont utilisés pour l'authentification et la défense contre la modification. Les algorithmes de signature consistent en une paire de clés : une clé privée (la clé de signature) et une clé publique (la clé de vérification).
8.2. Algorithmes de code d'authentification de message (MAC)
Les algorithmes MAC sont utilisés pour l'authentification et la défense contre la modification. Les algorithmes MAC utilisent une clé secrète partagée. Le générateur et le consommateur possèdent la même clé.
8.3. Algorithmes de chiffrement de contenu
Les algorithmes de chiffrement de contenu sont utilisés pour protéger la confidentialité des données. Ces algorithmes sont des algorithmes de chiffrement authentifié (AEAD). Cela fournit une vérification de l'intégrité des données ainsi que la confidentialité. L'algorithme utilise une clé, un vecteur d'initialisation (IV) et du texte clair, et produit du texte chiffré et une étiquette d'authentification.
8.4. Fonctions de dérivation de clé (KDF)
Les fonctions de dérivation de clé sont utilisées pour générer de nouvelles clés basées sur un secret maître.
8.5. Méthodes de distribution de clé de contenu
Les méthodes de distribution de clé de contenu sont utilisées pour fournir la clé de chiffrement de contenu (CEK) à un destinataire.
8.5.1. Chiffrement direct
Cette méthode est utilisée pour les destinataires qui possèdent une copie de la CEK. Il peut s'agir d'une clé pré-partagée ou d'une clé négociée.
8.5.2. Enveloppement de clé (Key Wrap)
Cette méthode est utilisée lorsque la CEK est générée aléatoirement puis chiffrée par une clé possédée par le destinataire. Cette clé est appelée clé de chiffrement de clé (KEK).
8.5.3. Accord de clé direct
Cette méthode est utilisée lorsqu'un algorithme d'accord de clé est utilisé pour générer la CEK. Le secret partagé résultant de l'accord de clé est ensuite passé par une KDF pour dériver la CEK. La clé publique du destinataire et la clé privée de l'expéditeur sont utilisées pour l'algorithme d'accord de clé.
8.5.4. Accord de clé avec enveloppement de clé
Cette méthode est utilisée lorsqu'un algorithme d'accord de clé est utilisé pour générer une KEK. La CEK est générée aléatoirement et chiffrée à l'aide de la KEK.