Dieses Dokument enstand im Rahmen eines Projektes an der FH Leipzig als "Abfallprodukt" für einen Fachbericht. Es soll diesen nicht nur ergänzen, sondern allen Interessierten einen tieferen Ein- und Überblick zu der Geschichte, den Verfahren und der Anwendung der Geheimwissenschaft Kryptologie bieten. Für die grobe Struktur und einzelnen Beiträge und Grafiken zeichneten sich verantwortlich:
Ronald Conrad
Stephan Dudek
Falko Gittel
Steffen Gleitsmann
Tobias Höppner
Steve Lingel
Michael Schreiter
Ralf Weser
Wito Zörkler
Dieses Dokument in der Rohfassung entstand durch Steve Lingel,
Tobias Höppner, Michael Schreiter und Andreas Romeyke. Die
aktuelle Version wird gepflegt durch Andreas Romeyke. Durch die
Verwendung von Tabellen und Grafiken ist es empfehlenswert auf
einen Textbrowser a la lynx zu
verzichten. Netscape,Mozilla, Konqueror, Opera und Co.
können bedenkenlos verwendet werden, ebenso w3m als
lynx-Ersatz. Es wird angestrebt in künftigen Versionen
dieses Dokument html4.0 strikt konform zu gestalten und auf
"font"-Tags zu verzichten und CSS1 zu verwenden. Fehlerhinweise oder
Vorschläge
gehen bitte an
mich.
Soweit nicht anders vermerkt, kann dieser Text unter der Gnu Public Documentation License verwendet werden. Für den genauen Wortlaut sei auf http://www.gnu.org verwiesen.
Sollten Rechte Dritter in diesem Text verletzt worden sein, bitten wir um schriftliche Benachrichtigung.
Kryptologie spielt in unserer heutigen Zeit eine immer wichtiger werdende Rolle. Dies ist in dem Wandel von der Industrie- zur Informationsgesellschaft begründet. Täglich hat jeder von uns mit kryptologischen Technologien bewußt oder unbewußt zu tun. Sei es das bargeldlose Bezahlen mittels EC-Karte, das Benutzen von Kartentelefonen oder Handys, der Umgang mit Computern am Arbeitsplatz oder die Nutzung von Bezahl-Fernsehen (Pay-TV). Die Entwicklung und die Bedeutung der Kryptologie herauszustellen, sowie Anregungen für die tiefere Beschäftigung mit dieser Materie zu geben, soll das erklärte Ziel dieser Publikation sein.
Zunächst einige Worte zur Terminologie. Die Begriffe Kryptologie und Kryptographie sind aus den griechischen Wörtern kryptos (geheim) logos (das Wort, der Sinn), und graphein (schreiben) gebildet. Meist wird mit Kryptologie die Gesamtheit der Kryptoanalyse und Kryptographie bezeichnet, wobei die Kryptographie sich mit der Verheimlichung von Nachrichten und die Kryptoanalyse mit dem Brechen von geheimen Nachrichten beschäftigt.
Ein Klartext ist die Information, die der Empfänger erhalten soll. Ein Geheimtext ist ein verschlüsselter Klartext, das heißt für Andere nicht mehr lesbar. Den Vorgang der Verschlüsselung bezeichnet man auch als Chiffrierung, den der Entschlüsselung als Dechiffrierung. Die Begriffe Chiffre oder Code bezeichnen das Verfahren, das der Chiffrierung bzw. der Dechiffrierung zugrunde liegt. Die geheime Information, die zur Verschlüsselung und Entschlüsselung dient, nennt man Schlüssel. Wird zum Chiffrieren und Dechiffrieren der gleiche Schlüssel benutzt, so spricht man von einem symmetrischem Verfahren. Dem gegenüber gibt es Verfahren, bei denen zwei oder mehr Schlüssel verwendet werden, das heißt der Chiffrierschlüssel ist ein anderer, als der Dechiffrierschlüssel. Diese Verfahren sind asymmetrisch und werden auch als public-key-Verfahren bezeichnet. Unter einem Angreifer versteht man einen unbefugten Dritten, der sich den Klartext und/oder Schlüssel beschaffen will. Ein aktiver Angriff erfolgt, wenn die verschlüsselte Nachricht abgefangen und gegen eine gefälschte Version ausgetauscht und als echt deklariert wird. Ein passiver Angriff bezeichnet den Vorgang des Abhörens bzw. das Entschlüsseln der Nachricht.
Die Kryptographie teilt sich grob in die drei Aufgabenbereiche der Geheimhaltung, Integrität und Authentizität auf, wobei sich letztere mit der Übertragungs- und Fälschungssicherheit beschäftigen.
ca. 600 v. Chr. |
In Palästina werden Texte mit der ATBASH verschlüsselt. |
ca. 500 v. Chr. |
Die Griechen verschlüsseln Nachrichten mit Hilfe der SKYTALE. |
ca. 200 v. Chr. |
Der Grieche Polybious beschreibt erstmals sein POLYBIOUS-System. |
ca. 100 - 44 v. Chr. |
Julius Caesar schrieb vertrauliche Botschaften in dem nach ihm benannten CAESAR-CODE. |
ca. 500 - 1400 n. Chr. |
in Europa beginnt die Dunkle Zeit der Kryptographie, d.h. sie wurde der schwarzen Magie zugeordnet, in dieser Zeit ging viel Wissen über die Kryptographie verloren, im Gegensatz dazu blühte die Kryptographie im persischen Raum auf |
855 n. Chr. |
Im arabischen Raum erscheint das erste Buch über Kryptologie. Abu Abd al-Raham al-Khahil ibn Ahmad ibnAmr ibn Tammam al Farahidi al-Zadi al Yahamadi beschreibt stolz in seinem Buch unter anderem die geglückte Entschlüsselung eines für den byzantinischen Kaiser bestimmten griechischen Codes |
1412 |
eine 14-bändige arabische Enzyklopädie beschreibt auch kryptographische Methoden, dabei wird neben der Substitution und der Transposition, erstmals die Methode der mehrmaligen Substitution an einem Klartextzeichen erwähnt |
1397 |
Auf Wusch Clemens des 7. erfindet Gabrieli di Lavinde die erste Nomenklatur (Nomenklatur-Code). Dieser Nomenklatur-Code wurde wegen seiner Einfachheit in den nächsten 450 Jahren vor allem in diplomatischen Kreisen verwendet. |
1466 |
Leon Battista Alberti (1404 - 1472) , einer der führenden Kräfte der italienischen Renaissance, veröffentlicht sein Buch Modus scribendi in ziferas, indem erstmals die von ihm erfundenen Chiffrierscheiben erwähnt. Albertis zahlreiche kryptologischen Leistungen beruhen auf der Tatsache, das er Sekretär jener Behörde war, die sich an der römischen Kurie (päpstlicher Hof) mit Geheimschriften befasste. Er wird als Vater der Kryptographie bezeichnet. |
1518 |
Im deutschsprachigen Raum erscheint das erste gedruckte Buch über Kryptologie. Der Verfasser ist Johannes Trithemius. |
1586 |
Das Buch Tractié de Chiffre des französischen Diplomaten Blaise de Vigenère11 erscheint. SeineVerschlüsselungsmethode, die später nach ihm als Vigenère-Code benannt wurde, wird so der Öffentlichkeit zugänglich gemacht. Dieser Code ist der bekannteste unter allen polyalphabetischen Algorithmen. |
1628 |
Antione Rissignol wird der erste vollzeitlich angestellte Kryptoanalytiker, nachdem seine Entschlüsselung einer feindlichen chiffrierten Botschaft die Belagerung Realmonts durch die Hugenotten beendete. Seitdem sind Kryptoanalytiker ein fester Bestandteil des militärischen Apparats. |
1700 |
russischer Zar benutzte eine große Code-Tabelle von 2000-3000 Silben und Worten zur Chiffrierung seiner Botschaften |
1795 |
Thomas Jefferson entwickelt den ersten Chiffrierzylinder namens wheel cypher. Er benutzte sie aber nie, so daß sie in Vergessenheit geriet bzw. nie der Öffentlichkeit zugänglich wurde. Somit wurde der Chiffrierzylinder parallel zu Jeffersons unbekannter Erfindung an unterschiedlichen Orten nochmals erfunden: |
1854 |
der Engländer Charles Babbage erfindet einen Chiffrierzylinder, er war gleich der wheel-cypher |
1891 |
der französische Major Etienne Bazeries erfand einen Chiffrierzylinder, sein BAZERIES-Zylinder war der wheel cypher im Prinzip ähnlich |
1922 |
wurde T.Jeffersons wheel-cypher in den U.S.A. entdeckt, von der US-Marine weiterentwickelt und fand so bis in den 2.Weltkrieg Anwendung |
1854 |
Der englische Physiker Charles Wheatstone erfand einen Chiffre, der mit einer 5*5 Matrix arbeitet. Sein Freund Lord Lyon Playfair Baron von St. Anrews machte diesen Chiffre in den höheren militärischen und diplomatischen Kreisen des viktorianischen Englands bekannt, der Chiffre bekam so den Namen PLAYFAIR-Code. |
1860 |
Friedrich Kasiski und William F. Friedmann entwickeln statistische Methoden zur Kryptoanalyse. |
1863 |
Der preußische Offizier Friedrich Kasiski a.D. (1805-1881) veröffentlicht in Berlin sein kryptologisches Werk mit dem Titel Die Geheimschriften und die Dechiffrierkunst, in dem er als erster ein Verfahren zur Lösung von polyalphabetischen Chiffren vorschlug. Mit diesem Verfahren konnte auch der bis dahin unlösbare Vigenère-Code geknackt werden. |
1883 |
La Cryptographie militaire von Auguste Kerkhoff von Nieuwendhoff erscheint.Es gilt als Meilenstein in der Kryptographie der Telegraphenzeit. Beinhaltet die Prinzipien von Kerkhoff für die strategische Kryptologie |
1917 |
Der Amerikaner Gilbert S. Vernam entdeckt und entwickelt das ONE-TIME-PAD |
1921 |
Der Kalifornier Edward Hebern baut die erste Chiffriermaschine nach dem ROTOR-Prinzip. |
1923 |
Vorstellung der vom dt. Ingenieur Arthur Scherbius entwickelten Rotormaschine ENIGMA auf dem internationalen Postkongreß Gründung der Chiffriermaschinen AG, somit vermarktet A. Scherbius seine Enigma in alle Welt |
1926 |
die deutsche Reichsmarine führt den Funkschlüssel C ein (Codierung der Nachrichten mit einer Enigma vom Typ C) |
1941 |
Decodierung der japanischen Angriffsmeldung für den 2. Weltkrieg (viele Historiker meinen, daß die Kryptologie im 2. Weltkrieg ein Jahr Krieg erspart hat) |
1950 |
Weltweit erfindet jedes größere Land eigene Chiffriermaschinen: England: TYPEX Japan: PURPLE U.S.A.: SIGABA (M-134-C;ECM Mark 2) |
1975 |
Diffie und Hellmann zeigen, daß PUBLIC-KEY-Verfahren theoretisch möglich sind, obwohl sie das Gegenteil beweisen wollten |
1977 |
Das ab 1975 von IBM entwickelte DES (Data Encryption Standard) wird zum Standardverfahren auserkoren. |
1978 |
Das nach seinen Entwicklern Ronald Rivest, Adi Shamir und Leonard Adleman benannte RSA-Verfahren wird veröffentlicht. Es ist das erste praktisch einsetzbare Public-Key-Verfahren und es gilt als innovativster Beitrag der kryptologischen Forschung unseres Jahrhunderts |
1985 |
Goldwasser, Micali und Racoff stellen sog. ZERO-KNOWLEDGE-Verfahren vor |
1990 |
Xueija Lai und James Massey entwickeln das IDEA-Verfahren, das z.B. in der Kryptologiesoftware PGP (Pretty Good Privacy)2840 von Phillip Zimmermann eingesetzt wird. |
Auguste Kerckhoffs von Nieuwenhof geboren 1835 in den Niederlanden, studierte in Deutschland und lebte schließlich in Frankreich, wo er 1903 verstarb. Er schrieb unter anderem ein Buch zu Volapürük, einer künstlichen, Esperanto-ähnlichen Sprache.
Er galt als einer der bedeutensten Kryptographen der Telegraphenzeit und unterschied zwischen taktischen und strategischen Zielen der Geheimhaltung, also dem zeitweiligen Schutz und den zeitlosen Schutz der Nachricht und attackierte die bis dahin bei den Kryptologen gültige Formel
Melius est abundare quam deficere - Lieber zuviel als zu wenig
Er forderte, daß die Sicherheit ganz oder zumindest zu einem wesentlichen Teil vom Schlüssel abhängen muß. Auguste Kerckhoffs beschreibt die Voraussetzungen für eine sichere Verschlüsselung folgendermaßen: "Ein Verfahren ist dann sicher, wenn man es nicht knacken kann, obwohl man den Code kennt." 1883 beschreibt Auguste Kerckhoffs in seinem Buch 'La Cryptographie Militaire', die folgenden sechs Regeln, gewonnen aus seinen Studien der historischen Kryptographie, die jeder befolgen sollte, wenn er sein Geheimnis bewahren will:
die verschlüsselte Nachricht sollte praktisch unknackbar sein
die Korrespodenten (Sender und Empfänger) dürfen keinen Schaden erleiden, wenn das Chiffriersystem geknackt wurde (zeitweiliger Schutz)
der Schlüssel muß leicht auswendig zu lernen und veränderbar sein
die Kryptogramme müssen über Telegraphen übertragbar sein
der Chiffrierapparat und die Dokumente müssen leicht transportierbar sein
das System muß einfach zu benutzen sein, und sollte keine übermäßigen geistigen Anstrengungen verlangen
Diese Regeln ergänzend forderte Kerckhoffs, daß ein Chiffriersystem von Experten gut untersucht sein sollte.
Der amerikanische Mathematiker Claude Shannon, geboren 1916 gilt als der Vater der Informationstheorie. Unter anderem beschäftigte er sich auch mit künstlicher Intelligenz, sowie mit künstlichen Schachautomaten.
In seinem Buch Mathematical Theory of Communication revolutionierte er die Nachrichtentechnik genauso grundlegend, wie in seinem wissenschaftlichen Beitrag Communication Theory of Secrecy Systems, welchen er 1949 veröffentlichte und indem er seine kryptologischen Theoreme darstellte:
Wenn man eine Chiffre mit nicht wiederverwendbaren Schlüssel zu Hilfe nimmt, so entspricht die Aufeinanderfolge der Buchstaben oder Ziffern, die das Kryptogramm zusammensetzen einer reinen Zufallsfolge (Bsp: abdccda ist zufällig, abcdabcd nicht)
Wenn man eine Chiffre mit nicht wiederverwendbaren Schlüssel nimmt, so ergibt das Fehlen eines Schlüssels keinerlei Information über den Inhalt der Klartextbotschaft
Bei einem vollkommenen Chiffrierverfahren kann der Schlüssel nicht kürzer sein als der Klartext (Ein nicht wiederverwendbarer Schlüssel entspricht einer irrationalen Zahl).
Das theoretisch perfekte Kryptosystem ist, wenn man die Aussagen von Kerckhoffs und Shannon zusammen nimmt, ein System, was:
einen nicht wiederverwendbaren Schlüssel besitzt
praktisch nicht knackbar ist, dh. keinerlei Information über den Klartext zuläßt und damit gegen statistische Tests unanfällig ist.
Das Verfahren, das diese Annahmen erfüllt, gibt es und heißt One-Time-Pad. Leider sind nicht alle Prinzipien unter einen Hut zu bringen, wenn es um praktikabele Lösungen geht. Beim One-Time-Pad zum Beispiel ist der Schlüssel viel zu lang, oder die Erzeugung von Zufallsfolgen macht Probleme. Doch wenn man nochmal Kerckhoffs zu Rate zieht, dann gilt:
Wenn es praktisch sicher ist, bis die Information, die geheimgehalten werden sollte, durch die Zeit wertlos geworden ist, dann hat das Chiffriersystem seinen Zweck erfüllt.
Die Grundidee dieser Gruppe von Verfahren ist es, die Buchstaben des Klartextes mit Hilfe einer Zuordnungstabelle durch andere Symbole zu ersetzen. Diese Symbole können Sonderzeichen, Buchstaben oder Zahlen sein. Man unterscheidet monoalphabetische Chiffren, bei denen der gesamte Text mit einer festen Zuordnungstabelle verschlüsselt wird und polyalphabetische Chiffren, die mehrere Zuordnungstabellen im Wechsel verwenden. Im folgenden werden verschiedene praktisch verwendete monoalphabetische Chiffren erläutert. Der Vigère-Code als Repräsentant für polyalphabetische Chiffren wird weiter unten dargestellt.
Beispiel:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
L |
D |
T |
A |
I |
N |
G |
U |
X |
H |
O |
S |
Z |
R |
B |
C |
E |
F |
J |
K |
M |
P |
Q |
V |
W |
Y |
MEIN NAME IST HASE
ZIXR RLZI XJK ULJI
Werden als Geheimzeichen Zahlen verwendet, ergibt sich z.B. folgende Tabelle:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
M E I N N A M E I S T H A S E
13/5/9/14/ /14/1/13/5/ /9/19/20/ /8/1/19/5
Eines der bekanntesten klassischen Verschlüsselungsverfahren wurde nach Cäsar benannt. Dieser benutze es für den Briefwechsel mit seinen Statthaltern, Generälen und Konsuln.
Die Nachricht wird verschlüsselt indem man jeweils eine bestimmte Anzahl von Buchstaben im Alphabet weitergeht.
Angabe der Methode: A=B, A=C, A=D,...
Bildung der Schlüsselzeile:
z.B.: A=D
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
PROJEKT MACHT SPASS
SURMHNW PDFKW VSDVV,A=D
Die Substitutionsmethode mit A=N ist eine Sonderform des Cäsar-Codes. Sie zeichnet sich dadurch aus, daß die Zuordnung der Buchstaben symmetrisch ist, d.h. (A=N, N=A usw.). Dieses Verfahren ist auch als ROT13-Verfahren bekannt, weil die Buchstaben um 13 Stellen rotiert werden.
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
Ein sehr altes Verfahren ist das um 600 v.Chr. in Palästina angewandte Atbash-Verfahren, bei dem das Schlüssel-Alphabet in umgekehrter Reihenfolge dem Klartextalphabet zugeordnet wurde.
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Z |
Y |
X |
W |
V |
U |
T |
S |
R |
Q |
P |
O |
N |
M |
L |
K |
J |
I |
H |
G |
F |
E |
D |
C |
B |
A |
Beim Transpositionsverfahren werden die Zeichen des Klartextes nicht durch andere ersetzt, sondern lediglich in der Reihenfolge vertauscht.
Als Grundlage dient eine Matrix in die das zu chiffrierende Wort zeilenweise eingetragen wird. Die Anzahl der Spalten ist der geheime Schlüssel. Daraus und aus der Gesamtlänge des Klartextes ergibt sich die Anzahl der Zeilen in der Matrix. Das Chiffre wird durch spaltenweises Auslesen der Matrix gebildet.
Beispiel:
Matrix mit Schlüssel 6
I |
C |
H |
B |
I |
N |
D |
E |
R |
D |
O |
K |
T |
O |
R |
E |
I |
S |
E |
N |
B |
A |
R |
T |
spaltenweise ausgelesen: IDTECEONHRRBBDEAIOIRNKST
Das noch im Jahr 1917 vom deutschen Heer eingesetzten Drehraster basiert auf diesem Verfahren.
Alternativ dazu kann man die Matrix auch nach einer vorgegebenen Permutation spaltenweise auslesen.
Beispiel:
Schlüssel 4
Auslesepermutation 3421
1 |
2 |
3 |
4 |
E |
S |
W |
A |
R |
S |
C |
H |
O |
N |
D |
U |
N |
K |
E |
L |
permutiert ausgelesen: WCDE AHUL SSNK ERON
Wird der durch einfache Spalten-Transposition gewonnene Chiffre erneut in die Matrix eingeschrieben und nochmals ausgelesen, erhöht man die Sicherheit des Chiffres.
Beispiel von oben weitergeführt:
Schlüssel 4
Auslesepermutation 3421
1 |
2 |
3 |
4 |
W |
C |
D |
E |
A |
H |
U |
L |
S |
S |
N |
K |
E |
R |
O |
N |
erneut permutiert ausgelesen: DUNO ELKN CHSR WASE
Bei dieser Abwandlung des Verfahrens wird nicht nur das Auslesen, sondern auch das Einschreiben in die Matrix permutiert.
Beispiel:
Schlüsel 4
Einschreibepermutation der Zeilen 2413
Auslesepermutation der Spalten 2143
|
1 |
2 |
3 |
4 |
4 |
5 |
6 |
7 |
8 |
3 |
13 |
14 |
15 |
16 |
2 |
1 |
2 |
3 |
4 |
1 |
9 |
10 |
11 |
12 |
Chiffre: 6 14 2 10 5 13 1 9 8 16 4 12 7 17 3 11
Der Klartext wird hierzu in gleichgroße Blöcke unterteilt, die jeweils mit dem gleichen Transpositionsverfahren chiffriert weren.
Beispiel:
Schlüssel 4
Permutation 3421
ESWA RSCH ONDU NKEL
WASE CHSR DUNO ELKN
Mit der Kenntnis des Schlüssels, des verwendeten Algorithmus und der Länge des Geheimtextes kann die Matrix wiederhergestellt und rückwärts ausgelesen werden. Dabei erhält man den Klartext zurück.
Ohne Kenntnis des Schlüssels muß man auf Kryptoanalyse zurückgreifen. Dabei versucht man, aus Zeichenhaufen sinnvolle Kombinationen (Anagramme) zu bilden. Eine weitere Hilfe ist das Aufstellen von Häufigkeitsstatistiken (z.B. Bigramme, Trigramme), wenn der Klartext einer natürlichen Sprache entstammt.
Darunter versteht man die Anzahl der möglichen Vertauschungen, um aus einem Klartext einen Chiffre zu erzeugen. Je höher dieser Wert ist, desto sicherer ist das Verfahren.
k |
5 |
10 |
|
k! |
120 |
3.628.800 |
Einfache Spalten-Transp. |
(k!)² |
14.400 |
1,32*1013 |
Gemischte Zeilen- oder Spalten-Transp. |
(k²)! |
1,55*1025 |
9,33*10157 |
Allgemeine Transp. |
Dabei ist k die Anzahl der Spalten/Zeilen in einer quadratischen Matrix. Wie man leicht sieht ergeben sich bei einer Zeilen-/Spaltenzahl von k=5 120 Vertauschungsmöglichkeiten bei einer einfachen Spaltentransposition.
Um die Sicherheit noch weiter zu erhöhen kann man eine bitweise Transposition verwenden, die Spaltenanzahl erhöhen , an vorher vereinbarten Stellen sinnlose Zeicher (Blender) einfügen oder den Klartext vorher komprimieren.
Der Name geht auf den britischen Lord Playfair zurück, welcher Gesundheitsreformen durchführte und Sprecher im House of Common war. Eigentlich wurde das Verfahren aber von Charles Wheatstone erfunden. Diese Herren waren miteinander durch ihr gemeinsames Hobby verbunden - Kryptologie. Beide knackten chiffrierte Anzeigen in der TIMES, und deshalb schlug Wheatstone ein neues Verfahren vor, was aber erst durch Playfair veröffentlicht wurde, aber nicht ohne den wahren Erfinder zu nennen. Die Playfair-Verschlüsselung wurde in diplomatischen Kreisen und vor allem beim Militär verwendet, zum Teil heute noch. In beiden Weltkriegen war dieser Algorithmus durch seine einfache Handhabung weit verbreitet.
Der Algorithmus beruht auf der Verschlüsselung von Buchstabengruppen, nicht von einzelnen Zeichen, dadurch wird die Häufigkeit verschleiert. Als Grundlage dient eine 5*5 Matrix.
G |
R |
U |
E |
N |
S |
P |
A |
B |
C |
D |
F |
H |
I/J |
K |
L |
M |
O |
Q |
T |
V |
W |
X |
Y |
Z |
Das Schlüsselwort, in diesem Fall Gruenspan wird eingetragen, und sich wiederholende Buchstaben werden weggelassen. Anschließend werden die restlichen Buchstaben des Alphabetes der Reihe nach eingetragen. I und J teilen sich ein Feld, was jedoch kaum Nachteile bringt [PLAYFAR].
Der Klartext wird in Zweiergruppen zerlegt. Bei doppelten Buchstaben muß ein vereinbartes Zwischenzeichen eingefügt werden z.B. X. Diese Zweiergruppen werden nun nach folgendem Schema chiffriert.
Liegen beide Buchstaben in einer Zeile der Matrix, werden jeweils die beiden Zeichen rechts davon als Chiffre notiert.
Liegen sie in ein und derselben Spalte werden jeweils die beiden Zeichen darunter notiert. Wenn die Buchstaben weder in der gleichen Zeile noch in der gleichen Spalte liegen notiert man die beiden Eckpunkte des gebildeten Rechtecks.
Beispiel:
die katze trat die treppe krumm => Zerlegung in Zweiergruppen
DI EK AT ZE TR AT DI ET RE PX PE KR UM MX => Buchstabenpaare in Matrix suchen
aus DI wird FK
aus EK wird NI (Ecken vom ersten Buchstaben an im Uhrzeigersinn)
usw.
es entsteht:
FK NI CO NY NM CO FK QN UN WA NF RO WO
Text in Zweiergruppen einteilen
Matrix mit richtigem (aktuellem) Schlüsselwort benutzen
Zweiergruppen rückwärts verschlüsseln
Im Playfair-Chiffre fallen häufig auftretende Buchstaben nicht mehr so auf, dafür treten die Bigramme mehr in den Vordergrund, deren Wahrscheinlichkeitsverteilung aber ausgeglichener ist. Der Ansatz für die Kryptoanalytiker ist, daß jedes Zeichen nur 5 versch. Bilder hat, seine 4 Nachbarn und das Zeichen unter ihm.
Häufige Buchstabengruppen stehen neben oder in der Zeile des Es.
Der Vorteil dieses Verfahrens ist es, dass mit einer Teilentschlüsselung noch nicht der gesamte Klartext erschlossen werden kann.
Die Vigenère-Verschlüsselung ist die bekannteste unter allen polyalphabetischen Chiffren. Sie wurde im Jahre1586 von dem französischen Diplomaten Blaise de Vigenère (1523 bis 1596) der Öffentlichkeit zugänglich gemacht. Der Hauptgedanke dieser Methode ist, verschiedene monoalphabetische Chiffren im Wechsel zu benutzen. Zur Chiffrierung der Nachrichten nach dem Algorithmus von Vigenère braucht man unbedingt ein Schlüsselwort und das Vigenère-Quadrat. Ohne Schlüsselwort kann man nicht sagen, welche Geheimtextzeichen den Klartextzeichen entsprechen. Dabei kann das Schlüsselwort jede beliebige Buchstabenfolge sein.
Um diese Verschlüsselungsmethode zu
demonstrieren nehmen wir ein Beispiel. Wir wählen ein
beliebiges Schlüsselwort, z.B. HALLO und
schreiben dieses Wort zeichenweise über den Klartext, und
zwar so lange, bis die Länge des Klartextes erreicht
ist:
Schlüsselwort: H A L L O H A
L L O H A L
Klartext:
k r y p t o g r a p h i e
Geheimtext: R R
J A H V G C L D O I P
Das Schreiben des Geheimtextes ist wie folgt zu erklären: Der über einem bestimmten Klartextzeichen stehende Schlüsselwortbuchstabe und der direkt darunterliegende Klartextbuchstabe bestimmen anhand des Vigenère-Quadrates das Chiffre-Alphabet, mit dem der Klartextbuchstabe zu verschlüsseln ist.[BEUTLSP]
Also: den ersten Geheimtextbuchstaben
R bekommen wir, wenn wir im Vigenère-Quadrat
in der Zeile H und der Spalte k
nachschauen. Weiter suchen wir in der Zeile A den
Buchstabe in der Spalte r; dieser ist ebenfalls ein
R. (Das ist nur ein Zufall, daß zwei gleiche
Geheimtextbuchstaben hintereinander stehen.) In gleicher Weise
führen wir die Verschlüsselung weiter durch.
Aufbau des Vigenère-Quadrates:
a b c d e f g h i j k l m n o p q r s t u v w x
y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z A B C D E F C H I J K L M N O P Q R S T U V W X Y
Die Verschlüsselungsmethode von Vigenère wurde bereits in den frühen Jahren geknackt. Der erste Angriff wurde 1863 von dem preussischen Infanteriemajor Friedrich Wilhelm Kasiski (1805 bis 1881) veröffentlicht. Der zweite wurde im Jahr 1925 von Colonel William Frederick Friedman (1891 bis 1969) entwickelt. Die beiden Verfahren, der Kasiski-Test und der Friedman-Test, gelten als äußerst wichtig in der Kryptoanalyse.
Obiges Beispiel zeigt die Funktionionsweise des Vigenère-Chiffres recht anschaulich. Im Zeitalter der Computer ist es jedoch möglich, ja sogar notwendig die Vorgehensweise zu algorithmieren und mathematisch auszudrücken. Die mathematische Beschreibung des Vigenère-Verfahrens sieht nun folgendermaßen aus:
Geheimtext = Klartext + Schlüssel
Man kann dies leicht nachvollziehen, wenn man
den Buchstaben des Alphabets Zahlen zuordnet: A=0, B=1, C=2,
... , Z=25
Im obigen Beispiel sieht das so aus:
K + H = ? H=7; K=10 ->
10+7=17 -> 17=R
Die Umkehrung lautet Klartext = Kryptogramm - Schlüssel,
also
R - H = ? -> 17-7=10 ->
10=K
Da diese Gleichung drei Variablen besitzt kann man noch zwei andere Rechenoperationen ausführen.
Kryptogramm = Schlüssel
- Klartext ( Beaufort-Chiffre 1)
Kryptogramm = Klartext -
Schlüssel ( Beaufort-Chiffre 2)
Diese Rechenoperationen sind analog zu obigem Beispiel auszuführen und stellen lediglich eine Abwandlung des Vigenère-Verfahrens dar. Im folgenden werden noch weitere Abwandlungen dieses Verfahrens dargestellt. [ALLGEMN]
a b c d e f g h i j k l m n o p q r s t u
v w x y z
0 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
Dieses Verfahren benutzt nur 10 der 26 möglichen Schlüssel des Vignere-Verfahrens, also nur die Schlüsselalphabete A bis J, die in diesem Verfahren durch die Zahlen 0 bis 9 dargestellt werden. Damit kann man anstatt eines Schlüsselwortes eine Zahlenreihe verwenden. Dieses Verfahren ist aber wesentlich leichter zu knacken, da es für jeden Buchstaben nur 10 verschiedene Verschlüsselungsmöglichkeiten gibt. Ein Z im verschlüsselten Text kann somit z.B. nur den Buchstaben Q-Z entsprechen - niemals können die Buchstaben A-P durch ein Z verschlüsselt werden. Damit ist die Leistungsfähigkeit des Verfahrens sehr eingeschränkt.
Bei diesem Verfahren verwendet man als Schlüsselwort das gesamte Alphabet, d.h. der Klartext wird der Reihe nach mit A B C ... X Y Z verschlüsselt. Damit ist zwar einem wichtigen Kriterium - der Schlüssellänge - Genüge getan, aber diesen Schlüssel geheimzuhalten bedeutet, das Verfahren geheimzuhalten. Wenn das Verfahren bekannt wird ist die Verschlüsselung praktisch nutzlos.
1863 stellte der preußische
Infanteriemajor Friedrich Wilhelm Kasiski erstmals ein
Verfahren zur systematischen Analyse und Dechiffrierung von mit
Vignére verschlüsselten Botschaften dar. Das
Verfahren stützt sich darauf, daß sich ein im
Verhältnis zur Textlänge relativ kurzes
Schlüsselwort ständig wiederholt. Dadurch kann es
auftreten, daß zwei gleiche Wörter des Klartextes
auch im verschlüsselten Text gleich sind. Dies ist immer
dann der Fall, wenn der Abstand zwischen diesen Wörtern
ein Vielfaches der Schlüsselwortlänge ist. Bei einem
5 Buchstaben langen Schlüsselwort würden also zwei
gleiche Wörter im Abstand von 5, 10, 15, 20, ...
Buchstaben gleich verschlüsselt werden. Kasiski ging nun
so vor, daß er sich im verschlüsselten Text
möglichst lange Buchstabenkombinationen suchte, die
mehrfach auftraten und den Abstand dazwischen zählte.
Diese ermittelten Abstände sind ein Vielfaches der
Schlüsselwortlänge. Diese Vorgehensweise
läßt sich recht einfach automatisieren, indem man
den verschlüsselten Text gegen sich selbst verschiebt und
die Übereinstimmung der Buchstaben zählt. Ist die
Verschiebung gleich oder ein Vielfaches der
Schlüsselwortlänge tritt eine markant hohe
Übereinstimmung auf.
Beispiel mit Schlüssellänge 5:
AUSDENALTENSAGENKENNENWIRDENNAMEN -
Klartext
HALLOHALLOHALLOHALLOHALLOHALLOHAL -
Schlüssel
HUDOSUAWESUSLRSUKPYBLNHTFKEYYOTEY -
Verschlüsselte Nachricht
UDOSUAWESUSLRSUKPYBLNHTFKEYYOTEYH 1 Korrelationen
bei Verschiebung 1
DOSUAWESUSLRSUKPYBLNHTFKEYYOTEYHU 1 Korrelationen
bei Verschiebung 2
OSUAWESUSLRSUKPYBLNHTFKEYYOTEYHUD 1 Korrelationen
bei Verschiebung 3
SUAWESUSLRSUKPYBLNHTFKEYYOTEYHUDO 2 Korrelationen
bei Verschiebung 4
UAWESUSLRSUKPYBLNHTFKEYYOTEYHUDOS 6
Korrelationen bei Verschiebung 5
AWESUSLRSUKPYBLNHTFKEYYOTEYHUDOSU 0 Korrelationen
bei Verschiebung 6
WESUSLRSUKPYBLNHTFKEYYOTEYHUDOSUA 3 Korrelationen
bei Verschiebung 7
ESUSLRSUKPYBLNHTFKEYYOTEYHUDOSUAW 1 Korrelationen
bei Verschiebung 8
SUSLRSUKPYBLNHTFKEYYOTEYHUDOSUAWE 3 Korrelationen
bei Verschiebung 9
USLRSUKPYBLNHTFKEYYOTEYHUDOSUAWES 4
Korrelationen bei Verschiebung 10
Weiß man nun die Schlüssellänge kann man den Text sortieren nach Buchstaben, die mit dem selben Schlüsselbuchstaben verschlüsselt wurden. Bei der Schlüssellänge 5 nimmt man also den 1., 6., 11.,... in eine Gruppe, dann den 2., 7., 12., ... usw. Diese einzelnen Gruppen kann man nun statistisch analysieren. Man braucht dabei nur ein Klartext-Chiffre-Buchstabenpaar zu finden, da alle Buchstabe in einer Gruppe um den selben Wert verschoben sind. Man sucht also z.B. nach dem E, welches in den europäischen Sprachen der häufigste Buchstabe ist. Findet man nun z.B in einer Gruppe das H am häufigsten auf kann man davon ausgehen, daß diese Gruppe um 3 Stelle verschoben ist (Schlüssel=Kryptogramm-Klartext; H-E=D) Der Schlüsselbuchstabe dieser Gruppe ist also D. Dasselbe macht man mit allen Gruppe und erhält so das Schlüsselwort.
Beim Autokey-Verfahren wird das Schlüsselwort nur einmal zum Verschlüsseln der ersten Buchstaben verwendet. Die folgenden Buchstaben werden mit den Klartextbuchstaben am Anfang beginnend verschlüsselt.
AUSDE|NALTE|NSAGE|NKENN|ENWIR|DENNA|MEN -
Klartext
HALLO|AUSDE|NALTE|NSAGE|NKENN|ENWIR|DEN -
Schlüssel
HUDOS|NUDWI|ASLZI|ACETR|RXAVE|HRJVR|PIA -
Verschlüsselte Nachricht
_______________________________________
Sgarro, Andrea: Geheimschriften. Augsburg:
Weltbild, 1991. -ISBN 3-89350-162-2
Der Chiffrierzylinder sieht wie folgt aus:
Bild 2
Der Chiffrierzylinder besteht aus mehreren Scheiben, auf deren Ränder permutierte Alphabete eingraviert sind. Die Reihenfolge der Alphabete ist nicht wichtig und jede Scheibe hat eine andere Permutation. In der Abbildung hat der Chiffrierzylinder 6 Scheiben. Das heißt, jede Zeile enthält 6 Geheimtextzeichen. Der Schlüssel besteht in der Anordnung der Scheiben (hier Fakultät 6 Möglichkeiten).
Die bekanntesten Chiffriergeräte, deren Konstruktion auf den Chiffrierzylinder beruhen, sind die M-94 der US Army und das CSP-642 der Japaner. Die M-94 war von 1922 bis 1943 im Einsatz. Sie bestand aus 25 Aluminiumzylindern, bei denen nicht nur die Anordnung der Scheiben geheim war, sondern auch ihre Auswahl aus einer größeren Menge.
Für Rotormaschinen wurden ab 1920 mehrere Patente eingereicht, wobei im folgenden Abschnitt nur der allgemeine mechanische Aufbau und die Funktionsweise der Rotormaschinen im Vordergrund stehen soll.
Rotormaschinen sind elektromechanische Verschlüsselungsgeräte. Sie bestehen, wie es der Name schon verrät, aus Rotoren. Rotoren sind dicke, elektronisch isolierte Scheiben, auf denen auf den gegenüberliegenden Flächen je 26 Schleifkontakte ringförmig angebracht sind und jeder Schleifkontakt einen Buchstaben des Alphabetes darstellt (Bild 3) .
Da jeder Schleifkontakt der linken Seite mit genau einem auf der rechten Seite verbunden ist, erhalten wir eine einfache Substitution.
Nun werden auf der rechten Seite die Schleifkontakte mit je einem Lämpchen verbunden und auf der linken Seite wird an einem Kontakt eine Spannung angelegt. Das aufleuchtende Lämpchen ist abhängig von der inneren Verdrahtung des Rotors. Das Anlegen der Spannung kann man mit der Eingabe eines Zeichenes gleichsetzen, das Aufleuchten des entsprechenden Lämpchens ist vergleichbar mit der Ausgabe des chiffrierten Zeichens (durch Substitution).
Wenn wir nun nach jedem Zeichen den Rotor um eine Position weiter drehen, erhalten wir eine polyalphabetische Substitution (Bild 5/6/7) mit der Periode 26.
Bild7
Nun wurden zur Erschwerung der Kryptoanalyse statt einer, mehrere Scheiben benutzt, hintereinander gestellt und über ihre Schleifkontakte verbunden. Die einzelnen Rotoren besitzen eine Rändelscheibe und ein Zahnrad, über die der Rotor während der Verschlüsselung mechanisch und manuell gedreht werden konnte. Auf Bild 8 sind zwei Enigmarotoren abgebildet, wobei beim oberen klar die Rändelscheibe und das Zahnrad, beim unteren die Schleifkontakte und das aufgedruckte Alphabet zu sehen sind.
Bild 8
Die Enigma wurde im Jahr 1923 von Arthur Scherbius gebaut. Die ersten Modelle waren normale Rotormaschinen mit 4 Rotoren und dem oben beschriebenen Aufbau. Sie wurde seit dieser Zeit von der deutschen Wehrmacht verwendet und war bedeutend für den Funkverkehr. Im Jahre 1926 veränderte Willi Korn den Aufbau der Enigma.
Neuerungen in der Konstruktion von W. Korn
In seiner Konstruktion benutzt Korn nur noch 3 Rotoren, die nun allerdings einen beweglichen Ring hatten, auf dem die Zahlen 1-26 (das Alphabet) aufgedruckt waren. Über diesen Ring konnte nun die innere Verkabelung in bezug auf die äußere Numerierung geändert werden. Die Vorteile des Ringes waren eine Vergrößerung des Schlüsselraumes und ein zusätzlicher Schutz vor Spionage. Ohne den Ring konnte man von außen schon die Rotorpositionen des Rotorensystems erkennen.
Nun, da die relative Position von Verkabelung und Ring nicht zu sehen war, hatte man zwar die Ziffer, aber die eigentliche Rotorposition war unbekannt. Um das Verhältnis von Verkabelung und Ring zu ändern, mußte man den Rotor ausbauen.
Eine weitere Neuerung war ein vierter Rotor, der zur Anwendung kam. Dieser, auch als Reflektor bezeichnete Rotor, hatte nur auf einer Seite Schleifkontakte. Jeder Schleifkontakt war mit einem anderen des Reflektors fest verdrahtet.
Der Reflektor wurde fest an die äußerste rechte Seite gestellt und sollte die von links kommenden Signale auf einem anderen Weg zurück nach links senden.
Jedes Zeichen, das über die Tastatur eingegeben wurde, mußte zuerst von links nach rechts, dann auf einem anderen Weg von rechts nach links das Rotorensystem durchlaufen. Durch den Reflektor hatte die Enigma zwei neue Eigenschaften erhalten:
kein Buchstabe konnte mehr auf sich selbst abgebildet werden
die Codierung und Decodierung waren nun gleich, d.h., das für die Decodierung exakt die selbe Ausgangsstellung benutzt werden mußte, wie sie bei der Codierung bestand (autoinvers)
Bild 10
In schematischer Form kann man das Rotorensystem (Zerhacker) in Bild 9 sehen. Ein Enigma-Rotorensystem ist in Bild 10 zu sehen.
Eine weitere Neuerung, die vor und nach dem Rotorensystem zum Tragen kam,
war das Steckfeld (Bild 11).
Über das Steckfeld konnten die Buchstaben vor und nach der Ver- und Entschlüsselung, durch das Rotorensystem, vertauscht werden. Dazu war es notwendig, eine Steckbrücke in die zu vertauschenden Buchstaben in das Steckfeld zu stecken. Die nicht gesteckten Buchstaben blieben unberührt.
Ein Beispiel zur Verdeutlichung der Arbeit des Steckfeldes:
wenn zum Beispiel die Steckbrücken in A/G und J/K gesteckt waren und der Buchstabe A eingegeben wurde, so wurde nicht das A an das Rotorensystem gegeben, sondern das G. Dieses G durchlief nun die einzelnen Rotoren bis zum Reflektor und wieder auf einem anderen Weg zurück. Nehmen wir nun an, das G kommt als L aus dem Rotorensystem heraus, so wird nun das L aufleuchten
wenn bei gleicher Steckkombination ein H eingeben wird, wird dieses auch als H an das Rotorensystem gesendet, durchläuft es und kommt, sagen wir als J, heraus, dann wird nun das J mit dem K vertauscht und so leuchtet das K auf
Die letzte wichtige Neuerung war die Einführung einer Übertragsfunktion.
Sie arbeitete wie ein Kilometerzähler beim Auto. Nach der Eingabe eines Zeichens und der dazugehörigen Ausgabe des chiffrierten Buchstabens, wurde der äußerst links stehende Rotor stets um eine Position weiter gedreht. Wenn er nun eine Position erreichte, die durch eine veränderbare Kerbe am Rotor markiert ist und nun der Rotor noch einmal gedreht wurde, so führte die Mechanik der Enigma nicht nur diese Drehung des äußerst links stehenden Rotors aus, sondern auch eine Drehung um eine Position des rechts neben ihm stehenden Rotors. Die Kerbe konnte nur bei ausgebautem Rotor verändert werden. Solch eine Kerbe besaßen alle Rotoren.
Nur der letzte, dritte Rotor, gab keinen Übertrag weiter, denn der Reflektor war fest eingebaut und konnte somit nicht gedreht werden. Diese Einführung erhöhte die Periode von 26 auf 16900.
Bild 12
Diese von W. Korn erweiterte Version der Enigma wurde Enigma 1 genannt und wurde fortan von Heer, Luftwaffe und Marine benutzt. Auf Bild 12 sieht man eine Enigma und ihre Hauptbestandteile:
die Tastatur
das Lampenfeld
das Rotorfenster (mit darunter liegendem Rotorensystem)
das Steckfeld
Die Enigma wurde später noch an einigen Stellen erweitert. So kamen im Laufe der Zeit immer weitere Rotoren zum Sortiment hinzu. Am Ende des 2.Weltkrieges sollen es etwa 10 Stück gewesen sein, aus denen man laut Codebuch die richtigen 3 aussuchen mußte und dann benutzte. 1942 wurde die Marine - Enigma um einen weiteren Rotor im Rotorensystem erweitert, so daß nun 4 Rotoren benutzt wurden, statt vorher 3. Im Allgemeinen gab es wegen der großen Anzahl dieser Chiffriermaschinen und der drei unabhängigen Waffengattungen auch eine große Menge unterschiedlicher Ausführungen in der Bauart und der Benutzung. Deshalb wurde oben nur der grundsätzliche Aufbau und die Funktionsweise der Rotormaschine - Enigma beschrieben.
Zum Gebrauch der Enigma
Bevor die Enigma zum Chiffrieren und Dechiffrieren benutzt werden konnte, mußten allgemeine und spezielle Einstellungen vorgenommen werden. Die allgemeinen Einstellungen betrafen die Punkte:
welche Rotoren benutzt wurden und in welcher Reihenfolge (Auswahl/Anordnung)
die für jeden Rotor verschiedenen Einstellungen für Übertrag und Ringposition auf dem Rotor
welche Kombinationen auf dem Steckfeld gesteckt wurden (die Anzahl der Steckbrücken war zwischen 4 und 7)
Diese Einstellungen wurden durch Codebücher festgelegt. Die Codebücher waren immer auf einen Monat und jede Einstellung war auf 24 Stunden begrenzt. Nach dem diese 3 Punkte abgearbeitet waren, mußte man die Anfangspositionen der Rotoren einstellen. Diese Anfangspositionen waren nicht festgelegt. Somit mußte sich der Chiffreur die Positionen ausdenken. Das Problem war nun, daß zum dechiffrieren diese Positionen benötigt wurden. Somit mußte nicht nur der Text, sondern auch die Anfangspositionen mit gesendet werden. Dieses wurde so wie vieles unterschiedlich gehandhabt. Hier nur ein Beispiel zur Lösung des Problems.
Die Anfangspositionen werden am Anfang des Textes als Klartext übertragen.
Ein Beispiel (vereinfacht):
wenn die Rotorenstellungen zum Beispiel 1 9 17 waren, so mußte der Chiffreur zuerst 01 09 17 (PQPOQU) eingeben, sich die entsprechend codierten Buchstaben (sagen wir ZUFDEG) merken und nun die Maschine nochmals in die Position 1 9 17 bringen. Danach die Buchstaben ZUFDEG eingeben und daraufhin den zu codierenden Text. Der chiffrierte Text lautet nun: PQPO QUxx xxxx xxxx .... .
Sicherheit der Enigma
Zum Entschlüsseln eines, mit der Enigma, chiffrierten Textes, braucht man die Auswahl und Anordnung der Rotoren, die Rotorenausgangsstellung und die Beschreibung des Steckfeldes. Diese drei Punkte mußten unbedingt geheim gehalten werden. Die Enigma wurde von W. Korn und anderen Stellen als absolut sicher eingestuft. Diese Annahme wurde bis zum Ende des Krieges beibehalten und stützt sich auf den großen Schlüsselraum und die lange Periode.
Der Schlüsselraum, etwa 2*10^20, ergibt sich aus der Anzahl der zur Auswahl stehenden Rotoren (ca.10), der möglichen Ausgangsstellung der Rotoren, der Anzahl der verschiedenen Anordnungen der Rotoren im Rotorensystem , der Initialpermutation und der verschiedenen Steckfeldanordnungen. Die Periode der Enigma mit 3 Rotoren im Rotorensystem beträgt ca. 16900.
Aber die Enigma wurde trotz ihres großen Schlüsselraumes und der langen Periode, durch Angriffe von Polen und später England, gebrochen. Dieses folgt aus verschiedenen Schwachstellen im Umgang mit der Enigma und ihrem Aufbau selbst. Dieses wollen wir nun noch etwas tiefer betrachten.
Schwachstellen im Aufbau
Eine der Hauptschwachstelle der Enigma war, daß sie auf ein käufliches Chiffriergerät aufbaute. Weiterhin wurde sie in solchen Massen benutzt, daß es unmöglich war, den inneren Aufbau geheimzuhalten. Aber gerade dieser innere Aufbau, machte die Enigma erst so stark. Somit dürfte zum Beispiel das wichtige Geheimnis um die Innereverkabelung der Rotoren immer nur für absolut neu entwickelte Rotoren bestanden haben, dieses aber auch nur für einen kurzen Zeitraum. Außer dieser kaum zu verhindernden Schwachstelle, gab es verschiedene in der Enigma selbst. Hier zwei wichtige Beispiele:
die Anschlüsse von Tastatur bzw. Lampenfeld zum ersten Rotor waren in alphabetischer Reihenfolge ringförmig angeordnet, eine Veränderung (Permutation) dieser Anschlüsse, hätte die Kryptoanalyse der Gegner stark erschwert und vielleicht sogar ohne eine genaue Beschreibung einer Maschine solchen Typs unmöglich gemacht
die Erweiterung der Marine - Enigma um einen Rotor war nur halbherzig, denn dieser Rotor konnte nicht wie die anderen ausgetauscht werden, sondern wurde an seiner Stelle fest eingebaut. Daraus resultierte, daß der Schlüsselraum nur um den Faktor 26 statt 234 größer wurde
Schwachstellen in der Benutzung
Die allgemeinen Einstellungen wurden über Codebücher festgelegt und
waren somit für 24 Stunden bei allen Enigmamaschinen gleich. Dieses vereinfachte die Kryptoanalyse, denn wenn einmal die Tageseinstellungen bekannt waren, zum Beispiel über gefundene Codebücher oder über Kryptoanalyse, mußten bei allen Kryptotexten nur noch die Anfangsrotorpositionen herausgefunden werden. Es sollen auch Codebücher später mehrmals benutzt worden sein. Ein anderes Problem war die Übertragung
der Anfangsposition der Rotoren. Denn wie im oben beschriebenen Beispiel (Gebrauch der Enigma) die Positionen als Klarschrift voranzustellen, ist eigentlich zu einfach. Aber auch spätere System waren nur unmerklich besser. Die typisch deutschen Armeenachrichten, die sehr kurz und monoton waren, erhöhten ebenfalls nicht die Sicherheit. Aus ihnen konnten gute Kyptoanalytiker Schlüsse auf den Klartext ziehen und hatten somit einen Angriffspunkt. Hier soll nun auch kurz die Turingbomb erwähnt werden, die von Alan Turing, einem englischen Mathematiker, konstruiert wurde. Die Turingbomb ist ein Klartextangriff. Man benutzt Klartexte und ihre Chiffrierung, um auf die Rotorstellungen der Enigma zu schließen.
Ich denke, daß man die halbherzigen Änderungen darauf zurückführen kann, daß, wie oben schon mal angesprochen, bei den zuständigen Stellen in Deutschland niemand daran glaubte, daß die Enigma selbst gebrochen wurde und somit die Änderungen gegen "innere" Spionage anzusehen sind. Somit ist die Dechiffrierung der Enigma durch Polen und England in bezug auf Deutschland eher auf Ignoranz und Unwissen von Personen, als auf die technischen Mängel der Enigma, zurückzuführen.
Die Geschichte der Enigma nach 1945
Die Enigma wurde noch nach 1945 von Deutschland und der Schweiz nach Afrika, den Nahen Osten und Südamerika verkauft. Sie wurde dort für die militärische und diplomatische Kommunikation eingesetzt.
Ebenfalls sollen die USA die Enigma an Länder der 3.Welt verkauft haben, um Geheimnachrichten abhören zu können.
Beim heutigen Stand der Technik sollte die Enigma kaum noch den Angriffen gewachsen sein.
Benutzte Literatur und WWW - Seiten waren [GIESSMN],[ENIGMA1],[ENIMA2],[ENIGMA3][ENIGMA4]
Das Bildmaterial stammt von [ENIGMA5]
Der DES Algorithmus ist ein Produktalgorithmus, speziell ein Feistel-Netzwerk. Er
- Verwendet einen 56 Bit langen Schlüssel, um
- blockweise 64 Bit Klartext in 64 Bit Geheimtext zu überführen bzw. umgekehrt. Das
geschieht
- in 16 schlüsselabhängigen Runden. Vor der ersten und nach der letzten Runde werden
- jeweils eine feste, bitweise Transposition durchgeführt. Dabei ist die abschließende
Permutation die Umkehrung der ersten.
- Es werden 48 Bit, in Abhängigkeit der Runde des veränderten 56 Bit Schlüssels, ausgewählt.
- Die Rechte Blockhälfte wird von 32 auf 48 Bit erweitert.
- Beide 48 Bit-Folgen werden durch XOR verknüpft.
- Das Ergebnis wird mittels acht S-Boxen in eine 32 Bit-Folge transformiert
- Jetzt wird die 32 Bit-Folge durch eine P-Box permutiert.
Der entstandene 32 Bit Block braucht nun nur noch per XOR mit der linken Blockhälfte verknüpft zu werden,
und es ergibt sich die rechte Blockhälfte der neuen Runde. Die Dechiffrierung läuft, ganz ähnlich der Chiffrie-
rung, nur mit umgekehrter Reihenfolge der Rundenschlüssel ab.
Eingangs und Ausgangspermutation
Die Permutationen vor der ersten und nach der letzten Runde dienen keiner Sicherheit. Vermutlich liegt ihre
Verwendung in der Hardware begründet, denn Mitte der 70er Jahre war es noch nicht so einfach, 64 Bit Daten
in ein Register zu laden: Es gab noch nicht einmal 16 Bit Mikroprozessoren.
RSA ist ein von Ron Rivest, Adi Shamir, Leonard Adleman entwickeltes asymmetrisches Public-Key-Verfahren. Es überstand eine jahrelange Kryptoanalyse und wird heute als Standardverfahren von fast allen gängigen Verschlüsselungssystemen eingesetzt.
Wie das Verfahren funktioniert, soll am folgenden Beispiel gezeigt werden:
Primzahlen: p, q p = 47 q = 71
Öffentlicher Schlüssel:
n = pq n = 47 * 71 = 3337
e - CS zufällig gewählt e = 79
! prim zu (p-1)(q-1) 46 * 70 = 3220
Privater Schlüssel:
d = e¹ mod ((p-1)(q-1)) d = 79¹ mod 3220 = 1019
d wird mit dem erweiterten Euklidischen Algorithmus (siehe unten) berechnet,
p und q werden nicht mehr benötigt, dürfen aber niemals bekanntgegeben werden
Verschlüsselung:
Blöcke Þ m= 668; m= 232; m= 687
m= 966; m= 668; m= 003
ci = mie mod n c= 688 mod 3337 = 1570
C = c+ c+...+c C = 1570 2756 2096 2276 2423 158
Entschlüsselung:
mi = cid mod n m= 1570¹¹ mod 3337 = 688
Erweiterter euklidischer Algorithmus
ges.: d geg.: e = 79;
(p-1)(q-1) = 3220
3220 = 79 * 40 + 60
79 = 60 * 1 + 19
60 = 19 * 3 + 3
19 = 3 * 6 + 1 ggT = 1
3 = 3 * 1 + 0
1 = 19 3 * 6 die 3 aus 3. Zeile einsetzen 3 = 60 19 * 3
1 = 19 - [ ( 60 19 * 3 ) * 6 ]
1 = 19 * 19 60 * 6
1 = 19 ( 79 60 ) 60 * 6
1 = 19 * 79 60 * 25
1 = 19 * 79 ( 3220 79 * 40 ) * 25
1 = 19 * 79 3220 * 25 + 79 * 40 * 25 ( 79 zusammenfassen )
1 = 79 ( 19 3220 * 25 / 79 + 40 * 25 ) 79 ( 19 3220 * 25 / 79 + 1000 )
1 = 79 * 1019 3220 * 25
79 * 1019 mod 3220 = 1
d = 1019
Die Sicherheit von RSA beruht auf dem Problem der Faktorisierung großer Zahlen. Liegen
p und q in der Größenordnung von 100 - 200 Stellen, so hat n 200 400 Stellen (Wir erinnern uns: n=p*q)
Die nächstliegende Angriffsmethode ist also die Faktorisierung von n, da mit dem öffentlichen
Schlüssel n und e bekannt sind.
Um also den privaten Schlüssel d zu berechnen muß man n faktorisieren. Zum heutigen Zeitpunkt nimmt man an, das Zahlen bis 129 Stellen in endlicher Zeit zu faktorisieren sind, so daß man mit der Wahl von n deutlich größer als 129 Stellen auf der sicheren Seite ist.
Ein weiterer möglicher Angriff wäre die Brute Force - Methode. Dabei wird jedes mögliche d probiert, bis man den richtigen Wert gefunden hat. Dies ist bei RSA allerdings noch ineffizienter als eine Faktorisierung von n, da d = e¹ mod ((p-1)(q-1)) ist.
RSA wird als praktisch sicher bezeichnet. Was bedeutet das?
Nun, wir haben gesehen, das die Anzahl der möglichen Schlüssel so groß ist, dass systematisches Durchprobieren ausgeschlossen ist. Damit wäre ein minimales Sicherheitskriterium erfüllt.RSA wurde durch seine Veröffentlichung gut untersucht, aber trotzdem als solcher nicht geknackt. Sein Schwachpunkt liegt einzig und allein in der Faktorisierung großer Zahlen. Er ist damit praktisch sicher, obgleich er theoretisch angreifbar ist.Sobald eine Möglichkeit gefunden worden ist, mehrere hundert Bit lange Zahlen zu faktorisieren, ist der RSA- Algorithmus praktisch wertlos.
Alle bisherigen Verfahren dienten dazu, zu übermittelnde Nachrichten gegen unberechtigtes Lesen abzusichern. In der Kryptologie heißt dieses Mitlesen passiver Angriff, da der Inhalt der Nachricht, deren Integrität, erhalten bleibt. Was passiert nun wenn der Kryptanalytiker, das ist die vornehme Variante, doch die Nachricht ändert, dann ist aus dem passiven Angriff ein aktiver geworden. Dies wirft natürlich gleich die zweite Frage auf - Wie sicher ist der Übertragungsweg überhaupt? Wenn man davon ausgeht, dass der Übertragungsweg keine Sicherheit bietet, so muß man sich Möglichkeiten schaffen, um die Echtheit von Nachrichten zu prüfen. Diese sollten ein Verfälschen der Nachricht sicherstellen. Daran schließt sich das Problem der Identität des Senders an, d. h. der Empfänger braucht Mittel um sich davon zu überzeugen, das dein Kommunikationspartner der ist, mit dem er wirklich kommunizieren will. Man spricht von Nachrichtenauthentikation.
Grundanliegen ist es, festzustellen ob die übermittelte Nachricht verfälscht oder verändert wurde.
Zwei Beispiele zur Sicherung der Integrität
Der kryptographische Fingerabdruck:
Message-Authentication-Code MAC
MAC berechnet sich aus dem Algorithmus A und dem Schlüssel k
MAC = Ak(Nachricht)
MAC wird mit der Nachricht gesendet
Nachteil: Nachricht ist dann doppelt so lang
Cipher - Block - Chaining - Mode
Klartext wird in Blöcke gleicher Länge eingeteilt (typisch sind 64 Bit) m1, m2, ..., mn
Bearbeitung von Block 1 c1 = fk (m1)
Block m2 wird mit c1 EXOR verknüpft ( binäre Addition ohne Übertrag)
c2 = fk ( c1+m2 )
c3 = fk ( c2+m3 ) usw.
der letzte verschlüsselte Block wird als MAC genommen
cs= fk ( cs-1+ms )
Vorteil: MAC hat eine feste Länge und hängt von allen Blöcken ab
MAC mittels Cipher - Block -Chaining -Mode
Eine Grundaufgabe der Sicherheitstechnik ist es, die Identität von Personen sicherzustellen, das heißt sie zu authentifizieren.[BEUTLSP]
Personen können durch Wissen oder Besitz identifiziert werden.
-sinnlos
Passwörter werden mit Einwegfunktionen verschlüsselt.
Im Speicher des Rechners werden die Passwörter verschlüsselt gespeichert P*=f (P0)
Ein eingegebenes Passwort P wird mit dem gespeicherten verglichen
f (P) == f (P0) ??
Einwegfunktionen sind nicht oder nur sehr schwer umkehrbare Funktionen.
Verwendung bei Chipkarten
die ausgetauschten Daten ändern sich ständig
Ziel: indirektes Überzeugen ob Benutzer im Schlüsselbesitz ist
Beispiel zwischen Chipkarte und Rechner
beider verfügen über geheimen Schlüssel k
Rechner schickt Zufallszahl RAND an Chipkarte
Chipkarte verschlüsselt RAND mit k
Antwort ANTW = fk ( RAND )
Rechner vergleicht ANTW == fk ( RAND ) ??
Vorteil: Es werden nur Zufallszahlen ausgetauscht.
Grundgedanke dieser Protokolle ist, jemanden davon zu überzeugen, dass man im Besitz eines Geheimnisses (Schlüssels) ist, ohne davon das Geringste zu verraten.
Historisches Beispiel: Das Geheimnis des Tartaglia (Lösung einer kubischen Gleichung)[BEUTLSP]
aufgestellt 1986 durch Adi Shamir und Amos Fiat [KIPPHAHN]
beruht auf der Schwierigkeit die modulare Quadratwurzel einer Zahl v zu finden
s2 MOD n = v
praktisch unmöglich die Zahl s zu finden
Quadratwurzelspiel
Schlüsselzentrale
zwei Primzahlen p und q werden multipliziert n=p*q
p, q sind geheim, n ist öffentliche Systemkonstante
s das Geheimnis jedes Benutzers wird berechnet v=s2 mod n
v dient der öffentlichen Identifizierung des Benutzers
die Schlüsselzentrale spielt im Authentikationsprozess keine Rolle
Benutzer Rechner
wählt zufällig eine Zahl r
r ist teilerfremd zu n
berechnet x=r2mod n
x
wählt ein Bit b
wenn b=1; y=r*s mod n b
wenn b=0; y=r mod n
y
Verifiziert
y muß teilerfremd zu n sein
wenn b=1;
y2 mod n = x*v mod n
wenn b=0
y2 mod n = x
Der Verifizierer wird irgendwann davon überzeugt sein, dass der Benutzer das Geheimnis s besitzt.
Die Wahrscheinlichkeit für die Vorhersage des Bits b ist bei t-maliger Ausführung 1/2t. Nach 20 Durchläufen ist die Wahrscheinlichkeit kleiner als 1 zu einer Million.
Wichtig!! Auch nach dem Authentikationsprozess bleibt das Geheimnis s absolut geheim.
Am Anfang hatten wir die These aufgestellt, jeder in unserer heutigen Gesellschaft hat mit Kryptologie in irgendeiner Art und Weise zu tun. Bisher haben wir die zeitliche Entwicklung der Kryptologie dargestellt und einen groben Überblick über die wichtigsten Verfahren gegeben.Vielleicht wurde an der einen oder anderen Stelle bewußt, warum die Anwendung kryptologischer Verfahren so bedeutungsvoll in dieser Zeit ist. Wir haben mehrere Umbrüche in der Entwicklung unserer Gesellschaft hinteruns. Angefangen mit der auf Landwirtschaft basierenden Zivilisation, über Handwerk bis hin zur Industriellen Revolution bewegen wir uns heute im Zeitalter der Information. Das Wissen Macht ist, wird dann deutlich, wenn Firmen Neuentwicklungen vor der Konkurrenz schützen wollen, wenn bestimmte Datenbanken nur gegen Entgelt durchforstbar sind, wenn Politiker peinlich-beschämende Vorgänge nicht veröffentlich wollen. Aber auch deine Privatsphäre und Sicherheit können gefährdet sein! Umfangreiche Banken-, Kreditkarten- und medizinische Datenbanken, eMail-Überwachung und Computerschnüffelprogramme sind nur einige wenige Faktoren, die jeden gesetzestreuen Bürger treffen. Kurz gesagt, unsere in Privatsachen schnüffelnde Gesellschaft dient den Kriminellen und serviert Deine Daten auf einem Silbertablett.
Im allgemeinen gilt, das klassische Sicherheitsaspekte der Integrität, Vertraulichkeit, Verfügbarkeit, Verbindlichkeit und Authentizität zunehmend allgemein gewünschte Merkmale von Kommunikationsprozessen sind. Sichere Kommunikation ist Vorraussetzung für wirtschaftliche und behördliche Netzteilnahme.
An dieser Stelle soll ein Überblick über die Anwendung kryptologischer Verfahren in der Praxis gegeben werden.
In Anlehnung an die nichttechnische PGP-FAQ40[PGPFAQ1], sowie an die Presseerklärung des BMWi [GNUPG1]40 soll hier ein Überblick über PGP und GnuPG gegeben werden.
PGP (ausgeschrieben "Pretty Good Privacy" (ziemlich gute Privatsphäre)) ist ein Computerprogramm, das Daten verschlüsselt und entschlüsselt.
Philip Zimmermann schrieb das erste Programm. Phil -ein Held für viele Unterstützer des Datenschutzes- arbeitet als Sicherheitsexperte in Boulder, Colorado. Andere Programmierer aus der ganzen Welt haben an den nachfolgenden PGP Versionen und Benutzungsoberflächen mitgeholfen.
PGP benutzt das RSA23 Public-Key Verschlüsselungssystem. RSA wurde 1977 von seinen Erfindern vorgestellt: Ronald Rivest vom MIT, Adi Shamir vom Weizmann Institute in Israel und Leonard Adelman vom USC. Nach den Anfangsbuchstaben der Nachnamen dieser Leute wird es "RSA" genannt. PGP verwendet außerdem ein Verschlüsselungssystem namens IDEA welches 1990 von Xuejia Lai und James Massey entwickelt wurde.
GnuPG ist eine von Werner Koch aus Düsseldorf entwickelte Verschlüsselungs-Software. GnuPG wird von Sicherheitsexperten in aller Welt als eines der derzeit besten Verschlüsselungssysteme anerkannt.
Das Besondere an GnuPG:
GnuPG implementiert den OpenPGP-Standard, der als Erweiterung von PGP den derzeitigen de-facto-Standard im Internet darstellt.
GnuPG ist ein offizielles GNU-Projekt und freie Software unter der GNU General Public License (GNU GPL).
Leute, die Wert auf ihre Privatsphäre legen; Politiker, die Wahlkampagnen durchstehen; Steuerzahler, die ihre Steuererklärung abspeichern; Ärtze, die Patientendaten schützen; Unternehmer, die Firmengeheimnisse wahren müssen; Journalisten, die ihre Informanten schützen, und Menschen, die Kontakte suchen, sind nur einige wenige der gesetzestreuen Bürger, die PGP benutzen, um ihre Dateien und eMail geheim zu halten.
Geschäftleute benutzen ebenfalls PGP. Stell Dir vor, Du bist ein Geschäftsführer und mußt per eMail einen Angestellten nach seinem Vorankommen befragen. Du könntest gesetzlich verpflichtet sein, diese eMails geheimzuhalten. Stell Dir vor, Du bist eine Verkäuferin und Du mußt mit Deiner Zentrale über ein öffentliches Computernetzwerk hinweg, Deine Kundenliste pflegen. Deine Firma und der Gesetzgeber kann fordern, daß diese Liste geheim bleibt. Dies sind nur einige wenige Gründe weswegen im Geschäftsleben Verschlüsselung zum Schutz der Kunden, der Angestellten und der Firmen selbst eingesetzt wird.
PGP hilft auch bei sicheren Finanzübertragungen. Bspw. die Electronic Frontier Foundations (EFF) benutzt PGP zur Verschlüsselung von Mitgliedernummern, so daß die Mitglieder per eMail ihre Beiträge bezahlen können.
Thomas G. Donlan, ein Redakteur bei Barron's (einer Finanzpublikation, die zum The Wall Street Journal gehört), schrieb ein ganzseitiges Editorial am 25.April 1994. Barron's übertitelte es mit "Privacy and Security: Computer Technology Opens Secrets, And Closes Them." (Datenschutz und Datensicherheit: Computertechnik öffnet Geheimnisse und verschließt sie)
Mr. Donlan schrieb (auszugsweise):
"RSA Data Security, the company founded by the three inventors, has hundreds of satisfied customers, including Microsoft, Apple, Novell, Sun, AT&T and Lotus. Versions of RSA are available for almost any personal computer or workstation, many of them built into the operating systems. Lotus Notes, the network communications system, automatically encrypts all it messages using RSA. Other companies have similar products designed around the same basic concept, and some versions are available for free on computer bulletin boards."
RSA Data Security, gegründet von den drei Erfindern, hat Hunderte von zufriedenen Kunden, zu denen auch Microsoft, Apple, Novell, Sun, AT&T und Lotus gehören. Implementationen von RSA stehen in fast jedem Personalcomputer oder Workstation zur Verfügung, oft ins Betriebssystem eingebaut. Lotus Notes, das Netzkommunikationssystem, verschlüsselt automatisch alle Nachrichten mit RSA. Andere Firmen haben vergleichbare Produkte, entwickelt nach dem gleichen Prinzip, und einige Versionen sind in Mailboxen frei verfügbar.
Donlan fährt fort:
"Without security, the Internet is little more than the world's biggest bulletin board. With security, it could become the information supermarket of the world. RSA lets people and banks feels secure putting their credit-card numbers on the public network. Although it still seems that computers created an age of snoopery, the age of privacy is at hand."
Ohne Sicherheit ist das Internet nicht viel mehr als die weltgrößte Mailbox. Mit Sicherheit kann es der Informationssupermarkt der Zukunft werden. RSA gestattet es Menschen und Banken, sich bei der Angabe der Kreditkartennummer im öffentlichen Netz sicher zu fühlen. Obwohl es noch den Anschein hat, daß Computer ein Zeitalter der Schnüffelei begannen, liegt das Zeitalter der Privatsphären vor uns.
Deine Computerdateien (ohne Verschlüsselung) können von jedem gelesen werden, der Zugriff auf Deinen Rechner hat. EMail ist notorisch unsicher. Die typische eMail wandert über viele Systeme. Die Personen, die diese Systeme betreiben, können Deine Nachrichten lesen, kopieren und speichern. Viele Mitbewerber und Voyeure sind hochmotiviert eMail abzufangen. Eine geschäftliche, offizielle oder persönliche Nachricht mit dem Computer zu versenden, ist weniger geschützt als das gleiche auf einer Postkarte zu verschicken. PGP ist ein sicherer "Briefumschlag", der Mitbewerber und Kriminelle abhält, Dir zu schaden.
Zeig mir einen Menschen, der keine Geheimnisse vor seiner Familie, seinen Nachbarn oder seinen Kollegen hat und ich zeige Dir jemanden, der entwerder ein ungewöhnlicher Exhibitionist oder ein unglaublicher Dummkopf ist.
Zeige mir eine Firma, die keine Firmengeheimnisse hat und ich zeige Dir ein Geschäft, das nicht läuft.
In einem Brief schrieb mir ein Student folgendes:
"I had a part-time job at a dry cleaner. One day I returned a diamond ring that I'd found in a man's coat pocket to his wife. Unfortunately, it was NOT her ring! It belonged to her husband's girlfriend. His wife was furious and divorced her husband over this incident. My boss told me: 'Return jewelry ONLY to the person whose clothes you found it in, and NEVER return underwear that you find in pockets!' Until that moment, I thought my boss was a finicky woman. But she taught me the need for PGP."
Ich hatte einem einen Teilzeitjob als Reinigungskraft. Eines Tages brachte ich einen Diamantring, den ich in einer Manteltasche eines Mannes gefunden hatte, seiner Frau zurück. Unglücklicherweise war es NICHT ihr Ring! Er gehörte der Freundin ihres Mannes. Seine Frau wurde fuchsteufelswild und ließ sich wegen dieses Vorkommnisses scheiden. Mein Chef sagte mir: 'Gib Juwelen NUR der Person zurück, in deren Sachen Du es fandest. Und gib NIEMALS Unterwäsche zurück, die Du in einer Tasche fandest.' Bis zu diesem Moment dachte ich, mein Chef wäre eine engstirnige Frau. Aber sie lehrte mich die Notwendigkeit von PGP.
Geheimhaltung, Diskretion, Vertraulichkeit und Besonnenheit sind die Markenzeichen dieser Zivilisation.
Das nächste Mal, wenn Du jemanden das erzählen hörst, frag ihn, ob er Thomas Jefferson verbieten möchte, den "Vater der amerikanischen Kryptographie", der die amerikanische Unabhängigkeitserklärung schrieb.
Viele Regierungen, Firmen und Gesetzeshüter benutzen Verschlüsselung um ihre Operationen zu verstecken. Ja, einige Kirminelle benutzen auch Verschlüsselung. Kriminelle benutzen aber häufiger Autos, Handschuhe und Masken, um zu entkommen.
PGP ist "Verschlüsselung für die Massen". Es gestattet dem gesetzestreuen Durchschnittbürger einige der Schutzmaßnahmen, die die Regierungen und Firmen für sich beanspruchen.
PGP und GnuPG sind "öffentliche Schlüsselsysteme" (public key cryptography). Wenn Du PGP bzw. GnuPG das erste Mal startest, generiert es zwei "Schlüssel", die nur zu Dir gehören. Stell Dir diese Schlüssel wie ein Gegenstück zu den Schlüssel Deiner Tasche vor. Ein PGP-Schlüssel ist der geheime Schlüssel und bleibt auf Deinem Rechner. Der andere Schlüssel ist öffentlich. Du gibst diesen öffentlichen Schlüssel Deinen Gesprächspartnern. Hier ist ein Beispiel eines öffentlichen Schlüssels:
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.7 mQA9Ai2wD2YAAAEBgJ18cV7rMAFv7P3eBd/cZayI8EEO6XGYkhEO9SLJOw+DFyHg Px5o+IiR2A6Fh+HguQAFEbQZZGVtbyA8ZGVtb0B3ZWxsLnNmLmNhLnVzPokARQIF EC2wD4yR2A6Fh+HguQEB3xcBfRTi3D/2qdU3TosScYMAHfgfUwCelbb6wikSxoF5 ees9DL9QMzPZXCioh42dEUXP0g== =sw5W -----END PGP PUBLIC KEY BLOCK-----
Stell Dir vor, der öffentliche Schlüssel gehört zu Dir und Du mailst ihn mir. Ich kann Deinen öffentlichen Schlüssel in meiner PGP Software speichern und benutze Deinen öffentlichn Schlüssel, eine Nachricht zu verschlüsseln, die nur Du lesen kannst. Einer der Vorteile von PGP ist, daß Du mir diesen Schlüssel geben kannst, wie Deine Telefonnummer. Wenn ich Deine Telefonnummer habe, kann ich Dich anrufen; aber ich kann Dein Telefon nicht abheben. Ähnlich ist es mit dem öffentlichen Schlüssel: Ich kann Dir eine Nachricht verschlüsseln; Ich kann sie aber nicht lesen.
Dieses Konzept des public-key Schlüssels kann anfangs etwas seltsam klingen. Trotzdem wird es völlig klar, sobald Du etwas mit PGP rumspielst.
Vielleicht kann die Regierung oder Deine Schwiegermutter PGP Nachrichten "knacken", indem sie Supercomputer oder Genialität einsetzt. Davon habe ich keine Ahnung. Drei Dinge sind jedoch sicher:
Hervorragende Kryptoanalytiker und Computerexperten haben vergeblich versucht, PGP zu knacken.
Wer auch immer nachweist, daß er PGP enträtselt hat, wird schnell zu Ruhm unter den Kryptographen kommen. Er wird viel Beifall ernten und eine Menge Geld angeboten bekommen.
Die PGP Programmierer werden es sofort bekanntgeben.
Fast täglich verbreitet jemand eine Nachricht, wie "PGP durch Jugendlichen aus Omaha geknackt". Bezweifle diese Aussagen. Die Welt der Kryptographie zieht Paranoiker, Provokateure und Aliens in ihren Bann.
Bis heute hat niemand öffentlich vorgeführt, PGP überlistet oder geknackt zu haben.
PGP ("Pretty Good Privacy") ist ein Produkt aus den USA und unterliegt der amerikanischen Gesetzgebung, beispielsweise den Exportbeschränkungen. Somit ist es in Europa nicht für alle Einsatzgebiete geeignet.
PGP wird zwar derzeit mit Quelltext ausgeliefert, aber dieser Quelltext ist nicht vollständig, und es gibt keine Garantie, daß dies auch in Zukunft so bleiben wird. PGP ist daher keine freie Software.
Desweiteren unterstützen aktuelle Versionen von PGP Optionen zur Einrichtung von Drittschlüsseln. Viele Anwender haben dadurch das Vertrauen in diese Software verloren.
GnuPG bietet de facto alle gängigen Verschlüsselunsmethoden an, die auch PGP bietet. GnuPG untersteht der GNU Public License (mehr Information im Internet unter http://www.gnu.org), dh.:
Jeder hat das Recht, freie Software nach eigenem Ermessen zu nutzen. Dies schließt kommerzielle Nutzung ausdrücklich ein.
Der Quelltext muß jedem Benutzer offengelegt sein.
Der Benutzer hat das Recht, die Software zu modifizieren und in modifizierter Form weiterzuverteilen. Diese steht dann automatisch auch unter der GNU Public License
In Anlehnung an die SSH-FAQ40 soll ein Überblick über den Einsatz und die Technik von SSH gegeben werden.
Alles, was ein Rechner ins Netz schickt, kann prinzipiell von allen anderen Rechnern im gleichen Netzsegment gelesen werden. Das ergibt sich aus der Funktionsweise von Ethernet. Im Fall der Wohnheimnetze umfaßt das Netzsegment alle Rechner im HaDiKo, Waldhornstraße und Wachterbau. Selbstverständlich ist das Abhören fremder Daten per Benutzerordnung verboten, technisch verhindern läßt es sich aber mit der derzeit eingesetzten Netztechnik nicht.
Daher muß man sich bei der Benutzung von Netzdiensten Gedanken machen, welche Gefahren die Abhörbarkeit mit sich bringt. Besonders kritisch in dieser Hinsicht sind jede Art von Passwörtern: wer sich in den Besitz eines gültigen Accountname/Passwort-Paars bringt, kann damit auf fremden Rechnern beliebigen Unfug treiben, für den sich der legitime Inhaber des Accounts dann am Ende noch verantworten muß. Ein normales Telnet, FTP mit Passwort und andere Standarddienste übertragen immer Passwörter im Klartext und stellen damit ein beträchtliches Risiko dar.
Es sollte deswegen ein vorrangiges Ziel sein, niemals Passwörter im Klartext über das Netz zu senden.Dieses Ziel läßt sich mit passender Software erreichen. Grundsätzlich sind folgende Möglichkeiten dafür denkbar:
Verwendung von Einmalpasswörtern;
Authentifizierung mit Challenge-Response-Verfahren;
Verschlüsselung des gesamten Datenverkehrs.
Methode (1) ist sehr unbequem zu benutzen und
benötigt spezielle Login-Programme etc. Sie wird hier
nicht weiter betrachtet.
(2) und (3) hängen eng zusammen, da teilweise die gleichen
Verfahren verwendet werden. Verschlüsselung des gesamten
Traffics ist allgemeiner und schützt auch gegen
Ausspähen der Nutzdaten.
Ein spezieller, in letzter Zeit bekannt gewordener Angriff
erlaubt es unter bestimmten Bedingungen, eine bestehende
Verbindung (z.B. Telnet-Login) auf einen anderen Rechner
umzuleiten. Diese Bedingungen sind im Wohnheimnetz
erfüllbar. Dagegen schützt nur Methode
(3).
Das Softwaresystem ssh(Secure Shell) implementiert die Methoden (2) und (3). Seine Verwendung ist auf allen Rechnern, wo die Software verfügbar ist (momentan Unix, OS/2, Amiga, Macintosh und Windows), dringend angeraten. Auf den Unix-Rechnern von Uni-Rechenzentrum und IRA ist ssh normalerweise standardmäßig installiert.
ssh bietet hinreichend allgemeine Möglichkeiten, um die meisten Netzdienste über verschlüsselte Kanäle ablaufen zu lasssen. Bei richtiger Konfiguration und konsequenter Anwendung ist es möglich, einen Rechner am Netz so zu betreiben, daß kein unverschlüsseltes Paket mehr den Rechner verläßt. (Abgesehen von nicht sicherheitsbedenklichen Daten wie Nameserveranfragen, etc.)
ssh ist als "plug-in-compatible" zu den Standard-Unix-Programmen rsh und rlogin konzipiert. Mit diesen kann man sich auf anderen Rechnern einloggen oder direkt Programme starten. Dabei muß man kein Passwort eingeben, wenn auf dem Zielrechner konfiguriert ist, von welchen IP-Adressen Verbindungen angenommen werden. Das ist sehr bequem, aber IP-Adressen sind generell fälschbar und damit zur Authentifizierung nicht geeignet.
Daher bietet ssh eine Reihe von Sicherheitsmechanismen, mit denen diesem Problem abgeholfen wird. Neben der Verschlüsselung des gesamten Datenstroms mit Stromchiffren werden Hosts und User mit dem RSA-Verfahren23 durch public keys abgesichert.
ssh bietet mehrere Möglichkeiten, wie sich der Benutzer dem Server gegenüber authentifiziert. Relevant sind insbesondere die Methoden "PasswordAuthentication" und "RSAAuthentication".
Passwort:
Dieses Verfahren wird dann verwendet, wenn eine Authentifizierung mit anderen Methoden nicht klappt. Dabei fragt der ssh-Client das Userpasswort in konventioneller Weise ab, schickt es aber verschlüsselt zum Server. Der Server wiederum behandelt das Passwort in der gewohnten Weise. Damit ist das Verfahren genauso zu handhaben wie telnet, aber sicherer - kein Abhören möglich.
RSA23:
Wirklich interessant ist die RSA-Authentifizierung. Dabei wird der RSA-Public-Key-Algorithmus verwendet: der Benutzer besitzt einen geheimen Schlüssel und der Host, auf dem er sich einloggen will (Zielhost) den dazugehörigen öffentlichen Schlüssel. Wie bei der Verifikation einer PGP-Signatur kann der Server feststellen, ob der geheime Schlüssel stimmt, ohne daß direkt brauchbare Klartextdaten übertragen werden. Es ist möglich, mit einem geheimen Schlüssel Zugriff auf mehreren Accounts zu erlauben, indem man den öffentlichen Schlüssel kopiert. Das macht das Verfahren sehr bequem in der Handhabung - ein Passwort muß weder gemerkt noch eingegeben oder regelmäßig geändert werden, es sei denn der geheime Schlüssel ist selber passwortgesichert.
Die Handhabung erfolgt so: zuerst erzeugt man sich mit
dem Programm
ssh-keygen
ein Schlüsselpaar. Das wird
(auf Unix-Systemen) normalerweise in den
Dateien
~/.ssh/identity
und
~/.ssh/identity.pub
gespeichert.
Letzteres ist der öffentliche Schlüssel. Er hat die
Form einer Textdatei, die aus einer langen Zeile
besteht.
Auf jedem Zielhost kopiert man jetzt
die
identity.pub
-Datei in
~/.ssh/authorized_keys
. Ein Schlüssel
muß genau eine Zeile sein, ggf. automatischen
Zeilenumbruch im Editor deaktivieren. Der geheime
Schlüssel darf natürlich nicht kopiert werden! Ein
öffentlicher Schlüssel in
authorized_keys
bedeutet: Erlaube dem
Inhaber des zugehörigen geheimen Schlüssels Zugriff
auf diesen Account. Die Erlaubnis wird widerrufen, indem man
die Zeile mit dem öffentlichen Schlüssel
löscht.
Mit
ssh-keygen
kann der geheime Schlüssel
zusätzlich passwortgeschützt werden. Dann muß
man die hier definierte "Passphrase" bei jedem Zugriff auf den
geheimen Schlüssel eingeben. Das ist wiederum unbequemer,
aber schützt davor, daß der geheime Schlüssel
in falsche Hände gerät.
Wenn ein geheimer Schlüssel unberechtigt kopiert
wurde oder auch nur der Verdacht besteht, ist es - anders als
bei PGP - ohne Umstände möglich, einen neuen
anzulegen. Man muß nur darauf achten, daß man den
alten öffentlichen Schlüssel aus
allen
authorized_keys
-Files
entfernt.
ssh bietet das Kommando "scp" als plug-in-compatible zu rcp an. Damit lassen sich Files einfacher als mit FTP zwischen zwei Rechnern kopieren, wobei automatisch ssh verwendet wird. Anwendung wie in diesen Beispielen:
scp -p *.html rzstud1:.public_html
scp s_newuser@iraul1.ira.uka.de:perl-examples.ps ./misc
Weitere Erläuterungen sind in der Manpage.
Gleichzeitig mit der Login-Funktion arbeitet ssh auch als TCP-Proxy. Beim Aufruf des ssh-Befehls kann man beliebig angeben, daß TCP-Verbindungen auf bestimmten Ports der einen Seite auf Verbindungen auf der anderen Seite umgelenkt werden sollen. Dabei kommt zwischen beiden wiederum ein verschlüsselter Kanal zum Einsatz.
Eine solche Umlenkung wird mit den
Kommandozeilenoptionen
-L
bzw.
-R
im ssh-Aufruf aktiviert. Dann passiert
folgendes:
-Lport1:host:port2
Verbindungen auf den Port
port1
des Clients werden vom Server auf den
Port port2
des
Hosts host
vorgenommen
-Rport1:host:port2
Verbindungen auf den Port
port1
des Servers werden vom Client auf den
Port port2
des
Hosts host
vorgenommen
Ein Beispiel: mit
ssh rzstud1
-L9876:mailhost.rz.uni-karlsruhe.de:25
erreicht man folgendes: bei jedem Verbindungsaufbau auf Port 9876 des Client-Rechners wird rzstud1 eine Verbindung auf Port 25 (SMTP) des Mailhosts aufbauen und mit dem Client-Rechner koppeln. Das bedeutet, wer auf Port 9876 des Clients connected, bekommt eine SMTP-Verbindung zum Mailhost, die zwischen dem Client und rzstud1 verschlüsselt abläuft (zwischen rzstud1 und Mailhost dann unverschlüsselt). Dabei sieht der Mailhost allerdings nur rzstud1 als seinen Client. Weitere Anwendungsbeispiele finden sich unten.
Ein Sonderfall ist in ssh fest eingebaut, der die Bedienung sehr bequem macht: wenn man ssh aus einer X11-Session aufruft (DISPLAY ist gesetzt), dann wird eine Umlenkung für X11 aktiviert und gleichzeitig auf dem Zielhost DISPLAY und xauth passend gesetzt. Damit ist ohne weiteres Zutun der Aufruf von X11-Programmen sofort möglich, und das richtige Display wird benutzt.
Es ist zu empfehlen, X11-Verbindungen nur über ssh
laufen zu lassen und niemals DISPLAY unbesehen umzusetzen, da
das X11-Protokoll sehr unsicher ist.
Niemals sollte man
mit xhost
Zugriff auf ein Display erlauben.
X-Displays sollten immer so konfiguriert werden, daß sie
mindestens "Magic Cookie"-Autorisierung
verwenden.Das gilt auch außerhalb der
Wohnheimnetze.
Un*x-Client
In der Datei
/etc/ssh_config
finden sich Parameter
für ssh. Das meiste, was standardmäßig
eingestellt ist, funktioniert so. Man kann allerdings etwas
optimieren. Ich verwende folgende
Einstellungen:
# Site-wide defaults for various options
Host *
ForwardAgent no
ForwardX11 yes
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
FallBackToRsh no
UseRsh no
IdentityFile ~/.ssh/identity
Port 22
Cipher blowfish
EscapeChar none
KeepAlive no
Damit wird einiges, was ich nicht brauche, z.B. die rhosts-Authentikation, oder was ich unter keinen Umständen haben will (FallBackToRsh) gar nicht erst versucht. Als Verschlüsselung sollte man "blowfish" wählen, das ist am schnellsten. "arcfour" ist in neueren ssh-Versionen wegen eines potentiell die Sicherheit gefährdenden Fehlers deaktiviert.
Vor(!) dieser Defaulteinstellung können hostspezifische Optionen stehen, z.B. abgekürzte Hostnamen, Usernamen...:
Host rzstud1
HostName rzstud1.rz.uni-karlsruhe.de
IdentityFile ~olaf/.ssh/identity
User uknf
Ansonsten lese man sich die Manpage zu ssh durch, da ist eigentlich alles Notwendige zu finden.
Un*x-Server
Wer die Möglichkeit haben will, sich von außen
(von anderen Rechnern im Netz oder auch aus der Uni) auf seinem
eigenen Rechner einzuloggen, sollte den
sshd
aus einem der zahlreichen
Initialisierungs-Skripts starten. Ich empfehle, ihn direkt nach
dem inetd
einzutragen, da
paßt er systematisch hin.
Analog zum Client gibt es auch für den ssh-Server
eine Konfigurationsdatei
/etc/sshd_config
. Die sieht bei mir
so aus:
# This is ssh server systemwide configuration file.
Port 22
ListenAddress 0.0.0.0
HostKey /etc/ssh_host_key
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 7200
PermitRootLogin yes
QuietMode no
FascistLogging no
PrintMotd yes
SyslogFacility AUTH
RhostsAuthentication no
RhostsRSAAuthentication yes
RSAAuthentication yes
PasswordAuthentication yes
Wichtig: RhostsAuthentication
unbedingtauf "no" stellen. Außerdem
im
/etc/inetd.conf
den telnetd, rlogind,
rshd und rexecd (und auch den ftpd, es sei denn, man betreibt
einen Anonymous-FTP-Server) auskommentieren. Diese nehmen
Passwörter im Klartext über das Netz
an.
Weitere Informationen gibt es auch im SSH-FAQ.
Sämtliche Netzdienste, die eine Benutzeridentifikation mit Passwort benötigen, sollten nur über eine ssh-Verbindung benutzt werden. Das ist gar nicht schwer, sobald man es verstanden hat.
POP
(Bitte diesen Abschnitt auch lesen, wenn man selber kein POP verwendet, da die grundlegende Technik der Portumlenkung an diesem Beispiel erläutert wird.)
Mail mit POP zu verarbeiten, ist bequem und daher recht beliebt (und in den Standard-Mailprogrammen mancher Systeme eingebaut), stellt aber ein erhebliches Sicherheitsproblem dar. POP verlangt die Angabe des eigenen Account-Passwortes, das im Klartext übertragen wird (abgesehen davon, daß die Mail selber ebenfalls im Klartext durchs Netz geht). POP arbeitet auf einer einzelnen TCP-Verbindung zu einem bekannten Port und ist dadurch sehr einfach mit ssh zu sichern, so daß dieses Problem nicht mehr auftritt. Mit folgendem Befehl:
ssh rzstud1 -L110:poprzstud:110
wird eine Portumlenkung auf dem lokalen Rechner
aktiviert. Der Parameter
-La:b:c
sagt dem ssh-Client, daß
jede Verbindung auf den Port a der lokalen Maschine auf den
Port c der Maschine b weitergeleitet werden soll. Im Beispiel
bedeutet das also, daß der lokale Port 110 auf Port 110
(POP3) auf der Maschine
poprzstud
umgeleitet wird. Diese
Weiterleitung benutzt einen verschlüsselten
Kanal.
Da man jetzt den lokalen POP-Port so belegt hat,
daß Zugriffe darauf auf den POP-Port der rzstud1
weitergeleitet werden, kann und sollte man
localhost
als POP-Server konfigurieren.
Dann muß man allerdings immer den oben genannten
ssh-Befehl laufen haben, während man seine Mail liest -
wenn er beendet wird, wird auch die Portumlenkung
beendet.
Das gleiche Verfahren funktioniert mit allen Diensten, die auf einer einzigen TCP-Verbindung zu einer bekannten Portnummer basieren, also allen, die prinzipiell auch mit "telnet host port" angesprochen werden können. Beispiele für diese Dienste sind SMTP, aber auch telnet (als Notnagel für Maschinen, die noch keinen sshd haben).
Da die Umlenkung über einen Uni-Rechner läuft, kann es sich dabei auch um Maschinen außerhalb der Uni handeln. Mehr zu diesem Thema weiter unten.
Nicht-anonymes FTP
FTP paßt leider nicht in das im letzten Absatz beschriebene Schema, da für einen FTP-Transfer mehrere Verbindungen auf vorher nicht bekannten Nummern geöffnet werden müssen. Anonymes FTP enthält genau wie normale WWW-Zugriffe per se erst einmal keine kritischen Daten; relevant wird das aber bei Zugriffen mit Passwort, wie beim Transfer von Daten zwischen lokalem Rechner und Uni-Account.
Hierzu ist die beste Methode, ganz auf FTP zu verzichten und scp aus dem ssh-Paket zu benutzen, wo immer möglich. Eine allgemeine Lösung für FTP gibt es leider nicht. Als Notnagel könnte man SOCKS über ssh benutzen (s.u.), dann aber auch innerhalb der Uni! Ein HTTP-Proxy sollte für diesen Zweck ebenfalls nicht verwendet werden: das Passwort ist Bestandteil der URL und landet im Logfile des Proxy-Servers...
Sonstige
Mail verschickt wird mit SMTP (Port 25). Jede Mail, die wirklich niemand mitlesen soll, sollte eigentlich mit PGP verschlüsselt werden. Zumindest innerhalb des Wohnheimnetzes läßt sich aber das Mitlesen auf dem Netz mit einer ssh-Umlenkung des SMTP-Ports auf den Uni-Mailserver (nicht den HaDiKo-Mailserver!) verhindern.
Manche per HTTP zu erreichenden Dienste brauchen die
Eingabe eines Passworts oder sonstiger geheimer Daten.
Dafür sollte man den betreffenden Host auf einen
beliebigen lokalen Port umlenken und in der
URL
localhost:
portstatt des
Original-Hosts verwenden:
aus
http://www.foo.com:80/path/doc.html
wird
eine Umlenkung
-L8765:www.foo.com:80
und
die URL
http://localhost:8765/path/doc.html
An diesem Beispiel wird die Funktionsweise der Portumlenkung besonders deutlich, wenn man sie sich als Abbildung vorstellt:
http:// www.foo.com : 80 /path/doc.html
||||||||||| ||
ssh -L 8765 : www.foo.com : 80
|| ||||
http:// localhost : 8765 /path/doc.html
Man sollte beachten, daß die Benutzung eines HTTP-Proxys für solche Dienste grundsätzlich nicht zu empfehlen ist, da der Proxy prinzipiell die Passwörter loggen kann.
Für httpssind diese Verrenkungen nicht erforderlich, das Protokoll verschlüsselt selber (wenn auch die hierzulande erhältliche Software dafür nicht allzu sicher ist, die verwendeten 40-Bit-Schlüssel lassen sich mit genügend vielen Rechnern in ein paar Stunden knacken, wenn man es darauf ankommen läßt).
Welche Dienste man sonst noch benutzt, bei denen Passwörter verwendet werden, sollte man selber wissen...
Anmerkungen
Selbstverständlich erlaubt ssh die Angabe von
mehreren Portumlenkungen als
-Lport:host:port
-Argumente auf einer
Kommandozeile. Das können ruhig viele sein, der
zusätzliche Speicherbedarf fällt nicht ins Gewicht.
Am einfachsten schreibt man sich den Aufruf in ein kleines
Shellscript. Alternativ definiert man dafür
im
/etc/ssh_config
eine Pseudosite und
schreibt die zusätzlichen Argumente dort
rein:
Host relayer
HostName rzstud1.rz.uni-karlsruhe.de
IdentityFile ~foo/.ssh/identity
User ufoo
LocalForward 110 poprzstud.rz.uni-karlsruhe.de:110
# und weitere LocalForwards. Syntax beachten: nur ein Doppelpunkt
Dann reicht ein "ssh relayer" als Aufruf.
Wenn auf der lokalen Seite Ports im "reservierten"
Bereich (unterhalb von 1024) umgelenkt werden, muß man
den ssh-Client als root aufrufen. Für jeden Port kann
immer nur ein ssh-Prozess mit der Umlenkung aktiv sein, weitere
ssh-Clients können aber ohne die
-L
-Parameter gestartet
werden.
Bei neueren Versionen von ssh sind die lokal umgelenkten
Ports nur von
localhost
aus erreichbar. Dies verhindert,
daß andere Rechner im Netz die Umlenkung benutzen und
damit ihre Identität hinter dem Inhaber der Umlenkung
verstecken (und eventuellen Unfug ihm anlasten). Daher
muß man z.B. als POP-Server
localhost
und nicht den eigentlichen
Rechnernamen angeben. Wer mehrere Rechner hat und von allen
diesen aus die Umlenkung nutzen will, muß ssh mit dem
Parameter
-g
starten und unbedingt mittels
entsprechender Firewall-Regeln dafür sorgen, daß die
umgelenkten Ports aus dem restlichen Netz nicht erreichbar
sind.
Chipkarten sind miniaturisierte IT-Komponenten, meist in der genormten Größe einer Kreditkarte. Sie haben Eingang ins tägliche Leben gefunden, gewinnen zunehmend an gesellschaftlicher Bedeutung. Die derzeit bekannteste Chipkarten-Anwendung ist die Telefonkarte, die ein Guthaben enthält, das beim Gebrauch der Chipkarte in einem Kartentelefon reduziert wird, bis das Konto erschöpft ist und die Chipkarte unbrauchbar wird. Weitere Anwendungsbereiche von Chipkarten sind z. B. die Chipkarte im bargeldlosen Zahlungsverkehr und die SIM-Karten, die in Handys Verwendung finden.
Von der Technik her sind reine Speicherchipkarten zur Aufnahme von Daten (meist in Halbleiter-Technologie oder optischer Speichertechnik) von solchen Karten zu unterscheiden, in die Mikroprozessoren und speichernde Bauteile integriert sind. Solche Prozessorchipkarten sind als Kleinstcomputer ohne Mensch-Maschine-Schnittstelle anzusehen. Ihre Verwendung bedarf also zusätzlicher technischer Systeme zum Lesen der gespeicherten Daten, zum Aktivieren der Funktionen der Mikroprozessoren und zum Beschreiben der Speicher.
Wichtige Funktionalitäten der Chipkarten sind:
Chipkarten als Speicher von Daten, die hinsichtlich ihrer Vertraulichkeit und/oder Integrität hohen Schutzbedarf aufweisen (z. B. Kontodaten, medizinische Individualdaten, Personalausweisdaten, Führerscheindaten)
Chipkarten als Mittel zur Authentisierung ihres Trägers für die Gewährung des Zugriffs auf sicherheitsrelevante Daten und Funktionen (Kontoverfügungen, Führen von Telefongesprächen über Mobilfunknetze)
Chipkarten als Mittel zur Signatur von Dokumenten (Verträge, Willenserklärungen, Befunde etc.)
Chipkarten als Träger elektronischer Geldbörsen.
Um diesen Anforderungen gerecht zu werden verfügen Chipkarten über Sicherheitstechnologien, die den Schutz der Daten vor Mißbrauch gewährleisten sollen. Dabei muß auf folgende Gefahren eingegangen werden:
unbefugte Preisgabe von Informationen (Verlust der Geheimhaltung)
unbefugte Veränderung von Informationen (Verlust der Integrität)
unbefugte Änderung identifizierender Angaben (Verlust der Authentität)
Die Schutzfunktionen der Chipkarten-Software basieren auf den bekannten und teilweise standardisierten Algorithmen zur Verschlüsselung, Signatur und Generierung von Zufallszahlen. Dazu gehören symmetrische Verschlüsselungsalgorithmen wie DES, Triple-DES, IDEA und SC85 und asymmetrische Verfahren wie RSA, Signieralgorithmen wie DSS und RSA mit RipeMD160, Einwegfunktionen zur Berechnung des MAC und für das Hashing wie SHA und RipeMD160 sowie Zufallszahlengeneratoren. Auf die technische Realisierung soll an dieser Stelle nicht weiter eingegangen werden. Nähere Informationen dazu sind in der Quelle
http://www.tec.informatik.uni-rostock.de/RA/LfD-MV/ak_tech/tud/akt_chka.html
dargestellt.
[ALLGEMN]
http://www.thur.de/ulf/krypto/
[BEUTLSP]
Beutelspacher, Albrecht: Kryptologie. Braunschweig/Wiesbaden: Friedr. Vieweg & Sohn, 1996.
[CHIPCRD]
http://www.tec.informatik.uni-rostock.de/RA/LfD-MV/ak_tech/tud/akt_chka.html
[ENIGMA1]
http://www.geocities.com/CapeCanaveral/Hangar/4040/bombe.html
[ENIGMA2]
http://www.wadham.ox.ac.uk/~ahodges
[ENIGMA3]
http://www.unix-ag.uni-kl.de/~conrad/krypto/misc/enigma.html
[ENIGMA4]
http://www.cranfield.ac.uk/ccc/bpark/bombe.html
[ENIGMA5]
ftp://agn-www.informatik.uni-hamburg.de/pub/cryptsim/gifs
[GIESSMN]
Giessmann: Kryptologie SS96. TU-Berlin, Vorlesungsskript, 1996
[GNUPG1]
http://www.gnupg.de© GnuPG-Group
[KIPPHAN]
Kippenhan, Rudolf: Verschlüsselte Botschaften. Hamburg: Rowohlt Verlag, 1997. -ISBN 3 -498 -03495 -2
[KRPGSH1]
http://rhlx01.rz.fht-esslingen.de/projects/krypto/krypt_gesch/krypt_gesch.html
[KRPGSH2]
http://www.lexiter.com/misc/ps_crypto/highlights.html
[KRPGSH3]
http://rhlx01.rz.fht-esslingen.de/projects/krypto/krypt_gesch/krypt_gesch-2.html
[PGPFAQ1]
http://www.iks-jena.de/mitarb/lutz/security/Übersetzung © Lutz Donnerhacke
[PLAYFAR]
http://www.falcom.net/Kryptographie/playfair.html
[SGARRO]
Sgarro, Andrea: Geheimschriften. Augsburg:
Weltbild, 1991. -ISBN 3-89350-162-2
[SSHFAQ1]
http://sites.inka.de/sites/bigred/hadinet/ssh.html © Olaf Tietz
[TRANSPO]
http://www.informatik.tu-muenchen.de/~gerold/aktvorl9899/transpos.htm