Cryptosystèmes

Un cryptosystème est une mise en œuvre de techniques cryptographiques et de leur infrastructure associée pour fournir des services de sécurité de l'information. Un cryptosystème est également appelécipher system.

Discutons d'un modèle simple de cryptosystème qui assure la confidentialité des informations transmises. Ce modèle de base est représenté dans l'illustration ci-dessous -

L'illustration montre un expéditeur qui souhaite transférer des données sensibles à un récepteur de telle sorte que toute partie interceptant ou écoutant le canal de communication ne puisse pas extraire les données.

L'objectif de ce cryptosystème simple est qu'à la fin du processus, seuls l'expéditeur et le destinataire connaîtront le texte en clair.

Composants d'un cryptosystème

Les différents composants d'un cryptosystème de base sont les suivants -

  • Plaintext. Ce sont les données à protéger lors de la transmission.

  • Encryption Algorithm.Il s'agit d'un processus mathématique qui produit un texte chiffré pour tout texte brut et clé de chiffrement donnés. Il s'agit d'un algorithme cryptographique qui prend du texte en clair et une clé de chiffrement en entrée et produit un texte chiffré.

  • Ciphertext.Il s'agit de la version brouillée du texte brut produit par l'algorithme de chiffrement à l'aide d'une clé de chiffrement spécifique. Le texte chiffré n'est pas protégé. Il coule sur la chaîne publique. Il peut être intercepté ou compromis par toute personne ayant accès au canal de communication.

  • Decryption Algorithm,Il s'agit d'un processus mathématique qui produit un texte en clair unique pour tout texte chiffré et clé de déchiffrement donnés. Il s'agit d'un algorithme cryptographique qui prend un texte chiffré et une clé de déchiffrement en entrée, et produit un texte en clair. L'algorithme de décryptage inverse essentiellement l'algorithme de cryptage et lui est donc étroitement lié.

  • Encryption Key.C'est une valeur connue de l'expéditeur. L'expéditeur entre la clé de chiffrement dans l'algorithme de chiffrement avec le texte en clair afin de calculer le texte chiffré.

  • Decryption Key.C'est une valeur connue du récepteur. La clé de déchiffrement est liée à la clé de chiffrement, mais ne lui est pas toujours identique. Le récepteur entre la clé de déchiffrement dans l'algorithme de déchiffrement avec le texte chiffré afin de calculer le texte en clair.

Pour un cryptosystème donné, une collection de toutes les clés de décryptage possibles est appelée key space.

Un interceptor(un attaquant) est une entité non autorisée qui tente de déterminer le texte en clair. Il peut voir le texte chiffré et peut connaître l'algorithme de déchiffrement. Il ne doit cependant jamais connaître la clé de déchiffrement.

Types de cryptosystèmes

Fondamentalement, il existe deux types de cryptosystèmes basés sur la manière dont le cryptage-décryptage est effectué dans le système -

  • Chiffrement par clé symétrique
  • Chiffrement de clé asymétrique

La principale différence entre ces cryptosystèmes est la relation entre le cryptage et la clé de décryptage. Logiquement, dans tout cryptosystème, les deux clés sont étroitement associées. Il est pratiquement impossible de déchiffrer le texte chiffré avec la clé qui n'est pas liée à la clé de chiffrement.

Chiffrement par clé symétrique

Le processus de cryptage où same keys are used for encrypting and decrypting l'information est connue sous le nom de cryptage par clé symétrique.

L'étude des cryptosystèmes symétriques est appelée symmetric cryptography. Les cryptosystèmes symétriques sont également parfois appeléssecret key cryptosystems.

Quelques exemples bien connus de méthodes de cryptage à clé symétrique sont: Digital Encryption Standard (DES), Triple-DES (3DES), IDEA et BLOWFISH.

Avant 1970, tous les systèmes cryptographiques utilisaient un cryptage à clé symétrique. Même aujourd'hui, sa pertinence est très élevée et il est largement utilisé dans de nombreux cryptosystèmes. Il est très peu probable que ce cryptage disparaisse, car il présente certains avantages par rapport au cryptage à clé asymétrique.

Les principales caractéristiques du cryptosystème basé sur le cryptage à clé symétrique sont:

  • Les personnes utilisant un cryptage à clé symétrique doivent partager une clé commune avant l'échange d'informations.

  • Il est recommandé de changer régulièrement les clés pour éviter toute attaque sur le système.

  • Un mécanisme solide doit exister pour échanger la clé entre les parties communicantes. Comme les clés doivent être changées régulièrement, ce mécanisme devient coûteux et encombrant.

  • Dans un groupe de n personnes, pour permettre la communication bipartite entre deux personnes, le nombre de clés requis pour le groupe est n × (n – 1)/2.

  • La longueur de la clé (nombre de bits) dans ce cryptage est plus petite et, par conséquent, le processus de cryptage-décryptage est plus rapide que le cryptage à clé asymétrique.

  • La puissance de traitement du système informatique nécessaire pour exécuter l'algorithme symétrique est moindre.

Défi du cryptosystème à clé symétrique

L'utilisation de la cryptographie à clé symétrique présente deux défis restrictifs.

  • Key establishment- Avant toute communication, l'expéditeur et le destinataire doivent se mettre d'accord sur une clé symétrique secrète. Cela nécessite la mise en place d'un mécanisme sécurisé d'établissement des clés.

  • Trust Issue- Étant donné que l'expéditeur et le destinataire utilisent la même clé symétrique, il existe une exigence implicite que l'expéditeur et le destinataire se «font confiance». Par exemple, il peut arriver que le destinataire ait perdu la clé au profit d'un attaquant et que l'expéditeur n'en soit pas informé.

Ces deux défis sont très contraignants pour la communication moderne. Aujourd'hui, les gens ont besoin d'échanger des informations avec des parties inconnues et non fiables. Par exemple, une communication entre le vendeur en ligne et le client. Ces limitations du cryptage à clé symétrique ont donné lieu à des schémas de cryptage à clé asymétrique.

Chiffrement de clé asymétrique

Le processus de cryptage où different keys are used for encrypting and decrypting the informationest connu sous le nom de cryptage par clé asymétrique. Bien que les clés soient différentes, elles sont mathématiquement liées et, par conséquent, la récupération du texte en clair en déchiffrant le texte chiffré est possible. Le processus est décrit dans l'illustration suivante -

Le cryptage par clé asymétrique a été inventé au 20 ème siècle pour surmonter la nécessité d'une clé secrète pré-partagée entre les personnes qui communiquent. Les principales caractéristiques de ce schéma de chiffrement sont les suivantes:

  • Chaque utilisateur de ce système doit avoir une paire de clés différentes, private key et public key. Ces clés sont mathématiquement liées - lorsqu'une clé est utilisée pour le chiffrement, l'autre peut déchiffrer le texte chiffré en le texte brut d'origine.

  • Cela nécessite de mettre la clé publique dans un référentiel public et la clé privée en tant que secret bien gardé. Par conséquent, ce schéma de cryptage est également appeléPublic Key Encryption.

  • Bien que les clés publiques et privées de l'utilisateur soient liées, il n'est pas possible d'un point de vue informatique de les trouver l'une à partir de l'autre. C'est une force de ce schéma.

  • Lorsque Host1 a besoin d'envoyer des données à Host2, il obtient la clé publique de Host2 à partir du référentiel, crypte les données et les transmet.

  • Host2 utilise sa clé privée pour extraire le texte en clair.

  • La longueur des clés (nombre de bits) dans ce cryptage est importante et, par conséquent, le processus de cryptage-décryptage est plus lent que le cryptage à clé symétrique.

  • La puissance de traitement du système informatique nécessaire pour exécuter l'algorithme asymétrique est plus élevée.

Les cryptosystèmes symétriques sont un concept naturel. En revanche, les cryptosystèmes à clé publique sont assez difficiles à comprendre.

Vous vous demandez peut-être comment la clé de cryptage et la clé de décryptage peuvent-elles être «liées», et pourtant il est impossible de déterminer la clé de décryptage à partir de la clé de cryptage? La réponse réside dans les concepts mathématiques. Il est possible de concevoir un cryptosystème dont les clés possèdent cette propriété. Le concept de cryptographie à clé publique est relativement nouveau. Il existe moins d'algorithmes à clé publique connus que d'algorithmes symétriques.

Défi du cryptosystème à clé publique

Les cryptosystèmes à clé publique ont un défi majeur: l'utilisateur doit avoir confiance que la clé publique qu'il utilise dans les communications avec une personne est vraiment la clé publique de cette personne et n'a pas été usurpée par un tiers malveillant.

Ceci est généralement accompli via une infrastructure à clé publique (PKI) constituée d'un tiers de confiance. Le tiers gère et atteste de manière sécurisée l'authenticité des clés publiques. Lorsque le tiers est invité à fournir la clé publique pour toute personne qui communique X, il est autorisé à fournir la clé publique correcte.

Le tiers se satisfait de l'identité de l'utilisateur par le processus d'attestation, de notarisation ou d'un autre processus - que X est le seul et unique, ou unique au monde, X. La méthode la plus courante pour rendre les clés publiques vérifiées disponibles est de les incorporer dans un certificat signé numériquement par le tiers de confiance.

Relation entre les schémas de chiffrement

Un résumé des propriétés clés de base de deux types de cryptosystèmes est donné ci-dessous -

Cryptosystèmes symétriques Cryptosystèmes à clé publique
Relation between Keys Même Différent, mais mathématiquement lié
Clé de cryptage Symétrique Publique
Clé de déchiffrement Symétrique Privé

En raison des avantages et des inconvénients des deux systèmes, les systèmes de cryptage à clé symétrique et à clé publique sont souvent utilisés ensemble dans les systèmes pratiques de sécurité de l'information.

Principe de Kerckhoff pour le cryptosystème

Au 19 e siècle, un cryptographe néerlandais A. Kerckhoff a fourni les exigences d'un bon cryptosystème. Kerckhoff a déclaré qu'un système cryptographique devrait être sécurisé même si tout ce qui concerne le système, à l'exception de la clé, est de notoriété publique. Les six principes de conception définis par Kerckhoff pour le cryptosystème sont:

  • Le cryptosystème devrait être incassable pratiquement, sinon mathématiquement.

  • La chute du cryptosystème entre les mains d'un intrus ne doit conduire à aucune compromission du système, évitant tout désagrément pour l'utilisateur.

  • La clé doit être facilement transmissible, mémorable et modifiable.

  • Le texte chiffré doit être transmissible par télégraphe, un canal non sécurisé.

  • L'appareil et les documents de cryptage doivent être portables et utilisables par une seule personne.

  • Enfin, il est nécessaire que le système soit simple d'utilisation, ne nécessitant ni effort mental ni connaissance d'une longue série de règles à respecter.

La deuxième règle est actuellement connue sous le nom de Kerckhoff principle. Il est appliqué dans pratiquement tous les algorithmes de chiffrement contemporains tels que DES, AES, etc. Ces algorithmes publics sont considérés comme totalement sécurisés. La sécurité du message chiffré dépend uniquement de la sécurité de la clé de chiffrement secrète.

Le fait de garder les algorithmes secrets peut constituer un obstacle important à la cryptanalyse. Cependant, garder les algorithmes secrets n'est possible que lorsqu'ils sont utilisés dans un cercle strictement limité.

À l'ère moderne, la cryptographie doit répondre aux utilisateurs connectés à Internet. Dans de tels cas, l'utilisation d'un algorithme secret n'est pas faisable, d'où les principes de Kerckhoff sont devenus des lignes directrices essentielles pour la conception d'algorithmes dans la cryptographie moderne.