... Sicherheit durch Struktur
Sie sind hier: Service Artikel Vortrag 18.06.2009 AGB | Impressum | Kontakt  
  • Unsere Leistungen
  • Service
    • Nachrichten
    • Artikel
      • Vortrag 18.06.2009
  • Seitenübersicht
Wir haben 107 Gäste online
Vortrag 18.06.2009 PDF Drucken E-Mail

Vortrag vom 18.06.2009
Thema: Sichere Kommunikation im Internet
Veranstalter: FLOSS Initiative
Ort: Gründer und Technologie Zentrum in Solingen, Grünewalder Str. 29 - 31
Vortragender: Jörg Zimmermann

Die Floss Initiative
Mit einer Reihe von Vortragsabenden möchte die FLOSS-Initiative Open-Source-Anwendern die Möglichkeit geben, sich in regelmäßigen Abständen zu treffen.
Unser Ziel ist es, in Solingen ein dauerhaft funktionierendes FLOSS-Zentrum aufzubauen, in dem sich Open-Source-Gruppen treffen können. Welche Vorteile ein solches Zentrum für die Stadt Solingen und die Solinger Wirtschaft entfalten kann, haben wir in zwei Thesenpapieren zusammengefasst.

Sichere Kommunikation im Internet
Wie können Sie sicher im Internet kommunizieren? Wie können Sie Ihren E-Mail-Verkehr sicher verschlüsseln, sodass Unbefugte Ihre Korrespondenz nicht mitlesen können? Wie können Sie mit Ihrem Browser über eine sichere Verbindung auf Websites zugreifen? Was ist überhaupt Verschlüsselung? Wie funktioniert das?
Diese Fragen wird Jörg Zimmermann in einem Vortrag über Verschlüsselungstechniken und Zertifikate beantworten.

 

Sichere Kommunikation im Internet

Von Jörg Zimmermann .xbuilding

 

Das Medium (Standortbeschreibung)

Das Internet ist unsicher. Es entstand in einer Zeit, als Online Kriminalität unvorstellbar war. Deswegen wurden bei der Entwicklung der zugrunde liegenden Techniken Sicherheitsaspekte nicht berücksichtigt. Das oberste Ziel der Entwicklung war es, Daten zuverlässig vom einen zum anderen Ort zu transportieren, selbst wenn auf der Wegstrecke einzelne System ausfallen.
Sie wissen nie, Wer Wann Welche Daten von Ihnen sieht, verändert, löscht oder anderweitig manipuliert und Sie wissen auch nie welchen Weg Ihre Daten im Internet nehmen.
Das Internet funktioniert nach dem Postkarten Prinzip. Sie wissen nie Wer Ihre Postkarten weiter transportiert und Wer sie liest oder Wer sie wegschmeißt.

Ok, Sie glauben Sie haben nichts zu verbergen, jeder darf Ihre Daten einsehen?
Der Staat, der Wettbewerber, Ihr Intimfeind, der Kriminelle, die Mafia; Es gibt keine Menschen oder Organisationen welche Ihnen nicht wohl gesonnen sind oder die Ihnen gerne schaden würden?
Schauen wir uns an, welche Informationen über das Internet transportiert werden.

  • Sie geben Ihre Steuererklärung über das Internet ab

  • Sie erledigen Ihre Bankgeschäfte über das Internet

  • Sie tätigen Einkäufe über das Internet

  • Sie nutzen das Internet zur Kommunikation mit Freunden

  • Sie erhalten und vergeben Aufträge über das Internet

  • Sie nutzen das Internet in der Freizeit zum spielen

  • Sie suchen Informationen im Internet zu Produkten, Krankheiten, Gesetzen etc.

 

Die Ziele (Was kennzeichnet eine sichere Kommunikation)

Die Ziele einer sicheren Kommunikation sind:

  • Authentizität ( Ist Ihr Kommunikations Partner wirklich der, der er vorgibt zu sein? ) Signatur

  • Integrität ( Kommen Ihre Daten bei Ihrem Kommunikations Partner so an, wie Sie abgesendet wurden? ) Verschlüsselung

  • Vertraulichkeit ( Können Dritte Ihre Kommunikation belauschen? ) Verschlüsselung

 

Verschlüsselung

Es gibt zwei Verschlüsselungsarten, die symmetrische und die asymmetrische Verschlüsselung. Die Unterscheidung bezieht sich auf die verwendeten Schlüssel.

  • Die symmetrische Verschlüsselung verwendet den gleichen Schlüssel zum Ver und -Entschlüsseln. Vorteil: schnell und sicher; Nachteil: Der Schlüssel musste vorher auf sicherem Wege ausgetauscht werden.

  • Die asymmetrische Verschlüsselung verwendet zwei unterschiedliche Schlüssel. Ein Schlüssel wird zum Verschlüsseln der Nachricht verwendet (öffentlicher Schlüssel), zum entschlüsseln ist jedoch ein weiterer Schlüssel notwendig (privater Schlüssel). Vorteil: Der Schlüssel muss nicht vorher auf sicherem Wege ausgetauscht werden; Nachteil: Das Verfahren ist langsamer und unsicherer als die symmetrische Verschlüsselung und erfordert daher eine größere Schlüssellänge.

Wenn zwischen den Kommunikationspartnern ein Schlüssel auf eine sichere Art ausgetauscht werden konnte, kann das symmetrische Verfahren verwendet werden.
War es nicht möglich einen Schlüssel auf sichere Art und Weise auszutauschen, so wird das
asymmetrische Verfahren verwendet.
Häufig wird das
asymmetrische Verfahren verwendet um den Schlüssel für eine weitere symmetrische Verschlüsselung auszutauschen.

 

Wie funktioniert Verschlüsselung

am Beispiel sehr alter Verfahren

  • Skytale ( Holzstab )

  • Rotationsverfahren ( ROT13 )

  • Buchstabentausch ( der Erste gegen den Letzten, der Zweite gegen den zweit Letzten ... )

Verschlüsselung basiert vereinfacht ausgedrückt auf einer Rechenvorschrift die sehr leicht in einer Richtung berechnen kann, aber in Ihrer Umkehrung nicht lösbar ist und nur durch ausprobieren gelöst werden kann sofern dem Entschlüsselnden nicht eine weitere Information (der Schlüssel) zur Verfügung steht.

 

Welche Software kann ich verwenden (Warum bietet nur Open Source eine ausreichende Sicherheit)

Nur wenn öffentlich bekannt ist, wie ein Verschlüsselungsalgorithmus funktioniert, also nur wenn die Rechenvorschrift bekannt ist und die Programmierung offen gelegt ist, kann durch unabhängige Personen oder Organisationen geprüft werden das keine Hintertüren eingebaut sind.

Key Escrow:
- In der Borlands Interbase Datenbank wurde nach Freigabe als open Source 09.01.2001 eine Hintertür entdeckt. Dies war wahrscheinlich seit 1993 in der Datenbank hartcodiert hinterlegt.
- Die Diskussion um den sogenannten Windows NSA Key. Das Crypto System von Microsoft verwendet zwei Schlüssel KEY und _NSAKEY.
- Lotus und Key Escrow: Aufgrund der Exportbestimmungen der USA durften lange Zeit nur Schlüssellängen von 40 Bit exportiert werden, IBM stellte jedoch 64 BIT Schlüssel zur Verfügung. Dabei wurden die letzten 24 BIT bei der NSA (National Security Agency) hinterlegt.
- Der Clipper Chip, Gerät welches für die private Verschlüsselung hergestellt wurde, soll den USA die Möglichkeit der Entschlüsselung von Daten geben. Hierzu wurden bei der NIST und dem Deparment of Treasury zwei Schlüsselhälften hinterlegt.

 

Verschlüsselung in der Praxis

Wie eine sichere Kommunikation gewährleistet werden kann, hängt immer von den Anforderungen ab. Jede Kommunikation hat Ihre Besonderheit, danach richtet sich die Wahl der Werkzeuge. Die zugrunde liegenden Verfahren sind jedoch immer die selben.

 

Verschlüsselung von Mail

Alice und Bob möchten Ihren eMail Verkehr absichern. Dazu führen Sie folgende Schritte durch:

  • Alice erstellt sich ein Schlüsselpaar mit GnuPG, Sie erzeugt sich also einen privaten Schlüssel und einen öffentlichen Schlüssel.

  • Bob erstellt sich ebenso ein Schlüsselpaar mit GnuPG.

  • Beide tauschen nun Ihre öffentlichen Schlüssel über das Internet aus. Dazu sind zunächst keine besonderen Sicherheitsmassnahmen notwendig.
    Es gibt im Internet sogar Schlüsselserver welche nur zum Zweck der Speicherung von
    öffentlichen Schlüsseln eingerichtet wurden. Das ist bequem, weil so die öffentlichen Schlüssel zu beliebigen Personen erreichbar sind. Diese Schlüsselserver bieten sogar Suchfunktionen an, mit deren Hilfe gezielt nach öffentlichen Schlüsseln gesucht werden kann.

  • Möchte Alice an Bob jetzt eine Mail versenden, so verschlüsselt Sie Ihre Nachricht mit dem öffentlichen Schlüssel von Bob.
    Diese Nachricht kann jetzt nur mit dem passenden
    privaten Schlüssel entschlüsselt werden.
    Da nur Bob in Besitzt seines
    privaten Schlüssels ist, kann auch nur Bob diese Mail entschlüsseln.

  • Möchte Bob nun eine Mail an Alice senden, so verfährt er genauso wie Alice, er verschlüsselt seine Nachricht also mit dem öffentlichen Schlüssel von Alice und nur Alice kann diese Mail mit Ihrem privaten Schlüssel wieder entschlüsseln.

Die Kommunikation zwischen Alice und Bob ist jetzt verschlüsselt und kann von Dritten nicht mehr belauscht werden. Das heißt die Integrität und die Vertraulichkeit sind gesichert.
Leider gilt das aber noch nicht für die
Authentizität der Nachrichten. Wie soll sich jetzt Alice sicher sein, das Sie wirklich mit Bob kommuniziert? Und woher soll Bob wissen das er wirklich mit Alice kommuniziert?
Um die
Authentizität zu gewährleisten, können beide Ihre Mails zusätzlich signieren. Das Signieren fungiert also analog der Unterschrift im realen Leben. Folgende Schritte sind dazu notwendig:

  • Alice verschlüsselt Ihre Nachricht an Bob wie bisher beschrieben mit dem öffentlichen Schlüssel von Bob und verschlüsselt die Nachricht danach mit Ihrem privaten Schlüssel.
    Damit die Nachricht jetzt von Bob entschlüsselt werden kann, muss er in Besitzt seines
    privaten Schlüssel sein und in Besitz des öffentlichen Schlüssels von Alice sein.
    Allerdings kann ja jede beliebige Person im Besitzt von
    Alice öffentlichen Schlüssels sein.
    Es geht aber auch gar nicht darum die Nachricht entschlüsseln zu können, das wird durch das Schlüsselpaar von
    Bob ja schon gewährleistet.
    Nur
    Alice kann die Nachricht  jedoch verschlüsselt haben, weil nur Alice in Besitzt Ihres privaten Schlüssels ist.
    Es ist also unerheblich welcher Schlüssel zum Verschlüsseln und welcher zum Entschlüsseln verwendet wird, wichtig ist lediglich, das ein Schlüssel des Schlüsselpaares niemals öffentlich bekannt wird.

  • Möchte Bob nun eine Nachricht an Alice senden verfährt er analog.

Die von Alice mit Bobs öffentlichen Schlüssel verschlüsselte Nachricht kann nur von Bob entschlüsselt werden, weil nur er seinen privaten Schlüssel besitzt.
Die von
Alice mit Ihrem privaten Schlüssel verschlüsselte Nachricht, kann nur von Alice verschlüsselt worden sein, weil es nur mit Alice öffentlichen Schlüssel möglich ist die Nachricht zu entschlüsseln.

Wenn Alice und Bob sich persönlich treffen, können Sie Ihre öffentlichen Schlüssel natürlich direkt austauschen. Das nennt man dann eine Key Signing Party. Häufig finden diese Treffen auf Messen oder öffentlichen Veranstaltungen statt. Um zu prüfen ob ein Schlüssel authentisch ist, muss er jedoch nicht unbedingt selber ausgetauscht werden, häufig wird einfach nur der Fingerprint (Fingerabdruck) des Schlüssels weitergegeben. Ein Fingerprint ist eine kryptografische Prüfsumme eines Schlüssels und ist weltweit eindeutig. Das bedeutet, es kann nur einen Schlüssel geben mit dem bestimmten Fingerprint geben.

 

Verschlüsselung von Webdiensten

Der Verschlüsselung von Webdiensten liegen die gleichen Prinzipien wie bei der Verschlüsselung von Mail zugrunde. Allerdings gibt es einen wichtigen Unterschied in den Anforderungen. Bei Webdiensten ist es in der Regel unerheblich für den Betreiber eines Webdienstes, mit Wem er kommuniziert, er bietet ja nur eine Dienstleistung an, die jeder wahrnehmen kann.
Hier geht es hauptsächlich darum, das die Kommunikation
vertraulich ist und die Integrität gewährleistet ist. Die übertragenden Daten dürfen also nicht manipulierbar sein, sie müssen also verschlüsselt werden. Außerdem muss der Kunde einer Webseite sicher sein können, das er mit dem richtigen Server (Webdienst) kommuniziert.
Deswegen weist sich hier meistens nur der Webdienst gegenüber dem Kunden aus.
Das Problem besteht nun darin, wie der Kunde erkennen kann das er auch wirklich mit dem richtigen Webdienst kommuniziert. Wie soll also sichergestellt werden das ein Bankgeschäft wirklich mit der Hausbank getätigt wird?
Anderes Thema, aber URL oder IP Adressen bieten nicht die nötige Sicherheit.
Dazu werden die Daten zunächst mal mit dem
öffentlichen Schlüssel des Webdienstes verschlüsselt.
Nur der Betreiber des Dienstes ist in Besitzt des zugehörigen
privaten Schlüssels und kann die Kundendaten entschlüsseln. Da die Webdienste ja sowieso öffentlich zugänglich sind, muss diese Information auch nicht verschlüsselt werden. Lediglich die eingegeben Daten müssen verschlüsselt werden.
Das Problem für den Kunden besteht also darin, sicher feststellen zu können Wem er da gerade seine Daten weiter gibt.
Um das zu gewährleisten, lässt sich der Betreiber seinen
öffentlichen Schlüssel einfach von einer übergeordneten Instanz beglaubigen bzw. signieren. Der Mechanismus ist der gleiche wie bei der Kommunikation per eMail. Es muss jetzt lediglich eine vertrauenswürdige Instanz gefunden werden, der beide Partner vertrauen.
In der realen Welt wird diese Aufgabe von den Einwohnermeldeämtern wahrgenommen, welche jedem Bürger einen Personalausweis ausstellen.
Im Internet sind das spezielle Organisationen, die sogenannten
CA (Certification Authorities). Das sind Stellen welche öffentliche Schlüssel von Betreibern von Webdiensten beglaubigen. Das geschieht wiederum mit einem öffentlichen Schlüssel, eben dem der CA.
Es ist also für den Kunden lediglich notwendig, einen öffentlichen Schlüssel einer
CA zu besitzen.
Damit die Internetbenutzer jetzt sich jetzt nicht zu jeder
CA den öffentlichen Schlüssel besorgen müssen, sind die öffentlichen Schlüssel der CAs schon in den gängigen Browsern hinterlegt.
Somit hat also z.B. Microsoft den
öffentlichen Schlüsseln der weltweit operierenden CAs das Vertrauen ausgesprochen wenn Sie deren Browser verwenden. Ob Sie Microsoft oder Mozilla soviel Vertrauen entgegenbringen, müssen Sie letztlich selber entscheiden.
Da
CAs die Beglaubigungen nicht kostenfrei anbieten, sondern i.d.R. damit Geld verdienen entstehen für die Zertifikate (beglaubigte öffentliche Schlüssel) bei den Webdienstbetreibern Kosten.
Deswegen hat sich ein internationaler Verein gegründet der diesen Dienst kostenfrei anbietet,
CaCert.org.

 

Warum viele Schlüssel nur eine begrenzte Haltbarkeit haben

Auch wenn die der Verschlüsselung zugrunde liegenden Verfahren als sicher bezeichnet werden können, ist es natürlich grundsätzlich zu mindestens theoretisch möglich, das ein Angreifer durch bloßes Durchprobieren sämtlicher Schlüsselmöglichkeiten irgendwann einen Schlüssel bricht. Die Zeit die für das Brechen eines Schlüssels notwendig ist, hängt zum einem von dem verwendeten Verschlüsselungs Algorithmus ab und zum zweiten von der Schlüssellänge. Wird der Schlüssel jedoch regelmäßig getauscht, verbleibt einem Angreifer nicht genügend Zeit um einen Schlüssel zu brechen. Üblicherweise werden Schlüssel nach 1-2 Jahren getauscht. Lediglich CAs und andere Organisationen die mit sehr großen Schlüssellängen arbeiten, tauschen Ihre Schlüssel in größeren Abständen.

Verschlüsselung ist also niemals etwas Absolutes, sondern immer nur eine Frage der Wahrscheinlichkeiten.
Dazu ein paar Zahlen (entnommen A.Beutelspacher
Moderne Verfahren der Kryptographie) um die Dimensionen darzustellen:

  • Zeit bis zur nächsten Eiszeit 14000 Jahre oder 214 Jahre

  • Zeit bis die Sonne zur Nova wird 109 Jahre oder 230 Jahre

  • Alter des Universums 1010 Jahre oder 234 Jahre

  • Anzahl der Atome der Erde 1051 oder 2170

  • Anzahl der Atome der Sonne 1057 oder 2190

  • Anzahl der Atome in unserer Galaxis 1067 oder 2223

  • Anzahl der Atome im Weltall
    (ohne dunkle Materie) 1077 oder 2265

  • Lebensdauer des Weltalls
    (wenn es geschlossen ist) 1011 Jahre oder 2237 Jahre

     

Würde ein Computer in jeder Sekunde 2*109 also 2.000.000.000 Verschlüsselungen berechnen (IDEA) und alle 2128 möglichen Schlüssel durchprobieren, so bräuchte er dafür:

Anzahl aller möglichen Schlüssel / Verschlüsselungen je Sekunde * Sekunden pro Jahr = 5.3*1021 Jahre


Er könnte seine Berechnung in einem geschlossenem Weltall also nicht mehr zu Ende bringen.


Wie Schlüssel sicher ausgetauscht werden können

Beschrieben ist der Ablauf beim Verfahren nach Diffie Hellman.


Alice und Bob erzeugen Schlüssel:

- Zu Beginn einigen sich beide auf eine öffentliche (möglichst große Primzahl p) und einer
weiteren zufälligen Zahl
z

- Nun wählen beide für sich eine persönliche, geheime nicht öffentliche Zahl Alice wählt a, Bob wählt b

- Beide berechnen nun die Potenz von z und Ihrer eigenen geheimen Zahl, also Alice za bzw. Bob zb

- Danach berechnen beide den Rest einer Division. Alice rechnet A=za mod p und Bob rechnet B=zb mod p

- Nun tauschen Alice und Bob die berechneten Zahlen A und B öffentlich aus.

- Öffentlich bekannt sind also jetzt A, B, p, z

- Nun führen beide die Operation erneut mit A bzw. B durch. Also Alice rechnet Ba mod p und Bob rechnet Ab mod p

- Als Ergebnis erhalten jetzt beide die gleiche Zahl, welche im weiteren Verlauf als Schlüssel für eine symmetrische Verschlüsselung verwendet werden kann.

Beispiel:

Folgende Zahlen werden gewählt:

- Primzahl p=13
- Zufallszahl
z=3
- Alice
a=4
- Bob
b=5

Alice rechnet: 34 % 13 = 3  ( Also 3*3*3*3 sind 81, 81 : 13 sind 6 Rest 3 )
Bob rechnet: 35 % 13 = 9  ( also 3*3*3*3*3 sind 243, 243 : 13 sind 18 Rest 9 )

Nun rechnen beide mit dem Ergebnis des Anderen

Alice rechnet: 94 % 13 = 9  ( Also 9*9*9*9 sind 6561, 6561 : 13 sind 504 Rest 9 )
Bob rechnet: 35 % 13 = 9  ( also 3*3*3*3*3 sind 243, 243 : 13 sind 18 Rest 9 )

Der Rest von 9 ist der gemeinsame Schlüssel.

 

Asymmetrische Verfahren

RSA, wurde von Ron Rievest, Adi Shamir und Leonard Adlememan entworfen. RSA unterstützt sowohl Verschlüsselung als auch die Signatur. RSA war bis kurz nach 2000 mit Patenten belastet, steht jedoch heute zur freien Verfügung und gilt als Standard.

ElGamal kann zur Verschlüsselung und zur Signatur verwendet werden. ElGamal ist nicht durch Patente belastet.

DSA (DSS) Digital Signatur Algorithmen wurde 1991 von der NIST (National Institute of Standards and Technology) eine US Organisation. DSA wurde zum Zwecke der Signatur entworfen, wird jedoch häufig im Verbund mit ElGamal für die Verschlüsselung eingesetzt.

Diffie Hellman siehe vorherigen Abschnitt

 

Hashing Verfahren

Hashes sind kryptografische Prüfsummen, so ist der fingerprint eines Schlüssels ein Hash. Es können aber beliebige andere Daten verhasht werden. Häufig werden Passwörter als Hash Werte gespeichert. Hashes können nur Erzeugt werden, eine Rückwärts gerichtete Berechnung ist karrierebedingt nicht möglich. HashesHashes werden verwendet um die Integrität von Daten sicherzustellen.

MD5 stellt wohl das bekannteste Hash Verfahren dar und ist eine Weiterentwicklung von MD4. Er wird häufig eingesetzt. In den letzten Jahren wurden jedoch einige theoretische Angriffe auf das Verfahren bekannt, welche jedoch keine praktischen Auswirkung hatten.

SHA gilt als sehr sicheres Verfahren. Es erzeugt einen 160 Bit Hash. Mittlerweile liegen aber auch SHA Verfahren vor welche Verschlüsselungen mit 256, 384 oder 512 Bit ermöglichen.

 

Symmetrische Verfahren

DES Data Encrytion Standard, wurde 1977 von den USA zum nationalen Standard erklärt und von IBM entwickelt. Weil DES nur mit Schlüssellängen von 64Bit arbeiten kann ist von einer Verwendung heute abzusehen. Der Algorithmus gilt trotzdem als sicher.

Triple DES basiert auf DES arbeitet jedoch mit drei Verschlüsselungsdurchläufen mit je eigenen Schlüsseln.

IDEA International Data Encrytion Algorithm gilt als sehr sicher ist jedoch durch Patente geschützt und wird daher selten eingesetzt.

Blowfish wurde von Bruce Schneier entwickelt. ER gilt als sicheres Verfahren und ist für große Datenmengen optimiert bei denen der Schlüssel nur selten getauscht wird.

Twofish wurde ebenfalls von Bruce Schneier entwickelt. Er gilt als sehr sicheres Verfahren und war in der 2002 Endausscheidung zum Advanced Encryption Standard.

AES, Advanced Encryption Standard basiert auf dem Algorithmus Rijndael und stellt heute den Standard dar. Inzwischen wurden theoretische Angriffe nachgewiesen. Eine Verwendung gilt zwar als unbedenklich, wenn möglich sollte allerdings auf andere Verfahren ausgewichen werden Bspw. Twofish.

 

Links

  • www.gnupg.de (eine Verschlüsselungssoftware u.A. für eMail)

  • www.truecrypt.org (eine Verschlüsselungssoftware zur sicheren Aufbewahrung von Daten)

  • www.cryptool.de (freies E-Learning-Programm für Windows, mit dem kryptographische Verfahren angewendet und analysiert werden können)

 

Hinweis:

Die vorstehenden Ausführungen stellen die teilweise hoch komplexen Zusammenhänge der Verschlüsselung häufig nicht vollständig und nur stark vereinfacht dar.

 

 

 

 
Oben