Aller au contenu principal

7.2 Validating a CWT

7.2. Validating a CWT (Validation d'un CWT)

Lors de la validation d'un CWT, les étapes suivantes sont effectuées. L'ordre des étapes n'est pas significatif dans les cas où il n'y a pas de dépendances entre les entrées et les sorties des étapes. Si l'une des étapes énumérées échoue, alors le CWT DOIT être rejeté -- c'est-à-dire, traité par l'application comme une entrée invalide.

  1. Vérifier que le CWT est un objet CBOR valide.

  2. Si l'objet commence par la balise CBOR CWT, la retirer et vérifier que l'une des balises CBOR COSE la suit.

  3. Si l'objet est balisé avec l'une des balises CBOR COSE, la retirer et l'utiliser pour déterminer le type du CWT, COSE_Sign/COSE_Sign1, COSE_Mac/COSE_Mac0, ou COSE_Encrypt/COSE_Encrypt0. Si l'objet n'a pas de balise CBOR COSE, le type de message COSE est déterminé à partir du contexte de l'application.

  4. Vérifier que l'en-tête COSE résultant (COSE Header) n'inclut que des paramètres et des valeurs dont la syntaxe et la sémantique sont à la fois comprises et prises en charge ou qui sont spécifiés comme devant être ignorés lorsqu'ils ne sont pas compris.

  5. Selon que le CWT est signé, MACé ou chiffré, il existe trois cas :

    • Si le CWT est un COSE_Sign/COSE_Sign1, suivre les étapes spécifiées dans la Section 4 de [RFC8152] (« Signing Objects ») pour valider un objet COSE_Sign/COSE_Sign1. Soit le Message le COSE_Sign/COSE_Sign1 payload.

    • Sinon, si le CWT est un COSE_Mac/COSE_Mac0, suivre les étapes spécifiées dans la Section 6 de [RFC8152] (« MAC Objects ») pour valider un objet COSE_Mac/COSE_Mac0. Soit le Message le COSE_Mac/COSE_Mac0 payload.

    • Sinon, si le CWT est un objet COSE_Encrypt/COSE_Encrypt0, suivre les étapes spécifiées dans la Section 5 de [RFC8152] (« Encryption Objects ») pour valider un objet COSE_Encrypt/COSE_Encrypt0. Soit le Message le plaintext résultant.

  6. Si le Message commence par une balise CBOR COSE, alors le Message est un CWT qui a fait l'objet d'opérations de signature, de MACage ou de chiffrement imbriquées. Dans ce cas, retourner à l'étape 1, en utilisant le Message comme CWT.

  7. Vérifier que le Message est une carte CBOR valide ; soit le CWT Claims Set cette carte CBOR.