DE112019005599T5 - Verfahren zur Erkennung von Meinungsäußerung, das Anonymität gewährleisten und Sybil-Attacken verhindern kann, Verfahren zur Registrierung, das Identifikationsinformationen des Benutzers speichert, und Verfahren zur Authentifizierung des Benutzers - Google Patents

Verfahren zur Erkennung von Meinungsäußerung, das Anonymität gewährleisten und Sybil-Attacken verhindern kann, Verfahren zur Registrierung, das Identifikationsinformationen des Benutzers speichert, und Verfahren zur Authentifizierung des Benutzers Download PDF

Info

Publication number
DE112019005599T5
DE112019005599T5 DE112019005599.2T DE112019005599T DE112019005599T5 DE 112019005599 T5 DE112019005599 T5 DE 112019005599T5 DE 112019005599 T DE112019005599 T DE 112019005599T DE 112019005599 T5 DE112019005599 T5 DE 112019005599T5
Authority
DE
Germany
Prior art keywords
value
encryption
module
hash
user terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112019005599.2T
Other languages
English (en)
Inventor
Kibong MOON
Joonkoo KANG
Hawon HAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Korea Smart Authentication Corp
Original Assignee
Korea Smart Authentication Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Korea Smart Authentication Corp filed Critical Korea Smart Authentication Corp
Publication of DE112019005599T5 publication Critical patent/DE112019005599T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3257Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Vorliegende Erfindung betrifft ein Verfahren zur Registrierung einer anonymen digitalen Identität eines Benutzers mit einem Identifikationsinformations-Speichermodul in einer Umgebung, die ein Benutzerterminal, ein Account-Modul und das Identifikationsinformations-Speichermodul enthält. Das Benutzerterminal und das Account-Modul generieren eine erste Identifikation ID, einen ersten Token, einen zweiten Zufallswert, einen zweiten Verschlüsselungswert, einen zweiten Wert und einen ersten Validierungswert durch gegenseitige Kommunikation. Auf der Basis der Information generiert das Identifikationsinformations-Speichermodul einen dritten Hash-Wert, einen zweiten Token, einen achten Wert und einen zweiten Validierungswert durch gegenseitige Kommunikation mit dem Benutzerterminal. Das Account-Modul validiert den ersten Token, den zweiten Hash-Wert und den ersten und den zweiten Validierungswert und registriert die anonyme Identität mit dem Identifikationsinformations-Speichermodul.

Description

  • TECHNISCHES GEBIET
  • Vorliegende Erfindung betrifft ein Verfahren zur Erkennung von Online-Meinungsäußerungen in der Blockchain-Umgebung. Insbesondere betrifft die Erfindung ein Verfahren, das Anonymität gewährleistet und Sybil-Attacken verhindert. Ferner betrifft die Erfindung ein Verfahren zur Registrierung eines Moduls, das Identifikationsinformationen eines Benutzers speichert und das vor Erkennung und Authentifizierung einer Person, die eine Stellungnahme abgibt, durchgeführt wird.
  • HINTERGRUND
  • In neuerer Zeit kommt es häufig vor, dass eine Person in einer Online-Umgebung eine Stellungnahme abgibt und ein Adressat die Stellungnahme erkennt. Die elektronische Stimmabgabe ist das repräsentative Beispiel für diesen Fall. Weitere Beispiele sind Stellungnahmen zu Online-Geschäften und -Verträgen, Meinungen in Online-Debatten, Antworten auf Online-Inhalte und Ähnliches.
  • Die elektronische Stimmabgabe erfolgt durch ein elektronisches Endgerät das geeignet ist, elektronische Rechenoperationen und Datenverarbeitung durchzuführen, ohne dass ein Wahllokal aufgesucht werden muss. Jedoch hat sich die elektronische Stimmabgabe trotz geringer Kosten, Bequemlichkeit und Skalierbarkeit nicht durchgesetzt, da die Integrität aufgrund von Risiken wie Hacking, Manipulation durch Insider und verzerrte Meinungsäußerung durch Beeinflussung nicht gewährleistet werden kann.
  • Die Blockchain-Technologie kann Manipulation und Hackerangriffe bei der Online-Meinungsäußerung wie beispielsweise der elektronischen Stimmabgabe verhindern. Jedoch basiert die Verlässlichkeit der Blockchain auf Transparenz, nämlich dass jeder die Einträge in der Blockchain sehen kann. Dadurch kann die Identität der Person, die eine Meinung äußert, in der Blockchain offengelegt werden, und es stellt sich gegebenenfalls die Frage des Datenschutzes in einer solchen Umgebung. Um die Konnektivität zwischen der Person und ihrer Online-Aktivität zu verbergen, können unendlich viele öffentliche Schlüssel und die entsprechenden privaten Schlüssel für eine Person generiert werden. Ein solcher Fall ist jedoch anfällig für Sybil-Attacken, bei denen eine Person zahlreiche IDs generiert und ihre Meinung mit den zahlreichen IDs äußert, um die Online-Meinungsäußerung zu verfälschen, wodurch die Gleichheit der Online-Meinungsäußerung verletzt wird.
  • Zur Vermeidung von Sybil-Attacken sollten PII (Personally Identifiable Information = persönlich identifizierbare Informationen) erfasst und die Einzigartigkeit einer Person gewährleistet werden. Im Stand der Technik sollte die Online-Meinungsäußerung mit PII verknüpft werden, wodurch die Privatsphäre und die Anonymität einer Person beeinträchtigt werden und somit die freie Meinungsäußerung eingeschränkt wird. Jedoch kann die homomorphe Verschlüsselungstechnologie die Einzigartigkeit des Benutzers und die Anonymität gewährleisten.
  • Eine solche Erfindung ist in dem Koreanischen Patent Nr. 1833323 beschrieben. Der Inhaber dieses Patents ist der Anmelder der vorliegenden Patentanmeldung.
  • DETAILBESCHREIBUNG DER ERFINDUNG
  • TECHNISCHE AUFGABE
  • Die Aufgabe der vorliegenden Erfindung ist die Schaffung eines Verfahrens zur Erkennung von Online-Meinungsäußerungen, dessen Sicherheit im Vergleich zu dem oben genannten Patent verbessert ist.
  • TECHNISCHE LÖSUNG
  • Ein computer-implementiertes Verfahren zum Registrieren der anonymen digitalen Identität eines Benutzers in einem Repository-Modul der vorliegenden Erfindung wird in einer Umgebung durchgeführt, die ein Benutzerterminal, ein Account-Modul und das Repository-Modul enthält. Das Verfahren umfasst einen ersten Schritt, in welchem das Account-Modul von dem Benutzerterminal eine Aufforderung zur Registrierung des Account-Moduls zusammen mit einem ersten Verschlüsselungswert (Re_), der ein homomorpher Verschlüsselungswert eines ersten Zufallswertes (Re) ist, empfängt; einen zweiten Schritt, in welchem das Account-Modul eine erste ID (A_ID) und einen zweiten Zufallswert (Ra) generiert; einen dritten Schritt, in welchem das Account-Modul einen ersten Token (p_token) generiert; einen vierten Schritt, in welchem das Account-Modul eine erste Rechenoperation an der ersten ID (A_ID), dem ersten Verschlüsselungswert (Re_), dem zweiten Zufallswert (Ra) und einem ersten Zero-Verschlüsselungswert durchführt, um einen zweiten Verschlüsselungswert (AA_ID_) zu generieren, der ein Verschlüsselungswert einer zweiten ID (AA_ID) ist; einen fünften Schritt, in welchem das Account-Modul einen Hash auf den zweiten Verschlüsselungswert (AA_ID_) durchführt, um einen ersten Hash-Wert (h_AA_ID) zu generieren; einen sechsten Schritt, in welchem das Account-Modul einen Hash auf einen ersten Wert durchführt, der den ersten Token (p_token) und den ersten Hash-Wert (h_AA_ID) enthält, um einen zweiten Hash-Wert (h_enroll) zu generieren; einen siebten Schritt, in welchem das Account-Modul an einem zweiten Wert, der den ersten Hash-Wert (h_AA_ID) und den zweiten Hash-Wert (h_enroll) enthält, eine elektronische Signatur durchführt, um einen ersten Gültigkeits-Verifikationswert zu generieren; einen achten Schritt, in welchem das Account-Modul die erste ID (A_ID), den ersten Token (p_token), den zweiten Zufallswert (Ra), den zweiten Verschlüsselungswert (AA_ID_), den zweiten Wert und den ersten Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen neunten Schritt, in welchem das Repository-Modul von dem Benutzerterminal eine biometrische Information, den zweiten Verschlüsselungswert (AA_ID_), den zweiten Wert, den ersten Gültigkeits-Verifikationswert und den zweiten Zero-Verschlüsselungswert (Ze'_) empfängt; einen zehnten Schritt, in welchem das Repository-Modul eine zweite Rechenoperation an dem zweiten Verschlüsselungswert (AA_ID_) und an einem dritten Wert (Cr) durchführt, um einen dritten Verschlüsselungswert zu generieren, der ein homomorpher Verschlüsselungswert einer dritten ID (R_ID) ist; einen elften Schritt, in welchem das Repository-Modul eine dritte Rechenoperation durchführt, um einen vierten Verschlüsselungswert (tag1_) zu erhalten, der ein homomorpher Verschlüsselungswert eines ersten Tag-Werts ist, wobei die dritte Rechenoperation eine Operation ist, bei welcher ein Wert, der erhalten wird durch Multiplizieren des dritten Verschlüsselungswerts (R_ID_) und eines 3-1 Zufallswerts (R1), ein 3-2 Zufallswert (R2) und ein Wert, der erhalten wird durch Multiplizieren eines 3-3 Zufallswerts (R3) und des zweiten Zero-Verschlüsselungswerts (Ze'_), voneinander subtrahiert oder miteinander addiert werden; einen zwölften Schritt, in welchem das Repository-Modul die biometrischen Informationen, den 3-1 Zufallswert (R1), den 3-2 Zufallswert (R2), die erste Sitzungs-ID (rs_id), den zweiten Wert und den ersten Gültigkeits-Verifikationswert speichert; einen dreizehnten Schritt, in welchem das Repository-Modul die erste Sitzungs-ID (rs_id), einen dritten Wert (Cr), einen vierten Wert (G), einen fünften Wert (P), den dritten Verschlüsselungswert (R_ID) und den vierten Verschlüsselungswert (tag_) an das Benutzerterminal sendet; einen vierzehnten Schritt, in welchem das Repository-Modul von dem Benutzerterminal die erste Sitzungs-ID (rs_id), einen sechsten Wert (R_ID$), der durch die Durchführung einer Rechenoperation an der dritten ID (R_ID) erhalten wird, und einen siebten Wert (tag1$), der durch die Durchführung einer Rechenoperation an dem ersten Tag-Wert erhalten wird, empfängt; einen fünfzehnten Schritt, in welchem das Repository-Modul den siebten Wert verifiziert; einen sechzehnten Schritt, in welchem das Repository-Modul einen Hash auf den sechsten Wert durchführt, um einen dritten Hash-Wert (r_id) zu generieren; einen siebzehnten Schritt, in welchem das Repository-Modul den dritten Hash-Wert (r_id) und die biometrischen Informationen speichert; einen achtzehnten Schritt, in welchem das Repository-Modul einen zweiten Token generiert; einen neunzehnten Schritt, in welchem das Repository-Modul an einem achten Wert, der den ersten Gültigkeits-Verifikationswert enthält, eine elektronische Signatur durchführt, um einen zweiten Gültigkeits-Verifikationswert zu generieren; einen zwanzigsten Schritt, in welchem das Repository-Modul den dritten Hash-Wert, den zweiten Token (r_token), den zweiten Wert, den achten Wert und den zweiten Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen einundzwanzigsten Schritt, in welchem das Account-Modul von dem Benutzerterminal eine Aufforderung zur Registrierung des Repository-Moduls zusammen mit der ersten ID (A_ID), dem ersten Token (p_token), dem zweiten Wert, dem achten Wert und dem zweiten Gültigkeits-Verifikationswert empfängt; und einen zweiundzwanzigsten Schritt, in welchem das Account-Modul den ersten Token (p_token), den zweiten Hash-Wert (h_enroll), den ersten Gültigkeits-Verifikationswert und den zweiten Gültigkeits-Verifikationswert verifiziert, um die Registrierung abzuschließen.
  • Der erste Wert und der zweite Wert können ferner Zeitinformationen (data_a) des Account-Moduls enthalten.
  • Der achte Wert kann ferner Zeitinformationen (data_r) des Repository-Moduls enthalten.
  • Die erste Rechenoperation kann „der erste Verschlüsselungswert (Re_)*der zweite Zufallswert (Ra) + die erste ID (A_ID) + ein 2-1 Zufallswert (Rc)* der erste Verschlüsselungswert (Ze) + Noise“ sein.
  • Die zweite Rechenoperation kann „der zweite Verschlüsselungswert (AA_ID_)*der dritte Wert (Cr)“ sein.
  • Die dritte Rechenoperation kann „der 3-1 Zufallswert (R1)*der dritte Verschlüsselungswert (R_ID_) + der 3-2 Zufallswert (R2) + der 3-3 Zufallswert (R3)*der zweite Zero-Verschlüsselungswert (Ze')“ sein.
  • Der sechste Wert kann GR_ID (mod P) sein; der siebte Wert kann Gtag1 (mod P) sein; und der fünfzehnte Schritt kann durchgeführt werden, indem der siebte Wert mit R_ID$R1*GR2 (mod P) verglichen wird.
  • Ein computer-implementiertes Verfahren zur Authentifizierung des Benutzers gemäß vorliegender Erfindung wird durchgeführt, nachdem die anonyme digitale Identität gemäß dem vorstehenden Verfahren registriert wurde. Das Verfahren umfasst einen Schritt 1-1, in welchem das Account-Modul von dem Benutzerterminal die erste ID (A_ID_), den ersten Token (p_token) und den ersten Zero-Verschlüsselungswert (Ze_) empfängt; einen Schritt 1-2, in welchem das Account-Modul eine Sitzungs-ID (as_id) für die Authentifizierung generiert; einen Schritt 1-3, in welchem das Account-Modul die erste Rechenoperation an der ersten ID (A_ID_), dem ersten Verschlüsselungswert (Re_), dem zweiten Zufallswert (Ra) und dem ersten Zero-Verschlüsselungswert durchführt, um einen zweiten Verschlüsselungswert (AA_ID_) zu generieren, der ein Verschlüsselungswert der zweiten ID (AA_ID) ist; einen Schritt 1-4, in welchem das Account-Modul einen Hash auf den zweiten Verschlüsselungswert (AA_ID_) durchführt, um einen ersten Hash-Wert (h_AA_ID) zu generieren; einen Schritt 1-5, in welchem das Account-Modul einen Hash auf einen Wert durchführt, der die zweite Sitzungs-ID (as_id) und den ersten Hash-Wert (h_AA_ID) enthält, um einen vierten Hash-Wert (h_auth) zu generieren; einen Schritt 1-6, in welchem das Account-Modul an einem neunten Wert, der den ersten Hash-Wert (h_AA_ID) und den vierten Hash-Wert (h_auth) enthält, eine elektronischen Signatur durchführt, um einen dritten Gültigkeits-Verifikationswert zu generieren; einen Schritt 1-7, in welchem das Account-Modul die zweite Sitzungs-ID (as_id), den zweiten Verschlüsselungswert (AA_ID), den neunten Wert und den dritten Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen Schritt 1-8, in welchem das Repository-Modul von dem Benutzerterminal eine Aufforderung zur Verifizierung des dritten Hash-Werts zusammen mit dem dritten Hash-Wert (r_id), dem zweiten Token (r_token), dem zweiten Verschlüsselungswert (AA_ID_), dem neunten Wert, dem dritten Gültigkeits-Verifikationswert und dem zweiten Zero-Verschlüsselungswert (Ze'_) empfängt; einen Schritt 1-9, in welchem das Repository-Modul die zweite Rechenoperation an dem zweiten Verschlüsselungswert (AA_ID_) und dem dritten Wert (Cr) durchführt, um einen dritten Verschlüsselungswert zu generieren, der ein homomorpher Verschlüsselungswert der dritten ID (R_ID) ist; einen Schritt 1-10, in welchem das Repository-Modul die dritte Rechenoperation durchführt, um einen vierten Verschlüsselungswert (tag_) zu erhalten, der ein homomorpher Verschlüsselungswert des ersten Tag-Werts ist, wobei die dritte Rechenoperation eine Operation ist, in welcher ein Wert, der durch Multiplizieren des dritten Verschlüsselungswerts (R_ID_) und eines 3-1 Zufallswerts (R1) erhalten wird, ein 3-2 Zufallswert (R2) und ein Wert, der durch Multiplizieren eines 3-3 Zufallswerts (R3) und des zweiten Zero-Verschlüsselungswerts (Ze'_) erhalten wird, voneinander subtrahiert oder miteinander addiert werden; einen Schritt 1-11, in welchem das Repository-Modul die erste Sitzungs-ID (rs_id), den dritten Wert (Cr), den vierten Wert (G), den fünften Wert (P), den dritten Verschlüsselungswert (R_ID_) und den vierten Verschlüsselungswert (tag_) an das Benutzerterminal sendet; einen Schritt 1-12, in welchem das Repository-Modul von dem Benutzerterminal die erste Sitzungs-ID (rs_id), einen sechsten Wert (R_ID$), der durch die Durchführung einer Rechenoperation an der dritten ID (R_ID) erhalten wird, und einen siebten Wert (tag1$), der durch die Durchführung einer Rechenoperation an dem ersten Tag-Wert erhalten wird, empfängt; einen Schritt 1-13, in welchem das Repository-Modul den siebten Wert verifiziert; einen Schritt 1-14, in welchem das Repository-Modul an einem zehnten Wert, der den dritten Gültigkeits-Verifikationswert enthält, eine elektronische Signatur durchführt, um einen vierten Gültigkeits-Verifikationswert zu generieren; einen Schritt 1-15, in welchem das Repository-Modul den neunten Wert, den zehnten Wert und den vierten Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen Schritt 1-14, in welchem das Account-Modul von dem Benutzerterminal die erste ID (A_ID), die zweite Sitzungs-ID (as_id), den neunten Wert, den zehnten Wert und den vierten Gültigkeits-Verifikationswert empfängt; und einen Schritt 1-15, in welchem das Account-Modul einen dritten Token an das Benutzerterminal sendet, wenn die Verifizierung der ersten ID (A_ID), des vierten Hash-Werts (h_auth), des dritten Gültigkeits-Verifikationswerts und des vierten Gültigkeits-Verifikationswerts erfolgreich ist.
  • Der in Schritt 1-5 zu hashende Wert kann ferner Zeitinformationen (date_a) des Account-Moduls enthalten; und der neunte Wert enthält ferner Zeitinformationen (data_a) des Account-Moduls;
  • Der zehnte Wert kann ferner Zeitinformationen (data_r) des Repository-Moduls enthalten.
  • Die erste Rechenoperation kann „der erste Zufallswert (Re)*der zweite Zufallswert (Ra) + die erste ID (A_ID) + der 2-1 Zufallswert (Rc)*der erste Zero-Verschlüsselungswert (Ze_) + Noise“ sein.
  • Die zweite Rechenoperation kann „der zweite Verschlüsselungswert (AA_ID_)*der dritte Wert (Cr)“ sein.
  • Die dritte Rechenoperation kann „der 3-1 Zufallswert (R1 )*der dritte Verschlüsselungswert (R_ID_) + der 3-2 Zufallswert (R2) + der 3-3 Zufallswert (R3)*der zweite Zero-Verschlüsselungswert (Ze'_)“ sein.
  • Der sechste Wert kann GR_ID (mod P) sein; der siebte Wert kann Gtag1 (mod P) sein; und der fünfzehnte Schritt kann durchgeführt werden, indem der siebte Wert mit R_ID$R1*GR2 (mod P) verglichen wird.
  • Ein computer-implementiertes Verfahren zur Erkennung einer Online-Meinungsäußerung gemäß vorliegender Erfindung wird nach erfolgter Authentifizierung gemäß dem vorstehenden erfindungsgemäßen Verfahren in einer Umgebung durchgeführt, die ein Benutzerterminal, ein Account-Modul, ein Repository-Modul und ein Node-Modul einer Blockchain enthält. Das Verfahren umfasst einen Schritt 2-1, in welchem das Node-Modul von dem Benutzerterminal eine Subjekt-Identifikationsinformation (v_id) empfängt; einen Schritt 2-2, in welchem das Node-Modul den vierten Wert (G), den fünften Wert (P) und den elften Wert (Cv) an das Benutzerterminal sendet; einen Schritt 2-3, in welchem das Benutzerterminal eine vierte Rechenoperation an dem ersten Zufallswert (Re), dem zweiten Zufallswert (Ra), der ersten ID (A_ID) und dem elften Wert (Cv) durchführt, um eine Benutzer-Identifikationsinformation (BS) zu generieren; einen Schritt 2-4, in welchem das Benutzerterminal eine Rechenoperation an der Benutzer-Identifikationsinformation (BS) durchführt, um einen zwölften Wert (BS$) zu generieren; einen Schritt 2-5, in welchem das Benutzerterminal einen Hash auf den zwölften Wert durchführt, um einen fünften Hash-Wert (bs) zu generieren; einen Schritt 2-6, in welchem das Benutzerterminal von dem Benutzer einen Meinungswert (eine Abstimmung) empfängt; einen Schritt 2-7, in welchem das Benutzerterminal einen sechsten Hash-Wert verschlüsselt, der ein Hash-Wert eines dreizehnten Werts ist, der die Subjekt-Identifikationsinformation (v_id), den fünften Hash-Wert und den Meinungswert (die Abstimmung) enthält, um einen fünften Verschlüsselungswert zu generieren; einen Schritt 2-8, in welchem das Benutzerterminal einen ersten Zero-Verschlüsselungswert (Ze_) generiert; einen Schritt 2-9, in welchem das Account-Modul vom dem Benutzerterminal eine Anforderung der zweiten ID (AA_ID) und blinden Signatur zusammen mit der ersten ID (A_ID), dem dritten Token, dem ersten Zero-Verschlüsselungswert (Ze_) und dem fünften Verschlüsselungswert empfängt; einen Schritt 2-10, in welchem das Account-Modul einen Hash auf den zweiten Verschlüsselungswert (AA_ID_) durchführt, um einen ersten Hash-Wert (h_AA_ID) zu generieren; einen Schritt 2-11, in welchem das Account-Modul an dem fünften Verschlüsselungswert eine blinde Signatur durchführt; einen Schritt 2-12, in welchem das Account-Modul an einem vierzehnten Wert, der den ersten Hash-Wert (h_AA_ID) enthält, eine elektronische Signatur durchführt, um einen fünften Gültigkeits-Verifikationswert zu generieren; einen Schritt 2-13, in welchem das Account-Modul den zweiten Verschlüsselungswert (AA_ID_), den blinden Signaturwert, den vierzehnten Wert und den fünften Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen Schritt 2-14, in welchem das Benutzerterminal aus dem blinden Signaturwert einen sechsten Gültigkeits-Verifikationswert ermittelt, der ein Gültigkeits-Verifikationswert des dreizehnten Werts ist; einen Schritt 2-15, in welchem das Benutzerterminal einen zweiten Zero-Verschlüsselungswert (Ze'_) generiert; einen Schritt 2-16, in welchem das Node-Module von dem Benutzerterminal eine Anforderung der Benutzer-Identifikationsinformation (BS) zusammen mit der Subjekt-Identifikationsinformation (v_id), dem zweiten Verschlüsselungswert (AA_ID_), dem zweiten Zero-Verschlüsselungswert (Ze'_), dem vierzehnten Wert und dem fünften Gültigkeits-Verifikationswert empfängt; einen Schritt 2-17, in welchem das Node-Modul an dem zweiten Verschlüsselungswert (AA_ID) und dem elften Wert (Cv) eine fünfte Rechenoperation durchführt, um einen sechsten Verschlüsselungswert (BS_) zu generieren; einen Schritt 2-18, in welchem das Node-Modul eine Anforderung eines zweiten Tag-Werts (tag2) zusammen mit dem sechsten Verschlüsselungswert (BS_) und dem zweiten Zero-Verschlüsselungswert (Ze'_) an das Repository-Modul sendet; einen Schritt 2-19, in welchem das Repository-Modul eine sechste Rechenoperation durchführt, um einen siebten Verschlüsselungswert (tag2_) zu erhalten, der ein homomorpher Verschlüsselungswert des zweiten Tag-Werts (tag2) ist, wobei die sechste Rechenoperation eine Operation ist, in der ein Wert, der durch Multiplizieren des sechsten Verschlüsselungswerts (BS_) und eines 3-1 Zufallswerts (R1) erhalten wird, ein 3-2 Zufallswert (R2) und ein Wert, der durch Multiplizieren eines 3-3 Zufallswerts (R3) und des zweiten Zero-Verschlüsselungswerts (Ze'_) erhalten wird, voneinander subtrahiert oder miteinander addiert werden; einen Schritt 2-20, in welchem das Node-Modul von dem Repository-Modul einen siebten Hash-Wert, der ein Hash-Wert des 3-1 Zufallswerts (R1) und des 3-2 Zufallswerts (R2) ist, die Sitzungs-ID (vs_id) und den siebten Verschlüsselungswert (tag2_) empfängt; einen Schritt 2-21, in welchem das Node-Modul die zweite Sitzungs-ID (vs_id), den sechsten Verschlüsselungswert (BS_), den siebten Verschlüsselungswert (tag2_) und den siebten Hash-Wert an das Benutzerterminal sendet; einen Schritt 2-22, in welchem das Node-Modul von dem Benutzerterminal die Sitzungs-ID (vs_id), einen fünfzehnten Wert (BS$), der ein durch die Durchführung einer Rechenoperation an der Benutzer-Identifikationsinformation erhaltener Wert ist, einen sechzehnten Wert, der ein durch die Durchführung einer Rechenoperation an dem zweiten Tag-Wert erhaltener Wert ist, den siebten Hash-Wert, die Subjekt-Identifikationsinformation (v_id), den fünften Hash-Wert (bs), den Meinungswert (die Abstimmung) und den sechsten Gültigkeits-Verifikationswert empfängt; einen Schritt 2-23, in welchem das Node-Modul an das Repository-Modul eine Aufforderung zur Verifizierung des fünfzehnten Werts (BS$) zusammen mit dem fünfzehnten Wert (BS$), dem sechzehnten Wert (tag2$), der Sitzungs-ID (vs_id), dem vierten Wert (G) und dem fünften Wert (P) sendet; einen Schritt 2-24, in welchem das Node-Modul den 3-1 Zufallswert (R1) und den 3-2 Zufallswert (R2) durch einen Vergleich des siebten Werts mit dem Hash-Wert des 3-1 Zufallswerts (R1) und des 3-2 Zufallswerts (R2), die von dem Repository-Modul empfangen werden, verifiziert; und einen Schritt 2-25, in welchem das Node-Modul den Meinungswert (die Abstimmung), den Subjekt-Identifikationswert (v_id), den fünften Hash-Wert (bs) und den sechsten Gültigkeits-Verifikationswert speichert, wenn die Verifizierung des Werts (BS$), des fünften Hash-Werts (bs) und des sechsten Gültigkeits-Verifikationswerts erfolgreich ist.
  • Der vierzehnte Wert kann ferner Zeitinformationen des Account-Moduls enthalten.
  • Die vierte Rechenoperation kann „[der erste Zufallswert (Re)*der zweite Zufallswert (Ra) + die erste ID (A_ID)*der elfte Wert (Cv)“ sein.
  • Der von der Subjekt-Identifikationsinformation (BS) abgeleitete Wert (BS$) kann der vierte WertBS (mod P) sein.
  • Die fünfte Rechenoperation kann „der zweite Verschlüsselungswert (AA_ID_)*der elfte Wert (Cv)“ sein.
  • Die sechste Rechenoperation kann „R1*BS_ + R2 + R3*Ze'_“ sein.
  • Der von dem zweiten Tag-Wert abgeleitete Wert (tag2$) kann Gtag2 (mod P) sein.
  • WIRKUNGEN DER ERFINDUNG
  • Erfindungsgemäß wird die Verifikation der Berechtigung eines Benutzers gewährleistet; ein Node, der Meinung in eine Blockchain hochlädt, und ein Authentifizierungsserver sind voneinander getrennt, wodurch die Sicherheitsstufe erhöht wird; und die Verbindung zwischen der Meinung und dem Benutzer, der die Meinung äußert, kann aufgrund der blinden Signatur nicht durchsickern. Ferner wird der Zero-Verschlüsselungswert verwendet, um die anderen Verschlüsselungswerte zu verbergen, wodurch die Sicherheitsstufe erhöht wird. Ferner führt der Authentifizierungsserver vier grundlegende Rechenoperation durch, ohne eine Hash-Operation durchzuführen, wodurch die Serverlast verringert wird.
  • Figurenliste
  • Die Erfindung wird nachstehend unter Bezugnahme auf die anliegenden Zeichnungen näher erläutert.
    • 1 und 4 zeigen Flussdiagramme des Verfahrens zur Registrierung einer anonymen digitalen Identität in dem Modul, das eine Benutzer-Identifikationsinformation speichert;
    • 5 bis 8 zeigen Flussdiagramme des erfindungsgemäßen Verfahrens zur Authentifizierung eines Benutzers;
    • 9 bis 12 zeigen Flussdiagramme des erfindungsgemäßen Verfahrens zur Erkennung einer Online-Meinungsäußerung.
  • AUSFÜHRUNGSFORMEN DER ERFINDUNG
  • Es folgt eine Detailbeschreibung der vorliegenden Erfindung mit Bezug auf die anliegenden Zeichnungen.
  • In der vorliegenden Beschreibung kann das Senden / Empfangen von Informationen (Daten) erforderlichenfalls mit Verschlüsselung / Entschlüsselung erfolgen. Es versteht sich, dass das Senden / Empfangen in vorliegender Beschreibung mit Verschlüsselung / Entschlüsselung stattfinden kann, wenngleich dies nicht speziell erwähnt ist. Ferner kann das Senden (Weiterleiten) von A nach B oder das Empfangen von B durch A den Prozess über ein zusätzliches Medium einschließen, d.h. nicht auf unmittelbares Senden oder Empfangen beschränkt sein. Die Reihenfolge der Schritte unterliegt keiner Einschränkung, es sei denn, ein vorhergehender Schritt muss logisch und zeitlich vor einem nachfolgenden Schritt ausgeführt werden. Das heißt, mit Ausnahme der vorgenannten Fälle ändert es nichts an dem Wesen der vorliegenden Erfindung, wenn ein Vorgang, der als nachfolgender Schritt beschrieben ist, einem Vorgang, der als vorhergehender Schritt beschrieben ist, vorausgeht. Der Schutzumfang der Erfindung sollte dementsprechend ohne Berücksichtigung der Reihenfolge der Schritte definiert werden. Ferner sollten „A oder B“ in der vorliegenden Beschreibung nicht wahlweise auf entweder A oder B bezogen werden, sondern sowohl A als auch B umfassen. Ferner bedeutet der Begriff „umfassen“ in der vorliegenden Beschreibung, dass zusätzlich zu den gelisteten Komponenten noch weitere Komponenten vorhanden sind.
  • Der Begriff „Modul“ bedeutet eine logische Kombination universeller Hardware und einer Software zum Ausführen der erforderlichen Funktionen.
  • In der Beschreibung werden die erfindungswesentlichen Elemente genannt, während nicht wesentliche Elemente gegebenenfalls nicht genannt sind. Jedoch sollte der Rahmen der vorliegenden Erfindung nicht dadurch eingeschränkt werden, dass lediglich die beschriebenen Komponenten umfasst sind. Vielmehr können innerhalb des Rahmens der vorliegenden Erfindung zusätzliche Elemente vorhanden sein oder nicht wesentliche Elemente fehlen.
  • Vorliegende Erfindung kann durch eine elektronische Rechenvorrichtung wie einen Computer ausgeführt werden. Die nachstehend beschriebene Rechenoperation und Berechnung kann mit bekannten Rechencodes für die Operation oder Berechnung erfolgen oder mit Rechencodes, die für vorliegende Erfindung in geeigneter Weise konzipiert wurden.
  • Der Begriff „Wert“ in der vorliegenden Beschreibung ist als universeller Wert definiert, der sowohl Vektor-, Matrix-, Tensor- und polynomiale wie auch wissenschaftliche Werte umfasst.
  • In der vorliegenden Beschreibung umfasst die Verschlüsselung oder der Hash eines bestimmten Werts die Verschlüsselung oder den Hash eines von dem bestimmten Wert abgeleiteten Werts. Der zu verschlüsselnde oder zu hashende Wert lässt sich ableiten, indem an dem bestimmten Wert eine Rechenoperation durchgeführt wird. Weiterhin ist der Begriff „Hash“ in der Beschreibung in der universellen Bedeutung als Einwegfunktion definiert.
  • Vorliegende Erfindung wird durch verschiedene elektronische Geräte ausgeführt. 13 zeigt schematisch eine beispielhafte Gerätearchitektur gemäß Ausführungsformen der vorliegenden Erfindung. Wie 13 zeigt, kann ein Gerät (1309) mehrere Komponenten enthalten, unter anderem einen Prozessor (z.B. eine Zentraleinheit (CPU) 1310), einen Speicher (1320), eine drahtgebundene oder drahtlose Kommunikationseinheit (1330), eine oder mehrere Eingabeeinheiten (1340) und eine oder mehrere Ausgabeeinheiten (1350), ohne Beschränkung hierauf. Es sollte beachtet werden, dass die in 13 gezeigte Architektur vereinfacht ist und lediglich Darstellungszwecken dient. Die Architektur des Geräts (1309) könnte in Übereinstimmung mit den vorliegenden Ansprüchen in einer Weise modifiziert werden, die einem Durchschnittsfachmann auf dem Gebiet geeignet erscheint. Darüber hinaus könnten auch die Komponenten des Geräts (1309) selbst in einer Weise modifiziert werden, die einem Durchschnittsfachmann auf dem Gebiet in Übereinstimmung mit den vorliegenden Ansprüchen geeignet erscheint. Aus diesem Grund sollte die in 13 gezeigte Gerätearchitektur lediglich als ein die Erfindung nicht einschränkendes Beispiel betrachtet werden.
  • Der Prozessor (1310) kann den Betrieb des Geräts (1309) steuern. Insbesondere ist der Prozessor (1310) wirksam für eine Steuerung von und eine Interaktion mit mehreren Komponenten, die in dem Gerät (1309) installiert sind, wie in 13 gezeigt. Zum Beispiel kann der Speicher (1320) von dem Prozessor (110) ausführbare Programmanweisungen und Daten speichern. Der vorliegende beschriebene Prozess kann in Form von Programmanweisungen zur Ausführung durch den Prozessor (1300) in dem Speicher (1320) gespeichert sein. Die Kommunikationseinheit (1330) kann dem Gerät (1309) ermöglichen, über ein Kommunikationsnetz Daten an ein oder mehrere externe Geräte zu senden oder von diesen zu empfangen. Die Eingabeeinheit (1340) kann dem Gerät (1309) den Empfang von Eingaben verschiedener Art ermöglichen, zum Beispiel Audioeingaben / visuelle Eingaben, Benutzereingaben, Dateneingaben und dergleichen. Zu diesem Zweck kann die Eingabeeinheit (1340) aus mehreren Eingabevorrichtungen für die Annahme von verschiedenartigen Eingaben gebildet sein, unter anderem zum Beispiel aus einer oder mehreren Kameras (1342) (d.h. „Bilderfassungseinheit“), einem Touchpanel (1344), einem Mikrophon (nicht gezeigt), Sensoren, Tastaturen, Mäusen, einer oder mehreren Tasten oder Schalter (nicht gezeigt) usw. Der vorliegend verwendete Begriff „Bilderfassungseinheit“ kann sich auf eine Kamera beziehen, ist jedoch nicht darauf beschränkt. Die Eingabevorrichtungen, die in der Eingabeeinheit (1340) enthalten sind, können von einem Benutzer bedient werden. Die Ausgabeeinheit (1350), kann Informationen auf einem Anzeigebildschirm (1352) anzeigen, so dass ein Benutzer sie betrachten kann. Der Anzeigebildschirm (1352) kann derart ausgebildet sein, dass er eine oder mehrere Eingaben akzeptiert, zum Beispiel, wenn ein Benutzer auf den Bildschirm tippt oder drückt (1352). Dies kann über eine Vielfalt von im Stand der Technik bekannten Mechanismen geschehen. Die Ausgabeeinheit (1350) kann ferner eine Lichtquelle (1354) aufweisen. Das Gerät (1309) ist als Einzelkomponente dargestellt, kann jedoch auch aus mehreren separaten Komponenten bestehen, die miteinander verbunden sind und während des Betriebs zusammenwirken.
  • In der vorliegenden Beschreibung bedeutet „Meinungsäußerung“, dass sich ein Benutzer zu einem Thema oder einer Angelegenheit äußert. Dabei kann es sich um eine elektronische Abstimmung, um eine Online-Debatte, eine Antwort auf Online-Inhalt und dergleichen handeln.
  • Ferner umfasst die Äußerung nicht nur eine einmalige Meinungsäußerung zu einem Thema oder einer Angelegenheit, sondern auch eine mehrfache Äußerung zu demselben Thema oder derselben Angelegenheit.
  • In der Beschreibung bedeutet „ein vorgegebener Wert_“ einen homomorphen Verschlüsselungswert des „vorgegebenen Werts“. Die „Verschlüsselung“ in der Beschreibung bedeutet „homomorphe Verschlüsselung“, sofern nicht anders angegeben. Es kann aber auch eine andere Form der Verschlüsselung gewählt werden, sofern diese nicht die wesentlichen Elemente der vorliegenden Erfindung beeinflusst.
  • In der Beschreibung steht „HE(*)“ für den homomorphen Verschlüsselungswert von*.
  • 1 zeigt ein Flussdiagramm des Verfahrens zum Erstellen einer anonymen digitalen Identität gemäß vorliegender Erfindung. In dieser Beschreibung bedeutet „anonyme digitale Identität“ ein Objekt, das in der Offline-Umgebung nicht identifizieren kann, wer er/sie ist, das aber in einer digitalen Umgebung eine einmalige Identität definieren kann. Die digitale Identität enthält einen vorgegebenen Berechtigungsnachweis.
  • Das Verfahren zur Registrierung einer Identitäts-Verifikationsinformation gemäß vorliegender Erfindung kann in einer Umgebung durchgeführt werden, die ein Benutzerterminal (10), ein Account-Modul (20) und ein Repository (30) zum Speichern von Identitäts-Verifikationsinformationen enthält. Das Benutzerterminal (10) kann ein elektronisches Gerät beliebiger Art sein, das elektronische Vorgänge und eine Datenkommunikation durchführen kann, zum Beispiel ein Smartphone, ein PC, ein Tablet-PC und dergleichen.
  • Jedes Account-Modul (20) hat eine einmalige Identifikationsinformation und wird für jeden Benutzer generiert. Das Account-Modul (20) kann in der Blockchain enthalten sein. Ein Benutzer kann über das Account-Modul (20), das für den Benutzer einmalig bereitgestellt wird, in der Online-Umgebung eine Aktivität oder eine Arbeit ausüben. Das Account-Modul (20) verfügt nicht über eine Benutzerinformation, sondern nur über einen Token, der eine anonyme digitale Identität verifiziert, wie das nachstehend erläutert wird. Es können für einen Benutzer verschiedene Tokens bereitgestellt werden, um die digitale Identität zu verifizieren, wodurch dem Benutzer ermöglicht wird, mit dem Token verschiedene Online-Dienste zu nutzen.
  • Das Depository-Modul (30) kann die Rolle eines Servers übernehmen. Das Depository-Modul (30) verfügt nicht über persönliche Daten eines Benutzers, wie das im Folgenden erläutert wird. Das Depositiory-Modul (30) kann über Informationen verfügen, die bestimmen können, ob ein Benutzer ein registrierter anonymer Benutzer ist, gleicht aber diese Informationen nicht mit anderen Informationen ab, die den Benutzer speziell identifizieren können.
  • In Schritt (100) generiert das Benutzerterminal (10) einen geheimen Schlüssel (sk). Wenn das Verschlüsselungssystem mit öffentlichem Schlüssel verwendet wird, wird auch ein öffentlicher Schlüssel generiert.
  • Das Benutzerterminal (10) generiert in Schritt (101) einen ersten Zufallswert (Re) und speichert in Schritt (102) den geheimen Schlüssel (sk) und den ersten Zufallswert (Re).
  • Das Benutzerterminal (10) verschlüsselt den ersten Zufallswert (Re) und „0“, um in Schritt (103) jeweils einen ersten Verschlüsselungswert (Re_) und einen ersten Zero-Verschlüsselungswert (Ze_) zu generieren.
  • Das Benutzerterminal (10) sendet den ersten Verschlüsselungswert (Re_) und den ersten Zero-Verschlüsselungswert (Ze_) an das Account-Modul (20) und fordert den Beginn des Registrierungsprozesses in Schritt (104) an.
  • Das Account-Modul (20) generiert in Schritt (105) eine erste ID (A_ID) und einen zweiten Zufallswert (Ra) und speichert in Schritt (106) die beiden Werte zusammen mit dem ersten Verschlüsselungswert (Re_). Die erste ID (A_ID) kann für jeden Benutzer einmalig für ein Account-Modul bereitgestellt werden.
  • Das Account-Modul (20) generiert in Schritt (107) einen ersten Token (p_token). In Schritt (108) generiert das Account-Modul (20) einen zweiten Verschlüsselungswert (AA_ID_). Der zweite Verschlüsselungswert (AA_ID_) lässt sich durch eine erste Rechenoperation wie folgt berechnen: AA _ ID _ = f 1 ( Ra , Re _ , A _ ID , Rc , Ze _ ) = Ra * Re _ + A _ ID + Rc * Ze _ = HE ( f 1 ( Ra , Re , A _ ID , Rc , Ze _ ) = HE ( f 1 ( Ra , Re , A _ ID )
    Figure DE112019005599T5_0001
  • Der 2-1 Zufallswert (Rc) ist ein von dem Account-Modul (20) generierter Zufallswert.
  • Der entschlüsselte Wert von Ze_ ist „0“. Dadurch spielt Ze_ in der Rechenoperation überhaupt keine Rolle, doch kann die Ze_ enthaltende Gleichung einen anderen Wert durch Maskierungseffekte unbekannt machen.
  • Ein geringes Noise, das keinen Einfluss auf die Rechenoperation hat, kann in der Gleichung addiert oder subtrahiert werden, wodurch die realen Werte verdeckt werden.
  • In Schritt (109) führt das Account-Modul (20) an dem zweiten Verschlüsselungswert (AA_ID_) eine Einwegfunktionsoperation durch und berechnet dann einen ersten Hash-Wert (h_AA_ID).
  • Das Account-Modul (20) berechnet in Schritt (110) einen zweiten Hash-Wert (h_enroll). Der zweite Hash-Wert (h_enroll) wird wie folgt berechnet:
  • h _ enroll = Hash ( der erste Wert )
    Figure DE112019005599T5_0002
  • Der erste Wert wird durch einen Wert definiert, der den ersten Token (p_token) und den ersten Hash-Wert (h_AA_ID) enthält. Der erste Wert kann ferner Zeitinformationen (date_a) des Account-Moduls enthalten.
  • Das Account-Modul (20) berechnet in Schritt (111) einen ersten Gültigkeits-Verifikationswert.
  • Wenngleich vorliegend der Begriff „Gültigkeits-Verifikationswert“ oder „elektronische Signatur“ beschrieben wird, wäre auch ein alternativer Weg möglich, solange sich ermitteln lässt, ob eine Information gefälscht oder geändert wurde. Ein Gültigkeits-Verifikationswert kann einen üblichen elektronischen Signaturwert enthalten.
  • Der erste Gültigkeits-Verifikationswert wird wie folgt berechnet:
  • Sign _ 1 = Sign [ der zweite Wert ]
    Figure DE112019005599T5_0003
  • Der zweite Wert wird definiert als ein Wert, der den ersten Hash-Wert (h_AA_ID) und den zweiten Hash-Wert (h_enroll) enthält. Der zweite Wert kann ferner Zeitinformationen (date_a) des Account-Moduls enthalten.
  • Das Account-Modul (20) sendet in Schritt (112) die erste ID (A_ID), den ersten Token (p_token), den zweiten Zufallswert (Ra), den zweiten Verschlüsselungswert (AA_ID_), den zweiten Wert und den ersten Gültigkeits-Verifikationswert an das Benutzerterminal (10).
  • Das Benutzerterminal (10) speichert in Schritt (113) die erste ID (A_ID), den ersten Token (p_token) und den zweiten Zufallswert (Ra). Die gespeicherten Werte werden bei der Verifizierung einer dritten ID (R_ID) verwendet, die nachstehend beschrieben wird.
  • Das Benutzerterminal (10), das die erste ID (A_ID) von dem Account-Modul (20) empfangen hat, fordert das Repository-Modul (30) auf, eine anonyme Identität zu registrieren. Es wird angenommen, dass das Repository-Modul (30) über einen dritten Wert (Cr), einen vierten Wert (G) und einen fünften Wert (P) verfügt, welche Werte vorgegebene Konstanten sind. Der fünfte Wert (P) kann eine hohe Primzahl sein.
  • Das Benutzerterminal (10) verschlüsselt „0“, um in Schritt (114) einen Zero-Verschlüsselungswert (Ze_') zu generieren.
  • In Schritt (115) sendet das Benutzerterminal (10) biometrische Informationen, den zweiten Verschlüsselungswert (AA_ID_), den zweiten Wert, den ersten Gültigkeits-Verifikationswert und den Zero-Verschlüsselungswert (Ze'_) an das Repository-Modul (30) und fordert die Registrierung einer anonymen Identifizierung an.
  • Das Repository-Modul (30) verifiziert in Schritt (116) den ersten Gültigkeits-Verifikationswert und den ersten Hash-Wert (h_AA_ID). Die Verifizierung des ersten Hash-Werts (h_AA_ID) erfolgt, indem ermittelt wird, ob der in Schritt (115) empfangene Hash-Wert des zweiten Verschlüsselungswerts (AA_ID_) identisch ist mit dem ersten Hash-Wert (h_AA_ID), der in dem zweiten Wert enthalten ist, der in Schritt (115) empfangen wurde.
  • Das Repository-Modul (30) prüft die in Schritt (115) empfangenen biometrischen Informationen. Das heißt, das Repository-Modul (30) prüft durch den Vergleich der empfangenen biometrischen Informationen mit den registrierten biometrischen Informationen, ob es einen zuvor registrierten Benutzer gibt. Gibt es keinen zuvor registrierten Benutzer, wird der nächste Schritt durchgeführt.
  • Das Repository-Modul (30) berechnet in Schritt (118) einen dritten Verschlüsselungswert (R_ID_). Der dritte Verschlüsselungswert (R_ID_) ist ein homomorpher Verschlüsselungswert der dritten ID (R_ID) und kann durch eine zweite Rechenoperation wie folgt berechnet werden: R _ ID _ = f 2 ( AA _ ID _ , Cr ) = f 2 [ ( Ra * Re _ + A _ ID + Rc * Ze _ ) , Cr ] = f 2 [ HE ( f 1 ( Ra , Re , A _ ID ) , Cr ) = HE [ f 2 { f 1 ( Ra , Re , A _ ID ) ) Cr } ]
    Figure DE112019005599T5_0004
  • Das heißt, R_ID kann „f2{f1 (Ra, Re, A_ID)), Cr}“ sein.
  • Vorstehende Gleichung kann verwendet werden, wenn das Benutzerterminal die dritte ID verifiziert.
  • f 2 ( AA _ ID _ , Cr ) kann AA _ ID _ * Cr sein .
    Figure DE112019005599T5_0005
  • Das Repository-Modul (30) berechnet einen vierten Verschlüsselungswert (tag1_), der ein homomorpher Verschlüsselungswert eines ersten Tag-Werts (tag1) ist, durch die folgende Rechenoperation in Schritt (119):
  • tag1_ = R1*R_ID_ + R2 + R3*Ze'_
    Figure DE112019005599T5_0006
  • Die dritte Gleichung wird als eine Gleichung definiert, in der ein Wert, der durch Multiplizieren des dritten Verschlüsselungswerts (R_ID) und eines 3-1 Zufallswerts (R1) erhalten wird, der 3-2 Zufallswert (R2), und ein Wert, der durch Multiplizieren eines 3-3 Zufallswerts (R3) und des zweiten Zero-Verschlüsselungswerts (Ze'_) erhalten wird, addiert oder voneinander subtrahiert werden. Der 3-1 Zufallswert (R1) bis zu dem 3-3 Zufallswert (R3) kann durch das Repository-Modul (30) generiert werden.
  • Das Repository-Modul (30) speichert die erste Sitzung bezüglich des Registrierungsprozesses in Schritt (120). Die gespeicherten Informationen können eine erste Sitzungs-ID (rs_id), den 3-1 Zufallswert (R1), den 3-2 Zufallswert (R2), die biometrischen Informationen, den zweiten Wert und den ersten Gültigkeits-Verifikationswert enthalten.
  • Das Repository-Modul (30) sendet die erste Sitzungs-ID (rs_id), den dritten Verschlüsselungswert (R_ID_), den vierten Verschlüsselungswert (tag1_) und den dritten bis fünften Wert in Schritt (121) an das Benutzerterminal.
  • Das Benutzerterminal entschlüsselt den dritten Verschlüsselungswert (R_ID_) und den vierten Verschlüsselungswert (tag1_), um in Schritt (122) die dritte ID (R_ID) und den ersten Tag-Wert (tag1) zu erhalten.
  • Das Repository-Modul (30) kann den geheimen Schlüssel, der von dem Benutzerterminal in Schritt (100) generiert wurde, teilen. Bei der Verschlüsselung mit öffentlichem Schlüssel kann das Repository-Modul (30) eine Verschlüsselung mit dem öffentlichen Schlüssel durchführen, der von dem Benutzerterminal (10) generiert wird.
  • Das Benutzerterminal (10) verifiziert die dritte ID (R_ID) in Schritt (123). Die Verifizierung findet folgendermaßen statt:
  • R _ ID = ?f 1 ( Ra , Re , A _ ID ) * Cr = ( Ra * Re , A _ ID ) * Cr
    Figure DE112019005599T5_0007
  • Das Benutzerterminal (10) berechnet einen sechsten Wert (R_ID$) und einen siebten Wert (tag1$) in Schritt (124). Den sechsten Wert (R_ID$) erhält man, indem an dem dritten Wert ID (R_ID) eine Rechenoperation durchgeführt wird. Den siebten Wert erhält man, indem an dem ersten Tag-Wert (tag1) eine Rechenoperation durchgeführt wird.
  • Zum Beispiel erhält man den sechsten Wert und den siebten Wert folgendermaßen:
  • R_ID = G R_ID ( mod P )
    Figure DE112019005599T5_0008
  • tag1 = G tag1 ( mod P )
    Figure DE112019005599T5_0009
  • Das Benutzerterminal (10) sendet die erste Sitzungs-ID (rs_id), den sechsten Wert (R_ID$) und den siebten Wert (tag1$) in Schritt (125) an das Repository-Modul.
  • Das Repository-Modul (30) verifiziert den siebten Wert (tag1$) in Schritt (126).
  • Die Verifizierung des siebten Werts (tag1$) findet folgendermaßen statt:
  • tag1 = ? ( R_ID$ R1 * G R2 ) ( mod P )
    Figure DE112019005599T5_0010
  • Wenn die Verifizierung erfolgreich ist, wird der dritte Hash-Wert (r_id) durch Hashen des sechsten Werts (R_ID$) in Schritt (127) berechnet und in Schritt (128) zusammen mit den biometrischen Informationen gespeichert.
  • Das Repository-Modul (30) generiert in Schritt (129) einen zweiten Token (r_token). In Schritt (130) wird ein zweiter Gültigkeits-Verifikationswert berechnet, indem an einem achten Wert, der den ersten Gültigkeits-Verifikationswert enthält, eine elektronische Signatur durchgeführt wird. Der achte Wert kann Zeitinformationen (date_r) des Repository-Moduls (30) enthalten. In diesem Fall wird der achte Wert so eingestellt, dass er nur während einer vorgegebenen Zeit gültig ist.
  • Das Repository-Modul (30) sendet den dritten Hash-Wert (r_id), den zweiten Token (r_token), den zweiten Wert, den achten Wert und den zweiten Gültigkeits-Verifikationswert in Schritt (131) an das Benutzerterminal (10).
  • Das Benutzerterminal (10) vergleicht den sechsten Wert (R_ID$), der in Schritt (124) berechnet wurde, in Schritt (131) mit dem dritten Hash-Wert (r_id), um in Schritt (132) den dritten Hash-Wert (r_id) zu verifizieren.
  • Wenn die Verifizierung erfolgreich ist, speichert das Benutzerterminal (10) den dritten Hash-Wert (r_id) und den zweiten Token (r_token) in Schritt (133).
  • Das Benutzerterminal (10) fordert das Account-Modul (20) in Schritt (134) zur Registrierung des Repository-Moduls auf. Dies dient dazu, das Account-Modul (20) aufzufordern zu registrieren, dass die anonyme digitale Identität eines Benutzers im Repository-Modul registriert ist. Bei dieser Aufforderung werden die erste ID (A_ID), der erste Token (p_token), der zweite Wert, der achte Wert und der zweite Gültigkeits-Verifikationswert gesendet.
  • Das Account-Modul (20) verifiziert in Schritt (135) den ersten Token (p_token) und verifiziert in Schritt (136) den zweiten Hash-Wert (h_enroll). Die Verifizierung des ersten Tokens (p_token) erfolgt durch einen Vergleich desselben mit dem Token, der in Schritt (107) generiert wurde. Die Verifizierung des zweiten Hash-Werts (h_enroll) erfolgt durch einen Vergleich des zweiten Hash-Werts (h_enroll), der in Schritt (134) empfangen wurde, mit dem Hash-Wert des ersten Werts.
  • Das Account-Modul (20) verifiziert in Schritt (137) den ersten Gültigkeits-Verifikationswert und den zweiten Gültigkeits-Verifikationswert. Die Verifizierung des ersten Gültigkeits-Verifikationswerts findet statt, um nachzuweisen, dass es sich bei dem empfangenen zweiten Wert um normale Daten handelt, die von dem Account-Modul (20) signiert wurden. Die Verifizierung des zweiten Gültigkeits-Verifikationswerts findet statt, um nachzuweisen, dass es bei dem achten Wert um normale Daten handelt, die von dem Repository-Modul (30) signiert wurden.
  • Wenn die Verifizierungen erfolgreich sind, registriert das Account-Modul (20), dass die anonyme digitale Identität des Benutzers in dem Repository-Modul (30) registriert ist und sendet das Registrierungsfaktum an das Benutzerterminal (10). Die erste ID (A_ID) ist der Registrierung zugeordnet. Die erste ID (A_ID) wird nur von dem Benutzerterminal und dem Account-Modul (20) geteilt, während das Repository-Modul (30) nicht über die ID verfügt, wodurch die Sicherheitsstufe erhöht wird.
  • 5 bis 8 zeigen Flussdiagramme des Verfahrens zur Vor-Authentifizierung von einer Online-Meinungsäußerung.
  • Vor Durchführung der Schritte der 5 bis 8 kann ein Benutzer eine Identitäts-Verifizierung vornehmen. Zum Beispiel führt der Benutzer vor den Schritten der 5 bis 8 eine Fingerabdruck-Authentifizierung oder eine Iris-Authentifizierung durch.
  • Das Benutzerterminal (10) berechnet den ersten Zero-Verschlüsselungswert (Ze_), indem es in Schritt (200) „0“ verschlüsselt. Das Benutzerterminal (10) fordert das Account-Modul (20) in Schritt (201) auf, mit dem Authentifizierungsprozess zu beginnen. In Schritt (201) werden die erste ID (A_ID), der erste Token (p_token) und der erste Zero-Verschlüsselungswert (Ze_) an das Account-Modul (20) gesendet.
  • In Schritt (202) verifiziert das Account-Modul (20) den ersten Token (p_token) durch einen Vergleich des in Schritt (201) empfangenen ersten Token mit dem in Schritt (107) generierten Token. Das Account-Modul (20) prüft, ob die empfangene erste ID (A_ID) existiert, und generiert in Schritt (203) eine Authentifizierungssitzungs-ID (eine zweite Sitzungs-ID; as_id), wenn die erste ID existiert.
  • Das Account-Modul (20) generiert den zweiten Verschlüsselungswert (AA_ID_) in Schritt (204) und generiert den ersten Hash-Wert (h_AA_ID).
  • Der zweite Verschlüsselungswert kann durch dieselbe Gleichung in Schritt (108) berechnet werden, und die Berechnung des ersten Hash-Werts kann in derselben Weise in Schritt (109) erfolgen.
  • Das Account-Modul (20) generiert einen vierten Hash-Wert (h_auth) wie folgt:
  • h_auth = Hash ( as_id ,h_AA_ID )
    Figure DE112019005599T5_0011
  • Der zu hashende Wert kann Zeitinformationen des Account-Moduls enthalten.
  • Das Account-Modul (20) berechnet einen dritten Gültigkeits-Verifikationswert, indem es in Schritt (207) an einem neunten Wert, der den ersten Hash-Wert (h_AA_ID) und den vierten Hash-Wert (h_auth) enthält, eine elektronische Signatur durchführt.
  • Der neunte Wert kann Zeitinformationen des Account-Moduls enthalten.
  • Das Account-Modul sendet die zweite Sitzungs-ID (as_id), den zweiten Verschlüsselungswert (AA_ID), den neunten Wert und den dritten Gültigkeits-Verifikationswert in Schritt (208) an das Benutzerterminal (10).
  • Das Benutzerterminal (10) speichert die zweite Sitzungs-ID (as_id) in Schritt (209) und berechnet den zweiten Zero-Verschlüsselungswert (Ze'_) durch eine Verschlüsselung von „0“ in Schritt (210).
  • Das Benutzerterminal (10) fordert das Repository-Modul (30) auf, in Schritt (211) den dritten Hash-Wert (r_id) zu verifizieren. In Schritt (211) werden der dritte Hash-Wert (r_id), der zweite Token (r_token), der zweite Verschlüsselungswert (AA_ID), der neunte Wert, der dritte Gültigkeits-Verifikationswert und der zweite Zero-Verschlüsselungswert (Ze'_) gesendet.
  • Das Repository-Modul (30) führt die Verifizierung durch, indem es in Schritt (212) ermittelt, ob der dritte Hash-Wert (r_id) mit dem zweiten Token (r_token) übereinstimmt.
  • Das Repository-Modul (30) verifiziert den dritten Gültigkeits-Verifikationswert und den ersten Hash-Wert (h_AA_ID), der in dem neunten Wert enthalten ist, in Schritt (213).
  • Das Repository-Modul (30) berechnet einen dritten Verschlüsselungswert (R_ID_) in Schritt (214) und generiert den vierten Verschlüsselungswert (tag1_) in Schritt (215). Die Prozesse sind dieselben wie in Schritt (118, 119).
  • Das Repository-Modul (30) speichert in Schritt (216) die erste Sitzungs-ID (rs_id), den dritten Hash-Wert (r_id), den 3-1 Zufallswert (R1), den 3-2 Zufallswert (R2), den neunten Wert und den dritten Gültigkeits-Verifikationswert.
  • Das Repository-Modul (130) sendet in Schritt (217) die erste Sitzungs-ID (rs_id), den dritten Verschlüsselungswert (R_ID_), den vierten Verschlüsselungswert (tag1_) und den dritten bis fünften Wert (Cr, G, P) an das Benutzerterminal (120).
  • Die Schritte (218) bis (222) entsprechend jeweils den Schritten (122) bis (126).
  • In Schritt (223) verifiziert das Repository-Modul (30) den dritten Hash-Wert (r_id) durch einen Vergleich eines Werts, der durch Hashen des in Schritt (223) empfangenen sechsten Werts (R_ID$) erhalten wurde, mit dem dritten Hash-Wert (r_id).
  • Das Repository-Modul (30) berechnet den vierten Gültigkeits-Verifikationswert, indem es in Schritt (224) eine elektronische Signatur an einem zehnten Wert durchführt, der den dritten Gültigkeits-Verifikationswert enthält. Der zehnte Wert kann Zeitinformationen des Repository-Moduls enthalten.
  • Das Repository-Modul (30) sendet den neunten Wert, den zehnten Wert und den vierten Gültigkeits-Verifikationswert in Schritt (225) an das Benutzerterminal (10).
  • Das Benutzerterminal (10) fordert in Schritt (226) eine Authentifizierung an dem Account-Modul (20) an. Bei der Anforderung werden die erste ID (A_ID), die zweite Sitzungs-ID (as_id), der neunte Wert, der zehnte Wert und der vierte Gültigkeits-Verifikationswert an das Account-Modul gesendet.
  • Das Account-Modul (20) verifiziert in Schritt (227) die zweite Sitzungs-ID (as_id) und den vierten Hash-Wert (h_auth). In Schritt (228) werden der dritte Gültigkeits-Verifikationswert, der in dem zehnten Wert enthalten ist, und der vierte Gültigkeits-Verifikationswert verifiziert. Wenn die Verifizierung erfolgreich ist, wird in Schritt (229) ein dritter Token generiert und an das Benutzerterminal gesendet, um die Vor-Authentifizierung abzuschließen.
  • 9 bis 12 zeigen Flussdiagramme zur Erkennung der Online-Meinungsäußerung.
  • Das Verfahren zur Erkennung der Meinungsäußerung gemäß vorliegender Erfindung kann in der Umgebung durchgeführt werden, die das Benutzerterminal (10), das Account-Modul (20), einen Node (40) und einen Authentifizierungsserver (50) enthält. Der Node (40) lädt die Online-Meinungsäußerung in eine Blockchain hoch. Der Node (40) verfügt über den vierten Wert (G), den fünften Wert (P) und einen elften Wert (Cv).
  • In Schritt (300) versorgt ein Benutzer den Node (40) über das Benutzerterminal (10) mit der Subjekt-Identifikationsinformation (v_id), die das Subjekt bzw. Thema spezifiziert, zu welchem der(die) Benutzer(in) seine(ihre) Meinung zu äußern beabsichtigt. Der Node (40) sendet den vierten Wert (G), den fünften Wert (P) und den elften Wert (Cv) an das Benutzerterminal (10).
  • Das Benutzerterminal (10) berechnet in Schritt (302) den fünften Hash-Wert (bs). Der fünfte Hash-Wert (bs) kann wie folgt berechnet werden:
  • BS = f4 ( Ra ,Re ,A_ID ,Cv ) = ( Ra*Re ,A_ID ) * Cv
    Figure DE112019005599T5_0012
  • BS ist die Benutzer-Identifikationsinformation für die Meinungsäußerung des Benutzers.
  • BS$ = G BS ( mod P )
    Figure DE112019005599T5_0013
  • BS$ wird als zwölfter Wert definiert, welcher ein Wert ist, der erhalten wird, indem an der Benutzer-Identifikationsinformation eine vorgegebene Rechenoperation durchgeführt wird.
  • bs = Hash ( BS )
    Figure DE112019005599T5_0014
  • Der Benutzer gibt in Schritt (303) den Meinungswert (die Abstimmung) in das Benutzerterminal ein.
  • Das Benutzerterminal (10) berechnet in Schritt (304) einen fünften Verschlüsselungswert wie folgt:
  • Der fünfte Verschlüsselungswert = Enc(hash(v_id, bs, voting))
  • Der dreizehnte Wert wird als ein Wert definiert, der die Subjekt-Identifikationsinformation (v_id), den fünften Hash-Wert (bs) und den Meinungswert (die Abstimmung) enthält. Der sechste Hash-Wert wird als ein Wert definiert, den man erhält, indem ein Hash auf den dreizehnten Wert durchgeführt wird. Der fünfte Verschlüsselungswert ist ein Wert, den man durch Verschlüsseln des sechsten Hash-Werts erhält.
  • Das Benutzerterminal (10) berechnet den ersten Zero-Verschlüsselungswert (Ze_) durch Verschlüsselung von „0“ in Schritt (305).
  • Das Benutzerterminal (10) fordert in Schritt (306) die zweite ID (AA_ID) und die blinde Signatur an dem Account-Modul (20) an. In dem Schritt werden die erste ID (A_D), der dritte Token, der erste Zero-Verschlüsselungswert (Ze_) und der fünfte Verschlüsselungswert an das Account-Modul (20) gesendet.
  • Das Account-Modul (20) verifiziert die erste ID (A_ID) in Schritt (307) und berechnet den zweiten Verschlüsselungswert (AA_ID_) in Schritt (308). Der zweite Verschlüsselungswert (AA_ID_) kann in derselben Weise wie in Schritt (108) und Schritt (204) berechnet werden.
  • Das Account-Modul (20) führt einen Hash auf den zweiten Verschlüsselungswert (AA_ID) durch, um in Schritt (309) den ersten Hash-Wert (h_AA_ID) zu erhalten.
  • Das Account-Modul (20) führt in Schritt (310) eine blinde Signatur an dem fünften Verschlüsselungswert durch. Das Account-Modul (20) führt eine elektronische Signatur an dem vierzehnten Wert durch, der den ersten Hash-Wert (h_AA_ID) enthält, um in Schritt (311) einen fünften Gültigkeits-Verifikationswert zu erhalten. Der vierzehnte Wert kann Zeitinformationen (date_a) des Account-Moduls enthalten.
  • Das Account-Modul (20) sendet den zweiten Verschlüsselungswert (AA_ID_), den blinden Signaturwert, den vierzehnten Wert und den fünften Gültigkeits-Verifikationswert in Schritt (312) an das Benutzerterminal.
  • Das Benutzerterminal (10) bezieht einen sechsten Gültigkeits-Verifikationswert aus dem blinden Signaturwert und speichert den sechsten Gültigkeits-Verifikationswert. Der sechste Gültigkeits-Verifikationswert kann der elektronische Signaturwert des dreizehnten Werts sein.
  • Das Benutzerterminal (10) verschlüsselt „0“, um in Schritt (314) den zweiten Zero-Verschlüsselungswert (Ze'_) zu erhalten.
  • Das Benutzerterminal (10) fordert in Schritt (315) die Benutzer-Identifikationsinformation (BS) an dem Node (40) an. In dem Schritt werden die Subjekt-Identifikationsinformation (v_id), der zweite Verschlüsselungswert (AA_ID_), der zweite Zero-Verschlüsselungswert (Ze'_), der vierzehnte Wert und der fünfte Gültigkeits-Verifikationswert an den Node (40) gesendet.
  • Der Node (40) verifiziert den fünften Gültigkeits-Verifikationswert und den ersten Hash-Wert (h_AA_ID) in Schritt (316). Der Node (40) berechnet den sechsten Verschlüsselungswert (BS_) in Schritt (317). Der sechste Verschlüsselungswert (BS_), der ein homomorpher Verschlüsselungswert der Benutzer-Identifikationsinformation (BS) ist, wird erhalten, indem der zweite Verschlüsselungswert (AA_ID_) und der elfte Wert (Cv) multipliziert werden.
  • Der Node (40) fordert in Schritt (318) den zweiten Tag-Wert (tag2) an dem Authentifizierungsserver (50) an. In dem Schritt werden der sechste Verschlüsselungswert (BS_) und der zweite Zero-Verschlüsselungswert (Ze'_) gesendet.
  • Der Authentifizierungsserver (50) berechnet in Schritt (319) einen siebten Verschlüsselungswert (tag_2) wie folgt:
  • tag2_ = R1*BS_ + R2 + R3*Ze'_
    Figure DE112019005599T5_0015
  • Vorstehende Gleichung unterscheidet sich von der Gleichung zur Berechnung des vierten Verschlüsselungswert dadurch, dass der sechste Verschlüsselungswert (BS_) mit dem 3-1 Zufallswert (R1) multipliziert wird.
  • Der Authentifizierungsserver (50) speichert die dritte Sitzungs-ID bezüglich des Erkennungsprozesses der Meinungsäußerung in Schritt (320). Die gespeicherten Informationen können die dritte Sitzungs-ID (vs_id), den 3-1 Zufallswert (R1) und den 3-2 Zufallswert (R2) enthalten.
  • Der Authentifizierungsserver (50) sendet den siebten Hash-Wert, der durch Hashen des 3-1 Zufallswerts (R1) und des 3-2 Zufallswerts (R2) erhalten wird, die dritte Sitzungs-ID (vs_id) und den siebten Verschlüsselungswert (tag2) in Schritt (321) an den Node (40).
  • Der Node (40) sendet die dritte Sitzungs-ID (vs_id), den sechsten Verschlüsselungswert (BS_), den siebten Verschlüsselungswert (tag2_) und den siebten Hash-Wert in Schritt (322) an das Benutzerterminal (10).
  • Das Benutzerterminal (10) entschlüsselt den sechsten Verschlüsselungswert (BS_) und den siebten Verschlüsselungswert (tag2_), um in Schritt (323) die Benutzer-Identifikationsinformation (BS) und den zweiten Tag-Wert (tag2) zu erhalten.
  • Das Benutzerterminal (10) verifiziert die Benutzer-Identifikationsinformation (BS) in Schritt (324). Die Verifizierung erfolgt durch einen Vergleich der Benutzer-Identifikationsinformation (BS), die in Schritt (323) empfangen wurde, mit dem in Schritt (302) berechneten Wert.
  • Das Benutzerterminal (10) berechnet in Schritt (325) den fünfzehnten Wert und den sechzehnten Wert.
  • Der fünfzehnte Wert ist ein Wert (BS$), den man erhält, indem an der Benutzer-Identifikationsinformation (BS) eine vorgegebene Rechenoperation durchgeführt wird. Der sechzehnte Wert ist ein Wert (tag2$), den man erhält, indem an dem zweiten Tag-Wert (tag2) eine vorgegebene Rechenoperation durchgeführt wird. BS$ und tag2$ können wie folgt berechnet werden:
  • BS = G BS ( mod P )
    Figure DE112019005599T5_0016
  • tag2 G tag2 ( mod P )
    Figure DE112019005599T5_0017
  • Das Benutzerterminal (10) sendet die dritte Sitzungs-ID (vs_id), den fünfzehnten Wert (BS$), den sechzehnten Wert (tag2$), den siebten Hash-Wert, die Subjekt-Identifikationsinformation (v_id), den fünften Hash-Wert (bs), den Meinungswert und den sechsten Gültigkeits-Verifikationswert in Schritt (326) an den Node (40).
  • Der Node (40) fordert den Authentifizierungsserver (50) auf, den fünfzehnten Wert (BS$) und den sechzehnten Wert (tag$2) in Schritt (327) zu verifizieren. Bei der Aufforderung werden die dritte Sitzungs-ID (vs_id), der fünfzehnte Wert (BS$), der sechzehnte Wert (tag2$), der vierte Wert (G) und der fünfte Wert (P) an den Authentifizierungsserver (50) gesendet.
  • Der Authentifizierungsserver (50) verifiziert den sechsten Wert (tag2$) wie folgt:
  • tag2 = ? ( BS$ R1 *G R2 ) ( mod P )
    Figure DE112019005599T5_0018
  • Wenn die Verifizierung erfolgreich ist, sendet der Authentifizierungsserver (50) den 3-1 Zufallswert (R1) und den 3-2 Zufallswert (R2) an den Node (40). In Schritt (330) verifiziert der Node (40) den 3-1 Zufallswert (R1) und den 3-2 Zufallswert (R2) durch einen Vergleich des siebten Hash-Werts, der in Schritt (321) empfangen wurde, mit einem Wert, den man durch Hashen des empfangenen 3-1 Zufallswerts (R1) und des empfangenen 3-2 Zufallswerts (R2) erhält.
  • Der Node (40) verifiziert den sechzehnten Tag-Wert (tag2$) in Schritt (331) wie folgt:
  • tag2 = ?BS R1 * G R2 ( mod P )
    Figure DE112019005599T5_0019
  • In Schritt (332) vergleicht der Node (40) den in Schritt (326) empfangenen fünften Hash-Wert (bs) mit dem durch Hashen des fünfzehnten Werts (BS$) erhaltenen Werts, um den fünften Hash-Wert zu verifizieren.
  • In Schritt (333) verifiziert der Node (40) den sechsten Gültigkeits-Verifikationswert, der in Schritt (326) empfangen wurde. Wenn jede Verifizierung erfolgreich ist, zeichnet der Node (40) in Schritt (334) den Abstimmungswert in Verknüpfung mit v_id, bs und dem sechsten Gültigkeits-Verifikationswert in der Blockchain auf und sendet das Faktum an das Benutzerterminal.
  • Gemäß vorliegender Erfindung wird die Sicherheitsstufe verbessert, indem der Node, der das Abstimmungsergebnis in die Blockchain hochlädt, von dem Authentifizierungsserver getrennt wird. Ferner kann eine blinde Signatur verhindern, dass das Abstimmungsergebnis offengelegt wird. Ferner nutzt das erfindungsgemäße Verfahren einen Zero-Verschlüsselungswert, um den anderen Verschlüsselungswert zu verbergen, wodurch die Sicherheitsstufe erhöht wird. Darüber hinaus führt der Authentifizierungsserver vier grundlegende Rechenoperationen durch, ohne eine Hash-Operation durchzuführen. Dies verringert die Last des Authentifizierungsservers.
  • Wenngleich vorliegende Erfindung unter Bezugnahme auf die anliegenden Zeichnungen beschrieben wurde, wird der Schutzbereich der Erfindung durch die anliegenden Ansprüche definiert. Die beschriebenen Ausführungsformen und/oder Zeichnungen stellen keine Einschränkung der Erfindung dar. Es versteht sich, dass sich dem Fachmann erschließende Verbesserungen, Änderungen und Modifikationen der vorliegenden Erfindung, die in den anliegenden Ansprüchen definiert ist, ebenfalls in den Schutzbereich der vorliegenden Erfindung fallen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 1833323 [0006]

Claims (21)

  1. Computer-implementiertes Verfahren zur Registrierung einer anonymen digitalen Identität eines Benutzers in einem Repository-Modul, wobei das Verfahren in einer Umgebung durchgeführt wird, die ein Benutzerterminal, ein Account-Modul und das Repository-Modul enthält, wobei das Verfahren umfasst: einen ersten Schritt, in welchem das Account-Modul von dem Benutzerterminal eine Aufforderung zur Registrierung des Account-Moduls zusammen mit einem ersten Verschlüsselungswert (Re_) empfängt, der ein homomorpher Verschlüsselungswert eines ersten Zufallswerts (Re) ist; einen zweiten Schritt, in welchem das Account-Modul eine erste ID (A_ID) und einen zweiten Zufallswert (Ra) generiert; einen dritten Schritt, in welchem das Account-Modul einen ersten Token (p_token) generiert; einen vierten Schritt, in welchem das Account-Modul eine erste Rechenoperation an der ersten ID (A_ID), dem ersten Verschlüsselungswert (Re_), dem zweiten Zufallswert (Ra) und einem ersten Zero-Verschlüsselungswert durchführt, um einen zweiten Verschlüsselungswert (AA_ID_) zu generieren, der ein Verschlüsselungswert einer zweiten ID (AA_ID) ist; einen fünften Schritt, in welchem das Account-Modul einen Hash auf den zweiten Verschlüsselungswert (AA_ID_) ausführt, um einen ersten Hash-Wert (h_AA_ID) zu generieren; einen sechsten Schritt, in welchem das Account-Modul einen Hash auf einen ersten Wert durchführt, der den ersten Token (p_token) und den ersten Hash-Wert (h_AA_ID) enthält, um einen zweiten Hash-Wert (h_enroll) zu generieren; einen siebten Schritt, in welchem das Account-Modul eine elektronische Signatur an einem zweiten Wert durchführt, der den ersten Hash-Wert (h_AA_ID) und den zweiten Hash-Wert (h_enroll) enthält, um einen ersten Gültigkeits-Verifikationswert zu generieren; einen achten Schritt, in welchem das Account-Modul die erste ID (A_ID), den ersten Token (p-token), den zweiten Zufallswert (Ra), den zweiten Verschlüsselungswert (AA_ID_), den zweiten Wert und den ersten Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen neunten Schritt, in welchem das Repository-Modul von dem Benutzerterminal eine biometrische Information, den zweiten Verschlüsselungswert (AA_ID_), den zweiten Wert, den ersten Gültigkeits-Verifikationswert und den zweiten Zero-Verschlüsselungswert (Ze'_) empfängt; einen zehnten Schritt, in welchem das Repository-Modul an dem zweiten Verschlüsselungswert (AA_ID_) und an einem dritten Wert (Cr) eine Rechenoperation durchführt, um einen dritten Verschlüsselungswert zu generieren, der ein homomorpher Verschlüsselungswert einer dritten ID (R_ID) ist; einen elften Schritt, in welchem das Repository-Modul eine dritte Rechenoperation durchführt, um einen vierten Verschlüsselungswert (tag1_) zu erhalten, der ein homomorpher Verschlüsselungswert eines ersten Tag-Werts ist, wobei die dritte Rechenoperation eine Operation ist, bei welcher ein Wert, der durch Multiplizieren des dritten Verschlüsselungswerts (R_ID) und eines 3-1 Zufallswerts (R1) erhalten wird, ein 3-2 Zufallswert (R2) und ein Wert, der durch Multiplizieren eines 3-3 Zufallswerts (R3) und des zweiten Zero-Verschlüsselungswerts (Ze'_) erhalten wird, voneinander subtrahiert oder miteinander addiert werden; einen zwölften Schritt, in welchem das Repository-Modul die biometrischen Informationen, den 3-1 Zufallswert (R1), den 3-2 Zufallswert (R2), die erste Sitzungs-ID (rs_id), den zweiten Wert und den ersten Gültigkeits-Verifikationswert speichert; einen dreizehnten Schritt, in welchem das Repository-Modul die erste Sitzungs-ID (rs_id), einen dritten Wert (Cr), einen vierten Wert (G), einen fünften Wert (P), den dritten Verschlüsselungswert (R_ID) und den vierten Verschlüsselungswert (tag_) an das Benutzerterminal sendet; einen vierzehnten Schritt, in welchem das Repository-Modul von dem Benutzerterminal die erste Sitzungs-ID (rs_id), einen sechsten Wert (R_ID$), den man erhält, indem an der dritten ID (R_ID) eine Rechenoperation durchgeführt wird, und einen siebten Wert (tag1$), den man erhält, indem an dem ersten Tag-Wert eine Rechenoperation durchgeführt wird, empfängt; einen fünfzehnten Schritt, in welchem das Repository-Modul den siebten Wert verifiziert; einen sechzehnten Schritt, in welchem das Repository-Modul einen Hash auf den sechsten Wert durchführt, um einen dritten Hash-Wert (r_id) zu generieren; einen siebzehnten Schritt, in welchem das Repository-Modul den dritten Hash-Wert (r_id) und die biometrischen Daten speichert; einen achtzehnten Schritt, in welchem das Repository-Modul einen zweiten Token generiert; einen neunzehnten Schritt, in welchem das Repository-Modul an einem achten Wert, der den ersten Gültigkeits-Verifikationswert enthält, eine elektronische Signatur durchführt, um einen zweiten Gültigkeits-Verifikationswert zu generieren; einen zwanzigsten Schritt, in welchem das Repository-Modul den dritten Hash-Wert, den zweiten Token (r_token), den zweiten Wert, den achten Wert und den zweiten Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen einundzwanzigsten Schritt, in welchem das Account-Modul von dem Benutzerterminal eine Aufforderung zur Registrierung des Repository-Moduls zusammen mit der ersten ID (A_ID), dem ersten Token (p_token), dem zweiten Wert, dem achten Wert und dem zweiten Gültigkeits-Verifikationswert empfängt; und einen zweiundzwanzigsten Schritt, in welchem das Account-Modul den ersten Token (p_token), den zweiten Hash-Wert (h_enroll), den ersten Gültigkeits-Verifikationswert und den zweiten Gültigkeits-Verifikationswert verifiziert, um die Registrierung abzuschließen.
  2. Computer-implementiertes Verfahren nach Anspruch 1, wobei der erste Wert und der zweite Wert ferner Zeitinformationen (data_a) des Account-Moduls enthalten.
  3. Computer-implementiertes Verfahren nach Anspruch 1, wobei der achte Wert ferner Zeitinformationen (data_r) des Repository-Moduls enthält.
  4. Computer-implementiertes Verfahren nach Anspruch 1, wobei die erste Rechenoperation „der erste Verschlüsselungswert (Re_)*der zweite Zufallswert (Ra) + die erste ID (A_ID) + ein 2-1 Zufallswert (Rc)*der erste Zero-Verschlüsselungswert (Ze_) + Noise“ ist.
  5. Computer-implementiertes Verfahren nach Anspruch 1, wobei die zweite Rechenoperation „der zweite Verschlüsselungswert (AA_ID_)*der dritte Wert (Cr)“ ist.
  6. Computer-implementiertes Verfahren nach Anspruch 5, wobei die dritte Rechenoperation „der 3-1 Zufallswert (R1)*der dritte Verschlüsselungswert (R_ID_) + der 3-2 Zufallswert (R2) + der 3-3 Zufallswert (R3)*der zweite Zero-Verschlüsselungswert (Ze'_)“ ist.
  7. Computer-implementiertes Verfahren nach Anspruch 6, wobei der sechste Wert GR_ID (mod P) ist; der siebte Wert Gtag1 (mod P) ist; und der fünfzehnte Schritt durchgeführt wird durch einen Vergleich des siebten Werts mit R_ID$R1*GR2 (mod P).
  8. Computer-implementiertes Verfahren zur Authentifizierung des Benutzers, welches durchgeführt wird, nachdem die anonyme digitale Identität gemäß dem Verfahren nach einem der Ansprüche 1 bis 7 registriert wurde, wobei das Verfahren umfasst: einen Schritt 1-1, in welchem das Account-Modul von dem Benutzerterminal die erste ID (A_ID), den ersten Token (p_token) und den ersten Zero-Verschlüsselungswert (Ze_) empfängt; einen Schritt 1-2, in welchem das Account-Modul eine zweite Sitzungs-ID (as_id) für die Authentifizierung generiert; einen Schritt 1-3, in welchem das Account-Modul an der ersten ID (A_ID), dem ersten Verschlüsselungswert (Re_), dem zweiten Zufallswert (Ra) und dem ersten Zero-Verschlüsselungswert eine erste Rechenoperation durchführt, um einen zweiten Verschlüsselungswert (AA_ID_) zu generieren, welcher ein Verschlüsselungswert der zweiten ID (AA_ID) ist; einen Schritt 1-4, in welchem das Account-Modul einen Hash auf den zweiten Verschlüsselungswert (AA_ID_) durchführt, um einen ersten Hash-Wert (h_AA_ID) zu generieren; einen Schritt 1-5, in welchem das Account-Modul einen Hash auf einen Wert durchführt, der die zweite Sitzungs-ID (as_id) und den ersten Hash-Wert (h_AA_ID) enthält, um einen vierten Hash-Wert (h_auth) zu generieren; einen Schritt 1-6, in welchem das Account-Modul an einem neunten Wert, der den ersten Hash-Wert (h_AA_ID) und den vierten Hash-Wert (h_auth) enthält, eine elektronische Signatur durchführt, um einen dritten Gültigkeits-Verifikationswert zu generieren; einen Schritt 1-7, in welchem das Account-Modul die zweite Sitzungs-ID (as_id), den zweiten Verschlüsselungswert (AA_ID_), den neunten Wert und den dritten Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen Schritt 1-8, in welchem das Repository-Modul von dem Benutzerterminal eine Aufforderung zur Verifizierung des dritten Hash-Werts zusammen mit dem dritten Hash-Wert (r_id), dem zweiten Token (r_token), dem zweiten Verschlüsselungswert (AA_ID_), dem neunten Wert, dem dritten Gültigkeits-Verifikationswert und dem zweiten Zero-Verschlüsselungswert (Ze'_) empfängt; einen Schritt 1-9, in welchem das Repository-Modul an dem zweiten Verschlüsselungswert (AA_ID_) und dem dritten Wert (Cr) eine Rechenoperation durchführt, um einen dritten Verschlüsselungswert zu generieren, welcher ein homomorpher Verschlüsselungswert der dritten ID (R_ID) ist; einen Schritt 1-10, in welchem das Repository-Modul die dritte Rechenoperation durchführt, um einen vierten Verschlüsselungswert (tag_) zu generieren, der ein homomorpher Verschlüsselungswert des ersten Tag-Werts ist, wobei die dritte Rechenoperation eine Operation ist, bei welcher ein Wert, der durch Multiplizieren des dritten Verschlüsselungswerts (R_ID_) und eines 3-1 Zufallswerts (R1) erhalten wird, ein 3-2 Zufallswert (R2) und ein Wert, der durch Multiplizieren eines 3-3 Zufallswerts (R3) und des zweiten Zero-Verschlüsselungswerts (Ze'_) erhalten wird, voneinander subtrahiert oder miteinander addiert werden; einen Schritt 1-11, in welchem das Repository-Modul die erste Sitzungs-ID (rs_id), den dritten Wert (Cr), den vierten Wert (G), den fünften Wert (P), den dritten Verschlüsselungswert (R_ID_) und den vierten Verschlüsselungswert (tag_) an das Benutzerterminal sendet; einen Schritt 1-12, in welchem das Repository-Modul von dem Benutzerterminal die erste Sitzungs-ID (rs_id), einen sechsten Wert (R_ID$), den man erhält, indem an der dritten ID (R_ID) eine Rechenoperation durchgeführt wird, und einen siebten Wert (tag1$), den man erhält, indem an dem ersten Tag-Wert eine Rechenoperation durchgeführt wird, empfängt; einen Schritt 1-13, in welchem das Repository-Modul den siebten Wert verifiziert; einen Schritt 1-14, in welchem das Repository-Modul an einem zehnten Wert, der den dritten Gültigkeits-Verifikationswert enthält, eine elektronische Signatur durchführt, um einen vierten Gültigkeits-Verifikationswert zu generieren; einen Schritt 1-15, in welchem das Repository-Modul den neunten Wert, den zehnten Wert und den vierten Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen Schritt 1-14, in dem welchem das Account-Modul von dem Benutzerterminal die erste ID (A_ID), die zweite Sitzungs-ID (as_id), den neunten Wert, den zehnten Wert und den vierten Gültigkeits-Verifikationswert empfängt; und einen Schritt 1-15, in welchem das Account-Modul einen dritten Token an das Benutzerterminal sendet, wenn die Verifizierung der ersten ID (A_ID), des vierten Hash-Werts (h_auth), des dritten Gültigkeits-Verifikationswerts und des vierten Gültigkeits-Verifikationswerts erfolgreich ist.
  9. Computer-implementiertes Verfahren nach Anspruch 8, wobei der in Schritt 1-5 zu hashende Wert ferner Zeitinformationen (date_a) des Account-Moduls enthält; und wobei der neunte Werte ferner Zeitinformationen (data_a) des Account-Moduls enthält.
  10. Computer-implementiertes Verfahren nach Anspruch 8, wobei der zehnte Wert ferner Zeitinformationen (data_r) des Repository-Moduls enthält.
  11. Computer-implementiertes Verfahren nach Anspruch 8, wobei die erste Rechenoperation „der erste Zufallswert (Re)*der zweite Zufallswert (Ra) + die erste ID (A_ID) + ein 2-1 Zufallswert (Rc)*der erste Zero-Verschlüsselungswert (Ze_) + Noise“ ist.
  12. Computer-implementiertes Verfahren nach Anspruch 8, wobei die zweite Rechenoperation „der zweite Verschlüsselungswert (AA_ID_)*der dritte Wert (Cr)“ ist.
  13. Computer-implementiertes Verfahren nach Anspruch 12, wobei die dritte Rechenoperation „der 3-1 Zufallswert (R1)*der dritte Verschlüsselungswert (R_ID_) + der 3-2 Zufallswert (R2) + der 3-3 Zufallswert (R3)*der zweite Zero-Verschlüsselungswert (Ze'_)“ ist.
  14. Computer-implementiertes Verfahren nach Anspruch 13, wobei der sechste Wert GR_ID (mod P) ist; der siebte Wert Gtag1 (mod P) ist; und der fünfzehnte Schritt durchgeführt wird, indem der siebte Wert mit R_ID$R1*GR2 (mod P) verglichen wird.
  15. Computer-implementiertes Verfahren zur Erkennung einer Online-Meinungsäußerung, wobei das Verfahren nach der Authentifizierung gemäß dem Verfahren nach Anspruch 8 durchgeführt wird in einer Umgebung, die ein Benutzerterminal, ein Account-Modul, ein Repository-Modul und ein Node-Modul einer Blockchain enthält, wobei das Verfahren umfasst: einen Schritt 2-1, in welchem das Node-Modul von dem Benutzerterminal eine Subjekt-Identifikationsinformation (v_id) empfängt; einen Schritt 2-2, in welchem das Node-Modul den vierten Wert (G), den fünften Wert (P) und den elften Wert (Cv) an das Benutzerterminal sendet; einen Schritt 2-3, in welchem das Benutzerterminal an dem ersten Zufallswert (Re), dem zweiten Zufallswert (Ra), der ersten ID (A_ID) und dem elften Wert (Cv) eine Rechenoperation durchführt, um eine Benutzer-Identifikationsinformation zu generieren; einen Schritt 2-4, in welchem das Benutzerterminal an der Benutzer-Identifikationsinformation (BS) eine Rechenoperation durchführt, um einen zwölften Wert (BS$) zu generieren; einen Schritt 2-5, in welchem das Benutzerterminal einen Hash auf den zwölften Wert durchführt, um einen fünften Hash-Wert (bs) zu generieren; einen Schritt 2-6, in welchem das Benutzerterminal einen Meinungswert (eine Abstimmung) von dem Benutzer empfängt; einen Schritt 2-7, in welchem das Benutzerterminal einen sechsten Hashwert verschlüsselt, der ein Hash-Wert eines dreizehnten Werts ist, der die Subjekt-Identifikationsinformation (v_id), den fünften Hash-Wert und den Meinungswert (die Abstimmung) enthält, um einen fünften Verschlüsselungswert zu generieren; einen Schritt 2-8, in welchem das Benutzerterminal einen ersten Zero-Verschlüsselungswert (Ze_) generiert; einen Schritt 2-9, in welchem das Account-Modul von dem Benutzerterminal eine Anforderung der zweiten ID (AA_ID) und blinden Signatur zusammen mit der ersten ID (A_ID), dem dritten Token, dem ersten Zero-Verschlüsselungswert (Ze_) und dem fünften Verschlüsselungswert empfängt; einen Schritt 2-10, in welchem das Account-Modul einen Hash auf den zweiten Verschlüsselungswert (AA_ID_) durchführt, um einen ersten Hash-Wert (h_AA_ID) zu generieren; einen Schritt 2-11, in welchem das Account-Modul an dem fünften Verschlüsselungswert eine blinde Signatur durchführt; einen Schritt 2-12, in welchem das Account-Modul an einem vierzehnten Wert, der den ersten Hash-Wert (h_AA_ID) enthält, eine elektronische Signatur durchführt, um einen fünften Gültigkeits-Verifikationswert zu generieren; einen Schritt 2-13, in welchem das Account-Modul den zweiten Verschlüsselungswert (AA_ID_), den blinden Signaturwert, den vierzehnten Wert und den fünften Gültigkeits-Verifikationswert an das Benutzerterminal sendet; einen Schritt 2- 14, in welchem das Benutzerterminal aus dem blinden Signaturwert einen sechsten Gültigkeits-Verifikationswert bezieht, der ein Gültigkeits-Verifikationswert des dreizehnten Werts ist; einen Schritt 2-15, in welchem das Benutzerterminal einen zweiten Zero-Verschlüsselungswert (Ze'_) generiert; einen Schritt 2-16, in welchem das Node-Module von dem Benutzerterminal eine Anforderung der Benutzer-Identifikationsinformation (BS) zusammen mit der Subjekt-Identifikationsinformation (v_id), dem zweiten Verschlüsselungswert (AA_ID_), dem zweiten Zero-Verschlüsselungswert (Ze'_), dem vierzehnten Wert und dem fünften Gültigkeits-Verifikationswert empfängt; einen Schritt 2-17, in welchem das Node-Modul an dem zweiten Verschlüsselungswert (AA_ID) und dem elften Wert (Cv) eine fünfte Rechenoperation durchführt, um einen sechsten Verschlüsselungswert (BS_) zu generieren; einen Schritt 2-18, in welchem das Node-Modul eine Anforderung eines zweiten Tag-Werts (tag2) zusammen mit dem sechsten Verschlüsselungswert (BS_) und dem zweiten Zero-Verschlüsselungswert (Ze'_) an das Repository-Modul sendet; einen Schritt 2-19, in welchem das Repository-Modul eine sechste Rechenoperation durchführt, um einen siebten Verschlüsselungswert (tag2_) zu erhalten, der ein homomorpher Verschlüsselungswert des zweiten Tag-Werts (tag2) ist, wobei die sechste Rechenoperation eine Operation ist, bei der ein Wert, der durch Multiplizieren des sechsten Verschlüsselungswerts (BS_) und eines 3-1 Zufallswerts (R1) erhalten wird, ein 3-2 Zufallswert (R2) und ein Wert, der durch Multiplizieren eines 3-3 Zufallswerts (R3) und des zweiten Zero-Verschlüsselungswerts (Ze'_) erhalten wird, voneinander subtrahiert oder miteinander addiert werden; einen Schritt 2-20, in welchem das Node-Modul von dem Repository-Modul einen siebten Hash-Wert, der ein Hash-Wert des 3-1 Zufallswerts (R1) und des 3-2 Zufallswerts (R2) ist, die Sitzungs-ID (vs_id) und den siebten Verschlüsselungswert (tag2_) empfängt; einen Schritt 2-21, in welchem das Node-Modul die zweite Sitzungs-ID (vs_id), den sechsten Verschlüsselungswert (BS_), den siebten Verschlüsselungswert (tag2_) und den siebten Hash-Wert an das Benutzerterminal sendet; einen Schritt 2-22, in welchem das Node-Modul von dem Benutzerterminal die Sitzungs-ID (vs_id), einen fünfzehnten Wert (BS$), der ein durch die Durchführung einer arithmetischen Operation an der Benutzer-Identifikationsinformation erhaltener Wert ist, einen sechzehnten Wert, der ein durch die Durchführung einer arithmetischen Operation an dem zweiten Tag-Wert erhaltener Wert ist, den siebten Hash-Wert, die Subjekt-Identifikationsinformation (v_id), den fünften Hash-Wert (bs), den Meinungswert (die Abstimmung) und den sechsten Gültigkeits-Verifikationswert empfängt; einen Schritt 2-23, in welchem das Node-Modul an das Repository-Modul eine Aufforderung zur Verifizierung des fünfzehnten Werts (BS$) zusammen mit dem fünfzehnten Wert (BS$), dem sechzehnten Wert (tag2$), der Sitzungs-ID (vs_id), dem vierten Wert (G) und dem fünften Wert (P) sendet; einen Schritt 2-24, in welchem das Node-Modul den 3-1 Zufallswert (R1) und den 3-2 Zufallswert (R2) durch einen Vergleich des siebten Werts mit dem Hash-Wert des 3-1 Zufallswerts (R1) und des 3-2 Zufallswerts (R2), die von dem Repository-Modul empfangen werden, verifiziert; und einen Schritt 2-25, in welchem das Node-Modul den Meinungswert (die Abstimmung), den Subjekt-Identifikationswert (v_id), den fünften Hash-Wert (bs) und den sechsten Gültigkeits-Verifikationswert speichert, wenn die Verifizierung des Werts (BS$), des fünften Hash-Werts (bs) und des sechsten Gültigkeits-Verifikationswerts erfolgreich ist.
  16. Computer-implementiertes Verfahren nach Anspruch 15, wobei der vierzehnte Wert ferner Zeitinformationen des Account-Moduls enthält.
  17. Computer-implementiertes Verfahren nach Anspruch 15, wobei die vierte Rechenoperation „[der erste Zufallswert (Re)*der zweite Zufallswert (Ra) + die erste ID (A_ID)*der elfte Wert (Cv)“ ist.
  18. Computer-implementiertes Verfahren nach Anspruch 17, wobei der von der Subjekt-Identifikationsinformation (BS) abgeleitete Wert (BS$) der vierte WertBS (mod P) ist.
  19. Computer-implementiertes Verfahren nach Anspruch 18, wobei die fünfte Rechenoperation „der zweite Verschlüsselungswert (AA_ID_)*der elfte Wert (Cv)“ ist.
  20. Computer-implementiertes Verfahren nach Anspruch 18, wobei die sechste Rechenoperation „R1*BS_ + R2 + R3*Ze'_“ ist.
  21. Computer-implementiertes Verfahren nach Anspruch 20, wobei der von dem zweiten Tag-Wert abgeleitete Wert (tag2$) Gtag2 (mod P) ist.
DE112019005599.2T 2018-11-08 2019-08-21 Verfahren zur Erkennung von Meinungsäußerung, das Anonymität gewährleisten und Sybil-Attacken verhindern kann, Verfahren zur Registrierung, das Identifikationsinformationen des Benutzers speichert, und Verfahren zur Authentifizierung des Benutzers Withdrawn DE112019005599T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020180136592A KR102146757B1 (ko) 2018-11-08 2018-11-08 익명성 보장 및 시빌 공격 방지가 가능한, 의사 표시 확인 방법, 신원 확인 정보 저장 모듈의 등록 및 인증 방법
KR10-2018-0136592 2018-11-08
PCT/KR2019/010614 WO2020096180A1 (ko) 2018-11-08 2019-08-21 익명성 보장 및 시빌 공격 방지가 가능한, 의사 표시 확인 방법, 신원 확인 정보 저장 모듈의 등록 및 인증 방법

Publications (1)

Publication Number Publication Date
DE112019005599T5 true DE112019005599T5 (de) 2021-08-12

Family

ID=70611408

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019005599.2T Withdrawn DE112019005599T5 (de) 2018-11-08 2019-08-21 Verfahren zur Erkennung von Meinungsäußerung, das Anonymität gewährleisten und Sybil-Attacken verhindern kann, Verfahren zur Registrierung, das Identifikationsinformationen des Benutzers speichert, und Verfahren zur Authentifizierung des Benutzers

Country Status (4)

Country Link
US (1) US20210258141A1 (de)
KR (1) KR102146757B1 (de)
DE (1) DE112019005599T5 (de)
WO (1) WO2020096180A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114362969B (zh) * 2022-03-17 2022-06-10 北京百度网讯科技有限公司 一种基于区块链的数据验证方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101833323B1 (ko) 2018-01-12 2018-02-28 한국스마트인증 주식회사 익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083360A1 (en) * 2002-10-28 2004-04-29 Rod Walsh System and method for partially-encrypted data transmission and reception
US20040255137A1 (en) * 2003-01-09 2004-12-16 Shuqian Ying Defending the name space
US20080022414A1 (en) * 2006-03-31 2008-01-24 Robert Cahn System and method of providing unique personal identifiers for use in the anonymous and secure exchange of data
US9411976B2 (en) * 2006-12-01 2016-08-09 Maidsafe Foundation Communication system and method
KR100989477B1 (ko) * 2007-01-23 2010-10-22 도시바 솔루션 가부시끼가이샤 익명 주문용 프로그램을 기억한 기억 매체 및 장치
KR100892086B1 (ko) 2007-07-09 2009-04-06 에스케이 텔레콤주식회사 유비쿼터스 센서 네트워크에서의 시빌공격 탐지방법
CN101521569B (zh) * 2008-02-28 2013-04-24 华为技术有限公司 实现服务访问的方法、设备及系统
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
US20150006895A1 (en) * 2009-06-01 2015-01-01 Maidsafe Foundation Distributed network system
US9177126B2 (en) * 2012-10-27 2015-11-03 Edward Curren System and method for human identity validation via a mobile device
CN108109257A (zh) * 2018-01-05 2018-06-01 杭州电子科技大学 一种基于区块链的匿名电子投票方法
CN111833186A (zh) * 2018-09-20 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101833323B1 (ko) 2018-01-12 2018-02-28 한국스마트인증 주식회사 익명성 보장 및 시빌 공격 방지가 가능한, 블록 체인을 이용한 의사 표시 확인 방법

Also Published As

Publication number Publication date
US20210258141A1 (en) 2021-08-19
WO2020096180A1 (ko) 2020-05-14
KR20200053225A (ko) 2020-05-18
KR102146757B1 (ko) 2020-08-21

Similar Documents

Publication Publication Date Title
DE112016006077B4 (de) Systeme und verfahren zur bereitstellung einer blockketten-basierten multifaktor-identitätsprüfung von personen
DE60121517T2 (de) Verfahren zur Erzeugung eines Anmeldungszertifikats aus einem fremden PKI-System unter Verwendung eines bestehenden starken PKI-Authentifizierungssystems
DE102011089580B3 (de) Verfahren zum Lesen von Attributen aus einem ID-Token
DE112017007963T5 (de) Identitätsüberprüfung unter verwendung von biometrischen daten und nicht umkehrbaren funktionen über eine blockchain
WO2015149976A1 (de) Verteiltes authentifizierungssystem und -verfahren
DE10233297A1 (de) Vorrichtung zur digitalen Signatur eines elektronischen Dokuments
DE112017000633T5 (de) Sichere archivierung und wiederherstellung von multifaktor-authentifizierungsschablonen
EP4224786A1 (de) Verfahren und vorrichtung zur erstellung elektronischer signaturen
DE112019003528T5 (de) Verfahren zum Einrichten einer anonymen digitalen Identität
DE102012201209A1 (de) Verfahren zur Erzeugung eines Pseudonyms mit Hilfe eines ID-Tokens
DE102013203436A1 (de) Generieren eines Schlüssels zum Bereitstellen von Berechtigungsinformationen
EP1697820B1 (de) Verfahren zur freischaltung eines zugangs zu einem computersystem oder zu einem programm
DE112019005599T5 (de) Verfahren zur Erkennung von Meinungsäußerung, das Anonymität gewährleisten und Sybil-Attacken verhindern kann, Verfahren zur Registrierung, das Identifikationsinformationen des Benutzers speichert, und Verfahren zur Authentifizierung des Benutzers
DE102021123288A1 (de) Regelbasiertes filtern zum sichern von kennwortanmeldungen
EP2730050B1 (de) Verfahren zur erstellung und überprüfung einer elektronischen pseudonymen signatur
EP2783320B1 (de) Verfahren zum authentisieren einer person an einer serverinstanz
EP3117359B1 (de) Id-provider-computersystem, id-token und verfahren zur bestätigung einer digitalen identität
EP3283999B1 (de) Elektronisches system zur erzeugung eines zertifikats
DE102021125572B3 (de) Verfahren zur Durchführung eines Authentisierungsprozesses durch einen individuellen Systembenutzer
DE102014013753A1 (de) Verfahren zur Authentifizierung zur Verwendung in einem Computernetzwerk, Authentifizierungssystem zur Verwendung in einem Computernetzwerk und computer-lesbares Speichermedium
EP3117360B1 (de) Id-provider-computersystem
DE102016113148A1 (de) Automatisierte Authentifizierung und Identifizierung eines Benutzers einer Datenverarbeitungsanlage mit Hilfe dynamischer tippbiometrischer Erkennungsmerkmale
WO2012056049A1 (de) Lesegerät als elektronischer ausweis
DE102005061999A1 (de) Verfahren zum sicheren, elektronischen Übertragen von Daten von einer ersten Datenverarbeitungseinrichtung an eine zweite Datenverarbeitungseinrichtung
DE102021104991A1 (de) Computerimplementiertes Verfahren zum Ausstellen eines PublicKey-Signaturzertifikats

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee