-
TECHNISCHES GEBIET
-
Die Erfindung betrifft ein Verfahren zum Einrichten einer anonymen digitalen Identität, welche die Privatsphäre eines Nutzers schützt.
-
HINTERGRUND
-
Es gibt Bedarf für eine digitale Identität, welche die Identität eines Nutzers in einem virtuellen Raum, wie einer Onlineumgebung, beweist, da Dienstleistungen im virtuellen Raum zunehmen.
-
Die digitale Identität ist mit einer persönlichen Information des Nutzers verknüpft. Daher kann sich eine Datenschutzproblematik ergeben, wenn Nutzungsspuren digitaler Services geleakt werden. Insbesondere ist die digitale Identität anfälliger für Kopien, Manipulationen und Diebstahl, weil sie unbegrenzt reproduziert werden kann und es schwer ist, zwischen der Originalen und der Reproduzierten zu unterscheiden.
-
Um eine unauthorisierte Kopie zu verhindern und den Wert digitaler Inhalte zu schützen, sollen Dritte die digitalen Inhalte innerhalb ihrer Server halten und den Zugang zu digitalen Inhalten begrenzen. Jedoch ist diese Methode unzuverlässig, weil der Server gehackt werden kann und die Informationen durch Dritte geleakt werden können.
-
Probleme wie Hacking, unauthorisiertes Kopieren und Bedarf für eine Drittpartei können gelöst werden, wenn die digitalen Inhalte (hiernach als „digitale Identität“ bezeichnet) in einer Blockchain gespeichert ist. Jedoch kann der Datenschutz noch bedrohter sein, weil die Blockchain unter der Bedingung betrieben wird, dass jeder Zugang zu den in der Blockchain gespeicherten Informationen hat.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
TECHNISCHE AUFGABE
-
Es ist die Aufgabe der vorliegenden Erfindung ein Verfahren zum Einrichten einer digitalen Identität zu schaffen, wobei die digitale Identität an die Existenz einer spezifischen Person in der echten Welt geknüpft ist; jedoch das Attribut der Person lediglich zur Assoziierung der Existenz in der echten Welt mit der digitalen Identität oder der Verifikation vorbestimmter Berechtigungsnachweise, wie etwa der Status minderjährig/volljährig und Nationalität, verwendet werden, ohne dass diese die digitale Identität errichten, wodurch Anonymität garantiert wird.
-
TECHNISCHE LÖSUNG
-
Die vorliegende Erfindung betrifft ein Verfahren zum Einrichten einer digitalen Identität entsprechend der vorliegenden Erfindung und wird in einer Umgebung ausgeführt, die ein Userterminal, ein Accountmodul und ein Repository umfasst.
-
Das Verfahren umfasst einen ersten Schritt, in welchem durch das Repository eine Identitätsverifikationsinformation, ein zweiter homomorpher Verschlüsselungswert, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einer zweiten Identitätsverfikations-ID durchgeführt wird, und ein dritter Validitätsverifikationswert von dem Userterminal empfangen wird, der ein Wert ist, der erzeugt wird, indem eine elektronische Signierung auf dem zweiten homomorphen Verschlüsselungswert durchgeführt wird; einen zweiten Schritt, in welchem durch das Repository der dritte Validitätsverifikationswert verifiziert wird; einen dritten Schritt, in welchem durch das Repository das Anfragen der Identitätsverifikationsinformation verifiziert wird; einen vierten Schritt, in welchem durch das Repository ein dritter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der erzeugt wird, indem eine homomorphe Verschlüsselung auf der dritten Identitätsverifikations-ID durchgeführt wird; einen fünften Schritt, in welchem durch das Repository ein Wert, der berechnet wird, indem eine erste arithmetische Operation auf einem ersten Zufallswert, auf dem dritten homomorphen Verschlüsselungswert und auf einem zweiten Zufallswert durchgeführt wird, als vierter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einem Tag durchgeführt wird; einen sechsten Schritt, in welchem durch das Repository eine Session-ID, der dritte homomorphe Verschlüsselungswert und ein zweiter Zufallswert an das Userterminal übertragen werden; einen siebten Schritt, in welchem durch das Repository die Session-ID, die dritte Identitätsverifikations-ID und das Tag von dem Userterminal empfangen werden; einen achten Schritt, in welchem durch das Repository die dritte Identitätsverifikations-ID und die Identitätsverifikationsinformation gespeichert werden, wenn der Wert, der durch das Durchführen der ersten arithmetischen Operation auf dem ersten Zufallswert berechnet wurde, der dritte homomorphe Verschlüsselungswert und der zweite Zufallswert identisch zu dem im siebten Schritt empfangenen Tag ist.
-
Die zweite Identitätsverifikations-ID wird berechnet, indem eine Einwegfunktion auf einem Wert durchgeführt wird, der die erste Identitätsverifikations-ID enthält; und die dritte Identitätsverifikations-ID wird berechnet, indem eine Einwegfunktion auf einem Wert durchgeführt wird, der den zweiten homomorphen Verschlüsselungswert enthält.
-
Das Verfahren kann ferner umfassen einen Schritt 1-1, in welchem durch das Repository die Identitätsverifikationsinformation von dem Userterminal empfangen wird; einen Schritt 1-2, in welchem durch das Repository ermittelt wird, ob die empfangene Identitätsverifikationsinformation diejenige Information ist, die zuvor gespeichert wurde; einen Schritt 1-3, in welchem ein erster Validitätsverifikationswert erzeugt wird, indem durch das Repository eine elektronische Signierung auf einem ersten Wert durchgeführt wird, wenn ermittelt wird, dass die Identitätsverifikationsinformation nicht zuvor gespeichert wurde; einen Schritt 1-4, in welchem durch das Repository der erste Wert und der erste Validitätsverifikationswert an das Userterminal übertragen werden; einen Schritt 1-5, in welchem durch das Accountmodul ein erster homomorpher Verschlüsselungswert von dem Userterminal empfangen wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einem durch das Userterminal erzeugten 2-1 Wert, auf dem ersten Wert und auf dem ersten Validitätsverifikationswert durchgeführt wird; einen Schritt 1-6, in welchem durch das Accountmodul eine erste Identitätsverifikations-ID erzeugt wird; einen Schritt 1-7, in welchem durch das Accountmodul die erste Identitätsverifikations-ID und der erste homomorphe Verschlüsselungswert gespeichert werden; einen Schritt 1-8, in welchem durch das Accountmodul ein zweiter Validitätsverifikationswert erzeugt wird, der die erste Identitätsverifikations-ID verifiziert; einen Schritt 1-9, in welchem durch das Accountmodul die zweite Identitätsverifikations-ID erzeugt wird; einen Schritt 1-10, in welchem durch das Accountmodul der zweite homomorphe Verschlüsselungswert erzeugt wird, indem die zweite Identitätsverifikations-ID homomorph verschlüsselt wird; einen Schritt 1-11, in welchem durch das Accountmodul ein dritter Verifikationswert erzeugt wird, indem eine elektronische Signierung auf einem dritten Wert durchgeführt wird, der den zweiten homomorphen Verschlüsselungswert enthält; und einen Schritt 1-12, in welchem durch das Accountmodul die erste Identitätsverifikations-ID, der zweite Validitätsverifikationswert, der dritte Wert und der dritte Validitätsverifikationswert an das Userterminal übertragen werden. Die Schritte 1-1 bis 1-12 werden vor dem ersten Schritt durchgeführt.
-
Die zweite Identitätsverifikations-ID kann berechnet werden, indem eine Einwegfunktion auf die erste Identitätsverifikations-ID, auf den von dem Userterminal erzeugten 2-1 Zufallswert und auf den von dem Accountmodul erzeugten 2-2 Zufallswert angewandt wird.
-
Der dritte homomorphe Verschlüsselungswert kann berechnet werden, indem eine Einwegfunktion auf den zweiten homomorphen Verschlüsselungswert und auf die ID des Repositorys angewandt wird.
-
Der erste Wert kann eine Nonce und eine erste Zeitinformation des Repositorys enthalten.
-
Der dritte Wert kann ferner eine zweite Zeitinformation des Accountmoduls enthalten.
-
Die erste arithmetische Operation kann wenigstens die folgende arithmetische Operation umfassen:
- [(entweder der dritte homomorphe Verschlüsselungswert oder die dritte Identitätsverifikations-ID) × entweder der erste Zufallswert oder der zweite Zufallswert)] ± (der andere von dem ersten Zufallswert und dem zweiten Zufallswert).
-
Die Identitätsverifikationsinformation kann Identitätsverifikationsinformation oder biometrische Information umfassen.
-
Ein computerimplementiertes Verfahren zum Verifizieren einer Identität nach Einrichtung der digitalen Identität umfasst einen Schritt 2-1, in welchem durch das Accountmodul die erste Identitätsverifikations-ID und der zweite Validitätsverifikationswert von dem Userterminal empfangen wird; einen Schritt 2-2, in welchem durch das Accountmodul ein erster Hashwert erzeugt wird, indem die erste Identitätsverifikations-ID und der zweite Validitätsverifikationswert gehasht werden; einen Schritt 2-3, in welchem durch das Accountmodul der zweite homomorphe Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf der zweiten Identitätsverifikations-ID durchgeführt wird; einen Schritt 2-4, in welchem durch das Accountmodul ein fünfter Validitätsverifikationswert erzeugt wird, der ein Wert ist, der erzeugt wird, indem eine elektronische Signierung auf einem vierten Wert durchgeführt wird, der den zweiten homomorphen Verschlüsselungswert und den ersten Hashwert enthält; einen Schritt 2-5, in welchem durch das Accountmodul der vierte Wert und der fünfte Validitätsverifikationswert übertragen werden; einen Schritt 2-6, in welchem durch das Repository die dritte Identitätsverifikations-ID, der vierte Validitätsverifikationswert, der vierte Wert und der fünfte Validitätsverifikationswert von dem Userterminal empfangen werden; einen Schritt 2-7, in welchem durch das Repository der vierte homomorphe Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem das Tag homomorph verschlüsselt wird, indem die erste arithmetische Operation auf dem dritten homomorphen Verschlüsselungswert, auf dem ersten Zufallswert und auf dem zweiten Zufallswert durchgeführt werden; einen Schritt 2-8, in welchem durch das Repository eine Session-ID, der dritte homomorphe Verschlüsselungswert und der vierte homomorphe Verschlüsselungswert an das Userterminal übertragen werden; einen Schritt 2-9, in welchem durch das Repository die Session-ID, die dritte Identitätsverifikations-ID, der zweite Validitätsverifikationswert und das Tag von dem Userterminal empfangen werden; einen Schritt 2-10, in welchem durch das Repository das Tag verifiziert wird, indem ermittelt wird, ob der Wert, der durch das Durchführen der ersten arithmetischen Operation auf dem ersten Zufallswert, auf der dritten Identitätsverifikations-ID und auf dem zweiten Zufallswert berechnet wurde identisch ist zu dem Tag das im Schritt 2-9 empfangen wurde, nachdem die dritte Identitäsverifikations-ID verifiziert wurde; einen Schritt 2-11, in welchem durch das Repository ein sechster Validitätsverifikationswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine elektronische Signierung auf einem fünften Wert durchgeführt wird, der den fünften Validitätsverifikationswert enthält; einen Schritt 2-12, in welchem durch das Repository der vierte Wert, der fünfte Validitätsverifikationswert und der sechste Validitätsverifikationswert an das Userterminal übertragen werden; einen Schritt 2-13, in welchem durch das Accountmodul die erste Identitätsverifikations-ID, der zweite Validitätsverifikationswert, der vierte Wert, der fünfte Wert, der fünfte Validitätsverifikationswert und der sechste Validitätsverifikationswert von dem Userterminal empfangen werden; einen Schritt 2-14, in welchem durch das Accountmodul der fünfte Validitätsverifikationswert und der sechste Validitätsverifikationswert verifiziert werden; einen Schritt 2-15, in welchem durch das Accountmodul die erste Identitätsverifikations-ID, der zweite Validitätsverifikationswert und der erste Hashwert verifiziert werden; und einen Schritt 2-16, in welchem durch das Accountmodul ein Token erzeugt und danach das Token an das Userterminal übertragen wird.
-
Der vierte Wert kann eine zweite Zeitinformation enthalten und der fünfte Wert kann den fünften Validitätsverifikationswert und die erste Zeitinformation des Repositorys umfassen.
-
Ein computerimplementiertes Verfahren zum Registrieren eines Accountmoduls, das in einer Umgebung ausgeführt wird, die ein Userterminal und das Accountmodul aufweist, umfasst einen ersten Schritt, in welchem durch das Accountmodul eine Anfrage zum Registrieren des Accountmoduls zusammen mit einem ersten homomorphen Verschlüsselungswert von dem Userterminal empfangen wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einem 2-1 Zufallswert durchgeführt wird, der von dem Userterminal erzeugt ist; einen zweiten Schritt, in welchem durch das Accoutmodul eine erste Identitätsverifikations-ID erzeugt wird; einen dritten Schritt, in welchem durch das Accountmodul die erste Identitätsverifikations-ID und der erste homomorphe Verschlüsselungswert gespeichert werden; einen vierten Schritt, in welchem durch das Accountmodul ein zweiter Validitätsverifikationswert erzeugt wird, der die erste Identifikationsverifikations-ID verifiziert; einen fünften Schritt, in welchem durch das Accountmodul eine zweite Identitätsverifikations-ID erzeugt wird; einen sechsten Schritt, in welchem durch das Accountmodul ein zweiter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf der zweiten Identitätsverifikations-ID durchgeführt wird; ein siebter Schritt, in welchem durch das Accountmodul ein dritter Validitätsverifikationswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine elektronsiche Signierung auf einem dritten Wert durch geführt wird, der die zweite Identitätsverifikations-ID und den zweiten homomorphen Verschlüsselungswert enthält; und ein achter Schritt, in welchem durch das Accountmodul die erste Identitätsverifikations-ID, der zweite Validitätsverifikationswert, der dritte Wert und der dritte Validitätsverifikationswert an das Userterminal übertragen werden.
-
Entsprechend der vorliegenden Erfindung, kann eine digitale Identität eingerichtet werden, indem das Repository registriert wird, nachdem das Accountmodul wie zuvor beschrieben registriert worden ist. Das Verfahren umfasst einen 1-1 Schritt, in welchem durch das Repository Identitätsverifikationsinformation, ein dritter Wert, der einen zweiten homomorphen Verschlüsselungswert enthält, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf der zweiten Identitätsverifikations-ID durchgeführt wird, und ein dritter Validitätsverifikationswert von dem Userterminal empfangen werden, der ein Wert ist, der berechnet wird, indem eine elektronische Signierung auf dem zweiten homomorphen Verschlüsselungswert durchgeführt wird; einen 2-1 Schritt, in welchem durch das Repository der dritte Validitätsverifikationswert verifiziert wird; einen 3-1 Schritt, in welchem durch das Repository die Identitätsverifikationsinformation angefragt wird; einen 4-1 Schritt, in welchem durch das Repository ein dritter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem homomorphe Verschlüsselung auf der dritten Identitätsverifikations-ID durchgeführt wird; einen 5-1 Schritt, in welchem durch das Repository ein Wert, indem die erste arithmetische Operation auf dem ersten Zufallswert, auf dem dritten homomorphen Verschlüsselungswert und auf dem zweiten Zufallswert durchgeführt wird, als vierter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf dem Tag durchgeführt wird; einen 6-1 Schritt, in welchem durch das Repository eine Session-ID, der dritte homomorphe Verschlüsselungswert, und der vierte homomorphe Verschlüsselungswert an das Userterminal übertragen werden; einen 7-1 Schritt, in welchem durch das Repository die Session-ID, die dritte Identitätsverifikations-ID und das Tag empfangen werden; einen 8-1 Schritt, in welchem durch das Repository die dritte Identitätsverifikations-ID und die Identitätsverifikationsinformation gespeichert werden, wenn der Wert, der berechnet wurde, indem die erste arithmetische Operation auf dem ersten Zufallswert durchgeführt wurde, der die dritte Identitätsverifikations-ID und der zweite Zufallswert identisch zu dem in Schritt 7-1 empfangenen Tag sind; einen 9-1 Schritt, in welchem durch das Repository einen vierten Validitätsverifikationswert erzeugt, der die dritte Identitätsverifikations-ID verifiziert; einen 10-1 Schritt, in welchem durch das Repository ein neunter Validitätsverifikationswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine elektronische Signierung auf einem Wert durchgeführt wird, der einen dritten Wert und den dritten Validitätsverifikationswert enthält; einen 11-1 Schritt, in welchem durch das Repository der vierte Validitätsverifikationswert und der neunte Validitätsverifikationswert an das Userterminal übertragen werden; einen 12-1 Schritt, in welchem durch das Accountmodul eine Anfrage zum Registrieren des Repositorys zusammen mit der ersten Identitätsverifikations-ID, dem dritten Wert, dem dritten Validitätsverifikationswert und dem neunen Validitätsverifikationswert von dem Userterminal empfangen wird; und einen 13-1 Schritt, in welchem durch das Accountmodul das Repository registriert wird, wenn der dritte Validitätsverifikationswert und der neunte Validitätsverifikationswert verifiziert wurden.
-
Ein computerimplementiertes Verfahren zum Einrichten einer digitalen Identität, das in einer Umgebung ausgeführt wird, die ein Userterminal, ein Accountmodul und ein Repository aufweist, umfasst einen ersten Schritt, in welchem durch das Repository eine Identitätsverifikationsinformation, ein dritter Wert, der einen zweiten homomorphen Verschlüsselungswert enthält, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einer zweiten Identitätsverfikations-ID durchgeführt wird, ein dritter Verifikationswert, der ein Wert ist, der berechnet wird, indem eine elektronische Signierung auf dem dritten Wert durchgeführt wird, und ein Verschlüsselungswert (Ze) von Null von dem Userterminal empfangen wird; einen zweiten Schritt, in welchem durch das Repository der dritte Validitätsverifikationswert verifiziert wird; einen dritten Schritt, in welchem durch das Repository die Identitätsverifikationsinformation angefragt wird; einen vierten Schritt, in welchem durch das Repository ein dritter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf der dritten Identitätsverifikations-ID durchgeführt wird; ein fünfter Schritt, in welchem durch das Repository ein Wert, indem eine erste arithmetische Operation auf einem ersten Zufallswert (r1), auf dem dritten homomorphen Verschlüsselungswert, auf einem zweiten Zufallswert (r2), auf einem dritten Zufallswert (r3) und Ze durchgeführt wird, als vierter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einem Tag durchgeführt wird; ein sechster Schritt, in welchem durch das Repository eine Session-ID, der dritte homomorphe Verschlüsselungswert, der vierte homomorphe Verschlüsselungswert, eine erste Konstante (G) und eine zweite Konstante (P) an das Userterminal übertragen werden; ein siebter Schritt, in welchem durch das Repository die Session-ID, ID_3$(=GID-3 (mod P)) und tag$(=Gtag (mode P)) von dem Userterminal empfangen werden; und ein achter Schritt, in welchem durch das Repository die dritte Identitätsverifikations-ID und die Identitätsverifikationsinformation gespeichert werden, wenn tag$ identisch zu ID_3$r1*Gr2 (mod P) ist.
-
Ein computerimplementiertes Verfahren zum Authentifizieren einer Identität nach Einrichtung einer digitalen Identität nach einem anderen Aspekt der Erfindung umfasst einen Schritt 2-1, in welchem durch das Accountmodul die erste Identitätsverifikations-ID und ein zweiter Validitätsverifikationswert empfangen werden; einen Schritt 2-2, in welchem durch das Accountmodul ein erster Hashwert erzeugt wird, der ein Wert ist, der berechnet wird, indem die erste Identitätsverifikations-ID und der zweite Validitätsverifikationswert gehasht werden; einen Schritt 2-3, in welchem durch das Accountmodul der zweite homomorphe Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf der zweiten Identitätsverifikations-ID durchgeführt wird; einen Schritt 2-4, in welchem durch das Accountmodul ein fünfter Validitätsverifikationswert erzeugt wird, der ein Wert ist, der erzeugt wird, indem eine elektronische Signierung auf einem vierten Wert durchgeführt wird, der den zweiten homomorphen Verschlüsselungswert und den ersten Hashwert enthält; einen Schritt 2-5, in welchem durch das Accountmodul der vierte Wert und der fünfte Validitätsverifikationswert an das Userterminal übertragen werden; einen Schritt 2-6, in welchem durch das Repository die dritte Identitätsverifikations-ID, der vierte Validitätsverifikationswert, der vierte Wert, der fünfte Validitätsverifikationswert und ein Verschlüsselungswert (Ze) von Null von dem Userterminal empfangen werden; einen Schritt 2-7, in welchem durch das Repository ein Wert, der berechnet wird, indem eine zweite arithmetische Operation auf einem ersten Zufallswert (r1), dem dritten homomorphen Verschlüsselungswert, einem zweiten Zufallswert (r2), einem dritten Zufallswert (r3) und Ze durchgeführt wird, als vierter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einem Tag durchgeführt wird; einen Schritt 2-8, in welchem durch das Repository eine Session-ID, der dritte homomorphe Verschlüsselungswert, der vierte homomorphe Verschlüsselungswert, eine Konstante (G) und eine zweite Konstante (P) an das Userterminal übertragen werden; einen Schritt 2-9, in welchem durch das Repository die Session-ID, ID_3$(=GID-3(mod P)) und tag$(=Gtag (mod P)) von dem Userterminal empfangen werden; einen Schritt 2-10, in welchem durch das Repository das Tag verifiziert wird, indem ermittelt wird, ob tag$ identisch mit ID_3$r1*Gr2 (mod P) ist; einen Schritt 2-11, in welchem durch das Repository der sechste Validitätsverifikationswert erzeugt wird, indem eine elektronische Signierung auf dem fünften Validitätsverifikationswert durchgeführt wird; einen Schritt 2-12, in welchem durch das Repository ein vierter Wert, der fünfte Validitätsverifikationswert und der sechste Validitätsverifikationswert an das Userterminal übertragen werden; einen Schritt 2-13, in welchem durch das Accountmodul die erste Identitätsverifikations-ID, der zweite Validitätsverifikationswert, der vierte Wert, der fünfte Wert, der fünfte Validitätsverifikationswert und der sechste Validitätsverifikationswert von dem Userterminal empfangen werden; einen Schritt 2-14, in welchem durch das Accountmodul der fünfte Validitätsverifikationswert und der sechste Validitätsverifikationswert verifiziert werden; einen Schritt 2-15, in welchem durch das Accountmodul die erste Identitätsverifikations-ID und der erste Hashwert verifiziert werden; und einen Schritt 2-16, in welchem durch das Accountmodul ein Token erzeugt und das Token an das Userterminal übertragen wird.
-
Ein computerimplementiertes Verfahren zum Einrichten einer digitalen Identität durch Registrieren eines Accountmoduls nachdem das Accountmodul durch das Verfahren nach einem weiteren Aspekt der Erfindung registriert wurde umfasst einen 1-1 Schritt, in welchem durch das Repository Identitätsverifikationsinformation, ein dritter Wert, der einen zweiten homomorphen Verschlüsselungswert enthält, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf der zweiten Identitätsverifikations-ID durchgeführt wird, ein dritter Validitätsverifikationswert, der ein Wert ist, der berechnet wird, indem eine elektronische Signierung auf dem dritten Wert durchgeführt wird, und ein Verschlüsselungswert (Ze) von Null von dem Userterminal empfangen werden; einen 2-1 Schritt, in welchem durch das Repository der dritte Validitätsverifikationswert verifiziert wird; einen 3-1 Schritt, in welchem durch das Repository die Identitätsverifikationsinformation angefragt wird; einen 4-1 Schritt, in welchem durch das Repository der dritte homomorphe Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf der dritten Identitätsverifikations-ID durchgeführt wird; einen 5-1 Schritt, in welchem durch das Repository ein Wert, der berechnet wird, indem eine zweite arithmetische Operation auf einem ersten Zufallswert (r1), auf dem dritten homomorphen Verschlüsselungswert, auf einem zweiten Zufallswert (r2) und Ze durchgeführt wird, als vierter homomorpher Verschlüsselungswert erzeugt wird, der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einem Tag durchgeführt wird; einen 6-1 Schritt, in welchem durch das Repository eine Session-ID, der dritte homomorphe Verschlüsselungswert, der vierte homomorphe Verschlüsselungswert, eine Konstante (G) und eine zweite Konstante (P) an das Userterminal übertragen werden; einen 7-1 Schritt, in welchem durch das Repository die Session-ID, ID_3$(=GID_3 (mod P)) und tag$(=Gtag (mod P)) empfangen werden; einen 8-1 Schritt, in welchem durch das Repository die dritte Identitätsverifikations-ID und die Identitätsverifikationsinformation gespeichert werden, wenn tag$ identisch mit ID_3$r1*Gr2 (mod P)) ist; einen 9-1 Schritt, in welchem durch das Repository einen vierten Validitätsverifikationswert erzeugt, der die dritte Identitätsverifikations-ID verifiziert; einen 10-1 Schritt, in welchem durch das Repository ein neunter Validitätsverifikationswert für den dritten Wert und den dritten Validitätsverifikationswert erzeugt wird; einen 11-1 Schritt, in welchem durch das Repository der vierte Validitätsverifikationswert und der neunte Validitätsverifikationswert an das Userterminal übertragen werden; einen 12-1 Schritt, in welchem durch das Accountmodul eine Anfrage zum Registrieren des Repositorys zusammen mit der ersten Identitätsverifikations-ID, dem dritten Wert, dem dritten Validitätsverifikationswert und dem neunen Validitätsverifikationswert von dem Userterminal empfangen wird; und einen 13-1 Schritt, in welchem durch das Accountmodul das Repository registriert wird, wenn die Verifikation des dritten Validitätsverifikationswerts und des neunten Validitätsverifikationswerts erfolgreich ist. WIRKUNGEN DER ERFINDUNG
-
Erfindungsgemäß sind persönliche Informationen zum Einrichten einer einzigartigen digitalen Identität für eine Entität, die bestätigt in der echten Welt existiert, oder zum Verifizieren eines Berechtigungsnachweises nicht erforderlich. Ferner sind keine persönlichen Informationen, die die Entität identifizieren erforderlich, um diese Aktivitäten online auszuführen. Folglich kann Datenschutz in einer Onlineumgebung erhalten werden.
-
Figurenliste
-
- 1 und 2 zeigen ein Verfahren zum Einrichten einer anonymen digitalen Identität gemäß der Erfindung.
- 3 zeigt ein Verfahren zum Registrieren des Accountmoduls zum Einrichten einer anonymen digitalen Identität gemäß einer weiteren Ausführungsform der Erfindung.
- 4 und 5 zeigen ein Verfahren zum Registrieren von Identitätsverifikationsinformationen nachdem das Accountmodul registriert wurde.
- 6 und 7 zeigen ein Verfahren einer Ausführungsform zum Authentifizieren des Nutzers nachdem eine anonyme digitale Identität entsprechend der Erfindung eingerichtet wurde.
- 8 und 9 zeigen ein Verfahren einer weiteren Ausführungsform zum Authentifizieren des Nutzers nachdem eine anonyme digitale Identität entsprechend der Erfindung eingerichtet wurde.
- 10 und 11 zeigen ein Verfahren zum Einrichten einer anonymen digitalen Identität, bei dem ein Tag entsprechend einer weiteren Ausführungsform gemäß der Erfindung verifiziert wird.
- 12 und 13 zeigen ein Verfahren zum Registrieren von Identitätsverifikationsinformationen nach 4 und 5, bei dem ein Tag entsprechend einer weiteren Ausführungsform gemäß der Erfindung verifiziert wird.
- 14 und 15 zeigen ein Verfahren zum Authentifizieren des Nutzers nach 6 und 7, bei dem ein Tag entsprechend einer weiteren Ausführungsform gemäß der Erfindung verifiziert wird.
- 16 und 17 zeigen ein Verfahren zum Authentifizieren des Nutzers nach 8 und 9, bei dem ein Tag entsprechend einer weiteren Ausführungsform gemäß der Erfindung verifiziert wird.
- 18 zeigt ein block diagramm eines nicht-einschränkenden beispielhaften Gerätes, Moduls oder einer Einheit, welche die vorliegende Erfindung ausführt.
-
AUSFÜHRUNGSFORMEN ZUM VERWIRKLICHEN DER ERFINDUNG
-
Hiernach wird die vorliegende Erfindung mit Bezug auf die beigefügten Zeichnungen näher erläutert.
-
Gemäß der Beschreibung, kann ein Übertragen/Empfangen von Informationen (Daten) mit Verschlüsselung/Entschlüsselung durchgeführt werden, wenn notwendig. Es sollte beachtet werden, dass ein Übertragen/ein Empfangen wie hierin beschreiben mit Verschlüsselung/Entschlüsselung durchgeführt werden kann, auch wenn es nicht speziell erwähnt ist. Ferner schließt ein Übertragen (ein Weiterleiten von A nach B oder ein Empfangen durch A von B den Prozess über ein zusätzliches Medium ein und ist nicht auf direktes Übertragen oder Empfangen beschränkt. Die Reihenfolge jedes Schrittes ist nicht einschränkend zu verstehen, es sei denn, dass ein vorausgehender Schritt logisch und zeitlich vor einem nachfolgenden Schritt durchgeführt werden muss. Das bedeutet, außer in den zuvor angegebenen Ausnahmefällen verändert die Reihenfolge der Schritte nicht das Wesen der vorliegenden Erfindung und der Umfang wird unabhängig der Reihenfolge der Schritte festgelegt, auch wenn ein Prozess als ein nachfolgender Schritt beschrieben ist, dem ein Prozess vorausgeht, der als vorausgehender Schritt beschrieben worden ist. Zusätzlich soll der Ausdruck „A oder B“ nicht so verstanden werden, dass er sich auf entweder A oder B bezieht, sondern dass er sowohl A als auch B beinhaltet. Zudem soll der in dieser Beschreibung verwendete Begriff „umfassen/aufweisen“ so verstanden werden, dass weitere Komponenten zusätzlich zu den aufgeführten Komponenten vorhanden sein können.
-
Der Begriff „Modul“ oder „Einheit“ bezeichnet eine logische Kombination universeller Hardware und Software, welche die erforderliche Funktion ausführen.
-
In der Beschreibung werden die wesentlichen Elemente der vorliegenden Erfindung beschrieben, während unwesentliche Elemente nicht beschrieben sein können. Der Umfang der vorliegenden Erfindung ist jedoch nicht auf die Erfindung beschränkt, welche lediglich die beschriebenen Komponenten enthält. Ferner kann vom Umfang der Erfindung eine Erfindung erfasst sein, welche ein zusätzliches Element enthält oder der ein unwesentliches Element fehlt.
-
Die vorliegende Erfindung kann durch eine elektronische Arithmetikvorrichtung, wie etwa einen Computer ausgeführt werden. Die arithmetischen Operationen und Berechnungen, die hiernach erläutert werden, können durch bekannten Computercode für diese Operation oder Berechnung ausgeführt werden, oder denjenigen Computercode, der besonders für die vorliegende Erfindung erdacht wurde.
-
Die erfindungsgemäße Methode kann durch eine elektronische Arithmetikvorrichtung, wie etwa einen Computer, ein Tablet, ein Mobiltelefon, eine tragbare Computervorrichtung, eine stationäre Computervorrichtung, usw. durchgeführt werden. Zusätzlich sollte beachtet werden, dass eine oder mehrere Methoden, oder deren Aspekte, durch wenigstens einen Prozessor ausgeführt werden. Der Prozessor kann auf einem Computer, einem Tablet, einem Mobilgerät, einer tragbaren Computervorrichtung usw., verwirklicht sein. Ein Speicher, der konfiguriert ist Programminstruktionen zu speichern, kann ebenfalls in den Geräten verwirklicht sein, wobei in diesem Fall der Prozessor speziell so programmiert ist, die gespeicherten Programminstruktionen auszuführen, um einen oder mehrere Prozesse, die nachfolgend beschrieben werden, auszuführen. Zudem sollte verstanden werden, dass die unten bezeichneten Informationen, Methoden, usw. durch einen Computer, ein Tablet, ein Mobilgerät, eine tragbare Computervorrichtung, usw. einschließlich des Prozessors in Verbindung mit einer oder mehrerer zusätzlicher Komponenten wie weiter unten näher beschrieben ausgeführt werden können. Ferner kann Steuerungslogik als nicht flüchtiges computerlesbares Medium auf einem Computer lesbaren Medium verkörpert sein, das ausführbare Programmanweisungen enthält, die durch einen Prozessor, Controller/Steuereinheit oder dergleichen ausgeführt werden können. Beispiele für solche computerlesbaren Medien enthalten, aber sind nicht beschränkt auf, ROM, RAM, Compact Discs (CD)-ROM, Magnetbänder, Disketten, Flashdrives, Smartcards und optische Datenspeichergeräte. Das computerlesbare Medium kann auch in einem Netzwerk gekoppelter Computersysteme verteilt sein, sodass die computerlesbaren Medien Remote gespeichert und ausgeführt werden können.
-
18 zeigt eine beispielhafte Diagrammansicht einer beispielhaften Gerätearchitektur entsprechend einer Ausführungsform der vorliegenden Erfindung. Wie in 18 gezeigt, enthält ein Gerät (1109) mehrere Komponenten, einschließlich, aber nicht beschränkt auf, einen Prozessor (z. B., eine Zentraleinheit (CPU; 1100), einen Speicher (1120), eine drahtgebundene oder drahtlose Kommunikationseinheit (1130), ein oder mehrere Eingabeeinheiten (1140) und ein oder mehrere Ausgabeeinheiten (1150). Es sollte beachtet werden, dass in die in 18 dargestellte Architektur vereinfacht ist und lediglich zu Demonstrationszwecken dargestellt wurde. Die Architektur des Geräts (1109) kann auf jede geeignete Art angepasst sein, wie der Fachmann in Übereinstimmung mit den Ansprüchen versteht. Ferner können die Komponenten des Geräts (1109) selbst auf jede Art angepasst werden, wie es der Fachmann in Übereinstimmung mit den Ansprüchen versteht. Die in 18 dargestellte Gerätearchitektur sollte daher lediglich als Beispiel dienen und sollte nicht als Beschränkung des Umfangs der vorliegenden Erfindung dienen.
-
Der Prozessor (1110) ist dazu fähig, den Betrieb des Gerätes (1109) zu steuern. Genauer kann der Prozessor (1110) betrieben werden, um mehrere auf dem Gerät (1109) installierte Komponenten zu steuern und mit ihnen zu interagieren, wie in 18 dargestellt. Beispielsweise kann der Speicher (1120) auf dem Prozessor (1110) ausführbare Programmanweisungen und Daten speichern. Der hierin beschriebene Prozess kann in Form von Programmanweisungen in dem Speicher (1120) gespeichert werden, um durch den Prozessor (1100) ausgeführt zu werden. Die Kommunikationseinheit (1130) kann es dem Gerät (1109) ermöglichen Daten zu übertragen und Daten von einem oder mehreren externen Geräten über ein Kommunikationsnetzwerk zu empfangen. Die Eingabeeinheit (1140) kann es dem Gerät (1109) ermöglichen, Eingaben unterschiedlicher Art, beispielsweise Audio/Videoeingaben, Nutzereingaben, Dateneingaben und dergleichen, zu empfangen. Zu diesem Zweck kann die Eingabeeinheit (1140) aus mehreren Eingabegeräten zum Annehmen von Eingaben unterschiedlicher Art zusammengesetzt sein, einschließlich beispielsweise einer oder mehrerer Kameras (1142) (d. h., eine „Bildaufnahmeeinheit“), ein Touchpanel (1144), ein Mikrofon (nicht dargestellt), Sensoren (1146), Keyboards, Mäuse, ein oder mehrere Knöpfe oder Schalter (nicht dargestellt) usw. Der Begriff „Bildaufnahmeeinheit“, wie hierin verwendet, kann sich auf die Kamera (1142) beziehen, ist aber darauf nicht beschränkt. Die Eingabegeräte, die in der Eingabeeinheit (1140) enthalten sind, können durch den Nutzer manipuliert werden. Die Ausgabeeinheit (1150) kann Anzeigeinformationen auf dem Anzeigeschirm (1152) für den Nutzer zur Ansicht darstellen. Der Anzeigeschirm (1152) kann auch konfiguriert sein, ein oder mehrere Eingaben anzunehmen, beispielsweise einen Nutzer-Tap oder ein Drücken auf dem Schirm (1152) durch verschiedene Mechanismen, die an sich bekannt sind. Die Ausgabeeinheit (1150) kann ferner eine Lichtquelle (1154) enthalten. Das Gerät (1109) ist als einzelne Komponente dargestellt, das Gerät kann jedoch aus mehreren separaten Komponenten zusammengesetzt sein, die miteinander verbunden sind und während der Nutzung miteinander interagieren.
-
Der Begriff „Wert“, wie in dieser Beschreibung verwendet, ist als ein universeller Wert definiert, der Vektor, Matrix, Tensor und Polynom sowie Lernwert enthält.
-
In dieser Beschreibung enthält die Verschlüsselung oder der Hash eines spezifischen Werts die Verschlüsselung oder den Hash eines Wertes, der von dem spezifischen Wert abgeleitet ist. Der zu verschlüsselnde oder zu hashende Wert kann abgeleitet werden, in dem eine arithmetische Operation auf dem spezifischen Wert durchgeführt wird.
-
In dieser Beschreibung bedeutet HE(*) ein homomorpher Verschlüsselungswert von *.
-
1 und 2 zeigen einen Prozess zum Einrichten einer anonymen digitalen Identität entsprechend der Erfindung. In dieser Beschreibung bedeutet „anonyme digitale Identität“ ein Objekt, das nicht identifizieren kann, wer er oder sie in der Offline-Umgebung ist, aber das eine einzigartige Identität in der Digitalumgebung definiert. Die digitale Identität enthält einen vorbestimmten Berechtigungsnachweis.
-
Das Verfahren zum Registrieren von Identitätsverifikationsinformationen entsprechend der vorliegenden Erfindung kann in einer Umgebung ausgeführt werden, die ein Userterminal (10), ein Accountmodul (20), und ein Repository (30) zum Speicher der Identitätsverifikationsinformationen umfasst.
-
Jedes Accountmodul (20) hat eine einzigartige Identifikationsinformation und wird für jeden User erzeugt. Das Accountmodul (20) kann in einer Blockchain enthalten sein. Ein Nutzer kann eine Aktivität oder Arbeit in einer Online-Umgebung durch das Accountmodul (20) ausführen, das jedem Nutzer einzigartig zugeteilt ist. Das Accountmodul (20) hat keine Nutzerinformationen, sondern lediglich ein Token, das die anonyme digitale Identität verifiziert, wie nachfolgend beschrieben. Verschiedene Tokens zum Verifizieren digitaler Identität können einem Nutzer zugewiesen sein, wodurch es dem Nutzer ermöglicht wird, verschiedene Onlineservices mit dem Token zu benutzen.
-
Das Repository (30) speichert eine zweite ID (ID_2) und Identitätsverifikationsinformationen. Es kann eine Mehrzahl von Repositories (30) existierten in Abhängigkeit von den Kategorien der digitalen Identität oder des Berechtigungsnachweises.
-
In Schritt (100), wird die in die das Nutzerterminal (10) eingegebene Identitätsverifikationsinformation an das Repository (30) übertragen. Beispielsweise kann die Identitätsverifikationsinformation biometrische Information, wie etwa Iris, Fingerabdruck und Venenmuster oder Identifikationskarteninformation, wie Wohnsitzmeldung, Ausweis, Führerschein, Anstellungsnachweis und dergleichen sein. Entsprechend der vorliegenden Erfindung kann der Besitzer der gespeicherten Identitätsverifkationsinformation nicht offenbart werden, weil eine anonyme digitale Identität wie nachfolgend erläutert eingerichtet wird. Das Userterminal (10) kann ein Token zum Verifizieren der Identität von dem Accountmodul (20) anfordern, bevor die Identitätsverifkationsinformation an das Repository (30) übertragen wird.
-
In dieser Beschreibung enthält „Identitätsverifikation“ die Verifikation des Status minderjährig/volljährig, Nationalität und dergleichen ebenso wie die Verifikation einer anonymen digitalen Identität.
-
In dem Schritt (101) prüft das Repository (30) ob die empfangene Identitätsverifkationsinformation bereits vorher in dem Repository (30) gespeichert worden ist. Wenn es eine bereits gespeicherte ist, lehnt das Repository (30) die Registrierung ab und erzeugt andernfalls eine Nonce (N_nonce) in dem Schritt (102).
-
In dem Schritt (103) führt das Repository (30) eine elektronische Signierung auf dem ersten Wert (Value_1) einschließlich der Nonce durch. Der erste Wert kann ferner eine Zeitinformation (date_r) des Repositorys (30) für die spätere Verifikation der Gültigkeitsdauer des ersten Werts enthalten. Die Gültigkeitsdauer kann die Sicherheit erhöhen, weil ein Wert lediglich während einer vorbestimmten Periode gültig ist.
-
Obwohl der Begriff „Validitätsverifikationswert“ oder „elektronische Signierung“ in dieser Beschreibung verwendet wird, kann jede andere Art benutzt werden, solange bestimmt werden kann, ob Informationen gefälscht oder verändert worden sind. Der Validitätsverifkationswert kann einen gewöhnlichen elektronischen Signaturwert enthalten.
-
In dem Schritt (104) überträgt das Repository (30) einen ersten Wert (Value_1) und einen ersten Validitätsverifikationswert (Sign_1).
-
Die Schritte (100 bis 104) sind erforderlich zum Prüfen, ob die Identitätsverifkationsinformation bereits in dem Repository (30) gespeichert ist. Die Schritte (100 bis 104) können unnötigen Datenerzeugung und Doppelungen in den Schritten (109 bis 115) verhindern.
-
In dem Schritt (105) erzeugt das Userterminal (10) einen Schlüssel für homomorphe Verschlüsselung. Homomorphe Verschlüsselung kann ein Public Key-Schema oder symmetrisches Key-Schema verwenden. In dem Schritt (106) erzeugt das Userterminal (10) einen 2-1 Zufallswert (Value_2-1; Re); und erzeugt einen ersten homomorphen Verschlüsselungswert (HE_1) der berechnet wird, indem eine homomorphe Verschlüsselung auf dem 2-1 Zufallswert (Value_2-1; Re) in dem Schritt (107) durchgeführt wird.
-
In dem Schritt (108) überträgt das Userterminal (10) den ersten Wert (Value_1), den ersten homomorphen Verschlüsselungswert (HE_1) und den ersten Validitätsverifikationswert (Sign_1) an das Accountmodul (20).
-
In dem Schritt (109) verifiziert das Accountmodul (20) den ersten Validitätsverifikationswert (Sign_1). Wenn die Verifikation erfolgreich ist, erzeugt das Accountmodul (20) eine erste Identitätsverifikations-ID (ID_1) und einen 2-2 Zufallswert (Value_2-2; Ra) in dem Schritt (110).
-
Das Accountmodul (20) hat eine einzigartige Accountmodulidentifkationsinformation für jeden Nutzer. Die erste Identitätsverifikations-ID (ID_1) kann als eine Rolle der Accountmodulidentifikationsinformation fungieren. Der 2-2 Zufallswert (Value_2-2) kann den Zufall der zweiten Identitiätsverifikations-ID (ID_2) garantieren, was nachfolgend erläutert wird.
-
In dem Schritt (111) speichert das Accountmodul (20) die erste Identitiätsverifikations-ID (ID_1), den 2-2 Zufallswert (Value_2-2) und den ersten homomorphen Verschlüsselungswert (HE_1).
-
Das Accountmodul (20) kann eine elektronische Signierung auf der ersten Identitiätsverifikations-ID (ID_1) durchführen, um einen zweiten Validitätsverifkationswert (Sign_2) zu erzeugen. Ein alternativer Wert kann erzeugt werden, solange der Wert verifizieren kann, dass die erste Identitiätsverifikations-ID (ID_1) durch das Accountmodul (20) erzeugt wurde, und die Integrität und die Validität der ID verifizieren kann.
-
In dem Schritt (113) erzeugt das Accountmodul (20) einen zweiten homomorphen Verschlüsselungswert (HE_2), der ein Wert ist, der berechnet wird, indem eine homomorphe Verschlüsselung auf einer zweiten Identitiätsverifikations-ID (ID_2) durchgeführt wird.
-
Die zweite Identitiätsverifikations-ID (ID_2) kann erzeugt werden, indem eine Einwegfunktion, beispielsweise eine Hashoperation, auf dem Wert, der die erste Identitiätsverifikations-ID (ID_1) enthält, durchgeführt wird. Beispielsweise kann die zweite Identitiätsverifikations-ID (ID_2) wie folgt berechnet werden:
-
In dem Schritt (114) führt das Accountmodul (20) eine elektronische Signierung auf einem dritten Wert (Value_3) durch, der den zweiten homomorphen Verschlüsselungswert (HE_2) enthält, um einen dritten Validitätsverifkationswert (Sign_3) zu erzeugen. Der dritte Wert kann eine Zeitinformation (date_a) enthalten für die spätere Verifikation der Gültigkeitsdauer des dritten Werts.
-
Das Accountmodul (20) überträgt die erste Identitiätsverifikations-ID (ID_1), den zweiten Validitätsverifkationswert (Sign_2), den dritten Wert (Value_3) und den dritten Validitätsverifkationswert (Sign_3) an das Userterminal.
-
In dem Schritt (116) speichert das Userterminal (10) die erste Identitiätsverifikations-ID (ID_1) und den zweiten Validitätsverifkationswert (Sign_2).
-
In dem Schritt (117) überträgt das Userterminal (10) die Identitiätsverifikationsinformation, den dritten Wert (Value_3) und den dritten Validitätsverifkationswert (Sign_3) an das Repository (30), um die Registrierung der Identitätsverifikationsinformation anzufragen.
-
Das Repository (30) verifiziert den dritten Validitätsverifkationswert (Sign_3) in dem Schritt (118) und prüft, ob die Identitiätsverifikationsinformation existiert in dem Schritt (119).
-
Das Repository (30) erzeugt einen dritten homomorphen Verschlüsselungswert (HE_3) der ein Wert ist, der berechnet wird, in dem homomorphe Verschlüsselung auf einer dritten Identitiätsverifikations-ID (ID_3) durchgeführt wird und einen vierten homomorphen Verschlüsselungswert (HE_4) der ein Wert ist, der berechnet wird, indem homomorphe Verschlüsselung auf einem Tag ausgeführt wird.
-
Die dritte Identitiätsverifikations-ID (ID_3) kann erzeugt werden, indem eine Einwegfunktionsoperation (beispielsweise eine Hashoperation) auf einem Wert, durchgeführt wird, der den zweiten homomorphen Verschlüsselungswert (HE_2) enthält, beispielsweise kann die dritte Identitiätsverifikations-ID (ID_3) wie folgt erzeugt werden:
-
Der vierte homomorphe Verschlüsselungswert (HE_4) kann erhalten werden, indem eine erste arithmetische Operation einem durch das Repository (30) generierten Zufallswert und auf dritten homomorphen Verschlüsselungswert (HE_3) durchgeführt wird.
-
Beispielsweise ist die erste arithmetische Operation als Multiplikation eines ersten Zufallswerts (r1) mit dem dritten homomorphen Verschlüsselungswert (HE_3) und anschließendes Addieren eines zweiten Zufallswerts (r2) auf das Ergebnis der Multiplikation definiert.
-
Die Operation kann wie folgt ausgedrückt werden:
-
Die erste arithmetische Operation als Multiplikation eines ersten Zufallswerts (r1) mit dem dritten homomorphen Verschlüsselungswert (HE_3) und anschließendes Subtrahieren eines zweiten Zufallswerts (r2) von dem Ergebnis der Multiplikation definiert sein. Alternativ kann die erste arithmetische Operation als Multiplizieren eines ersten Zufallswerts (r1) mit dem dritten homomorphen Verschlüsselungswert (HE_3) und anschließendes Addieren eines zweiten Zufallswerts (r2) zu dem negativen Wert des Multiplikationsergebnisses oder Abziehen eines zweiten Zufallswerts (r2) von dem negativen Wert des Multiplikationsergebnisses definiert sein.
-
Die Funktion f
1, welche die folgende Relation erfüllt, kann als die erste arithmetische Operation definiert sein.
-
Die erste arithmetische Operation kann eine XOR-Operation enthalten. In diesem Fall kann die folgende Relation erfüllt werden:
-
In dem Schritt (121), speichert das Repository (30) eine Session-ID (S_ID), die Identitiätsverifikationsinformation und die erzeugten Zufallswerte. Wie beschrieben, kann die Identitiätsverifikationsinformation jede Information enthalten, die die Einzigartigkeit des Nutzers verifizieren kann, wie etwa biometrische Information, Identitiätszertifikat-Information und dergleichen.
-
In dem Schritt (122) übertragt das Repository (30) die Session-ID (S_ID), den dritten homomorphen Verschlüsselungswert (HE_3) und den vierten homomorphen Verschlüsselungswert (HE_4) an das Userterminal (10).
-
In dem Schritt (123) entschlüsselt das Userterminal (10) den dritten homomorphen Verschlüsselungswert (HE_3) und den vierten homomorphen Verschlüsselungswert (HE_4), um die dritte Identitiätsverifikations-ID (ID_3) und das Tag zu erhalten.
-
In dem Schritt (124) überträgt das Userterminal (10) die Session-ID (S_ID), die dritte Identitiätsverifikations-ID (ID_3) und das Tag an das Repository (30).
-
In dem Schritt (125) verifiziert das Repository (30) das in dem Schritt (124) empfangene Tag. Wenn das Ergebnis der auf die in dem Schritt (124) empfangene dritte Identitiätsverifikations-ID (ID_3) und die Zufallswerte angewandte erste arithmetische Operation identisch mit dem Tag ist, wird damit bestimmt, dass die Verifikation erfolgreich ist. Andernfalls wird bestimmt, dass die Verifikation fehlschlägt.
-
In dem Schritt (126) assoziiert das Repository (30) die dritte Identitiätsverifikations-ID (ID_3) mit der Identitiätsverifikationsinformation und speichert sodann beide.
-
Das Repository (30) führt eine elektronische Signierung auf der dritten Identitiätsverifikations-ID (ID_3) durch, um eine vierten Validitätsverifkationswert (Sign_4) zu erzeugen, und übertragt den vierten Validitätsverifkationswert (Sign_4) an das Userterminal (10). Der Wert kann auch alternativ erzeugt werden, solange der Wert verifizieren kann, dass die dritte Identitiätsverifikations-ID (ID_3) durch das Repository (30) generiert worden ist und die Integrität und die Validität der ID_3 verifiziert.
-
In dem Schritt (129) speichert das Userterminal (10) die dritte Identitiätsverifikations-ID (ID_3) und den vierten Validitätsverifkationswert (Sign_4) und beendet sodann den Speicherprozess der Identitiätsverifikationsinformation.
-
Entsprechend der vorliegenden Erfindung wird keine Information, die den Nutzer identifizieren kann, in dem Repository (30) gespeichert, jedoch kann die Einzigartigkeit des Nutzers garantiert werden. Folglich können Anonymität und Einzigartigkeit des Nutzers in einer Online-Umgebung garantiert werden.
-
3 zeigt einen Prozess, bei dem das Userterminal bei dem Accountmodul (20) direkt anfragt, um eine anonyme digitale Identität einzurichten, und registriert das Accountmodul. Die 4 und 5 zeigen den Registrierungsprozess der Identitiätsverifikationsinformation nachdem das Accountmodul registriert worden ist.
-
Die Schritte (200 bis 202) aus 3 entsprechen den Schritten (105 bis 107) aus 1 und werden daher nicht nochmals erläutert.
-
In dem Schritt (203) fragt das Userterminal (10) an, dass das Accountmodul (20) registriert wird. Zu diesem Zeitpunkt kann der erste homomorphe Verschlüsselungswert (HE_1) übertragen werden. Die Schritte (204 bis 210) entsprechen den Schritten (110 bis 116) aus den 1 und 2 und werden daher nicht weiter erläutert.
-
Nachdem die Registrierung des Accountmoduls gemäß dem in 3 dargestellten Prozess abgeschlossen ist, wird der in den 4 und 5 dargestellte Registrierungsprozess des Repositorys ausgeführt.
-
Die Schritte (300 bis 310) entsprechen den Schritten (117-127) aus 2, weshalb diese nicht nochmals erläutert werden.
-
Das Repository (30) führt eine elektronische Signierung auf einem achten Wert (Value_8) durch, der den dritten Wert (Value_3) und den dritten Validitätsverifkationswert (Sign_3) enthält, um einen neunten Validitätsverifkationswert (Value_9) zu erzeugen. Der achte Wert (Value_8) kann ferner eine Zeitinformation (date_r) des Repositorys (30) für eine spätere Verifikation der Gültigkeitsdauer enthalten.
-
In dem Schritt (312) überträgt das Repository (30) den vierten Validitätsverifikationswert (Sign_4) und den neunten Validitätsverifikationswert (Sign_9) an das Userterminal (30). Zu diesem Zeitpunkt kann die Zeitinformation (date_r) des Repositorys (30) weiter übertragen werden.
-
In dem Schritt (313) speichert das Userterminal (10) die dritte Identitätsverifikations-ID (ID_3), die durch die Entschlüsselung in dem Schritt (306) erhalten wird, und den vierten Validitätsverifikationswert (Sign_4). In dem Schritt (314) fragt das Userterminal (10) führt das Accountmodul (20) an, das Repository (30) zu registrieren. Für die Anfrage kann das Userterminal die erste Identitiätsverifikations-ID (ID_1), den dritten Wert (Value_3), den dritten Validitätsverifikationswert (Sign_3) und den neunten Validitätsverifikationswert (Sign_9) an das Accountmodul (20) übertragen. Die Zeitinformation (date_r) des Repositorys (30) kann weiter übertragen werden.
-
Das Accountmodul (20) verifiziert den dritten Validitätsverifikationswert (Sign_3) und den neunten Validitätsverifikationswert (Sign_9) in dem Schritt (315) und registriert das Repository in dem Schritt (316). Hiernach überträgt das Accountmodul den Hinweis auf die Registrierung an das Userterminal in dem Schritt (317).
-
Die 6 bis 9 zeigen ein Flussdiagramm des Authentifizierungsprozesses entsprechend der vorliegenden Erfindung nachdem die anonyme digitale Identität eingerichtet worden ist. Die in den 6 und 7 dargestellten Ausführungsformen verwenden nicht die Identitiätsverifikationsinformation, die in dem Repository (30) für die Authentifizierung gespeichert ist. Die in den 8 und 9 dargestellten Ausführungsformen verwenden die Identitiätsverifikationsinformationen, die in dem Repository (30) für die Authentifizierung gespeichert worden sind. In dem Schritt (400) verifiziert das Userterminal (10) die Identitiätsverifikationsinformation eines Nutzers. Beispielsweise verifiziert das Userterminal (10) wie etwa ein Smartphone oder dergleichen, die sich auf eine Iris oder einen Fingerabdruck beziehende eingegebene Information.
-
Das Userterminal überträgt die erste Identitiätsverifikations-ID (ID_1) und die zweiten Validitätsverifikationswert (Sign_2) an das Accountmodul (20) und fragt für die Authentifikation an.
-
Das Accountmodul (20) verifiziert den zweiten Validitätsverifkationswert (Sign_2) im Schritt (402) und fragt die erste Identitiätsverifikations-ID (ID_1) in dem Schritt (403) an, wenn die Verifikation erfolgreich ist.
-
In dem Schritt (404) führt das Accountmodul (20) einen Hash auf der ersten Identitiätsverifikations-ID (ID_1) und dem zweiten Validitätsverifikationswert (Sign_2) durch, um einen ersten Hashwert (Hash_1) zu erzeugen.
-
In dem Schritt (405) erzeugt das Accountmodul (20) den zweiten homomorphen Verschlüsselungswert (HE_2).
-
In dem Schritt (406) führt das Accountmodul (20) eine elektronische Signierung auf einem vierten Wert (Value 4), der den ersten Hashwert (Hash_1) enthält, und dem zweiten homomorphen Verschlüsselungswert (HE_2), um einen fünften Validitätsverifikationswert (Sign_5) zu erzeugen. Der vierte Wert (Value_4) kann Zeitinformationen (date_a) des Accountmoduls für die spätere Verifizierung einer Gültigkeitsdauer enthalten.
-
In dem Schritt (407) überträgt das Accountmodul (20) den vierten Wert (Value 4) und den fünften Validitätsverifikationswert (Sign_5) an das Userterminal (10).
-
In dem Schritt (408) überträgt das Userterminal (10) die dritte Identitätsverifikations-ID (ID_3) zusammen mit den in Schritt (407) empfangenen Informationen an das Repository (30). In den in Figur dargestellten Ausführungsformen wird auch die Identitiätsverifikationsinformation übermittelt.
-
Das Repository (30) verifiziert die vierten und fünften Validitätsverifikationswerte (Sign_4, Sign_5) im Schritt (409); berechnet den dritten homomorphen Verschlüsselungswert (HE_3) und den vierten homomorphen Verschlüsselungswert (HE_4) im Schritt (410); und speichert eine Session-Information in dem Schritt (411). In den in den 8 und 9 dargestellten Ausführungsformen, werden die Identitiätsverifikationsinformationen in dem Schritt (409) weiter verifiziert.
-
Die dritten und vierten homomorphen Verschlüsselungswerte (HE_3, HE_4) können in Übereinstimmung mit den zuvor mit Bezug auf die 1 und 2 erläuterten Verfahren erzeugt werden.
-
Die gespeicherten Session-Informationen enthalten eine Session-ID (S_ID), die zum Erzeugen des Tags verwendeten Zufallswerte, die dritte Identitiätsverifikations-ID (ID_3), den vierten Wert (Value 4), den fünften Validitätsverifikationswert (Sign_5).
-
In dem Schritt (412) überträgt das Repository (30) die Session-ID (S_ID), den dritten homomorphen Verschlüsselungswert (HE_3) und den vierten homomorphen Verschlüsselungswert (HE_4) an das Userterminal (10).
-
In dem Schritt (413) entschlüsselt das Userterminal (10) den dritten homomorphen Verschlüsselungswert (HE_3) und den vierten homomorphen Verschlüsselungswert (HE_4), um die dritte Identitiätsverifikations-ID (ID_3) und das Tag zu erhalten.
-
In dem Schritt (414) überträgt das Userterminal (10) die Session-ID (S_ID), die dritte Identitiätsverifikations-ID (ID_3), den vierten Validitätsverifikationswert (Sign_4) und das Tag an das Repository (30).
-
Das Repository (30) verifiziert den vierten Validitätsverifkationswert (Sign_4) in dem Schritt (415) und verifiziert die dritte Identitiätsverifikations-ID (ID_3) und das Tag, wenn die Verifikation des vierten Validitätsverfikationswerts erfolgreich ist.
-
Die dritte Identitiätsverifikations-ID (ID_3) kann verifiziert werden, indem bestimmt wird, ob die von dem Userterminal (10) empfangene dritte Identitiätsverifikations-ID (ID_3) identisch ist mit der aus dem zweiten homomorphen Verschlüsselungswert (HE_2), der in dem Schritt (208) empfangen worden ist, berechneten dritten Identitiätsverifikations-ID (ID_3).
-
Die Verifikation des Tags kann ausgeführt werden, indem das zuvor mit Bezug auf die 1 und 2 erläuterte Verfahren ausgeführt wird.
-
In dem Schritt (417) führt das Repository (30) eine elektronische Signierung eines fünften Werts (Value_5) durch, der den fünften Validitätsverifikationswert (Sign_5) enthält, um einen sechsten Validitätsverifkationswert (Sign_6) zu erhalten. Der fünfte Wert (Value_5) kann Zeitinformationen (date_r) des Repositorys (30) für Verifikation einer Gültigkeitsdauer, für die ein Wert während einer vorbestimmten Periode gültig ist und anderweitig nicht, enthalten.
-
In dem Schritt (418) überträgt das Repository (30) einen vierten Wert (Value_ 4), den fünften Validitätsverifkationswert (Sign_5) und den sechsten Validitätsverifkationswert (Sign_6) an das Userterminal (10).
-
In dem Schritt (419) überträgt das Userterminal (10) die erste Identitätsverifikations-ID (ID_1), den zweiten Validitätsverifkationswert (Sign_2), den vierten Wert (Value_ 4), den fünften Wert (Value_5), den fünften Validitätsverifkationswert (Sign_5) und den sechsten Validitätsverifkationswert (Sign_6) an das Accountmodul (20).
-
Das Accountmodul (20) verifiziert durch den Validitätsverifkationswert (Sign_5) und den sechsten Validitätsverifkationswert (Sign_6) in dem Schritt (420) und verifiziert die erste Identitätsverifikations-ID (ID_1), den zweiten Validitätsverifkationswert (Sign_2) und den ersten Hashwert (Hash_1) in dem Schritt (421).
-
Wenn die Verifikation erfolgreich ist, erzeugt das Accountmodul (20) in dem Schritt (422) ein Token und überträgt das Token an das Userterminal (10) in dem Schritt (423).
-
Die 10 bis 17 zeigen weitere Ausführungsarten zum Verifizieren des Tags in dem in den 1, 2 und 4 bis 9 dargestellten Prozess. Das Repository (30) hat Konstanten G und P in den in den 10 bis 17 dargestellten Ausführungsformen.
-
Die 10 und 11 zeigen weitere Ausführungsformen der Tagverifikation in dem Verfahren zum Einrichten einer anonymen digitalen Identität, die sich von den Ausführungsformen der 1 und 2 unterscheiden. Die Schritte (100 bis 116) aus den 1 und 2 werden bei den in den 10 und 11 gezeigten Ausführungsformen ebenso durchgeführt und daher werden die Schritte der Vereinfachung halber nicht dargestellt. Die mit Bezug auf die 1 und 2 erläuterten Schritte werden bei den Ausführungsformen der 10 und 11 nicht nochmal beschrieben.
-
In dem Schritt (116-1), erzeugt das Userterminal (10) den Verschlüsselungswert (Ze) von 0 bevor die Registrierung angefragt wird. In dem Schritt (117-1) überträgt das Userterminal (10) den Wert (Ze) zusammen mit dem in den Schritt (117) übertragenen Werten an das Repository (30), wenn es bei dem Repository anfragt, eine anonyme digitale Identität zu registrieren.
-
In dem Schritt (120) führt das Repository (30) eine homomorphe Verschlüsselung auf der dritten Identitätsverifikations-ID (ID_3) und dem Tag durch, um HE_3 und HE_4 jeweils zu erzeugen.
-
Das Tag kann in den
10 und
11 wie folgt berechnet werden:
-
Entsprechend der obigen Gleichung lautet das Tag r1*ID_3+r2+r3*Ze
-
Die Ausführungsformen unterscheiden sich von denjenigen der 1 und 2 darin, dass ein Zufallswert mehr erforderlich ist und der Wert (Ze) zum Erzeugen des Tags verwendet wird. Eine andere arithmetische Operation kann zum Erzeugen des Tags verwendet werden. Beispielsweise kann das Tag lauten „rl*ID-3 - r2 - r3*Ze. Die Ausführungsformen der 10 bis 17 können eine arithmetische Operation verwenden, die r3*Ze zu dem Ergebnis der ersten arithmetischen Operation hinzuzählt oder r3*Z3 von dem Ergebnis der ersten arithmetischen Operation abzieht.
-
In der Beschreibung wird die arithmetische Operation, die in den Ausführungsformen der
10 bis
17 verwendet wird als eine zweite arithmetische Operation definiert. Die zweite arithmetische Operation bezeichnet die Funktion f
2, welche die folgende Beziehung erfüllt:
-
In dem Schritt (122-1) überträgt das Repository (30) eine Session-ID (S_ID, die dritten und vierten homomorphen Verschlüsselungswerte, G und P an das Userterminal (10).
-
In dem Schritt (123) entschlüsselt das Userterminal (10) HE_3 und HE_4, um ID_3 und das Tag zu erhalten. Das Userterminal (10) berechnet in dem Schritt (123-1) ID_3$ und tag$.
-
ID_3$ und tag$ bezeichnen das Ergebnis einer vorbestimmten arithmetischen Operation auf ID_3 und dem Tag. Beispielsweise können ID_3$ und tag$ wie folgt berechnet werden:
-
In dem Schritt (124) überträgt das Userterminal (10) ID_3$ und tag$ zusammen mit der Session-ID (S_ID) an das Repository (30).
-
Das Repository (
30) verifiziert das Tag in dem Schritt (125). Die Verifikation kann wie folgt durchgeführt werden:
-
Das Tag wird verifiziert, indem bestimmt wird, ob das in Schritt (124) empfangene tag$ identisch mit der rechten Seite ist.
-
Die 12 und 13 zeigen einen Prozess, wonach ein weiteres Verifikationsverfahren des Tags für die Ausführungsformen der 4 und 5 durchgeführt wird; 14 und 15 zeigen einen Prozess wonach eine weitere Verifikationsmethode des Tags für die Ausführungsformen der 6 und 7 durchgeführt wird; die 16 und 17 zeigen einen Prozess, wonach eine weitere Verifikationsmethode des Tags auf den Ausführungsformen der 8 und 9 durchgeführt wird.
-
Das Verfahren zum Verifizieren des Tags in den 12 bis 17 ist im Wesentlichen das gleiche wie das Verfahren der 10 und 11.
-
Das Userterminal (10) kann das Token als ein Authentifizierungsergebnis verwenden, wenn ein Nutzer eine Onlineaktivität, die Anonymität erfordert, beispielsweise elektronische Abstimmung, Onlinediskussion, durchführen, wobei die Aktivität beispielsweise die Verifikation eines Berechtigungsnachweises (beispielsweise Verifikation des Erwachsenenstatus und dergleichen) erfordert. Entsprechend der vorliegenden Erfindung brauchen persönliche Informationen nicht offenbart zu werden und die Anonymität ist garantiert, wenn die Authentifizierung durchgeführt wird.
-
Die Identitiätsverifikationsinformationen (beispielsweise Iris, Fingerabdruck oder Identitätszertifikat und dergleichen) kann in den Ausführungsformen der 8 und 9 weiter übertragen werden, wobei die Identitiätsverifikationsinformationen nach Übertragung an das Repository (30) verifiziert werden, ohne dass diese in dem Userterminal verifiziert werden. Zudem kann der Prozess zum Bestimmen, ob die in dem Repository (30) empfangenen Identitiätsverifikationsinformationen identisch mit den in den Schritten (126, 309) gespeicherten Identitiätsverifikationsinformationen sind, hinzugefügt werden.
-
Entsprechend der vorliegenden Erfindung kommunizieren das Accountmodul und das Repository beim Registrierungsprozess der Identitiätsverifikationsinformationen und beim Authentifikationsprozess nicht miteinander; die erste Identitiätsverifikationsinformation-ID (ID_1) und die dritte Identitiätsverifikations-ID (ID_3) werden jeweils durch das Accountmodul und das Repository erzeugt; wobei die IDs nicht den Besitzer der IDs identifizieren können. Daher schafft die vorliegende Erfindung eine digitale Identität, die die Anonymität, den Datenschutz und die Einzigartigkeit des Nutzers schützen kann.
-
Obwohl die vorliegende Erfindung mit Bezug auf die beigefügten Zeichnungen beschrieben worden ist, wird der Umfang der Erfindung von den nachstehenden Ansprüchen bestimmt und sollte nicht so interpretiert werden, dass diese durch die Ausführungsbeispiele und/oder Zeichnungen eingeschränkt sind. Es sollte klar verstanden werden, dass Verbesserungen, Änderungen und Modifikationen der vorliegenden Erfindung, die in den Ansprüchen offenbart sind und für den Fachmann offensichtlich sind, auch in den Umfang der Erfindung fallen.