-
Die
Erfindung betrifft ein Verfahren zur gesicherten Erstellung digitaler
Signaturen und/oder zur gesicherten Authentifizierung von Benutzern
mit Hilfe einer speziellen an einen Computer angeschlossenen Vorrichtung,
sowie diese Vorrichtung. Die für
die Signatur/Authentifizierung erforderlichen kryptografischen Schlüssel und
Algorithmen sind auf einer speziellen Chipkarte gespeichert, welche
mittels eines in der Vorrichtung vorzugsweise integrierten Chipkartenlesers
angeschlossen ist. Die Vorrichtung weist weiters vorzugsweise eine
Betätigungsvorrichtung auf,
mittels welcher der Anwender sicherheitskritische Operationen wie
beispielsweise Erstellung von Signaturen, Zugriff auf zutrittsbeschränkte Bereiche der
Chipkarte oder des Gerätes,
etc, vor deren Durchführung
bestätigen
muss. Diese Operationen werden nur durchgeführt, wenn zuvor die Betätigungsvorrichtung
betätigt
wurde. Weiters verhindert die Programmierung des Geräts so genannte
Denial-of-Service Attacken.
-
Viele
Anwendungen in Computernetzwerken und im Internet, beispielsweise
Internet-Banking oder Internet-Auktionen erfordern die gesicherte
Authentifikation von Benutzern und/oder Daten. Dazu werden heute
meist softwaregestützte
Verfahren wie Benutzername mit Passwort oder PIN kombiniert mit
verschlüsselter Übertragung
(z.B. SSL) verwendet. Bei erhöhten
Sicherheitsanforderungen werden zusätzlich meist Transaktionsnummern
(TAN) eingesetzt. Diese sind aus kryptografischer Sicht so genannte Einmal-Codes
und gelten daher nur für
jeweils eine Transaktion. Alle genannten Verfahren basieren auf Softwareimplementierungen.
Sie sind daher nur unter der Voraussetzung sicher, dass der Computer
des Anwenders frei von unautorisierten Programmen (beispielsweise
Trojanern oder Viren) ist, welche die Daten zur Benutzeridentifikation
ausspähen
und – vom
Benutzer unbemerkt – an
Angreifer übertragen können. Weiters
setzen diese Verfahren voraus, dass der Anwender nicht selbst – mehr oder
weniger bewusst – seine
Identifikationsdaten an Unbefugte weitergibt. Beide Voraussetzungen
sind heute in der Praxis allerdings nicht gegeben. Fast täglich werden neue
Trojaner bekannt, die Sicherheitslücken in Betriebssystemen ausnützen und
gezielt Identifikationsdaten ausspähen. Kriminelle Organisationen
locken mittels so genannter „Phishing-Mails" ahnungslosen Anwendern
ihre Identifikationsdaten heraus und greifen damit ihre Konten an.
-
Als
Gegenmaßnahmen
gegen diese Bedrohungen wurden in den letzten Jahren chipkartenbasierte
Verfahren zur Authentifizierung und für digitale Signaturen entwickelt.
Bei diesen Verfahren sind die für
die Signatur erforderlichen kryptografischen Schlüssel gegen
Auslesen gesichert in einer Chipkarte gespeichert. Zur Durchführung einer
Signatur muss der Anwender eine PIN eingeben, die von der Karte
selbst geprüft
wird. Die zu signierenden Daten werden in die Karte übertragen
und dort signiert. Basierend auf einer solchen Karte lassen sich
sichere Authentifizierungsverfahren entwickeln, die einen Großteil der
oben genannten Probleme lösen.
Allerdings werfen sie gleichzeitig wieder eine Reihe neuer Schwierigkeiten
auf.
-
Um
eine Chipkarte zum Einsatz bringen zu können, ist die Verwendung eines
Kartenlesegeräts für Chipkarten
notwendig. Die Kartenlesegeräte
werden in Sicherheitsklassen eingeteilt, höhere Klassen bedeuten höhere Sicherheit.
Die derzeit am Markt erhältlichen
Chipkartenleser können
in drei Klassen eingeteilt werden.
-
Ein
Kartenleser der Klasse 1 dient lediglich als Kanal zur Karte. Es
findet kein Eingriff des Kartenlesers in den transparenten Kartenzugriff
vom PC aus statt. Jeder Befehl wird also direkt weiter zur Karte
geleitet. Das Kartenlesegerät
kann eine Tastatur und ein Display besitzen, dieses steht aber nicht
unter der ausschließlichen
Kontrolle des Chipkartenlesegeräts,
die Tastatur bzw. das Display können
also vom PC ferngesteuert werden.
-
Ein
Kartenleser der Klasse 2 besitzt eine Tastatur, die zumindest zeitweise
unter die ausschließliche
Kontrolle des Kartenlesers gestellt werden kann, d.h. der PC kann
die dort eingegebenen Daten nicht "mithören".
-
Ein
Kartenleser der Klasse 3 besitzt eine Tastatur und ein, in der Regel
alphanumerisches, Display, die zumindest teilweise unter die ausschließliche Kontrolle
des Kartenlesers gestellt werden können, so dass der PC die Tastatureingaben
nicht mithören
und die Displayausgaben nicht beeinflussen kann. Die Tastatur und
das Display werden dann ausschließlich von der Firmware des
Kartenlesers gesteuert. Kartenleser der Klasse 3 kommen für die Verwendung
der Geldkarte im Internet oder für
das Anzeigen und Bestätigen
von HBCI-Überweisungsdaten
zum Einsatz.
-
Ein
wesentlicher Schwachpunkt von chipkartenbasierten Authentifizierungsschemen
besteht darin, dass die PIN der Karte nur dann sicher vor Angriffen
ist, wenn Chipkartenleser der Klasse 2 oder 3 verwendet werden.
Im anderen Fall könnte
die PIN von Trojanern oder Viren im Computer des Anwenders abgehört und die
im Leser befindliche Karte mittels der abgehörten PIN missbräuchlich
verwendet werden. Weiters muss der Anwender dazu angeleitet werden,
seine PIN niemals an der Tastatur seines Computers, sondern immer
nur an der Tastatur des Kartenlesers einzugeben. Beide Aspekte stellen
im praktischen Betrieb ein Problem dar und relativieren daher den
durch die Chipkartenimplementierung gewonnenen Sicherheitsvorteil.
-
In
der WO 99/08415 A wird dieses Problem dadurch gelöst, dass
die Chipkartenleseeinheit mit einem Betätigungselement (z.B. einer
Taste) ausgestattet ist, welches immer vor Erstellung einer Signatur
betätigt
werden muss. Damit ist sichergestellt, dass ein unautorisiertes
Programm im Computer des Anwenders selbst dann keine missbräuchlichen
Signaturen erstellen kann, wenn ihm die PIN bekannt ist und die
Karte in der Leseeinheit steckt.
-
Ein
weiteres Problem chipkartenbasierter Implementierungen sind so genannte „Denial-of-Service-Attacken". Damit sind Angriffe
unautorisierter Programme gemeint, die zum Ziel haben, die Chipkarte
auf Dauer gebrauchsunfähig
zu machen. Neben der Absicherung durch PINs bzw. PUKs ist in vielen
chipkartenbasierten Anwendungen der Lese- und/oder Schreibzugriff
auf einzelne Dateien der Karte kryptografisch abgesichert, d.h.
er ist von der Authentifikation mit einem kryptografischen Schlüssel abhängig. Sowohl
bei PIN/PUK als auch bei der Authentifikation mithilfe eines kryptografischen
Schlüssels
wird im allgemeinen nach einer bestimmten Anzahl von Fehlversuchen
für den
Code bzw. die Authentifikation die Karte, oder bestimmte Applikationen
der Karte, für
jede weitere Verwendung irreversibel gesperrt. Dieser Mechanismus
ist im Betriebssystem der Karte implementiert und soll verhindern,
dass der oder die Codes zu einer Karte bzw. der oder die Authentifizierungsschlüssel mittels
Brute Force Attacken (einfaches Ausprobieren) herausgefunden werden
kann. Der einzige Weg, dem Anwender die blockierte Applikation wieder
zur Verfügung
zu stellen, ist der Austausch der Karte oder – sofern vorgesehen – das Entsperren
mit einem Spezialschlüssel
bei persönlicher
Vorsprache an speziell ausgestatteten Arbeitsplätzen. Beides ist mit hohen
Kosten verbunden. Dieser Umstand kann von Angreifern mittels der
so genannten "Denial
of Service Attacke" ausgenützt werden.
Dabei verbreitet der Angreifer einen Virus oder eine andere bösartige
Software, welche Chipkarten gezielt unbrauchbar macht, die auf befallenen Systemen
verwendet werden, indem sie Verifizierungsversuche mit bewusst falschen
PINs/PUKs bzw. Authentifizierungs-versuche mit bewusst falschen
Schlüsseln
so lange durchführt,
bis die Karte unbrauchbar ist. Eine solche Attacke könnte kartengestützte Systeme
für E-Government,
E-Banking, E-Health und dgl. wirksam sabotieren und beträchtlichen
Schaden verursachen. Die Verwendung von Klasse 2 oder 3 Lesern bzw.
einer Vorrichtung gemäß WO 99/08415
löst diese
Probleme nicht, da hier die PIN zwar möglicherweise gegen Missbrauch
geschützt
ist, eine Denial-of-Service Attacke auf PUK oder Authentifizerungsschlüssel der
Karte jedoch nach wie vor möglich
ist.
-
Ein
weiteres praktisches Problem chipkartenbasierter Systeme ist die
mit dem Kartenleser verbundene Treiberinstallation. Jeder Kartenleser
benötigt
einen eigenen Treiber, welcher vor Verwendung auf dem Computer installiert
werden muss. Damit verbunden sind nicht selten technische Probleme, wodurch
die Kosten steigen und die Akzeptanz der Kunden sinkt.
-
Um
eine Chipkarte aus einer browserbasierten Internet-Anwendung ansprechen
zu können reicht
die Installation eines Treibers für den Kartenleser allein nicht
aus. Die Internet-Anwendung muss entweder aktive Browser-Komponenten
verwenden oder der Anwender muss ein geeignetes Browser-Plugin installieren.
Aktive Browser-Komponenten werden meist von den Sicherheitseinstellungen
des Browsers blockiert, während
die Installation von Plug-Ins zu langen Downloadzeiten und organisatorischen
Problemen führt.
Beide Lösungsmöglichkeiten sind
also in der Praxis mit organisatorischen und technischen Problemen
und damit mit hohen Kosten für
die Anwendungsbetreiber verbunden. Weiters schränken sie die Mobilität der Signaturfunktionen ein,
da der Kunde nur auf einem solchen Computer signieren kann, der
die entsprechenden Einstellungen/Installationen aufweist. Daher
genügen
solche Anwendungen den heute üblichen
Mobilitätsanforderungen
nicht. Der Kunde möchte
seine Bankgeschäfte
von jedem beliebigen PC aus durchführen können (z.B. im Büro, zu Hause,
Internet-Cafe, Hotel, ...)
-
Aus
den oben genannten Gründen
konnten sich chipkartenbasierte Authentifizierungslösungen auf
dem Massenmarkt bisher nicht durchsetzen. Zwar gibt es bereits signaturfähige Chipkarten
mit flächendeckender
Verbreitung (z.B. in Österreich e-Card
im Sozialversicherungsbereich, Maestro-Karte im Bankenbereich) und
auch die erforderliche Zertifikatsinfrastruktur ist vorhanden (z.B.
A-Trust), jedoch verhinderten die hohen Kosten und die mangelnde
Benutzerfreundlichkeit der Kartenleserinstallationen sowie die stark
beschränkte
Mobilität
bisher die breite Anwendung – und
das trotz der zweifelsfrei bestehenden massiven Sicherheitsprobleme
in vielen Anwendungsbereichen, vor allem aber im Internet-Banking.
-
Die
Aufgabe der vorliegenden Erfindung ist es daher, eine Vorrichtung
und ein Verfahren zur Signaturerstellung und Authentifizierung zu
schaffen, mit welchen die oben beschriebenen Probleme gelöst werden.
Diese Vorrichtung und dieses Verfahren sollen ohne Installation
von Treibern und ohne aktive Browserinhalte für die Erstellung chipkartenbasierter Signaturen
und Authentifizierungen verwendet werden können und so unbeschränkte Mobilität und Benutzerkomfort
bieten. Geeigneten hard- und softwaretechnischen Mechanismen sollen
sowohl Angriffe durch missbräuchliche
Verwendung der PIN als auch Denial-of-Service-Attacken verhindern
und damit sowohl dem Anwender als auch dem Anwendungsbetreiber maximale
Sicherheit bieten.
-
Die
Aufgabe wird durch eine Vorrichtung gemäß den Merkmalen des Anspruches
1 und einem Verfahren gemäß den Merkmalen
des Anspruches 3 gelöst.
Die Unteransprüche
kennzeichnen eine bevorzugte Ausführungsform der erfindungsgemäßen Vorrichtung
bzw. des erfindungsgemäßen Verfahrens.
-
Die
erfindungsgemäße Vorrichtung – im Folgenden
gesamthaft auch als Signaturdongle bezeichnet – ist ein integriertes System
bestehend aus den folgenden Komponenten: Eine Chipkarten-Lese-Schreibeinrichtung,
vorzugsweise ein Betätigungselement
zur Verhinderung der missbräuchlichen
Verwendung der PIN, PUK und/oder der Authentifizierungsschlüssel der
Chipkarte, einer Schnittstelle zum Anschluss an einen Computer mittels
eines im Betriebssystem des Computers standardmäßig vorgesehenen Protokolls
(z.B. USB), sowie geeigneter Softwarekomponenten, die einerseits Denial-of-Service-Attacken
verhindern und andererseits die Anbindung an Computer-Applikationen ohne
Treiberinstallation und aktive Browserkomponenten ermöglichen.
-
In
einer Variante der Erfindung kann die Chipkarten-Lese-Schreibeinheit
auch über
ein Kabel angeschlossen sein.
-
Zum
besseren Verständnis
soll die Erfindung auch anhand der beiliegenden Zeichnungen beschrieben
werden, wobei die 1 das Schema einer bevorzugten
erfindungsgemäßen Vorrichtung zeigt
und die 2 den Ablauf eines bevorzugten
erfindungsgemäßen Verfahrens
darstellt.
-
1 zeigt
den schematischen Aufbau des Signaturdongles. Das Signaturdongle
enthält
eine Chipkartenlese-/schreibvorrichtung 9 und ein Betätigungselement 8.
Das Signaturdongle simuliert gegenüber dem Computer zwei Laufwerke,
nämlich
ein CD-ROM Laufwerk 1 für
Leseoperationen und einen Wechseldatenträger 2 für Lese-/Schreiboperationen. Die
Anbindung erfolgt über
ein Standardprotokoll, vorzugsweise eine USB-Schnittstelle 3.
Das simulierte CD-ROM Laufwerk 1 enthält ein Programm, den so genannten
http-Responder 4, welches zur Ausführung am Computer bestimmt
ist. Der simulierte Wechseldatenträger enthält einen Interface-Speicherbereich 5,
der zum Datenaustausch zwischen Signaturdongle und Computer dient,
eine Tabelle mit Konfigurationsdaten 7, welche zur Verhinderung
von Denial-of-Service Attacken dient, sowie eine interne Software 6 zur
Steuerung der Funktionen des Signaturdongles und des Betätigungselements 8 unter
Berücksichtigung
der Konfigurationsdaten 7 und zur Kommunikation zwischen
dem Speicherbereich 5 und Chipkartenlese-/schreibvorrichtung 9.
-
2 zeigt
den Ablauf einer Signaturerstellung. Vom technischen Standpunkt
her besteht zwischen der gesicherten Authentifikation eines Benutzers
und der Signierung von Daten kein Unterschied. Im ersten Fall wird
einfach das Login-Formular
signiert. Wir betrachten im Folgenden daher nur mehr den Fall der
Signaturerstellung.
-
Für die Durchführung einer
Signatur fordert die Anwendung 22 des Computers den Anwender zum
Anstecken des Signaturdongles auf und verlangt die Eingabe der PIN.
Nach dem Anstecken des Signaturdongles an die Schnittstelle 1 des
Computers wird vom Betriebssystem automatisch die Autorun-Funktion
des vom Signaturdongle simulierten CD-ROM Laufwerks aktiviert. Dadurch
wird das auf dem Signaturdongle gespeicherte http-Responderprogramm 4 automatisch
in den Computer geladen und dort gestartet 21. Am Vorhandensein
des http-Responderprogramms 21 kann
die Anwendung 22 erkennen, dass das Signaturdongle angesteckt ist.
Die Anwendung 22 sendet über das Standard http-Protokoll einen Signaturrequest 23 an
den http-Responder 21. Dieser Request enthält alle
für die
Signatur erforderlichen Daten einschließlich der PIN. Der http-Responder 21 schreibt
die für
die Durchführung
der Signatur erforderlichen Daten 24 in den Interface-Speicherbereich 5 des
vom Signaturdongle simulierten Wechseldatenträgers 2. Die interne
Software 6 des Signaturdongles liest diesen Speicherbereich
aus und interpretiert die Daten. Sie überprüft anhand der Konfigurationsdaten 7 ob
der gewünschte
Befehl für
diese Karte überhaupt
zulässig
ist, und wenn ja, ob eine Bestätigung
des Anwenders über
das Betätigungselement 8 erforderlich
ist. Sofern eine Bestätigung
des Anwenders erforderlich ist, muss dieser über den http-Responder 21 dazu aufgefordert werden.
Die interne Software 6 schreibt diese Anforderung in den
Interface-Speicherbereich 5,
von wo sie vom http-Responder 21 ausgelesen und eine entsprechende
Aufforderung am Computer angezeigt wird. Die interne Software 6 leitet
erst nach erfolgter Bestätigung
des Anwenders durch das Betätigungselement 8 den
Signaturrequest über
die Kartenlese-/schreibvorrichtung 9 an die Chipkarte weiter.
Die von der Karte erstellte Signatur wird wieder in den Interface-Speicherbereich 5 geschrieben, von
wo sie vom http-Responder 21 ausgelesen wird 25.
Die Anwendung 22 erhält
die Signatur als http-Antwort 26 vom http-Responder.
-
Die
Protokollparameter wie Port, URL, Nachrichtenstruktur und -protokoll
für die
Kommunikation zwischen http-Responder 21 und Anwendung 22 werden
durch die Implementierung des http-Responders 21 vorgegeben
und müssen
von allen Anwendungen, welche Funktionen des Signatur-Dongles nützen wollen,
eingehalten werden. Auf diese Weise entsteht ein Quasi-Protokollstandard
für Signaturen.
-
Die
Erweiterung des Signatur-Dongles auf neue, bisher nicht unterstütze Chipkarten
erfolgt durch Anpassung der http-Responder Software 4 im simulierten
CD-ROM Laufwerk 1 des Signaturdongles.
-
Der
http-Responder 21 kann so programmiert sein, dass er automatisch
beendet wird, sobald das Signaturdongle 27 vom Computer
entfernt wird.
-
In
den Konfigurationsdaten 7 sind Informationen in Form eines
Datenpaares aus dem ATR der Chipkarte und dem zu blockierenden bzw. über das Betätigungselement 8 zu
bestätigenden
sicherheitskritischen Kommando abgelegt. Der ATR (Answer to Reset)
identifiziert eine Serie von Chipkarten eindeutig und kann daher
als Identifikationsmerkmal herangezogen werden. Die Regeln werden
vom Hersteller des Signaturdongles jeweils aktuell zur Verfügung gestellt
und werden z.B. als Download von einer Internetseite angeboten.
Der Benutzer des Signaturdongles lädt sich jeweils die aktuellen
Konfigurationsdaten auf seinen PC und kann diese Daten mit einer vom
Hersteller des Signaturdongles zur Verfügung gestellten Software im
Signaturdongle abspeichern. Das Update der Regeln in den Konfigurationsdaten kann
zudem kryptografisch gegen Verfälschung
gesichert sein (z.B. durch digitale Signatur der Regeleinträge).
-
In
einer weiteren Ausführungsform
der Erfindung können
zusätzlich
oder alternativ zu den o.a. Blockaderegeln auch Bestätigungsregeln
in den Konfigurationsdaten gespeichert werden. Eine Bestätigungsregel
bewirkt, dass für
eine Karte mit einem bestimmten ATR beim Versuch eines authentifizierten Lese-
oder Schreibzugriff auf eine bestimmte kryptografisch abgesicherte
Datei eine vom Benutzer eine Bestätigung mittels des Betätigungselementes 8 angefordert
wird. Das Signaturdongle führt
den angeforderten Zugriff nur dann aus, wenn der Benutzer diesen
durch Bestätigung
mittels des Betätigungselements 8 zulässt. In
den einzelnen Bestätigungsregeln
ist angegeben, welche der Dateien auf der Karte durch eine solche
Benutzerbestätigung
abgesichert werden können.
Auf diese Weise ist sichergestellt, dass keine Software unbemerkt
vom Benutzer Authentifizierungsversuche für derart abgesicherte Dateien
durchführen
kann. Für
jede Chipkartenserie (durch den ATR identifiziert) können beliebig
viele Regeln abgespeichert werden.
-
Die
oben genannte Problemstellung wird durch das erfindungsgemäße Zusammenwirken
der beschriebenen Komponenten wie folgt gelöst:
Die Sicherheit der
PIN gegen Missbrauch sowie die Sicherheit der Chipkarte gegen Denial-of-Service
Attacken wird durch die Kombination der Kombinationsdaten 7 mit
dem Betätigungselement 8 erreicht. Die
PIN wird nur dann an die Karte weitergeleitet, wenn das Betätigungselement 8 zuvor
betätigt
wurde. Damit ist sichergestellt, dass nicht eine unautorisierte
Computeranwendung mittels einer einmal eingegebenen PIN missbräuchlich
Signaturen erstellt. Ebenso werden sicherheitskritische Kommandos
in Abhängigkeit
von den Konfigurationsdaten entweder gar nicht oder erst nach Bestätigung durch
das Betätigungselement 8 an
die Karte weitergeleitet. Die Karte ist damit vor mutwilliger Zerstörung durch
z.B. absichtlich falsche PUK-Eingaben sicher.
-
Durch
die Verwendung einer Standardschnittstelle, vorzugsweise USB, in
Verbindung mit der Emulation von Laufwerken und der Autorun-Funktion
muss keinerlei Software oder Treiber am Computer installiert werden.
-
Durch
die Ausgestaltung der Software als http-Responder benötigt die
Anwendung keine aktiven Komponenten. Damit kann jede Anwendung,
die sich an das Protokoll des http-Responders hält, ohne Sicherheitseinschränkungen
und ohne Installation von Plugins die Funktionen des Signaturdongles
nutzen.
-
- 1
- CD-ROM
Laufwerk
- 2
- Wechseldatenträger
- 3
- USB-Schnittstelle
- 4
- http-Responder
- 5
- Interface-Speicherbereich
- 6
- Software
- 7
- Konfigurationsdaten
- 8
- Betätigungselement
- 9
- Chipkarten-Lese-Schreibvorrichtung
- 21
- http-Responderprogramm
- 22
- Anwendung
- 23
- Signaturrequest
- 24
- Daten
- 25
- Auslesen
- 26
- http-Antwort
- 27
- Signaturdongle