INFORMATIK / INFORMATIQUE

Zeitschrift der schweizerischen Informatikorganisationen
Revue des organisation suisses d'informatique

Nr./No. 2 April/Avril 1995


Sicherheit im Internet: Illusion oder Realität?

Christian Cachin und Ueli Maurer

Wie in anderen Beiträgen beschrieben, bietet das Internet ungeahnte Möglichkeiten für die weltweitepersönliche Kommunikation und die Realisierung kommerzieller elektronischer Dienstleistungs- und Handelssysteme. Eine Grundvoraussetzung für deren Einsatz ist, dass die vielfältigen Sicherheitsprobleme gelöst werden. Dieser Beitrag diskutiert die Sicherheitsproblematik auf dem Internet und zeigt Lösungen auf.

1 Einleitung

Information kann als die wichtigste Ressource in vielen Bereichen von Wirtschaft und Gesellschaft bezeichnet werden. Obwohl wir bekanntlich im Informationszeitalter leben, befinden wir uns wahrscheinlich erst am Anfang einer bevorstehenden dramatischen Entwicklung der Kommunikationssysteme. In deren Verlauf werden omnipräsente globale und verteilte Informationssysteme entstehen, auf denen in komplexen Strukturen kommerzielle Dienste verschiedener Anbieter aufbauen können ("Information Superhighway"). Es zeichnet sich heute ab, dass dieser Weg vorerst über TCP/IP und das Internet führt.

In jedem solchen System ergeben sich komplexe Sicherheitsprobleme, die nicht von der Kommunikationsinfrastruktur sondern durch zusätzliche Mechanismen gelöst werden können und Gegenstand aktueller Forschung sind. Dieser Artikel diskutiert die wichtigsten Probleme, wobei oft auf das weltweite TCP/IP-Internet Bezug genommen wird (im folgenden mit "Internet" bezeichnet). Wir betrachten einerseits verschiedene Strategien zur Sicherung lokaler Netze, die an das Internet angeschlossen sind. Andererseits wird gezeigt, wie sichere Kommunikation über das unsichere Internet möglich ist.

Die Sicherheitsprobleme in der postulierten weltweiten Informationsinfrastruktur gehen jedoch noch bedeutend weiter. Im Fall von kommerziellen Diensten wird die automatische und integrierte Verrechnung eine zentrale Rolle spielen, da ohne eine effiziente und sichere Abrechnung keine Motivation besteht, kommerzielle Dienste anzubieten ("Electronic Commerce"). Die Anonymität der Teilnehmer am elektronischen Markt gegenüber den beteiligten Finanzinstitutionen und Clearingzentralen kann im Zusammenhang mit dem Persönlichkeitsschutz ein weiteres komplexes Problem darstellen.

2 Sicherheit im Internet

Wie erwähnt ist das Internet ohne Zusatzmechanismen grundsätzlich nicht sicher. Wer Zugang zu einem Kabel oder Router hat oder System-Privilegien auf einem angeschlossenen Computer besitzt (was bei einem normalen PC für jeden Benutzer der Fall ist), der kann alle auf dem lokalen Netz übertragenen Pakete lesen oder selbst generierte Pakete mit falschen Adressen einspeisen. Dies ist besonders kritisch, wenn Passwörter im Klartext übertragen werden. Zusätzlich zu diesen Fragen der Authentizität und Vertraulichkeit stellt sich auch das Problem der Verfügbarkeit ("Denial of Service").

Generell unterscheidet man bei Sicherheitsüberlegungen zwischen sicheren und unsicheren Teilen eines Systems. Als sicher gelten dabei diejenigen Teilsysteme, denen man (bewusst oder unbewusst) vertraut und die man selbst kontrollieren kann. Deshalb nimmt man oft an, das lokale Firmennetz sei sicher, d.h., die Mitarbeiter verschaffen sich keinen Zugang zum Datenverkehr auf dem lokalen Netz.

In diesem Szenario sind zwei grundsätzlich verschiedene, orthogonale Problemkreise zu betrachten:

* Wie ist Kommunikation zwischen dem sicheren und dem unsicheren Teilsystem möglich, ohne das sichere System zu gefährden? Die Lösung ist eine geeignete Abschottung der beiden Systeme.

* Wie können verschiedene sichere Teile miteinander über unsichere Teile kommunizieren? Ein solcher Sicherheitskontext kann mit kryptographischen Methoden geschaffen werden.

Beim Anschluss des Firmennetzes an das Internet wird das interne Netz zu einem Teil des unsicheren Internets. Analog zu den zwei erwähnten Problemkreisen bestehen zwei mögliche Typen von Sicherheitsstrategien, die im folgenden diskutiert werden:

Abschottung: Man vertraut der internen Infrastruktur weiterhin und verbindet sie kontrolliert mit der Aussenwelt. An der Stelle des Netzzugangs wird eine asymmetrische, teilweise durchlässige Trennwand errichtet. Die Abschottung bedingt, dass der gesamte Verkehr zwischen dem internen und externen Netz über einen zentralen und sicheren Punkt verläuft. Diese Trennung wird von einem speziellen Rechner wahrgenommen, der als Paket-Filter oder Firewall dient (siehe Abschnitt 3).

So kann beispielsweise E-Mail-Verkehr vom und zum internen Netz ermöglicht werden und internen Benutzern kontrolliert Zugang zu und von Rechnern auf dem Internet erteilt werden. Gleichzeitig soll aber verhindert werden, dass potentielle Eindringlinge überhaupt auf das interne Netz vordringen und dort Schaden anrichten können.

Sicherheitskontext: Sieht man das interne Netz, sobald es ans Internet angeschlossen ist, als unsicher an, so muss alle über das (interne oder externe) Netz übertragene Information geschützt werden. In diesem Fall wird das lokale wie das globale Netz nicht als Informationsquelle, sondern lediglich als Kommunikationsmedium angesehen, an dessen Sicherheit (ausser bezüglich der Verfügbarkeit) keine Ansprüche gestellt werden können.

Mittels kryptographischer Methoden kann ein Sicherheitskontext zwischen den kommunizierenden Entitäten errichtet werden, der die Vertraulichkeit und/oder die Authentizität der Kommunikation garantiert. Dazu können Verschlüsselung und Schlüsselmanagement-Verfahren eingesetzt werden (siehe Abschnitt 4). Ein Beispiel dafür ist Pretty Good Privacy (PGP), ein System zur Authentifikation und Verschlüsselung von E-Mail, das in Abschnitt 5 vorgestellt wird. Kerberos ist ein weit verbreitetes Authentifikations- und Schlüsselmanagement-System und wird in Abschnitt 6 beschrieben.

Das fundamentale Problem der Benutzerauthentifikation kann als Teilproblem im Rahmen des Sicherheitskontexts angesehen und gelöst werden (vgl. Abschnitt 7).

3 Paket-Filter und Firewalls

Zur Abschottung des internen Netzes wird am Verbindungspunkt zum externen Netz eine Sicherheitsbarriere errichtet. Jeglicher Verkehr zwischen internem und externem Netz muss durch diesen Rechner gehen und wird nur durchgelassen, wenn dies im Sicherheitskonzept vorgesehen ist.

Dieser Rechner selbst ist sicherer als die meisten Rechner am lokalen Netz, denn seine einzige Aufgabe besteht in der Verkehrsüberwachung. Viele benutzerfreundliche und gleichzeitig gefahrenanfällige Dienste (z.B. NIS, rlogin usw.) werden dafür nicht gebraucht. Der Rechner wird professionell von den Sicherheitsexperten verwaltet und hat keine "normalen" Benutzer.

Die zu treffenden Entscheidungen sind um so genauer, aber auch um so komplizierter, je mehr Information dafür zur Verfügung steht. Je nachdem, auf welcher Schicht im Rahmen des OSI-Modells die Zugangskontrolle operiert, entstehen verschiedene Lösungen: Paket-Filter sind auf der Netz- oder IP-Schicht (OSI-Layer 3) angesiedelt. Firewalls operieren hingegen auf der Applikations-Ebene (OSI-Layer 7).

3.1 Paket-Filter

Ein Paket-Filter entscheidet für jedes Datenpaket unabhängig von anderen, ob es durchgelassen werden soll oder nicht. Auf dieser Ebene ist die Entscheidungsgrundlage beschränkt auf die IP-Adressen von Sende- und Empfangs-Rechner, die Port-Nummern zur Unterscheidung bestimmter Applikationen oder Server-Dienste sowie die Art des Transportprotokolls. Nicht bekannt sind aber z.B. die Identität der kommunizierenden Entitäten oder Benutzer.

Ein Paket-Filter entscheidet aufgrund einer Tabelle erlaubter bzw. verbotener Absender- und Empfänger-Adressen. Für die richtige Konfiguration einer feinkörnigen Filtrierung ist allerdings einiges Wissen nötig. Tabelle 1 (elektronisch nicht verfügbar) zeigt ein Beispiel, das Verbindungen von aussen nur zum internen Mailserver (SMTP, Port 25) erlaubt. Abgehende Verbindungen sind ebenfalls nur zu externen Mailservern erlaubt; diese Regel ist aber nur bedingt wirksam, denn externe Hosts könnten auf Port 25 auch andere Dienste anbieten!

Weiter ist zu betonen, dass ein Angreifer Pakete mit gefälschter Absenderadresse senden kann. Um im Beispiel den Empfang vom Host "Junkmailer" zu verbieten, müsste nun der Mailserver in einem Handshake-Protokoll sicherstellen, dass der Absender nicht die verbotene Adresse ist! Allgemein ist der Empfangsrechner auf dem internen Netz für die entsprechende Sicherheit zuständig, wenn eine bestimmte interne Empfangsadresse durchgelassen wird.

3.2 Firewalls

Ein Firewall bietet prinzipiell die grössere Sicherheit als ein Paket-Filter, da ihm mehr Information für die Entscheidung zur Verfügung steht. Der Zugang zum internen Netz ist so konfiguriert, dass nur der Firewallrechner selbst mit dem Rest des Internets kommunizieren kann.

Ein Firewallrechner ist Endpunkt aller Verbindungen: Für jede Verbindung zwischen internem und externem Netz werden vom Firewall aus zwei Verbindungen unterhalten, eine nach innen und eine nach aussen. Ein Firewall kann für den Benutzer entweder sichtbar oder transparent sein.

Auf einem sichtbaren Firewall besitzt jeder interne Benutzer, der Dienste auf dem Internet nutzen möchte, ein Konto. Dienste können lediglich von einem Konto aus auf dem Firewall benutzt werden. So muss z.B. nach einem FTP-Filetransfer das File noch vom Firewall auf den internen Zielrechner kopiert werden.

Im Gegensatz dazu ist ein transparenterFirewall für den Benutzer nicht sichtbar und operiert im Hintergrund. In diesem Fall müssen alle für die Kommunikation mit dem Internet zugelassenen Benutzerprogramme (ftp, telnet etc.) so modifiziert werden, dass bei ihrem Aufruf automatisch eine Verbindung zum Firewall aufgebaut wird. Der interne Host veranlasst einen sog. Proxy-Server auf dem Firewall zum Aufbau einer Verbindung nach aussen. Kommt diese zustande, stellt der Proxy-Server die Verbindung zur Applikation her und kopiert jeweils die Nutzinformation der Pakete zwischen beiden Verbindungen. Die für den Proxy-Server nötigen Modifikationen an den Benutzerprogrammen können für den Benutzer transparent erfolgen, oder es kann ein zweiter Satz von Programmen bereitgestellt werden, die sich für den Benutzer von den üblichen nur im Namen geringfügig unterscheiden (rftp statt ftp usw.).

Transparente Firewalls sind im Gegensatz zu sichtbaren Firewalls bedeutend benutzerfreundlicher, erfordern aber einen höheren Aufwand bei der Installation. In beiden Fällen kann ein Benutzer (auf dem Internet wie auf dem internen Netz) durch den Firewall authentisiert werden, bevor die Dienste ausgeführt werden.

Wenn Paket-Filter oder Firewalls ihre Entscheide aufgrund von Domain-Namen (der Form host.domain) anstelle von IP-Adressen treffen, ist bei der Konfiguration des Domain-Name-Systems (DNS) besondere Vorsicht am Platz. Da das DNS die Verbindung zwischen Domain-Namen und IP-Adressen herstellt, könnte ein Angreifer durch Korruption des DNS auf dem Firewall Pakete mit falschen Absenderadressen einschleusen.

Auf dem Internet sind einige Implementationen von Paket-Filter- und Firewall-Software frei erhältlich [Cheswick/Bellovin 94].

4 Verschlüsselung und Netzsicherheit

Die im obigen Abschnitt beschriebenen Mechanismen dienen dazu, mögliche Angreifer vom internen Netz und daran angeschlossenen, ev. nicht genügend gesicherten Rechnern fernzuhalten. Im Gegensatz dazu erlauben kryptographische Mechanismen [Schneier 94], im speziellen Verschlüsselung, die eigentliche Kommunikation über ein unsicheres Netz vor unerlaubten Zugriffen zu schützen.

Eine Verschlüsselung erfolgt grundsätzlich zwischen zwei Endpunkten und kann je nach Anwendung und Sicherheitsanforderungen auf verschiedenen Schichten des OSI-Modells erfolgen. Dazu sind die Link-, Netz-, Transport- und Anwendungs-Schicht gleichermassen geeignet. Link-Verschlüsselung löst die Probleme mit unsicheren Routern im Internet nicht - dafür ist eine End-zu-End-Verschlüsselung nötig. Wir diskutieren die folgenden Möglichkeiten:

Netz:Einzelne Datenpakete werden verschlüsselt vom Sender zum Empfänger übertragen, wobei die Applikationen keinen Einfluss auf den Mechanismus haben. Die Sicherheit einer Applikation beruht auf der sauberen Trennung des Zugriffs verschiedener Prozesse auf das Kommunikationsinterface. Verschiedene Protokolle dazu wurden vorgeschlagen, aber noch ist kein Standard definiert.

Applikation:Oft "weiss" nur die Applikation, welche Daten sensitiv sind und wie diese geschützt werden müssen. Häufig besitzt auch nur die Applikation die notwendige Information für das Schlüsselmanagement. Nachteil der Applikations-Verschlüsselung ist allerdings, dass jede Applikation entsprechend angepasst werden muss. Dies kann auch ein Vorteil sein, denn für die wichtigsten Applikationen existieren heute schon kryptographische Zusätze (PGP für E-Mail, sichere Login-Verfahren usw.), ohne dass zuerst ein Standard für Netz-Verschlüsselung definiert und durchgesetzt werden musste. Gleichzeitig ein Vor- und ein Nachteil ist ferner, dass der Benutzer einer Applikation sich unter Umständen selbst um die Sicherheit kümmern kann und muss.

Konventionelle Verschlüsselung basiert auf einem geheimen Schlüssel, der nur den beiden Endpunkten bekannt ist. Damit kann der Verkehr einerseits gegen unberechtigtes Lesen und andererseits gegen unberechtigte Veränderungen geschützt werden. Das Schlüsselmanagement, das heisst der Mechanismus, welcher die geheimen Schlüssel über einen sicheren (externen) Kanal an die Endpunkte bringt, ist dabei ein fundamentales Problem.

Ein Public-Key-Verschlüsselungssystem erlaubt zwei Kommunikationspartnern, die keinen gemeinsamen geheimen Schlüssel besitzen, einen solchen zu generieren durch Kommunikation über ein abhörbares Netz. Ein Benutzer besitzt einen öffentlichen Schlüssel (Public-Key), mit dem jeder andere eine Nachricht verschlüsseln kann, und einen entsprechenden geheimen Schlüssel (Secret-Key), mit dem nur er die für ihn bestimmten, mit seinem Public-Key verschlüsselten Nachrichten lesen kann.

Ein digitales Unterschriftensystem besteht analog dazu aus einem öffentlichen und einem geheimen Schlüssel; der Benutzer kann eine Nachricht mit seinem geheimen Schlüssel unterschreiben und jeder andere kann anhand des öffentlichen (Verifikations-)Schlüssels die Unterschrift überprüfen. RSA [Rivest et al. 78], das verbreitetste Public-Key-System, kann zur Verschlüsselung und für digitale Unterschriften verwendet werden.

In beiden Verfahren ist aber essentiell, dass die Public-Keys authentisch übermittelt werden, dass sich also die Benutzer dabei z.B. an der Stimme erkennen können.

Elektronisch kann dieses Problem mittels Zertifikaten einer vertrauenswürdigen Instanz gelöst werden. Der Public-Key PA einer Entität A kann von einer vertrauenswürdigen Instanz T zertifiziert (digital unterschrieben) werden. Eine andere Entität B, die erstens dieser Instanz T vertraut und zweitens eine authentische Kopie des öffentlichen Verifikationsschlüssels PT (für digitale Unterschriften) der Instanz T besitzt, kann sich von der Authentizität des Public-Keys PA durch Verifikation der Unterschrift überzeugen.

Das Verfahren kann hierarchisch auf mehrere Instanzen und Ketten von Zertifikaten ausgedehnt werden. Für eine weitergehende Beschreibung sei auf [Maurer/Schmid 94] verwiesen.

5 PGP - Sichere E-Mail

Das frei erhältliche Sicherheitspaket Pretty Good Privacy [Zimmermann 94; Garfinkel 94] bietet Authentisierung durch digitale Unterschriften und E-Mail-Verschlüsselung für jedermann, auf beinahe jedem Betriebssystem.

PGP verwendet das RSA-Public-Key-System und die MD5- (Message Digest Version 5-) Einweg-Hashfunktion zum Erzeugen einer digitalen Unterschrift. Anhand derer kann der Empfänger einer Meldung überprüfen, ob sie vom behaupteten Absender stammt (Authentizität) und nicht verändert wurde (Integrität). Dies läuft folgendermassen ab:

1. Der Sender erzeugt seine Meldung.

2. Mit MD5 wird ein 128-Bit Hashwert der Meldung berechnet.

3. Der Hashwert wird mit RSA und dem Secret-Key des Senders verschlüsselt (d.h. unterschrieben) und der Meldung beigefügt.

4. Der Empfänger entschlüsselt den Hashwert mit dem Public-Key des Absenders.

5. Der Empfänger berechnet den MD5-Hashwert der erhaltenen Meldung und vergleicht diesen mit dem entschlüsselten. Stimmen sie überein, wird die Mitteilung als authentisch akzeptiert.

Aufgrund der kryptographischen Sicherheit von RSA kann der Empfänger sicher sein, dass nur der Besitzer des passenden Secret-Key die Unterschrift erzeugt haben kann. Das Vertrauen des Empfängers in die Authentizität der Meldung wird direkt vom Vertrauen in den Public-Key geerbt. Die MD5-Hashfunktion garantiert, dass niemand eine veränderte Meldung mit demselben Hashwert (also derselben Unterschrift) erzeugen kann.

PGP bietet auch Geheimhaltung übertragener Meldungen oder lokal aufbewahrter Files. Dazu wird der an der ETH Zürich entwickelte International Data Encryption Algorithm (IDEA) [Schneier 94], ein konventionelles Verschlüsselungssystem, benutzt. Der dafür nötige Session-Key wird jedesmal zufällig neu erzeugt. Vor der Übertragung wird er mit RSA verschlüsselt, so dass nur der Empfänger den Session-Key und die Meldung entschlüsseln kann. Die einzelnen Schritte sind:

1. Der Sender erzeugt seine Meldung und eine zufällige 128-Bit Zahl als Session-Key.

2. Die Meldung wird mit IDEA und dem Session-Key verschlüsselt.

3. Der Session-Key wird mit RSA und dem Public-Key des Empfängers verschlüsselt und der Meldung vorangestellt.

4. Der Empfänger entschlüsselt den Session-Key mit seinem Secret-Key.

5. Die Meldung selbst wird mit dem Session-Key entschlüsselt.

Das zweistufige Verfahren wird verwendet, weil öffentliche Schlüsselübertragung nur mit dem Public-Key-System RSA möglich ist, dieses jedoch beträchtlich langsamer verschlüsselt als der konventionelle IDEA.

Verschlüsselung und Authentisierung können kombiniert werden, um eine Meldung sicher zu übertragen. PGP erzeugt ein zur E-Mail-Übertragung geeignetes Format und kann deshalb mit wenig Aufwand in viele E-Mail-Applikationen eingebunden werden.

Die Sicherheit von PGP hängt direkt von der Authentizität der benutzten Public-Keys ab. Wenn PGP-Public-Keys heute etwa auf Visitenkarten verbreitet werden, so ist das längerfristig keine befriedigende Lösung. Diese Aufgabe übernehmen heute schon Public-Key-Server, aus denen in nächster Zeit eine Public-Key-Infrastruktur entstehen wird, die hierarchisch Zertifikate für Public-Key-Server und Public-Keys ausstellt [Chokhani 94].

6 Kerberos

Kerberos [Neumann/Ts'o 94] basiert auf dem konventionellen amerikanischen Data Encryption Standard (DES)-Verschlüsselungsalgorithmus und stellt geheime Schlüssel zur Verfügung, mit denen verschiedene Benutzer und Applikationen sicher kommunizieren können. Da kein Public-Key-Algorithmus verwendet wird, müssen immer ein oder mehrere vertrauenswürdige Server verfügbar sein, das sog. Key Distribution Center (KDC).

Möchte ein Benutzer an einer Workstation zu arbeiten beginnen und dazu einen Server (z.B. Fileserver) ansprechen, so sendet die Workstation eine entsprechende Anfrage an das KDC. Dieses erzeugt ein Datenpaket, Ticket genannt, das den Benutzernamen, die aktuelle Zeit, eine Gültigkeitsdauer, den Namen der Workstation und einen zufällig generierten Session-Key enthält. Das gesamte Ticket wird mit dem geheimen Schlüssel des Servers verschlüsselt, so dass es nur für diesen Server gültig ist.

Das Ticket und eine Kopie des Session-Keys werden zusätzlich mit dem geheimen Schlüssel des Benutzers verschlüsselt und zur Workstation zurückgesandt, welche das Passwort vom Benutzer einliest. Aus dem Passwort wird der geheime Schlüssel des Benutzers erzeugt und damit das Ticket entschlüsselt. Nur mit dem korrekten Passwort resultieren ein gültiges Ticket und der richtige Session-Key.

Will der Benutzer einen Dienst des Servers beanspruchen, muss er dem Server das Ticket und einen sog. Authentikator senden, der die aktuelle Zeit, den Benutzer sowie seine Workstation enthält und mit dem Session-Key verschlüsselt ist. Der Server entschlüsselt das Ticket mit seinem geheimen Schlüssel und extrahiert daraus den Session-Key, mit dem der Authentikator entschlüsselt wird. Der Server prüft die Zeitstempel und die Übereinstimmung der Daten in Authentikator und Ticket. Sind sie gültig, führt er die verlangte Operation aus.

Ausser dem Benutzernamen werden alle Daten verschlüsselt übermittelt. Die gesamte nachfolgende Kommunikation zwischen Benutzer und Server kann mit dem Session-Key verschlüsselt werden.

Das Passwort darf zum Schutz vor Diebstahl nicht im lokalen Speicher aufbewahrt werden. Damit nun der Benutzer nicht für jeden neuen Server sein Passwort eingeben muss, existiert ein Ticket Granting Server (TGS), ein mit dem KDC verbundener spezieller Server, der Tickets liefert. Bei der ersten Initialisierung erhält der Benutzer ein Ticket für den TGS. Nachfolgende Tikkets erhält der Benutzer vom TGS; sie sind nicht mehr mit dem Passwort verschlüsselt sondern mit dem Session-Key von Benutzer und TGS. Die lokale Workstation muss nur das TGS-Ticket speichern. Da es an die Workstation gebunden und nur einige Stunden gültig ist, kann ein Angreifer damit nicht viel anfangen.

In einem grossen Netz nennt man den von einem Kerberos-Server abgedeckten Bereich Realm. Ein Benutzer kann Server in anderen Realms ansprechen. Dazu müssen die Administrationen von beiden Realms einen gemeinsamen geheimen Schlüssel vereinbart haben, damit der Benutzer vom lokalen KDC ein Ticket-Granting-Ticket für den TGS der anderen Realm erhalten kann. Der fremde TGS kann dieses mit dem vereinbarten Schlüssel entschlüsseln und weitere Tickets ausstellen.

Da Kerberos auf konventioneller Kryptographie beruht, hat es den Nachteil, dass ein vertrauenswürdiger Server immer on-line verfügbar sein muss und dass die Benutzer diesem Server vertrauen müssen. Weiter müssen die einzelnen Applikationen (Client- und Serverprogramme) umgeschrieben werden. Ist man bereit, diese Nachteile in Kauf zu nehmen, so bietet Kerberos einen guten Schutz für die Kommunikation innerhalb zentral verwalteter Netzbereiche und erreicht ebenfalls sichere Benutzerauthentifikation.

7 Sichere Benutzerauthentifikation

Die heute verwendete Authentifikation mittels Passwort bietet in einem unsicheren Netz keinen Schutz, weil Passwörter abgehört werden können. Besonders gefährdet sind die Passwörter der Systemkonti (z.B. root in UNIX), wenn Server nicht von der Konsole aus verwaltet werden.

Durch die Verwendung eines One-Time-Passworts oder Challenge-Response-Protokolls zur Authentifikation eines Benutzers kann diese Sicherheitslücke geschlossen werden. Verschiedene kryptographische Verfahren bieten sich zur Realisierung an. Für die nötigen Berechnungen muss der Benutzer aber über einen kleinen Rechner verfügen, dem er vertraut, z.B. eine Chipkarte oder einen PC ohne Netzanschluss. Zwei mögliche Typen von Verfahren sind:

Einwegfunktion-basiert:Eine Einwegfunktion f ist eine Funktion, die einfach berechnet werden kann, aber schwierig zu invertieren ist. y = f (x) bei gegebenem x ist also schnell und einfach zu berechnen, jedoch soll es schwierig sein, bei gegebenem y ein x' zu finden, so dass y = f (x') (idealerweise müssen alle möglichen x' durchprobiert werden).

Ein Authentifikationssystem lässt sich damit wie folgt konstruieren: Der Benutzer wählt ein geheimes Passwort s, berechnet p = f^N (s) (d.h. f wird N Mal angewendet auf s) und installiert p über einen sicheren Kanal auf dem Server. Bei der i-ten Authentifikation sendet der Server i zum Benutzer, der mit x_i = f^(N-i) (s) antworten muss. Der Server erlaubt den Zugriff nur, falls f^i (x_i) = p.

Der Vorteil dieses Verfahrens sinddie kurzen Passwörter, die mit typischerweise 64 Bit von der Grössenordnung der heute verwendeten Passwörter sind. Ein weiterer Vorteil ist, dass einige Passwörter im voraus auf Papier gedruckt werden können, wenn eine Authentifikation ohne Chipkarte nötig und voraussehbar ist. Die Nachteile sind die nötige Synchronisierung und die Neu-Initialisierung, die nach N Authentifikationen nötig wird. Diese Methode wird z.B. vom frei erhältlichen Paket S/KEY [Haller 92] für UNIX-Authentifikation implementiert.

Public-Key-basiert:Public-Key-Identifikation basiert auf einer Einwegfunktion, einem geheimen Schlüssel und einem öffentlichen Schlüssel, der beim Server deponiert wird. Die Authentifikation geschieht durch ein Challenge-Response-Protokoll zwischen Server und Benutzer, bei dem der Benutzer seine Kenntnis des geheimen Schlüssels beweist.

Für eine spezielle Klasse dieser Protokolle, die sog. Zero-Knowledge-Protokolle, kann bewiesen werden, dass der Server in einem mathematisch präzisen Sinn keine Information über den geheimen Schlüssel erhält und doch von seiner Gültigkeit überzeugt ist.

Der Vorteil der Public-Key-Protokolle liegt in ihrer (teilweise) beweisbaren Sicherheit und ihrer unlimitierten Verwendbarkeit. Ihr Nachteil ist der grosse Kommunikationsaufwand, der eine elektronische Verbindung zwischen Chipkarte und Server erfordert.

Mit beiden Verfahren müssen auf dem Server keine geheimen Informationen aufbewahrt werden und jeder Authentifikationsvorgang kann abgehört werden. An der ETH wurde für die UNIX-System-Administration im Departement Informatik ein sicheres Authentifikationsprogramm entwickelt, das beide Verfahren implementiert.

8 Schlussfolgerungen

Mit dem zunehmenden Gebrauch von globalen Netzen und Informationssystemen wächst die Abhängigkeit der Benutzer von diesen Systemen, wodurch deren Sicherheit von zentralem Interesse ist. Es sind heute Konzepte bekannt und Produkte erhältlich, mit denen einerseits die eigenen Systeme gegen Angriffe vom Internet geschützt und andererseits die Kommunikation über das Internet gesichert werden können. Sicherheit im Internet ist keine Illusion mehr.

Die aktuelle Forschung geht aber über das Grundsatzproblem "Sicherheit" hinaus und erschliesst die kommenden Möglichkeiten und Einsatzgebiete der weltweiten Netze. So werden digitale Zahlungssysteme untersucht, mit denen Geld nur durch Informationsübermittlung transferiert werden kann. Damit zusammen hängen Protokolle für die Verrechnung von Diensten, die über das Internet bezogen werden. Die Lösung dieser und weiterer Probleme wird den Weg zum globalen elektronischen Marktplatz ebnen.

Das Literaturverzeichnis gibt einige Hinweise auf weiterführende Literatur.

Literatur

[Cheswick/Bellovin 94]
W. R. Cheswick and S. M. Bellovin. Firewalls and Internet Security: Repelling the Wily Hacker. Addison-Wesley, Reading, MA, 1994.

[Chokhani 94]
S. Chokhani. Toward a national public key infrastructure. IEEE Communications Magazine, 32(9):70-74, September 1994.

[Garfinkel/Spafford 91]
S. Garfinkel and G. Spafford. Practical UNIX Security. O'Reilly & Associates, Sebastopol, CA, 1991.

[Garfinkel 94]
S. Garfinkel. PGP: Pretty Good Privacy. O'Reilly, Sebasopol, CA, 1994.

[Haller 92]
N. M. Haller. The S/KEY one-time password system. Available over the Internet from <ftp://thumper.bellcore.com/pub/skey/>, 1992.

[IEEE 94]
Securing the information superhighway. Special Issue, IEEE Communications Magazine, September 1994.

[Maurer/Schmid 94]
U. M. Maurer and P. E. Schmid. A calculus for secure channel establishment in open networks. In Dieter Gollmann (editor): Computer Security - ESORICS'94, volume 875 of Lecture Notes in Computer Science, pages 175-192. Springer-Verlag, 1994.

[Neumann/Ts'o 94]
B. C. Neumann and T. Ts'o. Kerberos: An authentication service for computer networks. IEEE Communications Magazine, 32(9):33-38, September 1994.

[Rivest et al. 78]
R. L. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2):120-126, February 1978.

[Schiller 94]
J. I. Schiller. Secure distributed computing. Scientific American, pages 54-58, November 1994.

[Schneier 94]
B. Schneier. Applied Cryptography. Wiley, New York, 1994.

[Stallings 95]
W. Stallings. Network and Internetwork Security. Prentice-Hall, 1995.

[Zimmermann 94]
P. Zimmermann. Pretty good privacy, version 2.6. Available over the Internet from <ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/>, 1994.

Résumé

L'Internet offre des possibilités insoupçonnées pour la communication personnelle et pour la réalisation de systèmes électroniques commerciaux de service et de commerce. La solution préalable des problèmes de sécurité est une condition fondamentale pour sa mise en oeuvre. Cet article discute la problématique de la sécurité sur l'Internet et propose des solutions.

Christian Cachin dipl. Informatik-Ing. ETH, ist Assistent und wissenschaftlicher Mitarbeiter am Institut für theoretische Informatik der ETH Zürich, wo er bei Prof. U. Maurer an einer Dissertation auf dem Gebiet der informationstheoretisch sicheren Schlüsselvereinbarung arbeitet.

Dr. Ueli Maurer ist Professor am Institut für theoretische Informatik an der ETH Zürich. Seine Forschungsgebiete sind Kryptographie, Informationssicherheit, insbesondere Sicherheit in verteilten Systemen, sowie Themen der theoretischen Informatik.


© 1995 SVI / FSI