Bei der Authentifizierung (Griechisch: Authentikotita, die Echtheit) prüft eine Instanz die Identität einer anderen. Sicher zu wissen, wer sich eingeloggt hat, ist entscheidend für die Rechnersicherheit: Das System muss die Identität des Users eindeutig verifizieren, bevor es ihm Zugriff auf Dateien und Programme gewährt. Entsprechend hoch wäre der Schaden, wenn ein Angreifer eine fremde Identität vortäuschen könnte.
Es gibt drei Varianten, wie eine Person ihre Identität beweisen kann: persönliche Merkmale, Besitz und Wissen. Zu den persönlichen Merkmalen gehören das Aussehen, die Stimme oder der Fingerabdruck, also um so genannte biometrische Merkmale.
Bei der zweiten Variante muss die Person ein bestimmtes Objekt besitzen, beispielsweise einen Ausweis. Dieses Objekt muss eindeutig als authentisch erkannt werden und eindeutig zu dieser Person gehören. Beim Personalausweis ist beides gegeben: Das Foto belegen, dass er zu der Person gehört, und besondere Maßnahmen bei der Herstellung gewährleisten, dass sich gefälschte Ausweise von echten unterscheiden.
Das dritte sichere Merkmal ist geheimes Wissen. In der PC-Welt ist das Geheimnis des Benutzers sein Passwort. Wenn jemand genau dieses Passwort erwähnt, muss er der berechtigte Benutzer sein, da es sonst niemand kennt. Ähnliche Verfahren finden sich in vielen Bereichen - um etwa per Telefon Bankgeschäfte auszuführen, braucht der Kunde ein Passwort.
Beweis der Identität
Die Computertechnik ist nicht auf die dritte Variante eingeschränkt. Ein System kann alle drei Methoden verwenden, also natürliche Merkmale, Besitz und geheimes Wissen prüfen. Der Besitz ist zum Beispiel entscheidend, wenn jemand mit seiner Magnetstreifenkarte einen Türöffner aktiviert. Die bekanntesten biometrischen Systeme sind Fingerabdruck-Leser. Es gibt auch Ansätze für Gesichts- und Stimmenerkennung, ebenso zur Erkennung der Handgeometrie oder der Irismuster im Auge. Diese Technologien sind jedoch relativ neu, nicht immer ausgereift und datenschutztechnisch umstritten.
Bei der Authentifizierung mit Passwort gibt jeder Benutzer sein Geheimnis preis, er tippt es ein. Um es geheim zu halten, muss die Umgebung sicher sein, sodass kein Angreifer das Passwort abhören kann. In der Realität ist diese Bedingung leider nicht immer gegeben. Wer zu Hause am PC seine Daten eintippt, darf sich zwar noch recht sicher fühlen. Das endet spätestens, wenn er sich mit FTP an einem entfernten Server einloggt. Das Passwort wird im Klartext übertragen und lässt sich während der Übertragung abhören.
Die Herausforderung
Es gibt aber Methoden für eine passwortbasierte Authentifizierung, bei der niemand sein Passwort preisgeben muss. Ein Kandidat muss nur nachweisen, dass er das Geheimnis kennt, er muss es dem Prüfer nicht mitteilen. Eine dieser Methoden ist das Challenge-Response-Verfahren. Mit diesem einfachen Authentifizierungsprotokoll prüft eine Instanz A, ob B ein Geheimnis kennt, ohne dass B dieses Geheimnis übermittelt. Das Geheimnis darf dazu nur A und B bekannt sein.
Nach dem erfolgreichen Ablauf des Protokolls, wie in Abbildung 1 gezeigt, ist sich A über die Identität von B sicher. Das gemeinsame Geheimnis von A und B ist hier der Schlüssel k für einen bestimmten Verschlüsselungsalgorithmus. A möchte prüfen, ob B diesen Schlüssel tatsächlich kennt.
Abbildung 1: Beim Challenge-Response-Protokoll prüft A, ob B ein gemeinsames Geheimnis k kennt, ohne dass B dieses Geheimnis preisgibt.
A erzeugt eine Zufallszahl c und sendet sie an B als so genannte Challenge (Herausforderung). B verschlüsselt diese Zufallszahl mit dem geheimen Schlüssel k und erzeugt so die Response r, die Antwort auf die Herausforderung. B schickt diese zurück an A, A entschlüsselt sie mit dem geheimen k. A prüft nun, ob die entschlüsselte Nachricht gleich der Zufallszahl c ist. Falls ja, hat B denselben Schlüssel zum Verschlüsseln verwendet wie A zum Entschlüsseln. B besitzt also den Schlüssel, seine Identität ist bestätigt. Falls nicht, konnte die andere Seite nicht beweisen, dass sie B ist.
Ein Angreifer, der am Kommunikationskanal zwischen A und B mithört, kann zwar Challenge und Response abfangen, aber nicht den Schlüssel, da er nicht übertragen wird. Aus c und r kann der Angreifer nicht auf den Schlüssel schließen, da dies voraussetzen würde, dass ihm eine erfolgreiche Known Plaintext Attack auf den Verschlüsselungsalgorithmus möglich ist (siehe Kasten "Angrif-fe auf Verschlüsselungsalgorithmen"). Solche Angriffe sind auf gute Verschlüsselungsalgorithmen aber praktisch unmöglich. Der Angreifer beobachtet dabei den Kommunikationskanal und legt eine Liste mit Challenges und passenden Antworten an. Später versucht er sich als B auszugeben. Falls eine bekannte Challenge von A kommt, hat der Angreifer die passende Antwort in seiner Liste und kann das Protokoll erfolgreich abschließen. Dieser Fall darf nicht eintreten.
|
Angriffe auf Verschlüsselungsalgorithmen haben das Ziel, den Schlüssel zu ermitteln. Es wird dabei angenommen, dass der Angreifer den Verschlüsselungsalgorithmus kennt. Je nachdem, welche zusätzlichen Informationen ihm zur Verfügung stehen, sind fünf Angriffsarten zu unterscheiden. Gute Algorithmen sind immun gegen die ersten vier.
Ciphertext-only Attack: Der Normalfall. Der Angreifer kennt nur einen Chiffretext und versucht daraus auf den Klartext und den Schlüssel zu schließen.
Known Plaintext Attack: Der Angreifer kennt einen Chiffretext und den zugehörigen Klartext. Aus der Korrelation beider versucht er den verwendeten Schlüssel zu finden.
Chosen Plaintext Attack: Der Angreifer kann beliebige Texte verschlüsseln lassen, kennt aber den Schlüssel nicht. Er wählt spezielle Klartexte, beispielsweise nur Null-Bits, und versucht über Muster im Chiffretext den Schlüssel zu bestimmen.
Chosen Ciphertext Attack: Wie oben, nur umgekehrt. Der Angreifer kann beliebige Chiffretexte entschlüsseln lassen und versucht auf den Schlüssel zu schließen, indem er spezielle Chiffretexte wählt.
Brute Force Attack: Dieses Verfahren ist das einzige, das theoretisch immer funktioniert. Der Angreifer probiert alle Schlüssel durch. Praktisch durchführbar ist dieser Angriff bei modernen Algorithmen jedoch nicht, die Anzahl der möglichen Schlüssel ist zu groß. Für den IDEA-Algorithmus mit 128-Bit-Schlüssel lässt sich folgende Rechnung aufstellen: Wenn alle Menschen auf der Erde zusammen dieselbe Chiffre knacken wollen und jeder Mensch pro Nanosekunde einen Schlüssel prüfen könnte, würde der Brute-Force-Angriff länger dauern als das Universum alt ist.
|