LE MODELE SOUS FORME DE CLAUSES DE HORN

LE MODELE SOUS FORME DE CLAUSES DE HORN

Confidentialité et algorithmes de chiffrement 

La confidentialité est historiquement le premier problème posé à la cryptographie. Il se résout par la notion de chiffrement, mentionnée plus haut. Il existe deux grandes familles d’algorithmes cryptographiques à base de clefs : • les algorithmes à clef secrète ou algorithmes symétriques, • et les algorithmes à clef publique ou algorithmes asymétriques. 

Chiffrement symétrique ou à clef secrète

Dans la cryptographie conventionnelle, les clefs de chiffrement et de déchiffrement sont identiques : c’est la clef secrète, qui doit être connue des tiers communicants et d’eux seuls. Le procédé de chiffrement est dit symétrique. Les algorithmes symétriques sont de deux types : • les algorithmes de chiffrement en continu, qui agissent sur le texte en clair un bit à la fois ; • les algorithmes de chiffrement par blocs, qui opèrent sur le texte en clair par groupes de bits appelés blocs. 

Modes de chiffrement par blocs

Les algorithmes de chiffrement par blocs peuvent être utilisés suivant différents modes, dont les deux principaux sont le mode ECB (Electronic CodeBook) et le mode CBC (Cipher Block Chaining). 

Le mode ECB (Electronic CodeBook)

Le mode du « carnet de codage électronique » (Electronic CodeBook) est la méthode la plus évidente pour utiliser un algorithme de chiffrement par blocs : un bloc du texte en clair se chiffre, indépendamment de tout, en un bloc de texte chiffré. L’avantage de ce mode est qu’il permet le chiffrement en parallèle des différents blocs composant un message.. Le mode ECB – L’inconvénient de ce mode est qu’un même bloc de texte en clair sera toujours chiffré en un même bloc de texte chiffré. Or, dans le chiffrement sur un réseau par exemple, les données à chiffrer ont des structures régulières facilement repérables par un cryptanalyste, qui pourra donc obtenir beaucoup d’informations. D’autre part, un attaquant actif pourra facilement manipuler les messages chiffrés en retirant, répétant ou interchangeant des blocs. Un autre inconvénient, qui s’applique au chiffrement par blocs en général, est l’amplification d’erreur : si un bit du texte chiffré est modifié pendant le transfert, tout le bloc de texte en clair correspondant sera faux. 

Le mode CBC (Cipher Block Chaining)

 La solution aux problèmes posés par le mode ECB est d’utiliser une technique dite de chaînage, dans laquelle chaque bloc du cryptogramme dépend non seulement du bloc de texte en clair correspondant, mais aussi de tous les blocs précédents. En mode de « chiffrement avec chaînage de blocs » (Cipher Block Chaining), chaque bloc de texte en clair est combiné par ou exclusif avec le bloc chiffré précédent avant d’être chiffré. Le premier bloc du texte en clair est, quant à lui, combiné avec un bloc appelé vecteur d’initialisation. L’utilisation d’un vecteur d’initialisation différent pour chaque message permet de s’assurer que deux messages identiques (ou dont les premiers blocs sont identiques) donneront des cryptogrammes totalement différents. – Figure 6. Le mode CBC – 23 Le gros avantage du mode CBC est donc que la structure du texte en clair est masquée par le chaînage. Un attaquant ne peut plus manipuler le cryptogramme, excepté en retirant des blocs au début ou à la fin. Un inconvénient est qu’il n’est plus possible de paralléliser le chiffrement des différents blocs (le déchiffrement reste parallélisable). On pourrait craindre que le chaînage de bloc n’entraîne une propagation d’erreur importante. De fait, une erreur d’un bit sur le texte en clair affectera tous les blocs chiffrés suivants. Par contre, si un bit du texte chiffré est modifié au cours du transfert, seul le bloc de texte en clair correspondant et un bit du bloc de texte en clair suivant seront endommagés : le mode CBC est dit autoréparateur.

 Chiffrement par blocs avec itération

Un algorithme de chiffrement par blocs avec itération est un algorithme qui chiffre les blocs par un processus comportant plusieurs rondes. Dans chaque ronde, la même transformation est appliquée au bloc, en utilisant une sous-clef dérivée de la clef de chiffrement. En général, un nombre de rondes plus élevé garantit une meilleure sécurité, au détriment des performances. Un cas particulier d’algorithmes de chiffrement par blocs avec itération est la famille des chiffres de Feistel. Dans un chiffre de Feistel, un bloc de texte en clair est découpé en deux ; la transformation de ronde est appliquée à une des deux moitiés, et le résultat est combiné avec l’autre moitié par ou exclusif. Les deux moitiés sont alors inversées pour l’application de la ronde suivante. Un avantage de ce type d’algorithmes est que chiffrement et déchiffrement sont structurellement identiques.

 Exemples d’algorithmes symétriques 

La méthode la plus employée pour concevoir un procédé de chiffrement est de chercher à réaliser une transformation suffisamment compliquée et irrégulière pour que son analyse soit difficile. Cette méthode empirique ne fournit aucune garantie quant à la résistance de l’algorithme résultant. Des exemples d’algorithmes asymétriques d’utilisation courante aujourd’hui sont le DES (Data Encryption Standard), le DES triple à deux ou trois clefs, IDEA (International Data Encryption Algorithm), RC5 (Rivest’s Code 5),… Masque jetable (one-time pad) Il existe un algorithme de chiffrement prouvé inconditionnellement sûr : le chiffre de Vernam ou masque jetable (one-time pad en anglais), inventé en 1917. Dans ce système, la « clef » a la même taille que le texte à chiffrer et est appelée masque jetable. « Masque », car cette clef est combinée par ou exclusif avec le texte en clair pour obtenir le texte chiffré ; « jetable », car une clef ne doit servir qu’une seule fois, sans quoi un cryptanalyste pourrait retrouver le texte en clair. Le point important de ce système est que la clef est générée de façon totalement aléatoire ; tout masque est alors équiprobable, si bien qu’un attaquant n’a aucune information pour baser sa cryptanalyse. En effet, si M est le message à chiffrer, C le cryptogramme correspondant et K le masque jetable, nous avons C = M ⊕ K. Supposons que le cryptanalyste connaisse C ; quel que soit M’, il existe K’ tel que C = M’ ⊕ K’, c’est K’ = M’ ⊕ C : tous les messages en clair sont équiprobables ! Sans information sur K, le cryptanalyste n’a donc aucun moyen de savoir quel est le bon texte en clair. Les principaux inconvénients de ce système sont la taille de la clef et la nécessité de posséder un générateur aléatoire pour sa création. La conséquence en est que ce système est inutilisable dans le cadre du chiffrement d’un flux important de données et reste limité à des applications extrêmes. DES (Data Encryption Standard) Le gouvernement américain a adopté, en 1977, la fonction DES (Data Encryption Standard) comme algorithme de chiffrement standard officiel. Le DES est un algorithme de chiffrement par blocs qui agit sur des blocs de 64 bits. C’est un chiffre de Feistel à 16 rondes. La longueur de la clef est de 56 bits. Généralement, celle-ci est 25 représentée sous la forme d’un nombre de 64 bits, mais un bit par octet est utilisé pour le contrôle de parité. Les sous-clefs utilisées par chaque ronde ont une longueur de 48 bits. Le DES triple est une variante du DES qui consiste à appliquer l’algorithme trois fois à chaque bloc : chiffrement, déchiffrement puis de nouveau chiffrement. Les clefs utilisées pour chaque application du DES peuvent être toutes les trois distinctes, ou bien on peut utiliser seulement deux clefs distinctes : une pour le chiffrement et une pour le déchiffrement. Dans tous les cas, la longueur efficace de la clef du triple DES ne dépasse pas 112 bits. Un nouvel algorithme, qui vise à remplacer le DES, est en cours de normalisation auprès du NIST (National Institute of Standards and Technology). Il sera désigné sous le sigle AES (Advanced Encryption Standard). IDEA (International Data Encryption Algorithm) Un autre algorithme de chiffrement répandu est IDEA (International Data Encryption Algorithm), qui a vu le jour en 1991. IDEA est un algorithme de chiffrement par blocs avec itération qui utilise une clef de 128 bits et comporte 8 rondes. 

Table des matières

Nomenclature
Introduction
Les enjeux
Chapitre 1 : Terminologie des protocoles cryptographiques
1.1. Terminologie
1.1.1 La cryptographie
1.1.1.1 Pourquoi la cryptographie?
1.1.1.2 Qu’est-ce que la cryptographie?
1.1.1.3 Les fonctions de la cryptographie. .
1.1.2 La cryptanalyse
1.2. Cryptographie et protocole cryptographiques20
1.2.1. Confidentialité et algorithmes de chiffrement .
1.2.1.1. Chiffrement symétrique ou à clef secrète .
1.2.1.1.1 Modes de chiffrement par blocs
1.2.1.1.1 .1 Le mode ECB (Electronic CodeBook)
1.2.1.1 1.2 Le mode CBC (Cipher Block Chaining).
1.2.1.1.2 Chiffrement par blocs avec itération
1.2.1.1.3 Exemples d’algorithmes symétriques
1.2.1.2. Chiffrement asymétrique ou à clef publique
1.2.1.2.1 Algorithmes à empilement
1.2.1.2.2 RSA (Rivest, Shamir, Adleman) .
1.2.2. Générateurs aléatoires et pseudo-aléatoires
1.2.3. Fonctions de hachage .
1.2.3.1. Fonctions de hachage à sens unique
1.2.3.1.1 MD5 (Message Digest 5)
1.2.3.1.2 SHA (Secure Hash Algorithm) .
1.2.3.1.3 RIPE-MD
1.2.3.2. Intégrité et authentification de l’origine des données
1.2.3.3. Signature numérique
1.2.3.3.1 DSS
1.2.3.3.2 RSA
1.2.3.4. Scellement
1.2.3.4.1 Keyed-Hash
1.2.3.4.2 HMAC
1.2.4. Protocoles cryptographiques
1.2.4.1. Protocoles à apport nul de connaissance
1.2.4.2. La notion de tiers de confiance .
1.2.4.3. Échange de clef .
1.2.4.3.1 Diffie–Hellman
1.2.4.3.2 Échange de clef et authentification mutuelle
1.2.4.3.3 Propriétés des protocoles d’échange de clef
1.2.4.3.4 Hiérarchie des clefs
1.3. Protocoles et Cryptanalyse
1.3.1. Attaques des fonctions de chiffrement
1.3.1.1. Classement des attaques en fonction des données du cryptanalyste.
1.3.1.2. Attaques sur les algorithmes symétriques
1.3.1.2.1Attaques au niveau des clefs
1.3.1.2.2 Cryptanalyse différentielle
1.3.1.2.3 Cryptanalyse linéaire
1.3.1.3. Attaques sur les algorithmes asymétriques
1.3.1.3.1 Attaques au niveau des clefs
1.3.1.3.2 Attaque à texte en clair deviné et problème de la faible entropie .
1.3.1.3.4 Attaque à texte chiffré choisi
1.3.1.3.5 Attaque temporelle
1.3.2. Attaques des générateurs pseudo-aléatoires
1.3.3. Attaques des fonctions de hachage à sens unique .
1.3.3.1 Attaque des anniversaires
1.3.4. Attaques des protocoles cryptographiques .
1.3.4.1. Attaque par mascarade
1.3.4.2. Attaque par rejeu .
1.3.4.3. Attaque par réflexion .
1.3.4.4. Attaque de l’intercepteur
CHAPITRE 2 : Modèles de protocoles cryptographiques
2. Principales hypothèses de la modélisation
2.1 Primitives cryptographiques .
2.1.1 Chiffrement .
2.1.2 Concaténation
2.1.3 Nonces
2.1.4 Typage
2.2 Intrus
2.3 Agents
2.3.1 Honnêtes/malhonnêtes
2.3.2 Mémoire
CHAPITRE 3 : Protocoles cryptographiques sous forme de clauses de Horn.
3.1 Préliminaires
3.1.1 Clauses
3.1.2 Systèmes avec contraintes.
3.2 Messages et traces
3.2.1 Composantes élémentaires
3.2.2 Messages
3.2.3 Traces
3.3 Modèle
3.3.1 Système de contraintes cryptographiques
3.3.2 Définitions
3.3.3 Discussion
3.4 Exemple.
3.4.1 Clauses indépendantes du protocole
3.4.1.1 Intrus.
3.4.1.2 Prédicats auxiliaires
3.4.2 Clauses dépendantes du protocole
3.4.2.1 Les clauses décrivant le protocole de Yahalom
3.4.2.2 Les propriétés de sécurité.
3.4.2.3 Attaque
3.5 Expressivité
CHAPITRE 4 : Modèle de Millen-Rueß
4.1 Présentation du modèle
4.1.1 Messages
4.1.1.1 Primitives cryptographiques
4.1.1.2 Ensembles parts, analz et synth
4.1.1.3 Idéaux
4.1.2 Protocole
4.1.2.1 Événements et historique.
4.1.2.2 Règles du protocole
4.1.2.3 Exemple
4.1.2.4 Transitions
4.1.3 Secret
4.1.3.1 Définition
4.1.3.2 Propriétés
CHAPITRE 5 Comparaison du modèle de clauses de Horn et du modèle de Millen-Rue ß
5.1 Traduction de la connaissance initiale.
5.2 Traduction du protocole
5.2.1 Variables
5.2.2 Règles
5.2.3 Spécification du secret
5.2.4 Correspondance
CHAPITRE 6 : Application aux protocoles cryptographiques
6.1 Expressivité
6.2 Exemple4
6.3 Description du protocole
Conclusion et perspective
Annexe
Glosaire
Bibliographie
Renseignement
Resum
Abstract

projet fin d'etude

Télécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *