Kryptisches
Datenverschlüsselung und ihre Einsatzgebiete

von Herbert Stappler (Ausgabe 97/2, Juni 1997)

 

Vertrauliche Daten und Informationen sind auf Rechnern und im Netzwerk vielen Gefahren ausgesetzt. Egal, ob es sich um Forschungsdaten, Dokumente der Verwaltung oder persönliche Briefe (z.B. Bewerbungsschreiben) handelt - als Besitzer eines solchen Datenbestandes sollte man sich der Risiken bewußt sein. Die häufigsten Gefahrenquellen sind:

  • Der Rechner steht in einem Raum, zu dem viele Personen - von der Putzfrau bis zu den Institutskollegen - Zugang haben. Es gibt kaum eine Möglichkeit, Rechner, die nicht an einem sicheren Ort stehen, wirksam zu schützen. Meist ist es sogar relativ einfach, sich Zugang zu den Daten eines Systems zu verschaffen (z.B. durch Booten mit Disketten oder CDs). Die wirksamste Maßnahme, Informationen auf öffentlich zugänglichen Rechnern zu schützen, ist die Verschlüsselung der Daten.
  • Wenn man Daten mittels eMail versendet, gibt es während des Transports durch das Netz etliche Punkte, an denen Unbefugte Einblick in die Nachricht nehmen können. Dies beginnt am Institut, wo - eine entsprechende Netzwerkstruktur vorausgesetzt - es selbst für technisch wenig Bedarfte möglich ist, den Netzwerkverkehr zu belauschen, und endet bei den Administratoren der Mailserver und Gateways, die die Nachricht auf ihrem Weg passiert. Will man den Inhalt geheim halten, so wird man die Nachricht in verschlüsselter Form versenden müssen.
  • Ein weiterer Schwachpunkt von eMail ist der, daß es recht einfach ist, den Absender von Nachrichten zu fälschen. Will man sichergehen, daß die Nachricht nicht nur vom angegebenen Absender stammt, sondern auch vollständig und unverfälscht angekommen ist, so kann man dies mittels einer digitalen Unterschrift bewerkstelligen.
  • Immer mehr Dienste werden im WWW angeboten. So kann man eine ganze Reihe von Produkten direkt via Netz bestellen. Um zu bezahlen, muß man lediglich seine Kreditkartennummer angeben, was man aber nur dann tun sollte, wenn gewährleistet ist, daß sie nicht in Klarschrift durchs Netz geschickt wird. Die modernen WWW-Browser bieten die Möglichkeit, sicherzustellen, daß sensitive Informationen wie Kreditkartennummern nur in verschlüsselter Form an den Server geschickt werden.

Verschlüsselungsverfahren

Die Kryptographie, die Technik der Ver- und Entschlüsselung von Daten, ist eine sehr alte Wissenschaft. Bereits in der Antike dachte man über Verfahren nach, die es ermöglichen, eine Nachricht so in eine andere Form zu bringen, daß niemand außer dem rechtmäßigen Empfänger imstande ist, daraus den ursprünglichen Inhalt zu rekonstruieren. Viele Verfahren wurden erdacht, von denen sich nur wenige bewährt haben. So manche Methode, die von Experten als sehr sicher eingestuft wurde, konnte früher oder später von findigen Leuten geknackt werden.

Nach dem heutigen Stand der Technik gibt es nur ein Verfahren, von dem man mit mathematischer Gewißheit weiß, daß es vollkommen sicher ist. Leider ist diese Methode, die als One Time Pad (Gilbert Vernam, 1918) bezeichnet wird, sehr unpraktisch: Zu jedem Zeichen der Nachricht muß eine Zufallszahl addiert werden. Sowohl der Absender als auch der Empfänger benötigen dazu ein und dieselbe Tabelle mit ebenso vielen Zufallszahlen, wie die Nachricht Zeichen enthält. Diese Tabelle kann nur einmal (daher der Name One Time Pad) zur Kodierung einer Nachricht verwendet werden - für die nächste Nachricht braucht man eine neue Tabelle.

Die obige Methode kommt zwar oft in Spionagefilmen vor, hat aber für Verschlüsselung von Daten keine Bedeutung. In der Datenverarbeitung werden in der Regel Verfahren verwendet, bei denen der Ver- und Entschlüsselungsvorgang durch eine Zeichenkette bestimmter Länge - Schlüssel (key) genannt - gesteuert wird. Diese Methode kann zwar theoretisch dadurch unterlaufen werden, daß man einfach alle möglichen Schlüssel ausprobiert (brute force attack). Wählt man aber die Schlüssellänge entsprechend hoch, so würde ein derartiger Versuch auch unter Einsatz vieler leistungsfähiger Rechner erst nach Millionen von Jahren zum Erfolg führen. Derzeit sind zwei Gruppen von Verfahren verbreitet:

Symmetrische Verfahren

Bei dieser Methode wird zur Ver- und Entschlüsselung ein und derselbe Schlüssel verwendet. Das hat den Nachteil, daß, bevor Nachrichten ausgetauscht werden können, der Schlüssel (der ja genauso geheim bleiben muß wie die Nachricht selbst) auf einem sicheren Weg vom Absender zum Empfänger gebracht werden muß. Außerdem braucht man für jeden Kommunikationspartner einen anderen Schlüssel. Das erfordert also einiges an Vorbereitung und ist daher in dieser Form für viele Anwendungen zu aufwendig. Die bekanntesten symmetrischen Verfahren sind DES, Triple DES, IDEA, RC2, RC4 und RC5.

Asymmetrische Verfahren

Hier wird ein Paar von zusammengehörigen Schlüsseln verwendet. Einer dient nur zur Verschlüsselung der Daten. Dieser Schlüssel (public key) braucht nicht geheimgehalten zu werden, im Gegenteil: Er kann und soll öffentlich bekanntgegeben werden. Zur Entschlüsselung benötigt man nämlich den anderen Schlüssel (secret key). Dieser ist nur dem Empfänger der Nachricht bekannt und muß von diesem entsprechend geheimgehalten werden. Der Vorteil des Verfahrens liegt auf der Hand: Die Geheimhaltung des Schlüssels entfällt, da alle Kommunikationspartner eines Empfängers denselben öffentlichen Schlüssel verwenden können.

Das Prinzip der Public Key-Kryptographie wurde 1976 von Whitfield Diffie und Martin Hellmann an der Stanford University erdacht. Das derzeit häufigste Verfahren, RSA, stammt aus dem Jahr 1978 und ist nach den drei damals am MIT arbeitenden Forschern Ron Rivest, Adi Shamir und Leonard Adleman benannt. Die Firma RSA Data Security Inc. hält zumindest in den USA die meisten wichtigen Patente in diesem Bereich. Der RSA-Algorithmus nützt die Tatsache, daß man zwar sehr einfach zwei große Primzahlen miteinander multiplizieren kann, es aber nach dem derzeitigen Wissensstand ungleich schwerer ist, ein solches Produkt wieder in seine Faktoren zu zerlegen. So gibt es Schätzungen, daß selbst 100 leistungsfähige, moderne Computer um die 100.000 Jahre brauchen würden, um die Primzahlzerlegung für einen 1024 bit-Schlüssel durchzuführen. Jede Verlängerung des Schlüssels um 1 bit verdoppelt den Rechenaufwand.

Digitale Unterschriften

Die Verschlüsselung einer Nachricht stellt zwar sicher, daß diese von keinem Unbefugten gelesen werden kann; man kann aber nicht wissen, ob die Nachricht tatsächlich vom angeführten Absender stammt. Hier können digitale Unterschriften (digital signatures) helfen.

Diese stellen auch sicher, daß am Inhalt der Nachricht - ob verschlüsselt oder nicht - keine Änderungen vorgenommen wurden. Es wird nämlich aus dem Inhalt der Nachricht eine Art Prüfsumme (message digest) errechnet. Jede noch so kleine Manipulation an der Nachricht bewirkt eine Änderung dieser Prüfsumme.

Aus der Prüfsumme und dem geheimen Schlüssel des Absenders läßt sich nun eine Zahlenfolge errechnen, die man der Nachricht als digitale Unterschrift mitgibt. Der Empfänger kann mit dem öffentlichen Schlüssel des Absenders überprüfen, ob die Nachricht wirklich von diesem stammt und unverändert eingelangt ist.

Verschlüsselungssoftware ...

... für Dateien und eMail

Es gibt zahlreiche Softwarepakete, die die Verschlüsselung von Dateien und Nachrichten unterstützen. Manche einfache Verfahren dienen nur dazu, den Inhalt so zu verfremden, daß er nicht unmittelbar gelesen werden kann. Einem ernsthaften Entschlüsselungsversuch mit den gängigen kryptoanalytischen Methoden würde die Verschlüsselung nicht standhalten. Es gibt aber auch Programme, die Dateien so aufwendig verschlüsseln, daß wahrscheinlich auch alle technischen Möglichkeiten der großen Nachrichtendienste nicht ausreichen, um den Code zu knacken. Leider gibt es keine wirklichen Standards. Daher müssen sich der Absender und der Empfänger vor dem Nachrichtenaustausch einigen, welche Software sie verwenden wollen.

Unter den Programmen, die derzeit als weitgehend sicher gelten, ist wohl PGP dasjenige mit der weitesten Verbreitung. Dieses Programm kann zur Verschlüsselung von Dateien und Nachrichten eingesetzt werden und unterstützt auch digitale Unterschriften. PGP wird im Artikel PGP - Pretty Good Privacy näher vorgestellt.

... zum sicheren Arbeiten im Netz

Wenn man von seinem Arbeitsplatzrechner aus Verbindung zu anderen Rechnern aufnimmt, ist es oft unumgänglich, Paßwörter und andere sensitive Informationen über das Netz zu schicken. Das erfolgt im allgemeinen unverschlüsselt. Alle Möglichkeiten zur Vermeidung dieser Schwachstellen sind leider sehr aufwendig. Das in diesem Bereich am häufigsten verwendete System ist das am MIT entwickelte Kerberos: Ein zentraler Server regelt alle Verbindungen der beteiligten Systeme; von ihm erhalten die beteiligten Rechner nach einer Überprüfung ihrer Identität Schlüssel, welche sie zur Kryptisierung der Daten (mittels DES) verwenden. Wegen des hohen technischen Aufwandes hält sich die Verbreitung solcher Systeme in Grenzen.

Für das sichere Arbeiten im WWW hat Netscape den sogenannten Secure Socket Layer - abgekürzt SSL - entwickelt. Dieses Protokoll wird vom Netscape Navigator ab Version 2.0 und vom Internet Explorer ab Version 3.0 unterstützt und ist im Artikel Sichere Kommunikation im WWW näher beschrieben.

Wer ist wer?

Zur sicheren Kommunikation gehört auch, daß man sich der Identität seiner Partner gewiß ist. Um jemandem eine verschlüsselte Nachricht schicken zu können, muß ich dessen Public Key kennen. Wie erhalte ich diesen? Nun, auch hier gibt es leider keine einheitliche Lösung. Die einfachste Möglichkeit ist, daß ich den Empfänger kenne und er mir persönlich seinen Schlüssel mitgeteilt hat. Ist mir der Empfänger nicht direkt bekannt, so muß ich unter Umständen weniger sicheren Quellen vertrauen und einen Public Key akzeptieren, den ich über einen gemeinsamen Bekannten, aus der Literatur oder über einen WWW-Server bekommen habe.

PGP setzt für den Austausch von Schlüsseln auf ein informelles Netz des Vertrauens (web of trust). Dabei ist vorgesehen, daß Teilnehmer, die eine Person kennen, die Echtheit des Schlüssels mit ihrer digitalen Unterschrift bestätigen. So kann sich ein Netz des Vertrauens entwickeln. A kennt B und bestätigt dessen Schlüssel. C kennt B zwar nicht, er kennt und vertraut aber A und akzeptiert daher den Schlüssel von B.

Andere Modelle eignen sich eher für hierarchisch organisierte Institutionen: Eine Oberinstanz gewährt ihren unteren Instanzen das Recht, für ihren Bereich die Gültigkeit und Echtheit von Schlüsseln zu bestätigen bzw. diese Aufgabe an weitere Unterinstanzen zu delegieren.

Es gibt auch Techniken, die die Echtheit von Schlüsseln mit sogenannten digitalen Zertifikaten bestätigen. Ein derartiges Verfahren (ISO X.509) wird bei der sicheren Kommunikation im WWW verwendet. Für die Ausstellung der Zertifikate sind sogenannte Zertifizierungsbehörden zuständig - Einrichtungen oder Firmen, die die Angaben des Antragstellers überprüfen und nach einem entsprechenden Identitätsnachweis ein digitales Zertifikat ausstellen. Dieses enthält die wichtigsten Angaben zur Person oder Institution des Teilnehmers und wird mit einer digitalen Unterschrift der Zertifizierungsbehörde fälschungssicher gemacht.

Noch mehr Sicherheit?

Die Verschlüsselung von Nachrichten schützt deren Inhalt vor unberechtigter Einblicknahme. Wer mit wem Nachrichten austauscht, kann jedoch nach wie vor von einer ganzen Reihe von Personen eingesehen werden. Will man verbergen, mit wem man korrespondiert, so kann man sich eines sogenannten Remailers bedienen. Das ist ein Server, dem man die Nachricht und deren Ziel verschlüsselt schickt. Der Server entschlüsselt dann die Zieladresse der Nachricht und schickt sie an den eigentlichen Empfänger weiter. Bei einem ausreichend starken Mailaufkommen wird es (außer für den Betreiber des Remailers) kaum möglich sein, herauszufinden, wer mit wem Nachrichten austauscht.

Soll niemand wissen, daß man Nachrichten abschickt, so kann man zu Methoden der Steganographie greifen. Dies ist eine Technik, deren Ziel es ist, zu verheimlichen, daß überhaupt Kommunikation zwischen zwei Personen stattfindet. Es gibt eine Reihe von Programmen, die es erlauben, Nachrichten - verschlüsselt oder unverschlüsselt - unauffällig in Bild-, Audio- oder auch gewöhnlichen Textdateien zu verstecken. Dabei wird etwa ein als JPEG-Datei gespeichertes Bild so geändert, daß der Unterschied zum ursprünglichen Bild kaum wahrnehmbar und die neue Datei trotzdem eine korrekt aufgebaute JPEG-Datei ist.

Wer also ganz geheim einen Brief schreiben will, nimmt z.B. ein Bild eines alten Autos und verpackt darin seine verschlüsselte Nachricht. Die Bilddatei schickt er dann etwa an die Newsgruppe alt.binaries.pictures.vehicles. Der zuvor informierte Empfänger kann sich diese Datei von einem der tausenden News-Server irgendwo auf der Welt holen und die verborgene Nachricht mit den entsprechenden Programmen zum Vorschein bringen; für den Rest der Welt handelt es sich um eine Bilddatei wie viele andere auch. Diese Art der Kommunikation ist hier allerdings nur als Kuriosum angeführt. Wegen des hohen Aufwandes und der vermehrten Netzbelastung ist eine derartige Vorgangsweise nicht zu empfehlen.

Rechtliche Hürden

Die rechtlichen Regelungen hinsichtlich des Einsatzes von Verschlüsselungssoftware werden in fast allen Ländern nicht dem Stand der Computertechnik und der Netzwerke gerecht. Nicht selten stammen die Gesetze noch aus der Zeit des 2. Weltkrieges. In einigen Ländern ist die Verwendung von Verschlüsselungsverfahren oder das Übertragen verschlüsselter Dateien entweder untersagt oder lizenzpflichtig (u.a. Frankreich, Rußland, China, Iran, Irak). Die USA haben für den Export von kryptographischer Software starke Beschränkungen erlassen. Derzeit ist die Ausfuhr von Programmen mit Schlüssellängen von über 40 bit bei symmetrischen und über 512 bit bei asymmetrischen Verfahren genehmigungspflichtig. Die Grenzen für die Schlüssellängen sind so gewählt, daß die Entschlüsselung durch Privatpersonen kaum möglich ist. Entsprechend potenten Einrichtungen würde aber eine Entschlüsselung von Dateien, die mit so kurzen Schlüsseln kryptisiert wurden, keine Probleme bereiten.

Neuere, durchaus umstrittene Gesetzesinitiativen in den USA und in der Europäischen Union forcieren die Einführung von Verfahren, bei denen ein Schlüssel in einer Datenbank hinterlegt werden muß (key escrow). Mit diesem ist die Entschlüsselung von Dateien durch die Behörden bei Bedarf möglich. Von diesen Vorschlägen ist nicht nur die Datenkommunikation betroffen, sondern auch die digitale Telefonie. Ähnlich wie bei der Diskussion über die Einführung von Lauschangriff und Rasterfahndung gibt es auch in diesem Bereich sehr unterschiedliche Vorstellungen, wie man am besten die Erfordernisse der Strafverfolgung gegen das Recht des Bürgers auf Privatsphäre abwägen soll.

Mehr Informationen

Programme und Informationen zu diversen kryptographischen Verfahren findet man am FTP-Server der Uni Wien (ftp.univie.ac.at) im Verzeichnis /security/crypt.

Eine ganze Reihe von Newsgruppen befaßt sich mit den technischen und gesellschaftspolitischen Aspekten der Kryptographie. Hier eine Auswahl:

  • talk.politics.crypto
  • sci.crypt
  • sci.crypt.research
  • alt.security.pgp
  • comp.security.pgp.*

Eine Zusammenfassung häufig gestellter Fragen (FAQ = Frequently Asked Questions) aus dem Bereich der Kryptographie sind am FTP-Server der Uni Wien in folgenden Verzeichnissen gespeichert:

  • /archive/faq/cryptography-faq/
  • /archive/faq/kerberos-faq/
  • /archive/faq/net-privacy/
  • /archive/faq/pgp-faq/