-
Gebiet der Erfindung
-
Die Erfindung betrifft vernetzte
Recheneinrichtungen, insbesondere wenn kryptographisches Signieren
verwendet wird zum Erreichen von Nachweisbarkeit, Zugangskontrolle,
Benutzerverifizierung etc.
-
Hintergrund
der Erfindung
-
Viele Arten von Anwendungen, z. B.
elektronischer Handel (E-Commerce) oder mobiler Handel (M-Commerce)
erfordern die Fähigkeit
des Bereitstellens eines dauerhaften Belegs, dass jemand eine Transaktion
autorisiert hat. Auch wird erwartet, dass das Signieren von Elektronikmaterial
wie zum Beispiel Verträgen,
Geschäftsberichten
und unterschiedlichen Arten von Formularen in naher Zukunft üblich wird.
-
E-Commerce und M-Commerce sind schnell wachsende
Geschäftsgebiete
und sowohl öffentliche als
auch private Verwaltungen scheinen Abstimmungen vorzunehmen zum
Zulassen elektronischen Signierens. Jedoch hängt ein Durchbruch für elektronisches
Signieren von sicheren , der manipulationssicheren und einfachen
Prozeduren ab und Lösungen ab.
Der signierende Teil muss sicher sein, dass was er/sei signiert,
das selbe ist, wie das beim empfangenden Teil Empfangene. Der empfangende
Teil muss sicher sein, dass der signierende Teil der ist, der er/sie
behauptet, zu sein. Ferner sollte das Signieren einfach sein ohne
das Erfordernis irgendwelcher technischer Kenntnisse auf Seiten
des Benutzers und vorzugsweise unabhängig von Zeit und Raum durchführbar.
-
Kryptographische Signaturen sind
in einer Vielzahl von Bereichen verwendet worden. Dies bezieht üblicherweise
zusätzlich
zum Benutzer, der der Inhaber der kryptographischen Signatureinrichtung ist,
ein Signaturbenutzungssystem ein und ein Signaturempfangssystem.
Das Signaturbenutzungssystem fordert den Benutzer auf, eine kryptographische Signatur
auf präsentierte
Daten anzuwenden. Der Benutzer signiert und gibt die Signatur zurück zu dem signaturverwendenden
System. Die Signatur unter Verwendung des Systems kann signierte
Daten und die Signatur zu dem signaturempfangenden System weiterleiten.
Das signaturempfangende System hat einen kryptographisch bindenden
Zusammenhang zwischen dem, was das signaturverwendende System dem
Benutzer zur Signatur präsentiert
und dem, was der Benutzer signiert.
-
Die PKI (Englisch: Public Key Infrastructure) bzw. öffentliche
Schlüsselinfrastruktur
ist ein weithin verwendetes System zum kryptographischen Signieren
und Authentisieren, das bei Fachleuten wohl bekannt ist. Ein vertrauenswürdiger Teil
in einem PKI-System gibt Paare elektronischer Schlüssel aus. Das
Paar besteht aus einem privaten Schlüssel und einem öffentlichen
Schlüssel.
Der private Schlüssel ist
nur dem Benutzer (oder einer Signatureinrichtung des Benutzers)
bekannt, wohingegen der öffentliche Schlüssel irgendwelchen
Zweiten bekannt ist, die dazu ausersehen sind, signierte Daten von
einem Benutzer zu empfangen. In der Einrichtung des Benutzers werden
das zu signierende Objekt und der private Schlüssel in irgendeinen Algorithmus
eingegeben, der das Objekt unter signierter Bedingung ausgibt. Beim
empfangenden Teil werden das signierte Objekt und der öffentliche
Schlüssel
eingegeben in einen anderen Algorithmus, der das Ursprungsobjekt
aus dem signierten Objekt extrahiert. Das Objekt wird nur korrekt
extrahiert werden, wenn der private Schlüssel es signiert hat. Folglich
kann der empfangende Teil sicher sein, dass das Objekt signiert
worden ist von diesem spezifischen Benutzer, wenn er den öffentlichen
Schlüssel
dieses Benutzers zum extrahieren verwendet hat, das Objekt signiert hat.
-
Viele Elektronikeinrichtungen verwenden
bereits kryptographisches Signieren. Ein Beispiel ist ein PC mit
installiertem Internetbrowser. Der Browser kann eine oder mehrere
Zertifikate einschließlich
privaten Schlüsseln
haben, die ausgegeben worden sind von einer oder mehreren vertrauenswürdigen Einrichtungen
oder so genannten Zertifizierungsinstanzen (CA vom englischsprachigen
Ausdruck Certification Authority).
-
Ein Problem dabei ist, dass ein PC üblicherweise
an einen festen Ort gebunden ist und/oder zu groß ist, um überall herumgetragen zu werden.
Jedoch ist das Bedürfnis
zum Signieren von Materialien nicht beschränkt auf Plätze, an welchen PCs angeordnet
sind oder getragen werden können.
-
Ferner ist ein PC, der immer oder
für längere Zeitdauern
online ist, sehr verletzbar in Bezug auf das Ausspähen von
Daten und es kann ein Risiko geben, dass Eindringlinge die privaten
Schlüssel
herausgreifen. Aus Sicherheitsgründen
mag ein Benutzer wünschen,
seine/ihre persönliche
Signatureinrichtung zum Signieren des am PC präsentierten Materials zu verwenden.
-
Die Lösung der oben erwähnten Probleme kann
eine kleine tragbare Einrichtung wie zum Beispiel ein Zellulartelefon
sein. "WLMScript
Language Specification",
WAP Forum, beschreibt eine Implementierung einer Funktion, die es
WAP-Telefonen erlaubt,
kryptographisches Signieren auszuführen. Das WAP-Telefon fordert
den Benutzer auf, eine Textkette zu signieren durch Eingeben von
z. B. einem Pin-Code für
die Einrichtung zum kryptographischen Signieren der Kette.
-
Jedoch sind solche Einrichtungen,
z. B. Zellulartelefone, gekennzeichnet durch Speicher- und Verarbeitungskapazitätsbeschränkung, und
auf eine kryptographische Signaturfunktion ist über eine definierte und beschränkte Schnittstelle
zugreifbar.
-
Ferner haben kleine Einrichtungen
wie Zellulartelefone normalerweise keine graphische Anzeige oder
relativ große
Programme wie Powerpoint und Word installiert.
-
Das Problem tritt dann auf, wenn
die zu signierenden Daten zu groß sind, um dem Benutzer präsentiert
zu werden oder in einem Format, das nicht für den Benutzer verständlich ist
oder nicht kompatibel mit der Signatureinrichtung. Die oben erwähnte WAP-Spezifikation
setzt jedoch voraus, dass die Daten verstehbar sind und klein genug,
um auf der Hardware und der Anzeige begrenzter Einrichtungen präsentiert
zu werden.
-
Resümee der
Erfindung
-
Das Hauptziel der vorliegenden Erfindung
ist es, die oben identifizierten Probleme auszuräumen und eine Anerkennung zwischen
einem Benutzer, einem signaturverwendenden System und einem signaturempfangenden
System bereitzustellen. Dies wird erreicht durch ein Verfahren,
das durch den beiliegenden Patentanspruch 1 definiert ist.
-
Insbesondere stellt die vorliegende
Erfindung ein Verfahren zum digitalen Signieren von Daten unter
Verwendung einer Signatureinrichtung bereit durch Extrahieren eines
Teils der Daten in einem signaturverwendenden System, Kompilieren
von ihm in ein geeignetes Protokoll, welches durch die signierende
Einrichtung verwendet wird und Übertragen von
ihm zu der signierenden Einrichtung gemeinsam mit einem "Hash" der Daten. Dem Benutzer
der signierenden Einrichtung wird dann der kompilierte Teil der
Daten präsentiert,
welcher angepasst ist in Übereinstimmung
mit den Einschränkungen
der signierenden Einrichtung und verstehbar ist für den Benutzer.
Der Benutzer kann dann die Daten mit Hilfe der signierenden Einrichtung
elektronisch signieren unter Verwendung eines geeigneten Signaturalgorithmus. Ein
korrektes Hash belegt, dass der Benutzer tatsächlich die dazu bestimmten
Daten signiert hat, selbst wenn ihm nur ein verstehbarer und angepasster
Teil der Daten präsentiert
wird. Die resultierende Signatur wird zurückgegeben zu dem signaturverwendenden
System und die Ursprungsdaten, der Teil der Daten, das Hash und
die Signatur werden an ein signaturempfangendes System zur Verarbeitung,
zur Verifizierung, zum Speichern etc. gesendet.
-
Die vorliegende Erfindung ermöglicht die Verwendung
kleiner hardware- und prozessoreingeschränkter Signatureinrichtungen
z.B. Mobiltelefone, zum Signieren von Daten, welche zu groß sind für die signierende
Einrichtung.
-
Kurzbeschreibung
der Zeichnungen
-
Es zeigt:
-
1 das
Problem des Signierens nichtlesbarer Texte auf einer kleinen Einrichtung;
-
2 ein
Ablaufdiagramm des Datenablaufs in einer Ausführungsform gemäß der vorliegenden Erfindung;
-
3 wie
die Daten übertragen
werden können
zwischen involvierten Elementen in einer Ausführungsform gemäß der vorliegenden
Erfindung;
-
4 ein
Beispiel des Datenflusses in einer Push-Signaturanfrage unter Verwendung einer
Mobileinrichtung, die zu WAP 1.2 befähigt ist, in welcher HTTP verwendet
wird zwischen einem signaturverwendenden und einem signaturempfangenden
System; und
-
5 eine
Ansicht, wie extrahierter Text von einem Ursprungsobjekt, das zu
signieren ist, aussehen kann.
-
Bevorzugte Ausführungsformen
der vorliegenden Erfindung
-
Nachfolgend wird eine bevorzugte
Ausführungsform
der vorliegenden Erfindung beschrieben. Beachte, dass diese Ausführungsform
nur zum Zwecke der Erläuterung
diskutiert wird, und nicht die Erfindung, wie sie im beiliegenden
Anspruch 1 definiert ist, einschränkt.
-
Die beschriebene Ausführungsform
stellt eine flexible Weise bereit zum Erzielen kryptographischer
Bindung zwischen einem Benutzer und einem Datensatz, der für Menschen
nicht lesbar ist in seiner ursprünglichen
Form oder zu groß,
um dem Benutzer präsentiert
werden zu können.
Sie ist teilweise beschrieben in einer Protokollsyntax unter Bezugnahme
auf die oben erwähnten
Zeichnungen.
-
3 zeigt
ein Push-Szenario, bei dem das signaturverwendende System eine Verbindung
zu der kleinen Kryptographieeinrichtung einrichtet und die Signaturanfrage übermittelt.
In einem Pull-Szenario richtet die kleine Kryptographieeinrichtung
eine Verbindung zum signaturverwendenden System ein und fordert
zu signierende Daten an.
-
Das signaturverwendende System und
das signaturempfangende System sind logische Einheiten in einem
Computernetz. Sie können
sich in derselben Netzkomponente befinden oder sie können getrennt
voneinander sein, wie in der obigen beispielhaften Darlegung, wo
das signaturverwendende System der PC des Benutzers ist.
-
Das signaturverwendende System kompiliert (2)
eine gesammelte (1) Meldung derart, dass sie dem Benutzer präsentiert
und von ihm verstanden werden kann. Das signaturverwendende System kann
irgendein Datensystem sein, ein Knoten oder ein Computer, der in
Besitz der gesamten gesammelten Daten ist, die zu signieren sind.
Beispielsweise kann das signaturverwendende System der PC des Benutzers
sein, der ein Dokument, welches eine Signatur erfordert, empfangen
hat.
-
Die kompilierten Daten werden dann
zu einer kleinen kryptographiebefähigten Einrichtung des Benutzers übertragen
(3), z.B. einem WAP-Telefon. Der Benutzer signiert diese Meldung
unter Verwendung eines geeigneten Signaturalgorithmus. Der Benutzer kann
das Signieren durch Eingeben eines gewissen Signatur-PIN-Codes ausführen.
-
Das Ergebnis wird zurückgesendet
(4) zum signaturverwendenden System und kompiliert in eine Meldung,
die zu dem signaturempfangenden System zu senden ist (5) und die
mindestens enthält
(siehe 2):
- 1) Ursprungsdaten "OriginalData" und einen Hash-Algorithmus-Identifizierer.
- 2) die zu signierende Meldung "ToBeSignedMessage" und den Signaturalgorithmus-Identifizierer.
-
"OriginalData" sind die Ursprungsdaten,
die zu signieren waren. Dies können
Dokumente sein, Protokollstrukturen, Verträge etc. Die vorliegende Erfindung
ermöglicht
eine kryptographische Verbindung zwischen diesen Daten und dem Benutzer
der Einrichtung. Die "ToBeSignedMessage" ist die zum Signieren
präsentierte
Meldung. Die Länge
der zu signierenden Daten hängt
von den Einschränkungen
in der Einrichtung ab. Die Meldung hat zwei Teile: 1) Ein Teil,
den der Benutzer der Einrichtung verstehen wird und der Teil von
OriginalData ist. Verfahren zum Extrahieren lesbarer Information
aus OriginalData können
abhängig
von deren Art definiert sein.
-
Wenn die Art von OriginalData derart
ist, dass keine lesbaren Daten extrahierbar sind, generiert das
signaturverwendende System einen geeigneten Text zur Präsentation
für den
Benutzer.
-
Das signaturempfangende System muss
die Regel kennen, die verwendet worden ist zum Auswählen dieses
Textes.
-
Wenn die Einrichtung beispielsweise
verwendet wird zum Signieren großer bildenthaltender Dokumente,
kann dieses Feld dynamische Information über das Dokument enthalten.
Beispiele sind: Dokumentenname bzw. "Doc name"=Budget des laufenden Jahres, Dokumentennummer
bzw. "Doc no"=1FR2, "Doc rev"=A2, Dokumentengröße bzw. "Doc size"=2345, Format von
Bild 1 bzw. "Pic1
format"=jpeg, Größe von Bild
1 bzw. "Pic1 size"=123, Größe von Tabelle
1 bzw. "Table1 size"=234.
-
Wenn die Einrichtung zum Signieren
eines Bildes oder einer Musikdatei verwendet wird, könnte die
Beispielinformation sein: Titel=Tanzmusik, Band1, Format=mp3, Größe bzw. "Size"=2345, Länge bzw. "Length"=1,16.
-
2) Ein Teil, der nicht vom Benutzer
der Einrichtung verstehbar ist. Dies ist das Hash von OriginalData.
Das Vorliegen des Hash ist die reale Verbindung zwischen den Ursprungsdaten
und der Signatur. Es garantiert, dass der Benutzer tatsächlich die Ursprungsdaten
signiert, da er/sie diese kennt, und nicht einfach den lesbaren
Text. Wenn die Ursprungsdaten nur einer geringen Veränderung
ausgesetzt waren vor dem "Hashen", wird das Hash vollständig unterschiedlich
aussehen zu dem Erwarteten und die kryptographiebefähigte Einrichtung
des Benutzers wird wissen, dass die Daten geändert worden sind und sie dann
zurückweisen.
-
Diese Lösung präsentiert dem Benutzer der Einrichtung
eine verstehbare Meldung davon, welche Information zu signieren
ist. Sie ist auch flexibel beim Bereitstellen unterschiedlicher
signaturempfangender Systeme mit zugeschnittenen Daten, die sowohl das
signaturbenutzende System als auch den Benutzer der Einrichtung
authentisieren.
-
Die Signaturprozedur und das Dateneinsammeln
können
unter Verwendung unterschiedlicher Art von Protokollen implementiert
werden. 4 zeigt ein
Beispiel einer Push-Signaturanfrage,
wobei WML-Skript verwendet wird während der Signaturprozedur
in der Kommunikation mit einer Mobileinrichtung, die zu WAP 1.2
befähigt
ist, und wobei HTTP zwischen dem signaturverwendenden und dem signaturempfangenden
System verwendet wird. Jedoch können
andere Skripte, Protokolle und Signatureinrichtungen für jene Zwecke
verwendet werden (z.B. LDAP [LDAP], SQL [SQL], Einrichtungen und
Skripte, die an I-MODE angepasst sind).
-
Schließlich zeigt 5 ein Beispiel, wie die kompilierten
verstehbaren Daten (die in 2 als "ToBeSignedMessage" bezeichnet werden
und in 3 als kompilierte
Daten) dem Benutzer auf der Anzeige der kryptographiebefähigten Einrichtung
erscheinen können.
-
Der Hauptvorteil der vorliegenden
Erfindung ist, dass sie den Benutzer in die Lage versetzt, zu verstehen,
was er/sie unterzeichnet, selbst an kleinen und mit Hardware-Beschränkungen
versehenen Einrichtungen. Dies erhöht die Bewegungsfreiheit eines
signierenden Teils, da er/sie selbst für große Datenmengen tragbare kryptographiebefähigte Einrichtungen
verwenden kann.
-
Ein fernerer Vorteil ist, dass nur
eine kleine Menge der zu signierenden Daten zu und von der Einrichtung
gesendet wird und auch von der Einrichtung verarbeitet wird, was
die Prozedur schneller macht und nicht einschränkt durch sowohl enge Übertragungskapazität als auch
niedrige Verarbeitungsmöglichkeiten.
-
Sehr große unstrukturierte Informationsstücke können dann
heruntergebrochen werden in eine definierte Meldung mit vereinbarter
Struktur, verifiziert werden und dann signiert werden mit der persönlichen
Signatureinrichtung des Benutzers.
-
Ferner ermöglicht es die vorliegende Erfindung,
eine kleine Einrichtung zu verwenden zum Signieren von zum Beispiel
Dokumenten mit graphischem Inhalt, selbst wenn die Einrichtung nicht
mit einer graphischen Anzeige versehen ist.
-
Noch ein anderer Vorteil der vorliegenden
Erfindung ist, dass sie ein Getrenntsein des privaten Schlüssels des
Benutzers ermöglich
von dem signaturverwendenden System, mit dem im allgemeinen externe
Netze verbunden sind, (z.B. PCs mit dem Internet). Das Risiko, dass
Eindringlinge private Signaturschlüssel abgreifen ist folglich
reduziert.
-
Noch ein anderer Vorteil der Erfindung
ist, dass keine Abstimmungen von Kundensignatureinrichtungen erforderlich
sind, wie Mobileinrichtungen, die WAP 1.2-befähigt sind. Bereits implementierte
Signaturanwendungen können
verwendet werden.
-
Die Erfindung ist geeignet für die WAP
signText()-Funktionalität oder eine
Kryptographiesignaturanwendung, die implementiert wird unter Verwendung
des "SIM-Application
Toolkit" (SAT) und
dieses wird verwendet in den hier beschriebenen Beispielen. Jedoch
können
andere Ausführungsformen
verwendet werden, die in irgendeinem Szenario anwendbar sind, in
dem Daten von einem Benutzer unter Verwendung einer kleinen Kryptographieeinrichtung
zu signieren und zu verstehen sind, die innerhalb des Schutzbereichs
der Erfindung liegen, wie in den folgenden Ansprüchen definiert.
-
Literaturnachweis
-
-
- [PKCS#1] RSA Cryptography Standard http://www.rsasecurity.com/rsalabs/pkcs/
- [PKCS#2] Cryptographic Message Syntax Standard http://www.rsasecurity.com/rsalabs/pkcs
- [WAPArch] "WAP
Architecture Specification" http://www.wapforum.org/what/technical.htm
- [WML] "Wireless
Markup Language",
WAP Forum http://www.wapforum.org/what/technical.htm
- [WMLScript] "WMLScript
Language Specification", WAP
Forum http://www.wapforum.org/what/technical.htm
- [WMLCrypto] "WMLScript
Crypto Library Specification",
WAP Forum http://www.wapforum.org/what/technical htm
- [HTTP] HyperText Transfer Protocol RFC 2069 http://www.ietf.org/rfc/rfc2068
- [LDAP] Lightweight Directory Access Protocol RFC 2559 http://www.ietf.org/rfc/rfc2559
- [SQL] Structured Query Language http://www.sgl.org
-
ZUSAMMENFASSUNG
-
Ein Verfahren zum Bereitstellen elektronischen
Signierens von Daten unter Verwendung einer eingeschränkten Signatureinrichtung
ist offenbart. Dies wird erreicht durch Extrahieren eines Teils
der Daten in einem signaturverwendenden System, Kompilieren des
Teils in ein. geeignetes Protokoll, das durch die Signatureinrichtung
verwendet wird und Übertragen
davon zu der Signatureinrichtung gemeinsam mit einem Hash der Daten.
Dem Benutzer der Signatureinrichtung wird dann der kompilierte Teil der
Daten präsentiert,
welcher angepasst ist in Übereinstimmung
mit den Einschränkungen
der Signatureinrichtung und welcher für den Benutzer verstehbar ist.
Der Benutzer kann dann elektronisch die Daten mit Hilfe der Signatureinrichtung
unter Verwendung eines geeigneten Signaturalgorithmus signieren.
Ein korrektes Hash bestätigt,
dass der Benutzer tatsächlich
die dafür
vorgesehenen Daten signiert, selbst wenn ihm nur ein verstehbarer
und an die Signatureinrichtung angepasster Teil der Daten präsentiert wird.
Die resultierende Signatur wird zurückgegeben zu dem signaturverwendenden
System und die Ursprungsdaten, der Teil der Daten, das Hash und
die Signatur werden zu einem signaturverwendenden System zur Verarbeitung,
Verifizierung, zum Speichern etc. gesendet.
(2)