Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Intégrité cryptographique

Un mécanisme d’intégrité de données, plus communément appelé code d’authentification de message (MAC1), permet de détecter d’éventuelles modifications de données (en transit ou stockées) à l’aide d’une clé secrète. Un tel mécanisme produit, à partir du message et de la clé secrète, un motif d’intégrité difficile à calculer sans connaissance de la clé secrète.

La sécurité des MAC est évaluée quant à leur résistance aux attaques par contrefaçon, où l’objectif d’un attaquant est de produire un motif d’intégrité valide pour un nouveau message sans la connaissance de la clé secrète. Dans ce contexte, on caractérise une attaque contre un MAC avec une quantité supplémentaire, , représentant la taille des requêtes liées aux tentatives de contrefaçons.2 La définition de est légèrement modifiée pour correspondre au nombre total de blocs des requêtes fournissant des couples de message et d’empreinte valides à l’attaquant.

Règle
RègleMAC
  1. Si un mécanisme d’intégrité est basé sur une primitive sous-jacente, celleci doit être conforme au référentiel.
  2. Il ne doit pas exister d’attaque classique sur le mécanisme d’intégrité nécessitant un nombre d’opérations inférieur à et une taille de requêtes inférieure à .
  3. La taille du motif d’intégrité doit être d’au moins 96 bits si la sécurité du mécanisme d’intégrité est indépendante de la taille des messages, et d’au moins 128 bits dans le cas contraire.
Reco
RecoMAC
  1. Si un mécanisme d’intégrité est basé sur une primitive sous-jacente, il est recommandé que celle-ci soit conforme aux recommandations afférentes.
  2. Il est recommandé d’employer un mécanisme d’intégrité disposant d’une preuve de sécurité dans un modèle d’adversaire pertinent.
  3. Il est recommandé d’employer un mécanisme d’intégrité produisant des motifs d’intégrité d’au moins 128 bits.
RègPQ
RèglePQMAC

Lorsqu’une sécurité post-quantique est visée et qu’un mécanisme d’intégrité est basé sur une primitive sous-jacente, celle-ci doit être conforme aux règles post-quantiques afférentes.

RecoPQ
RecoPQMAC

Lorsqu’une sécurité post-quantique est visée et qu’un mécanisme d’intégrité est basé sur une primitive sous-jacente, il est recommandé que celle-ci soit conforme aux recommandations post-quantiques afférentes.

i
Information
  • Contrairement au mode opératoire de chiffrement CBC, le mécanisme d’intégrité CBC-MAC fixe l’IV à zéro. Il est possible de construire des contrefaçons si CBC-MAC est utilisé comme le mode de chiffrement CBC, avec un IV variable.
  • Il est important de prendre en considération les capacités d’un éventuel attaquant à observer des motifs d’intégrité mais également à en obtenir pour des messages de son choix.
  • De nombreux mécanismes d’intégrité, tels que CMAC ou GMAC, ne sont sûrs que si l’on traite au plus de l’ordre de blocs de messages clairs, où désigne la taille en bits du bloc.
  • Dans certains mécanismes d’intégrité, tels que GMAC, la probabilité de forger l’empreinte d’un message augmente avec sa longueur. La règle RègleMAC.3 requiert une empreinte d’au moins 128 bits pour ces mécanismes, afin de conserver une marge de sécurité convenable pour de longs messages.
  • Un mécanisme d’intégrité vient souvent en complément d’un mécanisme assurant la confidentialité. La composition de deux mécanismes cryptographiques n’est jamais simple et doit être réalisée avec soin. À titre d’exemple, il est possible en associant un très bon chiffrement avec un très bon mécanisme d’intégrité de perdre la propriété de confidentialité.
  • Le mécanisme d’intégrité HMAC utilise une fonction de hachage cryptographique pour laquelle une résistance en collision n’est pas requise. Lorsqu’une résistance post-quantique est visée, il est donc suffisant que cette fonction de hachage produise des empreintes de 256 bits pour satisfaire à la fois la règle RèglePQMAC et la recommandation RecoPQMAC.
Mécanismes conformes
  • Le mécanisme d’intégrité CMAC utilisant l’AES-128 comme primitive de chiffrement par bloc sous-jacente est conforme aux règles RègleMAC et RèglePQMAC ainsi qu’à la recommandation RecoMAC, qu’il utilise des empreintes de 128 bits ou des empreintes tronquées à 96 bits. En revanche, ce mécanisme n’est pas conforme à la recommandation RecoPQMAC car l’AES-128 n’est pas conforme à la recommandation RecoPQPrimChiffBloc.

  • Le mécanisme d’intégrité GMAC utilisant l’AES-128 comme primitive de chiffrement par bloc sous-jacente est conforme aux règles RègleMAC et RèglePQMAC ainsi qu’à la recommandation RecoMAC s’il utilise des empreintes de taille 128 bits. En revanche, ce mécanisme n’est pas conforme à la recommandation RecoPQMAC car l’AES-128 n’est pas conforme à la recommandation RecoPQPrimChiffBloc.

  • Le mode d’intégrité HMAC utilisant SHA-256 comme fonction de hachage sous-jacente est conforme aux règles et recommandations précédentes.

Mécanismes non conformes
  • Le mécanisme d’intégrité CBC-MAC utilisé avec des messages de taille variable n’est pas conforme à la règle RègleMAC.2 car il est vulnérable à des attaques par extension.
  • Le mécanisme d’intégrité CBC-MAC « retail »3 utilisé avec DES ou Triple-DES comme primitive de chiffrement par bloc sous-jacente n’est pas conforme à la règle RègleMAC.1.

  1. De l’anglais « Message Authentication Code ».

  2. Les requêtes comptabilisées dans ne donnent pas d’information à l’attaquant, outre le fait que l’attaque ait réussi ou non.

  3. Voir annexe A.1.2