Die Erfindung betrifft ein Verfahren zur gesicherten Erstellung digitaler Signaturen und/oder zur gesicherten Authentifizierung von Benutzern mithilfe 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 IntemetBanking 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 Gegenmassnahmen gegen diese Bedrohungen wurden in den letzten Jahren chipkartenbasierte Verfahren zur Authentifizierung und für digitale Signaturen entwiekelt. 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 Grossteil 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 ausschliesslichen 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 ausschliessliche Kontrolle des Kartenlesers gestellt werden kann, d.h. der PC kann die dort eingegebenen Daten nicht "mithören".
Ein Kartenleser der Klasse 3 besitz eine Tastatur und ein, in der Regel alphanumerisches, Display, die zumindest teilweise unter die ausschliessliche 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 ausschliesslich 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 befind liehe 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 WO99/08415A 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 Brüte 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 EGovemment, 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äss WO99/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 BrowserKomponenten 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 eCard 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 hardund 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äss den Merkmalen des Anspruches 1 und einem Verfahren gemäss den Merkmalen des Anspruches 3 gelöst.
Die Unteransprüche kennzeichnen eine bevorzugte Ausführungsform der erfindungsgemässen Vorrichtung bzw. des erfindungsgemässen Verfahrens.
Die erfindungsgemässe 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ässig 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 Fig.1 das Schema einer bevorzugten erfin dungsgemässen Vorrichtung zeigt und die Fig. 2 den Ablauf eines bevorzugten erfindungsgemässen Verfahrens darstellt.
Fig 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 CDROM 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 InterfaceSpeicherbereich 5, der zum Datenaustausch zwischen Signaturdongle und Computer dient, eine Tabelle mit Konfigurationsdaten 7, welche zur Verhinderung von Denialof-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.
Fig. 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 httpResponder 21. Dieser Request enthält alle für die Signatur erforderlichen Daten einschliesslich der PIN.
Der http-Responder 21 schreibt die für die Durchführung der Sig natur 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 httpResponder 21 ausgelesen wird 25. Die Anwendung 22 erhält die Signatur als httpAntwort 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 Anwendüngen, 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ässe 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 PUKEingaben 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.