Archiv für die Kategorie „Kryptographie“

Freenigma: Krypto für Webmailer

Dienstag, 7. November 2006

Krypto-Systeme mit einfachem Interface findet man heutzutage sehr selten. Umso mehr habe ich mich gefreut, als ich von Freenigma hörte, einem Tool, welches asymmetrische Verschlüsselung für Webmailer mit ein paar Mausklicks ermöglicht.
Freenigma

Anmeldung und Konfiguration

Man meldet sich beim Anbieter an, trägt seine E-Mail-Adresse(n) ein, wählt ein Passwort (für den Private Key), installiert ein Firefox-Plugin und die Sache läuft. Von Schlüsselgenerierung und Schlüsselverwaltung bekommt man überhaupt nichts mit. Die Konfiguration dauert etwa 2 Minuten und man kann danach direkt loslegen.
Zur Zeit werden die gängigsten Webmailer wie Google Mail, Yahoo Mail, Hotmail/MSN, web.de und GMX unterstützt. Allerdings kann man mit wenigen Handgriffen das Firefox-Plugin individuell auf einen anderen Webmailer umkonfigurieren.
Möchte man nun Freenigma mit seinen E-Mail-Kontakten nutzen, muss man im gesicherten Bereich der Freenigma-Seite seine Kontakte bearbeiten und ggf. Leute einladen, oder nach bestehenden Freenigma-Nutzern suchen und diese hinzufügen.

Interface und Nutzbarkeit

Im gewohnten Interface des Webmailers erscheint eine kleine Toolbar von Freenigma, über die sich E-Mails ver- und entschlüsseln lassen.

Freenigma im Einsatz

Freenigma überprüft dabei automatisch ob sich die E-Mail-Adresse des Empfängers in der eigenen Freenigma-Buddylist befindet, oder nicht. Ist die Adresse unbekannt, verweigert Freenigma den Dienst.
Möchte man nun eine Mail ver- oder entschlüsseln reicht ein Klick auf einen Button; man wird nach seinem Passwort gefragt und die Krypto-Maschinerie startet. 1–2 Sekunden später befindet sich entweder ein Geheim- oder ein Klartext im Inhalt der Mail und der gesamte Vorgang ist abgeschlossen.

Man kann ohne Bedenken sagen, dass die Benutzung auch für technikabgeneigte Personen sehr einfach ist.

Technologie und Kehrseiten

Das Freenigma-Plugin ist mit AJAX realisiert und die gesamte Schlüsselverwaltung findet auf dem Anbieter-Server von Freenigma statt; Private und Public Keys sind nicht einsehbar. Das gesamte Krypto-Prinzip funktioniert wie bei PGP.

Die größte Schwachstelle: Möchte ich eine für mich verschlüsselte Mail entschlüsseln muss der Private Key vom Server zu meinem Client über das Internet übertragen werden. Das geschieht zwar auch verschlüsselt mit einem Session-Key, aber birgt eine potenzielle Sicherheitslücke. Eine lokale Speicherung des Private Keys wäre denkbar, würde aber wiederrum die ortsunabhängige Bedienung erschweren, da man – wie bei herkömmlichen Verfahren – seinen Private Key von Rechner zu Rechner schleppen müsste.

Als weiteren Nachteil habe ich es empfunden, dass es mir nicht möglich ist mit bestehenden Schlüsselpaaren zu arbeiten. Freenigma fragt erst gar nicht danach, ob man vielleicht schon ein PGP-kompatibles Schlüsselpaar besitzt, sondern generiert einfach ein Pärchen. Natürlich ist das so mit der aktuellen Funktionsweise von Freenigma sinnvoller, da ja die Möglichkeit fehlt mit lokalen Schlüsseln zu arbeiten.

Kai Raven hat übrigens ein paar interessante Gedanken zu den Sicherheitsrisiken von Freenigma geschrieben.

Fazit

Auch wenn Freenigma eine potenzielle Lücke aufweist, ist es immer noch besser als gar keine Kryptographie zu verwenden. Die Tatsache des simplen Interfaces macht es ebenfalls zu einem interessanten Anschauungsobjekt.

Krypto-Referat ist online

Mittwoch, 1. November 2006

Zum Referat über Kryptographie ist jetzt die PDF-Präsentation online und kann runtergeladen werden.

krypto_referat.gif

Fotos aus dem NSA-Museum

Freitag, 20. Oktober 2006

Beim täglichen kartographieren des Webs ist mir eine feine Seite mit Fotos aus dem Museum der NSA (National Security Agency) in die Finger gekommen.

Darunter unter anderem zu sehen:

KL-7
Die KL-7, eine amerikanische Rotorverschlüsselungsmaschine, die als Antwort auf die deutsche Enigma entwickelt wurde

SIGSALY
SIGSALY, ein hochkompliziertes System zur Sprachverschlüsselung, das im zweiten Weltkrieg eingesetzt wurde

Enigma
Eine in Einzelteile zerlegte Walze einer Enigma

Zusammenfassen kann man sagen, dass so gut wie alle ausgestellten technischen Systeme zur Ver- und Entschlüsselung von Nachrichten benutzt wurden. Also denkt immer daran:
Silence

Symmetrisch, asymmetrisch?

Donnerstag, 19. Oktober 2006

Um die Anwenduung von Kryptosystemen zu verstehen, sollte man die verschiedenen Grundprinzipien in der Verschlüsselung auseinanderhalten können:

  • Symmetrische Verschlüsselungsverfahren
  • Asymmetrische Verschlüsselungsverfahren
  • Hybride Verschlüsselungsverfahren

Symmetrische Verfahren

Diese Verfahren zeichnen sich durch die Tatsache aus, dass sowohl für die Verschlüsselung in Geheimtext als auch für die Entschlüsselung in Klartext der exakt selbe Schlüssel verwendet wird.

Symmetrische Verschlüsselung

Im Artikel über die funktionsweise der Verschlüsselung wurden bereits mehrere Beispiele der symmetrischen Kryptoverfahren genannt – darunter der Cäsarchiffre, die Skytale und Enigma.

Die größte Problematik der symmetrischen Verfahren besteht beim unsicheren Schlüsselaustausch. Eine chiffrierte Nachricht kann zwar gefahrlos verschickt werden, nicht aber der Schlüssel.
Um vor Angriffen geschützt zu sein, muss für den Transport des Schlüssels also unbedingt ein sicherer Kanal gewährleistet sein.

Asymmetrische Verfahren

Asymmetrische Systeme haben die wichtige Eigenschaft mit Schlüsselpaaren zu arbeiten. Hierbei wird ein Schlüssel zur Verschlüsselung (Public Key) und ein anderer Schlüssel zur Entschlüsselung der Nachricht (Private Key) verwendet.

Der öffentliche Schlüssel wird, wie der Name sagt, öffentlich gemacht. Jeder Anwender kann diesen Schlüssel benutzen, um an den Eigentümer eine Nachricht zu Versenden, die durch Verschlüsselung entstanden ist.

Public Key

Der geheime Schlüssel wird vom Besitzer geheim gehalten. Er dient dazu, an ihn gesendete, verschlüsselte Nachrichten (Geheimtexte) zu entschlüsseln.

Private Key

Die Vorteile:

  • Kennt ein Angreifer den öffentlichen Schlüssel, so kann er daraus weder auf die verschlüsselte Nachricht noch den geheimen Schlüssel schließen
  • Der öffentliche Schlüssel kann ohne Bedenken auch über unsichere Kanäle verschickt werden

Asymmetrische Verfahren sind ein relativ neues Gebiet der Kryptographie. Eine wichtige Vorarbeit für die asymmetrischen Verfahren sind die Arbeiten von Whitfield Diffie, Martin Hellman und Ralph Merkle zum geheimen Schlüsselaustausch Anfang der 1970er Jahre. Im Sommer 1975 veröffentlichten Diffie und Hellman eine Idee zur asymmetrischen Verschlüsselung, ohne jedoch ein genaues Verfahren zu kennen.
Der Durchbruch gelang Ronald L. Rivest, Adi Shamir und Leonard M. Adleman, die 1977 das RSA-Verfahren entwickelten. Es gilt bis heute als sicheres Verfahren und hat außerdem den großen Vorteil, in beiden Richtungen eingesetzt werden zu können.

Populär wurde asymmetrische Kryptographie besonders durch das 1991 veröffentlichte Programm Pretty Good Privacy (PGP). Mit PGP konnten nun auch private Anwender auf relativ einfache Art und Weise die Vorteile eines Public- und Private-Key-Systems nutzen und sich z. B. abhörsichere E-Mails schicken.

Hybride Systeme

Heutzutage wird in den meisten Kryptosystemen, die mit sogenannter “starker Kryptographie” arbeiten hybrid verschlüsselt.

Da asymmetrische Verfahren extrem rechenaufwändig sind, bedient man sich oft einer Kombination aus symmetrischer und asymmetrischer Kryptographie.

Symmetric-key algorithms are generally much less computationally intensive than asymmetric key algorithms. In practice, this means that a quality asymmetric key algorithm is hundreds or thousands of times slower than a quality symmetric key algorithm.

Dabei wird zu Beginn einer Sitzung zwischen beiden Partnern ein asymmetrisch verschlüsselter Schlüssel ausgetauscht, der anschließend für eine ressourcenschonende symmetrische Verschlüsselung genutzt wird.

Als häufig genutztes Beispiel wäre der Secure Sockets Layer (SSL) zu nennen, der für sicherheitskritische Anwendungen im Online-Bereich genutzt wird – z. B. für E-Commerce oder Onlinebanking.
SSL funktioniert in modernen Browsern sehr unauffällig und ist daran zu erkennen, dass das Übertragungsprotokoll https:// (statt http://) genutzt wird.

(Anmerkung: PGP arbeitet streng genommen auch in einem Hybridverfahren, da nicht der gesamte Geheimtext asymmetrisch verschlüsselt wird, sondern lediglich ein im Geheimtext verborgener Schlüssel, mit dem der Rest der Nachricht symmetrisch verschlüsselt ist.)

CrypTool

Donnerstag, 19. Oktober 2006

CrypTool ist ein umfangreiches Lernprogramm zu klassischen und modernen Verfahren plus grundlegender Lesestoff zur Kryptologie. Man kann sich z. B. diverse symmetrische und asymmetrische Kryptosysteme “live” vorführen lassen.

Cryptool

Das Open-Source-Projekt CrypTool entwickelt seit 1998 unter der Leitung von Bernhard Esslinger das Freeware-Programm CrypTool und bringt damit dieses Wissen einem breiten Publikum näher. CrypTool wird sowohl in der universitäten Lehre, in Schulen als auch national und international in Firmen und Behörden eingesetzt.

Das Programm CrypTool ist ein eLearning-Programm für Windows, mit dem kryptographische Verfahren angewendet und analysiert werden können. Die umfangreiche Online-Hilfe wird durch Szenarien/Tutorials und ein Skript mit weiterführenden Informationen (Primzahlen, Hashfunktionen, Digitale Signaturen, …) ergänzt.

Wie funktioniert Verschlüsselung?

Mittwoch, 18. Oktober 2006

I. Grundbegriffe

Wikipedia meint dazu folgendes:

Verschlüsselung nennt man den Vorgang, bei dem ein Klartext mit Hilfe eines Verschlüsselungsverfahrens (Algorithmus) in einen Geheimtext umgewandelt wird. Als Parameter des Verschlüsselungsverfahrens werden ein oder mehrere Schlüssel verwendet. […]
Den umgekehrten Vorgang, also die Verwandlung des Geheimtextes zurück in den Klartext, nennt man Entschlüsselung.

(Anmerkung: Es gibt asymmetrische und symmetrische Kryptoverfahren. Für bessere Verständlichkeit werde ich in diesem Artikel aber nur die sog. symmetrischen Verfahren beschreiben.)

Die drei wichtigsten Grundbegriffe sind hierbei Klartext, Schlüssel und Geheimtext (oft auch Chiffretext).

Der Klartext ist die Botschaft, die mit Hilfe eines Verschlüsselungsverfahrens für Außenstehende unkenntlich gemacht werden soll; der Schlüssel ist dabei ein Parameter, welcher frei gewählt wird und maßgeblichen Einfluss auf das Aussehen des Geheimtextes hat.
Wendet man bei ein und dem selben Kryptoverfahren verschiedene Schlüssel an, so können also völlig unterschiedlich aussehende Geheimtexte entstehen.

II. Verschlüsselungsoperationen

Alle Kryptoverfahren bedienen sich zweier elementarer Operationen: der Transposition (Umstellung) und der Substitution (Auswechslung) von einzelnen Zeichen im Klartext.

  • Transposition:
    Bei einer Transposition werden die Zeichen untereinander vertauscht. Zum Beispiel wird der Klartext rückwärts geschrieben, oder man vertauscht in jedem Wort den ersten mit dem letzten Buchstaben.
    Beispiele:

    • LIES MICH -> HCIM SEIL
      Schlüssel: Schreibe rückwärts
    • LIES MICH -> SIEL HICM
      Schlüssel: Vertausche in jedem Wort den ersten und letzten Buchstaben
  • Substitution:
    Bei der Substitution werden Zeichen durch andere ersetzt. Zum Beispiel werden alle Buchstaben durch andere Buchstaben oder durch Zahlen ersetzt.
    Beispiele:

    • ABC DEF -> CDE FGH
      Schlüssel: Verschiebe jeden Buchstaben um drei Stellen im Alphabet
    • ABC DEF -> 123 456
      Schlüssel: Ersetze jeden Buchstaben durch seine Ordnungszahl im Alphabet

III. Historische Beispiele

  • Die älteste bekannte Transpositionsverschlüsselung wurde schon vor 2500 Jahren von den Spartanern zu militärischen Zwecken angewandt. Als Schlüssel diente ein Stab mit einem bestimmten Durchmesser, der als Skytale bezeichnet wurde.

    Um eine Nachricht zu verfassen, wickelte der Absender ein Pergamentband oder einen Streifen Leder spiralförmig um die Skytale, schrieb die Botschaft längs des Stabs auf das Band und wickelte es dann ab. Das Band ohne den Stab wird dem Empfänger überbracht. Fällt das Band in die falschen Hände, so kann die Nachricht nicht gelesen werden, da die Buchstaben scheinbar willkürlich auf dem Band angeordnet sind. Der richtige Empfänger des Bandes konnte die Botschaft mit einer identischen Skytale lesen.

    Slytale

    Der Durchmesser des Stabes ist somit der geheime Schlüssel bei diesem Verschlüsselungsverfahren.

  • Ein sehr bekanntes Beispiel für Substitutionsverschlüsselung ist der sogenannte ROT13-Algorithmus, auch Cäsarchiffre genannt.
    Dabei wird von einem lateinischen Alphabet mit 26 Buchstaben ausgegangen, welches um 13 Stellen verschoben (rotiert) wird.

    ROT13

  • Wer genau hinsieht, findet im Titel des Kryptoblogs eine ROT13-chiffrierte Botschaft. Ein ROT13-Wandler wird bei der Entschlüsselung behilflich sein.

  • Ein weiteres sehr bekanntes Beispiel für Verschlüsselung durch Substitution ist die deutsche Rotor-Verschlüsselungsmaschine Enigma, die sehr häufig im zweiten Weltkrieg verwendet wurde.

    Enigma

    Wichtigste Eigenschaft der Enigma ist die polyalphabetische Rotorverschlüsselung, welche die automatisierte Verwendung mehrerer Geheimalphabete ermöglicht. Ferner werden dabei für fast jeden einzelnen Klartext-Buchstaben eigene Schlüssel verwendet.

    Das Herzstück der Enigma sind drei Walzen und zwei Umkehrwalzen, die man beliebig anordnen kann. Die Walzen verfügen über ein eigenes 26-Stelliges Geheimalphabet, welches sich über eine Ringeinstellung verschieben lässt. Alle Walzen sind untereinander über unterschiedlich einstellbare Steckverbindungen gekoppelt.

    Somit bietet die Enigma vier verschiedene Parameter zur Verschlüsselung:

    1. 120 verschiedene Walzenlagen
    2. 676 Einstellungen der Ringe
    3. 17.576 Grundstellungen der Walzen …
    4. 150.738.274.937.250 (~ 150 Billionen) Steckerverbindungen aller Walzen

    Daras resultiert ein Schlüsselraum mit circa 2·10²³ verschiedenen Möglichkeiten (~ 77 Bit) – eine Zahl die sich mit heutigen Schlüsselräumen durchaus messen kann.
    Dennoch hat die Enigma einige Schwächen, welche dazu führen, dass der Schlüsselraum auf circa zwei Millionen Möglichkeiten reduziert wird (siehe dazu auch: Turing-Bombe).

    Die Nazis wechselten täglich um Mitternacht die Schlüssel für geheime Funksprüche. Eine Beispieltabelle für drei Tage sah so aus:

    Enigma Codes