Clé publique et privée : à quoi servent-elles ? Clé de chiffrement publique et privée Qu'est-ce qu'une clé en cryptographie

Clés cryptographiques

On sait que tous les algorithmes de chiffrement, sans exception, utilisent des clés cryptographiques. C'est pourquoi l'une des tâches de la cryptographie est la gestion des clés, c'est-à-dire leur génération, leur accumulation et leur distribution. Si dans réseau informatique Si n utilisateurs sont enregistrés et que tout le monde peut contacter tout le monde, alors il est nécessaire d'avoir n*(n-1)/2 clés différentes. Dans ce cas, chacun des n utilisateurs doit disposer d'une clé (n-1), car la fiabilité de la protection des informations confidentielles dépend en grande partie de leur choix. Le choix de la clé d’un cryptosystème revêt une importance particulière.

De plus, étant donné que presque toutes les clés cryptographiques peuvent être divulguées par un attaquant, il est nécessaire d'utiliser certaines règles pour les sélectionner, les générer, les stocker et les mettre à jour lors des sessions d'échange de messages secrets, ainsi que pour les transmettre de manière sécurisée aux destinataires. Il est également connu que les systèmes cryptographiques à clé unique nécessitent un canal de communication sécurisé pour la gestion des clés. Pour les systèmes cryptographiques à deux clés, un tel canal de communication n’est pas nécessaire.

Le processus de génération de clé doit être aléatoire. Vous pouvez utiliser des générateurs pour cela nombres aléatoires, ainsi que leur combinaison avec un facteur imprévisible, par exemple le choix des bits à partir des lectures de la minuterie. Une fois accumulées, les clés ne peuvent pas être écrites explicitement sur le support. Pour augmenter la sécurité, la clé doit être chiffrée avec une autre clé, une autre avec une troisième, etc. La dernière clé de cette hiérarchie n'a pas besoin d'être chiffrée, mais elle doit être placée dans une partie sécurisée du matériel. Cette clé est appelée clé principale.

Les clés sélectionnées doivent être distribuées de telle manière qu'il n'y ait aucune tendance à changer de clé d'un utilisateur à l'autre. De plus, il est nécessaire de prévoir des changements fréquents de clés, et la fréquence de leurs changements est déterminée par deux facteurs : la durée de validité et la quantité d'informations clôturées avec leur utilisation.

Les clés cryptographiques varient en longueur et donc en force : plus la clé est longue, plus le nombre de combinaisons possibles est grand. Disons que si le programme de cryptage utilise des clés de 128 bits, votre clé particulière sera l'une des 2 128 combinaisons possibles de zéros et de uns. Un attaquant a plus de chances de gagner à la loterie que de casser ce niveau de cryptage en utilisant la force brute (c'est-à-dire en essayant systématiquement les clés jusqu'à ce que la bonne soit trouvée). A titre de comparaison : à reprendre ordinateur standard clé symétrique de 40 bits, il faudra compter environ 6 heures pour un spécialiste du chiffrement. Même les chiffrements dotés d'une clé de 128 bits sont vulnérables dans une certaine mesure, car les professionnels disposent de techniques sophistiquées qui leur permettent de déchiffrer même les codes les plus complexes.



La fiabilité d'un cryptosystème symétrique dépend de la puissance de l'algorithme cryptographique utilisé et de la longueur de la clé secrète. Supposons que l'algorithme lui-même soit idéal : il ne peut être cassé qu'en testant toutes les clés possibles.

dont. Ce type d’attaque cryptanalytique est appelé force brute. Postuler cette méthode, le cryptanalyste aura besoin d'un texte chiffré et du texte brut correspondant. Par exemple, dans le cas d'un chiffrement par bloc, il lui suffit de disposer d'un bloc de texte chiffré et du texte en clair correspondant. Ce n'est pas si difficile à faire.

Un cryptanalyste peut connaître le contenu d’un message à l’avance, puis l’intercepter lorsqu’il est transmis sous forme cryptée. À partir de certains signes, il peut également deviner que le message envoyé n'est rien de plus qu'un fichier texte préparé à l'aide d'un éditeur commun, une image informatique au format standard, un répertoire de sous-système de fichiers ou une base de données. Ce qui est important pour le cryptanalyste est que dans chacun de ces cas, le texte en clair du message chiffré intercepté connaît plusieurs octets, ce qui lui suffit pour lancer une attaque.

Calculer la complexité d’une attaque par force brute est assez simple. Si une clé fait 64 bits, alors un superordinateur capable d’essayer 1 million de clés en 1 seconde passera plus de 5 000 ans à essayer toutes les clés possibles. Si la longueur de la clé passe à 128 bits, le même supercalculateur aura besoin de 1 025 ans pour énumérer toutes les clés. On peut dire que 1025 est une marge de sécurité assez importante pour ceux qui utilisent des clés de 128 bits.

Cependant, avant de se précipiter pour inventer à la hâte un cryptosystème avec une longueur de clé de, par exemple, 4000 octets, rappelons l'hypothèse formulée ci-dessus : l'algorithme de chiffrement utilisé est idéal dans le sens où il ne peut être ouvert que par la force brute. S’en convaincre dans la pratique n’est pas aussi simple qu’il y paraît à première vue.

La cryptographie demande de la finesse et de la patience. À y regarder de plus près, les nouveaux cryptosystèmes très complexes se révèlent souvent très instables. Et apporter même de petites modifications à un algorithme cryptographique puissant peut réduire considérablement sa force. Par conséquent, vous devez utiliser uniquement des chiffres éprouvés, connus depuis de nombreuses années, et ne pas avoir peur de faire preuve de suspicion morbide à l'égard des derniers algorithmes de cryptage, quelles que soient les déclarations de leurs auteurs sur la fiabilité absolue de ces algorithmes.

Il est également important de ne pas oublier que la force d’un algorithme de chiffrement doit être déterminée par la clé, et non par les détails de l’algorithme lui-même. Pour être sûr de la force du chiffre utilisé, il ne suffit pas de l’analyser, à condition que l’ennemi connaisse parfaitement l’algorithme de chiffrement. Nous devons également envisager une attaque contre cet algorithme, dans laquelle l’ennemi peut obtenir n’importe quelle quantité de texte chiffré et de texte clair correspondant. De plus, il faut supposer que le cryptanalyste a la capacité de lancer une attaque avec un texte brut choisi de longueur arbitraire.

Heureusement, dans vrai vie La plupart des personnes intéressées par le contenu de vos fichiers cryptés ne disposent pas des qualifications de spécialistes hautement qualifiés ni des ressources informatiques nécessaires dont disposent les gouvernements des superpuissances mondiales. Il est peu probable que ces derniers consacrent du temps et de l’argent à lire votre message passionné et purement personnel. Toutefois, si vous envisagez

Si vous voulez renverser un « gouvernement anti-populaire », vous devez réfléchir sérieusement à la puissance de l’algorithme de cryptage utilisé.

De nombreux algorithmes modernes de chiffrement à clé publique sont basés sur la fonction unidirectionnelle consistant à factoriser un nombre qui est le produit de deux grands nombres. nombres premiers. Ces algorithmes peuvent également être soumis à une attaque similaire à l'attaque par force brute utilisée contre les chiffrements à clé secrète, la seule différence étant que vous n'avez pas besoin d'essayer chaque clé, il suffit de pouvoir en factoriser un grand nombre.

Bien entendu, factoriser un grand nombre est une tâche difficile. Cependant, une question raisonnable se pose immédiatement : est-ce difficile ? Malheureusement pour les cryptographes, la solution devient plus simple, voire pire, à un rythme beaucoup plus rapide que prévu. Par exemple, au milieu des années 1970, on pensait qu’il faudrait des dizaines de quadrillions d’années pour factoriser un nombre à 125 chiffres. Et seulement vingt ans plus tard, grâce à des ordinateurs connectés à Internet, il a été possible de factoriser rapidement un nombre composé de 129 chiffres. Cette avancée a été rendue possible grâce au fait qu'au cours des 20 dernières années, non seulement de nouvelles méthodes plus rapides de factorisation de grands nombres ont été proposées, mais également que la productivité des ordinateurs utilisés a augmenté.

Par conséquent, un cryptographe qualifié doit être très prudent lorsqu’il travaille avec une clé publique longue. Il est nécessaire de considérer la valeur des informations classifiées avec son aide et combien de temps elles doivent rester secrètes pour les étrangers.

Pourquoi ne pas prendre une clé de 10 000 bits ? Après tout, toutes les questions liées à la force d’un algorithme de chiffrement asymétrique à clé publique basé sur la factorisation d’un grand nombre disparaîtront. Mais le fait est que garantir une force de chiffrement suffisante n’est pas la seule préoccupation du cryptographe. Il existe d'autres considérations qui influencent le choix de la longueur de clé, parmi lesquelles des questions liées à la faisabilité pratique de l'algorithme de chiffrement pour la longueur de clé sélectionnée.

Pour estimer la longueur de la clé publique, nous mesurerons la puissance de calcul dont dispose un cryptanalyste en années dites carlin, c'est-à-dire le nombre d'opérations qu'un ordinateur capable de fonctionner à une vitesse de 1 million d'opérations par seconde effectue en une année. Supposons qu'un attaquant ait accès à des ressources informatiques d'une puissance de calcul totale de 1 000 années-carlin, une grande entreprise - 107 années-carlin et un gouvernement - 109 années-carlin. Ce sont des chiffres tout à fait réalistes, étant donné que le projet de décomposition de nombres à 129 chiffres mentionné ci-dessus n'impliquait que 0,03 % de la puissance de calcul d'Internet, et qu'il n'a pas fallu prendre de mesures extraordinaires ni aller au-delà de la loi pour y parvenir. De la table 4.6, vous pouvez voir combien de temps il faut pour étendre des nombres de longueurs différentes.

Les hypothèses retenues permettent d'estimer la longueur d'une clé publique forte en fonction de la durée pendant laquelle il est nécessaire de garder secrètes les données chiffrées avec elle (Tableau 4.7). Il ne faut pas oublier que les algorithmes cryptographiques à clé publique sont souvent utilisés pour protéger des informations très précieuses pendant une très longue période. Par exemple, dans les systèmes de cartes électroniques

Tableau 4.6. La relation entre la longueur des nombres et le temps nécessaire à leur factorisation

tags ou avec légalisation signature électronique. L'idée de passer plusieurs mois à factoriser un grand nombre peut paraître très séduisante à quelqu'un si cela lui permet de régler ses achats avec la carte bancaire d'autrui.

Avec ceux donnés dans le tableau. 4.7 Tous les cryptographes ne sont pas d'accord avec ces données. Certains d'entre eux refusent catégoriquement de faire des prévisions à long terme, estimant que c'est une tâche inutile, d'autres sont trop optimistes et recommandent que les systèmes signature numérique la longueur de la clé publique n'est que de 512 à 1 024 bits, ce qui est totalement insuffisant pour assurer une protection adéquate à long terme.

Une attaque cryptanalytique contre un algorithme de chiffrement vise généralement le point le plus vulnérable de cet algorithme. Pour organiser une communication cryptée, des algorithmes cryptographiques avec à la fois une clé secrète et une clé publique sont souvent utilisés. Un tel cryptosystème est dit hybride. La puissance de chacun des algorithmes inclus dans le cryptosystème hybride doit être suffisante pour résister avec succès aux attaques. Par exemple, il est insensé d'utiliser un algorithme symétrique avec une longueur de clé de 128 bits avec un algorithme asymétrique dans lequel la longueur de clé n'est que de 386 bits. À l’inverse, cela n’a pas de sens d’utiliser un algorithme symétrique avec une longueur de clé de 56 bits avec un algorithme asymétrique avec une longueur de clé de 1 024 bits.

Tableau 4.8. Longueurs de clé pour les algorithmes symétriques et asymétriques

cryptage avec la même force

Dans le tableau 4.8 répertorie les paires de longueurs de clé pour un algorithme cryptographique symétrique et asymétrique, dans lequel la force des deux algorithmes contre une attaque cryptanalytique par force brute est approximativement la même. De ces données, il s'ensuit que si un algorithme symétrique avec une clé de 112 bits est utilisé, alors un algorithme asymétrique avec une clé de 1792 bits doit être utilisé en même temps. Cependant, dans la pratique, la clé d'un algorithme de chiffrement asymétrique est généralement choisie pour être plus forte que celle d'un algorithme symétrique, car le premier protège des volumes d'informations nettement plus importants et pour une période plus longue.

Les clés cryptographiques sont utilisées comme informations secrètes.

Une clé cryptographique est une séquence de symboles générée selon certaines règles. Cette séquence est utilisée pour les transformations de texte cryptographique. Chaque algorithme cryptographique a ses propres exigences en fonction des clés créées. Chaque clé est créée pour un algorithme spécifique.

Afin de garantir l'irreproductibilité d'une signature électronique et l'impossibilité de lire des textes cryptés par des inconnus, des clés cryptographiques sont utilisées en cryptographie.

Une clé cryptographique moderne est une séquence de nombres d'une certaine longueur, créée selon certaines règles basées sur une séquence de nombres aléatoires. Pour chaque touche, une séquence de nombres aléatoires est à nouveau créée ; aucune séquence n’est utilisée plus d’une fois. Pour générer des séquences de nombres aléatoires, des objets logiciels spéciaux ou des dispositifs appelés capteurs de nombres aléatoires sont utilisés.

Chaque algorithme a ses propres exigences en matière de clé, de sorte que toute clé cryptographique est créée pour un algorithme spécifique et utilisée uniquement avec cet algorithme.

Si la génération d'une signature électronique et sa vérification, ou le cryptage et le déchiffrement du texte sont effectués à l'aide de la même clé, cette approche est appelée cryptographie symétrique(algorithmes symétriques et clés symétriques, respectivement). Les opérations de cryptographie symétrique sont rapides et relativement simples. Mais ils nécessitent qu'au moins deux personnes connaissent la clé, ce qui augmente considérablement le risque qu'ils soient compromis (c'est-à-dire que des personnes non autorisées y aient accès).

C’est pourquoi il est désormais principalement utilisé cryptographie asymétrique. Dans la cryptographie asymétrique, la génération d'une signature électronique ou d'un cryptage est effectuée sur une clé, et la vérification ou le déchiffrement de la signature est effectué sur une autre clé appariée.



La cryptographie asymétrique utilise ce qu'on appelle des paires de clés. Chacune de ces paires se compose de deux clés interconnectées. L'une de ces clés est une clé privée. Elle n'est connue que du propriétaire de la clé et ne doit en aucun cas être accessible à quiconque. Une autre clé est une clé publique, elle est accessible

quiconque le veut.

Méthodes d'authentification

L'authentification est la délivrance de certains droits d'accès à l'abonné en fonction de l'identifiant dont il dispose. IEEE 802.11 propose deux méthodes d'authentification :

1. Authentification ouverte Authentification ouverte):

Le poste de travail effectue une demande d'authentification qui contient uniquement l'adresse MAC du client. Le point d'accès répond soit par un refus, soit par une confirmation de l'authentification. La décision est prise sur la base du filtrage MAC, c'est-à-dire Il s’agit essentiellement d’une protection basée sur des restrictions d’accès, qui n’est pas sécurisée.

2. Authentification par clé partagée Authentification par clé partagée):

Vous devez configurer une clé de cryptage WEP statique. Confidentialité équivalente filaire). Le client fait une demande d'authentification au point d'accès, pour laquelle il reçoit une confirmation contenant 128 octets d'informations aléatoires. La station crypte les données reçues avec l'algorithme WEP (addition modulo 2 au niveau du bit des données du message avec la séquence de clés) et envoie le texte chiffré avec la demande d'association. Le point d'accès décrypte le texte et le compare aux données originales. En cas de correspondance, une confirmation d'association est envoyée et le client est considéré comme connecté au réseau.
Le système d’authentification par clé partagée est vulnérable aux attaques de l’homme du milieu. Algorithme Encryption WEP est un simple XOR de la séquence de touches avec informations utiles Ainsi, en écoutant le trafic entre la station et le point d’accès, vous pouvez récupérer une partie de la clé.
L'IEEE a commencé à développer une nouvelle norme, IEEE 802.11i, mais en raison de difficultés d'approbation, l'organisation WECA (eng. Alliance Wi-Fi) en collaboration avec l'IEEE, a annoncé la norme WPA (eng. Accès Wi-Fi protégé). WPA utilise TKIP. Protocole d'intégrité des clés temporelles, un protocole d'intégrité des clés), qui utilise une méthode avancée de gestion des clés et une nouvelle saisie image par image.

WPA utilise également deux méthodes d'authentification :

1. Authentification à l'aide d'une clé WPA-PSK prédéfinie. Clé Pré-Partagée) (Authentification d'entreprise);

2. Authentification à l'aide d'un serveur RADIUS Service utilisateur d'accès à distance)

Types de cryptage

Chiffrement- une méthode de conversion d'informations ouvertes en informations fermées et vice versa. Utilisé pour le stockage une information important dans des sources peu fiables ou transmis via des canaux de communication non sécurisés. Le cryptage est divisé en processus de cryptage et de déchiffrement.

En fonction de l'algorithme de conversion des données, les méthodes de cryptage sont divisées en force cryptographique garantie ou temporaire.

Selon la structure des clés utilisées, les méthodes de cryptage sont divisées en

§ chiffrement symétrique : les personnes non autorisées peuvent connaître l'algorithme de cryptage, mais une petite partie des informations secrètes est inconnue : la clé, qui est la même pour l'expéditeur et le destinataire du message ;

§ chiffrement asymétrique : les étrangers peuvent connaître l'algorithme de chiffrement, et éventuellement la clé publique, mais pas la clé privée, connue uniquement du destinataire.

Les primitives cryptographiques suivantes existent :

§ Sans clé

1. Fonctions de hachage

2. Permutations unilatérales

3. Générateurs nombres pseudo-aléatoires

§ Circuits symétriques

1. Chiffres (bloc, flux)

2. Fonctions de hachage

4. Générateurs de nombres pseudo-aléatoires

5. Primitives d'identification

§ Circuits asymétriques

3. Primitives d'identification

Chiffrement des données sur disque
Le système Zserver est un moyen de protéger les informations confidentielles stockées et traitées sur les serveurs d'entreprise en cryptant les données sur disque. Zserver fonctionne sur le principe du cryptage de partition « transparent » disques durs. Le système crypte automatiquement, en ligne, les informations lors de l'écriture sur le disque et les déchiffre lors de la lecture. Cela garantit que les données sont stockées sur le disque sous forme cryptée et ne peuvent pas être utilisées sans la clé de cryptage, même si le serveur ou le support est supprimé. Le système Zserver assure le cryptage des fichiers et dossiers sur le disque, ainsi que de l'intégralité de informations officielles- tables de placement de fichiers, etc. Ainsi, le système Zserver protège non seulement de manière fiable les données confidentielles, mais cache également le fait même de leur présence aux étrangers. Les informations sur les lecteurs protégés sont stockées sous forme cryptée et ne deviennent accessibles que lorsque l'administrateur réseau accorde à l'utilisateur les autorisations appropriées. Les droits d'accès aux disques protégés sont définis à l'aide du système d'exploitation. Le cryptage des fichiers et dossiers sur le disque est effectué par le pilote logiciel. Les clés de chiffrement de disque sont saisies lorsque le serveur démarre à partir d'une carte à puce protégée par un code PIN. Sans connaître le code PIN, vous ne pouvez pas utiliser la carte à puce. Trois essais saisie incorrecte Le code PIN bloquera la carte. Une carte à puce n'est nécessaire que lors de la connexion d'un support sécurisé et n'est pas requise pendant le fonctionnement. Si vous redémarrez le serveur sans carte à puce, les disques protégés ne seront pas accessibles. Le système Zserver offre la possibilité de saisir à distance des clés de cryptage et d'administrer le système depuis n'importe quel poste de travail réseau local, ou via Internet. Actuellement, des systèmes Zserver ont été développés pour exécuter les éléments suivants : systèmes d'exploitation: Windows 2000/XP/2003/2008 (32 et 64 bits) ; Linux avec noyau 2.6.x.

Dans ce cas, les données sont considérées comme des messages et sont utilisées pour protéger leur signification. technique de cryptage classique.

La cryptographie implique trois composants : les données, la clé et la transformation cryptographique. Lors du chiffrement, les données initiales sont le message et les données résultantes sont le chiffrement. Lors du décryptage, ils changent de place. On pense que la transformation cryptographique est connue de tous, mais sans connaître la clé avec laquelle l'utilisateur a caché la signification du message aux regards indiscrets, il est nécessaire de consacrer des efforts inimaginables pour restaurer le texte du message. (Il convient de répéter une fois de plus qu'il n'existe pas de cryptage absolument incassable. La qualité du chiffrement est déterminée uniquement par l'argent qui doit être payé pour son ouverture, de 10 $ à 1 000 000 $.) Cette exigence est satisfaite par un certain nombre de méthodes cryptographiques modernes. systèmes, par exemple, ceux créés selon le « Data Encryption Standard of the National US Bureau of Standards » DES et GOST 28147-89. Étant donné qu'un certain nombre de données sont critiques pour certaines de leurs distorsions qui ne peuvent pas être détectées à partir du contexte, seules les méthodes de cryptage sensibles à la distorsion de n'importe quel caractère sont généralement utilisées. Ils garantissent non seulement une sécurité élevée, mais également une détection efficace d'éventuelles distorsions ou erreurs.

Paramètres de l'algorithme

Il existe de nombreux (au moins deux douzaines) algorithmes de chiffrement symétriques, dont les paramètres essentiels sont :

§ durabilité

§ longueur de clé

§ nombre de tours

§ longueur du bloc traité

§ complexité de mise en œuvre matérielle/logicielle

§ complexité de la conversion

[Algorithmes courants

§AES Standard d'encryptage avancé) - Norme de cryptage américaine

§ GOST 28147-89 - norme nationale de cryptage des données

§DES Norme de cryptage des données) - norme de cryptage des données aux États-Unis jusqu'à AES

§ 3DES (Triple-DES, triple DES)

§ RC6 (Chiffre de Rivest)

§ IDÉE Algorithme international de cryptage des données)

§ SEED - Norme coréenne de cryptage des données

clé publique, a noté que cette exigence nie toute l'essence de la cryptographie, à savoir la capacité de maintenir le secret universel des communications.

La deuxième tâche est la nécessité de créer des mécanismes qui rendraient impossible le remplacement d'aucun des participants, c'est-à-dire nécessaire signature numérique. Lorsque les communications sont utilisées à des fins très diverses, telles que des fins commerciales et privées, les messages et documents électroniques doivent avoir l'équivalent d'une signature contenue dans les documents papier. Il est nécessaire de créer une méthode dans laquelle tous les participants seront convaincus que message électronique a été envoyé par un participant spécifique. Il s’agit d’une exigence plus stricte que l’authentification.

Diffie et Hellman ont obtenu des résultats significatifs en proposant une manière de résoudre ces deux problèmes radicalement différente de toutes les approches précédentes en matière de chiffrement.

Considérons d'abord caractéristiques communes algorithmes de cryptage avec une clé publique et des exigences pour ces algorithmes. Déterminons les exigences qui doivent être remplies par un algorithme qui utilise une clé pour le cryptage et une autre clé pour le déchiffrement, et il est informatiquement impossible de déterminer la clé de déchiffrement en connaissant uniquement l'algorithme de cryptage et la clé de cryptage.

De plus, certains algorithmes, comme RSA, ont la caractéristique suivante : chacune des deux clés peut être utilisée à la fois pour le chiffrement et le déchiffrement.

Nous considérerons d’abord les algorithmes qui possèdent les deux caractéristiques, puis passerons aux algorithmes à clé publique qui ne possèdent pas la deuxième propriété.

En décrivant cryptage symétrique et le cryptage à clé publique, nous utiliserons la terminologie suivante. Clé utilisée dans cryptage symétrique, nous appellerons clef secrète. Les deux clés utilisées dans le chiffrement à clé publique seront appelées Clé publique Et Clé privée. La clé privée est gardée secrète, mais nous l'appellerons clé privée plutôt que clé secrète pour éviter toute confusion avec la clé utilisée dans cryptage symétrique. La clé privée sera notée KR, la clé publique par KU.

Nous supposerons que tous les participants ont accès aux clés publiques des autres et que les clés privées sont créées localement par chaque participant et ne doivent donc pas être distribuées.

A tout moment, un participant peut changer sa clé privée et publier la clé publique d'appariement, en remplacement de l'ancienne clé publique.

Diffie et Hellman décrivent les exigences qui doivent être remplies Algorithme de cryptage avec une clé publique.

  1. Il est informatiquement simple de créer une paire (clé publique KU, clé privée KR).
  2. Il est informatiquement simple, étant donné une clé publique et un message non chiffré M, de créer un message chiffré correspondant :
  3. Il est informatiquement simple de déchiffrer un message à l’aide de la clé privée :

    M = D KR [C] = D KR ]

  4. Il est informatiquement impossible, connaissant la clé publique KU, de déterminer la clé privée KR.
  5. Il est informatiquement impossible, connaissant la clé publique KU et le message chiffré C, de restaurer le message original M.

    Une sixième exigence peut être ajoutée, même si elle ne s’applique pas à tous les algorithmes à clé publique :

  6. Les fonctions de cryptage et de déchiffrement peuvent être utilisées dans n'importe quel ordre :

    M = E KU ]

Ce sont des exigences assez fortes qui introduisent le concept. Fonction à sens unique est une fonction dans laquelle chaque argument a une seule valeur inverse, alors que la fonction elle-même est facile à calculer, mais la fonction inverse est difficile à calculer.

Généralement, « facile » signifie que le problème peut être résolu en un temps polynomial correspondant à la longueur de l'entrée. Ainsi, si la longueur d'entrée a n bits, alors le temps de calcul de la fonction est proportionnel à n a , où a est une constante fixe. Ainsi, l'algorithme est dit appartenir à la classe des algorithmes polynomiaux P. Le terme « dur » désigne un concept plus complexe. En général, nous supposerons que le problème ne peut pas être résolu si l’effort pour le résoudre est supérieur au temps polynomial de la valeur d’entrée. Par exemple, si la longueur d'entrée est de n bits et que le temps de calcul de la fonction est proportionnel à 2n, cela est alors considéré comme un problème de calcul impossible. Malheureusement, il est difficile de déterminer si un algorithme particulier présente une telle complexité. De plus, les conceptions traditionnelles de la complexité informatique se concentrent sur la complexité la plus défavorable ou la plus moyenne d’un algorithme. Ceci est inacceptable pour la cryptographie, qui nécessite l’impossibilité d’inverser une fonction pour toutes ou presque toutes les valeurs d’entrée.

Revenons à la définition fonction simple face avec trappe, qui, comme fonction unidirectionnelle, est facile à calculer dans une direction et difficile à calculer dans la direction opposée jusqu'à ce que certains Informations Complémentaires. Grâce à ces informations supplémentaires, l'inversion peut être calculée en temps polynomial. Ainsi, fonction à sens unique avec trappe appartient à la famille fonctions à sens unique f k tel que

Nous voyons que le développement d'un algorithme à clé publique particulier dépend de la découverte de l'algorithme correspondant. fonction simple face avec trappe.

Cryptanalyse des algorithmes à clé publique

Comme dans le cas cryptage symétrique, Algorithme de cryptage avec une clé publique est vulnérable à une attaque frontale. La contre-mesure est standard : utilisez de grosses clés.

Un système de cryptographie à clé publique utilise certains éléments non inversibles. fonctions mathématiques. La complexité du calcul de telles fonctions n’est pas linéaire avec le nombre de bits de la clé, mais augmente plus rapidement que la clé. Ainsi, la taille de la clé doit être suffisamment grande pour rendre une attaque par force brute peu pratique, mais suffisamment petite pour permettre un chiffrement pratique. En pratique, la taille de la clé est telle qu'une attaque par force brute est peu pratique, mais la vitesse de chiffrement qui en résulte est suffisamment lente pour que l'algorithme puisse être utilisé à des fins générales. Par conséquent, le chiffrement à clé publique est actuellement principalement limité aux applications de gestion de clés et de signature qui nécessitent le chiffrement d’un petit bloc de données.

Une autre forme d’attaque consiste à trouver un moyen de calculer la clé privée en connaissant la clé publique. Il est impossible de prouver mathématiquement que ce formulaire les attaques sont exclues pour un algorithme à clé publique spécifique. Ainsi, tout algorithme, y compris l’algorithme RSA largement utilisé, est suspect.

Il existe enfin une forme d’attaque spécifique à la manière dont sont utilisés les systèmes à clés publiques. Il s'agit probablement d'une attaque par message. Par exemple, supposons que le message envoyé consiste uniquement en une clé de session de 56 bits pour un algorithme de chiffrement symétrique. Un adversaire peut chiffrer toutes les clés possibles à l’aide de la clé publique et décrypter tout message correspondant au texte chiffré transmis. Ainsi, quelle que soit la taille de la clé publique, l'attaque équivaut à une attaque par force brute sur le système de 56 bits. clé symétrique. La défense contre une telle attaque consiste à ajouter un certain nombre de bits aléatoires à des messages simples.

Utilisations de base des algorithmes à clé publique

Les principales utilisations des algorithmes à clé publique sont le cryptage/déchiffrement, la création et la vérification de signatures et l'échange de clés.

Chiffrement avec une clé publique comprend les étapes suivantes :


Riz. 7.1.

  1. L'utilisateur B crée une paire de clés KU b et KR b utilisées pour chiffrer et déchiffrer les messages transmis.
  2. L'utilisateur B met à disposition sa clé de cryptage d'une manière fiable, c'est-à-dire clé publique KU b . La clé privée appariée KR b est gardée secrète.
  3. Si A veut envoyer un message à B, il crypte le message en utilisant la clé publique KU b de B.
  4. Lorsque B reçoit le message, il le déchiffre grâce à sa clé privée KR b. Personne d’autre ne pourra déchiffrer le message, puisque seul B connaît cette clé privée.

Si l'utilisateur (système final) stocke sa clé privée en toute sécurité, personne ne pourra espionner les messages transmis.

La création et la vérification d'une signature comprend les étapes suivantes :


Riz. 7.2.
  1. L'utilisateur A crée une paire de clés KR A et KU A, qui sont utilisées pour créer et vérifier la signature des messages transmis.
  2. L'utilisateur A met sa clé de vérification à disposition d'une manière fiable, c'est-à-dire

(MAC). Lorsque vous utilisez le même algorithme, le résultat du cryptage dépend de la clé. Pour les algorithmes de cryptographie puissants et modernes, la perte d’une clé rend pratiquement impossible le déchiffrement des informations.

Pour les algorithmes symétriques modernes (AES, CAST5, IDEA, Blowfish, Twofish), la principale caractéristique de la force cryptographique est la longueur de la clé. Le cryptage avec des clés de 128 bits ou plus est pris en compte fort, car le décryptage des informations sans clé nécessite des années de superordinateurs puissants. Pour les algorithmes asymétriques basés sur des problèmes de théorie des nombres (problème de factorisation - RSA, problème de logarithme discret - Elgamal), en raison de leurs caractéristiques, la longueur de clé minimale fiable est actuellement de 1024 bits. Pour les algorithmes asymétriques basés sur l'utilisation de la théorie des courbes elliptiques (ECDSA, GOST R 34.10-2001, DSTU 4145-2002), la longueur de clé minimale fiable est de 163 bits, mais des longueurs de 191 bits et plus sont recommandées.

Classement clé

Les clés cryptographiques varient selon les algorithmes dans lesquels elles sont utilisées.

  • Clés secrètes (symétriques)- les clés utilisées dans les algorithmes symétriques (cryptage, génération de codes d'authenticité). Propriété principale des clés symétriques : pour effectuer des transformations cryptographiques directes et inverses (chiffrement/déchiffrement, calcul MAC/vérification MAC), vous devez utiliser la même clé (ou la clé de la transformation inverse peut être facilement calculée à partir de la clé de la clé symétrique). transformation directe, et vice versa). D'une part, cela garantit une plus grande confidentialité des messages, d'autre part, cela crée des problèmes de distribution des clés dans les systèmes avec gros montant utilisateurs.
  • Clés asymétriques- les clés utilisées dans les algorithmes asymétriques (chiffrement, signature numérique) ; d'une manière générale, sont paire de clés, puisqu'ils sont constitués de deux clés :
    • Clé privée(fr:Private key) - une clé connue uniquement de son propriétaire. Seul l'utilisateur gardant secrète sa clé privée garantit qu'un attaquant ne pourra pas falsifier un document et une signature numérique de la part du certificateur.
    • Clé publique(fr:Clé publique) - une clé qui peut être publiée et utilisée pour vérifier l'authenticité d'un document signé, ainsi que pour prévenir la fraude de la part du certificateur sous la forme de son refus de signer le document. La clé publique de signature est calculée comme la valeur d'une certaine fonction de la clé privée, mais la connaissance de la clé publique ne permet pas de déterminer la clé privée.

La principale propriété d'une paire de clés est que la clé publique peut être facilement calculée à l'aide de la clé secrète, mais qu'en utilisant une clé publique connue, il est presque impossible de calculer la clé secrète. Dans les algorithmes de signature numérique, la signature est généralement placée sur la clé privée de l’utilisateur et vérifiée sur la clé publique. De cette façon, n’importe qui peut vérifier si un utilisateur donné a réellement signé une signature donnée. Ainsi, les algorithmes asymétriques garantissent non seulement l’intégrité de l’information, mais aussi son authenticité. Avec le chiffrement, au contraire, les messages sont chiffrés à l'aide d'une clé publique et déchiffrés à l'aide d'une clé secrète. Ainsi, seul le destinataire et personne d’autre (y compris l’expéditeur) ne peut décrypter le message. L'utilisation d'algorithmes asymétriques élimine le problème de la répartition des clés des utilisateurs dans le système, mais pose de nouveaux problèmes : la fiabilité des clés reçues. Ces problèmes sont résolus avec plus ou moins de succès dans le cadre d'une infrastructure à clé publique (PKI).

  • Touches de session (session)- des clés générées entre deux utilisateurs, généralement pour protéger un canal de communication. Généralement, la clé de session est secret partagé- les informations générées sur la base de la clé secrète d'une partie et de la clé publique de l'autre partie. Il existe plusieurs protocoles permettant de générer des clés de session et des secrets partagés, parmi lesquels notamment l'algorithme Diffie-Hellman.
  • Connecter- les informations de clé générées lors du fonctionnement d'un algorithme cryptographique basé sur une clé. Souvent, les sous-clés sont générées sur la base d’une procédure spéciale d’extension de clé.

voir également


Fondation Wikimédia. 2010.

Voyez ce qu'est « Clé (cryptographie) » dans d'autres dictionnaires :

    Clé : Le Wiktionnaire a un article « clé » Clé, source un endroit où l'eau souterraine s'écoule jusqu'à la surface de la terre... Wikipédia

    La clé est un outil pour ouvrir une serrure. Clé, clé à molette, outil pour dévisser les joints boulonnés. Informations clés (cryptographie) utilisées par un algorithme pour transformer un message lors du chiffrement ou du déchiffrement. Clé... ... Wikipédia

    Ce terme a d'autres significations, voir Clé (significations). Clé dans le trou de serrure B... Wikipédia

    - (grec, de kryptos secret, et grapho j'écris). Écriture en signes conventionnels (cryptés), connus uniquement des personnes qui reçoivent une clé spéciale pour la lecture. Dictionnaire de mots étrangers inclus dans la langue russe. Chudinov A.N., 1910. CRYPTOGRAPHIE... ... Dictionnaire des mots étrangers de la langue russe

    La machine de cryptographie allemande Lorenz a été utilisée pendant la Seconde Guerre mondiale pour crypter les messages les plus secrets. Cryptographie (du grec ancien... Wikipédia

    Article détaillé : Histoire de la cryptographie Photocopie du télégramme Zimmerman Durant la Première Guerre mondiale, la cryptographie, et notamment la cryptanalyse, devient l'un des outils de guerre. Faits connus... Wikipédia

    Table des matières 1 Empire russe 1.1 Armée 1.2 Marine 2 Empire britannique 3 F ... Wikipédia

    CRYPTOGRAPHIE- (du grec « cryptos » secret, caché) l'art d'écrire codes secrets et leur décryptage. C’est de là que vient le concept de « cryptogramme », c’est-à-dire quelque chose écrit dans un code ou sous une autre forme compréhensible uniquement par ceux qui ont la clé de ce qui est écrit. DANS… … Symboles, signes, emblèmes. Encyclopédie

    Cryptographie à clé publique/CRYPTOGRAPHIE À CLÉ PUBLIQUE- développé par Whitfieldf Diffi. Utilise une paire de clés, et chaque paire a les propriétés suivantes : tout ce qui est chiffré par l'une d'elles peut être déchiffré en utilisant l'autre ; avoir une clé d'une paire, dite publique... Dictionnaire sur la société de l'information et la nouvelle économie

    Ce terme a d'autres significations, voir Clé. La clé est dans le trou de la serrure... Wikipédia

L'objectif principal de l'utilisation des certificats SSL est de crypter les données transmises au serveur depuis le client et au client depuis le serveur. Pour assurer la sécurité d’une telle connexion navigateurs modernes utilisez l'algorithme TLS basé sur les certificats X.509. Cet algorithme utilise le chiffrement asymétrique pour créer une clé de session pour le chiffrement symétrique. Ce dernier est utilisé directement pour le transfert de données après avoir établi une connexion sécurisée.

Qu'est-ce qu'une clé en cryptographie ?

Une clé en cryptographie est informations secrètes, qui est utilisé en cryptographie pour chiffrer et décoder les messages, apposer une signature numérique et la vérifier, calculer les codes d'authenticité des messages, etc. La fiabilité d'une clé est déterminée par ce que l'on appelle la longueur de la clé, qui est mesurée en bits. La longueur de clé standard pour les certificats SSL est de 128 ou 256 bits. La longueur de la clé du certificat racine ne doit pas être inférieure à 4 096 bits. Toutes les autorités de certification avec lesquelles nous coopérons fournissent des certificats SSL avec une clé entièrement conforme aux normes modernes :

Clé publique et privée en chiffrement asymétrique

Utilisations du chiffrement asymétrique paire de clés: ouvert (clé publique) Et fermé, aussi appelé secrète (Clé privée). Les clés publiques et privées permettent dans ce cas à l’algorithme cryptographique de chiffrer et déchiffrer le message. Dans ce cas, les messages chiffrés avec une clé publique ne peuvent être déchiffrés qu’à l’aide de la clé privée. La clé publique est publiée dans le certificat du propriétaire et est disponible pour le client qui se connecte, et la clé privée est stockée par le propriétaire du certificat. Les clés publiques et privées sont interconnectées par des dépendances mathématiques, il est donc impossible de sélectionner une clé publique ou privée en peu de temps (la durée de validité du certificat). C'est pourquoi la durée de validité maximale des certificats SSL offrant un niveau de protection plus élevé est toujours inférieure. Vous pouvez donc commander pour 2 ans maximum. Parallèlement, lors de la commande d'un nouveau certificat SSL ou du renouvellement d'un ancien, il est important de générer une nouvelle demande CSR, puisque votre clé privée y est liée et lors de l'émission d'un nouveau certificat SSL, il est préférable de le mettre à jour. Le client interagit avec le serveur comme suit :
  1. le navigateur crypte la requête sur la base de la clé publique et l'envoie au serveur ;
  2. le serveur, à l'aide de la clé privée, déchiffre le message reçu ;
  3. le serveur crypte son identifiant numérique avec une clé privée et le transmet au client ;
  4. le client vérifie l'identifiant du serveur et transmet le sien ;
  5. après authentification mutuelle, le client chiffre la future clé de session avec une clé publique et la transmet au serveur ;
  6. tous les messages ultérieurs transmis entre le client et le serveur sont signés avec la clé de session et cryptés à l'aide d'une clé publique et privée.
Cela garantit plusieurs points de sécurité :
  • la possibilité de fuite d'informations est éliminée - si elles sont interceptées, elles ne peuvent pas être déchiffrées ;
  • le serveur confirme son adresse et son identifiant, la possibilité de redirection vers un autre site est coupée (phishing) ;
  • le client se voit attribuer une séance individuelle, ce qui lui permet de se distinguer de manière plus fiable des autres clients ;
  • Une fois une session sécurisée établie, tous les messages sont cryptés à l'aide de l'ID client et ne peuvent être ni détectés ni modifiés.

De manière générale, le chiffrement à clé publique-privée peut être considéré comme un cas pour lequel deux clés sont utilisées : l'une ne peut être que fermée, l'autre ne peut qu'être ouverte. Si le coffret a été fermé avec la première clé, seule la seconde pourra l'ouvrir ; s'il a été fermé avec la seconde, il faudra que le premier l'ouvre. Cela peut être clairement vu dans le diagramme ci-dessus.
gastrogourou 2017