Warum sind криптосистемы unzuverlässig? P.Semjanow



Pawel Semjanow
e-mail: psw@ssl.stu.neva.ru
web: www.ssl.stu.neva.ru/

In der modernen Software (der Software) криптоалгоритмы werden nicht nur für die Aufgaben der Chiffrierung der Daten, sondern auch für аутентификации und der Prüfung der Ganzheit breit verwendet. Für heute existieren wohlbekannt und approbiert криптоалгоритмы (wie mit symmetrisch, als auch den nicht symmetrischen Schlüsseln), криптостойкость die entweder ist математически bewiesen, oder ist auf der Notwendigkeit der Lösung математически der komplizierten Aufgabe (die Faktorisierung, diskret логарифмирования u.ä.) gegründet. Zu bekanntesten von ihnen относятсяDES, RSA. So können sie anders, als der vollen Übergebühr oder der Lösung der angegebenen Aufgabe nicht geöffnet sein.

Andererseits, in computer- und околокомпьютерном die Welt erscheinen die Informationen über die Fehler oder "die Löcher" in diesem oder jenem Programm (einschl. verwendend криптоалгоритмы), oder darüber die ganze Zeit, dass sie (cracked) aufgebrochen war. Es schafft das Misstrauen wie zu den konkreten Programmen, als auch zur Möglichkeit überhaupt, etwas криптографичеcкими mit den Methoden nicht nur vor den Sonderdiensten, sondern auch von den einfachen Hackern zu schützen.

Deshalb ist das Wissen der Geschichte der Angriffe und "der Löcher" in криптосистемах, sowie das Verständnis der Gründe, nach denen sie vorhanden waren, eine der notwendigen Bedingungen der Entwicklung der geschützten Systeme. Eine perspektivische Richtung der Forschungen auf diesem Gebiet ist die Analyse der erfolgreich durchgeführten Angriffe oder enthüllt уязвимостей in криптосистемах zwecks ihrer Verallgemeinerung, der Klassifikation und der Aufspürung der Gründe und der Gesetzmäßigkeiten ihres Erscheinens und der Existenz. Es wird eine Aufgabe des vorliegenden Artikels eben sein.

In Analogie zur Taxonomie der Gründe des Verstoßes der Sicherheit der Streitkräfte [1], wir werden die folgenden Gründe der Unzuverlässigkeit криптографических der Programme (wählen siehe die Abb. 1):

    1. Die Unmöglichkeit der Anwendung standhaft криптоалгоритмов;
    2. Die Fehler in der Realisierung криптоалгоритмов;
    3. Die falsche Anwendung криптоалгоритмов;
    4. Der menschliche Faktor.

Wir werden sofort bemerken, dass die betrachteten niedriger Gründe nur zwei Arten der potentiell möglichen Drohungen abdecken: das Öffnen und die Ganzheiten, die Drohung der Absage in der Bedienung aus dem Spiel lassend, die die immer größere Bedeutung je nach der Entwicklung verteilt криптосистем gewinnt.

Fig.1
Die Abb. 1. Die Gründe der Unzuverlässigkeit криптосистем.

 Die Unmöglichkeit der Anwendung standhaft криптоалгоритмов



Diese Gruppe der Gründe ist am meisten verbreitet wegen der folgenden Faktoren.

Die kleine Geschwindigkeit standhaft криптоалгоритмов

Es ist der Hauptfaktor, der die Anwendung der guten Algorithmen in den, zum Beispiel, Systemen "der totalen" Chiffrierung oder die Chiffrierungen "im Fluge" erschwert. Insbesondere kann das Programm Norton DiskReet, obwohl die Realisierung DES hat, beim Wechsel vom Benutzer des Schlüssels nicht перешифровывать die ganze Disc, da es zu viel Zeit einnehmen wird. Es ist ähnlich, das Programm der Kompression "im Fluge" Stacker die Firmen Stac Electronics hat die Option der Schließung von der Parole компрессируемых der Daten. Jedoch hat sie die physische Möglichkeit nicht, von dieser Parole die Datei zu chiffrieren, die gewöhnlich die Umfänge in etwas Wabe das Megabyte hat, deshalb sie wird vom sehr schwachen Algorithmus beschränkt und bewahrt die chesch-Funktion von der Parole zusammen mit den geschützten Daten. Die Größe криптостойкости1 dieser Funktion war untersucht und hat sich gleich 28 erwiesen, d.h. die Parole kann trivial geöffnet sein.

Die Exportbeschränkungen

Es ist der Grund, der mit dem Export криптоалгоритмов verbunden ist oder mit der Notwendigkeit, das Patent oder die Rechte auf sie zu erwerben. Insbesondere ist aus den USA der Export криптоалгоритмов mit der Länge des Schlüssels mehr 40 бит2 untersagt. Es ist offenbar, dass solche криптостойкость sicher bei den modernen Rechenmächten und sogar auf dem Personalcomputer nicht gelten kann, die Geschwindigkeit der Übergebühr in 50 000 Parolen/Sekunden gelegt, werden wir die Zeit der Übergebühr durchschnittlich etwa 4 Monate bekommen.

Die bekannten Beispiele der Programme, die den Exportbeschränkungen unterworfen sind sind die letzten Versionen броузеров (browser) des Internets, unter anderem Netscape Navigatorфирмы Netscape Communications und Internet Explorer die Firmen Microsoft. Sie gewähren die Chiffrierung mit dem 128-Bit- Schlüssel für die Benutzer innerhalb der USA und mit dem 40-Bit- Schlüssel für alle Übrigen.

Auch gerät in diese Gruppe die letzte Version des Komprimierungsprogramms ARJ 2.60, das durch den schwachen Algorithmus der Chiffrierung der Archive bekannt ist. Jetzt können die Benutzer innerhalb der USA криптостойкий den Algorithmus ГОСТ verwenden. Die Komik der Situation darin, dass obwohl dieser Algorithmus russisch ist, sogar die Russen nach den Gesetzen der USA dennoch können ihn im Programm ARJ nicht ausnutzen.

Die Nutzung eigen криптоалгоритмов

Die Unwissenheit oder die Unlust die bekannten Algorithmen zu verwenden - solche Situation, wie paradox ist, ist auch vorhanden zu sein, besonders in den Programmen als Freeware und Shareware, zum Beispiel, die Komprimierungsprogramme.

Wie schon gesagt wurde, verwendet das Komprimierungsprogramm ARJ (bis zur Version 2.60 einschließlich) (als Voreinstellung) den sehr schwachen Algorithmus der Chiffrierung - die Betriebsunterbrechung гаммирование. Es würde scheinen, dass in diesem Fall seine Nutzung zulässig ist, da архивированный der Text ganz неизбыточен sein soll und die statistischen Methoden криптоанализа kommen hier nicht heran. Jedoch zeigte es sich nach dem ausführlicheren Studium, dass in архивированном den Text anwesend ist (und es zeigt sich rechtmäßig für beliebige Komprimierungsprogramme) einige nicht zufällige Informationen - zum Beispiel, die Tabelle Chaffmana und einige andere dienstliche Informationen. Deshalb, genau wissend oder, mit einiger Wahrscheinlichkeit die Bedeutung diese dienstlich variabel vorausgesagt, kann man mit der selben Wahrscheinlichkeit und die entsprechenden Symbole der Parole bestimmen.

Weiter, die Nutzung der schwachen Algorithmen bringt zum Erfolg des Angriffes nach dem offenen Text häufig. Im Falle des Komprimierungsprogramms ARJ, wenn dem Übeltäter selbst wenn eine Datei aus dem chiffrierten Archiv bekannt ist, er mit der Leichtigkeit wird die Parole des Archives bestimmen und wird von da alle übrigen Dateien (криптостойкость ARJ bei Vorhandensein vom offenen Text - 20 herausziehen!). Selbst wenn es keine Datei in der nicht chiffrierten Art gibt, so lässt dennoch die Betriebsunterbrechung гаммирование zu, die Geschwindigkeit der Übergebühr in 350000 Parolen/Sekunden auf dem Wagen der Klasse Pentium zu erreichen.

Die ähnliche Situation ist vorhanden und für den Fall mit den populären Programmen aus Microsoft Office - für die Bestimmung der Parole dort muss man nur 16 Byte der Datei.doc oder.xls wissen, wonach es nur 24 Varianten auszulesen ist genügend. In Microsoft Office 97 sind die bedeutenden Verbesserungen der Algorithmen der Chiffrierung gemacht, als dessen Ergebnis die Möglichkeit nur der vollen Übergebühr blieb, aber... Nicht überall - MS Access 97 verwendet den primitivsten Algorithmus, wobei nicht die Daten, und die Parole von der Operation XOR mit der fixierten Konstante chiffriert werden!

In netz- der Wespen Novell Netware der Firma Novell (die Version 3.х und 4.х) wird der eigene Algorithmus хэширования auch verwendet. Auf dem Eingang bekommt die chesch-Funktion die 32-Byte- Bedeutung, die aus der originellen Parole des Benutzers mittels oder die Kompressionen der Parole von der Länge mehr der 32 Symbole mit Hilfe der Operation XOR bekommen ist, oder der Vermehrung der Parole von der Länge weniger 32 Symbole; und auf dem Ausgang - die 16-Byte- chesch-Bedeutung (Hash16). Gerade wird es (für Novell Netware 3.х) in der Datenbank der Bänder (bindery) in Form von der Eigenschaft "PASSWORD" bewahrt.

Eine der Haupteigenschaften криптостойкой die chesch-Funktionen soll sein, dass sie die leichte Konstruktion der Kollisionen (dieser, zum Beispiel, nicht zulassen soll es ist die Funktion crypt (), verwendet in UNIX, die auf DES gegründet ist). Gerade diese Eigenschaft ist in der chesch-Funktion verletzt, die in Novell Netware verwendet wird.

Es war die Prozedur aufgebaut, die aus der gegebenen chesch-Bedeutung mittels der kleinen Übergebühr (etwas Sekunden auf dem Wagen der Klasse 80486DX2-66) die 32-Byte- Reihenfolge bekommen, die, natürlich, keine wahrhafte Parole ist, aber nichtsdestoweniger wird Novell Netware solch wahrgenommen, da die Anwendung zu ihr des chesch-Algorithmus, in der Genauigkeit die vorhandene chesch-Bedeutung ausgibt.

Der betrachtete chesch-Algorithmus blieb und in 4 Versionen Novell Netware.

Seinerseits hat die Firma Microsoft die ernstesten Mängel im hauptchesch-Algorithmus, der in alle Wespen verwendet wird, seit Windows 3.11, bei аутентификации in lokal (das Protokoll NetBIOS) und global (die Protokolle CIFS und http) die Netze, genannt LM (Lan Manager)-chesch [4] auch. (Im übrigen, Microsoft verweist darauf, dass er noch von der Zeiten OS/2 blieb und was es IBM entwickelte).

Er wird auf folgende Weise ausgerechnet:

  1. Die Parole verwandelt sich in die 14-symbolische Zeile mittels oder отсечки ist der langen Parolen, oder der Ergänzung der kurzen Parolen von den Nullelementen krank.
  2. Alle Symbole des unteren Registers werden durch die Symbole des oberen Registers ersetzt. Die Zahlen und die speziellen Symbole bleiben ohne Veränderungen.
  3. Die 14-Byte- Zeile stürzt auf zwei Siebenbyte- Hälften ab.
  4. Jede Hälfte der Zeile in der Rolle des Schlüssels DES verwendend, wird mit ihm die fixierte Konstante chiffriert, auf dem Ausgang zwei 8-Byte- Zeilen bekommend.
  5. Diese Zeilen werden für die Bildung der 16-Entladungsbedeutung der chesch-Funktion zusammengezogen.

Es ist offenbar, dass die Angriffe auf Lm-chesch den Erfolg aus den folgenden Gründen leicht erreichen:

  • Die Umgestaltung aller Symbole im oberen Register beschränkt und ohne das die kleine Zahl der möglichen Kombinationen für jeden (26+10+32=68).
  • Zwei Siebenbyte- "Hälften" der Parole хэшируются unabhängig voneinander. So können zwei Hälften von der Übergebühr unabhängig voneinander ausgewählt werden, und die Parolen, deren Länge sieben Symbole übertritt, sind nicht stärker, als die Parolen mit der Länge sieben Symbole. So muss man für den gewährleisteten Verbleib der Parole anstelle 940+941 + auslesen... 9414 ~4^1027 nur 2 ^ (680+681 +... +687) ~1^1013 (d.h. fast ist es in 1014 Male weniger) der Kombinationen. Außerdem ist es jene Parolen, deren Länge sieben Symbole nicht übertritt, sehr einfach, zu erkennen, da die zweite Hälfte хэша eine ein und derselbe Bedeutung AAD3B435B51404EE, der fixierten bei der Chiffrierung bekommenen Konstante mit Hilfe des Schlüssels aus sieben Nullen wird.
  • Es gibt kein Element der Zufälligkeit (salt), wie es in crypt gemacht ist () - zwei Benutzer mit den identischen Parolen werden die identischen Bedeutungen der chesch-Funktion immer haben. So kann man im Voraus das Wörterbuch хэшированных der Parolen bilden und, die Suche der unbekannten Parole darin verwirklichen.

 Die falsche Realisierung криптоалгоритмов



Obwohl криптостойкие in diesem Fall verwendet werden oder bringt die zertifizierten Algorithmen, diese Gruppe der Gründe zu den Verstößen der Sicherheit криптосистем wegen ihrer falschen Realisierung.

Die Verkleinerung криптостойкости bei der Erzeugung des Schlüssels

Dieser Grund mit den sehr zahlreichen Beispielen, wenn криптосистема oder die Parole des Benutzers beschneidet, oder generiert von ihm die Daten, die die kleinere Zahl das Bit haben, als die Parole. Die Beispiele:

  1. In vielen (alt) die Versionen UNIX wird die Parole des Benutzers bis zu 8 Byte vor хэшированием beschnitten. Neugierig, dass, zum Beispiel, Linux 2.0, von den Benutzern der Einführung der Parolen, die unbedingt den Buchstaben und die Zahlen enthalten fordernd, prüft nicht, damit der 8-symbolische Anfang der Parole aus den Buchstaben und den Zahlen auch bestand. Deshalb der Benutzer, zum Beispiel, die genug sichere Parole passwordIsgood19 aufgegeben, wird sehr verwundert sein, erkannt, dass der Hacker ins System unter seinem Namen mit Hilfe der elementaren Parole password eingegangen ist.
  2. Novell Netware lässt den Benutzern zu, die Parolen bis zu 128 Byte zu haben, was (einschließlich die lateinischen Buchstaben ohne Rucksicht auf das Register, der Zahl und спецсимволы) 68128 ~2779 Kombinationen gibt. Aber dabei, erstens bekommt die chesch-Funktion (siehe höher) auf dem Eingang nur die 32-Byte- Bedeutung, was die wirksame Länge der Parole von dieser Größe beschränkt. Außerdem, zweitens hat auf dem Ausgang die chesch-Bedeutung die Länge das nur 128 Bit, dass 2128 Kombinationen entsprechen. Es verringert die wirksame Länge bis zu zusätzlich
  3. log68 (2^128)=21 символа3, d.h. in 6 Male im Vergleich zur Ursprünglichen.
  4. Die vollständig ähnliche Situation geschieht mit dem Komprimierungsprogramm RAR der Versionen 1.5x - die Auswahl der Parole bringt mehr als 10 Symbole zur Größe der Zeit, die auf sein Öffnen notwendig ist nicht.

Wenn sich die Länge der Parole "oben" von der Realisierung криптоалгоритмов in diesem Fall klärt, so ist die Beschränkung auf die Länge mit dem Begriff der Einheit der Informationen oder der Entropie "unten" schon verbunden. Im betrachteten Beispiel mit Novell Netware für die Bildung der chesch-Bedeutung mit der Entropie das 128 Bit soll die Länge der Parole nicht weniger 128 * (8/log2 (68))=69 бит4 oder nicht weniger 22 символов5 sein128 * (8/log2 (68)). Das, was viele криптосистемы die minimale Länge der Parole, gerade nicht beschränken und bringt zum Erfolg der Angriffe von der Übergebühr nicht der Schlüssel, und der Parolen.

Die Abwesenheit der Prüfung auf die schwachen Schlüssel

Einige können криптоалгоритмы (insbesondere DES, IDEA) bei der Chiffrierung mit den spezifischen Schlüsseln das gehörige Niveau криптостойкости nicht gewährleisten. Solche Schlüssel nennen schwach (weak). Für DES ist es 4 schwach und 12 halbschwach (semi-weak) der Schlüssel bekannt. Und obwohl die Wahrscheinlichkeit in ihnen zu geraten stellt sich 16/2^56~2^10-16 gleich, für ernst криптографических der Systeme, ihr vernachlässigen darf es nicht.

Die Macht einer Menge der schwachen Schlüssel IDEA bildet nicht viel - nicht wenig - 251 (im übrigen, deswegen, dass allen der Schlüssel 2128, die Wahrscheinlichkeit, in ihn in 3^107 Male weniger, als bei DES zu geraten).

Die ungenügende Geborgenheit von РПС

РПС (ist die zerstörende Software) Computerviren, троянских die Pferde, die Programmgrundsteinlegungen u.ä. die Programme, fähig, den geheimen Schlüssel oder die nicht chiffrierten Daten aufzufangen, sowie es ist einfach, den Algorithmus auf некриптостойкий auszuwechseln. Falls der Programmierer die ausreichenden Weisen des Schutzes von РПС nicht vorgesehen hat, sind sie leicht fähig, die Sicherheit криптосистемы zu verletzen. Besonders ist es für die Betriebssysteme, die nicht die eingebauten Mittel des Schutzes oder die Mittel der Abgrenzung des Zuganges haben - als MS DOS oder Windows 95 aktuell:

  1. Das Abfangen der Parole. Wie man das Beispiel die älteste Weise des Diebstahls der Parole, bekannt noch von der Zeiten der großen Computer bringen kann, wenn das Programm - "das Phantom" die Einladung der Wespen nacheifert, anbietend, den Namen des Benutzers und die Parole einzuführen, merkt sich es in einiger Datei und stellt die Arbeit mit der Mitteilung "Invalid password" ein. Für MS DOS und Windows existiert eine Menge der Grundsteinlegungen für die Lektüre und die Erhaltung der Parolen, die getippt werden (durch das Abfangen der entsprechenden Unterbrechung), zum Beispiel, bei der Arbeit des Tools v. 6.0.
  2. Die Auswechselung криптоалгоритма. Ein Beispiel der Realisierung dieses Falls ist die Grundsteinlegung, die unter das angewandte Programm - "den Beschleuniger" als Turbo Krypton maskiert wird. Diese Grundsteinlegung ersetzt den Algorithmus der Chiffrierung ГОСТ 28147-89, реализуемой von der Zahlung "Krypton-3" (die Demonstrationsvariante), anderen, einfach und ist es дешифруемым vom Algorithmus [1] leicht.
  3. Das Trojanische Pferd in der elektronischen Post. Zum letzten Beispiel dient stattgefunden in Juni 1998 der Versuch der Durchdringung des Trojanischen Pferds durch die elektronische Post. In den Brief waren das pornographishe Bild und die EXE-Datei FREECD.EXE angelegt, der für jene Zeit, bis sich der Benutzer mit dem Brief vergnügte, die Parolen auf die Vereinigung mit dem Provider (Dial-Up) entzifferte und sandte sie auf die Adresse ispp@usa.net ab.

Das Vorhandensein der Abhängigkeit in der Zeit der Bearbeitung der Schlüssel

Es ist der verhältnismäßig neue Aspekt ungenügend korrekter Realisierung криптоалгоритмов, betrachtet in Artikel [2]. Es ist dort gezeigt, dass viele криптосистемы неодинаково verschiedene Eingangsdaten schnell bearbeiten. Es geschieht wie wegen hardware- (verschiedene Zahl der Takte auf die Operation, das Treffen in prozessor- кэш u.ä.), als auch der Programmgründe (besonders bei der Optimierung des Programms nach der Zeit). Die Zeit kann wie vom Schlüssel der Chiffrierung, als auch (der Rassen) der chiffrierten Daten abhängen.

Deshalb der Übeltäter, über die ausführlichen Informationen über die Realisierung криптоалгоритма verfügend, die chiffrierten Daten habend, und als analysierend irgendwelche fähige Weise kann, die Zeit der Bearbeitung dieser Daten (zum Beispiel, zu messen, die Zeit der Abfahrt der Pakete mit den Daten), den geheimen Schlüssel auszuwählen. In der Arbeit wird die Taktik der Angriffe auf die Systeme, die die Algorithmen RSA realisieren, Diffi-Chellmana und DSS detailliert beschrieben, wobei man den Schlüssel bekommen kann, das Bit hinter dem Bit berichtend, und ist die Zahl der notwendigen Messungen der Zeit proportional zur Länge des Schlüssels gerade.

Und es obwohl bis misslang, diese Forschungen bis zum konkreten Ergebnis hinzuführen (den geheimen Schlüssel auszurechnen), dieses Beispiel zeigt, dass das Programmieren der Systeme der kritischen Bestimmung (einschl. und криптосистем) besonders sorgfältig sein soll und, möglich, man muss die besonderen Schutzmethoden des Programmierens und die spezialisierten Mittel der Entwicklung (besonders die Compiler) dazu verwenden.

Die Fehler in der Programmrealisierung

Klar, dass bis die Programme von den Menschen geschrieben werden werden, dieser Faktor wird immer sein vorhanden. Das gute Beispiel - der Wespen Novell Netware 3.12, wo es, ungeachtet des genug durchdachten Systems аутентификации, bei der, nach den Erklärungen der Firma Novell, "die nicht chiffrierte Parole nach dem Netz" niemals übergeben wird, gelang, den Fehler im Programm v. 3.76 zu finden, bei dem die Parole gerade in der offenen Art in eines der Netzpakete gerät. Seiner wird weder mit früher, noch mit den späteren Versionen dieses Programms beobachtet, was zulässt, gerade über rein программистской dem Fehler zu sagen. Dieser wird der Fehler nur gezeigt wenn der Supervisor die Parole irgendjemandem (einschließlich sich tauscht). Offenbar, irgendwelcher Weise gerät ins Netzpaket der Tastenpuffer.

Das Vorhandensein der Luken

Die Gründe des Vorhandenseins der Luken in криптосистемах sind offensichtlich: der Hersteller will die Kontrolle über den in sein System bearbeiteten Informationen haben und gibt für sich die Möglichkeit ab, sie zu entziffern, den Schlüssel des Benutzers nicht wissend. Es ist auch möglich, dass sie für das Austesten verwendet werden und aus irgendwelchem Grund werden aus dem Finalprodukt nicht entfernt. Natürlich, dass es früh oder bekannt dem genug großen Kreis der Personen spät wird und der Wert solcher криптосистемы wird fast null-. Die bekanntesten Beispiele hier sind AWARD BIOS (bis zur Version 4.51PG) mit seiner universellen Parole "AWARD_SW" und СУБД Paradox die Firmen Borland International, auch habend "die Superparolen" "jIGGAe" und "nx66ppx".

Dicht schließen sich das Vorhandensein der Luken in der Realisierung (es ist offenbar, dass in diesem Fall sie die offenbar unbeständigen Algorithmen verwenden oder bewahren den Schlüssel zusammen mit den Daten) die Algorithmen, ermöglichend der dritten Person an, die chiffrierte Mitteilung, wie es im lärmenden Projekt CLIPPER gemacht ist, wo als die dritte Person der Staat auftritt, immer gern habend zu lesen, die Nase in die Geheimnisse der Bürger zu stecken.

Die Mängel des Zufallszahlengenerators (ДСЧ)

Gut, математически geprüft und korrekt realisiert ДСЧ ist für криптосистемы auch wichtig, wie auch gut, математически standhaft und korrekt криптоалгоритм, anders können seine Mängel auf allgemein криптостойкость die Systeme beeinflussen. Dabei verwenden für die Modellierung ДСЧ auf dem Computer die Sensoren der Pseudozufallszahlen (ПСЧ), charakterisiert mit der Periode, der Streuung, sowie der Notwendigkeit seines Initializationes (seed) gewöhnlich. Die Anwendung ПСЧ für криптосистем darf man nicht als die erfolgreiche Lösung überhaupt anerkennen, deshalb gut криптосистемы verwenden für diese Ziele physisch ДСЧ (die spezielle Zahlung), oder wenigstens produzieren die Zahl für den Initialization ПСЧ mit Hilfe der physischen Größen (zum Beispiel, der Zeit des Druckes auf die Tasten vom Benutzer).

Die kleine Periode und die schlechte Streuung verhalten sich zu den mathematischen Mängeln ДСЧ und erscheinen, falls aus irgendwelchen Gründen eigen ДСЧ herauskommt. Anders gesagt, die Auswahl eigen ДСЧ ebenso ist gefährlich, wie auch die Auswahl eigen криптоалгоритма.

Im Falle der kleinen Periode (wenn der pseudozufälligen Bedeutungen, die vom Sensor weniger als die möglichen Bedeutungen des Schlüssels) den Übeltäter produziert werden kann die Zeit der Suche des Schlüssels verringern, nicht die Schlüssel auslesend, und, die pseudozufälligen Bedeutungen und von ihnen die Schlüssel generierend.

Bei der schlechten Streuung des Sensors kann der Übeltäter die mittlere Zeit der Suche auch verringern, wenn die Übergebühr mit den wahrscheinlichsten Bedeutungen der Pseudozufallszahlen beginnen wird.

Vom am meisten verbreiteten Fehler, der und im Falle guten ПСЧ gezeigt wird, ist sein falscher Initialization. In diesem Fall hat die Zahl, die für den Initialization verwendet wird, oder die kleinere Zahl das Bit der Informationen, als der Sensor, oder aus неслучайных ausgerechnet wird und kann vorausgesagt sein stehe oder anderer Stufe der Wahrscheinlichkeit.

Solche Situation war im Programm Netscape Navigator der Version 1.1 vorhanden. Sie initialisierte ПСЧ, die laufende Zeit in den Sekunden (sec) und die Mikrosekunden (usec), sowie die Bezeichner des Prozesses (pid und ppid verwendend). Wie die Forscher J.Goldberg und D.Wagner aufgeklärt haben, ergaben sich bei solchem Schema wie Maximum 47 das Bit bedeutende Informationen (dabei, dass dieser Sensor für das Erhalten 40 oder 128 verwendet wurde (!) der-Bit- Schlüssel). Aber, wenn beim Übeltäter

    1. Es war die Möglichkeit, die Pakete aufzufangen, die nach den Netzen übergeben werden; und
    2. Es war der Zugang (account) auf den Computer, wo das Programm gestartet ist,

Jenes bildete für ihn das Werk mit der großen Stufe der Wahrscheinlichkeit nicht, sec, pid und ppid zu erkennen. Wenn die Bedingung (2) nicht befriedigt wurde, so konnte der Übeltäter dennoch versuchen, die Zeit durch die Netzdämonen time festzustellen, könnte pid durch den Dämon SMTP bekommen sein (geht er gewöhnlich ins Feld Message-ID), und ppid ein unterscheidet sich oder nicht von pid stark, ist oder 1 überhaupt gleich.

Die Forscher haben das Programm unssl geschrieben, die, die Mikrosekunden auslesend, fand den geheimen 40-Bit- Schlüssel durchschnittlich in einer Minute.


 Die falsche Anwendung криптоалгоритмов



Diese Gruppe der Gründe bringt dazu, was sich unzuverlässig криптостойкие und die korrekt realisierten Algorithmen zeigt.

Die kleine Länge des Schlüssels

Es ist der offensichtlichste Grund. Es entsteht die Frage: wie standhaft криптоалгоритмы die kleine Länge des Schlüssels haben können? Offenbar, infolge zwei Faktoren:

  1. Einige Algorithmen können mit der variabelen Länge des Schlüssels arbeiten, verschiedene криптостойкость - und gerade die Aufgabe des Herstellers gewährleistend, die notwendige Länge, ausgehend von erwünscht криптостойкости und der Effektivität zu wählen. Manchmal werden auf diesen Wunsch auch andere Umstände - solche, wie die Exportbeschränkungen aufgelegt.
  2. Einige Algorithmen wurden sehr seit langem entwickelt, wenn die Länge des in ihnen verwendeten Schlüssels mehr als ausreichend für die Beachtung des nötigen Niveaus des Schutzes galt.

Auf den heftigen Sprung der Produktivität der Rechentechnik ist der Algorithmus RSA zuerst zusammengestoßen, für dessen Öffnen man die Aufgabe der Faktorisierung lösen muss. Im März 1994 war die im Laufe von 8 Monaten dauernde Faktorisierung der Zahl aus 129 Zahlen (428 бит6) erledigt. Es war 600 Freiwilliger und 1600 Wagen dazu eingesetzt, die mittels der elektronischen Post verbunden sind. Die aufgewendete mechanische Zeit war äquivalent ungefähr 5000 MiPs-let7.

Der Fortschritt in der Lösung des Problems der Faktorisierung ist nicht nur mit der Größe der Rechenmächte, sondern auch mit dem Erscheinen in letzter Zeit der neuen wirksamen Algorithmen in vieler Hinsicht verbunden. (Auf die Faktorisierung der folgenden Zahl aus 130 Zahlen ist es nur 500 MIPS-Jahre) weggegangen. Für heute ist es факторизовать die 512-Bit- Zahlen im Prinzip real. Wenn sich zu erinnern, dass solche Zahlen im Programm PGP noch vor kurzem verwendet wurden, so kann man behaupten, was das am meisten schnell sich entwickelnde Gebiet der Kryptographie und der Theorie der Zahlen sind.

Am 29. Januar 1997 war die Firma RSA Labs der Wettbewerb auf das Öffnen des symmetrischen Algorithmus RC5 erklärt. Der 40-Bit- Schlüssel war durch 3.5 Stunden nach dem Anfang des Wettbewerbes geöffnet! (Wurde dazu nicht gefordert, die Computer durch das Internet zu verbinden - es reicht das lokale Netz aus 250 Wagen an der Berklewski Universität) aus. Durch 313 Stunden war auch der 48-Bit- Schlüssel geöffnet. So wurde es allem offenbar, dass die Länge des Schlüssels, die den Export- Beschränkungen befriedigt, sogar die minimale Zuverlässigkeit nicht gewährleisten kann.

Parallel war mit dem Öffnen RC5 der Aufruf und der Stütze der amerikanischen Kryptographie - dem Algorithmus DES, die den Schlüssel ins 56 Bit haben gegeben. Und er ist am 17. Juni 1997, durch 140 Tage nach dem Anfang des Wettbewerbes (gefallen dabei war es daneben 25 % aller möglichen Schlüssel geprüft und es sind ungefähr 450 MIPS-Jahre aufgewendet). Es war die Großtat unbedingt, die den tatsächlichen Tod DES wie des Standards der Chiffrierung bedeutete. Und ist wirklich, wenn in die Anfange 1998 der folgende Wettbewerb im Verbleib des Schlüssels DES zum Erfolg aller für 39 Tage gebracht hat, das nationale Institut der Standards der USA (NIST) hat den Wettbewerb auf die Behauptung des neuen Standards AES (Advanced Encryption Standard) erklärt. AES soll vom vollständig offenen symmetrischen Algorithmus mit dem Schlüssel vom Umfang 128, 192, 256 Bit und dem Block der Chiffrierung vom Umfang das 128 Bit sein.

Die falsche Auswahl der Klasse des Algorithmus

Es ist der auch sehr verbreitete Grund, bei dem der Hersteller wenn auch auch gut, aber ganz unpassend zu seiner Aufgabe den Algorithmus wählt. Meistens ist es die Auswahl der Chiffrierung anstelle хэширования oder die Auswahl des symmetrischen Algorithmus anstelle des Algorithmus mit den offenen Schlüsseln.

Der Beispiele hier ist die Masse fast alle Programme, die den Zugang auf den Computer die Parole bei seinem Einschluss oder den Auslastungen, zum Beispiel, AMI BIOS beschränken, bewahrenden anstelle хэша der Parole seine chiffrierte Variante, die, natürlich, leicht dechiffriert werden wird.

In allen Netzprozeduren аутентификации natürlich, die asymmetrische Kryptographie zu verwenden, die nicht zulassen wird, sogar beim vollen Abfangen des Verkehres den passenden Schlüssel zu finden. Jedoch realisiert solche Algorithmen (aus netz- OC) bis sich nur Novell Netware 4.x, übrig (bestenfalls begnügen!) dem standardmäßigen Schema "die Anfrage-Antwort", bei der man die genug schnelle Übergebühr nach den aufgefangenen Bedeutungen "der Anfrage" und "der Antwort" führen kann.

Das nochmalige Auferlegen des Gammas der Chiffre

Schon ein klassisches Beispiel wurde die Verwundbarkeit in Windows 3.x und die ersten Versionen Windows 95, verbunden mit der Chiffrierung. In diesem Fall verwendeten die Programmierer der Firma Microsoft, wohlbekannt vom Wissen auf dem Gebiet der Sicherheit, den Algorithmus RC4, (darstellend dass anderes, wie die Chiffrierung гаммированием nicht tauschend), den Gamma, mehrmals zu verschiedenen Daten - den Netzressourcen, die in den Dateien des Typs.pwl bewahrt werden.

Es zeigte sich, dass einer der Datensätze der Datei.pwl von sich mehr als den spezifischen Text - der 20-symbolische Name des Benutzers (im oberen Register) und den Satz der Register auf die Ressourcen vorstellte (siehe die Abb. 2). So ihm den Benutzer erraten (das meistens übereinstimmt dazu mit dem Namen der Datei) kann man wenigstens 20 Byte des Gammas ausrechnen. Da sich das Gamma bei der Chiffrierung anderer Ressourcen nicht ändert (besteht darin der Hauptfehler der Anwendung RC4 in diesem Fall), können das erste 20 Byte aller Ressourcen ausgerechnet sein, zu denen die Länge jedes von ihnen gehört. Die Länge ausgerechnet, kann man die Bedeutungen der Register finden, und dadurch noch etwas Dutzende das Byte zum erratenen Gamma hinzuzufügen. Dieser Algorithmus ist im bekannten Programm glide realisiert.



Fig.2

Die Abb. 2. Das Format der Datei.PWL.

Die Aufbewahrung des Schlüssels zusammen mit den Daten

Dieser Grund bringt dazu, dass die Daten, die mit der Hilfe криптостойкого und den korrekt realisierten Algorithmus chiffriert sind, leicht dechiffriert sein können. Es ist mit der Besonderheit der entschiedenen Aufgabe verbunden, bei der es unmöglich ist, den Schlüssel von außen einzuführen und er wird irgendwo innen in der tatsächlich nicht chiffrierten Art bewahrt. Anders gesagt, hier wird am meisten verwundbar der Algorithmus der Chiffrierung nicht vom Schlüssel, und des Schlüssels (mit Hilfe des gewissen nochmaligen Schlüssels). Aber da (was wieder offenbar ist es ist nötig aus der Besonderheit der Aufgabe) diesen nochmaligen Schlüssel darf man von außen nicht bewahren, so werden die Hauptdaten früh oder ohne Nutzung der Methoden der Übergebühr spät entziffert sein.

Ein typisches Beispiel hier werden aller WWW - ftp - die e-e-Kunden. Es handelt sich darum, dass für grundlegend (am häufigsten sich treffend) аутентификации in diesen Protokollen die Parole dem Server in der offenen Art übergeben werden soll. Deshalb sind die Kundenprogramme erzwungen, (und nicht хэшировать) die Parole, wobei mit dem fixierten Schlüssel zu chiffrieren, um dem Benutzer von den ständigen Fragen nicht zu belästigen. Von hier aus ist nötig es, dass irgendwo innerhalb jedes броузера liegen, postalisch oder des ftp-Kunden (ob Netscape Communicator, Eudora, Outlook, FAR u.ä.) alle Ihre Parolen in der tatsächlich offenen Art, und was, sie zu entziffern stellt das Werk nicht vor. (Meistens, übrigens wird die Parole in solchen Programmen nicht chiffriert, und wird vom Algorithmus als base-64) verschlüsselt.


 Der menschliche Faktor



In einem beliebigen kritischen System des Fehlers des Menschen-Operators sind fast am meisten kostspielig und verbreitet. Für den Fall криптосистем machen die amateurhaften Handlungen des Benutzers am meisten standhaft криптоалгоритм sowohl seine korrekteste Realisierung als auch die Anwendung zunichte.

In erster Linie ist es mit der Auswahl der Parolen verbunden. Es ist offenbar, dass sich die kurzen oder bewussten Parolen vom Menschen leicht gemerkt werden, aber sie sind für das Öffnen viel einfacher. Die Nutzung der langen und sinnlosen Parolen ist vom Standpunkt криптостойкости unbedingt besser, aber der Mensch gewöhnlich kann sich sie nicht merken und zeichnet auf dem Papierchen auf, das sich später entweder verliert, oder fällt dem Übeltäter in die Hände.

In den letzten Jahren wird viel Aufmerksamkeit der Lösung dieses Widerspruchs zugeteilt, aber die Empfehlungen gehen nach Wahl der guten Parolen für die Rahmen dieses Artikels hinaus.

Gerade davon, dass die nicht erfahrenen Benutzer entweder kurz gewöhnlich wählen, oder die bewussten Parolen, existieren zwei Methoden ihres Öffnens: der Angriff von der vollen Übergebühr und der Angriff nach dem Wörterbuch.

Von der Verbindung mit der heftigen Größe der Rechenmächte des Angriffes von der vollen Übergebühr gedeihen viel mehr Chancen auf, als früher (es siehe auch "die Kleine Länge des Schlüssels"). Wenn für das System UNIX die Funktion crypt (), die für хэширование der Parolen antwortet, so realisiert war was fast 1 Sekunde auf den Wagen der Klasse PDP erfüllt wurde, so hat für zwanzig Jahre die Geschwindigkeit ihrer Berechnung in 15000 Male (!) zugenommen. Deshalb wenn sich früher die Hacker (und die Hersteller, die die Länge der Parole von den 8 Symbolen beschränkt haben vorstellen) und konnten die volle Übergebühr nicht, so wird heute solcher Angriff zum Erfolg für 80 дней8 durchschnittlich bringen. Die Geschwindigkeit der Übergebühr der Parolen für verschiedene криптосистем ist in der Tabelle 1 gebracht.

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

Die Geschwindigkeit, der Parolen/cek.

ARJ 2.50

350 000

RC5 - 56 Bit

150 000

Lm-chesch

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

Die Tabelle 1. Die Geschwindigkeit der vollen Übergebühr auf dem Computer der Klasse Pentium/166.

Jedoch werden wir auf vor einigen Jahren zurückkehren, wenn die Rechenmacht für die volle Übergebühr aller Parolen nicht ausreichte. Nichtsdestoweniger, den Hackern war die scharfsinnige Methode erdacht, die auf gegründet ist, dass die Qualität der Parole vom Menschen das existierende Wort oder irgendwelche Informationen über sich oder der Bekannten (der Name, das Datum der Geburt u.ä. herauskommt). Also, und da in einer beliebigen Sprache nicht mehr als 100000 Wörter, so wird ihre Übergebühr die sehr kleine Zeit einnehmen, und von 40 bis zu 80 % der existierenden Parolen mit Hilfe solchen einfachen Schemas, das genannt wird "vom Angriff nach dem Wörterbuch erraten sein kann". (Übrigens kann bis zu 80 % dieser Parolen mit der Nutzung des Wörterbuches vom Umfang nur 1000 Wörter erraten sein!). Sogar der Virus Morrissa (in 1988!) Verwendete solche Weise, um so mehr, als sich in UNIX "griffbereit" die Datei-Wörterbuch häufig zeigt, die gewöhnlich von den Programmen-Korrektoren verwendet wird. Was "die eigenen" Parolen betrifft, so kann die Datei/etc/passwd nicht wenig Informationen über den Benutzer geben: sein Eingangsname, den Namen und den Familiennamen, den häuslichen Katalog. Der Virus Morrissa mit dem Erfolg benutzte die folgenden Annahmen [3]:

  • Als Parole übernimmt eingangs- von ihm des Benutzers;
  • Die Parole stellt die doppelte Wiederholung namens der Benutzer dar;
  • Selb, aber gelesen rechts nach links;
  • Der Name oder der Familienname des Benutzers;
  • Selb, aber im unteren Register.

Wenn auch heute die Benutzer schon verstehen, was es, solche Parolen wählen nicht, aber darf, bis mit dem Computer человек9 arbeitet, werden die Experten nach der Computersicherheit die Nutzung solcher einfachen und die Seele erfreuenden Parolen, wie 34jXs5U@bTa!6 nicht erwarten. Deshalb ist sogar der erfahrene Benutzer schlau und wählt solche Parolen, wie hope1, user1997, pAsSwOrD, toor, roottoor, parol, gfhjkm, asxz. Es ist sichtbar, dass aller diese sich auf dem bewussten Wort und einiger einfacher Regel seiner Umgestaltung in der Regel stützen: die Zahl hinzuzufügen, das Jahr hinzuzufügen, durch den Buchstaben in anderes Register zu übersetzen, das Wort im Gegenteil aufzuzeichnen, das aufgezeichnete im Gegenteil Wort hinzuzufügen, das russische Wort von den lateinischen Buchstaben aufzuzeichnen, das russische Wort mit der lateinischen Verteilung zu tippen, die Parole aus nebenan der auf der Tastatur gelegenen Tasten u.ä. zu bilden

Deshalb muss man sich nicht verwundern, wenn solche "schlaue" Parole von den Hackern - sie nicht dummer als Benutzer geöffnet sein wird, und schon haben in die Programme jene Regeln eingestellt, nach denen die Umgestaltung der Wörter gehen kann. In den am meisten fortgeschrittenen Programmen (John The Ripper, Password Cracking Library) können diese Regeln programmiert sein und, mit Hilfe der speziellen Sprache mit dem Hacker zu protzen.

Wir werden das Beispiel der Effektivität solcher Strategie der Übergebühr anführen. In vielen Büchern nach der Sicherheit wird es vorgeschlagen, als sichere Parole zwei durchdachter Wörter, die vom einigem Zeichen geteilt sind, zum Beispiel, "good zu wählen! password". Wir werden berechnen, für wieviel der Zeit werden solche Parolen durchschnittlich zerbrochen sein, wenn solche Regel in den Satz des Programms-Einbrechers (wenn auch das Wörterbuch 10000 Wörter aufgenommen ist, die teilenden Zeichen können 10 Zahlen und 32 Interpunktionszeichen und des speziellen Symbols sein, der Wagen der Klasse Pentium mit Geschwindigkeit 15000 crypt/peitschte): (10000 * (10+32) *10000) / (15000*2)=140 000 Sekunden oder weniger 1.5 Tage!


 Der Schluss



Ab Datum des Anfanges der Schreibung dieses Artikels in 1996 verändert sich die Lage in der Anwendung der Mittel der Kryptographie in den angewandten Programmen unumstösslich zu seinen Gunsten. Allmählich sind sich die Hersteller der Notwendigkeit der Anwendung der sich bewährenden Algorithmen bewußt, es werden die Positionen einiger Länder in der Frage des Exportes криптоалгоритмов in Gang gesetzt, es werden die neuen Algorithmen und die Standards mit большей von der Länge des Schlüssels und der Effektivität für die Realisierung auf allen Typen der Prozessoren, von 8-Bit- bis zu RISC entwickelt.

Nichtsdestoweniger, es bleibt der riesige Abgrund zwischen dem Niveau der Standhaftigkeit und der Zuverlässigkeit existierend jetzt die Software, verwendend криптоалгоритмы, in dem sich "die Kinderlöcher" (das letzte Beispiel - die Realisierung PPTP von Microsoft [4] bis jetzt befinden) und jenem Niveau криптостойкости, die die Letzten demonstrieren, die führenden криптоаналитиками die Algorithmen und die Protokolle unabhängig analysiert sind, wo die ernste Verwundbarkeit, zum Beispiel, angenommen wird, was 265 Blöcke des chiffrierten Textes und dann 258 Übergebühren der Varianten oder eines offenen Textes, der von 233 verschiedene chiffriert ist, aber abhängig voneinander von den Schlüsseln und dann der Komplexität Analyse, die 257 [5] gleich ist fordert.

Man will hoffen, dass die zukünftigen Realisierungen und die Anwendung dieser Algorithmen die so hohe Stufe ihrer Zuverlässigkeit aufsparen werden.


 Die Zusammenfassung



Man kann 4 Hauptgruppen der Gründe der Unzuverlässigkeit криптографических der Systeme wählen: die Anwendung der unbeständigen Algorithmen, die falsche Realisierung oder die Anwendung криптоалгоритмов, sowie den menschlichen Faktor. Es ist die deutliche Parallele zwischen ihnen und den Gründen des Verstoßes der Sicherheit der Computersysteme dabei sichtbar.

Wegen der beschriebenen Gründe existierten oder es gibt die Probleme in der Sicherheit bei allen Klassen der Softwareprodukte, verwendend криптоалгоритмы, ob die Betriebssysteme; криптопротоколы; die Kunden und des Servers, ihre Unterstützenden; die Büroprogramme; die Anwendertools der Chiffrierung; die populären Komprimierungsprogramme.

Um eigen криптосистему sachkundig zu realisieren, ist es notwendig nicht nur wird in die Fehler andere eingeführt werden und, die Gründe zu verstehen, nach denen sie, sondern auch, möglich geschehen sind, die besonderen Schutzaufnahmen des Programmierens und die spezialisierten Mittel der Entwicklung zu verwenden.


1 wird Unter криптостойкостью hier die Zahl der Varianten für den Verbleib des Schlüssels von der Übergebühr weiter verstanden werden.

2 Es war bis vor kurzem. Jetzt - 56 Bit.

3 [] - ein ganzer Teil (nächst ganz unten).

4] [- nächst ganz oben.

5 Ist Klar, dass auch sich hier und im Beispiel höher ein und derselbe Zahlen ergeben, aber auf Kosten von der Abrundung zu verschiedenen Seiten zeigt sich der Unterschied in 1 Symbol.

6 entspricht was 56 Bits für die symmetrischen Algorithmen ungefähr.

7 Million Instruktionen in die Sekunde in der Strömung des Jahres.

8 die speziellen Zahlungen oder распараллеливание verwendend, kann man diese Zeit auf etwas Ordnungen verringern.

9 :-)



 Die Literatur



1. Die Theorie und die Praxis der Versorgung der informativen Sicherheit. Unter der Redaktion Segschdy P. Ds - М, der Segelsportler, 1996.

2. P.Kotscher. Vorübergehend die Analyse der Realisierungen Diffi-Chellmana, RSA, DSS und anderer Systeme

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

4. B.Schnajer, P.Mjudsch. Криптоанализ des Protokolles PPTP von Microsoft.

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



 Die zusätzlichen Verbannungen



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

Bruce Schneier. Why Cryptography Is Harder Than It Looks



Яндекс цитирования

Subscribe Subscribe.Ru
The Family Tree of Family