Il existe différents modes de fonctionnement pour lutilisation du chiffrement par blocs, dont certains fournissent « encryption » et dont certains fournissent un chiffrement authentifié .
Pourquoi devrais-je utiliser un mode authentifié de chiffrement plutôt quun simple mode de chiffrement?
Cette question ne répond pas vise à discuter des différents modes de cryptage authentifié des modes de cryptage vrs (bien quune bonne réponse puisse choisir de le faire): son objectif est de justifier pourquoi / quand AE est meilleur que le cryptage « simple ».
Commentaires
- Une autre réponse peut être trouvée ici sur Security.SE comme écrit par DW
Réponse
La différence cruciale entre le cryptage brut et le cryptage authentifié (AE) est-ce que AE fournit en plus des authenticité, tandis que le cryptage simple nassure que la confidentialité. Examinons en détail ces deux notions.
Dans la suite du texte, nous supposons que $ K $ est une clé secrète, qui est connue aux parties autorisées, mais inconnues des attaquants.
Objectifs
Confidentialité (confidentialité) signifie quun attaquant ne peut obtenir aucune information sur le texte en clair $ P $ à partir du texte chiffré $ E_K (P) $ sauf, éventuellement, pour la longueur. En dautres termes, le texte chiffré ressemble à une chaîne aléatoire pour ceux qui ne connaissent pas $ K $ , même sils ont un certain contrôle sur le texte en clair. Toutes les méthodes de chiffrement du folklore, du bloc à usage unique à Enigma, garantissent la confidentialité (sous certaines hypothèses) et uniquement celle-ci.
Données authenticité (intégrité) signifie qu’une partie autorisée (destinataire), qui possède $ K $ , peut vérifier si le reçu Les données ved $ D $ sont authentiques, cest-à-dire quelles nont été construites que par un expéditeur qui connaît $ K $ . Les données peuvent être en texte clair ou en texte chiffré, et il y a une différence subtile ce qui est authentique dans chaque cas: si le texte chiffré est authentifié, alors nous savons que le propriétaire de la clé a autorisé le texte chiffré, mais pas nécessairement du texte brut. Un moyen traditionnel d’obtenir l’authenticité consiste à utiliser le code d’authentification de message (MAC): $$ H_K (D) = T, $$ où $ T $ sappelle tag . Dans le monde de la cryptographie à clé publique, le même objectif est atteint avec les signatures numériques.
Ce dont vous avez besoin
Un utilisateur est généralement en mesure de décider laquelle de ces propriétés il recherche. Par exemple, sil sait quun attaquant ne peut pas modifier les données, il peut ne pas avoir besoin de les authentifier. Cependant, sil a besoin des deux, il existe des moyens sûrs et non sécurisés de combiner les régimes de deux types. Par exemple, une approche naïve pour utiliser la même clé $ K $ dans les deux schémas est dangereusement dangereuse pour la plupart des instanciations. Par conséquent, un schéma combiné est recommandé.
Chiffrement authentifié
Le cryptage authentifié (AE) assure simultanément la confidentialité et lauthenticité des données. Un schéma AE est généralement plus compliqué que les schémas de confidentialité uniquement ou dauthenticité uniquement. Cependant, il est plus facile à utiliser, car il ne nécessite généralement quune seule clé, et il est plus robuste, car il y a moins de liberté pour lutilisateur de faire quelque chose de mal (voir aussi un réponse plus élaborée ).
En tant que fonctionnalité distincte, un schéma de chiffrement authentifié peut authentifier, mais pas chiffrer, une partie de son entrée, qui est appelée données associées . Par exemple, nous pouvons souhaiter crypter le contenu dun paquet Internet, mais nous devons laisser son en-tête non crypté mais toujours lié aux données internes.
Sécurité
Nous navons pas encore précisé ce que nous entendons par schéma sécurisé . Apparemment, il existe plusieurs notions de sécurité, et lutilisateur doit choisir parmi elles en fonction des capacités quil attend dun adversaire.
Pour les modes de fonctionnement confidentialité uniquement , les plus populaires La notion de sécurité traite des attaques en texte clair choisi . Soit $ E $ un schéma de chiffrement. Nous supposons que ladversaire connaît non seulement certains textes clairs $ P $ , mais quil est également capable den choisir certains pour le chiffrement (cest une situation assez pratique).Par conséquent, nous permettons à ladversaire de choisir nimporte quel texte en clair pour le chiffrement, et plusieurs fois de suite. Ce que nous exigeons toujours dun schéma sécurisé, cest quil génère des textes chiffrés à la recherche aléatoire dans chaque cas: $$ E_K (P_1), E_K (P_2), \ ldots, E_K (P_n) \ sim RandomString (| P_1 | + | P_2 | + \ cdots + | P_n |) $$
Ladversaire ne peut pas distinguer lensemble des textes chiffrés quil obtient à partir dune sortie de vrai générateur de bits aléatoires de la même longueur, même si ladversaire répète ses textes en clair. Cette dernière exigence implique que le système doit être non déterministe, et en fait, les modes de confidentialité uniquement qui satisfont à ces exigences sont soit probabilistes, soit non fondés sur le jeu.
Je note quil existe des notions de sécurité folkloriques qui concernent la sécurité du schéma avec la possibilité de récupérer la clé $ K $ elle-même. Cela était pertinent lorsque la clé pouvait être utilisée ailleurs, mais cest beaucoup moins courant maintenant, et la notion de sécurité décrite ci-dessus prévaut.
La sécurité des modes dauthenticité est définie dans dune manière différente. Soit $ H_K $ un tel schéma avec la clé secrète $ K $ . Nous exigeons que si ladversaire choisit des données $ D $ qui nont pas encore été authentifiées, alors ses chances de deviner la balise $ T $ tels que $$ H_K (D) = T $$ sont négligeables. Sil soumet la paire $ (D, T) $ à un vérificateur, il obtiendra la réponse $ \ perp $ (erreur).
Notez que nous navons pas parlé des attaques par texte chiffré choisi sur les modes de confidentialité uniquement. Il sagit dattaques lorsque ladversaire peut également envoyer ses propres textes chiffrés pour le déchiffrement. Bien que ce paramètre apparaisse également dans la pratique (même si moins souvent que les attaques en texte clair choisies), les schémas de confidentialité uniquement ne peuvent pas résister à de telles attaques. Pour établir ce type de sécurité, lutilisateur doit se tourner à nouveau vers le cryptage authentifié .
La sécurité des schémas de cryptage authentifiés est définie en deux parties. Premièrement, à linstar des modes de confidentialité uniquement, ladversaire doit être incapable de distinguer les textes chiffrés des chaînes aléatoires. Deuxièmement, quel que soit le faux texte chiffré (non créé sur $ K $ ) quelle envoie pour le déchiffrement, elle est susceptible dobtenir $ \ perp $ en réponse.
Par conséquent, les modes de chiffrement authentifiés vous offrent également une sécurité contre les attaques de texte chiffré choisi si nécessaire.
Fonctionnement
Il existe de nombreux schémas de chiffrement authentifiés intégrés : CCM, GCM, OCB, EAX, etc. , où les mécanismes qui établissent la confidentialité et lauthenticité sont étroitement liés. La conception de ces schémas va bien au-delà du sujet. Cependant, il existe un schéma composé simple, bien connu sous le nom de Encrypt-then-MAC, qui fonctionne comme suit. Soit $ K_1, K_2 $ des clés secrètes, $ P $ que le texte en clair, $ E $ être un mode de chiffrement, et $ H $ un MAC. Puis le schéma $$ \ Pi_ {K_1, K_2}: M \ rightarrow E_ {K_1} (M) || H_ {K_2} (E_ {K_1} (M)) $$ est un schéma de chiffrement authentifié sécurisé si $ E $ est un mode de confidentialité sécurisé et $ H $ est un mode dauthenticité sécurisé.
Fonctionnalités supplémentaires des schémas de chiffrement authentifiés
En plus de fournir à la fois la confidentialité et lauthenticité, les schémas de chiffrement authentifiés peuvent avoir un certain nombre de fonctionnalités supplémentaires. Aucun schéma ne les a tous, donc le meilleur choix est déterminé par les paramètres de lutilisateur.
-
Niveau de sécurité . Un schéma garantit la confidentialité et lauthenticité des données uniquement en haut à certains liés à la quantité de données chiffrées ou de demandes de déchiffrement. Cette limite est généralement bien inférieure à lespace clé et, pour les modes basés sur AES, elle ne dépasse généralement pas 2 $ ^ {64} $ .
-
Parallélisme Si beaucoup de ressources sont disponibles, on peut souhaiter exécuter le chiffrement, le déchiffrement ou la vérification en parallèle. Les modes qui utilisent le chaînage (comme ceux dérivés du cryptage CBC ou de la construction en éponge) sont difficiles à paralléliser.
-
Chiffrement en ligne . Nous disons quun schéma est en ligne, sil permet de crypter immédiatement lorsque les données sont disponibles, à linsu de leur longueur.
-
Utilisation des brevets . Lun des schémas AE les plus intéressants, le mode OCB, est breveté et est moins fréquent ly utilisé et analysé en raison de cette propriété.Il est souvent souhaitable que le système soit exempt de brevets.
-
Mise à jour des balises . La plupart des schémas, à quelques exceptions près comme GCM, nécessitent de recalculer presque tout le texte chiffré si une petite partie du texte brut est modifiée. Si le texte chiffré peut être mis à jour rapidement, cela permettrait un traitement beaucoup plus rapide de grandes quantités de données chiffrées, par exemple le chiffrement du disque dur.
-
Utilisation de nonces ou aléatoire IVs . Les nonces et les IV aléatoires conduisent à des modèles de sécurité distincts, qui sont souvent incompatibles (les schémas peuvent être sécurisés avec des nonces, mais pas avec des IV aléatoires de même longueur, ou vice versa). Bien que lunicité du nonce puisse être plus difficile à garantir, les IV aléatoires nécessitent un mécanisme de génération de nombres aléatoires séparé et conduisent à lexpansion du texte chiffré.
-
Clé variable, nonce, ou la longueur de la balise . Les trois paramètres sont généralement limités par lapplication qui utilise un schéma AE. À leur tour, les systèmes AE ont leurs propres restrictions, parfois incompatibles. Plus le schéma est varié, plus il convient aux applications.
-
Traitement des données associées . Tous les schémas modernes permettent lauthentification des données associées, qui ne sont pas cryptées. Cependant, certains dentre eux ne peuvent pas prétraiter AD avant la fin du texte brut, ce qui pourrait nuire aux performances.
Lectures supplémentaires
Le rapport technique de Rogaway est une enquête complète sur la confidentialité -uniquement les modes, les MAC et certains modes de cryptage authentifié. Il contient également tous les détails formels sur les notions de sécurité.
Commentaires
- Je pourrais ajouter que dans de nombreuses situations pratiques, le choix du schéma de chiffrement authentifié est largement dicté par convention ou protocoles appropriés. Il est très courant que les gens froncent les sourcils face au chiffrement authentifié, mais dans la pratique, jai ‘ vu que les implémentations personnalisées de MAC-then-encrypt et de crypter-then-MAC ont des défauts que des utilisations de cryptage authentifié. En effet, la mise en œuvre correcte de la combinaison nécessite beaucoup dattention pour les détails.
- En termes de propriétés supplémentaires, éviter la création de canaux secondaires (en particulier les canaux secondaires de synchronisation) a été essentiel pour évaluer la sécurité dune suite de chiffrement AE (AD). Dun point de vue pratique, cela signifie quil est possible dimplémenter le chiffrement de telle sorte quil sexécute à un moment qui nest pas affecté par la clé ou le texte brut dentrée.
Réponse
Lorsque nous transmettons des informations sur un canal non sécurisé, nous souhaitons que nos données soient sécurisées.
Alors, quest-ce que cela signifie? Pour en discuter, nous utiliserons la situation cryptographique standard dAlice et Bob. Alice veut envoyer quelque chose (le texte en clair ) à travers un canal non sécurisé (ce que cela signifie sera discuté) à Bob. Ce canal sera être écouté par Eve (une espionne) et Mallory (qui essaie dinterférer de manière malveillante) – ce que cela signifie sera discuté en temps voulu.
Confidentialité : LorsquAlice envoie un message à Bob, nous exigeons quune Eve qui écoute leur communication ne puisse rien apprendre sur le contenu de leurs messages.
Justification : Sinon, Eve pourrait apprendre quelque chose quAlice / Bob ne souhaite pas partager
Solution: Nous utilisons le chiffrement , qui transforme le texte en clair en un texte chiffré qui (dans un sens théorique de linformation ) ne contient que des informations sur le texte brut qui ne peuvent pas être extraites. Cela signifie que (paraphrasant Goldwasser ) Eve peut en apprendre davantage sur le texte en clair étant donné quelle connaît le texte chiffré, elle peut également en déduire sans le texte chiffré.
Même dans ce cas, nous devons être prudents. Tout simplement parce quun stratagème résiste à un attaquant passif (quelquun qui écoute simplement le flux de messages), ne le rend pas fort contre un attaquant actif. Par exemple, considérez CBC Le mode est utilisé. Il est sécurisé dans le jeu IND – CPA , Cependant, dans le jeu CCA , nous permettons à lattaquant de demander le déchiffrement des messages (mais pas le déchiffrement du texte chiffré) . Ce quil peut faire, étant donné le texte chiffré $ c = {\ small IV} \ mathbin \ | c_1 \ mathbin \ | \ dots \ mathbin \ | c_n $, cest demander le déchiffrement de $ c « = a \ mathbin \ | c $, où $ a $ est un message non vide. Ce nest pas égal au texte chiffré, il est donc autorisé dans le jeu, et en ne prenant que les derniers blocs $ n $, il peut extraire le déchiffrement du texte chiffré.
Un tel exemple nest pas aussi artificiel que vous le pensez, car ce que nous modélisons comme un oracle de décryptage pourrait bien exister en ce que lattaquant peut être en mesure de déchiffrer les chaînes, mais que les données auxquelles il peut demander decrypt peut devoir commencer par une chaîne spécifique (similaire à lidée dune injection SQL).
Authenticité : Lorsque Bob reçoit un message, il sait quil vient certainement dAlice.
Justification: Sinon, Mallory pourrait envoyer un message à Bob en le prétendant dAlice sans que Bob le sache. Par sécurité prouvable, nous « est très indulgent sur ce que cela signifie pour Mallory de créer un faux message – il gagne sil peut créer nimporte quel message que Bob accepte (même si cest presque le même que celui quAlice lui a déjà envoyé). Il existe de nombreuses façons de procéder, telles que la relecture, la réorganisation ou les attaques par retournement de bits.
Solution: Pour réaliser lauthentification seule, nous pouvons utiliser un MAC .
Authenticité et confidentialité : Alice et Bob communiquent en toute confidentialité, et chaque message est authentique.
Justification: Si un flux est uniquement confidentiel (cest-à-dire le chiffrement mais pas le chiffrement authentifié), alors un espion pourrait être en mesure de modifier le message en transit, même sil ne saurait ce que cétait. Par exemple, supposons quAlice & Bob utilise le parfaitement sécurisé One Time Pad ( OTP ) avec la clé secrète $ k $ et le message $ m $:
$$ A \ text {envoie} c = m \ oplus k \ à B \\ \ prec M \ text {intercepte} c \ succ \\ M \ text {envoie} c « = c \ oplus h \ to B \ text {(pour une valeur} h) \\ B \ text {recieves} c » \ text {de M, mais pense que cest} c \ text {envoyé de} A \\ B \ text {décrypte} m « = c » \ oplus k = c \ oplus h $$ Cela signifie que $ B $ a reçu le message $ m « $, mais il pense que cest $ m $.
Donc, supposons que le protocole ne soit pas authentifié et que Mallory sache que le message quAlice va envoyer à Bob est » Jaccepte denvoyer £ ??? au compte # ???? « pour certaines valeurs de ???. Même sils ne peuvent » pas savoir exactement ce quest le compte, et donc peut-être quils « ne peuvent pas envoyer le paiement sur leur propre compte, ils peuvent changer ce nest donc plus le compte dAlice.
Solution: Chiffrement authentifié!
Un bon article qui explique la nécessité dAE est ce billet de blog de Matthew Green. cet article de Rogaway constitue une introduction plus technique aux modes de fonctionnement.
Commentaires
- Le seul schéma de chiffrement qui assure la sécurité de la théorie de linformation est le pavé à usage unique. Les schémas de chiffrement IND-CPA garantissent uniquement que les informations ne peuvent pas être extraites à partir du texte chiffré par un adversaire poly-temporel probabiliste.
- Ah oui, ce nétait pas clair (/ incorrectement!) écrit. Merci de lavoir édité – jallais le mettre comme ‘ ne contient aucune information < pouvant être extraite > ‘
- En fait, beaucoup de » confidentialité uniquement » modes en fait même don ‘ t donner une bonne confidentialité lorsquil est attaqué par un attaquant actif (qui peut modifier les messages ou monter des attaques en clair ou en texte chiffré choisies) . Par conséquent, ces modes dans la pratique (pour un canal de communication) doivent être utilisés avec un certain MAC même pour simplement obtenir la partie confidentielle. Un mode AE ne fait que les combiner en un seul.
- @ PaŭloEbermann / Nimporte qui dautre: je ne ‘ je ne pense pas que ‘ ai écrit une bonne réponse ici (cest vendredi soir après tout!) mais je voulais juste mettre quelques premières pensées. Nhésitez pas à ajouter vos propres réponses / éditer celle-ci / écrire les vôtres. Si les gens pensent que ma réponse est » assez proche » dune bonne réponse (je la relire, je ne ‘ t) alors vous ‘ êtes invité à simplement modifier ou réutiliser mes mots dans les vôtres.
- Je pense quAE assure également lintégrité ( en.wikipedia.org/wiki/Authenticated_encryption ) donc peut-être souhaiter lajouter également ..