DE102018004423A1 - Sicherer Datenaustausch - Google Patents

Sicherer Datenaustausch Download PDF

Info

Publication number
DE102018004423A1
DE102018004423A1 DE102018004423.9A DE102018004423A DE102018004423A1 DE 102018004423 A1 DE102018004423 A1 DE 102018004423A1 DE 102018004423 A DE102018004423 A DE 102018004423A DE 102018004423 A1 DE102018004423 A1 DE 102018004423A1
Authority
DE
Germany
Prior art keywords
data
received
random value
concatenated
received data
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.)
Pending
Application number
DE102018004423.9A
Other languages
English (en)
Inventor
Oliver Kroneisen
Georg Koester
Michael Wehrstein
Ricarda Schueler
Arne Scherrer
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Priority to DE102018004423.9A priority Critical patent/DE102018004423A1/de
Priority to US16/416,866 priority patent/US11223482B2/en
Publication of DE102018004423A1 publication Critical patent/DE102018004423A1/de
Pending 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/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/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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

Abstract

Es wird ein Verfahren zum sicheren Datenaustausch bereitgestellt. Das Verfahren umfasst: Konkatenieren, durch eine Sendervorrichtung (100), von auszutauschenden Daten mit einem Zufallswert; Erhalten, durch die Sendervorrichtung (100), unter Verwendung einer Hashfunktion, eines Hashwert der Daten, die mit dem Zufallswert konkateniert sind; digitales Signieren, durch die Sendervorrichtung (100), der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung eines privaten Schlüssels eines Benutzers der Sendervorrichtung, um dadurch eine digitale Signatur des Benutzers der Sendervorrichtung (100) zu erzeugen; Speichern, in einer Blockchain (300) durch die Sendervorrichtung (100), des Hashwerts mit der digitalen Signatur des Benutzers der Sendervorrichtung (100); Empfangen, durch eine Empfängervorrichtung (200), von Daten, die zu verifizieren sind, und des Zufallswerts; Konkatenieren, durch die Empfängervorrichtung (200), der empfangenen Daten mit dem Zufallswert; Erhalten, durch die Empfängervorrichtung (200), eines Hashwerts der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, unter Verwendung der Hashfunktion; Bestimmen, durch die Empfängervorrichtung (200), ob der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain (300) gespeichert ist oder nicht; Bestimmen, durch die Empfängervorrichtung (200), dass die empfangenen Daten die auszutauschenden Daten sind, wenn: der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain (300) gespeichert ist; und die digitale Signatur, die in der Blockchain (300) in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als gültig bestimmt wird unter Verwendung eines öffentlichen Schlüssels des Benutzers der Sendervorrichtung (100).

Description

  • Die Anmeldung bezieht sich auf ein Verfahren, eine Sendervorrichtung, eine Empfängervorrichtung und ein System zum sicheren Datenaustausch, sowie auf ein Verfahren, das von der Sendervorrichtung ausgeführt wird, und ein Verfahren, das von der Empfängervorrichtung ausgeführt wird.
  • Hintergrund
  • Es wurde eine Anzahl von Techniken vorgeschlagen, um Daten auf sichere Weise auszutauschen und/oder zu verwalten. So ermöglicht es die Public-Key Kryptographie zum Beispiel einem Sender von Daten, die Daten mit seinem/ihrem privaten Schlüssel zu verschlüsseln und/oder digital zu signieren, und einem Empfänger der Daten mit einem öffentlichen Schlüssel, der dem privaten Schlüssel des Senders entspricht, die Daten zu entschlüsseln und/oder die digitale Signatur zu verifizieren. Es kann ein Trust Center etabliert sein, um Identifikationsinformation von Benutzern (zum Beispiel potentiellen Sendern von Daten) zu verifizieren und digitale Zertifikate auszugeben, wobei jedes davon zertifiziert, dass ein bestimmter öffentlicher Schlüssel einem bestimmten Benutzer zugehört.
  • Weiter kann beispielsweise im Fall des Austauschs und/oder Verwaltens von sensitive geschäftsbezogenen Informationen (zum Beispiel Bankkonteninformation) eine Agentur ein System bereitstellen, um zwischen Parteien des Datenaustauschs zu vermitteln und den Zugang zu Information für jede Partei auf das Maß zu kontrollieren bzw. zu beschränken, das für diese Partei notwendig ist, um eine bestimmte Geschäftsaktivität auszuführen (zum Beispiel das Ausstellen einer Rechnung, Zahlung entsprechend der Rechnung, etc.). Zahlungsdienstleiter können zum Beispiel Bankkonteninformation von Lieferanten empfangen und Zahlungen von den Käufern an die Lieferanten abwickeln, ohne den Käufern die Bankkonteninformation mitzuteilen. Weiter können Geschäftsnetzwerke wie das Ariba Netzwerk, das von SAP Ariba bereitgestellt wird, eine sichere elektronische Übertragung von sich auf den Einkauf beziehende Daten ermöglichen.
  • In einigen Fällen mögen die oben genannten beispielhaften Sicherheitsmaßnahmen auf Grund von Zentralisierung nicht ausreichend sein (zum Beispiel ein Single Point of Failure).
  • Darüber hinaus können sensible Informationen unter Umständen nicht immer auf sichere Weise, wie in den oben genannten Beispielen, elektronisch übertragen werden. Mit anderen Worten können unsichere Kommunikationskanäle weiterhin für den Austausch sensibler Daten genutzt werden.
  • Zusammenfassung
  • Gemäß einem Aspekt bezieht sich das Problem auf einen sicheren Austausch von Daten. Das Problem wird mit den in den unabhängigen Ansprüchen offenbarten Merkmalen gelöst. Weitere beispielhafte Ausführungsformen sind durch die abhängigen Ansprüche definiert.
  • Gemäß einem Aspekt wird ein Verfahren zum sicheren Datenaustausch bereitgestellt. Das Verfahren umfasst:
    • Konkatenieren, durch eine Sendervorrichtung, von auszutauschenden Daten mit einem Zufallswert;
    • Erhalten, durch die Sendervorrichtung, eines Hashwerts der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion;
    • digitales Signieren, durch die Sendervorrichtung, der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung eines privaten Schlüssels eines Benutzers der Sendervorrichtung, um dadurch eine digitale Signatur des Benutzers der Sendervorrichtung zu erzeugen;
    • Speichern, in einer Blockchain durch die Sendervorrichtung, des Hashwerts mit der digitalen Signatur des Benutzers der Sendervorrichtung;
    • Empfangen, durch eine Empfängervorrichtung, von Daten, die zu verifizieren sind, und des Zufallswerts;
    • Konkatenieren, durch die Empfängervorrichtung, der empfangenen Daten mit dem Zufallswert;
    • Erhalten, durch die Empfängervorrichtung, eines Hashwerts der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, unter Verwendung der Hashfunktion;
    • Bestimmen, durch die Empfängervorrichtung, ob der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain gespeichert ist oder nicht;
    • Bestimmen, durch die Empfängervorrichtung, dass die empfangenen Daten die auszutauschenden Daten sind, wenn:
      • der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain gespeichert ist; und
      • die digitale Signatur, die in der Blockchain gespeichert ist in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, als gültig bestimmt wird unter Verwendung eines öffentlichen Schlüssels des Benutzers der Sendervorrichtung.
  • In einigen Beispielen kann der „Zufallswert“ ein numerischer Wert sein, der zufällig bestimmt wurde. In anderen Beispielen kann der „Zufallswert“ ein oder mehrere zufällig bestimmte Zeichen enthalten. Die Zeichen können alphabetische Zeichen, numerische Zeichen, und/oder andere(s) Symbol(e) sein, das bzw. die von einem Computer verarbeitet werden können.
  • n verschiedenen hierin beschriebenen Ausführungsformen und Beispielen kann der Begriff „Hashfunktion“ als eine Funktion verstanden werden, die Daten arbiträrer Größe auf eine Bitkette fester Größe abbildet, und die als eine Einbahn-Funktion entworfen ist, anders gesagt, eine Funktion, die nicht umgekehrt werden kann. Die „Hashfunktion“, wie hierin verwendet, kann al seine kryptographische Hashfunktion betrachtet werden. In der vorliegenden Offenbarung wird ein Wert, der von der Hashfunktion zurückgeliefert wird, als ein „Hashwert“, oder einfach al sein „Hash“ bezeichnet.
  • In verschiedenen hierin beschriebenen Ausführungsformen und Beispielen kann der Prozess des „digitales Signierens“ von Daten der Technik der Public-Key Kryptographie folgen, die ein Paar von Schlüsseln verwendet, welches einen öffentlichen Schlüssel und einen privaten Schlüssel beinhaltet. In der Public-Key Kryptographie unterscheiden sich der öffentliche Schlüssel und der entsprechende private Schlüssel voneinander, sind aber mathematisch miteinander verknüpft. Der öffentliche Schlüssel kann der Öffentlichkeit zugänglich gemacht werden, aber der private Schlüssel muss vor Parteien, die nicht der Inhaber des Schlüsselpaars sind, geheim gehalten werden. Zum „digitalen Signieren“ von Daten kann beispielsweise ein Hashwert der zu signierenden Daten erhalten werden unter Verwendung einer Hashfunktion, und der erhaltene Hashwert kann verschlüsselt werden unter Verwendung des privaten Schlüssels des Signierenden (zum Beispiel der Sender der Daten). Der so erhaltene verschlüsselte Hashwert mag hierin als eine „digitale Signatur“ des Signierenden bezeichnet werden. Ein Empfänger der digitalen Signatur, die mit den signierten Daten assoziiert ist, kann die digitale Signatur verifizieren durch Erhalten eines Hashwerts der signierten Daten unter Verwendung der Hashfunktion, Entschlüsseln der digitalen Signatur unter Verwendung des öffentlichen Schlüssels des Signierenden und Vergleichen des erhaltenen Hashwerts mit dem entschlüsselten Wert. Wenn der erhaltene Hashwert und der entschlüsselte Wert identisch sind, kann die digitale Signatur als gültig betrachtet werden (zum Beispiel genuine von dem Unterzeichner signiert) und die signierten Daten können als intakt betrachtet werden. Wenn nicht, kann die digitale Signatur als ungültig betrachtet werden und/oder die signierten Daten könnten manipuliert worden sein.
  • In verschiedenen hierin beschriebenen Ausführungsformen und Beispielen mag der Ausdruck „Blockchain“ als ein verteilter (elektronischer) Ledger bzw. Register oder Buch verstanden werden, der unter Verwendung der Blockchain Technologie implementiert ist. Genauer kann die Blockchain ein Ledger sein, der über eine Vielzahl von Knoten (zum Beispiel Computer), die ein Netzwerk bilden, hinweg geteilt wird, wobei jeder Knoten direkt auf der Ledger zugreifen (zum Beispiel lesen und schreiben) kann. Aus einer Perspektive kann die Blockchain als eine verteilte Datenbank betrachtet werden. Eine Blockchain kann als ein verteiltes System betrachtet werden, in welchem es keinen zentralen Administrator gibt. Jeder Knoten kann eine Kopie eines „Ledgers“ (das heißt ein Transaktionsprotokoll bzw. -buch) vorhalten, und die Kopie des Ledgers, welche von jedem Knoten vorgehalten wird, ist identisch zu der Kopie von jedem anderen Knoten, so dass die Menge an Kopien al seine einzige Quelle der Wahrheit bezeichnet werden kann. Anders gesagt kann die Blockchain so verstanden werden, dass sie auf allen den Knoten repliziert wird. Eine Blockchain ist zuverlässig und transparent in dem Sinn, dass Transaktionen permanent aufgezeichnet und nicht überarbeitet werden können. So können zum Beispiel Daten, die in einer Blockchain gespeichert sind, nicht geändert oder gelöscht werden, ohne dass dies eine Spur hinterlässt. Beispielsweise können für diesen Zweck Zeitstempel verwendet werden, da ein Zeitstempel beweist, dass die Daten zu jener Zeit existiert haben müssen. Der Begriff „Transaktion“ kann hierin verwendet werden, um eine Aktion oder einen Prozess anzuzeigen, die bzw. der eine oder mehrere Änderungen an dem Ledger beinhalten, welche den Zustand der Blockchain ändern. Nachfolgend wird der Begriff „Transaktion“ verwendet, um sowohl die Aktion selbst, als auch eine Definition der Transaktion, welche eine Sammlung von Entitäten sein kann, die erforderlich sind, um die Aktion auszuführen, wie Ausdrücke, Variablen und/oder Parameter, zu bezeichnen. Wenn ein Knoten „eine Transaktion sendet“ an den verteilten Blockchain Ledger, kann der Knoten auf den Ledger zugreifen entsprechend der in der Transaktion spezifizierten Aktion, zum Beispiel die Daten schreiben und/oder aktualisieren. Durch „Aufzeichnen einer Transaktion“ in er Blockchain kann ein Log der ausgeführten Aktion (zum Beispiel eine Transaktion, welche ein Schreiben und/oder Aktualisieren von Daten involviert) und/oder die Definition der Transaktion in dem Ledger aufgezeichnet werden.
  • In verschiedenen hierin beschriebenen Ausführungsformen und Beispielen kann das „Speichern“ von Information in einer Blockchain (zum Beispiel „Speichern ... des Hashwerts und einer digitalen Signatur“ in der Blockchain) dazu führen, das seine „Transaktion“ in der Blockchain aufgezeichnet wird, wobei die Transaktion die Aktion des Speicherns der Information anzeigt. Die Transaktion kann weiter den Inhalt der gespeicherten Information (zum Beispiel den „Hashwert und eine digitale Signatur“) enthalten.
  • In der Blockchain Technologie werden Transaktionen in sogenannte Blöcke gruppiert, welche nach einer Validierung mittels eines Konsensalgorithmus nach einiger Zeit in einer sogenannten Blockchain zusammengekettet werden. Die Blöcke können al seine Kette bildend betrachtet werden, da jeder Block eine Referenz auf den vorhergehenden Block aufweist, beispielsweise enthält jeder Block einen Hashwert eines vorhergehenden Blocks und einen Zeitstempel, wann der vorhergehende Block der Blockchain hinzugefügt wurde.
  • Die Gültigkeit einer Transaktion kann in dem Konsensprozess verifiziert werden, indem eine digitale Signatur der Transaktion geprüft wird. Jeder Knoten in dem Netzwerk kann mit einem Identifikator assoziiert sein und kann mit einem kryptographischen Paar, privater Schlüssel - öffentlicher Schlüssel, ausgestattet sein. Alle Knoten in dem Netzwerk können über eine Liste der öffentlichen Schlüssel und der jeweiligen Identifikatoren der anderen Knoten verfügen. Wenn ein Knoten eine Transaktion an das Blockchain Netzwerk sendet, signiert der Knoten die Transaktion mit seinem privaten Schlüssel. Die Transaktion kann dann an die anderen Knoten in dem Netzwerk gesendet werden. Die anderen Knoten können dann, unter Verwendung des öffentlichen Schlüssels, der mit dem Identifikator assoziiert ist, die digitale Signatur überprüfen, um zu prüfen, dass die Kommunikation nicht manipuliert wurde. Sobald die Gültigkeit der Transaktion festgestellt wurde, können die anderen Knoten einen neuen Block erzeugen, welcher die Transaktion umfasst, den Block mit ihren privaten Schlüsseln signieren, so dass der Block an die Blockchain ausgeliefert werden kann. Der Konsensprozess kann von allen Knoten oder nur von einer im Voraus ausgewählten Menge von Knoten ausgeführt werden. Dies bedeutet, dass es notwendig sein kann, dass alle Knoten den Block signieren, oder dass nur ein Teil dieser dies tun.
  • Da die Blockchain, wie oben ausgeführt, zuverlässig und transparent ist, kann die Verwendung der Blockchain, wie in dem oben angegebenen Verfahren definiert, eine verbesserte Sicherheit für die auszutauschenden Daten bereitstellen. Selbst wenn zum Beispiel die Daten auf potentiell unsichere Weise übertragen werden (zum Beispiel per Post, E-Mail, Fax, etc.), wird die Gültigkeit der empfangenen Daten bestimmt, indem auf die Blockchain zugegriffen wird und der entsprechende Hashwert und die entsprechende digitale Signatur überprüft wird.
  • Weiter wird, in dem oben genannten Verfahren zum sicheren Datenaustausch, die auszutauschenden Daten, die mit einem Zufallswert konkateniert sind, und ein Hashwert der Daten, die mit dem Zufallswert konkateniert sind, erhalten und in der Blockchain gespeichert. Dies kann es schwieriger machen, aus dem entsprechenden Hashwert, der in der Blockchain gespeichert ist (auf die öffentlich zugegriffen werden kann), Mutmaßungen über die auszutauschenden Daten anzustellen, wodurch die Sicherheit für die auszutauschenden Daten erhöht wird.
  • Der Zufallswert, der verwendet wird, um den Hashwert zu erhalten, wird vorzugsweise der Empfängervorrichtung bereitgestellt, ohne die Blockchain zu verwenden. Zum Beispiel kann der Zufallswert einem Benutzer der Empfängervorrichtung (zum Beispiel dem intendierten Empfänger der auszutauschenden Daten) über ein oder mehrere Kommunikationsmittel bereitgestellt werden, welche die Blockchain nicht involvieren, wie etwa E-Mail, etc.), Fax und/oder Post (zum Beispiel ein Papierbrief) etc. Der Benutzer der Empfängervorrichtung kann dann den Zufallswert in die Empfängervorrichtung eingeben unter Verwendung einer Eingabevorrichtung (zum Beispiel eine Maus, ein Berührungsfeld, eine Tastatur, etc.), welche mit der Empfängervorrichtung verbunden ist. In einigen anderen Beispielen kann der Zufallswert auf einen Server (außerhalb der Blockchain) hochgeladen werden, welcher über ein Netzwerk (zum Beispiel das Internet) sowohl mit der Sendervorrichtung als auch der Empfängervorrichtung verbunden ist, und der Benutzer der Empfängervorrichtung kann über einen Speicherort (zum Beispiel angegeben durch eine URL (Uniform Resource Locator)) für den Zufallswert benachrichtigt werden. Der Benutzer kann dann unter Verwendung der Empfängervorrichtung auf den Speicherort zugreifen, so dass die Empfängervorrichtung den Zufallswert von dem Server herunterladen kann. In nochmals anderen Beispielen kann die Empfängervorrichtung den Zufallswert von der Sendervorrichtung über ein Netzwerk (zum Beispiel das Internet) empfangen, aber ohne die Blockchain zu involvieren.
  • Die Daten, die bei der Empfängervorrichtung zu verifizieren sind, können der Empfängervorrichtung auch bereitgestellt werden, ohne die Blockchain zu verwenden, auf eine Weise analog zu derjenigen wie oben angegeben für den Zufallswert. In einigen Beispielen können die Daten, die zu verifizieren sind, dem Benutzer der Empfängervorrichtung zusammen mit dem Zufallswert bereitgestellt werden. In anderen Beispielen können die Daten, die zu verifizieren sind, und die Zufallszahl dem Benutzer der Empfängervorrichtung separat bereitgestellt werden mit unterschiedlichen Kommunikationsmitteln und/oder zu unterschiedlichen Zeitpunkten.
  • Gemäß einem Beispiel kann das oben genannte Verfahren zum sicheren Datenaustausch weiter umfassen:
    • wenn die Empfängervorrichtung bestimmt, dass die empfangenen Daten die auszutauschenden Daten sind:
      • digitales Signieren, durch die Empfängervorrichtung, zumindest der empfangenen Daten unter Verwendung eines privaten Schlüssels eines Benutzers der Empfängervorrichtung, um eine digitale Signatur des Benutzers der Empfängervorrichtung zu generieren; und
      • Speichern, in der Blockchain durch die Empfängervorrichtung, der digitalen Signatur des Benutzers der Empfängervorrichtung, in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind.
  • Die digitale Signatur, welche in der Blockchain durch die Empfängervorrichtung in Assoziation mit dem Hashwert der Daten, die mit dem Zufallswert konkateniert sind, gespeichert wird, kann anzeigen, kann anzeigen, dass der der Benutzer der Empfängervorrichtung bestätigt hat, dass die Daten, die dem in der Blockchain gespeicherten Hashwert entsprechen, legitim sind (zum Beispiel dass die Daten intakt sind und von dem korrekten Sender stammen).
  • Wenn die Empfängervorrichtung die „digital Signatur des Benutzers der Empfängervorrichtung, in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind“ in der Blockchain speichert, kann in der Blockchain einen Transaktion aufgezeichnet werden, welche das Speichern der „digitalen Signatur“ in Assoziation mit dem „Hashwert“ anzeigt. Diese Transaktion kann auch in dem Konsensprozess verifiziert werden, wie oben angegeben.
  • Weiter kann in einigen Beispielen Statusinformation in der Blockchain in Assoziation mit dem Hashwert der Daten, die mit dem Zufallswert konkateniert sind, gespeichert werden. Die Statusinformation kann auf „anhängig“ gesetzt werden, wenn die Sendervorrichtung den Hashwert mit der digitalen Signatur des Benutzers der Sendervorrichtung in der Blockchain speichert. Anders gesagt kann die Statusinformation Default mäßig auf „anhängig“ gesetzt werden. Die Statusinformation kann von „anhängig“ auf „aktiv“ gesetzt werden, wenn eine spezifizierte Anzahl digitaler Signaturen in Assoziation mit dem Hashwert der Daten, die mit dem Zufallswert konkateniert sind, durch eine oder mehrere Empfängervorrichtungen in der Blockchain gespeichert werden.
  • In verschiedenen hierin beschriebenen Ausführungsformen und Beispielen kann die „Statusinformation“ so verstanden werden, dass sie anzeigt, ob die Daten, welche dem Hashwert entsprechen, der in der Blockchain in Assoziation mit der Statusinformation gespeichert ist, verwendet werden können.
  • Die Statusinformation „anhängig“ kann anzeigen, dass die entsprechenden Daten noch nicht bestätigt wurden. Weiter kann die Statusinformation „aktiv“ anzeigen, dass die entsprechenden Daten verwendet werden können.
  • In einigen Beispielen kann das oben genannte Verfahren weiter umfassen: Setzen, durch die Sendervorrichtung, der in der Blockchain gespeicherten Statusinformation auf veraltet, wenn die Daten, welche der Statusinformation entsprechen, obsolet werden.
  • Die Empfängervorrichtung kann von der Blockchain die Statusinformation abrufen, die gespeichert ist in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind. Die Empfängervorrichtung kann die Statusinformation bei der Weiterverarbeitung der empfangenen Daten verwenden.
  • Das oben angegebene Verfahren kann weiter umfassen: Speichern, durch die Empfängervorrichtung, der empfangenen Daten in einer Empfängerdatenbank, welche mit der Empfängervorrichtung verbunden ist, wenn die Empfängervorrichtung bestimmt, dass die empfangenen Daten die auszutauschenden Daten sind.
  • Da das Speichern der empfangenen Daten in der Empfängerdatenbank ausgeführt werden kann, wenn die Empfängervorrichtung bestimmt, dass die empfangenen Daten die auszutauschenden Daten sind, kann die Wahrscheinlichkeit, dass unpassende Daten in der Empfängerdatenbank gespeichert werden.
  • Wenn die Statusinformation wie oben erwähnt von der Blockchain abgerufen wird, kann die Empfängervorrichtung die Statusinformation in der Empfängerdatenbank speichern, zum Beispiel zusätzlich zu und in Assoziation mit den entsprechenden empfangenen Daten. In einigen anderen Beispielen kann die Empfängervorrichtung abhängig von der Statusinformation bestimmen, ob die empfangenen Daten in der Empfängerdatenbank gespeichert werden sollen oder nicht. Beispielsweise kann die Empfängervorrichtung bestimmen, dass die empfangenen Daten nur dann in der Empfängerdatenbank gespeichert werden sollen, wenn die Statusinformation auf „aktiv“ gesetzt ist. Weiter mag die Empfängervorrichtung beispielsweise die Schritte des digitalen Signierens zumindest der empfangenen Daten und des Speichems der digitalen Signatur in der Blockchain nur dann ausführen, wenn die Statusinformation auf „anhängig“ gesetzt ist.
  • Das oben angegebene Verfahren kann weiter umfassen:
    • Bestimmen, durch die Empfängervorrichtung, dass die empfangenen Daten nicht die auszutauschenden Daten sind, wenn:
      • der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, nicht in der Blockchain gespeichert ist; oder
      • der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain gespeichert ist, aber die digitale Signatur, die in der Blockchain in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als ungültig bestimmt wird unter Verwendung des öffentlichen Schlüssels des Benutzers der Sendervorrichtung; und
    • wenn die Empfängervorrichtung bestimmt, dass die empfangenen Daten nicht die auszutauschenden Daten sind, Senden einer Benachrichtigungsinformation von der Empfängervorrichtung an die Sendervorrichtung.
  • Die Benachrichtigungsinformation von der Empfängervorrichtung an die Sendervorrichtung kann beispielsweise anzeigen, dass die empfangenen Daten nicht legitim sind (zum Beispiel manipuliert wurden). Alternativ oder zusätzlich kann die Benachrichtigungsinformation von der Empfängervorrichtung anzeigen, dass: der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, nicht in der Blockchain gespeichert ist, mit anderen Worten, dass kein gespeicherter Hashwert passt; oder dass der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain gespeichert ist, aber die digitale Signatur, die in der Blockchain in Assoziation mit dem Hashwert gespeichert ist, als ungültig bestimmt wird. Eine solche Benachrichtigungsinformation von der Empfängervorrichtung an die Sendervorrichtung wie oben erwähnt kann es ermöglichen, dass der Sender der Daten eine betrügerische Aktivität bezüglich der Daten erkennt und/oder adressiert.
  • Gemäß einem weiteren Aspekt wird eine Sendervorrichtung zum sicheren Datenaustausch bereitgestellt. Die Sendervorrichtung umfasst:
    • einen Speicher, der konfiguriert ist, einen privaten Schlüssel eines Benutzers der Sendervorrichtung zu speichern; und
    • einen Prozessor, der konfiguriert ist zum:
      • Konkatenieren von auszutauschenden Daten mit einem Zufallswert;
      • Erhalten eines Hashwerts der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion;
      • digitales Signieren der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung des privaten Schlüssels, der in dem Speicher gespeichert ist, um dadurch eine digitale Signatur des Benutzers der Sendervorrichtung zu erzeugen;
      • Speichern, in einer Blockchain, des Hashwerts mit der digitalen Signatur des Benutzers der Sendervorrichtung.
  • Gemäß einem nochmals weiteren Aspekt wird eine Empfängervorrichtung zum sicheren Datenaustausch bereitgestellt. Die Empfängervorrichtung umfasst:
    • einen Speicher, der konfiguriert ist, einen öffentlichen Schlüssel zu speichern, welcher einem privaten Schlüssel eines Benutzers einer Sendervorrichtung entspricht; und
    • einen Prozessor, der konfiguriert ist zum:
      • Empfangen von Daten, die zu verifizieren sind, und eines Zufallswerts;
      • Konkatenieren der empfangenen Daten mit dem empfangenen Zufallswert;
      • Erhalten eines Hashwerts der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion;
      • Bestimmen, ob der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in einer Blockchain gespeichert ist oder nicht, wobei die Blockchain Hashwerte mit digitalen Signaturen speichert, wobei zumindest einer der Hashwerte erhalten wird durch die Sendervorrichtung, von auszutauschenden Daten, welche konkateniert sind mit der Zufallszahl, unter Verwendung der Hashfunktion, wobei die digitale Signatur, die mit dem zumindest einen der Hashwerte gespeichert ist, durch die Sendervorrichtung durch digitales Signieren der auszutauschenden Daten, welche konkateniert sind mit der Zufallszahl, unter Verwendung des privaten Schlüssels des Benutzers der Sendervorrichtung erhalten wurden;
      • Bestimmen, dass die empfangenen Daten die auszutauschenden Daten sind, wenn:
        • der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain gespeichert ist; und
        • die digitale Signatur, die in der Blockchain in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als gültig bestimmt wird unter Verwendung des öffentlichen Schlüssels, der in dem Speicher gespeichert ist.
  • In der oben genannten Empfängervorrichtung kann der Speicher weiter konfiguriert sein zum Speichern eines privaten Schlüssels eines Benutzers der Empfängervorrichtung. Weiter kann der Prozessor der oben angegebenen Empfängervorrichtung weiter konfiguriert sein zum:
    • wenn die Empfängervorrichtung bestimmt, dass die empfangenen Daten die auszutauschenden Daten sind:
      • digitalen Signieren zumindest der empfangenen Daten unter Verwendung des privaten Schlüssels, der in dem Speicher gespeichert ist, um eine digitale Signatur des Benutzers der Empfängervorrichtung zu erzeugen; und
  • Speichern, in der Blockchain, der digitalen Signatur des Benutzers der Empfängervorrichtung, in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind.
  • Weiter kann der Prozessor der oben angegebenen Empfängervorrichtung weiter konfiguriert sein zum: Speichern der empfangenen Daten in einer Empfängerdatenbank, welche mit der Empfängervorrichtung verbunden ist, wenn die empfangenen Daten bestimmt werden, die auszutauschenden Daten zu sein.
  • Weiter kann der Prozessor der oben angegebenen Empfängervorrichtung weiter konfiguriert sein zum:
    • Bestimmen, dass die empfangenen Daten nicht die auszutauschenden Daten sind, wenn:
      • der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, nicht in der Blockchain gespeichert ist; oder
      • der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind in der Blockchain gespeichert ist, aber die digitale Signatur, die in der Blockchain in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als ungültig bestimmt wird, unter Verwendung des öffentlichen Schlüssels des Benutzers der Sendervorrichtung; und
    • wenn die empfangenen Daten bestimmt werden, nicht die auszutauschenden Daten zu sein, Senden einer Benachrichtigungsinformation an die Sendervorrichtung.
  • Gemäß einem nochmals weiteren Aspekt wird ein System zum sicheren Datenaustausch bereitgestellt. Das System umfasst:
    • die oben genannte Sendervorrichtung;
    • die oben genannte Empfängervorrichtung; und
    • die Blockchain.
  • Gemäß einem nochmals weiteren Aspekt wird ein Verfahren bereitgestellt, welches durch eine Sendervorrichtung zum sicheren Datenaustausch ausgeführt wird. Das Verfahren umfasst:
    • Konkatenieren von auszutauschenden Daten mit einem Zufallswert;
    • Erhalten eines Hashwerts der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion;
    • digitales Signieren der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung eines privaten Schlüssels eines Benutzers der Sendervorrichtung, um dadurch eine digitale Signatur des Benutzers der Sendervorrichtung zu erzeugen;
    • Speichern, in einer Blockchain, des Hashwerts mit der digitalen Signatur des Benutzers der Sendervorrichtung.
  • Gemäß einem nochmals weiteren Aspekt wird ein Verfahren bereitgestellt, welches durch eine Empfängervorrichtung zum sicheren Datenaustausch ausgeführt wird. Das Verfahren umfasst:
    • Empfangen von Daten, die zu verifizieren sind, und einem Zufallswert;
    • Konkatenieren der empfangenen Daten, die zu verifizieren sind, mit dem empfangenen Zufallswert;
    • Erhalten eines Hashwerts der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion;
    • Bestimmen, ob der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in einer Blockchain gespeichert ist oder nicht, wobei die Blockchain Hashwerte mit digitalen Signaturen speichert, wobei zumindest einer der Hashwerte erhalten wird, durch eine Sendervorrichtung, von auszutauschenden Daten, welche konkateniert sind mit der Zufallszahl, unter Verwendung der Hashfunktion, wobei die digitale Signatur mit zumindest einem der Hashwerte gespeichert ist, der erhalten wurde, indem die Sendervorrichtung die auszutauschenden Daten, welche konkateniert sind mit der Zufallszahl, digital signiert hat unter Verwendung eines privaten Schlüssels des Benutzers der Sendervorrichtung;
    • Bestimmen, dass die empfangenen Daten die auszutauschenden Daten sind, wenn:
      • der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain gespeichert ist; und
      • die digitale Signatur, die in der Blockchain mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als gültig bestimmt wird unter Verwendung des öffentlichen Schlüssels des Benutzers der Sendervorrichtung.
  • Der in der Anmeldung beschriebene Gegenstand kann als ein Verfahren als ein System implementiert sein, möglicher Weise in der Form einer oder mehrerer Computerprogrammprodukte. Der in der Anmeldung beschriebene Gegenstand kann in einem Datensignal oder auf einem maschinenlesbaren Medium implementiert sein, wobei das Medium in einem oder in mehreren Informationsträgern verkörpert ist, wie einem Halbleiterspeicher oder einer Festplatte. Derartige Computerprogrammprodukte können eine Datenverarbeitungsvorrichtung dazu veranlassen, ein oder mehrere Operationen, die in der Anmeldung beschrieben sind, auszuführen.
  • Darüber hinaus kann der in der Anmeldung beschriebene Gegenstand auch als ein System implementiert sein, das einen Prozessor und einen Speicher, der mit dem Prozessor gekoppelt ist, enthält. Der Speicher kann ein oder mehrere Programme kodieren, um den Prozessor dazu zu veranlassen, ein oder mehrere der in der Anmeldung beschriebenen Verfahren auszuführen. Weiter kann der in der Anmeldung beschriebene Gegenstand unter Verwendung verschiedener Maschinen implementiert sein.
  • Figurenliste
  • Details einer oder mehrerer Implementierungen werden in den beispielhaften Zeichnungen und der nachstehenden Beschreibung dargelegt. Andere Merkmale werden aus der Beschreibung, aus den Zeichnungen und aus den Ansprüchen offensichtlich. Es sei jedoch verstanden, dass auch wenn Ausführungsformen separate beschrieben werden, einzelne Merkmale unterschiedlicher Ausführungsformen kombiniert werden können zu weiteren Ausführungsformen.
    • 1 zeigt eine beispielhafte Systemarchitektur zum sicheren Datenaustausch.
    • 2 zeigt einen beispielhaften Prozess zum sicheren Datenaustausch.
    • 3 zeigt ein Beispiel von Daten, die mit einem Eintrag in der Blockchain assoziiert sind.
    • 4 zeigt einen weiteren beispielhaften Prozess zum sicheren Datenaustausch.
    • 5 zeigt eine beispielhafte Hardwarekonfiguration eines Computers, der verwendet werden kann, um beispielhafte Ausführungsformen und Variationen wie hierin beschrieben zu implementieren.
  • Detaillierte Beschreibung von Ausführungsformen
  • Im folgenden Text wird eine detaillierte Beschreibung von Beispielen mit Bezug auf die Zeichnungen gegeben. Es sei verstanden, dass verschiedene Modifikationen an den Beispielen vorgenommen werden können. Insbesondere kann ein oder können mehrere Elemente eines Beispiels kombiniert und in anderen Beispielen verwendet werden, um neue Beispiele zu bilden.
  • 1 zeigt eine beispielhafte Systemarchitektur zum sicheren Datenaustausch. Das beispielhafte System kann eine Sendervorrichtung 100, eine Empfängervorrichtung 200 und eine Blockchain 300 umfassen.
  • Die Sendervorrichtung 100 kann von einem Computer implementiert werden mit einer Softwareanwendung, welche Zugriff auf die Blockchain 300 ermöglicht. Die Softwareanwendung kann es der Sendervorrichtung 100 ermöglichen, einen Knoten BN_1 der Blockchain 300 zu betreiben. Die Softwareanwendung kann eine Webanwendung sein, die in einem Webbrowser ausgeführt werden kann. Hiernach wird die Softwareanwendung, welche Zugriff auf die Blockchain 300 ermöglicht, welche auf der Sendervorrichtung 100 installiert ist, als die „Senderanwendung“ bezeichnet. Die Details der Funktionen der Senderanwendung werden später nachfolgend beschrieben.
  • Die Empfängervorrichtung 200 kann von einem Computer implementiert werden mit einer Softwareanwendung, welche Zugriff auf die Blockchain 300 ermöglicht. The Softwareanwendung kann es der Empfängervorrichtung 200 ermöglichen, einen Blockchain Knoten BN_2 der Blockchain 300 zu betreiben. Die Softwareanwendung kann eine Webanwendung sein, die in einem Webbrowser ausgeführt werden kann. Hiernach wird die Softwareanwendung, welche Zugriff auf die Blockchain 300 ermöglicht, welche auf der Empfängervorrichtung 200 installiert ist, als die „Empfängeranwendung“ bezeichnet. Die Details der Funktionen der Empfängeranwendung werden später nachfolgend beschrieben. In einigen Beispielen können die Senderanwendung und die Empfängeranwendung denselben Satz von Funktionen beinhalten und unterschiedliche Funktionen ausführen abhängig davon, ob die Anwendung als die Senderanwendung oder die Empfängeranwendung arbeiten soll. In anderen Beispielen können die Senderanwendung und die Empfängeranwendung unterschiedliche Sätze von Funktionen beinhalten.
  • Die Empfängervorrichtung 200 kann weiter mit einem ERP („Enterprise Resources Planning“) System 202, wie SAP HANA, verbunden sein. Das ERP System 202 kann ein Datenbankverwaltungssystem (DBMS) bereitstellen, das verwendet werden kann, um eine oder mehrere Datenbanken für den Empfänger zu verwalten. Die eine oder die mehreren Datenbanken können relationale oder objekt-relationale Datenbanken sein. In einigen Beispielen können andere Benutzer als die Benutzer der Empfängervorrichtung 200 nicht auf die eine oder die mehreren Datenbanken zugreifen. Zumindest eine der einen oder der mehreren Datenbanken, welche von dem ERP System 202 verwaltet werden, kann als eine Empfängerdatenbank, die mit der Empfängervorrichtung (zum Beispiel die Empfängervorrichtung 200) verbunden ist, betrachtet werden. In einigen Beispielen kann die Empfängeranwendung eine Integration in das ERP System 202 aufweisen, welche es der Empfängeranwendung ermöglicht, Masterdaten in der einen oder in den mehreren Datenbanken, die von dem ERP System 202 verwaltet werden, abzufragen.
  • Die Sendervorrichtung 100 und die Empfängervorrichtung 200 können über ein Netzwerk wie das Internet oder ein Intranet miteinander verbunden sein.
  • In einigen beispielhaften Anwendungsfällen können die Sendervorrichtung 100 und die Empfängervorrichtung 200 zu einer gleichen Organisation (zum Beispiel Unternehmen, Institut, öffentliche oder private Organisation, etc.) gehören. In diesen beispielhaften Anwendungsfällen können die Sendervorrichtung 100 und die Empfängervorrichtung 200 auf einem einzelnen Computer oder System implementiert sein, welches von einer Vielzahl von Benutzern in derselben Organisation genutzt werden kann. Weiter kann, wenn die Sendervorrichtung 100 und die Empfängervorrichtung 200 zu derselben Organisation gehören, das ERP System 202 ein oder mehrere Datenbanken für diese Organisation verwalten.
  • In anderen beispielhaften Anwendungsfällen können die Sendervorrichtung 100 und die Empfängervorrichtung 200 zu unterschiedlichen Organisationen gehören. In den anderen beispielhaften Anwendungsfällen kann das ERP System 202 ein oder mehrere Datenbanken für die Organisation, zu der die Empfängervorrichtung 200 gehört, verwalten.
  • Die Blockchain 300 kann als eine verteilte Datenbank betrachtet werden, welche über eine Vielzahl von Knoten, die ein Netzwerk bilden, geteilt wird, wobei jeder Knoten direkt auf die verteilte Datenbank zugreifen (zum Beispiel lesen und schreiben) kann. Die oben genannten Blockchain-Knoten BN_1 und BN_2, die von der Sendervorrichtung 100 bzw. der Empfängervorrichtung 200 betrieben werden, können als Beispiele der Knoten, die in der Blockchain 300 enthalten sind, betrachtet werden.
  • In einigen Beispielen können Knoten der Blockchain 300 unter Verwendung einer existierenden Plattform zum Bauen einer Blockchain, wie etwa MultiChain, implementiert sein. Genauer befolgen alle Knoten in der Blockchain 300, die in dem beispielhaften System verwendet wird, demselben Blockchain Protokoll, wie zum Beispiel MultiChain. Die Knoten der Blockchain 300 können auf einer Cloud Plattform, wie SAP Cloud Plattform, gehostet werden. Eine Cloud Plattform kann ein Cloud Computing ermöglichen. Cloud Computing ist ein Modell der Bereitstellung von Diensten, um einen bequemen, On-Demand Netzwerkzugriff auf einen geteilten Pool von konfigurierbaren Computerressourcen zu ermöglichen (zum Beispiel Netzwerke, Netzwerkbandbreite, Server, Prozessoren, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Managementaufwand oder minimaler Interaktion mit einem Provider des Dienstes schnell bereitgestellt und freigegeben werden können.
  • Eine Cloud Rechnerumgebung kann eine oder mehrere der folgenden Eigenschaften aufweisen: Mandantenfähigkeit, Performance-Monitoring, virtuelle Ressourcen, die je nach Bedarf dynamisch verschiedenen Benutzern zugeordnet werden können, mehrere redundante Standorte, mehrere virtuelle Maschinen, Netzwerkzugriff (z.B. über das Internet) von mehreren Standorten (z.B. über einen Webbrowser) und Geräten (z.B. mobile Vorrichtung oder PC).
  • In einigen anderen Beispielen können die Knoten der Blockchain 300 jedoch auf vor Ort existierenden Rechnerumgebungen implementiert sein, anstelle einer Cloud Rechnerumgebung.
  • Es sei bemerkt, dass auch wenn 1 eine einzelne Sendervorrichtung 100 und eine einzelne Empfängervorrichtung 200 zeigt, das System mehr al seine Sendervorrichtung 100 und mehr als eine Empfängervorrichtung 200 umfassen kann. Weiter kann jede der mehr als eine Sendervorrichtung 100 und jede der mehr als eine Empfängervorrichtung 200 ihren eigenen Blockchain Knoten betreiben kann, der in der Blockchain 300 enthalten ist. Durch das Blockchain Protokoll kann sichergestellt werden, dass Daten auf jedem Knoten in der Blockchain 300 repliziert werden.
  • 2 zeigt an beispielhaften Prozess zum sicheren Datenaustausch. Das in 1 gezeigte System kann den in 2 gezeigten beispielhaften Prozess ausführen.
  • Wenn ein Sender (zum Beispiel ein Benutzer der Sendervorrichtung 100) einen neuen Dateneintrag erzeugt (zum Beispiel um diesen in eine Datenbank hinzuzufügen, die von dem ERP System 202 verwaltet wird, oder um einen bestehenden Eintrag in der Datenbank, die von dem ERP System 202 verwaltet wird, zu aktualisieren) (siehe S10), kann der Sender die neue Information, die in dem neuen Dateneintrag enthalten ist, an einen Empfänger (zum Beispiel einen Benutzer der Empfängervorrichtung 200) über ein oder mehrere Kommunikationsmittel (zum Beispiel mittels Post, E-Mail, Fax, etc.) senden, welche die Blockchain 300 nicht involvieren (siehe S12). Wenn die neue Information an den Empfänger gesendet wird, kann der Empfänger aufgefordert werden, die Legitimität der neuen Information zu bestätigen. In einigen Beispielen, in welchen die neue Information elektronisch gesendet wird, kann der Sender die Sendervorrichtung 100 zum Senden der neuen Information an den Empfänger verwenden. Die neue Information kann als die auszutauschenden Daten betrachtet werden. In einigen spezifischen beispielhaften Anwendungsfälle können der Sender und der Empfänger zur selben Organisation gehören (zum Beispiel ein Lieferantenunternehmen), und die neue Information können neue Bankverbindungsdetails (zum Beispiel Bankkonteninformation) der Organisation sein. In diesen spezifischen beispielhaften Anwendungsfällen kann der Empfänger eine Rolle innerhalb der Organisation besitzen, die neue Information zu genehmigen (zum Beispiel mag der Empfänger einer anderen Abteilung in der Organisation angehören als der Sender).
  • Weiter kann die Sendervorrichtung 100 einen Zufallswert erzeugen, der ein zufällig bestimmter numerischer Wert sein kann, oder ein oder mehrere zufällig bestimmte Zeichen (zum Beispiel alphabetische Zeichen, numerische Zeichen, und/oder andere Symbole, die von einem Computer verarbeitet werden können). Der erzeugte Zufallswert kann durch eine Zeichenkette von einem oder mehreren Zeichen repräsentiert sein. Die Erzeugung des Zufallswerts kann von der Senderanwendung ausgeführt werden. In einigen Beispielen kann der erzeugte Zufallswert an den Empfänger zusammen mit den auszutauschenden Daten (zum Beispiel die neuen Bankdetails) kommuniziert werden im Schritt S12. In anderen Beispielen kann der erzeugte Zufallswert getrennt von den auszutauschenden Daten an den Empfänger kommuniziert werden, zum Beispiel mit einem anderen Kommunikationsmittel und/oder zu einem anderen Zeitpunkt (der Schritt ist nicht in 2 gezeigt).
  • Zudem kann die Sendervorrichtung 100 die auszutauschenden Daten (zum Beispiel neue Bankdetails) mit dem erzeugten Zufallswert konkatenieren. Mit anderen Worten kann der erzeugte Zufallswert an die auszutauschenden Daten angefügt werden. Die Sendervorrichtung 100 kann dann unter Verwendung einer Hashfunktion einen Hashwert der Daten, die mit dem Zufallswert konkateniert sind, erhalten. Die Hashfunktion kann in der Senderanwendung enthalten sein al seine deren Funktionen. Das Anfügen eines Zufallswerts an die auszutauschenden Daten und dann das Erhalten des Hashwerts der Daten, angefügt an den Zufallswert, kann den resultierenden Hashwert zufälliger machen und es sehr schwer oder unmöglich machen, die originalen auszutauschenden Daten zu vermuten. In einigen Gegebenheiten kann der Zufallswert als eine „Nonce“ bezeichnet werden, und das Konkatenieren der auszutauschenden Daten mit der Nonce kann als „Maskieren“ der Daten mit einer „Nonce“ bezeichnet werden. Maskieren von Daten mit einer Nonce kann besonders vorteilhaft sein, wenn Daten ausgetauscht werden, die andernfalls relative leicht vermutet werden können, wie zum Beispiel Daten, welche einem spezifischen Format folgen, wie etwa IBAN (Internationale Bankkontonummer).
  • Weiter kann die Sendervorrichtung 100 die Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung eines privaten Schlüssels des Senders digital signieren, wodurch eine digitale Signatur des Senders für die Daten, die mit dem Zufallswert konkateniert sind, erzeugt wird. Beispielsweise kann die Sendervorrichtung 100 unter Verwendung des privaten Schlüssels den Hashwert der Daten, die mit dem Zufallswert konkateniert sind, verschlüsseln, und der verschlüsselte Hashwert kann als die digitale Signatur des Senders betrachtet werden. Die Sendervorrichtung 100 kann dann den erhaltenen Hashwert und die digitale Signatur in der Blockchain 300 speichern, indem der Blockchain Knoten BN_1 betätigt wird (siehe S14). Die Senderanwendung kann die Erzeugung des Hashwerts und der digitalen Signatur, sowie das Speichern dieser in der Blockchain 300 ausführen.
  • Weiter kann in einigen Beispielen die Sendervorrichtung 100 in der Blockchain 300 eine Statusinformation auf „anhängig“ setzen in Assoziation mit dem Hashwert und der digitalen Signatur. Die Statusinformation kann eine Ebene der Gültigkeit der Daten, die zum Erhalten des Hashwerts verwendet wurden, anzeigen. Beispielsweise kann die Statusinformation auf „aktiv“ gesetzt werden, wenn eine spezifizierte Anzahl von Empfängern (der Daten, die zum Erhalten des Hashwerts verwendet wurden) bestätigt haben, dass die entsprechenden Daten legitim sind. Die Statusinformation „aktiv“ kann anzeigen, dass die entsprechenden Daten legitim und aktuell in Verwendung sind. Dieser Bestätigungsprozess wird später nachfolgend beschrieben werden. Weiter kann die Statusinformation auf „veraltet“ gesetzt werden, wenn die entsprechenden Daten obsolet werden. In einem solchen Fall kann die Sendervorrichtung 100 auf die Blockchain 300 zugreifen und die Statusinformation, die in Assoziation mit dem Hashwert, der erhalten wurde unter Verwendung der entsprechenden Daten, auf „veraltet“ setzen.
  • Wenn die Sendervorrichtung 100 den Hashwert und die digitale Signatur (sowie in den oben genannten Beispielen die Statusinformation) in der Blockchain 300 speichert, kann der Blockchain Knoten BN_1 eine Transaktion, welche die Speichern Aktion und die Inhalte der gespeicherten Information (zum Beispiel den Hashwert, die digitale Signatur, die Statusinformation) an die Blockchain 300 senden, so dass die Transaktion in dem Ledger der Blockchain 300 aufgezeichnet werden kann.
  • Der Empfänger kann den neuen Dateneintrag (zum Beispiel die neuen Bankdetails) und den Zufallswert, der verwendet wurde, um den Hashwert bei der Sendervorrichtung 100 zu erhalten, über das eine oder die mehreren Kommunikationsmittel, welche die Blockchain 300 nicht involvieren, wie oben genannt, erhalten (siehe S16; siehe auch S12). Der empfangene Dateneintrag kann als Daten, die zu verifizieren sind, betrachtet werden. Der Empfänger kann die Daten, die zu verifizieren sind (zum Beispiel die neuen Bankdetails) und den Zufallswert der Empfängervorrichtung 100 eingeben.
  • Die Empfängeranwendung, die auf der Empfängervorrichtung 200 installiert ist, kann die Daten, die zu verifizieren sind, mit dem Zufallswert konkatenieren und unter Verwendung der Hashfunktion einen Hashwert der Daten, die mit dem Zufallswert konkateniert sind, erhalten. Die Hashfunktion ist dieselbe Hashfunktion wie diejenige, die bei der Sendervorrichtung 100 verwendet wird, und kann in der Empfängeranwendung als eine deren Funktionen enthalten sein. Die Empfängervorrichtung 200 kann auf die Blockchain 300 zugreifen, indem sie den Blockchain Knoten BN_2 betätigt, und kann bestimmen, ob der Hashwert, der bei der Empfängervorrichtung 200 erhalten wurde, in der Blockchain 300 gespeichert ist (siehe S18). Beispielsweise kann die Empfängervorrichtung 200 die Bestimmung ausführen, indem sie den Hashwert, der bei der Empfängervorrichtung 200 erhalten wurde, mit Hashwerten vergleicht, die in der Blockchain 300 gespeichert sind. Wenn der Hashwert, der bei der Empfängervorrichtung 200 erhalten wurde, mit einem der Hashwerte, die in der Blockchain 300 gespeichert sind übereinstimmt (oder in anderen Worten mit diesem identisch ist), kann der Hashwert, der bei der Empfängervorrichtung 200 erhalten wurde, als in der Blockchain 300 gespeichert bestimmt werden.
  • Wenn der Hashwert, der bei der Empfängervorrichtung 200 erhalten wurde, in der Blockchain 300 gespeichert ist, kann die Empfängervorrichtung 200 zusätzlich unter Verwendung eines öffentlichen Schlüssels des Senders die digitale Signatur des Senders überprüfen, die in der Blockchain 300 in Assoziation mit dem Hashwert gespeichert ist. Die Überprüfung kann ausgeführt werden unter Verwendung der Empfängeranwendung bei Schritt S18 von 2. Der öffentliche Schlüssel des Senders korrespondiert mit dem privaten Schlüssel des Senders, der verwendet wurde zum digitalen Signieren der auszutauschenden Daten, die mit dem Zufallswert konkateniert sind. Der öffentliche Schlüssel des Senders kann zum Beispiel mit den Daten, die zu verifizieren sind, und dem Zufallswert an die Empfängervorrichtung 200 übermittelt werden, oder bevor die Daten, die zu verifizieren sind, und der Zufallswert an die Empfängervorrichtung 200 gesendet werden. Alternativ kann die Empfängervorrichtung 200 den öffentlichen Schlüssel des Senders beispielsweise von einer Webseite des Senders erhalten. Um die digitale Signatur des Senders zu überprüfen kann die Empfängervorrichtung 200 beispielsweise die digitale Signatur unter Verwendung des öffentlichen Schlüssels des Senders entschlüsseln und kann die entschlüsselte digitale Signatur mit dem Hashwert der Daten, die mit dem Zufallswert konkateniert sind, vergleichen, der durch die Empfängervorrichtung 200 erhalten wurde. Wenn die entschlüsselte digitale Signatur identisch mit dem Hashwert, der bei der Empfängervorrichtung erhalten wurde, ist, kann die digitale Signatur als gültig bestimmt werden.
  • Das Bestimmen, ob der Hashwert, der bei der Empfängervorrichtung 200 erhalten wurde, in der Blockchain 300 gespeichert ist, und das Verifizieren der entsprechenden digitalen Signatur des Senders kann als ein Bestätigungsprozess der Daten, die dem Hashwert entsprechen, betrachtet werden, der durch die Empfängervorrichtung 200 ausgeführt werden.
  • Wenn der Hashwert, der bei der Empfängervorrichtung 200 erhalten wurde, in der Blockchain 300 gespeichert ist und die entsprechenden digital Signatur des Senders als gültig bestimmt wird, können die empfangenen Daten, die zu verifizieren sind (zum Beispiel neue Bankinformation), als legitim betrachtet werden. Wenn die empfangenen Daten als legitim bestimmt werden, kann dies so verstanden werden, dass die empfangenen Daten tatsächlich die auszutauschenden Daten sind.
  • Wenn die empfangenen Daten als legitim bestimmt werden, kann die Empfängervorrichtung 200 die empfangenen Daten (zum Beispiel neue Bankinformation) den Masterdaten hinzufügen, die in der einen oder den mehreren Datenbanken gespeichert sind, welche von dem ERP System 202 verwaltet werden (siehe S20).
  • Weiter kann in einigen Beispielen, wenn die empfangenen Daten als legitim bestimmt werden, die Empfängervorrichtung 200 zumindest die empfangenen Daten unter Verwendung eines privaten Schlüssels des Empfängers digital signieren, wodurch eine digitale Signatur des Empfängers für die empfangenen Data erzeugt wird. Um zumindest die empfangenen Daten digital zu signieren, kann die Empfängervorrichtung 200 beispielsweise einen Hashwert von zumindest den empfangenen Daten erhalten unter Verwendung der Hashfunktion, und die Hashfunktion mit dem privaten Schlüssel des Empfängers verschlüsseln. Danach kann die Empfängervorrichtung 200 in der Blockchain 300 die digitale Signatur des Empfängers in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem Zufallswert konkateniert sind, speichern, indem der Blockchain Knoten BN_2 betätigt wird. Die digitale Signatur des Empfängers kann betrachtet werden, anzuzeigen, dass der Empfänger bestätigt hat, dass die Daten, die dem Hashwert entsprechen, legitim sind. Wenn die Empfängervorrichtung 200 die digitale Signatur des Empfängers in der Blockchain 300 in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem Zufallswert konkateniert sind, speichert, kann eine Transaktion, welche das Speichern der digitalen Signatur des Empfängers anzeigt, in dem Ledger der Blockchain 300 aufgezeichnet werden.
  • Wie oben erwähnt kann in einigen Beispielen Statusinformation in der Blockchain 300 in Assoziation mit dem Hashwert und der digitalen Signatur des Senders gespeichert werden. In diesen Beispielen kann die Empfängervorrichtung 200 weiter von der Blockchain 300 die Statusinformation, die in Assoziation mit dem Hashwert der Daten, die als legitim bestimmt wurden, gespeichert ist, abrufen. Die Empfängervorrichtung 200 kann beispielsweise die Statusinformation in den Masterdaten für den Sender speichern, in Assoziation mit und zusätzlich zu den Daten, die als legitim bestimmt wurden. Alternativ kann die Empfängervorrichtung 200 abhängig von der Statusinformation bestimmen, ob die empfangenen Daten in den Masterdaten gespeichert werden sollen oder nicht. Beispielsweise kann die Empfängervorrichtung 200 bestimmen, die als legitim bestimmten Daten nur dann in den Masterdaten zu speichern, wenn die Statusinformation auf „aktiv“ gesetzt ist.
  • Weiter kann die Empfängervorrichtung 200 beispielsweise das Erzeugen und Speichern der digitalen Signatur des Empfängers für die Daten, die als legitim bestimmt wurden, nur dann ausführen, wenn die Statusinformation, die in der Blockchain 300 in Assoziation mit dem Hashwert, welcher den Daten, die als legitim bestimmt wurden, entspricht, gespeichert ist, auf „anhängig“ gesetzt ist. Wie oben erwähnt kann die Statusinformation von „anhängig“ auf „aktiv“ geändert werden, wenn eine spezifizierte Anzahl an Empfängern bestätigt haben, dass die entsprechenden Daten legitim sind. Dementsprechend kann die Statusinformation von „anhängig“ auf „aktiv“ geändert werden, wenn die spezifizierte Anzahl an digitalen Signaturen der Empfänger in der Blockchain 300 in Assoziation mit dem Hashwert, welcher den Daten, die als legitim bestimmt wurden, entspricht, gespeichert sind. Daher kann eine gewisse Zeitdauer verstreichen von dem Zeitpunkt an, wenn der Hashwert, welcher den auszutauschenden Daten entspricht, durch die Sendervorrichtung 100 in der Blockchain 300 gespeichert wird, und die entsprechende Statusinformation auf „anhängig“ gesetzt wird, bis zu dem Zeitpunkt, zu welchem eine spezifizierte Anzahl an Empfängern bestätigt haben, dass die entsprechenden Daten legitim sind und die entsprechende Statusinformation auf „aktiv“ geändert wird. Diese Wartezeit (mit anderen Worten, Bestätigungsdauer oder Qualifizierungsdauer), bevor die Statusinformation für bestimmte Daten auf „aktiv“ gesetzt wird, kann dem Sender die Möglichkeit geben, die Daten (zum Beispiel neue Bankinformation) von der Blockchain 300 zurückzuziehen, bevor die Daten in Verwendung kommen. In einigen Umständen kann ein Warten von einigen wenigen Tagen die Chance erhöhen, dass eine Attacke erkannt und dieser begegnet wird, bevor es zu Verlusten kommt.
  • Wenn der Hashwert, der bei der Empfängervorrichtung 200 aus den empfangenen Daten, die mit dem Zufallswert konkateniert sind, erhalten wurde, nicht in der Blockchain 300 gespeichert ist (mit anderen Worten wenn kein in der Blockchain 300 gesicherte Hashwert mit dem bei der Empfängervorrichtung 200 erhaltenen Hashwert übereinstimmt), können die empfangenen Daten nicht als legitim betrachtet werden (und sind höchstwahrscheinlich betrügerisch). Weiter, selbst wenn der Hashwert, der bei der Empfängervorrichtung 200 erhalten wurde, in der Blockchain 300 gespeichert ist, aber wenn die digitale Signatur, die in Assoziation mit dem Hashwert in der Blockchain 300 gespeichert ist, als ungültig bestimmt wird, können die empfangenen Daten nicht als legitim betrachtet werden.
  • Wenn daher kein übereinstimmender Hashwert in der Blockchain 300 aufgefunden wird, oder wenn die entsprechende digitale Signatur in der Blockchain 300 als ungültig bestimmt wird, kann die Empfängervorrichtung 200 bestimmen, dass die empfangenen Daten nicht legitim sind, zum Beispiel nicht die auszutauschenden Daten sind. Wenn die Empfängervorrichtung 200 bestimmt, dass die empfangenen Daten nicht legitim sind, kann die Empfängervorrichtung 200 die empfangenen Daten (zum Beispiel neue Bankdetails) verwerfen (siehe S22).
  • Weiter kann, wenn die empfangenen Daten als nicht legitim bestimmt werden, die Empfängervorrichtung 200 weiter eine Benachrichtigungsinformation an den Sender senden (siehe S24). In einigen Beispielen kann die Benachrichtigungsinformation von der Empfängervorrichtung 200 über das Internet an die Sendervorrichtung 100 gesendet werden. Die Benachrichtigungsinformation kann anzeigen, dass die empfangenen Daten von dem Empfänger als nicht legitim betrachtet werden. Alternativ oder zusätzlich kann die Benachrichtigungsinformation anzeigen, dass der Hashwert der empfangenen Daten, die mit dem Zufallswert konkateniert sind, nicht in der Blockchain 300 gespeichert ist; oder dass der Hashwert der empfangenen Daten, die mit dem Zufallswert konkateniert sind, in der Blockchain 300 gespeichert ist, aber die entsprechende digitale Signatur, die in der Blockchain 300 gespeichert ist, als ungültig bestimmt wurde.
  • Wenn er die Benachrichtigungsinformation von der Empfängervorrichtung 200 empfängt, kann der Sender betrügerische Aktivität melden (S26).
  • 3 zeigt ein Beispiel von Daten, die mit einem Eintrag in der Blockchain 300 assoziiert sind. In 3 bezeichnet das Element „Hash“ einen beispielhaften Hashwert von auszutauschenden Daten, die mit einem Zufallswert konkateniert sind, gespeichert durch die Sendervorrichtung 100 in der Blockchain 300. Das Element „Status“ der 3 zeigt an, dass die Daten, welche dem beispielhaften Hashwert entsprechen, „aktiv“ sind. Dementsprechend wurden die Daten, welche dem beispielhaften Hashwert entsprechen, gezeigt in 3, als legitim bestätigt von einer spezifizierten Anzahl von Empfängern (drei in dem Beispiel von 3). Weiter zeigt das Element „Signaturen“ von 3 an, dass die digitalen Signaturen der Empfänger, die in der Blockchain 300 gespeichert werden, wenn jeweilige Empfänger bestätigt haben, dass die entsprechenden Daten legitim sind (durch Ausführen des Bestätigungsprozesses wie oben beschrieben mit Bezug auf 2).
  • Die in 3 gezeigte beispielhafte Datenstruktur kann als eine Abbildung betrachtet werden, in welcher der Schlüssel der Abbildung der Hashwert (zum Beispiel maskierte und gehashte Daten) ist, und die Werte der Status und die Signaturen der Empfänger sind. Eine Bestätigung, welche der neuen Information von vielen Empfängern gegeben wird, kann als annähernd vergleichbar mit dem Viele-Augen-Prinzip, das in Änderungsprozessen üblich ist, betrachtet werden.
  • In den oben dargelegten spezifischen beispielhaften Anwendungsfällen, gehören der Sender und der Empfänger derselben Organisation an. In anderen spezifischen beispielhaften Anwendungsfälle mögen der Sender und der Empfänger jedoch unterschiedlichen Organisationen angehören. Der Sender kann zum Beispiel ein Lieferant (Firma) sein, und der Empfänger kann ein Käufer (Firma) sein.
  • In den anderen spezifischen beispielhaften Anwendungsfällen, in welchen der Sender ein Lieferant und ein Empfänger ein Käufer ist, mag Zahlungsinformation ausgetauscht werden, zum Bespiel, wenn ein Lieferant eine Rechnung ausstellt, die Bankkonteninformation enthält, und die Rechnung an einen Käufer sendet. Viele Firmen, die Lieferanten sein können, mögen Betrug erfahren haben, der auf gefälschten Papierrechnungen beruht. In derartigen Betrugsfällen werten typischer Weise Papierrechnungen an die Firma gesendet, welche „original“ aussehen, aber inkorrekte Zahlungskanäle enthalten (in den meisten Fällen eine falsche Bankkontennummer). Recht häufig werden solche Betrugsfälle von Insidern unterstützt, oder es werden Social Engineering Techniken verwendet, um die für Zahlungen zuständigen Sachbearbeiter davon zu überzeugen, das „neue“ oder „geänderte“ Bankkonto zu akzeptieren, und um Druck aufzubauen, rasch zu zahlen.
  • Weiter können in einer Lieferanten-Kunden-Beziehung Lieferanten manchmal ihre Bankverbindungsdetails ändern.
  • Dementsprechend kann ein sicherer Prozess notwendig sein, um solche Änderungen an ihre Käufer zu übermitteln. Weiter kann es für die Käufer wünschenswert sein, den Beweis zu ermöglichen, dass solche Änderungen legitim sind.
  • Es kann daher ein Prozess, der analog zu dem in 2 gezeigten beispielhaften Prozess ist, angewandt werden in einer Situation, in welcher der Lieferant (Sender) zum Beispiel seine Bankverbindungsinformation ändert und die Änderungen an den Käufer (Empfänger) übermittelt. 4 zweigt einen weiteren beispielhaften Prozess, der auf eine solche beispielhafte Situation abzielt. Die in 4 gezeigten Schritte S10' bis S26' können als jeweils analog den Schritten S10 bis S26 der 2 betrachtet. In dieser beispielhaften Situation kann der Käufer zum Beispiel die empfangenen Daten (zum Beispiel Bankverbindungsdetails) verifizieren, indem der Hashwert der empfangenen Daten, die mit dem Zufallswert konkateniert sind, überprüft wird bei Schritt S18'. Der Käufer braucht jedoch nicht notwendig die empfangenen Daten digital signieren und in der Blockchain 300 zu speichern, um deren Zustimmung anzuzeigen, wenn die empfangenen Daten als die auszutauschenden Daten zu sein bestimmt werden.
  • Der weitere beispielhafte Prozess wie in 4 gezeigt kann auch ausgeführt werden in nochmals anderen Situationen. Wenn der Lieferant (Sender) zum Beispiel eine Rechnung an den Käufer (Empfänger) sendet, kann der Lieferant die Rechnung, welche die Bankkonteninformation und die Zufallszahl enthält, senden im Schritt S12' (auf eine Weise wie oben mit Bezug auf Schritt S12 von 2 beschrieben). Wenn der Hashwert, der der Bankkonteninformation entspricht, noch nicht in der Blockchain 300 gespeichert wurde, kann die Sendervorrichtung 100 den Hashwert der Bankkonteninformation, konkateniert mit dem Zufallswert, in der Blockchain 300 speichern im Schritt S14' (auf eine Weise wie oben mit Bezug auf Schritt S14 von 2 beschrieben). Wenn der Hashwert, welcher der Bankkonteninformation entspricht, bereits in der Blockchain 300 gespeichert ist, braucht die Sendervorrichtung 200 den Schritt S14' nicht auszuführen. Die Empfängervorrichtung 200 kann die in der empfangenen Rechnung genannte Bankkonteninformation bestätigen, indem sie den Bestätigungsprozess in den Schritten S16' und S18' ausführt (auf eine Weise wie vorstehend mit Bezug auf die Schritte S16 und S18 von 2 beschrieben). Weiter kann, im Falle der Verarbeitung einer Rechnung, der Käufer in einigen Beispielen eine Zahlung entsprechend der Rechnung nur dann ausführen, wenn die auf der Rechnung angegebene Bankkonteninformation durch den Bestätigungsprozess bestätigt wird, und die Statusinformation, die von der Blockchain 300 bezüglich der Bankkonteninformation abgerufen wird, wird auf „aktiv“ gesetzt.
  • In einigen Gegebenheiten kann der weitere beispielhafte Prozess wie in 4 gezeigt, welcher den Lieferanten und den Käufer beinhaltet, ausgeführt werden zusätzlich dazu, und nachdem, der in 2 gezeigte beispielhafte Prozess innerhalb der Organisation des Lieferanten ausgeführt wurde. In einem solchen Fall kann der Schritt S14' von 4 ausgelassen werden.
  • Auch wenn die oben aufgeführten verschiedenen spezifischen Anwendungsfälle darauf gerichtet sind, Zahlungsinformation auszutauschen, können das beispielhafte System und der beispielhafte Prozess angewandt werden, um andere Daten als Zahlungsinformation auszutauschen. Das Speichern des Hashwerts der auszutauschenden Daten, die mit einem Zufallswert konkateniert sind, in der Blockchain 300 und der Bestätigungsprozess unter Verwendung des Hashwerts, der an der Empfängervorrichtung (zum Beispiel Vorrichtung des Käufers) erhalten wird, kann auf eine Weise analog zu der oben mit Bezug auf 1 bis 3 beschriebenen ausgeführt werden, unabhängig vom Inhalt und/oder dem Typ der auszutauschenden Daten.
  • In einigen Variationen des oben beschriebenen beispielhaften Systems und Prozesses, insbesondere wo der Sender ein Lieferant und der Empfänger ein Käufer ist, kann die Sendervorrichtung 100 weiter in der Blockchain 300 eine Identifikationsinformation des Lieferanten speichern, in Assoziation mit dem Hashwert der Daten, die mit dem Zufallswert konkateniert sind, und der digitalen Signatur des Lieferanten. Die Identifikationsinformation des Lieferanten kann beispielsweise ein Name oder Pseudonym des Lieferanten sein. Die Verwendung des Pseudonyms des Lieferanten als die Identifikationsinformation kann es dem Lieferanten ermöglichen, die Involvierung in das Schema zu verstecken und Lieferantenbeziehungen zu verbergen, was eine zusätzliche Sicherheit verschaffen kann. In diesen Variationen kann die Identifikationsinformation des Lieferanten an die Empfängervorrichtung 200 übermittelt werden mit Bezug auf die zu verifizierenden Daten und den Zufallswert. Wenn in dem Bestätigungsprozess bestimmt wird, ob der bei der Empfängervorrichtung 200 erhaltene Hashwert in der Blockchain 300 gespeichert ist oder nicht, kann die Empfängervorrichtung 200 den bei der Empfängervorrichtung 200 erhaltenen Hashwert mit allein den Hashwerten, die in der Blockchain 300 in Assoziation mit dem Identifikationsinformation des relevanten Lieferanten vergleichen, und nicht mit den Hashwerten, die in Assoziation mit Identifikationsinformation anderer Lieferanten gespeichert sind.
  • 5 zeigt eine beispielhafte Hardwarekonfiguration eines Computers, der verwendet werden kann, um die Sendervorrichtung 100, die Empfängervorrichtung 200 und/oder das ERP System 202 zu implementieren. Der in 5 gezeigte Computer 7 beinhaltet eine CPU 70, einen Systemspeicher 72, eine Netzwerkschnittstelle 74, eine Festplatten- (HDD) Schnittstelle 76, eine Schnittstelle 78 für ein externes Laufwerk und Eingabe-/Ausgabe- (I/O) Schnittstellen 80. Diese Komponenten des Computers sind über einen Systembus 82 miteinander gekoppelt. Die CPU 70 kann arithmetische, logische und/oder Steueroperationen ausführen, indem sie auf den Systemspeicher 72 zugreift. Die CPU 70 kann die Prozessoren der oben beschriebenen beispielhaften Vorrichtungen und/oder des oben beschriebenen beispielhaften Systems implementieren. Der Systemspeicher 72 kann Information und/oder Anweisungen zur Verwendung in Kombination mit der CPU 70 speichern. Der Systemspeicher 72 kann volatilen und nicht volatile Speicher beinhalten, wie einen Speicher mit wahlfreiem Zugriff (RAM) 720 und einen Nur-Lese-Speicher (ROM) 722. Ein Basis-Eingabe-/Ausgabesystem (BIOS), welches die grundlegenden Routinen enthält, die dabei helfen, Information zwischen Elementen in dem Computer 7 zu transferieren, wie etwa während dem Hochfahren, kann in dem ROM 722 gespeichert sein. Der Systembus 82 kann von einer beliebigen von verschiedenen Typen von Busstrukturen sein, einschließlich einem Speicherbus oder Speichercontroller, einem Peripheriebus und einem lokalen Bus, unter Verwendung einer Vielfalt von Busarchitekturen.
  • Der Computer kann eine Netzwerkschnittstelle 74 zur Kommunikation mit anderen Computern und/oder Vorrichtungen über ein Netzwerk beinhalten.
  • Weiter kann der Computer ein Festplattenlaufwerk (HDD) 84 aufweisen, um von einer Festplatte (nicht gezeigt) zu lesen und auf diese zu schreiben, ein externes Laufwerk 86, um von einer entfernbaren Platte (nicht gezeigt) zu lesen und auf diese zu schreiben. Die entfernbare Platte kann eine Magnetplatte für ein magnetisches Plattenlaufwerk sein, oder eine optische Platte wie eine CD ROM für ein optisches Laufwerk. Die HDD 84 und das externe Laufwerk 86 sind über eine HDD Schnittstelle 76 bzw. eine Schnittstelle 78 für ein externes Plattenlaufwerk an den Systembus 82 angeschlossen. Die Laufwerke und deren zugeordnete computerlesbare Medien stellen einen nicht volatile Speicher von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und anderer Daten für den Allzweck-Computer bereit. Die relevanten Daten können in einer Datenbank organisiert sein, wie beispielsweise einer relationalen oder Objekt-Datenbank.
  • Auch wenn die hierin beschriebene beispielhafte Umgebung eine Festplatte (nicht gezeigt) und eine externe Platte (nicht gezeigt), werden die Fachleute verstehen, dass in der beispielhaften Betriebsumgebung auch andere Arten Computerlesbarer Medien verwendet werden können, die Daten speichern, auf die ein Computer zugreifen kann, wie zum Beispiel Magnetcassetten, Flashspeicherkarten, DVDs, Speicher mit wahlfreiem Zugriff, Nur-lese-Speicher und ähnliches.
  • Eine Anzahl von Programmmodulen kann auf der Festplatte, externen Platte, ROM 722 oder RAM 720 gespeichert sein, einschließlich einem Betriebssystem (nicht gezeigt), ein oder mehreren Anwendungsprogrammen 7202, anderen Programmmodulen (nicht gezeigt), und Programmdaten 7204. Die Anwendungsprogramme können zumindest einen Teil der oben beschriebenen Funktionalität beinhalten.
  • Der Computer 7 kann, mittels entsprechender Eingabe-/Ausgabeschnittstellen 80a und 80b, sowie dem Systembus 82 mit einer Eingabevorrichtung 92 verbunden sein, wie etwa einer Maus und/oder einer Tastatur, und einer Anzeigevorrichtung 94, wie einer Flüssigkristallanzeige. Wenn der Computer 7 beispielsweise als ein Tablet Computer implementiert ist, kann ein Berührungsanzeigenfeld, welches Information anzeigt und welches Eingaben empfängt, an den Computer 7 mittels einer entsprechenden Eingabe-/Ausgabeschnittstellen sowie dem Systembus 82 angeschlossen sein. Weiter kann in einigen Beispielen, auch wenn in 5 nicht gezeigt, der Computer 7 mittels einer entsprechenden Eingabe-/Ausgabeschnittstellen sowie dem Systembus 82 weiter an einen Drucker und/oder eine Bildgebungsvorrichtung, wie eine Kamera, angeschlossen sein.
  • Zusätzlich oder als eine Alternative zu einer Implementierung, die einen Computer 7 verwendet, wie in 5 gezeigt, kann ein Teil oder die Gesamtheit der Funktionalität der hierin beschriebenen beispielhaften Ausführungsformen als eine oder mehrere Hardwareschaltungen implementiert werden. Beispiele derartiger Hardwareschaltungen können, ohne hierauf beschränkt zu sein, beinhalten: „Large Scale Integration“ (LSI), Schaltungen mit reduziertem Befehlssatz (RISC), anwendungsspezifische integrierte Schaltung (ASIC) und feldprogrammierbare Gatterlogik (FPGA).

Claims (13)

  1. Verfahren zum sicheren Datenaustausch, wobei das Verfahren umfasst: Konkatenieren, durch eine Sendervorrichtung (100), von auszutauschenden Daten mit einem Zufallswert; Erhalten, durch die Sendervorrichtung (100), eines Hashwerts der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion; digitales Signieren, durch die Sendervorrichtung (100), der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung eines privaten Schlüssels eines Benutzers der Sendervorrichtung, um dadurch eine digitale Signatur des Benutzers der Sendervorrichtung (100) zu erzeugen; Speichern, in einer Blockchain (300) durch die Sendervorrichtung (100), des Hashwerts mit der digitalen Signatur des Benutzers der Sendervorrichtung (100); Empfangen, durch eine Empfängervorrichtung (200), von Daten, die zu verifizieren sind, und den Zufallswert; Konkatenieren, durch die Empfängervorrichtung (200), der empfangenen Daten mit dem Zufallswert; Erhalten, durch die Empfängervorrichtung (200), eines Hashwerts der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, unter Verwendung der Hashfunktion; Bestimmen, durch die Empfängervorrichtung (200), ob der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain (300) gespeichert ist oder nicht; Bestimmen, durch die Empfängervorrichtung (200), dass die empfangenen Daten die auszutauschenden Daten sind, wenn: der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain (300) gespeichert ist; und die digitale Signatur, die in der Blockchain (300) in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als gültig bestimmt wird unter Verwendung eines öffentlichen Schlüssels des Benutzers der Sendervorrichtung (100).
  2. Verfahren nach Anspruch 1, weiter umfassend: wenn die Empfängervorrichtung (200) bestimmt, dass die empfangenen Daten die auszutauschenden Daten sind: digitales Signieren, durch die Empfängervorrichtung (200), zumindest der empfangenen Daten unter Verwendung eines privaten Schlüssels eines Benutzers der Empfängervorrichtung, um eine digitale Signatur des Benutzers der Empfängervorrichtung (200) zu erzeugen; und Speichern, in der Blockchain (300) durch die Empfängervorrichtung (200), der digitalen Signatur des Benutzers der Empfängervorrichtung (200), in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind.
  3. Verfahren nach Anspruch 2, wobei weiter Statusinformation in der Blockchain (300) gespeichert wird in Assoziation mit dem Hashwert der Daten, die mit dem Zufallswert konkateniert sind; wobei die Statusinformation auf anhängig gesetzt wird, wenn die Sendervorrichtung (100) den Hashwert mit der digitalen Signatur des Benutzers der Sendervorrichtung (100) in der Blockchain speichert; wobei die Statusinformation von anhängig auf aktiv gesetzt wird, wenn von einer oder von mehreren Empfängervorrichtungen (200) eine spezifizierte Anzahl an digitalen Signaturen in der Blockchain in Assoziation mit dem Hashwert der Daten, die mit dem Zufallswert konkateniert sind, gespeichert werden.
  4. Verfahren nach einem der Ansprüche 1 bis 3, weiter umfassend: Speichern, durch die Empfängervorrichtung (200), der empfangenen Daten in einer Empfängerdatenbank, die mit der Empfängervorrichtung (200) verbunden ist, wenn die Empfängervorrichtung (200) bestimmt, dass die empfangenen Daten die auszutauschenden Daten sind.
  5. Verfahren nach einem der Ansprüche 1 bis 4, weiter umfassend: Bestimmen, durch die Empfängervorrichtung (200), dass die empfangenen Daten nicht die auszutauschenden Daten sind, wenn: der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, nicht in der Blockchain (300) gespeichert ist; oder der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain (300) gespeichert ist, aber die digitale Signatur, die in der Blockchain (300) in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als ungültig bestimmt wird unter Verwendung des öffentlichen Schlüssels des Benutzers der Sendervorrichtung (100); und wenn die Empfängervorrichtung (200) bestimmt, dass die empfangenen Daten nicht die auszutauschenden Daten sind, Senden einer Benachrichtigungsinformation von der Empfängervorrichtung (100) an die Sendervorrichtung (200).
  6. Sendervorrichtung (100) zum sicheren Datenaustausch, umfassend: einen Speicher, der konfiguriert ist, einen privaten Schlüssel eines Benutzers der Sendervorrichtung (100) zu speichern; und einen Prozessor, der konfiguriert ist zum: Konkatenieren von auszutauschenden Daten mit einem Zufallswert; Erhalten eines Hashwerts der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion; digitalen Signieren der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung des im Speicher gespeicherten privaten Schlüssels, um eine digitale Signatur des Benutzers der Sendervorrichtung (100) zu erzeugen; Speichern, in einer Blockchain, des Hashwerts mit der digitalen Signatur des Benutzers der Sendervorrichtung (100).
  7. Empfängervorrichtung (200) zum sicheren Datenaustausch, umfassend: einen Speicher, der konfiguriert ist, einen öffentlichen Schlüssel zu speichern, der einem privaten Schlüssel eines Benutzers einer Sendervorrichtung (100) entspricht; und einen Prozess, der konfiguriert ist zum: Empfangen von Daten, die zu verifizieren sind, und eines Zufallswerts; Konkatenieren der empfangenen Daten mit dem empfangenen Zufallswert; Erhalten eines Hashwerts der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion; Bestimmen, ob der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in einer Blockchain (300) gespeichert ist oder nicht, wobei die Blockchain (300) Hashwerte mit digitalen Signaturen speichert, wobei zumindest einer der Hashwerte durch die Sendervorrichtung (100) unter Nutzung der Hashfunktion erhalten wurde von auszutauschenden Daten, welche konkateniert sind mit der Zufallszahl, wobei die digitale Signatur, die mit dem zumindest einen der Hashwerte gespeichert ist, durch die Sendervorrichtung (100) durch digitales Signieren der auszutauschenden Daten, welche konkateniert sind mit der Zufallszahl, unter Verwendung des privaten Schlüssels des Benutzers der Sendervorrichtung (100) erhalten wurden; Bestimmen, dass die empfangenen Daten die auszutauschenden Daten sind, wenn: der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain (300) gespeichert ist; und die digitale Signatur, die in der Blockchain (300) in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als gültig bestimmt wird unter Verwendung des öffentlichen Schlüssels, der im Speicher gespeichert ist.
  8. Empfängervorrichtung (200) nach Anspruch 7, wobei der Speicher weiter konfiguriert ist, einen privaten Schlüssel eines Benutzers der Empfängervorrichtung (200) zu speichern; und wobei der Prozessor weiter konfiguriert ist zum: wenn die Empfängervorrichtung (200) bestimmt, dass die empfangenen Daten die auszutauschenden Daten sind: digitales Signieren zumindest der empfangenen Daten unter Verwendung des privaten Schlüssels, der im Speicher gespeichert ist, um eine digitale Signatur des Benutzers der Empfängervorrichtung (200) zu erzeugen; und Speichern, in der Blockchain (300), die digitale Signatur des Benutzers der Empfängervorrichtung (200), in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind.
  9. Empfängervorrichtung (200) nach Anspruch 7 oder 8, wobei der Prozessor weiter konfiguriert ist zum: Speichern der empfangenen Daten in einer Empfängerdatenbank, die mit der Empfängervorrichtung (200) verbunden ist, wenn die empfangenen Daten als die auszutauschenden Daten zu sein bestimmt werden.
  10. Empfängervorrichtung (200) nach einem der Ansprüche 7 bis 9, wobei der Prozessor weiter konfiguriert ist zum: Bestimmen, dass die empfangenen Daten nicht die auszutauschenden Daten sind, wenn: der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, nicht in der Blockchain (300) gespeichert ist; oder der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain (300) gespeichert ist, aber die digitale Signatur, die in der Blockchain (300) in Assoziation mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als ungültig bestimmt wird unter Verwendung des öffentlichen Schlüssels des Benutzers der Sendervorrichtung; und wenn die empfangenen Daten bestimmt werden, nicht die auszutauschenden Daten zu sein, Senden einer Benachrichtigungsinformation an die Sendervorrichtung (100).
  11. System zum sicheren Datenaustausch, umfassend: die Sendervorrichtung (100) nach Anspruch 6; die Empfängervorrichtung (200) nach einem der Ansprüche 7 bis 10; und die Blockchain (300).
  12. Verfahren, ausgeführt durch eine Sendervorrichtung (100) zum sicheren Datenaustausch, wobei das Verfahren umfasst: Konkatenieren von auszutauschenden Daten mit einem Zufallswert; Erhalten eines Hashwerts der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion; digitales Signieren der Daten, die mit dem Zufallswert konkateniert sind, unter Verwendung eines privaten Schlüssels eines Benutzers der Sendervorrichtung (100), um dadurch eine digitale Signatur des Benutzers der Sendervorrichtung zu erzeugen (100); Speichern, in einer Blockchain (300), des Hashwerts mit der digitalen Signatur des Benutzers der Sendervorrichtung (100).
  13. Verfahren, ausgeführt durch eine Empfängervorrichtung (200) zum sicheren Datenaustausch, wobei das Verfahren umfasst: Empfangen von Daten, die zu verifizieren sind, und eines Zufallswerts; Konkatenieren der empfangenen Daten, die zu verifizieren sind, mit dem empfangenen Zufallswert; Erhalten eines Hashwerts der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, unter Verwendung einer Hashfunktion; Bestimmen, ob der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in einer Blockchain (300) gespeichert ist oder nicht, wobei die Blockchain Hashwerte mit digitalen Signaturen speichert, wobei zumindest einer der Hashwerte erhalten wird, durch eine Sendervorrichtung (100), von auszutauschenden Daten, welche konkateniert sind mit der Zufallszahl, unter Verwendung der Hashfunktion, wobei die digitale Signatur, die mit dem zumindest einem der Hashwerte gespeichert ist, erhalten wird durch die Sendervorrichtung (100) durch digitales Signieren der auszutauschenden Daten, welche konkateniert sind mit der Zufallszahl, unter Verwendung eines privaten Schlüssels des Benutzers der Sendervorrichtung (100); Bestimmen dass die empfangenen Daten die auszutauschenden Daten sind, wenn: der Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, in der Blockchain (300) gespeichert ist; und die digitale Signatur, die in der Blockchain (300) mit dem Hashwert der empfangenen Daten, die mit dem empfangenen Zufallswert konkateniert sind, gespeichert ist, als gültig bestimmt wird unter Verwendung des öffentlichen Schlüssels des Benutzers der Sendervorrichtung (100).
DE102018004423.9A 2018-06-04 2018-06-04 Sicherer Datenaustausch Pending DE102018004423A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102018004423.9A DE102018004423A1 (de) 2018-06-04 2018-06-04 Sicherer Datenaustausch
US16/416,866 US11223482B2 (en) 2018-06-04 2019-05-20 Secure data exchange

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018004423.9A DE102018004423A1 (de) 2018-06-04 2018-06-04 Sicherer Datenaustausch

Publications (1)

Publication Number Publication Date
DE102018004423A1 true DE102018004423A1 (de) 2019-12-05

Family

ID=68575984

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018004423.9A Pending DE102018004423A1 (de) 2018-06-04 2018-06-04 Sicherer Datenaustausch

Country Status (2)

Country Link
US (1) US11223482B2 (de)
DE (1) DE102018004423A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022002083B3 (de) 2022-06-10 2023-10-05 Mercedes-Benz Group AG Verfahren zur Überwachung des Betriebs einer Verbindungsanordnung zwischen lnterlock-Komponenten sowie lnterlock-Komponente zur Verwendung in einer lnterlock- Schleife

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11252166B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11251963B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
US10963854B2 (en) * 2019-07-31 2021-03-30 Advanced New Technologies Co., Ltd. Blockchain-based electronic bill reimbursement method, apparatus, and electronic device
US11310051B2 (en) 2020-01-15 2022-04-19 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
US11722312B2 (en) * 2020-03-09 2023-08-08 Sony Group Corporation Privacy-preserving signature
US20210390549A1 (en) * 2020-06-15 2021-12-16 Capital One Services, Llc Systems and methods for building blockchains for verifying assets for smart contracts
SG10202102327UA (en) * 2021-03-08 2021-09-29 Alipay Labs Singapore Pte Ltd Methods and devices for verifying data integrity
US11790057B2 (en) 2021-08-17 2023-10-17 Sap Se Controlling program execution using an access key
GB2615820A (en) * 2022-02-22 2023-08-23 Nchain Licensing Ag Data exchange attestation method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170149819A1 (en) * 2015-11-25 2017-05-25 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy- preserving blockchain network
US20170302450A1 (en) * 2015-05-05 2017-10-19 ShoCard, Inc. Identity Management Service Using A Blockchain Providing Certifying Transactions Between Devices
US20180101848A1 (en) * 2016-10-12 2018-04-12 Bank Of America Corporation System for managing a virtual private ledger and distributing workflow of authenticated transactions within a blockchain distributed network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097356B2 (en) * 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170302450A1 (en) * 2015-05-05 2017-10-19 ShoCard, Inc. Identity Management Service Using A Blockchain Providing Certifying Transactions Between Devices
US20170149819A1 (en) * 2015-11-25 2017-05-25 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy- preserving blockchain network
US20180101848A1 (en) * 2016-10-12 2018-04-12 Bank Of America Corporation System for managing a virtual private ledger and distributing workflow of authenticated transactions within a blockchain distributed network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"MultiChain Private Blockchain – White Paper", Juli 2015, URL: https://www.multichain.com/white-paper/ [abgerufen am 26.04.2019] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022002083B3 (de) 2022-06-10 2023-10-05 Mercedes-Benz Group AG Verfahren zur Überwachung des Betriebs einer Verbindungsanordnung zwischen lnterlock-Komponenten sowie lnterlock-Komponente zur Verwendung in einer lnterlock- Schleife

Also Published As

Publication number Publication date
US11223482B2 (en) 2022-01-11
US20190372776A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
DE102018004423A1 (de) Sicherer Datenaustausch
DE60034159T2 (de) Verfahren zur elektronischen speicherung und wiedergewinnung von authentifizierten originaldokumenten
EP3560138B1 (de) Verteiltes blockkettenbasiertes verfahren zum kollektiven signieren einer datei durch mehrere parteien
JP2021519531A (ja) ブロックチェーン・ネットワークに対するドキュメント・アクセス
US6796489B2 (en) Processing electronic documents with embedded digital signatures
DE60304744T2 (de) Verfahren,vorrichtung und computerprogramme zur erzeugung und/oder verwendungkonditionaler elektronischer signaturen zur meldung von statusänderungen
DE60211841T2 (de) Vorrichtung zur Aktualisierung und zum Entzug der Gültigkeit einer Marke in einer Infrastruktur mit öffentlichen Schlüsseln
DE69724947T2 (de) Rechnersystem und Verfahren zur Sicherung einer Datei
US7069443B2 (en) Creating and verifying electronic documents
DE602004012996T2 (de) Verfahren und vorrichtung zum authentifizieren von benutzern und websites
US20170262778A1 (en) Management of Workflows
US9344416B2 (en) File vault and cloud based document notary service
DE202016008801U1 (de) Systeme zur Verwaltung digitaler Identitäten
US11627144B2 (en) Systems and methods for generating and validating certified electronic credentials
JP2010524086A (ja) 財務文書変換のためのシステム
DE112020005075B4 (de) Effiziente schwellenwertspeicherung von datenobjekten
DE102012102867A1 (de) Vorrichtung und Verfahren zum Online-ID-Handling
US11551229B2 (en) Payslip verification for blockchain transaction
DE112021002053T5 (de) Verrauschte Transaktion zum Schutz von Daten
DE202015009601U1 (de) System zur persönlichen Identifizierung und Verifizierung
CN110175316B (zh) 一种基于区块链的媒体号交互方法、系统及存储介质
US11301823B2 (en) System and method for electronic deposit and authentication of original electronic information objects
DE112022000906T5 (de) Trennen von blockchain-daten
CN111797426B (zh) 一种用于去信任通知服务的方法和系统
WO2022200035A1 (de) Verfahren und vorrichtung zum erzeugen, bereitstellen und weitergeben eines vertrauenswürdigen elektronischen datensatzes oder zertifikates basierend auf einem einen nutzer betreffenden elektronischen dokument

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed