-
HINTERGRUND
-
E-Commerce und andere webbasierte Aktivitäten beinhalten häufig eine Partei, die die Identität einer anderen Partei verifiziert. Die Verifizierung kann auf verschiedene Weise erfolgen. In einer Instanz kann eine Internet-Zertifizierungsstelle oder Zertifikatstelle ein digitales Zertifikat ausstellen, das Anmeldeinformationen enthält, die einer Person oder Firma bei Online-Transaktionen helfen. Diese Art der Herangehensweise kann jedoch erfordern, dass die verschiedenen Parteien erweiterte kryptografische Vorgänge durchführen. Sie kann außerdem die Speicherung sensibler Informationen erfordern, die über das hinaus gehen, was für die tägliche Arbeit nötig ist, oder sonst zusätzlichen Verwaltungs- oder Ressourcenaufwand beinhalten, der ineffizient oder aufwändig ist. Somit kann diese Art von Herangehensweise für bestimmte Parteien nicht durchführbar sein, ganz gleich, ob dies Einzelpersonen, Kleinunternehmen oder andere Entitäten sind.
-
KURZDARSTELLUNG
-
Die hierin beschriebenen Identitätsverifizierungstechniken sind einfach zu implementieren und bewahren trotzdem die Privatsphäre einer Partei (einer anfordernden Entität), die sich gegenüber einer anderen Partei (einer authentifizierenden Entität) identifizieren möchte. Die allgemeine Herangehensweise basiert auf den folgenden Faktoren. Erstens kann ein Vermittler (ein vertrauenswürdiger Anbieter/Trusted Provider) die anfordernde Entität (wie z. B. eine Person oder ein Unternehmen) bereits identifizieren, z. B. in Übereinstimmung mit einer bereits vorhandenen Beziehung. Zweitens kann der vertrauenswürdige Anbieter keine lesbaren Daten über die anfordernde Entität an die authentifizierende Entität weitergeben. Es kann rechtliche oder vertragliche Vereinbarungen geben, die eine solche Weitergabe von Informationen verhindern. Und drittens sollte der vertrauenswürdige Anbieter zur Unterstützung beim Verifizierungsprozess so wenig Arbeit wie möglich haben. Dies kann das Pflegen einer Tabellenkalkulation oder die Durchführung grundlegender Berechnungen beinhalten, jedoch nicht das Berechnen digitaler Signaturen oder das Speichern äußerst sensibler Informationen über die Firma.
-
Aspekte der unten beschriebenen Technologien ermöglichen es dem vertrauenswürdigen Anbieter, seine spezifischen Informationen über eine anfordernde Entität zu nutzen, um sofortige Identifizierung oder Authentifizierung dieser anfordernden Entität bei einer bestimmten authentifizierenden Entität zu ermöglichen. Der vertrauenswürdige Anbieter kann ein Business-to-Business (B2B)-Dienstleister sein, wie z. B. eine Bank oder ein Telekommunikationsunternehmen. Die spezifischen Informationen des vertrauenswürdigen Anbieters über eine bestimmte Person, einen Händler, eine Firma oder eine andere anfordernde Entität kann deren/dessen Adresse, Ansprechpartner und andere Identifizierungsdaten beinhalten, auf die er/es bei normalen Transaktionen mit dieser Firma angewiesen ist. Diese Informationen werden für die Weitergabe an eine bestimmte authentifizierende Entität auf eine bestimmte Weise gehasht. Die authentifizierende Entität generiert ein sicheres Token auf Basis der gehashten Informationen, die der vertrauenswürdige Anbieter verwendet, um einen Verifizierungslink zu erstellen. Die anfordernde Entität kann dann den Verifizierungslink verwenden, der sofortige Identifizierung der anfordernden Identität durch die authentifizierende Entität bereitstellt.
-
Gemäß Aspekten der Technologie beinhaltet ein Verfahren das Verarbeiten, durch eines oder mehrerer Prozessorgeräte, einer Nur-Text-Nachricht mithilfe einer Hash-Funktion, um einen Hash-Wert der Nur-Text-Nachricht zu generieren. Die Nur-Text-Nachricht beinhaltet Kontaktinformationen über eine anfordernde Entität. Das Verfahren beinhaltet außerdem das Senden, durch eine Kommunikationseinheit, des generierten Hash-Werts an ein zweites externes Gerät einer authentifizierenden Entität, und das Empfangen, durch die Kommunikationseinheit, eines sicheren Tokens von dem zweiten externen Gerät der authentifizierenden Entität in Reaktion auf das Senden des generierten Hash-Werts. Das Verfahren beinhaltet ferner das Erstellen, durch das eine oder die mehreren Verarbeitungsgeräte und in Reaktion auf das Empfangen des sicheren Tokens von dem zweiten externen Gerät der authentifizierenden Entität, einer Verifizierungsangabe auf Basis des sicheren Tokens und der Nur-Text-Nachricht. Das Verfahren beinhaltet außerdem das Senden, durch die Kommunikationseinheit, der Verifizierungsangabe an das erste externe Gerät der anfordernden Entität.
-
In einem Beispiel wird die Verarbeitung in Reaktion auf das Empfangen der Nur-Text-Nachricht von einem ersten externen Gerät einer anfordernden Entität durchgeführt, wobei die Nur-Text-Nachricht die Kontaktinformationen der anfordernden Entität umfasst. In einem anderen Beispiel umfasst die Nur-Text-Nachricht die Kontaktinformationen, die eine physische Adresse einer Firma oder Person beinhalten, die der anfordernden Entität zugeordnet ist. In einem weiteren Beispiel umfasst die Nur-Text-Nachricht eine Identität-Javascript Object Notification (JSON) der Kontaktinformationen.
-
In einer Alternative beinhaltet das Verfahren ferner das Hinzufügen eines Salt-Elements zur Nur-Text-Nachricht und Verarbeiten der Nur-Text-Nachricht mit dem vordefinierten Salt-Element mithilfe der Hash-Funktion. Hier umfasst das Senden der Verifizierungsangabe zu dem ersten externen Gerät der anfordernden Entität das Senden einer Verifizierungs-URL, die das sichere Token und die Informationen der Nur-Text-Nachricht enthält, an das erste externe Gerät.
-
Gemäß anderen Aspekten der Technologie wird ein Gerät bereitgestellt, das eine Kommunikationseinheit und einen oder mehrere Prozessoren umfasst. Der eine oder die mehreren Prozessoren sind konfiguriert, aus einem Speicher eine Nur-Text-Nachricht abzurufen, die Informationen einer anfordernden Entität enthält, die Nur-Text-Nachricht mithilfe einer Hash-Funktion zu verarbeiten, um einen Hash-Wert der Nur-Text-Nachricht zu generieren, und eine Verifizierungsangabe auf Basis der Nur-Text-Nachricht und eines sicheren Tokens, das von einem zweiten externen Gerät einer authentifizierenden Entität empfangen wurde, zu erstellen. Die Nur-Text-Nachricht beinhaltet Kontaktinformationen über die anfordernde Entität. Die Kommunikationseinheit ist ferner konfiguriert, die Verifizierungsangabe an ein erstes externes Gerät der anfordernden Entität in Reaktion auf das Empfangen des sicheren Tokens von dem zweiten externen Gerät der authentifizierenden Entität zu senden.
-
In einem Beispiel umfasst die Nur-Text-Nachricht die Kontaktinformationen der anfordernden Entität. In einem anderen Beispiel umfasst die Nur-Text-Nachricht die Kontaktinformationen, die eine physische Adresse einer Firma oder Person beinhalten, die der anfordernden Entität zugeordnet ist. In einem weiteren Beispiel umfasst die Nur-Text-Nachricht eine Identität-Javascript Object Notification (JSON) der Kontaktinformationen.
-
In einer Alternative sind der eine oder die mehreren Prozessoren konfiguriert, ein Salt-Element zur Nur-Text-Nachricht hinzuzufügen und die Nur-Text-Nachricht mit dem vordefinierten Salt-Element mithilfe der Hash-Funktion zu verarbeiten. Hier ist das Gerät in der Lage, die Verifizierungsangabe zu dem ersten externen Gerät der anfordernden Entität zu senden, indem es eine Verifizierungs-URL, die das sichere Token und die Informationen der Nur-Text-Nachricht enthält, an das erste externe Gerät sendet.
-
Gemäß weiteren Aspekten der Technologie wird ein Verfahren bereitgestellt. Das Verfahren beinhaltet, in Reaktion auf das Empfangen eines Hash-Werts von einem Computergerät eines vertrauenswürdigen Anbieters, das Speichern des Hash-Werts im Speicher. Der Hash-Wert entspricht den Nur-Text-Informationen, die einer anfordernden Entität zugeordnet sind. Die Nur-Text-Informationen beinhalten Kontaktinformationen über die anfordernde Entität. Das Verfahren beinhaltet außerdem das Generieren, durch eines oder mehrere Prozessorgeräte, eines sicheren Tokens, das einem Speicherort des Hash-Werts zugeordnet ist. In Reaktion auf das Empfangen einer Verifizierungsnachricht von einem ersten externen Gerät der anfordernden Entität, beinhaltet das Verfahren das Verarbeiten, durch das eine oder die mehreren Prozessorgeräte, der Verifizierungsnachricht mithilfe einer Hash-Funktion, um einen Hash-Wert zu generieren, das Abrufen des Hash-Werts, der im Speicher gespeichert ist, das Vergleichen eines generierten Hash-Werts mit dem Hash-Wert, der aus dem Speicher abgerufen wird, und das Vergleichen des generierten sicheren Tokens mit den Tokeninformationen in der Verifizierungsnachricht, um eine Identität der anfordernden Entität zu verifizieren.
-
In einem Beispiel umfasst das Generieren des sicheren Tokens, das dem Speicherort zugeordnet ist, das Generieren einer zufälligen Tokenzeichenfolge und das Aufzeichnen einer Zuordnung zwischen der zufälligen Tokenzeichenfolge und dem Speicherort. In einem anderen Beispiel ist die Länge der zufälligen Tokenzeichenfolge mindestens 16 Bit. In einem weiteren Beispiel beinhaltet das Verfahren ferner das Speichern des sicheren Tokens in einer Datenbank und das Zuordnen des sicheren Tokens zum gespeicherten Hash-Wert. In noch einem anderen Beispiel beinhaltet das Verfahren ferner das Vorausfüllen einer Anmeldevorlage mit Kontodaten der anfordernden Entität durch den einen oder die mehreren Prozessoren. Hier können die Kontodaten über einen Abfragezeichenfolgeparameter zur Identifizierung empfangen werden, der der anfordernden Entität zugeordnet ist.
-
Und gemäß anderen Aspekten der Technologie wird ein Gerät bereitgestellt, das eine Kommunikationseinheit und einen oder mehrere Prozessoren beinhaltet, die konfiguriert sind, ausgewählte Operationen durchzuführen. Insbesondere in Reaktion auf das Empfangen eines Hash-Werts von einem Computergerät eines vertrauenswürdigen Anbieters sind der eine oder die mehreren Prozessoren konfiguriert, den Hash-Wert im Speicher zu speichern. Der Hash-Wert entspricht den Nur-Text-Informationen, die einer anfordernden Entität zugeordnet sind. Die Nur-Text-Informationen beinhalten Kontaktinformationen über die anfordernde Entität. Der eine oder die mehreren Prozessoren sind außerdem konfiguriert, ein sicheres Token zu generieren, das einem Speicherort des Hash-Werts zugeordnet ist. In Reaktion auf das Empfangen einer Verifizierungsnachricht von einem ersten externen Gerät der anfordernden Entität sind der eine oder die mehreren Prozessoren konfiguriert, die Verifizierungsnachricht mithilfe einer Hash-Funktion zu verarbeiten, um einen Hash-Wert zu generieren, den Hash-Wert abzurufen, der im Speicher gespeichert ist, einen generierten Hash-Wert mit dem Hash-Wert zu vergleichen, der aus dem Speicher abgerufen wird, und das generierte sichere Token mit den Tokeninformationen in der Verifizierungsnachricht zu vergleichen, um eine Identität der anfordernden Entität zu verifizieren.
-
In einem Beispiel wird das sichere Token, das dem Speicherort zugeordnet ist, durch Generieren einer zufälligen Tokenzeichenfolge und Aufzeichnen einer Zuordnung zwischen der zufälligen Tokenzeichenfolge und dem Speicherort erstellt. In diesem Fall kann eine Länge der zufälligen Tokenzeichenfolge mindestens 16 Bit sein. In einem anderen Beispiel sind der eine oder die mehreren Prozessoren ferner konfiguriert, das sichere Token in einer Datenbank zu speichern und das sichere Token zum gespeicherten Hash-Wert zuzuordnen. In einem weiteren Beispiel sind der eine oder die mehreren Prozessoren außerdem konfiguriert, eine Anmeldevorlage mit Kontodaten der anfordernden Entität vorauszufüllen. In dieser Situation können die Kontodaten über einen Abfragezeichenfolgeparameter zur Identifizierung empfangen werden, der der anfordernden Entität zugeordnet ist.
-
Figurenliste
-
Diese Spezifikation wird von einer Reihe von Zeichnungen begleitet, die verschiedene Merkmale und Aspekte der Technologie veranschaulichen. In den Zeichnungen beziehen sich gleiche Bezugsnummern auf gleiche Elemente. Eine kurze Erörterung jeder Zeichnung wird nachfolgend bereitgestellt.
- 1 veranschaulicht einen exemplarischen Prozess gemäß Aspekten der Offenbarung.
- 2A ist eine exemplarische Anordnung eines vertrauenswürdigen Anbieters gemäß Aspekten der Offenbarung.
- 2B ist eine exemplarische Anordnung einer authentifizierenden Entität gemäß Aspekten der Offenbarung.
- 3 veranschaulicht ein exemplarisches Netzwerk gemäß Aspekten der Offenbarung.
- 4 veranschaulicht einen exemplarischen Anfrageprozess gemäß Aspekten der Offenbarung.
- 5 veranschaulicht einen exemplarischen Verifizierungsprozess gemäß Aspekten der Offenbarung.
-
Die folgende Beschreibung basiert auf Ausführungsformen der Ansprüche und sollte nicht so angesehen werden, dass sie die Ansprüche in Bezug auf alternative Ausführungsformen einschränkt, die hierin nicht ausdrücklich beschrieben sind.
-
AUSFÜHRLICHE BESCHREIBUNG
-
ÜBERBLICK
-
Das hierin erörterte Authentifizierungsprotokoll beinhaltet eine Interaktion zwischen einer anfordernden Entität, einem vertrauenswürdigen Anbieter und einer authentifizierenden Entität. Die anfordernde Entität ist darauf angewiesen, dass sich der vertrauenswürdige Anbieter bei der authentifizierenden Entität für die anfordernde Entität effektiv verbürgt, jedoch ohne vertrauliche oder andere persönliche Informationen der anfordernden Entität an die authentifizierende Entität direkt weiterzugeben. Diese Herangehensweise erfordert es nicht, dass eine der Entitäten erweiterte kryptografische Operationen durchführt oder sensible Informationen über das hinaus speichert, was normalerweise für die tägliche Arbeit nötig ist. Dies beschränkt Verwaltungs- oder Ressourcenaufwand auf ein Minimum, zum Beispiel über eine Tabellenkalkulation oder eine optimierte Datenbank. Dies macht es für Einzelpersonen, Kleinunternehmen und andere anfordernde Entitäten sowie vertrauenswürdige Anbieter, die als Schnittstelle zu autorisierenden Entitäten fungieren, attraktiv.
-
Ein Beispiel des authentifizierenden Protokolls ist in 1 veranschaulicht. Hier ist, wie nachstehend näher erörtert, ein Prozessablauf von einer anfordernden Entität zu einem vertrauenswürdigen Anbieter zu einer authentifizierenden Entität und anschließend zurück zu dem vertrauenswürdigen Anbieter und der anfordernden Entität dargestellt. Auf hoher Ebene ermöglicht das Protokoll einem vertrauenswürdigen Anbieter, Verifizierungscodes - bevorzugt Verifizierungs-URLs- zu generieren, ohne die persönlichen Daten der anfordernden Entität an die authentifizierende Entität weiterzugeben. Das Protokoll beinhaltet zum Beispiel, dass der vertrauenswürdige Anbieter einige Aufgaben und Interaktion mit der authentifizierenden Entität durchführt und dann in der Lage ist, die Verifizierungs-URL direkt an die anfordernde Entität zu liefern. Wenn jemand bei der anfordernden Entität die URL empfängt und darauf klickt, wird er automatisch bei der authentifizierenden Entität authentifiziert. Die authentifizierende Entität erhält somit Kenntnis des Vorhandenseins der anfordernden Entität zu dem Zeitpunkt, zu dem die anfordernde Entität den Link aktiviert, und nicht zuvor.
-
Insbesondere stellt, wie in 1 dargestellt, die anfordernde Entität dem vertrauenswürdigen Anbieter anfänglich bestimmte Informationen („Entitätsinformationen“) bereit. Dies kann bei der normalen Geschäftstätigkeit mit diesem vertrauenswürdigen Anbieter erfolgen. Eine Person oder Firma kann zum Beispiel ein Konto bei einer Bank eröffnen oder einen Dienst bei einem Telekommunikationsanbieter einrichten. Die Entitätsinformationen wären zum Beispiel Name und Adresse oder andere Kontaktinformationen über die anfordernde Entität. Die Entitätsinformationen werden vom vertrauenswürdigen Anbieter als Identitätsinformationen in einem Identitätsdatensatz gespeichert.
-
Als Beispiel können die Daten der anfordernden Entität („Entitätsinformationen“), die durch den vertrauenswürdigen Anbieter gespeichert werden, als eine Identität der anfordernden Entität bezeichnet werden. Die Identität kann typischerweise den Namen eines Ansprechpartners (z. B. Firmeninhaber) und eine physische Straßenadresse beinhalten, die der Firma oder einer anderen anfordernden Entität zugeordnet ist. Die Identitätsinformationen können vom vertrauenswürdigen Anbieter z. B. als Teil einer Tabellenkalkulation oder als Datensatz in einer Customer Relationship Management (CRM)-Datenbank gespeichert werden. Die Identitätsinformationen können als Nur-Text-Nachricht („Identitätsdatensatz“) im JavaScript Object Notation (JSON)-Format angeordnet sein.
-
Irgendwann kann die anfordernde Entität den vertrauenswürdigen Anbieter bitten, sich für diese Entität bei einer authentifizierenden Entität zu verbürgen. Dies kann zum Beispiel erfolgen, damit die anfordernde Entität auf Dienste zugreifen kann, die von der authentifizierenden Entität angeboten werden. Der vertrauenswürdige Anbieter erstellt einen sicheren Hash (Nachrichten-Hash) der Daten der anfordernden Entität (Identitätsdatensatz) bei der authentifizierenden Entität.
-
Insbesondere wird der Nachrichten-Hash durch den vertrauenswürdigen Anbieter an die authentifizierende Entität gesendet. Die authentifizierende Entität generiert ein sicheres Token, das zu dem vertrauenswürdigen Anbieter zurückgeschickt wird und als Nachrichtenbestätigung für den bereitgestellten Nachrichten-Hash fungiert. Der Nachrichten-Hash und das sichere Token werden durch die authentifizierende Entität für die spätere Verifizierung der relevanten anfordernden Entität gespeichert.
-
Sobald der vertrauenswürdige Anbieter die Bestätigung empfängt, verwendet er das sichere Token, um einen Verifizierungslink zu erstellen. Eine Verifizierungs-URL wird zum Beispiel beim vertrauenswürdigen Anbieter erstellt, damit sich die anfordernde Entität direkt bei der authentifizierenden Entität anmelden kann. Die URL wird sowohl auf Basis des sicheren Tokens, das von der anfordernden Entität empfangen wird, als auch der Identität, die durch den vertrauenswürdigen Anbieter gespeichert wird, erstellt.
-
Die Verifizierungs-URL wird dann an die anfordernde Entität gesendet. Wie in 1 dargestellt, wird, wenn die anfordernde Entität sich bei der authentifizierenden Entität anmelden oder sonst registrieren möchte, die Verifizierungs-URL angeklickt oder sonst aktiviert. Dies öffnet eine Verbindung zur Website der authentifizierenden Entität. An diesem Punkt erkennt die authentifizierende Entität, ob die Daten, die sie von der anfordernden Entität empfängt, zum selben Wert hashen, der durch den vertrauenswürdigen Anbieter bereitgestellt und durch die authentifizierende Entität im Speicher gespeichert wird. Angenommen, die Informationen sind korrekt, dann wird die anfordernde Entität umgehend bei der authentifizierenden Entität validiert.
-
EXEMPLARISCHE ANORDNUNG
-
2A veranschaulicht eine exemplarische Konfiguration 200 eines vertrauenswürdigen Anbieters, die mit dem hierin offenbarten Authentifizierungsprotokoll eingesetzt werden kann. Wie dargestellt, beinhaltet die Konfiguration 200 ein Verarbeitungsmodul 202, das einen oder mehrere Computerprozessoren, wie z. B. eine zentrale Verarbeitungseinheit 204 und/oder Grafikprozessoren 206 sowie das Speichermodul 208 aufweist, das konfiguriert ist, Anweisungen 210 und Daten 212 zu speichern. Eine Datenbank 214 kann vom Speichermodul 208 getrennt sein oder nicht. Die Prozessoren können parallel betrieben werden oder nicht und sie können ASICs, Controller und andere Arten von Hardwareschaltungen beinhalten. Die Prozessoren sind konfiguriert, Informationen von einem Benutzer über ein Benutzeroberflächenmodul 216 zu empfangen und dem Benutzer Informationen auf einem Anzeigegerät des Anzeigemoduls 218 zu präsentieren, das eine Anzeigeschnittstelle aufweist.
-
Das Benutzeroberflächenmodul 216 kann Befehle von einem Benutzer über Benutzereingaben empfangen und diese für das Senden zu einem bestimmten Prozessor umwandeln. Die Benutzereingaben können eines oder mehrere von einem Touchscreen, einer Tastatur, einer Maus, einem Stylus, einem Mikrofon oder anderen Arten von Eingabegeräten beinhalten. Das Anzeigemodul 218 kann eine geeignete Schaltung enthalten, die das Anzeigegerät dazu bringt, dem Benutzer grafische und andere Informationen zu präsentieren. Als Beispiel können die grafischen Informationen durch den/die Grafikprozessor(en) 206 generiert werden, während die CPU 204 den gesamten Betrieb der Konfiguration 200 des vertrauenswürdigen Anbieters verwaltet.
-
Das Speichermodul 208 kann als ein oder mehrere von einem computerlesbaren Medium oder Medien, flüchtigen Speichereinheit oder -einheiten oder nicht flüchtigen Speichereinheit oder - einheiten implementiert sein. Das Speichermodul 208 kann zum Beispiel Flash-Speicher und/oder NVRAM beinhalten und kann als Festplatte oder Speicherkarte vorliegen. Alternativ kann das Speichermodul 208 auch DVD, CD-ROM, beschreibbare und schreibgeschützte Speicher beinhalten. Bei einer Implementierung ist ein Computerprogrammprodukt in einem Informationsträger physisch enthalten. Das Computerprogrammprodukt enthält Anweisungen, wie z. B. Anweisungen 210, die bei Ausführung durch einen oder mehrere Prozessoren ein oder mehrere Verfahren wie die hierin beschriebenen ausführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium wie das Speichermodul 208. Auch wenn 2A den/die Prozessor(en), das Speichermodul und andere Elemente des Geräts 200 funktionell als innerhalb desselben Gesamtblocks veranschaulicht, können solche Komponenten innerhalb desselben physischen Gehäuses untergebracht sein oder nicht. Einige oder alle der Anweisungen können zum Beispiel auf einem Informationsträger gespeichert sein, der ein Wechselspeichermedium (z. B. optisches Laufwerk oder USB-Laufwerk) ist, und andere können innerhalb eines schreibgeschützten Computerchips gespeichert sein. Alternativ kann die Datenbank 214 Identitätsdatensätze in einer Anordnung speichern, die vom Rest der Anordnung 200 des vertrauenswürdigen Anbieters physisch getrennt ist.
-
Die Daten 212 können durch Prozessoren in Übereinstimmung mit den Anweisungen 210 abgerufen, gespeichert oder modifiziert werden. So können beispielsweise, obwohl der hierin beschriebene Gegenstand nicht durch eine beliebige bestimmte Datenstruktur beschränkt ist, die Daten in Computergeräteregistern in einer verwandten Datenbank als eine Tabelle gespeichert werden, die eine Vielzahl verschiedener Felder und Datensätze, XML-Dokumente oder unstrukturierten Dateien aufweisen. Die Daten 212 können zudem in einem beliebigen computerlesbaren Format formatiert sein.
-
Bei den Anweisungen 210 kann es sich um einen beliebigen Satz von Anweisungen zur direkten (wie z. B. Maschinencode) oder indirekten (wie Scripts) Ausführung durch den/die Prozessor(en) handeln. Die Anweisungen können beispielsweise in Form von Computergerätecode auf einem computergerätelesbaren Medium gespeichert werden. Diesbezüglich können die Begriffe „Anweisungen“ und „Programme“ hierin austauschbar verwendet werden. Die Anweisungen können in Objektcodeformat zur direkten Verarbeitung durch den/die Prozessor(en) oder in einer anderen Computergerätesprache, einschließlich Scripts oder Sammlungen von unabhängigen Quellcodemodulen, gespeichert sein, die auf Anforderung interpretiert oder vorab kompiliert werden. Funktionen, Verfahren und Routinen der Anweisungen werden nachfolgend ausführlicher erklärt.
-
Wie ebenfalls in 2A dargestellt, beinhaltet die Konfiguration 200 des vertrauenswürdigen Anbieters ein Kommunikationsmodul 220 für die Kommunikation mit anderen Geräten und Systemen, einschließlich anfordernden Entitäten und einer oder mehreren authentifizierenden Entitäten. Das Kommunikationsmodul 220 beinhaltet einen drahtlosen Sendeempfänger; alternativ kann das Modul einen drahtgebundenen Sendeempfänger oder beides beinhalten. Die Konfiguration 200 des vertrauenswürdigen Anbieters kann mit anderen Remote-Geräten über das Kommunikationsmodul 220 mithilfe verschiedener Kommunikationen und Protokolle kommunizieren, zum Beispiel Kurzstrecken-Kommunikationsprotokolle wie Nahfeldkommunikation, Bluetooth™, Bluetooth™ Low Energy (LE) oder anderen Ad-hoc-Netzwerken, dem Internet, Intranets, virtuellen privaten Netzwerken, Weitverkehrsnetzwerken, lokalen Netzwerken, privaten Netzwerken die Kommunikationsprotokolle verwenden, die für eines oder mehrere Unternehmen proprietär sind, Ethernet, WiFi und HTTP und Kombinationen der vorstehenden. Außerdem beinhaltet die Konfiguration 200 des vertrauenswürdigen Anbieters, wie dargestellt, ein Stromversorgungsmodul 222.
-
In einem Beispiel wendet der vertrauenswürdige Anbieter eine sichere Hashing-Funktion an, um die Identitätsinformationen der anfordernden Entität zu hashen. Wie zuvor erwähnt, kann der Identitätsdatensatz im JavaScript Object Notation (JSON)-Format sein. Der vertrauenswürdige Anbieter kann zum Beispiel die Identitätsdatensatz JSON in eine Zeichenfolge umwandeln, z. B. durch UTF-8-Codierung. Er kann diese dann optional Base-64 codieren. Diese Daten können dann der Hashing-Funktion bereitgestellt werden, zum Beispiel einer SHA-256 Hashing-Funktion. Das Ergebnis des Hashing-Prozesses ist ein Nachrichten-Hash. Bei dem Nachrichten-Hash handelt es sich um eine spezifische Darstellung der Daten, jedoch nicht um die Daten selbst. Zur zusätzlichen Sicherheit des vertrauenswürdigen Anbieters vor Reengineering des Hash können Zufallsdaten („Salt“) zum Identitätsdatensatz JSON hinzugefügt werden, bevor der Hashing-Prozess durchgeführt wird. Nur als Beispiel kann das Salt eines oder mehrere Byte Zufallsdaten beinhalten. Der vertrauenswürdige Anbieter kann dann den Nachrichten-Hash über eine HTTP POST-Anfrage oder andere Übertragung an die authentifizierende Entität weitergeben.
-
Eine exemplarische Konfiguration 250 der authentifizierenden Entität ist in 2B dargestellt. Diese Konfiguration ist ähnlich der Konfiguration 200 des vertrauenswürdigen Anbieters. Die Konfiguration 250 beinhaltet zum Beispiel ein Verarbeitungsmodul 252, das einen oder mehrere Computerprozessoren, wie z. B. eine zentrale Verarbeitungseinheit 254 und/oder Grafikprozessoren 256 sowie das Speichermodul 258 aufweist, das konfiguriert ist, Anweisungen 260 und Daten 262 zu speichern. Eine Datenbank 264 kann vom Speichermodul 208 getrennt sein oder nicht. Diese Datenbank ist so angeordnet, dass sie empfangene Nachrichten-Hashes und sichere Tokens, die durch die authentifizierende Entität empfangen werden, speichert.
-
Die Prozessoren können parallel betrieben werden oder nicht und sie können ASICs, Controller und andere Arten von Hardwareschaltungen beinhalten. Die Prozessoren sind konfiguriert, Informationen von einem Benutzer über ein Benutzeroberflächenmodul 266 zu empfangen und dem Benutzer Informationen auf einem Anzeigegerät des Anzeigemoduls 268 zu präsentieren, das eine Anzeigeschnittstelle aufweist. Die Prozessoren, das Speichermodul, das Benutzeroberflächenmodul und das Anzeigemodul werden auf dieselbe Weise betrieben wie zuvor für die Konfiguration 200 des vertrauenswürdigen Anbieters beschrieben. Und ähnlich der Datenbank 214 kann die Datenbank 264 Nachrichten-Hashes und sichere Tokens in einer Anordnung speichern, die vom Rest der Konfiguration 250 der authentifizierenden Entität getrennt angeordnet ist.
-
Wie ebenfalls in 2B dargestellt, beinhaltet die Konfiguration 250 der authentifizierenden Entität ein Kommunikationsmodul 270 für die Kommunikation mit anderen Geräten und Systemen, einschließlich anfordernden Entitäten und einem oder mehreren vertrauenswürdigen Anbietern. Das Kommunikationsmodul 270 kann eine äquivalente Anordnung wie die haben, die für das Kommunikationsmodul 220 beschrieben ist. Außerdem beinhaltet die Konfiguration 250 der authentifizierenden Entität, wie dargestellt, ein Stromversorgungsmodul 272.
-
Nach Empfangen des Nachrichten-Hash veranlasst die authentifizierende Entität mehrere Dinge. Erstens kann sie validieren, dass der vertrauenswürdige Anbieter selbst autorisiert ist, sich für die anfordernde Entität zu verbürgen. Falls die Validierung fehlschlägt, stoppt der Prozess und die anfordernde Entität muss einen formelleren und direkten Verifizierungsprozess bei der anfordernden Entität verwenden. Angenommen, die Validierung des vertrauenswürdigen Anbieters ist erfolgreich, dann erstellt die authentifizierende Entität das sichere Token, das als Empfang des Nachrichten-Hash dient. Das sichere Token sollte mit dem empfangenen Nachrichten-Hash nicht verbunden sein. Das sichere Token kann zum Beispiel eine zufällige Nonce (z. B. 16 Bytes oder mehr) sein. Die authentifizierende Entität speichert den Nachrichten-Hash und das sichere Token in der Datenbank 264 und sendet eine Kopie des sicheren Tokens an den vertrauenswürdigen Anbieter zurück. Somit ist zu sehen, dass der vertrauenswürdige Anbieter keine Klartext-Version des Identitätsdatensatz JSON an die authentifizierende Entität sendet und die authentifizierende Entität kann die Identitätsinformationen der anfordernden Entität nicht zurückentwickeln.
-
An diesem Punkt kann, sobald der vertrauenswürdige Anbieter über das sichere Token verfügt, der vertrauenswürdige Anbieter den Identitätsdatensatz und das sichere Token effektiv an die anfordernde Entität weitergeben. Dies kann zum Beispiel erfolgen, indem der vertrauenswürdige Anbieter eine Verifizierungs-URL für die anfordernde Entität auf Basis des Identitätsdatensatzes und des empfangenen sicheren Tokens generiert. In einem Beispiel beinhaltet die Verifizierungs-URL die in eine Zeichenfolge umgewandelte Version des Identitätsdatensatzes und das sichere Token, mit einem Zeiger zur Website der authentifizierenden Entität. Der vertrauenswürdige Anbieter kann das empfangene sichere Token in der Datenbank 214 speichern, zum Beispiel in Zuordnung zu dem verbundenen Identitätsdatensatz oder getrennt. Alternativ kann der vertrauenswürdige Anbieter das empfangene sichere Token nicht speichern, sobald die Verifizierungs-URL generiert wurde.
-
Nach Generierung wird die Verifizierungs-URL direkt vom vertrauenswürdigen Anbieter an die anfordernde Entität gesendet. Dies ermöglicht wiederum der Person oder dem Benutzer bei der anfordernden Entität, auf den Link zu klicken oder sonst die Verifizierung zu initiieren. Wenn die Verifizierungs-URL aktiviert ist, wird der Webbrowser der anfordernden Entität zur Website der authentifizierenden Entität geleitet, wo der Benutzer der anfordernden Entität sich selbst oder seine Firma durch die authentifizierende Entität automatisch verifizieren lassen kann.
-
Insbesondere validiert die authentifizierende Entität die Informationen, die über die Verifizierungs-URL empfangen werden, in Übereinstimmung mit dem Nachrichten-Hash, der vorher durch die authentifizierende Entität vom vertrauenswürdigen Anbieter empfangen wurde. Wenn die anfordernde Entität auf den Verifizierungs-URL-Link klickt, validiert die authentifizierende Entität die in eine Zeichenfolge umgewandelte Version der Identitätsinformationen und das sichere Token. Für das Letztere wird das sichere Token, das von der authentifizierenden Entität im Speicher gespeichert ist, mit dem empfangenen sicheren Token verglichen, um eine Übereinstimmung zu bestätigen. Für die Identitätsinformationen führt das System der authentifizierenden Entität einen Hash-Prozess durch und vergleicht das Ergebnis mit dem Nachrichten-Hash, der vorher von dem vertrauenswürdigen Anbieter empfangen wurde.
-
Die authentifizierende Entität kann einen Anmeldebildschirm mit den Firmendaten der Person vorausfüllen. Dies ist möglich, da die Daten in Nur-Text in einem Abfragezeichenfolgeparameter zur Identifizierung codiert sind, der den Daten der anfordernden Entität zugeordnet ist, in Übereinstimmung mit dem Nachrichten-Hash, der vorher von dem vertrauenswürdigen Anbieter empfangen wurde.
-
Die authentifizierende Entität kann außerdem verifizieren, dass die Identitätsinformationen etwas entsprechen, für das der vertrauenswürdige Anbieter das Recht hat, es bereitzustellen. Es kann zum Beispiel geografische oder andere Einschränkungen dazu geben, was der vertrauenswürdige Anbieter zertifizieren kann.
-
Sobald die Verifizierungen erfüllt sind, ermittelt die authentifizierende Entität, dass die Verifizierungs-URL legitim ist und von einem vertrauenswürdigen Anbieter generiert wurde, der von der authentifizierenden Entität autorisiert ist. Falls dies zutrifft, können die Daten der anfordernden Entität umgehend verifiziert werden. Somit ermöglicht es das System vertrauenswürdigen Anbietern, sich für die Identitäten ihrer Benutzer gegenüber einer authentifizierenden Entität zu verbürgen, und es ermöglicht eine sofortige Verifizierung der Benutzer durch die authentifizierende Entität, ohne dass sensible Informationen über diese oder ihre Firma ausgetauscht werden müssen.
-
3 veranschaulicht eine exemplarische Anordnung, in der verschiedene Geräte 300 der anfordernden Entität, z. B. 3001 , 3002 , 3003 und 3004 , Inhalt oder andere Informationen von einem vertrauenswürdigen Anbieter 320 und einer authentifizierenden Entität 340 über das Kommunikationssystem 310 anfordern können. Die Geräte 300 der anfordernden Entität können einige oder alle der Komponenten beinhalten, die oben in Bezug auf die Konfiguration 200 des vertrauenswürdigen Anbieters und die Konfiguration 250 der authentifizierenden Entität erörtert wurden. Die Geräte der anfordernden Entität können Laptops (3001 ), Tablets (3002 ), Mobiltelefone oder PDAs (3003 ) oder Desktop-PCs (3004 ) beinhalten. Jedoch können andere Geräte der anfordernden Entität ebenfalls durch die anfordernde Entität, wie z. B. einer Einzelperson, einem Kleinunternehmen oder einen Konzern, eingesetzt werden. Alle solchen Geräte der anfordernden Entität können Informationen an einen vertrauenswürdigen Anbieter senden, Verifizierungs-URLs empfangen und Verifizierung von einer authentifizierenden Entität anfordern, wie in 1 dargestellt.
-
Wie dargestellt, kann sich der vertrauenswürdige Anbieter 320 über den Link 324 mit der Datenbank 322 verbinden. Der vertrauenswürdige Anbieter 320 und die Datenbank 322 entsprechen der Konfiguration 200 des vertrauenswürdigen Anbieters, wie oben in Bezug auf 2A beschrieben. Ähnlich kann sich die authentifizierende Entität über den Link 344 mit der Datenbank 342 verbinden. Die authentifizierende Entität 340 und die Datenbank 342 entsprechen, wie oben in Bezug auf 2B beschrieben, der Konfiguration 250 der authentifizierenden Entität. Auch wenn in 3 nur ein vertrauenswürdiger Anbieter 320 und nur eine authentifizierende Entität 340 dargestellt sind, können jedwede Anzahl von vertrauenswürdigen Anbietern und autorisierenden Entitäten enthalten sein.
-
EXEMPLARISCHE VERFAHREN
-
Ein exemplarisches Szenario des Betriebs des vertrauenswürdigen Anbieters ist in Verbindung mit Ablaufdiagramm 400 von 4 dargestellt. Hier beinhaltet der Prozess in Block 402 Authentifizierungsinformationen von der anfordernden Entität, zum Beispiel Name und Adresse oder andere Kontaktinformationen. Dies kann auf Basis der bereits vorhandenen Interaktion des vertrauenswürdigen Anbieters mit der anfordernden Entität erfolgen, zum Beispiel durch Bestätigen eines Kontaktnamens und einer Postadresse, an die Mitteilungen an die anfordernde Entität gesendet werden. Diese Informationen werden als ein Identitätsdatensatz in Block 404 gespeichert. Dies kann in einem JSON-Format oder einem anderen Format sein, je nach Konfiguration der Datenbank des vertrauenswürdigen Anbieters. Diese Vorgänge können zu einem Zeitpunkt erfolgen, wenn die anfordernde Entität ein Konto eröffnet oder sich sonst an den Diensten des vertrauenswürdigen Anbieters beteiligt.
-
Der vertrauenswürdige Anbieter kann eine Anfrage von der anfordernden Entität bei Block 406 empfangen. Dies beinhaltet eine Anfrage, dass der vertrauenswürdige Anbieter sich für die anfordernde Entität bei einer bestimmten authentifizierenden Entität verbürgt. Oder, alternativ, kann der vertrauenswürdige Anbieter prospektiv handeln. Auf Basis entweder einer Anfrage oder einer prospektiven Aktion generiert der vertrauenswürdige Anbieter einen Nachrichten-Hash des Identitätsdatensatzes bei Block 408. Herangehensweisen für die Durchführung durch den Prozessor des vertrauenswürdigen Anbieters werden weiter oben erörtert. Der Nachrichten-Hash wird zu der bestimmten authentifizierenden Entität bei Block 410 übertragen. Anschließend empfängt der vertrauenswürdige Anbieter in Reaktion ein sicheres Token bei Block 412. Das sichere Token, wie z. B. eine Nonce oder andere Informationen, stellt eine Bestätigung dar, dass die authentifizierende Entität den Nachrichten-Hash empfangen hat.
-
Sobald das sichere Token empfangen wird, erstellen der/die Prozessor(en) des vertrauenswürdigen Anbieters die Verifizierungs-URL mithilfe des sicheren Tokens und des gespeicherten Identitätsdatensatzes bei Block 414. Diese Informationen werden dann bei Block 416 an die anfordernde Entität übertragen. An diesem Punkt hat der vertrauenswürdige Anbieter seinen Teil des Verifizierungsprozesses abgeschlossen.
-
5 veranschaulicht einen exemplarischen Prozess 500 für den Betrieb der authentifizierenden Entität. Bei Block 502 empfängt die authentifizierende Entität einen Nachrichten-Hash von einem vertrauenswürdigen Anbieter. Darauf basierend wird bei Block 504 ein sicheres Token von einem oder mehreren Prozessoren der authentifizierenden Entität generiert. Wie zuvor angegeben, kann das sichere Token eine zufällige Nonce sein. Anschließend werden bei Block 506 der empfangene Nachrichten-Hash und das generierte sichere Token im Speicher gespeichert, zum Beispiel in der Datenbank 264 von 2B (oder der gleichwertigen Datenbank 342 von 3). Das sichere Token wird in Block 508 zu dem vertrauenswürdigen Anbieter übertragen. Anschließend empfängt, wenn die anfordernde Entität die Verifizierungs-URL aktiviert (z. B. durch Anklicken), die authentifizierende Entität diese Informationen von der anfordernden Entität bei Block 510. An diesem Punkt führen die Prozessoren der anfordernden Entität eine Verifizierungsoperation bei Block 512 durch. Dies beinhaltet das Vergleichen der Informationen von der empfangenen Verifizierungs-URL mit dem gespeicherten Nachrichten-Hash sowie das Bestätigen, dass die Informationen des empfangenen sicheren Tokens von der Verifizierungs-URL mit dem sicheren Token übereinstimmen, das in der Datenbank der authentifizierenden Entität gespeichert ist. Block 514 untersucht, ob die Verifizierung erfolgreich ist. Falls dies zutrifft, wird bei Block 516 der anfordernden Entität Zugriff durch die authentifizierende Entität gewährt. Je nach Art der authentifizierenden Entität und Art der anfordernden Entität kann dies der anfordernden Entität ermöglichen, bestimmte Operationen durchzuführen, oder es ihr ermöglichen, ausgewählte Waren oder Dienste bereitzustellen. Wenn der Verifizierungsprozess fehlschlägt, wird der anfordernden Entität der Zugriff bei Block 518 verweigert.
-
Die in den Figuren dargestellte(n) und hierin beschriebene(n) Logik und Prozessabläufe sind nicht auf eine bestimmte Reihenfolge oder Sequenz beschränkt, es sei denn, dies ist ausdrücklich angegeben. Darüber hinaus können andere Schritte vorgesehen oder Schritte aus den beschriebenen Abläufen eliminiert werden und andere Komponenten zu den beschriebenen Systemen hinzugefügt oder aus denselben entfernt werden.
-
Obwohl Aspekte der hierin enthaltenen Technologie unter Bezugnahme auf bestimmte Ausführungsformen beschrieben wurden, versteht sich, dass diese Ausführungsformen lediglich die Grundsätze und Anwendungen der vorliegenden Technologie veranschaulichen. Es versteht sich daher, dass zahlreiche Modifizierungen an den veranschaulichenden Ausführungsformen vorgenommen werden können, und dass andere Anordnungen konzipiert werden können, ohne vom durch die beigefügten Patentansprüche definierten Sinn und Umfang der vorliegenden Technologie abzuweichen.