<Desc/Clms Page number 1>
Die Erfindung betrifft ein Terminal für gesichertes Bestätigen von Daten, wie für das Anbringen einer digitalen Signatur an elektronischen Dokumenten und/oder für Zahlvorgänge mit elektronischen Zahlungsmitteln sowie ein Verfahren zum gesicherten Bestätigen von Daten.
Unter"digitaler Signatur"versteht man ein Verfahren, mit welchem die Echtheit elektronischer Dokumente und Dateien beliebiger Art sichergestellt werden kann. Das Verfahren beruht auf einem asymmetrischen Verschlüsselungsalgorithmus.
Für jeden Beteiligten am Signatursystem wird ein Schlüsselpaar generiert, ein geheimer und ein öffentlicher Schlüssel, die in einem bestimmten mathematischen Verhältnis zueinander stehen. Zum Erzeugen der digitalen Signatur benutzt der Absender seinen geheimen Schlüssel, praktisch als spezielles Unterschriftsmerkmal. Der zu unterschreibende Text wird zunächst mit einem sogenannten Hash-Verfahren komprimiert, das so entstandene Komprimat nach einem vorgegebenen Algorithmus mit dem geheimen Schlüssel verknüpft und das Ergebnis als digitale Signatur dem zu übertragenden Brief angehängt. Der Empfänger komprimiert nun ebenfalls den Text und vergleicht dieses Komprimat mit dem in der digitalen Signatur enthaltenen Komprimat, das sich durch Entschlüsseln der Signatur mit dem öffentlichen Schlüssel des Absenders ergibt.
Bei
<Desc/Clms Page number 2>
Übereinstimmung steht fest, dass der gesendete und empfangene Text gleich sind, es also weder Manipulationen noch Übertragungsfehler gegeben hat. Es steht aber auch fest, dass nur der Absender, der im Besitz des geheimen Schlüssels ist, die Signatur erzeugt haben kann, weil sonst der öffentliche Schlüssel nicht "passen" würde, also keine Transformation auf das ursprüngliche Komprimat hätte erfolgen können.
Die Kommunikationspartner erhalten dabei zunächst jeweils ein individuelles Schlüsselpaar, bestehend aus einem öffentlichen und einem dazu komplementären geheimen Schlüssel.
Die öffentlichen Schlüssel sind beiden Partnern bekannt und darüber hinaus im Prinzip auch jedem weiteren potentiellen Kommunikationspartner zugänglich. Die geheimen Schlüssel dagegen verbleiben beim einzelnen Kommunikationspartner, der sie sicher aufbewahrt (z. B. in einer persönlichen Chipkarte).
Neben der kryptologischen Sicherheit des angewandten Signaturverfahrens ist auch die Sicherheit der Implementierung eine wesentliche Voraussetzung für die rechtliche Relevanz digitaler Signaturen. Denn aus der Sicht des Anwenders ist eine digitale Signatur natürlich nur dann brauchbar, wenn er sich während des Signaturprozesses sicher sein kann, dass genau das, was er auf seinem Bildschirm vor sich sieht, signiert wird und nichts anderes ("What you see is what you sign"). In der Fachliteratur spricht man in diesem Zusammenhang auch von der Forderung nach einem sog. "Secure Viewer", also einem (Software-) System, das genau diese Sicherheitsfunktion garantieren soll.
In den verbreiteten offenen Systemarchitekturen für PCs
<Desc/Clms Page number 3>
ist diese Forderung aber nur sehr schwer zu erfüllen. Das Problem besteht darin, dass Computerviren, Trojanische Pferde oder andere unautorisierte Programme das Dokument vor der Signatur verfälschen können, ohne dass dies der Benutzer bemerkt. Der Benutzer würde in diesem Fall ein gefälschtes Dokument mit einer echten Unterschrift versehen. Was das z. B. für die Unterzeichnung von Verträgen oder die Abwicklung von Bankgeschäften bedeuten würde, lässt sich unschwer ausmalen. Für die gesetzliche Anerkennung digitaler Signaturen als rechtsgültige Unterschriften ist eine zufriedenstellende Lösung dieses Problems unbedingt erforderlich.
Bezüglich der digitalen Signatur ist es bekannt, dass Unterschriftssysteme entweder in Hard- oder in Software implementiert werden können. Eine bekannte Softwareimplementierung ist z. B. PGP"Prettty Good Privacy", für Hardwareimplementierungen werden in letzter Zeit zusehends Smart Cards mit entsprechenden Kartenlesern herangezogen.
Die Smart Cards sind üblicherweise mittels einer Geheimzahl (PIN) oder biometrischer Methoden gegen Missbrauch gesichert. Signaturterminals enthalten einen Kartenleser zur Aufnahme der Smart-Card und optional auch eine Tastatur zur Eingabe der PIN bzw. Software. zur Berechnung des Hash-Komprimats der zu signierenden Datei.
Diese Lösungen existieren für die unterschiedlichsten Systemumgebungen, lösen aber allesamt das oben adressierte Problem des Secure Viewer nicht. Denn auch eine Implementierung des Signaturverfahrens in einer Smart-Card sichert nur den Signaturvorgang selbst, schützt aber nicht vor einer unautorisierten Veränderung der zu signierenden Datei durch z. B. Computerviren vor dem eigentlichen Signaturvorgang.
<Desc/Clms Page number 4>
Bekannt sind auch Softwarelösungen für Secure Viewer für unterschiedlichste Dateiformate. Diese bieten jedoch entweder keinen ausreichenden Schutz gegen unautorisierte Programme oder setzen bestimmte sichere Betriebssysteme voraus. Eine solche Lösung bietet allenfalls einen gewissen Schutz des eigenen PCs des Benutzers. Einen sicheren Signaturvorgang an öffentlichen Terminals kann sie aber nicht ermöglichen.
In einer offenen Systemumgebung kann der Benutzer auf dem Bildschirm grundsätzlich nicht erkennen, ob ein Secure Viewer oder ein unautorisiertes Programm aktiv ist.
Das Bezahlen mit elektronischen Zahlungsmitteln, wie Kreditkarte, Bankomatkarte oder elektronischer Geldbörse, ist sehr beliebt. In den letzten Jahren setzt sich vor allem die elektronische Geldbörse immer mehr durch. Darunter versteht man ein Zahlungsverfahren, bei dem der Kunde Geldbeträge von seinem Bankkonto in die elektronische Geldbörse laden kann. Im allgemeinen ist die elektronische Geldbörse in einer Smart Card implementiert, welche von einer Bank ausgegeben wird. Der Ladevorgang erfolgt normalerweise in einer Online-Transaktion zum Bankrechner. Dabei tritt die elektronische Geldbörse zum authentifizierten Laden des Geldbetrags in eine kryptografische End-zu-End-Sitzung mit einem Sicherheitsmodul der Bank. Der Zahlungvorgang erfolgt hingegen im allgemeinen offline und ohne PIN-Eingabe.
Bei der Zahlung tritt die elektronische Geldbörse in eine kryptografische Interaktion mit einer speziellen Karte des Zahlungspartners (Händlers). Der Transaktionsbetrag wird vom in der elektronischen Geldbörse gespeicherten Guthaben abgebucht und der Karte des Händlers gutgeschrieben. Da sämtliche Interaktionen durch kryptografische End-zu-End-Protokolle abgesichert sind, spielt die Entfernung und Systeminfrastruktur der Transaktionspartner sicherheitstechnisch keine Rolle. Sowohl die Ladung als auch die Zahlung kann
<Desc/Clms Page number 5>
daher über potentiell unsichere Medien (z. B. Internet) erfolgen, ohne dass eine Gefahr für die Systemsicherheit besteht. Die elektronische Geldbörse ist daher grundsätzlich für sichere Zahlungen in solchen Medien sehr gut geeignet.
Sieht man die Sicherheitsaspekte bei Zahlungen mit der elektronischen Geldbörse in unsicheren Medien (z. B. Internet) an, erkennt man, wie gesagt, dass die elektronische Geldbörse vom kryptologischen Standpunkt her grundsätzlich sichere Zahlungen im Internet ermöglicht. Im Prinzip benötigt man dafür nur einen Smart Card Reader samt geeigneter Software, der an den PC des Kunden angeschlossen wird. Doch stellt sich-in Analogie zum Problem"What you see is what you sign" bei der digitalen Signatur - hier das Problem"What you see is what you pay". Der Kunde muss beim Zahlvorgang sicher sein, dass ihm nur der am Bildschirm angezeigte und von ihm freigegebene Betrag von der elektronischen Geldbörse abgebucht wird.
Bei Zahlungen an Bankterminals und an Zahlungsterminals in Geschäften ist dies insofern sichergestellt, als das Terminal konstruktionsbedingte Vorkehrungen gegen Manipulationen aufweist und Hersteller sicherheitstechnische Gutachten vorlegen müssen. In einer unsicheren Umgebung wie dem Internet ist dies jedoch grundsätzlich anders.
Das Problem besteht darin, dass Internet-Programme betrügerischer Händler oder unautorisierte Programmroutinen (Viren, Trojanische Pferde, etc. ) auf dem PC des Anwenders die Betragsanzeige verfälschen können. Die Folge : Dem Kunden wird ein höherer Betrag von seiner Geldbörse abgebucht, als er tatsächlich freigegeben hat. Solche Manipulationen können erst nach der Transaktion durch eine Überprüfung des Börsensaldos festgestellt werden. Für den Anwender ist es im allgemeinen unmöglich, derartige zu Unrecht abgebuchte Beträge zurück zu erhalten, da es sich bei der elektronischen Geldbörse um eine anonyme Zah-
<Desc/Clms Page number 6>
lungsmethode ohne Aufzeichnung von Einzeltransaktionen handelt.
Die vorliegende Erfindung löst sowohl das Problem des Secure Viewers als auch der sicheren Zahlung mit einem elektronischen Zahlungsmittel, wie der elektronischen Geldbörse bzw. einer Kredit-oder Debitkarte auf Smart Card-Basis, indem es den zu signierenden Text bzw. den abzubuchenden Betrag aus dem Computersystem, mit dem die zu signierenden Daten bzw. die Rechnungsbeträge erstellt werden, in eine separate Hardware auslagert.
Erfindungsgemäss ist ein mikroprozessorgesteuertes Terminal zum gesicherten Bestätigen von-in einem Computersystem erzeugten Daten vorgesehen, das über beliebige Schnittstellen am Computersystem angeschlossen ist, ein gegen unautorisierte Softwareeinbringung abgesichertes bzw.
proprietäres Betriebssystem, eine Schnittstelle zur Aufnahme eines persönlichen Datenverarbeitungselementes des Benützers, vorzugsweise einer Smartcard, eine Tastatur zur Eingabe des persönlichen Code-des Benutzers, zur Steuerung des Terminals und/oder zur Dateneingabe, einen Bildschirm beliebiger Grösse und Bauart, optional Hardund Software zur biometrischen Benutzerauthentifizierung und Software zur Anzeige und Bearbeitung der vom Computersystem an das Terminal übertragenen Daten sowie zum Lesen und gegebenenfalls auch zum Bearbeiten der Daten auf dem persönlichen Datentverarbeitungselement aufweist.
Vorzugsweise ist das persönliche Datenverarbeitungselement des Benützers ein Signaturtoken und die Bearbeitungssoftware ist unter anderem Software zur Anzeige von gängigen Dateiformaten auf dem eingebauten Bildschirm, vorzugsweise Formate von Text-, TabellenkalkulationsGrafik-, oder Bankdateien, und Software, durch die auf Veranlassung des Benutzers ein Signaturvorgang unter Ver-
<Desc/Clms Page number 7>
wendung des vom Benutzer eingeführten Signaturtokens durchgeführt wird und die resultierenden Signaturdaten an das Computersystem ausgegeben werden.
EMI7.1
EMI7.2
EMI7.3
dar.
Dabei wird insbesondere bevorzugt, dass Software vorgesehen ist, die sicherstellt, dass von aussen keinerlei lauffähige Softwareprogramme eingebracht werden können, es sei denn, die Softwareprogramme weisen eine korrekte digitale Signatur einer Trusted Party auf, vorzugsweise des Herstellers des Terminals oder des Betreibers des Signatursystems.
Ist das persönliche Datenverarbeitungselement des Benützers ein elektronisches Zahlungsmittel, wie eine elektronische Geldbörse, so enthält die Bearbeitungssoftware unter anderem Software zur Interpretation von Transaktionen mit dem elektronischen Zahlungsmittel, wie der elektronischen Geldbörse, zur Anzeige der relevanten Daten auf dem eingebauten Bildschirm und zur Steuerung von Transaktionen mit dem elektronischen Zahlungsmittel, wie der elektronische Geldbörse.
Dabei wird die angezeigte Zahlungs- oder Ladetransaktion auf Veranlassung des Benutzers unter Verwendung des elektronische Zahlungsmittels, wie der elektronischen Geldbörse freigegeben.
Bei dem erfindungsgemässen Verfahren zum gesicherten Bestätigen von in einem Computersystem erzeugten Daten werden die Daten in die separate Hardware eines mikroprozessorgesteuerten Terminals ausgelagert, das ein gegen unau-
<Desc/Clms Page number 8>
torisierte Softwareeinbringung abgesichertes bzw. proprietäres Betriebssystem und Bearbeitungssoftware enthält, worauf die Daten auf einem Bildschirm des Terminals angezeigt werden, vom Benutzer bestätigt werden und die bestätigten Daten an das Computersystem zurückgegeben werden.
Wenn die Daten zu signierende Dateien sind, die am Bildschirm des Terminals durch die Bearbeitungssoftware, vorzugsweise im Format einer Text-, Tabellen-, Kalkulations-, Grafik oder Bankdatei angezeigt werden, wird die Datei erfindungsgemäss gegebenenfalls nach Authentifizie-
EMI8.1
metrischen Benutzerauthentifizierung im Terminal auf Veranlassung des Benutzers einem Signaturvorgang unter Verwendung eines vom Benutzer dem Terminal übergebenen oder im Terminal fix integrierten Signaturtokens, vorzugsweise einer Smart Card, unterworfen und die signierte Datei wird an das Computersystem zurückgegeben.
Wird erfindungsgemäss der elektronische Zahlungsvorgang mit einer elektronischen Geldbörse oder einem sonstigen elektronischen Zahlungsmittel, das auf persönlichen Datenverarbeitungselementen (z. B. in Form einer Smart Card) beruht, durchgeführt, die vom Benutzer dem Terminal übergeben wurde, gibt die Bearbeitungssoftware den durch die bestätigten Daten gegebenen Betrag für die gewünschte Transaktion mit dem elektronischen Zahlungsmittel frei.
Dieses Bestätigungsterminal 10, wie es schematisch in Fig. l dargestellt ist, enthält unter anderem die folgenden Komponenten : - ein Interface 1 zur Aufnahme eines persönlichen Daten- verarbeitungselementes wie des Signatur-Tokens des An- wenders, also beispielsweise einen Smart Card Reader
<Desc/Clms Page number 9>
(falls eine Smartcard als Signaturtoken verwendet wird), - alternativ oder zusätzlich ein Interface (Smart Card
Reader) für das elektronische Zahlungsmittel wie die elektronische Geldbörse des Anwenders, - einen Bildschirm 2 (z.
B. LCD-Display) für die Anzeige des zu signierenden Dokuments bzw. der Transaktionsda- ten mit dem elektronischen Zahlungsmittel, wie der elektronischen Geldbörse, - eine Tastatur 3 zur Eingabe der PIN (für Signatur) bzw. zur Freigabe von Zahlungen mit der Elektronischen Geld- börse und zur Steuerung des Terminals 10, - optional Hardware für die Benutzerauthentifizierung mittels biometrischer Verfahren, - ein Standardinterface 4 zum Computer 5 in beliebiger
Ausprägung (z. B. serielle Schnittstelle, Infrarot,
Netzwerk, etc.), - Viewer-Software für die Darstellung von Dokumenten in beliebigen Dateiformaten (z. B.
Textverarbeitungsdatei- en, Tabellenkalkulationsdateien, Grafikdateien, Bank- Überweisungsdaten, Buchhaltungsdaten, etc.), - Software zur Erstellung des für die Signatur erforder- lichen Hash-Komprimats nach verschiedenen Algorithmen, - Software für die Interpretation und Steuerung sämtli- cher Transaktionen mit dem elektronischen Zahlungsmit- tel, wie der elektronischen Geldbörse.
Das Bestätigungsterminal 10 besitzt ein proprietäres Betriebssystem und erlaubt es nicht, ausführbare Programme von aussen zu laden. Aus diesem Grund können von Dritten keine unautorisierten Programme (Viren, Trojanische Pferde) in das Terminal 10 geschmuggelt werden. Die auf dem Bildschirm 2 des Terminals 10 dargestellten Dateiinhalte stimmen daher vollkommen mit der zu signierenden elektronischen Datei bzw. mit den Transaktionsdaten der elektronische Geldbörse überein. Die Forderungen "What you see
<Desc/Clms Page number 10>
is what you sign" bzw "What you see is what you pay" sind daher erfüllt.
Softwareupdates für das Bestätigungsterminal 10 (z. B. Änderung oder Hinzufügen von Viewerprogrammen, Unterstützung weiterer Signaturverfahren, Unterstützung weiterer Börsen etc. ) erfolgen ausnahmslos in authentifizierter Form. Das heisst, dass jede Software, die von aussen in das Terminal geladen wird, vom Hersteller des Terminals bzw.
Systembetreiber digital signiert sein muss. Beim Einbringungsprozess überprüft das Terminal 10 diese digitale Signatur und akzeptiert nur Updates mit einem positiven Prüfergebnis. Updates mit einem negativen Ergebnis werden als unautorisiert abgelehnt. Auf diese Weise ist die völlige Softwareintegrität sichergestellt.
Natürlich können Hard- und Software des Terminals 10 und sein Softwaremanagement auch den Zertifizierungsverfahren unterzogen werden, wie sie im Rahmen der sich abzeichnenden Signaturgesetze vorgesehen sind.
Das Terminal kann nach Art eines PDA (Personal Digital Assistant) auch tragbar gestaltet sein, bzw. ist es auch denkbar, die Funktionen des signaturterminals in einen Standard-PDA zu integrieren (zB Palm Pilot, PSIONorganiser, Cassiopeia, etc).
In das offene Computersystem 5 können Programme und Daten über die Datenleitung oder den Internetzugang 6 sowie über die Tastatur 9 und entsprechende Laufwerke eingebracht werden. Je nach Verwendung und Anforderung können die Daten vom Benutzer unter Kontrolle am Bildschirm 7 verändert werden, bis die gewünschten Dokumente bzw. der gewünschte Zahlungsvorgang angezeigt wird. Dann werden die Daten über das Interface 4 an das Terminal 10 abgegeben. Da das Terminal 10 ein proprietäres Betriebssystem
<Desc/Clms Page number 11>
aufweist, das es nicht erlaubt, ausführbare Programme von aussen zu laden, die keine entsprechende digitale Signatur einer Trusted Party aufweisen, können normalerweise nur die reinen Daten übertragen werden, die dann unter Zuhilfnahme von im Terminal 10 vorhandenen Software im entsprechenden Format am Bildschirm 2 angezeigt werden.
Das Angezeigte entspricht nun der Forderung, what you see is what you sign, bzw. what you see is what you pay und der Benutzer muss jetzt in das Interface 1, das z. B. als Smart Card Reader ausgebildet ist, sein persönliches Datenverarbeitungselement einbringen, d. h., z. B. seine Signaturkarte oder sein elektronisches Zahlungsmittel einstecken, gegebenenfalls über die Tastatur einen Benutzercode eingeben und den Bestätigungsvorgang durchführen. Handelt es sich dabei um einen Signaturvorgang, so wird das Dokument z. B. mit einer geeigneten Hash-Software komprimiert und mit der digitalen Signatur versehen. Das signierte, komprimierte Dokument wird dann über das Interface 4 an das Computersystem 5 zurückgegeben und kann von dort mit anderen Dateien kombiniert weitergeleitet werden.
Handelt es sich bei dem Bestätigungsvorgang um einen Zahlungsvorgang, so muss, wenn erforderlich, auch über die Tastatur ein entsprechender Code eingegeben werden und der Betrag, der am Bildschirm 2 ausgewiesen ist, z. B. durch Betätigung einer Taste bestätigt werden. Ist das persönliche Datenverarbeitungselement ein elektronisches Zahlungsmittel, so kann eine geeignete Software auf dem Terminal 10 die Transaktion zwischen dem Computersystem 5 und dem elektronischen Zahlungsmittel freigeben. Der Benutzer kann sich sicher sein, dass er tatsächlich das Dokument, das er am Bildschirm 2 gesehen hat, signiert hat bzw. den Zahlungsbetrag, den er am Bildschirm 2 gesehen hat, gezahlt hat.