Pourquoi криптосистемы sont incertains ? P. Sem'janov



Pavel Sem'janov
e-mail : psw@ssl.stu.neva.ru
web : www.ssl.stu.neva.ru/

Dans le logiciel moderne (SELON) криптоалгоритмы sont appliqués largement non seulement pour les tâches шифрования des données, mais aussi pour аутентификации et les contrôles de l'intégrité. Existent aujourd'hui bien connu et approuvé криптоалгоритмы (comme avec symétrique, et les clés asymétriques), криптостойкость qui ou est prouvée математически, ou est fondée sur les nécessités de la décision математически de la tâche complexe (les factorisations, discontinu логарифмирования etc.). Vers les plus connu d'eux относятсяDES, RSA. Ainsi, ils ne peuvent pas être ouverts autrement, que l'excédent complet ou la décision de la tâche indiquée.

D'autre part, à informatique et околокомпьютерном le monde tout le temps apparaît l'information sur les erreurs ou "les trous" dans n'importe quel programme (y compris appliquant криптоалгоритмы), ou sur ce qu'elle était forcée (cracked). Cela crée la méfiance vers les programmes concrets, ainsi que vers la possibilité de protéger en général quelque chose криптографичеcкими par les méthodes non seulement contre les services secrets, mais aussi des pirates simples.

C'est pourquoi la connaissance de l'histoire des attaques et "les trous" à криптосистемах, ainsi que la compréhension des raisons, selon qui ils avaient lieu, est une des conditions sine qua non de l'élaboration des systèmes protégés. La direction perspective des études est dans ce domaine l'analyse des attaques avec succès passées ou révélé уязвимостей à криптосистемах en vue de leur généralisation, la classification et la révélation des raisons et les régularités de leur apparition et l'existence. Ce sera la tâche de l'article donné.

En contact avec la taxonomie des raisons de la violation de la sécurité ВС [1], nous mettrons en relief les raisons suivantes de l'incertitude des programmes cryptographiques (voir fig. 1) :

    1. L'impossibilité de l'application ferme криптоалгоритмов;
    2. Les erreurs à la réalisation криптоалгоритмов;
    3. L'application incorrecte криптоалгоритмов;
    4. Le facteur humain.

Nous marquerons à la fois que les raisons examinées plus bas couvrent seulement deux aspects des menaces potentiellement possibles : les dévoilements et les intégrités, en laissant de côté la menace du refus du service, qui acquiert tout большее la signification dans la mesure du développement distribué криптосистем.

Fig.1
Fig. 1. Les raisons de l'incertitude криптосистем.

 L'impossibilité de l'application ferme криптоалгоритмов



Ce groupe des raisons est le plus répandu à cause des facteurs suivants.

Une petite vitesse ferme криптоалгоритмов

C'est le facteur principal embarrassant l'application des bons algorithmes à, par exemple, les systèmes "total" шифрования ou шифрования "à la volée". En particulier, le programme Norton DiskReet, bien qu'ait la réalisation DES, au remplacement par l'utilisateur de la clé peut non перешифровывать tout le disque, car cela occupera trop de temps. Analogiquement, le programme de la compression "à la volée" Stacker les sociétés Stac Electronics a l'option de la clôture par le mot d'ordre компрессируемых des données. Cependant elle n'a pas la possibilité physique de chiffrer par ce mot d'ordre le fichier ayant d'habitude les montants à quelques сот le méga-octet, c'est pourquoi elle se limite à un très faible algorithme et garde l'hesh-fonction du mot d'ordre avec les données protégées. La valeur криптостойкости1 de cette fonction était étudiée et s'est trouvée égal 28, i.e. le mot d'ordre peut être trivialement ouvert.

Les restrictions d'exportation

C'est la raison liée à l'exportation криптоалгоритмов ou avec la nécessité d'acquérir la patente ou les droits à eux. En particulier, des États-Unis on interdit l'exportation криптоалгоритмов avec la longueur la clé plus 40 бит2. Il est évident qu'une telle криптостойкость ne peut pas être considéré sûr aux capacités modernes calculatoires et même sur l'ordinateur personnel, ayant mis la vitesse de l'excédent à 50 000 mots d'ordre/fouettait, nous recevrons le temps de l'excédent en moyenne de l'ordre de 4 mois.

Les exemples connus des programmes exposés aux restrictions d'exportation sont de dernières versions броузеров (browser) d'Internet, en particulier Netscape Navigatorфирмы Netscape Communications et Internet Explorer les sociétés Microsoft. Ils accordent шифрование avec la clé de 128 bits pour les utilisateurs à l'intérieur des États-Unis et avec la clé de 40 bits pour tout autre.

Aussi dans ce groupe se trouve la dernière version de l'archiviste ARJ 2.60 connu d'un faible algorithme шифрования des archives. Maintenant les utilisateurs à l'intérieur des États-Unis peuvent utiliser криптостойкий l'algorithme la norme d'État. Le comique de la situation dans ce que bien que cet algorithme est russe, même les Russes d'après les lois des États-Unis ne peuvent pas s'en servir en tout cas dans le programme ARJ.

L'utilisation personnel криптоалгоритмов

L'ignorance ou la mauvaise volonté d'utiliser les algorithmes connus - une telle situation, comme il est paradoxal, il a lieu être aussi, particulièrement dans les programmes comme Freeware et Shareware, par exemple, les archivistes.

Comme disait déjà, l'archiviste ARJ (jusqu'à la version 2.60 y compris) utilise (par défaut) un très faible algorithme шифрования - le temps mort гаммирование. Apparemment que dans le cas présent son utilisation est admissible, car архивированный le texte doit être tout à fait неизбыточен et les méthodes statistiques криптоанализа ne s'approchent pas ici. Cependant, après l'étude plus détaillée il se trouva qu'à архивированном le texte assiste (et c'est juste pour n'importe quels archivistes) une certaine information logique - par exemple, le tableau d'Haffmana et l'autre information de service. C'est pourquoi, en connaissant exactement ou ayant prédit avec une certaine probabilité la signification de ces variables de service, on peut définir avec la même probabilité et les symboles correspondants du mot d'ordre.

Ensuite, l'utilisation des faibles algorithmes amène souvent au succès de l'attaque d'après le texte ouvert. En cas de l'archiviste ARJ, si au malfaiteur est connu quand même un fichier des archives chiffrées, il avec la facilité définira le mot d'ordre des archives et tirera de là tous les autres fichiers (криптостойкость ARJ en présence du texte ouvert - 20!). Même si aucun fichier dans l'aspect non chiffré est absent, en tout cas le temps mort гаммирование permet d'atteindre la vitesse de l'excédent à 350000 mots d'ordre/secondes en voiture de la classe Pentium.

La situation analogue a lieu et en cas avec les programmes populaires de Microsoft Office - pour la définition du mot d'ordre il est nécessaire de connaître là seulement 16 octet du fichier.doc ou.xls, après quoi il suffit de trier seulement 24 variantes. À Microsoft Office 97 on fait les améliorations considérables des algorithmes шифрования, à la suite de quoi il y avait une possibilité seulement l'excédent complet, mais... Non partout - MS Access 97 utilise l'algorithme le plus primitif, et en outre on chiffre non les données, mais le mot d'ordre lui-même par l'opération XOR avec la constante fixée!

À de réseau des GUÊPES Novell Netware de la société Novell (les versions 3.х et 4.х) on applique aussi l'algorithme personnel хэширования. Sur l'entrée l'hesh-fonction reçoit la signification de 32 octets reçue du mot d'ordre original de l'utilisateur par voie d'ou la compression du mot d'ordre en la longueur plus de 32 symboles avec l'aide de l'opération XOR, ou la multiplication du mot d'ordre de la longueur moins de 32 symboles; mais sur la sortie - l'hesh-signification de 16 octets (Hash16). Notamment il (pour Novell Netware 3.х) se trouve dans la base de données des liasses (bindery) en forme de la propriété "PASSWORD".

Une des propriétés principales криптостойкой les hesh-fonctions doit être ce qu'elle ne doit pas admettre la construction facile des collisions (tel, par exemple, est la fonction crypt (), utilisé à UNIX, qui est fondée sur DES). Notamment cette propriété est violée dans l'hesh-fonction appliquée à Novell Netware.

On construisait la procédure, que de l'hesh-signification donnée par voie d'un petit excédent (quelques secondes en voiture de la classe 80486DX2-66) reçoivent la succession de 32 octets, qui, certes, n'est pas le mot d'ordre véritable, mais est perçu néanmoins Novell Netware comme tel, car l'application vers elle de l'hesh-algorithme, donne dans l'exactitude l'hesh-signification se trouvant.

L'hesh-algorithme examiné resta et à 4 versions Novell Netware.

À son tour, la société Microsoft a aussi les manques les plus sérieux de l'hesh-algorithme principal appliqué dans toutes les GUÊPES, à partir de Windows 3.11, à аутентификации à local (le procès-verbal NetBIOS) et global (les procès-verbaux CIFS et http) les réseaux, appelé LM (Lan Manager)-hesh [4]. (D'ailleurs, Microsoft se réfère à ce qu'il resta encore dès les temps OS/2 et que l'élaborait IBM).

Il est calculé comme il suit :

  1. Le mot d'ordre se transforme en ligne 14-symbolique par voie d'ou отсечки est malade de longs mots d'ordre, ou les compléments des mots d'ordre courts des éléments nuls.
  2. Tous les symboles du registre inférieur sont remplacés par les symboles du registre supérieur. Les chiffres et les symboles spéciaux restent sans changements.
  3. La ligne de 14 octets se brise sur deux семибайтовых les moitiés.
  4. En utilisant chaque moitié de la ligne dans le rôle de la clé DES, avec lui on chiffre la constante fixée, en recevant sur la sortie deux lignes de 8 octets.
  5. Ces lignes fusionnent pour la création de la signification de 16 bits de l'hesh-fonction.

Il est évident que les attaques sur Lm-hesh atteignent facilement du succès pour les raisons suivantes :

  • La transformation de tous les symboles en le registre supérieur limite et sans celui-là le petit nombre des combinaisons possibles pour chacun (26+10+32=68).
  • Deux семибайтовых "les moitiés" du mot d'ordre хэшируются est indépendant l'un de l'autre. Ainsi, deux moitiés peuvent s'approcher furtivement par l'excédent indépendamment l'un de l'autre, et les mots d'ordre, la longueur de qui excède sept symboles, non plus fortement, que les mots d'ordre avec la longueur sept symboles. Ainsi, pour la présence garantie du mot d'ordre il est nécessaire de trier au lieu de 940+941 +... 9414 ~4^1027 seulement 2 ^ (680+681 +... +687) ~1^1013 (i.e. presque à 1014 fois il y a moins de) les combinaisons. En outre ces mots d'ordre, la longueur de qui n'excède pas sept symboles, très simplement reconnaître, puisque la deuxième moitié хэша est la même signification AAD3B435B51404EE, reçue à шифровании de la constante fixée avec l'aide de la clé de sept zéros.
  • Il n'y a pas d'élément du hasard (salt), comme c'est fait à crypt () - deux utilisateurs avec les mots d'ordre identiques auront toujours les significations identiques de l'hesh-fonction. Ainsi, on peut d'avance faire le dictionnaire хэшированных des mots d'ordre et réaliser la recherche du mot d'ordre inconnu dans lui.

 La réalisation incorrecte криптоалгоритмов



Malgré le fait que dans ce cas soient appliqués криптостойкие ou les algorithmes certifiés, ce groupe des raisons amène aux violations de la sécurité криптосистем à cause de leur réalisation incorrecte.

La réduction криптостойкости à la génération de la clé

Cette raison avec de très nombreux exemples, quand криптосистема ou coupe le mot d'ordre de l'utilisateur, ou génère de lui les données ayant une plus petite quantité du bit, que le mot d'ordre lui-même. Les exemples :

  1. Dans plusieurs (vieilles) versions UNIX le mot d'ordre de l'utilisateur se coupe jusqu'à 8 octet devant хэшированием. Il est curieux que, par exemple, Linux 2.0, en demandant aux utilisateurs de l'introduction des mots d'ordre contenant absolument les lettres et les chiffres, ne contrôle pas pour que le début 8-symbolique du mot d'ordre comprenne aussi les lettres et les chiffres. C'est pourquoi l'utilisateur, ayant donné, par exemple, le mot d'ordre assez sûr passwordIsgood19, sera très étonné, ayant appris que le pirate est entré dans le système sous son nom avec l'aide du mot d'ordre élémentaire password.
  2. Novell Netware permet aux utilisateurs d'avoir les mots d'ordre jusqu'à 128 octet que donne (y compris les lettres latines sans compte du registre, le chiffre et les symboles spéciaux) 68128 ~2779 combinaisons. Mais de plus, premièrement, l'hesh-fonction (voir plus haut) reçoit sur l'entrée seulement la signification de 32 octets que limite la longueur effective le mot d'ordre par la même valeur. De plus, deuxièmement, sur la sortie l'hesh-signification a la longueur seulement 128 bits que 2128 combinaisons correspondent. Cela réduit en supplément la longueur effective jusqu'à
  3. log68 (2^128)=21 символа3, i.e. à 6 fois en comparaison de l'initiale.
  4. La situation entièrement analogue se passe avec l'archiviste RAR des versions 1.5x - le choix du mot d'ordre plus de 10 symboles n'amène pas à la croissance du temps nécessaire sur son ouverture.

Si la longueur le mot d'ordre "par dessus" est définie dans ce cas par la réalisation криптоалгоритмов, la restriction sur la longueur est déjà liée "d'en bas" à la notion de l'unité d'information ou l'entropie. Dans l'exemple examiné avec Novell Netware pour la création de l'hesh-signification avec l'entropie de 128 bits la longueur le mot d'ordre doit être pas moins 128 * (8/log2 (68))=69 бит4 ou pas moins 22 символов5. Ce que plusieurs криптосистемы ne limitent pas la longueur minimale le mot d'ordre, tout juste et amène au succès des attaques par l'excédent non des clés, mais les mots d'ordre.

L'absence du contrôle de faibles clés

Certains криптоалгоритмы (en particulier, DES, IDEA) à шифровании avec les clés spécifiques ne peuvent pas assurer le niveau nécessaire криптостойкости. Telles clés appellent faible (weak). Pour DES on sait 4 faible et 12 semi-faible (semi-weak) des clés. Et bien que la probabilité y se trouver s'aligne 16/2^56~2^10-16, pour les systèmes sérieux cryptographiques négliger à celle-ci on ne peut pas.

La capacité de la multitude de faibles clés IDEA fait non beaucoup - non peu - 251 (d'ailleurs, puisque de tout des les clés 2128, la probabilité y se trouver à 3^107 fois moins que chez DES).

La sécurité insuffisante de РПС

РПС (les moyens détruisant de programme) sont des virus informatiques, troyen les chevaux, les signets de programme etc. les programmes, capable de saisir la clé confidentielle ou нешифрованные les données, ainsi que simplement remplacer l'algorithme sur некриптостойкий. Au cas où le programmeur n'a pas prévu les moyens suffisants de la protection de РПС, ils sont facilement capables de violer la sécurité криптосистемы. Particulièrement c'est actuel pour les systèmes d'exploitation n'ayant pas les moyens insérés de la protection ou les moyens de la démarcation de l'accès - comme MS DOS ou Windows 95 :

  1. L'interception du mot d'ordre. Comme l'exemple on peut amener un vieux moyen le plus de l'enlèvement du mot d'ordre, connu encore dès les temps des grands ORDINATEURS, quand le programme - "le fantôme" эмулирует l'invitation des GUÊPES, en proposant d'introduire le nom de l'utilisateur et le mot d'ordre, le retient dans un certain fichier et cesse le travail avec le message "Invalid password". Pour MS DOS et Windows il y a une multitude de signets pour la lecture et la préservation des mots d'ordre tapés sur le clavier (dans l'interception de l'interruption correspondante), par exemple, au fonctionnement de l'utilitaire v. 6.0.
  2. La substitution криптоалгоритма. L'exemple de la réalisation de ce cas est le signet masqué sous le programme - appliqué "l'accélérateur" comme Turbo Krypton. Ce signet remplace l'algorithme шифрования la norme d'État 28147-89, par le paiement réalisé "Krypton-3" (la variante d'exposition), autre, simple et il est facile дешифруемым par l'algorithme [1].
  3. Le cheval de Troie dans le courrier électronique. Du dernier exemple sert ayant lieu en juin 1998 de la tentative de la pénétration du cheval de Troie dans le courrier électronique. Dans la lettre on mettait l'image pornographique et l'EXE-fichier FREECD.EXE, qui pour ce temps, l'utilisateur se distrayait avec la lettre, déchiffrait les mots d'ordre sur la liaison avec le provider (Dial-Up) et les expédiait sur l'adresse ispp@usa.net.

La présence de la dépendance dans le temps du traitement des clés

C'est un relativement nouvel aspect de la réalisation pas assez de correcte криптоалгоритмов, examiné à article [2]. Est montré Là que plusieurs криптосистемы travaillent inégalement vite de différentes données d'entrée. Cela se passe comme à cause des ateliers d'appareil (une différente quantité de tacts sur l'opération, l'atteinte à de processeur кэш etc.), et les raisons de programme (particulièrement à l'optimisation du programme pour le temps). Le temps peut dépendre comme de la clé шифрования, et (les races) des données chiffrées.

C'est pourquoi le malfaiteur, en possédant l'information détaillée sur la réalisation криптоалгоритма, en ayant les données chiffrées, et étant capable de quelle façon de mesurer le temps du traitement de ces données (par exemple, en analysant le temps de l'expédition des paquets avec les données), peut tenter de choisir la clef confidentielle. Dans le travail fait un lapsus en détail la tactique des attaques contre les systèmes réalisant les algorithmes RSA, Diffi-Hellmana et DSS, et en outre on peut recevoir la clé, en précisant le bit après le bit, mais la quantité de mesures nécessaires du temps est directe en proportion de la longueur la clé.

Et bien que l'on ne réussit pas à mener ces études au résultat concret (calculer la clé confidentielle), cet exemple montre que la programmation des systèmes de la destination critique (y compris et криптосистем) doit être particulièrement soigneuse et, probablement, il est nécessaire d'appliquer pour cela les méthodes spéciales protectrices de la programmation et les moyens spécialisés de l'élaboration (particulièrement les compilateurs).

Les erreurs dans la réalisation de programme

Clairement que les programmes s'écriront par les gens, ce facteur aura lieu toujours. Un bon exemple - les GUÊPES Novell Netware 3.12, où, malgré le système assez examiné аутентификации, à qui, aux demandes de la société Novell, "нешифрованный le mot d'ordre n'est jamais transmis par le réseau", on réussit à trouver l'erreur dans programme v. 3.76, à qui le mot d'ordre notamment dans l'aspect ouvert se trouve dans un des paquets de réseau. De cela n'est pas observé ni avec plus précoce, ni avec les versions plus tardives de ce programme que permet de dire notamment sur purement программистской à l'erreur. Celui-ci l'erreur se manifeste seulement si супервизор change le mot d'ordre à quelqu'un (y compris à lui-même). Probablement, de quelle façon dans le paquet de réseau se trouve le tampon de clavier.

La présence des trappes

Les raisons de la présence des trappes à криптосистемах sont évidentes : le concepteur veut avoir le contrôle sur l'information travaillée dans son système et laisse pour lui-même la possibilité de la déchiffrer, sans connaître la clé de l'utilisateur. Il est aussi possible qu'ils sont utilisés pour le réglage et pour quelque raison ne nettoient pas du produit final. Il est naturel que cela tôt ou tard devient connu à un assez grand cercle des personnes et la valeur un tel криптосистемы devient presque nulle. Les exemples les plus connus sont ici AWARD BIOS (jusqu'à la version 4.51PG) avec son mot d'ordre universel "AWARD_SW" et СУБД Paradox les sociétés Borland International, aussi ayant "les supermots d'ordre" "jIGGAe"et"nx66ppx".

Tout près à la présence des trappes à la réalisation (il est évident que dans ce cas ils utilisent les algorithmes évidemment instables ou gardent la clé avec les données) adhèrent les algorithmes donnant la possibilité au tiers lire le message chiffré, comme c'est fait dans le projet faisant sensation CLIPPER, où l'État aimant toujours mettre le nez au secret des citoyens se produit le tiers.

Les manques du détecteur des nombres accidentels (ДСЧ)

Bon, математически contrôlé et correctement réalisé ДСЧ est important aussi pour криптосистемы, comme bon, математически ferme et correct криптоалгоритм, autrement ses manques peuvent influencer sur total криптостойкость les systèmes. De plus pour le modelage ДСЧ sur l'ORDINATEUR appliquent d'habitude les détecteurs des nombres pseudo-accidentels (ПСЧ), caractérisant par la période, la dispersion, ainsi que la nécessité de son initialisation (seed). On ne peut pas reconnaître l'application ПСЧ pour криптосистем en général pour la décision réussie, c'est pourquoi bon криптосистемы appliquent pour ces buts physique ДСЧ (le paiement spécial), ou, au moins, élaborent le nombre pour l'initialisation ПСЧ avec l'aide des valeurs physiques (par exemple, le temps de la pression sur les touches par l'utilisateur).

Une petite période et une mauvaise dispersion se rapportent aux manques mathématiques ДСЧ et apparaissent dans le cas où pour quelques raisons sort personnel ДСЧ. Autrement dit, le choix personnel ДСЧ est aussi dangereux, comme le choix personnel криптоалгоритма.

En cas d'une petite période (quand des significations pseudo-accidentelles élaborées par le détecteur, moins que des significations possibles de la clé) le malfaiteur peut réduire le temps de la recherche de la clé, en triant les clés non elles-mêmes, mais les significations pseudo-accidentelles et en générant d'eux les clés.

À une mauvaise dispersion du détecteur le malfaiteur peut diminuer aussi un moyen temps de la recherche, si commence l'excédent par les significations les plus probables des nombres pseudo-accidentels.

Par l'erreur la plus répandue se manifestant et en cas de bonne ПСЧ, est son initialisation incorrecte. Dans ce cas le nombre utilisé pour l'initialisation, a ou un plus petit nombre du bats de l'information, que le détecteur lui-même, ou est calculé des nombres logiques et peut être prédit se trouve ou un autre degré de la probabilité.

Une telle situation avait lieu dans le programme Netscape Navigator de la version 1.1. Elle initialisait ПСЧ, en utilisant le temps en cours en des secondes (sec) et les microsecondes (usec), ainsi que les identificateurs du procès (pid et ppid). Comme les investigateurs de J.Goldberg et D.Vagner ont éclairci, à un tel schéma comme le maximum résultaient 47 bits signifiants de l'information (vu que ce détecteur était utilisé pour la réception 40 ou 128 (!) les clés de * bits). Mais, si chez le malfaiteur

    1. Il y avait une possibilité de saisir les paquets transmis par le réseau; et
    2. Il y avait un accès (account) sur l'ordinateur, où on lance le programme,

Cela pour lui ne faisait pas le travail avec un grand degré de la probabilité apprendre sec, pid et ppid. Si la condition (2) n'était pas satisfaite, le malfaiteur pouvait tenter en tout cas de fixer le temps dans les démons de réseau time, pid pourrait être reçu dans le démon SMTP (d'habitude il entre dans le champ Message-ID), mais ppid ou non se distingue fortement de pid, ou est égal en général 1.

Les investigateurs ont écrit le programme unssl, qui, en triant les microsecondes, trouvait la clé confidentielle de 40 bits en moyenne en une minute.


 L'application incorrecte криптоалгоритмов



Ce groupe des raisons amène à ce qu'est incertain криптостойкие et les algorithmes correctement réalisés.

Une petite longueur la clé

C'est la raison la plus évidente. Apparaît la question : comment ferme криптоалгоритмы peuvent avoir une petite longueur la clé ? Probablement, en conséquence de deux facteurs :

  1. Certains algorithmes peuvent travailler avec la longueur variable la clé, en assurant différent криптостойкость - et notamment la tâche du concepteur de choisir la longueur nécessaire, à partir de souhaité криптостойкости et l'efficacité. Parfois sur ce désir s'imposent des autres circonstances - tels, comme les restrictions d'exportation.
  2. Certains algorithmes étaient élaborés beaucoup il y a longtemps, quand la longueur la clé utilisée à eux était considérée plus que suffisant pour l'observation du niveau nécessaire de la protection.

Au saut rude de la productivité des équipements informatiques d'abord s'est heurté l'algorithme RSA, pour l'ouverture de qui il est nécessaire de décider la tâche de la factorisation. En mars 1994 on finissait la factorisation durant pendant 8 mois du nombre de 129 chiffres (428 бит6). Était fait participer Pour cela de 600 engagés volontaires et les 1600 voitures liées au moyen du courrier électronique. Le temps dépensé de machine était d'une manière équivalente environ 5000 MiPs-let7.

Le progrès dans la décision du problème de la factorisation est lié en plusieurs cas non seulement à la croissance des capacités calculatoires, mais aussi avec l'apparition ces derniers temps les nouveaux algorithmes effectifs. (Sur la factorisation du nombre suivant de 130 chiffres sont parties seulement 500 MIPS-années). Aujourd'hui est réel en principe факторизовать les nombres de 512 bits. Si se rappeler que tels nombres encore étaient utilisés récemment dans le programme PGP, on peut affirmer qu'est le domaine le plus vite en voie de développement de la cryptographie et la théorie des nombres.

Le 29 janvier 1997 société RSA Labs annonçait le concours de l'ouverture de l'algorithme symétrique RC5. La clé de 40 bits était ouverte dans 3.5 heures après le début du concours! (N'a pas été nécessaire de lier pour cela les ordinateurs dans Internet - il y avait un réseau local de 250 voitures à l'université Berklevsky). Dans 313 heures était ouvert la clé de 48 bits. Ainsi, tout il est devenu évident que la longueur la clé satisfaisant aux restrictions d'exportation, ne peut pas assurer même la sécurité minimale.

Parallèlement avec l'ouverture RC5 on donnait l'appel et la colonne de la cryptographie américaine - l'algorithme DES ayant la clé à 56 bits. Et il est tombé le 17 juin 1997, dans 140 jours après le début du concours (était testé de plus près de 25 % des clés toutes possibles et on dépense environ 450 MIPS-années). C'était l'acquisition absolument éminente, qui signifiait la mort réelle DES comme du standard шифрования. Vraiment, quand aux débuts de 1998 la compétition suivante selon la présence de la clé DES a amené au succès de tout en 39 jours, l'institut national des standards des États-Unis (NIST) a annoncé le concours de l'affirmation du nouveau standard AES (Advanced Encryption Standard). AES doit être l'algorithme entièrement ouvert symétrique avec la clé par le montant 128, 192 256 bits, et le bloc шифрования par le montant de 128 bits.

Le choix erroné de la classe de l'algorithme

Cela aussi la raison beaucoup répandue, à qui le concepteur choisit que bon, mais l'algorithme tout à fait inconvenant vers sa tâche. C'est le plus souvent le choix шифрования au lieu de хэширования ou le choix de l'algorithme symétrique au lieu de l'algorithme avec les clés ouvertes.

Des exemples ici la masse est de tous programmes limitant l'accès à l'ordinateur le mot d'ordre à son insertion ou le chargement, par exemple, AMI BIOS, gardant au lieu de хэша du mot d'ordre sa variante chiffrée, qui, naturellement, sera décodée facilement.

Dans toutes les procédures de réseau аутентификации il est naturel d'appliquer ассиметричную la cryptographie, qui ne permettra pas de choisir la clef même à l'interception complète du trafic. Cependant tels algorithmes (de réseau OC) réalise seulement Novell Netware 4.x, autre se contentent (dans le meilleur cas!) le schéma standard "la demande-résonance", à qui on peut conduire l'excédent assez rapide selon les significations saisies de "la demande" et "la résonance".

L'imposition réitérée de la gamme du chiffre

Déjà la vulnérabilité à Windows 3.x et les premières versions Windows 95, lié avec шифрованием est devenue l'exemple classique. Dans ce cas les programmeurs de la société Microsoft bien connue des connaissances dans le domaine de la sécurité, appliquaient l'algorithme RC4 (représentant que l'autre, comme шифрование гаммированием), sans changer la gamme, plusieurs fois vers de différentes données - les ressources de réseau se trouvant dans les fichiers du type.pwl.

Il se trouva qu'un des jeux de données du fichier.pwl présentait de lui-même plus que le texte spécifique - le nom 20-symbolique de l'utilisateur (dans le registre supérieur) et l'ensemble des index aux ressources (voir fig. 2). Ainsi, ayant deviné eux l'utilisateur (qui dans la plupart des cas en plus coïncide avec le nom du fichier) on peut calculer au moins 20 octet de la gamme. Car la gamme ne change pas à шифровании d'autres ressources (dans cela comprend l'erreur principale de l'application RC4 dans ce cas), on peut calculer les premiers de 20 octet de toutes les ressources, dans qui la longueur chacun d'ils entre. Ayant calculé la longueur, on peut trouver les significations des index et par cela ajouter encore quelques dizaines octet à la gamme devinée. Cet algorithme est réalisé dans le programme connu glide.



Fig.2

Fig. 2. Le format du fichier.PWL.

La conservation de la clé avec les données

Cette raison amène à ce que les données chiffrées avec l'aide криптостойкого et l'algorithme correctement réalisé, peuvent être facilement décodées. C'est lié à la spécificité de la tâche décidée, à qui il est impossible d'introduire la clé du dehors et il se trouve quelque part au-dedans dans l'aspect pratiquement non chiffré. Autrement dit, ici le plus vulnérable il y aura un algorithme шифрования non par la clé, mais la clé (avec l'aide d'une certaine clé secondaire). Mais puisque (que de nouveau suit évidemment de la spécificité de la tâche) on ne peut pas garder cette clé secondaire du dehors, les données principales tôt ou tard seront déchiffrées sans utilisation des méthodes de l'excédent.

L'exemple typique seront ici tout WWW - ftp - les e-e-clients. Le fait est que pour de base (rencontrant le plus souvent) аутентификации dans ces procès-verbaux le mot d'ordre doit être transmis au serveur dans l'aspect ouvert. C'est pourquoi les programmes de client sont obligés de chiffrer (et non хэшировать) le mot d'ordre, et en outre avec la clé fixée pour ne pas ennuyer à l'utilisateur par les questions constantes. Il faut d'ici que quelque part à l'intérieur de chacun броузера, postal ou le ftp-client (que ce soit Netscape Communicator, Eudora, Outlook, FAR etc.) sont tous vos mots d'ordre dans l'aspect pratiquement ouvert, et que déchiffrer eux ne présente pas le travail. (Le plus souvent, à propos, le mot d'ordre dans tels programmes n'est pas chiffré, mais est codé par l'algorithme comme base-64).


 Le facteur humain



Dans n'importe quel système critique de l'erreur de la personne-opérateur sont presque le plus coûteux et répandu. En cas de криптосистем les actions non professionnelles de l'utilisateur réduisent à rien le plus ferme криптоалгоритм sa réalisation la plus correcte et l'application.

En premier lieu c'est lié au choix des mots d'ordre. Il est évident que les mots d'ordre courts ou intelligents restent dans la mémoire facilement par la personne, mais ils est beaucoup plus faciles pour l'ouverture. L'utilisation des mots d'ordre longs et absurdes absolument vaut mieux du point de vue криптостойкости, mais la personne ne peut pas les retenir d'habitude et inscrit sur la pièce de papier, qui ensuite ou se perd, ou se trouve dans les mains au malfaiteur.

Ces dernières années beaucoup d'attention est donnée à la permission de cette contradiction, mais les recommandations au choix des bons mots d'ordre sortent du cadre de cet article.

Notamment de ce que les utilisateurs candides choisissent d'habitude ou court, ou les mots d'ordre intelligents, existent deux méthodes de leur ouverture : l'attaque par l'excédent complet et l'attaque selon le dictionnaire.

Du lien avec la croissance rude des capacités calculatoires de l'attaque par l'excédent complet ont du succès beaucoup plus des chances sur, que plus tôt ("une Petite longueur la clé" voir aussi). Si pour le système UNIX la fonction crypt (), qui répond pour хэширование des mots d'ordre, était réalisée ainsi qu'était accomplie presque 1 seconde sur la voiture de la classe PDP, en vingt ans la vitesse de son calcul a augmenté à 15000 fois (!). C'est pourquoi si plus tôt les pirates (et les concepteurs, qui ont limité la longueur le mot d'ordre par 8 symboles) et ne pouvaient pas s'imaginer l'excédent complet, aujourd'hui une telle attaque amènera en moyenne au succès pour 80 дней8. La vitesse de l'excédent des mots d'ordre pour divers криптосистем est amenée dans tab. 1.

Криптосистема

La vitesse, les mots d'ordre/cek.

ARJ 2.50

350 000

RC5 - 56 bits

150 000

Lm-hesh

50 000

Novell Netware 3.x

25 000

MS Office 97

15 000

UNIX - crypt ()

15 000

RAR 2.0

1 000

UNIX-MD5

500

Tab. 1. La vitesse de l'excédent complet sur l'ordinateur de la classe Pentium/166.

Nous reviendrons cependant sur il y a quelques années, quand la capacité calculatoire pour l'excédent complet de tous les mots d'ordre ne suffisait pas. Néanmoins, les pirates inventaient la méthode spirituelle fondée sur ce que la qualité du mot d'ordre par la personne sort le mot existant ou quelque information sur ou les connaissances (le nom, la date de la naissance etc.). Eh bien, mais puisque dans n'importe quelle langue pas plus de 100000 mots, leur excédent occupera un très petit temps, et de 40 à 80 % des mots d'ordre existant peut être deviné avec l'aide d'un tel schéma simple appelé "par l'attaque selon le dictionnaire". (À propos, jusqu'à 80 % de ces mots d'ordre on peut deviner avec l'utilisation du dictionnaire par le montant seulement 1000 mots!). Même le virus de Morrisa (en 1988!) Appliquait un tel moyen, d'autant plus qu'à UNIX "à portée de la main" est souvent le fichier-dictionnaire d'habitude utilisé par les programmes-correcteurs. Quant aux mots d'ordre "personnels", le fichier/etc/passwd peut donner beaucoup d'information sur utilisateur : son nom d'entrée, le nom et prénom, le catalogue domestique. Le virus de Morrisa avec le succès se servait des suppositions suivantes [3] :

  • À titre du mot d'ordre se met d'entrée par lui de l'utilisateur;
  • Le mot d'ordre représente la répétition double du nom de l'utilisateur;
  • Même, mais lu de droite à gauche;
  • Le nom ou le nom de l'utilisateur;
  • Même, mais dans le registre inférieur.

Qu'aujourd'hui les utilisateurs comprennent déjà que choisir tels mots d'ordre on ne peut pas, mais jusqu'à ce qu'avec l'ordinateur travaille человек9, les experts de la sécurité informatique n'attendront pas l'utilisation de tels simples et réjouissant j'étrangle des mots d'ordre, comme 34jXs5U@bTa!6. C'est pourquoi même l'utilisateur expert ruse et choisit tels mots d'ordre, comme hope1, user1997, pAsSwOrD, toor, roottoor, parol, gfhjkm, asxz. On Voit qu'ils, en général, sont fondés sur le mot intelligent et une certaine règle simple de sa transformation : ajouter le chiffre, ajouter l'année, traduire dans la lettre à un autre registre, inscrire le mot au contraire, ajouter le mot inscrit au contraire, inscrire le mot russe par les lettres latines, taper le mot russe sur le clavier avec la répartition latine, faire le mot d'ordre des touches côte à côte disposées sur le clavier etc.

C'est pourquoi il ne faut pas s'étonner, si un tel mot d'ordre "rusé" est ouvert avec les pirates - eux non plus stupidement utilisateurs eux-mêmes, et ont inséré déjà dans les programmes ces règles, selon lesquelles il y avoir aller une transformation des mots. Dans les programmes les plus avancés (John The Ripper, Password Cracking Library) ces règles peuvent être programmées et être donné avec l'aide de la langue spéciale par le pirate lui-même.

Nous citerons l'exemple de l'efficacité d'une telle stratégie de l'excédent. Dans plusieurs livres de la sécurité il est proposé de choisir à titre du mot d'ordre sûr deux mots compris, divisé par un certain signe, par exemple "good! password". Nous compterons, pour combien de temps on casse en moyenne tels mots d'ordre, si une telle règle est insérée dans l'ensemble du programme-cambrioleur (que le dictionnaire de 10000 mots, les signes divisants peuvent être 10 chiffres et 32 signes de ponctuation et le symbole spécial, la voiture de la classe Pentium à la vitesse de 15000 crypt/fouettait) : de (10000 * (10+32) *10000) / (15000*2)=140 000 secondes ou moins de 1.5 jours!


 La conclusion



Dès le moment du début de l'orthographe de cet article en 1996 la position dans l'application des moyens de la cryptographie dans les programmes appliqués change en mieux incontestablement. Graduellement les concepteurs se rendent compte de la nécessité de l'application des algorithmes se montrant, démarrent du point mort de la position de certains pays dans la question de l'exportation криптоалгоритмов, on élabore les nouveaux algorithmes et les standards avec большей à la longueur la clé et l'efficacité pour la réalisation sur tous les types des processeurs, de 8 bits jusqu'à RISC.

Néanmoins, il reste le précipice immense entre le niveau de la résistance et la sécurité existant maintenant SELON, appliquant криптоалгоритмы, dans qui jusqu'ici il y a des trous "d'enfant" (le dernier exemple - la réalisation PPTP de Microsoft [4]) et ce niveau криптостойкости, qui présentent les derniers indépendamment analysés conduisant криптоаналитиками les algorithmes et les procès-verbaux, où il croit comme la vulnérabilité sérieuse, par exemple, ce que demande 265 blocs шифрованного du texte et puis 258 excédents des variantes ou un texte ouvert chiffré 233 différent, mais dépendant l'un de l'autre par clés et puis la complexité de l'analyse, égal 257 [5].

On veut espérer que les futures réalisations et l'application de ces algorithmes garderont un si haut degré de leur sécurité.


 Le résumé



On peut mettre en relief 4 groupes principaux des raisons de l'incertitude des systèmes cryptographiques : l'application des algorithmes instables, la réalisation incorrecte ou l'application криптоалгоритмов, ainsi que le facteur humain. Est visible de plus la parallèle précise entre eux et les raisons de la violation de la sécurité des systèmes d'ordinateur.

À cause des raisons décrites se trouvaient ou il y a des problèmes à la sécurité à toutes les classes des produits de programme, utilisant криптоалгоритмы, que ce soit les systèmes d'exploitation; криптопротоколы; les clients et le serveur, leurs soutenants; les programmes de bureau; les utilitaires d'utilisateur шифрования; les archivistes populaires.

Pour réaliser correctement personnel криптосистему, il est nécessaire non seulement prendra connaissance des erreurs d'autres et comprendre les raisons, selon qui ils se sont passés, mais aussi, probablement, appliquer les accueils spéciaux protecteurs de la programmation et les moyens spécialisés de l'élaboration.


1 Sous криптостойкостью ici et ensuite on comprendra la quantité de variantes pour la présence de la clé par l'excédent.

2 c'était jusqu'à récemment. Maintenant - 56 bits.

3 [] - la partie entière (l'entier plus proche d'en bas).

4] [- l'entier plus proche par dessus.

5 Il est clair qu'ici et dans l'exemple résultent plus haut les mêmes nombres, mais aux frais de l'arrondissement est de tous côtés la différence à 1 symbole.

6 que correspond approximativement à 56 bits pour les algorithmes symétriques.

7 million d'instructions par seconde dans le courant de l'année.

8 En utilisant les paiements spéciaux ou распараллеливание, on peut diminuer ce temps de quelques ordres.

9 :-)



 La littérature



1. La théorie et le praticien de la garantie de la sécurité d'information. Sous la rédaction de Zegzhdy P. D - М, le yachtman, 1996.

2. P. de Kocher. Temporaire l'analyse des réalisations de Diffi-Hellmana, RSA, DSS et d'autres systèmes

3. Mark W. Eichin, Jon A. Rochils. With Microscope and Tweezers : An Analysis of the Internet virus of November 1988.

4. B.Shnajer, P. de Mjudzh. Криптоанализ du procès-verbal PPTP de Microsoft.

5. Eli Biham, Lars R. Knudsen. Cryptanalysis of the ANSI X9.52 CBCM Mode. Proceedings of Eurocrypt ' 98.



 Les références supplémentaires



Bapichev Sepgej. Kpиптогpафия sans секpетов.

Bruce Schneier. Why Cryptography Is Harder Than It Looks

ßíäåêñ öèòèðîâàíèÿ

Subscribe Subscribe.Ru
The Family Tree of Family