-
Die
vorliegende Erfindung betrifft gesicherte Dienste, die für die Benutzung
beispielsweise über
ein Kommunikationsnetzwerk geeignet sind. Insbesondere betrifft
sie Sicherheitscodes für
Benutzer derartiger Dienste.
-
Zunehmend
werden persönliche
Transaktionen zwischen Kunden und Anbietern von Diensten durch Transaktionen
ersetzt, die voneinander entfernt über ein Kommunikationsnetzwerk
durchgeführt
werden. Dies ermöglicht
einen einfachen Zugriff für
den Kunden und verringerte Kosten für den Dienst-Betreiber. Beispielsweise
in dem Fall von Bankdiensten gab es einen schnellen Anstieg im Internet-Banking und bei Telefonbankgeschäften. Insbesondere
das Internet-Banking
bietet die Möglichkeit
großer
Kostenersparnisse, da Kundentransaktionen voll automatisiert werden
können.
Zurzeit wird Telefon-Banking unter Verwendung von menschlichem Personal
und eines Call-Centers implementiert. Es wäre wünschenswert, Telefon-Banking unter Verwendung
interaktiver Sprachgesteuerter Technologie (IVR – Interactive Voice Response)
zu automatisieren. Ein mögliches
Hindernis bei der Durchführung
liegt in der Notwendigkeit für
eine sichere Identifizierung der Kunden.
-
Die
ebenfalls anstehende Anmeldung dieses Anmelders,
EP 00 302 044.3 , ebenfalls mit „Gesicherte Dienste" bezeichnet, beschreibt
und beansprucht ein Benutzernamen-Format, das zur Verwendung als
Identifizierungscode für
Dienste geeignet ist, die eine Spracherkennungs-Schnittstelle benutzen.
Zusätzlich
zu oder als eine Alternative zu der Verwendung eines Sicherheitsmechanismus,
der auf einem Benutzernamen basiert, ist es manchmal wünschenswert,
dem Benutzer einen weiteren Sicherheitscode zu geben, welcher zum
Beispiel drei oder vier Ziffer aufweist. Derartige Codes werden üblicherweise
als PINs (personal identification numbers – persönliche Geheimzahlen) bezeichnet.
-
WO
91 /09383 offenbart ein Verfahren zur automatischen Verifizierung
einer persönlichen
Identität, das
die automatische Erzeugung von Hinweis-Antwort-Paaren und die Zuweisung
derartiger Hinweis-Antwort-Paare
zu autorisierten Personen zur späteren
Verifizierung der Identität
aufweist. Es können
Phrasen oder Sätze
als Hinweise und Antwort verwendet werden.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Zuweisen
eines Sicherheitscodes vorgesehen, das aufweist Wählen jeweils
eines Tokens aus einer Vielzahl von Mengen aus Token und Verketten
der Token, um eine Sequenz zur Verwendung als Sicherheitscode zu
bilden, Speichern eines Datensatzes für die Sequenz und die Identität des dem
Sicherheitscode zugehörigen
Beteiligten, und Ausgeben der Sequenz an den Beteiligten, dadurch
gekennzeichnet, dass die Token natürlichsprachliche Wörter sind,
und dass Wörter
für verschiedene
Positionen in der Sequenz aus verschiedenen jeweiligen vordefinierten Mengen
von Wörtern
gewählt
werden, wobei die verschiedenen vordefinierten Mengen Wörter aus
verschiedenen jeweiligen Teilen der Sprache aufweisen, wobei die Sequenz
eine der Grammatik der natürlichen
Sprache entsprechende Phrase bildet.
-
Das
Verfahren der vorliegenden Erfindung sieht für den Benutzer einen Sicherheitscode
vor, der bei weitem besser zu merken ist als herkömmliche
numerische PINs. Gleichzeitig ist der Code besonders gut zur Verwendung
mit einer Spracherkennungs-Schnittstelle geeignet. Die Mengen von
Wörtern,
aus denen der Sicherheitscode gewählt ist, können in die Erkennungsgrammatik
eines Spracherkennungssystems vorprogrammiert werden, wodurch eine
Erkennung mit einem hohen Genauigkeitsgrad ermöglicht wird. Typischerweise können die
Mengen von Wörtern
eine Liste aus Substantiven, eine Liste aus Adjektiven und eine
Liste aus Verben aufweisen und ein Wort aus jeder Menge kann auf
zufällige
Weise verkettet werden, um den Sicherheitscode zu erzeugen. Wenn
die Mengen derart groß sind,
dass die Anzahl der möglichen
Kombinationen größer als
9999 ist, liefert dies eine Sicherheit, die zumindest so gut wie
eine numerische PIN mit vier Ziffern ist. Dann führt das Verketten der Wörter aus
den verschiedenen Mengen in einer geeigneten Reihenfolge zu Phrasen, die
grammatikalisch korrekt sind und somit von dem Benutzer interpretiert
werden können,
die aber im Allgemeinen semantisch ungewöhnlich sind. Zum Beispiel können Beispielsphrasen
unter Verwendung der Reihenfolge Adjektiv, Verb, Substantiv „rosa surfender
Elefant" oder „gefrorene
rennende Kartoffeln" umfassen.
-
Vorzugsweise
umfasst das Verfahren ein Verknüpfen
einer unterschiedlichen Zahl mit jedem Wort in jeder Menge und ein
Ausgeben sowohl der Sequenz natürlichsprachlicher
Wörter
als auch der korrespondierenden Zahlenreihe an den Beteiligten.
-
Dieses
bevorzugte Merkmal der Erfindung ist insbesondere wertvoll im Kontext
eines Sicherheitscodes, der über
unterschiedliche Kanäle
benutzt werden soll. Zum Beispiel könnte der Code zur Benutzung über eine
Spracherkennungs-Schnittstelle und ebenso über die Tastatur eines Geldautomaten
(ATM – automatic
teller machine) oder über
eine Web-Schnittstelle vorgesehen sein. Dann könnte, während die Phrase bei Benutzung
der Spracherkennungs-Schnittstelle gesprochen wird, die korrespondierende
numerische Sequenz stattdessen für
die anderen Kanäle
verwendet werden.
-
Vorzugsweise
weist jedes Wort in einer jeweiligen Menge einen anderen Anfangsbuchstaben
auf.
-
Wenn
diese Beschränkung
angewendet wird, kann die Sequenz der Anfangsbuchstaben statt der
Benutzung einer Zahlenreihe als einer Alternative zur Phrase verwendet
werden. Zum Beispiel kann der Benutzer über eine Sprach-Schnittstelle
die Phrase „rosa
surfender Elefant" sprechen. Über eine
Text-Schnittstelle tippt der Benutzer stattdessen die Anfangsbuchstaben „rse". Die Verwendung
der Anfangsbuchstaben statt einer Zahlenreihe erlässt dem
Benutzer die Notwendigkeit, sich eine numerische Sequenz zu merken.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Betrieb eines gesicherten Dienstes vorgesehen, das aufweist
- a) Empfangen eines Sicherheitscodes von einem
Benutzer;
- b) Verifizieren des Sicherheitscodes; und
- c) Ausführen
einer Transaktion mit dem Benutzer;
dadurch gekennzeichnet,
dass der Sicherheitscode eine Sequenz natürlichsprachlicher Wörter aufweist,
und dass Wörter
für verschiedene
Positionen in der Sequenz aus verschiedenen jeweiligen Mengen von
Wörtern gewählt werden,
wobei die verschiedenen Mengen Wörter
aus verschiedenen jeweiligen Teilen der Sprache aufweisen, wobei
die Sequenz eine der Grammatik der natürlichen Sprache entsprechende
Phrase bildet.
-
Vorzugsweise
umfasst der Schritt des Empfangens des Sicherheitscodes von dem
Benutzer ein Empfangen eines gesprochenen Sicherheitscodes mittels
einer Vorrichtung zur Spracherkennung, die mit einer Erkennungsgrammatik
vorprogrammiert ist, welche zumindest die Mengen der natürlichsprachlichen
Wörter
aufweist. In diesem Fall umfasst vorzugsweise der Schritt des Verifizierens
des Sicherheitscodes ein Übertragen der
von der Spracherkennungsvorrichtung erkannten Wörter an den Benutzer und, nur
wenn der Benutzer den Sicherheitscode bestätigt, ein Übertragen des Sicherheitscodes
an eine Verifizierungs-Anwendung, die ausgebildet ist, den Sicherheitscode
mit einem Datensatz von Sicherheitscodes und Benutzer-Identitäten zu vergleichen.
-
Die
Erfinder haben erkannt, dass die Genauigkeit und die Sicherheit
des Verifizierungs-Vorgangs signifikant verbessert werden, wenn
der Benutzer die Ausgabe der Spracherkennungsvorrichtung bestätigen muss,
bevor sie zur Überprüfung mit
vorher gespeicherten Datensätzen
geleitet wird.
-
Systeme,
welche die vorliegende Erfindung verkörpern, werden nun, nur beispielhaft,
unter Bezugnahme auf die begleitenden Zeichnungen detaillierter
beschrieben, wobei
-
1 eine
Darstellung ist, die ein zur Verwendung mit der vorliegenden Erfindung
geeignetes Kommunikationssystem schematisch darstellt;
-
2 ein
Spracherkennungssystem zur Verwendung in Verfahren zeigt, welche
die Erfindung verkörpern;
-
3 ein Überblick über eine
Anwendungsarchitektur ist;
-
4 eine
Darstellung ist, die ein Beispiel eines Adressformats zeigt;
-
5 eine
erste Implementierung von Schnittstellen zwischen unterschiedlichen
Kanälen
und einer Anwendung zeigt;
-
6 eine
alternative Implementierung von Schnittstellen zwischen unterschiedlichen
Kanälen
und der Anwendung zeigt.
-
Ein
Applikations- oder Anwendungs-Server 1 ist mit dem öffentlichen
Internet 2 verbunden. In diesem Beispiel läuft auf
dem Applikations-Server
eine Banking-Anwendung. Sowohl Sprach- als auch Text-Schnittstellen sind
für die
Banking-Anwendung vorgesehen. Ein Kunde, der die Text-Schnittstelle
benutzt, verbindet sich mit dem Applikations-Server von einem Kunden-Terminal 3 aus,
welches in diesem Beispiel ein Personal-Computer mit einer Internet-Verbindung ist. Ein
anderes Mal benutzt der Kunde eine Sprach- Schnittstelle. In diesem Fall ist das
Kunden-Terminal ein mit einem Telefonnetzwerk 6 verbundenes
Telefon 4, 5. Kunden, die auf die Schnittstelle
der Vorrichtung zugreifen, werden über die Telefonnetzwerke 6 mit
einer IVR-Plattform 7 verbunden. Die Plattform 7 umfasst
sowohl eine Anzahl von Telefonanschlüssen 71 als auch eine TCP/IP-Daten-Schnittstelle 72 (TCP/IP – Transport
Control Protocol/Internet Protocol). Die Daten-Schnittstelle 72 ist
mit dem Applikations-Server 1 verbunden. Diese Verbindung
kann über
das öffentliche
Internet 2 verlaufen, wie in der Fig. gezeigt. Eine SSL-Verbindung
(SSL – Secure
Socket Layer) wird verwendet, um eine Verschlüsselungs-Sicherheit für die Daten
zu schaffen. Alternativ kann, um für eine gesteigerte Sicherheit
zu sorgen, ein privates Intranet benutzt werden oder eine direkte
Eins-zu-Eins-Verbindung in dem Fall einer mit dem Applikations-Server
angeordneten IVR-Plattform.
-
Geeignete
IVR-Plattformen sind im Handel von PeriphonicsTM erhältlich.
Spracherkennungssoftware zur Verwendung auf einer derartigen Plattform
ist im Handel von NuanceTM erhältlich.
Es ist offensichtlich, dass diese Produkte nur beispielhaft aufgeführt und
mehrere alternative Systeme an deren Stelle verwendet werden können, einschließlich zum
Beispiel auf Arbeitsplatzstationen mit Windows NTTM laufende
Systeme.
-
2 zeigt
schematisch die Architektur des auf der IVR-Plattform 7 laufenden
Spracherkennungssystems. Die Eingabe ist ein digitalisiertes Audio-Signal,
welches die Sprache des Benutzers darstellt. Dieses Audio-Signal
wird zuerst von einem Eingangsteil zur Merkmalsextraktion 101 verarbeitet,
bevor es an einen Parser geht, der eine akustische Vergleichsvorrichtung 101 und
einen Netzwerk-Parser 103 aufweist. Die akustische Vergleichsvorrichtung 101 verwendet
Sprachmodelle 104, um Elemente des Sprachsignals zu identifizieren.
Der Netzwerk-Parser 103 verwendet dann ein Erkennungs-Netzwerk 105 mit
einer vorprogrammierten Erkennungsgrammatik, um die von dem Benutzer
gesprochenen Wörter
zu identifizieren. In Systemen, welche die Erfindung verkörpern, umfasst
die Erkennungsgrammatik definierte Mengen von natürlichsprachlichen Wörtern, Zahlen
und ein Trennzeichen, wie unten weiter beschrieben wird.
-
In
dem vorliegenden Beispiel werden die auf dem Server 1 laufenden
Anwendungen unter Verwendung eines als BroadVision bekannten Systems
implementiert, welches ausgebildet ist, Benutzern Zugriff auf Daten
von Konten über
mehrere Kanäle,
einschließlich
des World Wide Webs, zu ermöglichen.
Auf der Anwendungsebene wird eine gemeinsame Schnittstelle für die unterschiedlichen
Kanäle
verwendet. 3 zeigt einen Überblick über eine
BroadVision-Banking-Anwendung.
Sowohl die IVR-Plattform als auch der Kunden-Terminal 3 stehen
mit der Anwendung über
jeweilige HTTP-Clients in Kontakt. Die HTTP-Clients werden im Allgemeinen
als „Browser" bezeichnet, obwohl
der IVR-Plattform-Client kein herkömmlicher graphischer/Text-/Webbrowser
ist. Der IVR-Client benötigt
keine HTML-Information,
nur minimale Textinformation. Die Kommunikation zwischen dem HTTP-Server
und dem IVR-Client ist eine Teilmenge der Daten, die zwischen einem
herkömmlichen
Web-Browser und dem Server fließen.
-
Im
Betrieb können
Kunden, die auf Daten von Konten zugreifen wollen, beispielsweise
eine dem Dienst zugehörige
Telefonnummer von einem der Kunden-Terminals 4, 5 aus
wählen.
In einem Anfangsdialog mit der IVR-Plattform identifizieren sich
Kunden unter Verwendung einer Adresse in dem unten beschriebenen Vbank
(virtual bank – virtuelle
Bank) -Format. Als eine weitere Sicherheitsmassnahme muss der Kunde
dann einen weiteren Sicherheitscode eingeben. Dieser Code wurde
dem Kunden vorher zugeteilt und weist eine Zeichenfolge von beispielsweise
drei Wörtern
auf. Die folgende Tabelle 1 zeigt ein Beispiel der Datensätze, die verwendet
werden, um den weiteren Sicherheitscode zuzuweisen.
-
-
Die
Tabelle enthält
in den drei Spalten drei Mengen von Wörtern, die jeweils Adjektive,
Partizipien und Substantive aufweisen. Zu jedem Wort gehört eine
Zahl. Beim Zuweisen des Sicherheitscodes an den Benutzer wird eine
Zufallszahl mit drei Ziffern erzeugt, zum Beispiel 071, und die
zugehörigen
Wörter
aus den aufgezählten
Mengen wer den in der Reihenfolge Adjektiv-Partizip-Substantiv verwendet,
um den Code „blaue piepende
Fledermäuse" zu bilden. Dieser
Code wird an den Benutzer ausgegeben und ebenso mit der Identität des Benutzers
in den Datensätzen
der Banking-Anwendung gespeichert. Die numerische Sequenz kann ebenfalls
an den Benutzer zum Einsatz über
alternative Schnittstellen ausgegeben werden, zum Beispiel für den Zugriff
auf die Anwendung von einem Browser auf dem Personal-Computer aus. Alternativ
können
stattdessen die Anfangsbuchstaben der den Code bildenden Wörter, zum
Beispiel „bpf", verwendet werden.
-
Wenn
der Sicherheitscode „blaue
piepende Fledermäuse" von dem Benutzer
an den IVR ausgesprochen wird, werden die Sprachdaten verarbeitet
und die daraus entstehenden Daten werden dem Benutzer zur Bestätigung noch
mal vorgespielt. Wenn sie bestätigt
sind, werden der Benutzername und der Sicherheitscode an die Banking-Anwendung geleitet,
wo sie gegenüber
in einer Datenbank gespeicherten Daten verifiziert werden. Der anfängliche
Dialog könnte
wie folgt lauten:
- – „Willkommen bei der Bank X,
bitte teilen Sie uns Ihren Benutzernamen mit." „Paul
Marsh einunddreißig
in Ipswich"
- – „Bitte
sagen Sie Ihre X-Bank Passwort-Phrase." „blaue
piepende Fledermäuse"
- – „Haben
Sie blaue piepende Fledermäuse
gesagt" „Ja" Verifizieren mit
Passwort.
- – „Guten
Tag Herr Marsh, welche Transaktion möchten Sie durchführen?"
-
Ein
Beispiel des Benutzernamenformats der Vbank wird in 4 gezeigt.
Dieses Format wird in unserer oben angeführten, ebenfalls anstehenden
Patentanmeldung detaillierter beschrieben und beansprucht. Das erste
Element 41 ist ein aus einem Verzeichnis von beispielsweise
1000 möglichen
persönlichen
Namen ausgewählter
Name. Eine Nummer 42 mit zwei oder drei Ziffern wird mit
dem ersten Element verbunden. Die Verwendung der Nummer ermöglicht,
dass mehrere Benutzer denselben Namen als das erste Element haben, und
erhöht
die phonetische Verschiedenheit der gesamten Adresse. Das nächste Element
ist ein Trennelement 43. In diesem Fall ist es das @-Zeichen,
ausgesprochen „ät". Es ist den Benutzern
von seiner Verwendung in Email-Adressen bekannt und hat den Vorteil,
dass seine Aussprache weithin bekannt ist; wenn es aber notwendig
ist, können
dem Benutzer Anweisungen zur Aussprache beispielsweise über die
Webseite mitgeteilt werden, auf welcher die Vbank-Adresse das erste
Mal ausgegeben wird. Das letzte Element 44 betrifft den
Ort des Benutzers und ist ein geographischer Name, zum Beispiel
der Name einer Stadt, welcher aus einem Verzeichnis von 500 derartigen
Namen ausgewählt
wird. Die geographischen Namen werden wegen ihrer phonetischen Ungleichheit
und Gemeinverständlichkeit
gewählt.
Zum Beispiel gehört
London nicht dazu, da es von zu vielen Benutzern gewählt würde. Stattdessen
gehört
eine Anzahl von Londoner Stadtteilen dazu, wie beispielsweise Hammersmith,
Croydon. Dieses geographische Element dient im Betrieb dazu, die
phonetische Unterscheidung der Benutzernamen zu unterstützen. Andere
Felder können
ersetzt werden, wenn es geeignet erscheint. Zum Beispiel kann ein
Satz Postleitzahlen verwendet werden, entweder vollständige Postleitzahlen oder
der erste Teil von Postleitzahlen, zum Beispiel IP3 und NG14.
-
Um
die Verschiedenheit von Benutzernamen für Benutzer zu erhöhen, die
zum Beispiel einen nicht in der vorbestimmten Menge vorhandenen
Nachnamen tragen, können
der erste und zwei folgende Buchstaben des Nachnamens unter Verwendung
des phonetischen NATO-Alphabets dargestellt werden. Die einem der Namen
zugehörige
zweistellige Zahl wird verwendet, um eine Mehrdeutigkeit in dem
Verhältnis
zwischen gesprochenen und geschriebenen Formen der Benutzernamen
in dem Fall von Homophonen (gemeinsame Aussprache, gemeinsame Schreibweise)
und Homographen (gemeinsame Schreibweise; mehrere gültige Aussprachen)
auszuschließen.
-
Wie
oben umrissen, verwendet die BroadVision-Anwendung in diesem Beispiel
eine Anzahl von Zugriffs-Kanälen,
einschließlich
sowohl Web- als auch IVR-Kanäle, über eine
gemeinsame API (application programming interface). Die Implementierung
der Schnittstellen wird detaillierter in 5 dargestellt.
Die BroadVision-API wird unter Verwendung von Perl-Skripten und
einer HTTP-Schnittstelle für
sowohl IVR- als auch Web-Kanäle
implementiert. Server-CGI-Skripte senden HTML-Text zurück und werden
im Fall der IVR-Schnittstelle von benutzerspezifischen Skripten
ersetzt, die nur die für
die IVR-Schnittstelle
erforderlichen Daten, ohne den „Verpackungs-"HTML-Text, zurücksenden.
Die meiste der in den Java-Skripten für den Web-Kanal implementierten
Funktionalität
ist für
den IVR-Kanal erforderlich, außer
der HTML-Formatierung, welche an den Web-Browser gesendet wird. Somit verwendet
der IVR-Kanal abgeleitete Skripte, aber die Meldungen, die er an
den IVR zurück
sendet, enthalten die notwendige minimale Information. Die Meldungen,
die je der Kanal an die Java-Skripte sendet, sind dieselben und vom
Typ einer Standard-URL-Abfragevariablen.
-
-
Eingegebene
Parameter werden von dem Perl-Code an die Perl-Skripte über einen Perl-Systemblock gesendet.
Es gibt jedoch keinen direkten Mechanismus für das Perl-Skript, um Rückgabewerte
zurück
zu senden, somit werden sie in einer Datei gespeichert, die der
Perl-Code parst. 6 zeigt eine Alternative zu
der Benutzung eines Parameters, der zwischen dem Perl-Code (das
heißt,
die ursprüngli chen
auf der IVR-Plattform laufenden Anwendungen) und den Perl-Skripten auf dem
Server hin- und herlaufen. Der Perl-Code benutzt den VTCPD-Prozess,
um mit dem externen Hostrechner zu kommunizieren. VTCPD ist ein
Periphonics-Prozess, der sich in dem Rest seiner Umgebung integriert
und eine TCP/IP-Socket-Kommunikation ermöglicht. Jedoch unterstützt es HTTP-Protokolle
nicht direkt und benötigt
eine zusätzliche
Header-Information, um Meldungen zu den auf dem IVR laufenden verschiedenen
Anwendungen zu leiten.