|
Immer mehr Haushalte sind ans Internet angebunden und Nutzen Dienste wie E-Mail, Newsgroups
oder IRC, oder besuchen einfach nur die verschiedensten Webseiten. Aber die wenigsten Anwender
machen sich Gedanken, wie Ihre Daten über das Netzwerk übertragen werden. Für die Übertragung
von Informationen wird das TCP/IP-Protokoll verwendet, das bedeutet, die Daten werden gekapselt
und in Paketen versendet. Diese Pakete sind jedoch unverschlüsselt und können mit etwas
Knowhow von Dritten mitgelesen oder sogar modifiziert werden. Dies ist bei einer http-Anfrage
an einen Webserver vielleicht nicht ganz so kritisch, wie beim Online-Banking, allerdings
will man wahrscheinlich den Inhalt seiner E-Mails auch nicht unbedingt allen preisgeben.
Um die normalerweise im Klartext versendeten Daten zu schützen, gibt es diverse Methoden
der Verschlüsselung.
Verschlüsselung dient im Allgemeinen dazu, Daten im Klartext für unautorisierte Personen
unleserlich und damit nutzlos zu machen. Diverse Algorithmen verändern die
Zeichenfolge / Bitfolge so, das es annähernd unmöglich ist, auf den ursprünglichen
Zustand zu schließen.
Symmetrische Verschlüsselung
Beim symmetrischen Verschlüsselungsverfahren wird sowohl für die Ver- als auch für die
Entschlüsselung von Daten niemals der gleiche Key verwendet. Daher nennt man symmetrische
Verfahren auch "Ein Schlüssel Verfahren".
Man unterscheidet beim symmetrischen Verfahren zwischen Strom- und Blockchiffren:
Stromchiffren
Beim Stromchiffreverfahren wird auf den eigentlich "klaren Bitcode" der Nachricht / Datei etc,
ein zufällig generierter Bitcode mit aufaddiert, der sog. "Bitstrom". Wichtig hierbei ist,
dass niemals zweimal der gleiche Bitstrom für das verschlüsseln von 2 Nachrichten verwendet
wird. Damit dies nicht geschehen kann verwendet man spezielle Verfahrensweisen wie zum
Beispiel Synchronisierinformationen in Form eines Spruchschlüssels.
Blockchiffren
Die Blockchiffrierung dagegen verwendet jeweils ganze Zeichensätze, zurzeit 128 Bit lange,
in einem Verschlüsselungstakt.
Im laufe der Zeit sind einige Verfahren zur Blockchiffrierung standartirisiert worden :
- ECB (Elektronic Book Mode), hier werden die Blöcke jeweils einzeln für sich selbst verschlüsselt, ohne dabei Bezug auf die anderen Blöcke des Codes zu nehmen.
- CBC (Cipher Block Chaining Mode) / CFB (Cipher Feed-Back Mode); hier wird nach wahl eines Aktivierungsvektors eine Abhängigkeit der einzelnen Blöcke zu den jeweils vorher gehenden heregstellt.
- OFB (Output FeedBack Mode) welcher eine Blockung generiert welche dann, ähnlich dem Stromchiffre Modus, die Bits aus dem Strompool auf die "normalen Bits" aufaddiert werden.
Vorteile (guter) symmetrischer Verfahren
- Sie sind schnell, d. h. sie haben einen hohen Datendurchsatz.
- Die Sicherheit ist im wesentlichen durch die Schlüssellänge festgelegt, d. h. bei guten symmetrischen Verfahren sollte es keine Attacken geben, die wesentlich besser sind als das Durchprobieren aller Schlüssel (Brute-Force Attacken).
- Sie bieten hohe Sicherheit bei relativ kurzem Schlüssel.
- Die Schlüsselerzeugung ist einfach, da gewöhnlich als Schlüssel jede Bitfolge einer festen Länge erlaubt ist und als Schlüssel eine Zufallszahl gewählt werden kann.
Nachteile symmetrischer Verfahren
- Jeder Teilnehmer muss sämtliche Schlüssel seiner Kommunikationspartner geheim halten.
- Zur Schlüsselverteilung sind sie weniger gut geeignet als asymmetrische Verfahren, insbesondere bei einer großen Anzahl von Kommunikationspartnern.
- Für Verbindlichkeitszwecke sind sie weniger praktikabel als asymmetrische Verfahren, da bei der Verwendung symmetrischer Schlüssel nicht ohne weiteres erkannt werden kann, welcher der beiden Kommunikationspartner die Nachricht verschlüsselt hat. Dies lässt sich nur durch eine
- zwischengeschaltete dritte Partei sicherstellen, die über entsprechende kryptographische Protokolle in den Nachrichtenfluss eingebunden wird.
Asymmetrische Verschlüsselung
Anders als bei der symmetrischen Verschlüsselung, werden bei der asymmetrischen
Verschlüsselung zwei Keys verwendet. Dabei wird ein öffentlicher Public-Key und ein
privater Privat-Key generiert. Der Public-Key dient lediglich der Verschlüsselung. Er
kann also bedenkenlos jedem ausgehändigt werden, da mit ihm keine Entschlüsselung von Daten
möglich ist. Der Empfänger übermittelt also seinen Public-Key dem Sender. Dieser verschlüsselt
dan die zu sendenden Daten damit. Die verschlüsselten Daten (Chiffrat) können jetzt an den
Empfänger übermittelt werden. Beim Empfänger angekommen, werden diese Daten mit Hilfe des
Privat-Keys wieder entschlüsselt. Zwar stehen Public-Key und Privat-Key mathematisch in
Beziehung, es ist jedoch mit realistischem Aufwand nicht möglich, den Privat-Key aus dem
Public-Key zu errechnen.
Vorteile (guter) asymmetrischer Verfahren
- Jeder Teilnehmer einer vertraulichen Kommunikation muss nur seinen eigenen privaten Schlüssel geheim halten. Sie lassen sich einfach für digitale Signaturen benutzen.
Nachteile asymmetrischer Verfahren
- Sie sind langsam, d. h. sie haben im Allgemeinen einen geringen Datendurchsatz.
- Sicherheit: Für alle bekannten Public-Key-Verfahren gilt:
- Es gibt wesentlich bessere Attacken als das Durchprobieren aller Schlüssel, deshalb werden (im Vergleich zu symmetrischen Verfahren) relativ lange Schlüssel benötigt, um ein gleich hohes Maß an Sicherheit zu erreichen.
- Die Sicherheit beruht "nur" auf der vermuteten, aber von der Fachwelt anerkannten, algorithmischen Schwierigkeit eines mathematischen Problems (zum Beispiel die Zerlegung einer großen Zahl in die Primfaktoren).
- Die Schlüsselerzeugung ist i. allg. komplex und aufwendig, da die Erzeugung "schwacher" Schlüsselpaare vermieden werden muss.
|