Appendix F. Detached Content (Contenu détaché)
Dans certaines situations, il peut être souhaitable que le contenu protégé en intégrité ne soit pas inclus dans la représentation JWS, mais soit transmis séparément. Ce cas d'utilisation est appelé « detached content » (contenu détaché). Pour créer ou vérifier un JWS avec du contenu détaché :
Création d'un JWS avec contenu détaché
Pour créer un JWS avec du contenu détaché :
- Suivez les étapes de la section 5.1 pour créer un JWS
- Dans la sortie sérialisée, remplacez la représentation encodée en base64url du JWS Payload par une chaîne vide
Format de sérialisation compacte JWS :
BASE64URL(UTF8(JWS Protected Header)) || '.' || '' || '.' || BASE64URL(JWS Signature)
Notez la chaîne vide au milieu, représentant la charge utile détachée.
Exemple (utilisant un contenu détaché) :
eyJhbGciOiJIUzI1NiJ9..dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
Notez les deux caractères point consécutifs, indiquant que la charge utile a été supprimée.
Vérification d'un JWS avec contenu détaché
Pour vérifier un JWS avec du contenu détaché :
- Obtenez le contenu de charge utile détaché à partir du contexte de l'application
- Calculez l'encodage base64url de la charge utile
- Insérez la charge utile encodée à la position de la charge utile vide dans la représentation JWS
- Suivez les étapes de la section 5.2 pour vérifier le JWS
Scénarios d'utilisation
Le contenu détaché est utile dans les scénarios suivants :
- Charges utiles volumineuses : Lorsque la charge utile est très volumineuse, il peut être souhaitable de la transmettre séparément
- Signatures multiples : Lorsque la même charge utile nécessite plusieurs signatures, cela permet d'éviter la transmission répétée de la charge utile
- Contenu existant : Lorsque le contenu est déjà disponible par d'autres moyens, seule la signature doit être transmise
- Optimisation de la bande passante : Dans les environnements à bande passante limitée, permet de réduire la quantité de données transmises
Considérations de sécurité
Lors de l'utilisation de contenu détaché :
- L'application doit s'assurer que le destinataire peut obtenir de manière fiable le contenu de charge utile correct
- Il faut prévenir les attaques de substitution de charge utile
- Des mécanismes supplémentaires (tels que le hachage du contenu) devraient (SHOULD) être utilisés pour lier la signature et la charge utile
- La méthode d'association de la signature et de la charge utile devrait (SHOULD) être clairement définie dans le protocole d'application