Challenger-VerschlüsselungsmechanismusTheoretisch sicheres Verschlüsselungsverfahren Die Sicherheit herkömmlicher Verfahren besteht auf der Annahme, dass mehrere anerkannte Experten auf dem Gebiet der Kryptografie sich bislang erfolglos darum bemüht haben die jeweiligen Algorithmen zu knacken. Problematisch ist allerdings, dass die Anwender von Verschlüsselungsverfahren häufig erst viel später von erfolgreichen Angriffen erfahren. Gedächtnisphrasen bzw. Passwörter können durch Androhung von Gewalt, Drogen oder Hypnose bzw. durch technische Spionage (z.B.: Keylogger) leicht durchtunnelt werden. Durch den Glauben an die vermeintlich hohe Sicherheit von Passphrasen ist in der Realität ein beachtlicher Teil der Computerkriminalität erst entstanden. Bei der Verschlüsselungsthematik lösen sich diese Kenntnisse jedoch häufig in Schall und Rauch auf. Wodurch werden diese Sicherheitsaspekte in Challenger berücksichtigt? Challenger verwendet ein 2-Schlüssel-Verfahren. Durch die Verwendung von zwei unabhängig wirkende Schlüssel wird die Sicherheit stark erhöht. Einer der Schlüssel stellt eine übliche Gedächtnisphrase bzw. Passwort dar. Der zweite Schlüssel wird durch eine umfangreiche Liste (> 3 MB) mit echten Zufallszahlen erzeugt. Er wird ebenfalls individuell generiert und kann wie ein materieller Schlüssel gehandhabt werden (Tresor). Bei hohen Sicherheitsanforderungen kann der zweite Verfahrensschlüssel auch unabhängig von der Computer-Plattform gebildet werden. Begriffsklärung: Der zweite Schlüssel wird als PAD benannt. Der Begriff PAD wurde vom bekannten One-Time-Pad Verfahren übernommen. |
|||||
ZufallszahlengeneratorDas Herz der synchronen StromchiffrierungDer in Challenger implementierte symmetrische Verschlüsselungsmechanismus ist neu und basiert auf natürlichem Rauschen. Es werden keine mathematischen Algorithmen verwendet. Wir haben es geschafft einen idealen Zufallszahlengenerator zu entwickeln. Der Generator liefert aus einer relativ kleinen Menge von echten Zufallszahlen nahezu unendlich viele weitere Zufallszahlen. Es besteht lediglich eine extrem geringe Wahrscheinlichkeit, dass der Generator in einen Zyklus geraten könnte. Folgendes Zahlenspiel zeigt von welcher Wahrscheinlichkeit hier gesprochen wird: Nach einer angenommen Erzeugung von 1017 Zufallsbytes, liegt die (Un)Wahrscheinlichkeit bei 10-120, dass der Generator in eine Wiederholungsschleife gerät. Damit die Menge von 1017 Bytes generiert werden könnte, müsste der Generator ca. 100 Jahre fortlaufend 300 MB pro Sekunde erzeugen. Die Angabe von 300 MB/s ist die theoretisch mögliche Geschwindigkeit - bei idealer Implementierung. Herkömmliche Pseudo-Random-Generatoren werden nach Ausschöpfung der maximal möglichen Anzahl an generierten Zufallszahlenfolgen zyklisch. Dafür wird in der Regel der theoretische Nachweis erbracht. Im Gegensatz dazu wird beim Challenger-Mechanismus ein ausschließlich aus zufälligen Daten gesteuerter Prozess verwendet. Verfahrensgemäß wird also gänzlich auf die Verwendung von Algorithmen verzichtet. Daraus folgt auch, dass es keine kryptografischen Angriffsstrategien geben kann. Physikalische Zufallszahlen bilden die Basis für den SchlüsselstromgeneratorDie Challenger-Engine arbeitet mit echten Zufallszahlen, welche durch einen physikalischen Prozess gewonnen werden. Wie bereits oben erwähnt, wird die Liste mit den generierten Zufallszahlen als PAD bezeichnet und stellt neben der Passphrase den zweiten geheimen Schlüssel dar. In Prozessoren integrierte Zufallszahlengeneratoren sind im Sinne der Verschlüsselungssicherheit aus nahe liegendem Grund abzulehnen. Andere Verschlüsselungsprogramme erzeugen wenige Zufallszahlen durch Mausbewegungen oder durch blindes tippen auf der Tastatur (PGP etc.). |
|||||
|
|||||
Eine Methode zur Gewinnung echter Zufallszahlen ist das Eigenrauschen der Soundkarte aufzuzeichnen. Hierbei wird die Tatsache ausgenutzt, das Soundkarten ein Eigenrauschen aufweisen. Selbst rauscharme Soundkarten produzieren genügend Rauschbits. Unter idealen Bedingungen werden ideale Zufallszahlen erzeugt. Damit die Erzeugung aufbauunabhängig und anwenderfreundlich immer zum Erfolg führt, wird die Rohaufnahme durch eine Einwegfunktion aufbereitet. Die Rohaufnahme wird geprüft und nur bei ausreichender statistischer Gleichverteilung der Zufallszahlen verwendet. Die Einwegfunktion generiert aus einem geordneten Muster bereits nach wenigen Mischrunden kryptografisch relevante Zufallszahlenfolgen. Aus dem Ergebnis kann der ursprüngliche Datenstrom nicht mehr berechnet werden. Nur eine Bit-Änderung in den Ursprungsdaten führt zu völlig anderen Ergebnissen. Die zweite und zugleich moderne Methode ist nicht das Eigenrauschen der Soundkarte durch die Einwegfunktion zu transformieren, sondern eine Bild- oder Videoaufnahme. Es können alle digitalen Fotokameras benutzt werden. Dabei müssen keine technischen Einstellungen berücksichtigt werden. Neben der einfachen und schnellen Zufallszahlenerzeugung ergeben sich jedoch auch wichtige Sicherheitsaspekte. Eine digitale Fotokamera erzeugt den Rohschlüssel außerhalb der Computer-Plattform. Der Anwender erkennt die Bildstrukturen auf einen Blick. Es versteht sich von selbst, dass strukturierte Bilder nicht berechenbar sind. Die abschließende Einwegfunktion kann durch ein Referenzsystem überprüft werden. Passend zum Kombinationspotential der Zufallszahlen wurde ein idealer Zufallsprozess entdecktDer entwickelte Schlüsselstromgenerator kann auf der Basis der echten Zufallszahlen (PAD) eine unerschöpfliche Anzahl an weiteren Zufallszahlen generieren. Dafür sorgt der ausschließlich aus den Zufallsdaten gesteuerte Prozess. Die Klartextdaten werden - wie das bei Stromchiffren oft der Fall ist - mit den gewonnenen Zufallszahlen über XOR verknüpft. |
|||||
Generator - Blockschaltbild |
|||||
Der Generator ist in einen internen und in einen externen Prozess unterteilt. Beim Starten wird die Ausgangsstellung des Generators durch die Passphrase, das Datum und die Uhrzeit gesetzt. Die Datums- und Zeitwerte dienen dazu, dass bei gleicher Passphrase, eine vollkommen andere Ausgangsstellung des Generators gebildet wird.
Der interne Prozess erzeugt Zeiger für den externen Prozess und für sich selbst im Rahmen einer Rückkopplung. Dabei werden die Zeiger für den externen Prozess und die Zeiger für die Rückkopplung seperat erzeugt und stehen in keiner Verbindung zueinander. Auf Grund der Art der Zeigererzeugung ist die eingebaute Rückkopplung zulässig. Die einzelnen Funktionsabläufe des Generators benötigen in jedem Fall das gesamte PAD. |
|||||
|
|||||
Wenn Sie Fragen zum Verfahren und zur DLL-Implementierung in Drittsoftware haben, können Sie sich gerne mit uns in Verbindung setzen. | |||||