Guide Complet sur la Cryptographie et la Sécurité Numérique
Classé dans Informatique
Écrit le en
français avec une taille de 15,49 KB
Introduction à la cryptographie
La cryptographie (du grec kryptos « caché » et graphein « écrire »), littéralement « écriture cachée », est l'art de chiffrer et de déchiffrer des informations en utilisant des techniques spéciales. Elle est souvent utilisée pour permettre un échange de messages qui ne peuvent être lus que par les destinataires visés possédant les moyens de les déchiffrer.
Notions de base et définitions
Ci-dessous, nous définissons les termes essentiels utilisés en cryptographie :
- Texte en clair : Les informations d'origine qui, après l'utilisation de certaines techniques cryptographiques, deviennent un texte chiffré.
- Texte chiffré ou cryptogramme : Les renseignements obtenus après avoir chiffré un texte en clair. Cette information est inintelligible pour un tiers.
- Chiffrer : L'opération consistant à transformer un texte en clair en un code.
- Déchiffrer : L'opération inverse du chiffrement, consistant à convertir un texte chiffré ou un cryptogramme en texte brut.
- Clé de chiffrement : Information secrète utilisée pour coder et décoder le texte. C'est la « clé » qui ouvre la porte de l'information.
Les techniques de chiffrement
- Substitution : Il s'agit de changer le sens du message de base en remplaçant les lettres, chiffres ou symboles.
- Transposition : Il s'agit d'un réarrangement de l'ordre des éléments (lettres, chiffres ou symboles) du message original.
La grande majorité des chiffres modernes sont une combinaison de ces deux techniques précédentes.
La cryptographie symétrique
Un algorithme à clé symétrique utilise la même clé pour chiffrer et déchiffrer. Ces algorithmes se caractérisent par une grande rapidité de traitement. Ils n'augmentent pas le volume d'informations et il est presque impossible d'obtenir les informations en texte clair sans connaître la clé. Voici quelques exemples :
- DES : Utilise une clé de 56 bits, ce qui signifie qu'il y a 2^56 clés possibles (72 057 594 037 927 936). Un ordinateur standard peut le déchiffrer en quelques jours et une machine spécialisée en quelques heures.
- 3DES : Utilise des clés de 128 bits (2^128 combinaisons). La plupart des cartes de crédit et paiements électroniques en sont équipés.
- Autres : AES, LOKI ou GnuPG sur GNU.
L'inventeur de ce concept est Horst Feistel. Il a utilisé cette méthode pour l'algorithme LUCIFER en 1970. En 1974, il l'a proposée à la NSA, ce qui a donné naissance au standard DES. Tous les algorithmes symétriques modernes ne sont pas fondés sur le réseau de Feistel, mais en suivent les principes. Par exemple, l'AES (la norme mondiale actuelle) repose sur un réseau de substitution-permutation utilisant des S-boxes.
Les attaques cryptographiques
Une attaque cryptographique est une méthode pour contourner la sécurité d'un système en découvrant des faiblesses dans un code, un protocole ou un système de gestion des clés. Ce processus est appelé cryptanalyse.
L'attaque par force brute
En cryptographie, l'attaque par force brute consiste à tester toutes les combinaisons de clés possibles jusqu'à trouver celle qui permet l'accès. L'effort requis pour réussir avec une probabilité supérieure à 50 % sera de 2^(n-1) opérations, où n est la longueur de la clé (espace des clés).
L'attaque par dictionnaire
Une attaque par dictionnaire consiste à essayer de casser un mot de passe en testant tous les mots d'une liste prédéfinie. Cette méthode est souvent plus efficace que la force brute, car de nombreux utilisateurs utilisent des mots existants faciles à retenir, ce qui constitue une mauvaise pratique. Par exemple, le programme KeePass affiche automatiquement la force d'un mot de passe.
Conseils pour des mots de passe robustes
Une pratique courante pour créer des mots de passe faciles à retenir mais résistants aux dictionnaires consiste à utiliser les initiales d'une phrase personnelle. Par exemple : « Mon premier vélo était un BH210 m'a été donné par mon grand-père Francisco » devient MpbfuBH210qmrmaF. Ce mot de passe de 16 caractères, mêlant lettres et chiffres, est très difficile à briser par force brute.
Protection contre les attaques
Une façon simple de protéger un système est d'établir un nombre maximal de tentatives. Le système se verrouille après plusieurs échecs. C'est le cas des cartes SIM qui se bloquent après trois codes PIN erronés. Pour améliorer la sécurité, on utilise également le chiffrement hybride et la cryptographie asymétrique.
La cryptographie à clé asymétrique
Ces algorithmes utilisent des clés différentes : une clé publique pour le chiffrement et une clé privée pour le déchiffrement. Ils sont plus lents, augmentent le volume d'information et nécessitent une puissance de calcul plus importante.
Ils reposent sur des fonctions mathématiques complexes plutôt que sur de simples manipulations de bits. L'idée de base repose sur des problèmes faciles à résoudre dans un sens mais presque impossibles dans l'autre. À titre d'illustration, il est plus facile de calculer le carré d'un nombre que sa racine carrée.
Le processus de communication suit ces étapes :
- B génère une paire de clés et partage sa clé publique.
- A chiffre le message avec la clé publique de B.
- B reçoit le message et le déchiffre avec sa clé privée. Personne d'autre ne peut déchiffrer le message sans la clé privée de B.
L'avantage majeur est la résolution du problème de la distribution des clés. Cependant, la lenteur du processus conduit souvent à l'utilisation d'algorithmes hybrides.
Sécurité et taille des clés
La sécurité repose sur la clé et non sur l'algorithme. On ne peut pas comparer directement la taille des clés symétriques et asymétriques. Pour une sécurité équivalente à 80 bits en symétrique, un algorithme asymétrique nécessite de factoriser de grands nombres. Aujourd'hui, il est recommandé d'utiliser des clés publiques de 1024 bits ou plus.
Avantages et inconvénients du chiffrement asymétrique
Le principal avantage est la possibilité de chiffrer et déchiffrer avec des clés distinctes, mais le système présente des contraintes :
Temps de traitement plus long pour une même longueur de clé.
Les clés doivent être plus grandes que celles du chiffrement symétrique.
Le message chiffré occupe plus d'espace que l'original.
La cryptographie sur courbes elliptiques est une alternative plus performante.
Des outils comme PGP, SSH ou SSL utilisent un système hybride : la cryptographie asymétrique pour l'échange de clés et la cryptographie symétrique pour la transmission des données.
Algorithmes et protocoles courants
Voici quelques algorithmes asymétriques clés :
Diffie-Hellman
RSA
DSA
ElGamal
Cryptographie à courbe elliptique
Algorithmes plus anciens ou jugés dangereux :
Merkle-Hellman (algorithme du « Sac à dos »).
Protocoles utilisant ces algorithmes :
DSS (Digital Signature Standard) via DSA
PGP
GPG (implémentation d'OpenPGP)
SSH
SSL (standard IETF)
TLS
Les processus de sécurité
- Confidentialité : Garantir que l'information n'est pas accessible aux personnes non autorisées.
- Intégrité : Assurer que l'information n'a pas été modifiée.
- Authentification : Convaincre l'utilisateur que l'information provient bien d'une source autorisée.
- Signatures : Preuve de l'origine de l'information.
- Non-répudiation : Empêcher l'émetteur ou le récepteur de nier sa participation à la communication.
- Contrôle d'accès : Réguler l'accès aux seuls utilisateurs autorisés.
- Disponibilité : Garantir que l'information est accessible au moment voulu.
Le certificat numérique
Un certificat numérique est un document électronique par lequel un tiers de confiance (une autorité de certification) lie l'identité d'une entité à une clé publique. Il est régi par la norme X.509 et contient généralement :
Le nom de l'entité certifiée
Le numéro de série
La date d'expiration
Une copie de la clé publique du titulaire
La signature électronique
La signature électronique a la même valeur juridique qu'une signature manuscrite. Elle est souvent stockée sur un support matériel (puce ROM). Contrairement à une simple signature numérique stockée sur une mémoire flash (type RAM), la signature électronique est considérée comme immuable lorsqu'elle est intégrée dans un format physique sécurisé.
La carte d'identité électronique (DNIe)
En Espagne, depuis mars 2006, la carte d'identité électronique permet d'accéder à des services numériques sécurisés. Pour l'utiliser, des éléments matériels et logiciels sont nécessaires :
Éléments matériels
- Un ordinateur personnel (type Pentium III ou supérieur).
- Un lecteur de carte à puce conforme à la norme ISO-7816 (externe via USB ou intégré).
Éléments logiciels
- Systèmes d'exploitation : Compatible avec Windows (2000, XP, Vista et versions ultérieures).
- Navigateurs : Compatible avec Internet Explorer 6.0 ou supérieur.
- Modules cryptographiques : L'ordinateur doit disposer d'un Cryptographic Service Provider (CSP) sous Windows ou d'un module PKCS #11 sous UNIX/Linux et Mac.
Les pilotes spécifiques sont disponibles sur www.dnielectronico.es. Il est conseillé de suivre les instructions du fabricant pour configurer correctement le lecteur.