Check Point FireWall-1 / VPN-1 NG AI
Check Point NGX


Die Standardwerke zur Administration von 
Check Point Next Generation with Application Intelligence
und Check Point NGX

Der nachfolgende Text ist eine Ergänzung zu den Büchern
"Check Point Next Generation AI", ISBN 3-936546-0-53
"Check Point NGX", ISBN 978-3-936546-37-8
Das Copyright liegt bei Dr. Matthias Leu sowie dem Computer & Literatur Verlag, Böblingen
Verwendung nur zu privaten Zwecken, Vervielfältigung verboten

 

Grundlagen der Kryptographie

Grundsätzliche Forderungen an Kryptosysteme

Angriffe gegen Verschlüsselungssysteme

Verschlüsselungsalgorithmen

Mit Hilfe von Verschlüsselungsalgorithmen werden Daten ver- und entschlüsselt. Ein Algorithmus ist ein mathematisches Verfahren, das vorschreibt, nach welchen Regeln die Umwandlung der Daten erfolgen soll. Die eigentliche Übertragung der Daten ist von den einzelnen Algorithmen unabhängig – hierfür sind die Protokolle zuständig.

Bei der Verschlüsselung wird grundsätzlich zwischen zwei Verfahren unterschieden: symmetrische und asymmetrische. Beide Verfahren haben ihre Vor-, aber auch Nachteile. Heute wird meist eine Kombination der beiden Verfahren angewendet.

Symmetrische Verschlüsselung

Ist allgemein von Verschlüsselung die Rede, ist auch heute noch meist ein symmetrisches Verfahren gemeint. Bis Mitte der siebziger Jahre waren lediglich symmetrische Verschlüsselungsalgorithmen bekannt. Sie arbeiten mit genau einem Schlüssel, der natürlich geheim sein und auch bleiben muß. Die Geschichte dieser Verschlüsselungsverfahren geht sehr weit zurück.

Sehr einfache Verfahren, die in der Geschichte oft angewandt wurden, sind beispielsweise ein simples Verschieben der Buchstaben des Alphabets. Heute sind solche Verfahren eher nicht mehr geeignet, den Zugriff auf Informationen zu sichern. Ein Klartext der Form

   heute gewinne ich im lotto

kann durch den Schlüssel "Verschiebe die Position dieser Buchstaben um fünf Stellen im Alphabet" ergeben:

   mjzyj ljbnssj lhm nr qtyyt

Einige Leser werden sich an ihre Schulzeit zurückerinnert fühlen, wo auf diese Art Geheimnisse verschlüsselt wurden. Einer von mehreren Schwachpunkten dieses Verfahrens ist, daß die ursprünglichen Worte noch ihre Original-Länge haben. Eine Verbesserung dieses Systems ist, wenn der Satz in gleiche Teile unterteilt wird. Dann wird aus dem Klartext

   heuteg ewinne ichim lotto

der schon nicht mehr so leicht lesbare Text

   mjzyjl jbnssj lhmnr qtyyt

Dieser Satz von Buchstabengruppen wird dann übertragen. Der Empfänger muß neben dem Verfahren lediglich den Schlüssel kennen, mit dem der Text verschlüsselt wurde. Er wendet diesen Schlüssel umgekehrt an, das heißt, er verschiebt die Buchstaben des Alphabets um fünf Stellen nach links und erhält so den Originaltext.

Der eigentliche Schwachpunkt dieser Methode ist, daß ein geübter Blick oft genügt, um diesen Schlüssel herauszufinden. Spätestens aber mit dem Einsatz von Computern und dem Wissen, wie die Buchstaben in der deutschen Sprache statistisch verteilt sind, ist das Erraten des Klartexts relativ leicht möglich.

Für die ernsthafte Verschlüsselung von Daten müssen also heute bessere Verfahren zum Einsatz kommen. Das Prinzip ist aber eigentlich noch immer dasselbe: Eine Rechenvorschrift wird auf den Klartext angewandt, diese kennt auch der Empfänger und kann daher aus dem verschlüsselten Text den Klartext berechnen. Die zwei hierfür notwendigen Teile sind

  • die Rechenvorschrift
    Oben war das Beispiel angeführt, daß die Buchstaben im Alphabet verschoben werden sollen. Mathematisch nennt sich dies Algorithmus.

  • der Schlüssel
    Die Angabe, daß die einzelnen Buchstaben um die Zahl fünf im Alphabet verschoben werden sollen, muß der Empfänger der Daten wissen.

Nur durch die Kombination von Algorithmus und Schlüssel ist der Empfänger in der Lage, aus den verschlüsselten Daten den Originaltext zu rekonstruieren. Heute herrscht zu Recht oft die Meinung, daß bei den komplexen mathematischen Verfahren der Algorithmus bekannt sein sollte und die Sicherheit lediglich durch die Geheimhaltung des Schlüssels erreicht wird. Ist nämlich der Algorithmus bekannt, können seine Sicherheitseigenschaften auch mathematisch bewiesen werden. Der Beweis, daß der Algorithmus sicher ist und keine Hintertüren in Form von "Generalschlüsseln" aufweist, kann also erbracht werden.

Bei der symmetrischen Verschlüsselung kommt also genau ein Schlüssel zum Einsatz. Mit ihm werden die Daten sowohl ver- als auch entschlüsselt. Vergleichbar ist das mit einem Türschlüssel, mit dem eine Tür sowohl ab- als auch aufgeschlossen werden kann. Verdeutlicht ist dies in Abbildung 1.

Abb.1: Symmetrische Verschlüsselung

Abbildung 1: Prinzip der symmetrischen Verschlüsselung

Heutige Verfahren bieten oft eine gute Sicherheit, sofern die Länge des Schlüssels groß genug ist. Die Ver- und Entschlüsselungsgeschwindigkeit ist im Vergleich mit asymmetrischen Verfahren sehr hoch. Je nach Algorithmus kann die Verschlüsselung auch durch spezielle Hardware vorgenommen werden. Damit sind Bearbeitungsraten zu erzielen, die für den Benutzer die kryptographische Bearbeitung der Daten unmerklich machen.

Ein Nachteil symmetrischer Verfahren ist die Frage des sicheren Transports des Schlüssels auf die Gegenseite. Mit Sicherheit wäre es beim Versand einer verschlüsselten E-Mail sehr gewagt, der verschlüsselten E-Mail eine weitere folgen zu lassen, in der ein entsprechender Schlüssel zum Entschlüsseln der vorhergehenden Mail geschickt wird. Hier müssen andere Verfahren greifen, die sicherer sind.

Als weiterer Nachteil kann die doch relativ aufwendige Verwaltung verschiedener Schlüssel gesehen werden. Natürlich soll die Kommunikation verschiedener Partner untereinander mit unterschiedlichen Schlüsseln gesichert werden. Insofern sind dann viele verschiedene Schlüssel notwendig.

Kommunizieren nur zwei Partner, reicht ein Schlüssel, der aber regelmäßig gewechselt werden muß. Zu groß ist die Gefahr, daß ein Angreifer den Schlüssel herausfindet und die dann folgende Kommunikation quasi im Klartext mitlesen kann. Bei der Beteiligung von drei Partnern sind drei verschiedene Schlüssel notwendig, da ansonsten der Datenverkehr zwischen zweien vom dritten mitgelesen werden könnte. Bei sieben Personen sind bereits einundzwanzig verschiedene Schlüssel notwendig und bei hundert schließlich 4.950 Schlüssel. Dazu kommt, daß diese Schlüssel regelmäßig gewechselt und auf einem sicheren Weg zum korrespondierenden Partner übertragen werden müssen.

Allgemein gilt, daß für n Personen n*(n-1)/2 verschiedene Schlüssel notwendig sind.

Im folgenden wird auf einige Verschlüsselungsalgorithmen eingegangen, ohne die Mathematik zu stark zu strapazieren. Es werden auch einige Verfahren kurz genannt, die von der Check Point Next Generation nicht unterstützt werden.

Data Encryption Standard, DES

DES wurde Anfang bis Mitte der Siebziger Jahre in den USA entwickelt und ist noch heute im Einsatz. Unter der Federführung von IBM und der National Security Agency (NSA) der USA wurde dieser Algorithmus mit einer effektiven Schlüssellänge von 56 Bit entwickelt. Genau genommen handelt es sich um einen Schlüssel von 64 Bit Länge – aber aufgrund der Methode sind nur 56 Bit zufällig und daher als die eigentliche Schlüssellänge zu betrachten. Das Verfahren ist offengelegt, im Prinzip kann jeder nachprüfen, ob sich im Algorithmus selbst eine mögliche Hintertür befindet. Insofern hängt die Sicherheit wie bei jedem guten Verfahren nicht von der Geheimhaltung des Algorithmus, sondern lediglich von der Geheimhaltung des Schlüssels ab.

Bei DES handelt es sich um eine Blockchiffrierung. Das bedeutet, die zu verschlüsselnden Daten werden in einzelne Blöcke aufgeteilt. Bei DES ist die Größe der einzelnen Blöcke 64 Bit, die durch einen Schlüssel mit einer Länge von auch 64 Bit verschlüsselt werden. Hierzu erfolgt die Aufteilung des Blocks in 8 Byte. Vom Algorithmus her ist für jedes Byte ein Paritybit vorgesehen, wodurch sich eine effektive Länge des Schlüssels von 56 Bit ergibt. Diese Länge wurde zu der Zeit, als DES entwickelt wurde, als sicher angesehen. Heute ist sie aufgrund der sehr hohen Rechenleistung und der Möglichkeit, verschiedene Rechner parallel zu schalten, nicht mehr sicher.

Positiv ist auf jeden Fall aber zu bewerten, daß es auch nach weit über zwanzig Jahren noch keinem gelungen ist, eine ernsthafte Hintertür zu finden. Dazu kommt, daß DES auch in Hardware realisierbar ist. Auch wenn es in Software ein Algorithmus ist, der sich für Echtzeitübertragungen nicht eignet, werden mit speziellen CPUs durchaus sehr hohe Ver- und Entschlüsselungsraten erzielt. Bis zu ein Gbit/Sek. sind derzeit mit speziellen Rechnern möglich. Auch mit dem Parallelschalten verschiedener Rechner ist die eigentlich mangelnde Schnelligkeit (zumindest auch für Angreifer) auszugleichen.

Neben der Schlüssel mit einer Länge von 56 Bit kommen auch heute noch kürzere Schlüssel zum Einsatz. Der Grund sind die ehemaligen Exportgesetze der USA, die den Export von Schlüsseln, die länger als 40 Bit sind, verboten. In den USA gilt eine gute Verschlüsselung und damit auch der Einsatz langer Schlüssel bei Verschlüsselungsverfahren als militärisches Gut. Insofern war der Export von Verfahren mit längeren Schlüsseln sehr langwierig, wenn nicht gar unmöglich. Zum Teil war der Export von Programmen mit 56 Bit auch nur dann gestattet, wenn die zu den über 40 Bit nutzbaren Schlüssel bei den US-Behörden hinterlegt wurden. Diese Probleme sind für Administratoren in Deutschland heute nicht mehr relevant – wohl aber für Administratoren in Frankreich. Hier galt lange, daß eine maximale Schlüssel-Länge von lediglich 40 Bit eingesetzt werden darf.

Für die Versionen mit Schlüsseln von 40 Bit gilt natürlich das eben für die 56 Bit genannte Problem von Brute-Force Angriffen erst recht. Gelang es erst 1998 beziehungsweise 1999, einen Text mit 56 Bit durch Brute-Force zu knacken (beispielsweise durch Spezial-CPUs oder hunderttausend parallel geschaltete PCs), ist heute ein Schlüssel mit 40 Bit durch einen heute handelsüblichen PC innerhalb von nur einem knappen Tag herauszufinden. Unternehmen, die schnellere Maschinen einsetzen, bräuchten hierzu etwa die Hälfte der Zeit. Durch den Einsatz von speziellen Maschinen mit den oben genannten Spezial-CPUs reduziert sich das Ausprobieren aller Schlüssel auf weniger als eine Minute. Das heißt, ein mit 40 Bit DES verschlüsselter Text kann im Extremfall innerhalb kürzester Zeit durch das Ausprobieren aller möglichen Schlüssel in Klartext umgewandelt werden. Daher ist es wichtig, daß die angewandten Schlüssel in regelmäßigen Abständen gewechselt werden. Dann muß der Angreifer mit seiner Brute-Force Methode von vorne anfangen.

Triple DES, 3DES

Das Problem kurzer Schlüssel wurde für DES erkannt und als Folge 3DES vorgestellt. Dabei handelt es sich um die dreifache Anwendung von DES, damit eben dieses Problem nicht mehr vorhanden ist. Bei 3DES kommen drei Verschlüsselungen hintereinander zum Einsatz. 

Genau genommen handelt es sich um eine Verschlüsselung mit dem ersten Schlüssel, eine Entschlüsselung mit dem zweiten, wobei danach mit dem dritten Schlüssel wieder verschlüsselt wird.

Dadurch wird eine höhere Sicherheit erreicht, kostet aber speziell in Software viel mehr Zeit: der (langsame) DES-Algorithmus wird dreimal nacheinander angewendet. Für Echtzeitsysteme ist dieses sichere Verschlüsselungsverfahren also auf keinen Fall geeignet.

Wenn im vorigen Absatz die Rede von dreifacher Verschlüsselung war, ist das bei 3DES tatsächlich so. Grundsätzlich wird zwischen zwei verschiedenen Möglichkeiten unterschieden. Bei der ersten erfolgt die Verschlüsselung der Daten nach dem Muster

   A - B - A

Dies bedeutet, daß die Daten zuerst mit dem Schlüssel A verschlüsselt werden. Für das Verschlüsseln des Ergebnisses wird Schlüssel B genommen, das wiederum mit dem ersten Schlüssel chiffriert wird. 

Von der Rechenrichtung her handelt es sich streng genommen um eine Entschlüsselung – natürlich nicht mit dem Ergebnis in Klartext, da beim erstmaligen Verschlüsseln ein anderer Schlüssel (A) angewandt wurde.

Damit muß ein Angreifer also beide Schlüssel kennen, um das Ergebnis im Klartext zu erhalten. Die effektive Schlüssellänge ist mit 112 Bit doppelt so lang wie beim einfachen DES, und die Zeit für das Ausprobieren aller Schlüssel ist um ein Vielfaches höher. Kryptographen sehen durch die doppelte Verwendung des Schlüssels A ein prinzipielles Problem, es könnten hieraus Schwachstellen resultieren. In dortigen Kreisen wird diese Verschlüsselung mit einer "Netto-Länge" von zirka 108 Bit bewertet. Aber auch dieser Wert ist im Vergleich mit dem einfachen DES sehr hoch.

Die zweite Möglichkeit, mit der 3DES angewandt werden kann, ist die Verwendung von drei grundsätzlich verschiedenen, nicht voneinander abhängenden Schlüsseln. Sie ist auch als

   A - B - C

darstellbar. Die Verschlüsselung erfolgt also mit drei verschiedenen Schlüsseln hintereinander. Ein Brute-Force Angreifer muß also zuerst Schlüssel C herausfinden, damit er danach die verschiedenen Schlüssel B (und schließlich die Schlüssel A) ausprobieren kann. Wie bei der vorherigen Methode auch, ist aber der richtige Schlüssel C nicht ohne weiteres erkennbar, da das (richtige) Ergebnis A – B auch verschlüsselt ist. Es bleibt ihm also nichts anderes übrig, als für jeden Schlüssel C alle möglichen Kombinationen der beiden anderen Schlüssel A und B auszuprobieren. Der Rechenaufwand hierfür ist immens: die effektive Schlüssellänge ist bei diesem Verfahren 168 Bit, womit also 2168 verschiedene Möglichkeiten bestehen, was relativ hohe Sicherheit gegenüber diesen Brute-Force Angriffen garantiert. Das Ganze kombiniert mit einem anerkannt sicheren Algorithmus bietet hier die gute Möglichkeit für eine wirklich vertrauliche Datenübertragung, auch über das Internet. 3DES kommt heute sehr häufig für Transaktionen im Finanzsektor zum Einsatz. Wegen der mangelnden Geschwindigkeit von in Software realisiertem DES ist die transparente Verschlüsselung in Echtzeit allerdings nicht möglich. Besonders gilt dies natürlich für 3DES, bei dem dieser Algorithmus dreimal hintereinander ausgeführt wird.

3DES wird von der heute in Deutschland üblichen Version Strong von NG unterstützt. Diese Version bietet die volle Schlüssellänge von 168 Bit und ist inzwischen ohne weitere Probleme oder Anträge verfügbar. Sofern viele mit 3DES verschlüsselte Verbindungen über die Firewall zu erwarten sind, empfiehlt sich die Anschaffung der sog. Accelerator Card. Hier wird die Verschlüsselung in speziell dafür entwickelte Hardware ausgelagert und die Firewall entsprechend entlastet.

Advanced Encryption Standard, AES

Dieser neue Algorithmus, der eigentlich Rijndael-Verschlüsselung heißt, wird von Next Generation voll unterstützt. Bei diesem neuen Verschlüsselungsverfahren, das in den USA den bisherigen Standard DES beziehungsweise 3DES ablöst, erfolgt die Verschlüsselung mit einem Schlüssel, der 128, 192 oder 256 Bit groß ist. Eine höhere Sicherheit gegenüber Brute-Force Angriffen ist also gewährleistet. Außerdem arbeitet dieses Verschlüsselungsverfahren ungefähr dreihundert Prozent schneller als DES in Software. Bei Next Generation ist dieses Verfahren sowohl für den sicheren Austausch von Schlüsseln, als auch für die Übertragung von Daten mit einer Länge von 128 oder 256 Bit einsetzbar.

Carlisle Adams und Stafford Tavares, CAST

Dieser auch noch recht neue Algorithmus wurde 1996 zum Patent angemeldet, weshalb derzeit seine Sicherheit noch nicht mathematisch bewiesen werden kann. Seine Designkriterien beruhen auf langjähriger Forschung, sein Prinzip ist dem von DES recht ähnlich. Er ist sogar soweit mit DES kompatibel, daß er als »Drop-In«-Ersatz für DES einsetzbar ist. Durch sein Arbeitsprinzip als Blockchiffrierer wäre er eigentlich potentiell wie andere Blockchiffrierer auch gegenüber der differentiellen und linearen Kryptoanalyse empfindlich, was aber durch das verwendete mathematische Prinzip verhindert wird. CAST erfüllt insgesamt sehr viele Sicherheitsmerkmale, so daß als einzige potentielle Gefahr Brute-Force Angriffe gelten können, was aber durch die heute übliche Schlüssellänge von 128 Bit abgemildert wird. Wegen seiner deutlich höheren Geschwindigkeit gegenüber DES ist CAST beziehungsweise CAST-128 auch für Echtzeitanwendungen geeignet.

Dieser Verschlüsselungsalgorithmus wird von den derzeitigen Versionen der VPN-1 mit einer Schlüssellänge von 40 beziehungsweise 128 Bit voll unterstützt.

International Data Encryption Standard, IDEA

Dieser Verschlüsselungsalgorithmus wurde an der ETH Zürich entwickelt und fiel daher niemals unter die früher herrschenden Exportbedingungen der USA. Er ist in gewissermaßen mit DES kompatibel, indem er nämlich ein Blockchiffrierer ist, bei dem die einzelnen Blöcke auch eine Länge von 64 Bit besitzen. Im Gegensatz zu DES werden sie allerdings mit einem Schlüssel mit einer Länge von 128 Bit verschlüsselt. Damit ist dieses Verfahren gegenüber Brute-Force Angriffen sehr sicher – das oben genannte Beispiel von Bruce Schneier verdeutlicht dies. Der Algorithmus ist veröffentlicht und seine Sicherheit kann mathematisch bewiesen werden. Gründe für mögliche Lücken oder das Kompromittieren von Daten, die mit diesem Verfahren verschlüsselt wurden, liegen eher weniger auf der technischen als auf der organisatorischen Ebene, wenn der Schlüssel "einfach so" auf der Festplatte gespeichert oder unsicher über ein Netzwerk übertragen wird.

Für die kommerzielle Nutzung dieses Verfahrens sind bis zum Jahre 2011 Lizenzgebühren zu entrichten. Check Point VPN-1 unterstützt dieses in Europa sehr weit verbreitete und schnell arbeitende Verschlüsselungsverfahren nicht.

Blowfish/Twofish

Ein weiterer Algorithmus, dar von der Check Point FireWall-1 zwar (noch) nicht unterstützt wird, aber inzwischen auch weit verbreitet ist, nennt sich Blowfish. Bruce Schneier veröffentlichte ihn vollständig Ende 1993/Anfang 1994. Damit handelt es sich also um einen relativ neuen Algorithmus. Seine Sicherheitseigenschaften sind also auch mathematisch untersuchbar. 

Bei der Umsetzung des Algorithmus in die Sprache C ist im ursprünglichen Buch von Bruce Schneier ein Tippfehler im Algorithmus, der von jemandem, der ihn einsetzen wollte, gefunden worden. Insoweit ist also die Veröffentlichung und Kontrolle von Algorithmen ein Faktor, der die Verschlüsselung selbst sicherer macht. Der Fehler in der genannten Veröffentlichung wird häufig als "Lücke in Blowfish" bezeichnet.

Er arbeitet so ähnlich wie DES und ist auch ein Blockchiffrierer mit Blöcken von 64 Bit Länge. Blowfish hat sich nach seiner Veröffentlichung sehr schnell verbreitet, was sicherlich auch daran liegt, daß er von Bruce Schneier, als einem der anerkannten Kryptographen, geschrieben wurde. Außerdem ist er frei von Lizenzgebühren nutzbar. Dazu kommt eine sehr hohe Geschwindigkeit für das Ver- und Entschlüsseln von Daten und seine Kompaktheit. Er ist ungefähr doppelt so schnell wie IDEA, DES übertrifft er in der Geschwindigkeit etwa um das Vierfache. Wird die Routine für Blowfish in Software implementiert, ist hierfür lediglich ein Speicherbedarf von weniger als fünf Kilobyte nötig. Die Länge der Schlüssel ist beliebig variabel, sie kann bis zu 448 Bit betragen. Damit ist dieser Algorithmus mit seinen maximal 2448 verschiedenen Möglichkeiten auch in Zukunft wirklich immun gegenüber Brute-Force Angriffe. Auch dieses Verfahren wird von den aktuellen Versionen der Check Point NG nicht unterstützt.

RC4 – Rivest Cypher 4 oder auch Ron's Code 4

Im Gegensatz zu den vorher genannten Algorithmen handelt es sich bei RC4 um einen Stromchiffrierer. Dies heißt, daß die Verschlüsselung Bit für Bit vorgenommen wird. Zuerst mag dieses wie ein Widerspruch erscheinen, da ein Bit lediglich die Werte 1 oder 0 annehmen kann. Der zu ver- oder entschlüsselnde Text in Binärform wird mit dem Binärcode mit einer XOR-Verknüpfung verbunden. XOR bedeutet, daß ein Ergebnis nur genau dann 1 ist, wenn nur einer der beiden zu verknüpfenden Werte 1 ist; sind beide gleich, ist das Ergebnis 0. Verdeutlicht wird dieses Prinzip zur Verschlüsselung der Stromchiffrierer durch Abbildung 2.

Verschlüsselung Übertragene Daten Entschlüsselung
Originalwerte Schlüssel Ergebnis Schlüssel Entschlüsselte Werte
0 0 0 0 0
0 1 1 1 0
1 0 1 0 1
1 1 0 1 1
1 1 0 1 1
0 1 1 1 0
1 0 1 0 1
1 0 1 0 1

Abbildung 2: Prinzip der Ver- und Entschlüsselung mit XOR

Auf der linken Seite sind die verschlüsselt zu übertragenen Daten in Binärform dargestellt. Sie werden mit dem Schlüssel mit XOR verknüpft, das Ergebnis ist die mittlere Spalte. Diese Daten werden übertragen, für einen Außenstehenden, der den Schlüssel nicht kennt, sind sie nicht interpretierbar. Der Empfänger kennt den Schlüssel und kann demzufolge diese Daten mit dem Schlüssel durch XOR verknüpfen – er bekommt die Originaldaten aus den übertragenen Daten. Das genannte Beispiel mit einer einfachen XOR-Verknüpfung kann problematisch sein, wenn als Daten nur oder sehr viele Bits mit dem Wert 0 vorliegen: der Schlüssel selbst wird dann (unverschlüsselt) übertragen. Daher kommen in der Praxis nur Verfahren zum Einsatz, die das wirksam verhindern. Das oben genannte Beispiel ist also nur zur Verdeutlichung des Prinzips sinnvoll...

Dieses Verfahren mit einer XOR-Verknüpfung ist sehr schnell, da es auf Bit-Ebene arbeitet. Daher ist es heute auch sehr weit verbreitet. Es gibt Stimmen, die RC4 auch als »Netscape-Algorithmus« bezeichnen. Dies hat nichts damit zu tun, daß Netscape diesen Algorithmus entwickelte – vielmehr wird er auch bei dem von Netscape entwickelten Secure Socket Layer, SSL, eingesetzt. Wegen dieses für die sichere Datenübertragung im World Wide Web eingesetzten Dienstes (HTTPS, 443/tcp) hat RC4 heute eine sehr weite Verbreitung, die sich wegen der Standardisierung von SSL nicht alleine auf die Browser von Netscape beschränkt. Alle gängigen Browser, also auch der Internet Explorer oder Opera, unterstützen SSL und damit auch RC4. Daneben kommt er auch in verschiedenen anderen Produkten und Protokollen zum Einsatz. Beispiele hierfür sind Lotus Notes, Oracle Secure SQL und andere.

Ron Rivest hat den Algorithmus nicht veröffentlicht, weil bei dessen Nutzung Lizenzgebühren an seine Firma RSA abgeführt werden müssen. Im Gegensatz zu anderen Verfahren ist also eine mathematische Überprüfung der Sicherheit nicht möglich. Ungefähr im September 1994 wurde zwar in der NewsGroup Cypherpunks anonym ein Algorithmus im Source Code veröffentlicht, der als RC4 bezeichnet wurde und es auch sein könnte – eine offizielle Bestätigung seitens RSA ist aber (natürlich) nie erfolgt.

FWZ-1

Die Check Point FireWall-1 beziehungsweise VPN-1 unterstützte bis einschließlich NG Feature Pack 1 neben DES und anderen Algorithmen auch FWZ-1. Hierbei handelt es sich um einen symmetrischen Algorithmus mit Schlüsseln von 48 Bit Länge. Diese galten auch früher als „exportierbar“, obwohl sie trotzdem in einigen Ländern nicht einsetzbar sind. Hier mußte gegebenenfalls eine Beschränkung auf 40 Bit DES berücksichtigt werden.

Dieser Algorithmus wurde von Check Point entwickelt und ist nach Wissen des Autors von Check Point nicht vollständig offengelegt. Es handelt sich hierbei wie RC4 um einen symmetrischen Stromchiffrierer, der eine 48 Bit lange sogenannte Seed als Startwert nutzt. Die am VPN beteiligten Gateways einigten sich über das Reliable Data Protocol (RDP, 259/udp) auf diesen gemeinsamen Startwert. Die eigentliche Verschlüsselung erfolgt mit einem Schlüssel, der weitere paketspezifische Parameter berücksichtigt.

 

Neben den hier genannten Algorithmen gibt es viele weitere, auf die hier aber nicht weiter eingegangen werden soll. Sie sind entweder nicht sehr weit verbreitet oder finden beim Aufbau von Virtuellen Privaten Netzwerken sehr wenig oder keine Anwendung. Ein Beispiel für einen solchen Algorithmus ist A5, der zwar im Telekommunikationsbereich sehr weit verbreitet ist, aber im Bereich verschlüsselter Datenübertragung im Netzwerkbereich so gut wie keine Rolle spielt.

Asymmetrische Verschlüsselung

Die Verwendung asymmetrischer Verschlüsselung ist erst seit Mitte der Siebziger Jahre bekannt. Sie wurde entwickelt von Ronald Rivest, Adi Shamir und Leonard Adleman. Eigentlich erschien ihnen der Einsatz asymmetrischer Verfahren als Widerspruch an sich. Es war damals schwer vorstellbar, daß für die Verschlüsselung und Entschlüsselung zwei verschiedene Schlüssel angewendet werden können. Der Geschichte nach war grundsätzlich eine Bemerkung von Donald Knuth der Auslöser, daß trotzdem (erfolgreich) versucht wurde, solche Verfahren zu entwickeln.

Donald Knuth wurde u.a. bekannt durch sein Werk "The Art of Programming" und die Entwicklung der Seitenbeschreibungssprache TEX, die auch heute noch relativ weit verbreitet ist, obwohl sie vom Anwender einiges Wissen verlangt.

Die asymmetrischen Verfahren zur Verschlüsselung von Daten basieren auf der obigen Bemerkung, in der lapidar festgestellt wurde, daß die Multiplikation großer Primzahlen sehr einfach ist, aber die Primzahlzerlegung sehr großer Zahlen sehr aufwendig.

Bevor jetzt aber zu sehr alles mathematisch wird, einige prinzipielle Betrachtungen zu asymmetrischen Verschlüsselungsverfahren. Grundsätzlich wird mit zwei Schlüsseln gearbeitet, einem Schlüsselpaar. Im täglichen Leben wäre dies mit Schlüsseln für Türen vergleichbar, wobei aber eine Besonderheit vorhanden ist. Bei diesen Verfahren passen zwei verschiedene Schlüssel in das Schloß. Mit dem einen Schlüssel läßt sich dieses Schloß abschließen – und nicht wieder öffnen. Hierzu ist der zweite Schlüssel notwendig. Nur mit ihm ist also das Aufschließen möglich.

Die beiden Schlüssel sind mathematisch miteinander verknüpft, sie korrespondieren miteinander. Grundsätzlich ist die Basis asymmetrischer Verschlüsselungsalgorithmen, daß einer dieser beiden Schlüssel geheim ist und bleibt. Der andere ist der sogenannte öffentliche Schlüssel, er kann jedermann zugänglich gemacht werden, ohne daß ein Sicherheitsrisiko besteht. Der geheime Schlüssel kann nicht aus dem öffentlichen Schlüssel abgeleitet werden.

Abb.3: Asymmetrische Verschlüsselung

Abbildung 3: Prinzip der asymmetrischen Verschlüsselung

Die asymmetrische Verschlüsselung kann grundsätzlich in zwei Richtungen genutzt werden. Die erste ermöglicht eine vertrauliche Datenübertragung, während die zweite für die Verifizierung des Absenders von Daten dient. Nachfolgend zwei Beispiele dafür, wie die asymmetrische Verschlüsselung prinzipiell funktioniert.

Vertrauliche Datenübertragung

Der öffentliche Schlüssel wird allen Personen zugänglich gemacht. Möchte Anwender 1 an Anwender 2 eine vertrauliche Nachricht schicken, besorgt sich dieser Anwender 1 den öffentlichen Schlüssel von Anwender 2. Die Nachricht wird von Anwender 1 mit dem öffentlichen Schlüssel verschlüsselt. Ein Entschlüsseln dieser Nachricht ist nicht möglich, da Anwender 1 den hierzu notwendigen geheimen Schlüssel von Anwender 2 nicht hat. Die so verschlüsselte Nachricht wird an Anwender 2 geschickt. Dieser kann die Nachricht entschlüsseln, da er den zum öffentlichen Schlüssel passenden geheimen Schlüssel hat.

Verifizierung des Absenders

Möchte Anwender 2 eine Nachricht an Anwender 1 schicken, sollte sichergestellt sein, daß diese Nachricht keine gefälschte E-Mail ist. Anwender 1 schreibt den Text und verschlüsselt ihn mit seinem geheimen Schlüssel. Kommt die Nachricht beim Empfänger an, kann er sie mit dem öffentlichen Schlüssel von Anwender 2 entschlüsseln und lesen. Damit ist gleichzeitig sichergestellt, daß die Nachricht mit dem geheimen Schlüssel des Absenders verschlüsselt wurde – also wirklich von ihm ist. Übrigens: Auch wenn die E-Mail verschlüsselt ist, besteht keine Vertraulichkeit dieser Nachricht! Sie kann von jedem, der Zugang zu dem passenden öffentlichen Schlüssel hat, entschlüsselt und gelesen werden – also prinzipiell von jedem. Dafür ist aber der Absender verifizierbar. Durch das Verschlüsseln hat er die Nachricht digital signiert, also unterschrieben.

 

Der öffentliche Schlüssel ist also prinzipiell für jeden verfügbar, während der geheime Schlüssel wie bei symmetrischer Verschlüsselung wirklich geheim ist und auch geheim bleiben muß. Insofern ist es eigentlich eine schlechte Idee, den geheimen Schlüssel beispielsweise auf der Festplatte eines Rechners zu speichern. Gerade bei den PC-Betriebssystemen ist dieses viel zu unsicher. Gute Umgebungen gestatten das Speichern auf der Festplatte nicht. Der geheime Schlüssel wird dann beispielsweise nur auf Diskette oder SmartCards gesichert.

Um einen weiteren Schutz für den geheimen Schlüssel zu haben, ist er bei guten Verschlüsselungssystemen auch nur nach der Eingabe eines längeren Paßworts zu nutzen. Dieses hat gleichzeitig den Effekt, daß beim Signieren von Nachrichten der Unterschreibende tatsächlich noch etwas tun muß (nämlich dieses Paßwort eingeben). Eine automatisierte Unterschrift, wie es sich einige Personen immer wieder wünschen, ist also nicht möglich.

Ein Beispiel für asymmetrische Verschlüsselungsalgorithmen ist RSA, das nach den drei eingangs genannten Wissenschaftlern benannt wurde. Es handelt sich bei diesem Verfahren heute um einen Quasi-Standard. Andere Algorithmen kommen heute kaum zum Einsatz. Die verwendeten Längen von Schlüsseln sind sehr hoch. Dies ist auch notwendig, da die Sicherheit hauptsächlich durch die Länge des Schlüssels erreicht wird. Das Rechenverfahren selbst ist eher einfach. Daher liegt die minimale Länge des Schlüssels bei 512 Bit. Diese Länge gilt heute als unsicher. Besser ist die Verwendung von Schlüsseln mit einer Länge von 768 Bit. Sie gilt als bedingt sicher und wurde bis noch vor kurzer Zeit im Bereich E-Business angewendet. Auch der alte HBCI-Standard arbeitete mit dieser Länge. Heute als sicher oder »vernünftig« angesehen sind Schlüssel mit einer Länge von 1.024 Bit. Wenn es sehr sicher sein soll, dies ist bei den nachfolgend vorgestellten Trust-Centern notwendig, werden 2.048 Bit angewendet. Einige Programme unterstützen inzwischen auch Schlüssel mit einer Länge von 4.096 Bit, das heißt, hier wird mit 4.096 Bit großen Zahlen gearbeitet! Schon eine Zahl mit 1.024 Bit hat ausgeschrieben eine Länge von 308 Stellen! Insofern ist es gut verständlich, daß sich auch Computer mit dem Rechnen solcher großen Zahlen etwas schwer tun.

Bei asymmetrischen Verschlüsselungsverfahren ist also der Nachteil der symmetrischen nicht vorhanden. Der Austausch von öffentlichen Schlüsseln zwischen zwei Partnern, die vertraulich Daten übertragen möchten, ist unproblematisch. Dafür wird bei diesen Verfahren aber mit extrem großen Zahlen gearbeitet, was die Geschwindigkeit einer Ver- beziehungsweise Entschlüsselung sehr langsam macht. Selbst eine heute als modern geltende CPU mit 6 4 Bit Rechenbreite benötigt für Rechenoperationen mit Zahlen von 1.024 Bit Länge oder mehr eine lange Zeit. Der Geschwindigkeitsunterschied liegt ungefähr beim Faktor 1.000, die asymmetrische Verfahren langsamer sind.

Kombination symmetrischer und asymmetrischer Verfahren

Die symmetrischen Verschlüsselungsverfahren haben den Vorteil, daß sie sehr sicher arbeiten können und auch großenteils eine hohe Ver- und Entschlüsselungsgeschwindigkeit bieten. Dafür ist der sichere Austausch der Schlüssel zwischen den einzelnen Partnern unter Umständen problematisch. Auf keinen Fall kann der gemeinsam verwendete Schlüssel im Klartext an den Partner geschickt werden. Jeder, der die Übertragung abhören kann, hat dann den gemeinsamen Schlüssel auch und kann den Datenverkehr ohne Probleme in Echtzeit verfolgen. Es könnten zur Abhilfe viele verschiedene Schlüssel generiert und auf anderem Wege verteilt werden, aber wie bereits bemerkt wurde, sind bei mehr als zwei oder drei Teilnehmern von Haus aus sehr viele Schlüssel zu erzeugen und sicher zu verteilen. Bei hundert Teilnehmern sind bereits 4.950 verschiedene Schlüssel notwendig – nur damit jede einzelne Verbindung mit einem eigenen Schlüssel gesichert ist. Müssen zehn verschiedene Schlüssel für jeden Teilnehmer vorgehalten werden, sind knapp fünfzigtausend Schlüssel zu verwalten. Das ist sehr aufwendig und kompliziert, was der Sicherheit für die einzelnen Schlüssel nicht zuträglich ist. Die Sicherheit steht und fällt also mit der Fähigkeit des Gateways, diese Schlüssel effektiv und sicher zu verwalten.

Aus dem genannten Grund werden heute sehr häufig die Vorteile der symmetrischen und asymmetrischen Verfahren kombiniert. Asymmetrische Verfahren sind zwar sehr viel langsamer als symmetrische Verfahren, haben aber den Vorteil, daß durch die Kombination des öffentlichen und geheimen Schlüssels keine Probleme durch den Schlüsselaustausch bestehen. Die in symmetrischen Verfahren verwendeten Schlüssel sind von der zu verschlüsselnden Datenmenge her klein, oben wurden Schlüssellängen von maximal 448 Bit genannt. Um eine solche Datenmenge zu verschlüsseln, sind auch bei den asymmetrischen Verfahren keine großen zeitlichen oder bemerkbaren Ver- und Entschlüsselungszeiten vorhanden. Die Kombination beider Verfahren bietet eine sichere Art, wie der gemeinsam benutzte geheime Schlüssel dem Partner übermittelt werden kann.

Abb.4: Kombination symmetrische/asymmetrische Verschlüsselung

Abbildung 4: Kombination von symmetrischer und asymmetrischer Verschlüsselung

Wie aus Abbildung 4 ersichtlich ist, wird zuerst der geheime Schlüssel des symmetrischen Verfahrens mit einem asymmetrischen Verfahren verschlüsselt und sicher an den Partner übertragen. Die Datenmenge, die mit dem asymmetrischen Verfahren bearbeitet wird, ist gering. Für die Verschlüsselung der eigentlichen sicher zu übertragenden Daten kommt ein schnelles symmetrisches Verfahren zum Einsatz. Ein Beispiel aus der Praxis wäre, daß beispielsweise der Schlüssel für IDEA mit dem öffentlichen Schlüssel des RSA verschlüsselt und dem Partner zugeschickt wird. Dieser entschlüsselt den IDEA-Schlüssel mit seinem geheimen RSA-Schlüssel. Damit haben beide Partner den gleichen IDEA-Schlüssel vorliegen, den sie für die Übertragung der vertraulichen Daten nutzen.

Einigung auf Schlüssel mittels Diffie-Hellman


Dieser Server wird gesponsert von
AERAsec Network Services and Security GmbH



Imprint and data privacy statement
zurück, Home

© 2003-2018, Dr. Matthias Leu und C&L

letzte Änderung: 04.01.08