-
Die vorliegende Offenbarung bezieht sich auf ein System und ein Verfahren unter Verwendung einer örtlich assoziierten Blockchain-Transaktion. Die vorliegende Offenbarung bezieht sich ferner auf den Nachweis einer Anwesenheit in einem Bereich (location oracle) mit Hardware-basierter Sicherheit für Blockchain-Applikationen.
-
In manchen Situationen kann der Nachweis der Position oder des Orts einer Person oder eines Gegenstands gewünscht sein. Es kann sich daraus das Problem ergeben, nachzuweisen, dass eine bestimmte Person oder der bestimmte Gegenstand in einem bestimmten Bereich (Ort) anwesend ist und/oder dass dies zu einer bestimmten Zeit stattfindet.
-
Ein Anwendungsbereich sind beispielsweise Spiele. So kann in einem Geocaching (GPS-Schnitzeljagd) eine Anforderung darin bestehen, nachzuweisen, dass der Spieler an einem bestimmten Ort anwesend war. Bislang kann der Spieler ihren oder seinen Namen auf ein Stück Papier schreiben. Bei einem Orientierungslauf kann der Nachweis auch dergestalt erforderlich sein, dass der Spieler an einem bestimmten Ort war, wobei hier ein Zeitstempel (time stamp) einzubeziehen ist. Manche computerbasierten Spiele benötigen einen Nachweis, dass der Spieler an manchen Plätzen war, um spezielle Belohnungen zu erhalten, beispielsweise in dem nachgewiesen wird, dass der Spieler an einem Ort war, an welchem Spielfiguren in dem Spiel angeordnet sind. Darüber hinaus kann es vorstellbar sein, nachzuweisen, dass jemand selbst an speziellen Orten anwesend war, um beispielsweise Selbstaufnahmen (selfies) zu substituieren.
-
Neben dem Bereich der Spiele gibt es auch den Bereich der Arbeit. So kann beispielsweise ein Parkplatzwächter Nachweise erbringen sollen, dass sie oder er an speziellen Orten war. Ein Lastwagenfahrer kann ebenfalls eine derartige Anforderung nachweisen. Ähnliche Anforderungen können bei einer Lieferkette entstehen.
-
Daneben können auch im Bereich des Internets der Dinge (Internet of Things - loT) Nachweise gewünscht werden, etwa dass ein Roboter nachweist, dass er an einem bestimmten Ort war.
-
Für einen Nachweis der örtlichen Anwesenheit können Sensordaten genutzt werden, beispielsweise GPS (global positioning system; globales Positionierungssystem), WLAN (Drahtlosnetzwerke), Mobilfunknetzwerke, Beschleunigungssensoren und dergleichen.
-
Wünschenswert wären Konzepte zum Positionsnachweis, die fälschungssicher sind
-
Gemäß einem Ausführungsbeispiel umfasst ein Verfahren ein Erzeugen einer signierten Blockchain-Transaktion unter Verwendung einer in einem örtlichen Bereich angeordneten gesicherten Recheneinrichtung und einer Vorrichtung, die zur wechselseitigen Kurzdistanzkommunikation eingerichtet sind. Das Verfahren umfasst ein Assoziieren der signierten Blockchain-Transaktion mit dem örtlichen Bereich, so dass durch die signierte Blockchain-Transaktion eine Anwesenheit der Vorrichtung in dem örtlichen Bereich assoziiert ist. Durch Assoziieren der signierten Blockchain-Transaktion mit dem örtlichen Bereich wird eine hohe Zuverlässigkeit des Nachweises einer örtlichen Anwesenheit der Vorrichtung in dem örtlichen Bereich erreicht, da über die Kurzdistanzkommunikation die Anwesenheit erforderlich ist und über die Blockchain-Transaktion eine hohe Fälschungssicherheit erhalten wird.
-
Gemäß einem Ausführungsbeispiel umfasst ein System eine in einem örtlichen Bereich angeordnete gesicherte Recheneinrichtung, die für eine Kurzdistanzkommunikation eingerichtet ist. Das System umfasst eine Vorrichtung, die ebenfalls für die Kurzdistanzkommunikation eingerichtet ist. Die Vorrichtung ist ausgebildet, um eine Blockchain-Transaktion unter Verwendung der Kurzdistanzkommunikation an die gesicherte Vorrichtung zu übermitteln. Die gesicherte Recheneinrichtung ist ausgebildet, um die Blockchain-Transaktion zu empfangen, unter Verwendung einer Signatur zu signieren, um eine signierte Blockchain-Transaktion zu erhalten, und um die signierte Blockchain-Transaktion an die Vorrichtung oder einen anderen Teilnehmer des Systems zu übermitteln. Das System ist ausgebildet, um die signierte Blockchain-Transaktion in die Blockchain zu integrieren, und um mit der Signatur den örtlichen Bereich zu assoziieren, so dass durch die signierte Blockchain-Transaktion einer Anwesenheit der Vorrichtung benachbart zu der gesicherten Recheneinrichtung in dem örtlichen Bereich assoziiert ist.
-
Weitere Ausführungsbeispiele sind in den abhängigen Patentansprüchen definiert.
-
Bevorzugte Ausführungsbeispiele der vorliegenden Offenbarung werden nachfolgend bezugnehmend auf die beiliegenden Zeichnungen erläutert. Es zeigen:
- 1 ein schematisches Flussdiagramm eines Verfahrens gemäß einem Ausführungsbeispiel;
- 2 ein schematisches Blockdiagramm eines Systems gemäß einem Ausführungsbeispiel;
- 3 ein schematisches Ablaufdiagramm eines Verfahrens gemäß einem Ausführungsbeispiel, das zumindest einen Teil des Verfahrens aus 1 implementieren kann;
- 4 ein schematisches Flussdiagramm eines Verfahrens gemäß einem Ausführungsbeispiel, das zusätzliche Schritte zu dem Verfahren aus 1 aufweist; und
- 5 ein schematisches Blockschaltbild eines Systems gemäß einem Ausführungsbeispiel, bei dem eine Blockchain-Transaktion unter Einbeziehung von Informationen einer Verifikationsentität oder Zeugenvorrichtung erfolgen kann.
-
Bevor nachfolgend Ausführungsbeispiele der vorliegenden Erfindung im Detail anhand der Zeichnungen näher erläutert werden, wird darauf hingewiesen, dass identische, funktionsgleiche oder gleichwirkende Elemente, Objekte und/oder Strukturen in den unterschiedlichen Figuren mit den gleichen Bezugszeichen versehen sind, so dass die in unterschiedlichen Ausführungsbeispielen dargestellte Beschreibung dieser Elemente untereinander austauschbar ist bzw. aufeinander angewendet werden kann.
-
Ausführungsbeispiele beziehen sich auf die Verwendung einer Blockchain-Transaktion. Eine Blockchain-Transaktion bezieht sich dabei auf die Hinzufügung eines Datensatzes bzw. eines Blocks zu einer Anzahl von Blöcken und eine Verkettung oder Verknüpfung dieses neuen Blocks mit den bestehenden Blöcken, gegebenenfalls unter Verwendung kryptographischer Verfahren. Da die Blöcke für sämtliche Teilnehmer des Systems zugänglich sind kann eine hohe Fälschungssicherheit erhalten werden.
-
Ausführungsbeispiele beziehen sich auf Kurzdistanzkommunikation. Hierunter wird eine drahtgebundene oder drahtlose Kommunikation über kurze Distanzen verstanden, beispielsweise weniger als 100 Meter, weniger als 50 Meter, weniger als 10 Meter oder weniger als 1 Meter, auch Bereiche von wenigen Zentimetern, etwa weniger als 50 cm, weniger als 20 cm oder weniger als 10 cm. Dadurch ermöglicht es die Kurzdistanzkommunikation, einen örtlichen Bezug zwischen den Kommunikationspartnern herzustellen, das bedeutet, die Kommunikationspartner können als innerhalb desselben, durch die Fähigkeiten oder Reichweite der Kurzdistanzkommunikation beschränkten räumlichen Bereichs anwesend angenommen werden. Wird beispielsweise einer der Kommunikationspartner als örtlich unveränderlich oder als Referenzposition bzw. Referenzort betrachtet, so kann die Anwesenheit des anderen Kommunikationspartners im Bereich des Referenzkommunikationspartners angenommen werden. Beispiele für eine Kurzdistanzkommunikation sind beispielsweise Bluetooth®-Verbindungen, Verbindungen innerhalb eines drahtlosen lokalen Netzwerks (WLAN) oder eine Nahfeldkommunikation (near field communication - NFC). Alternativ oder zusätzlich zur Verwendung von Funksignalen können optische und/oder akustische Signale übermittelt werden.
-
1 zeigt ein schematisches Flussdiagramm eines Verfahrens 100 gemäß einem Ausführungsbeispiel. Ein Schritt 110 umfasst ein Erzeugen einer signierten Blockchain-Transaktion unter Verwendung einer in einem örtlichen Bereich angeordneten gesicherten Recheneinrichtung und einer Vorrichtung, die zur wechselseitigen Kurzdistanzkommunikation eingerichtet sind. Ein Schritt 120 umfasst ein Assoziieren der signierten Blockchain-Transaktion mit dem örtlichen Bereich, so dass durch die signierte Blockchain-Transaktion eine Anwesenheit der Vorrichtung in dem örtlichen Bereich assoziiert ist.
-
Unter Signierung einer Blockchain-Transaktion kann verstanden werden, dass es innerhalb des Blockchain-Systems nachvollziehbar ist, welcher der teilnehmenden Knoten oder Vorrichtungen die Signatur hinzugefügt oder erzeugt hat. Die Signatur kann dabei eindeutig sein, so dass die Signatur neben einer Identität der Vorrichtung auch mit einem örtlichen Bereich oder einer Position der Vorrichtung assoziierbar ist, insbesondere wenn diese Position innerhalb des Blockchain-Systems bekannt ist. Dadurch ist es möglich, innerhalb des Blockchain-Systems anzunehmen oder zu assoziieren, dass die beiden an der Transaktion beteiligten Vorrichtungen aufgrund der limitierten Reichweite der Kurzdistanzkommunikation in räumlicher Nähe zueinander angeordnet sind, zumindest zu einem Zeitpunkt der Generierung der Blockchain-Transaktion.
-
2 zeigt ein schematisches Blockdiagramm eines Systems 20 gemäß einem Ausführungsbeispiel. Das System 20 umfasst eine gesicherte Recheneinrichtung 12, die für eine Kurzdistanzkommunikation 14 eingerichtet ist. Hierfür kann die Vorrichtung 12 eine entsprechend eingerichtete drahtlose und/oder drahtgebundene Kommunikationsschnittstelle aufweisen. Als gesicherte Recheneinrichtung können Recheneinrichtungen verstanden werden, die spezielle Sicherungsmaßnahmen gegen eine Manipulation aufweisen, etwa eine Manipulationserkennung sowie geeignete Maßnahmen, um dieser entgegenzuwirken. Hierzu können beispielsweise Maßnahmen gezählt werden, die einen Betrieb der Vorrichtung aktiv verändern oder beenden und/oder Speicherinhalte verändern und/oder löschen. Beispiele für eine gesicherte Recheneinrichtung sind beispielsweise Sicherheitscontroller (secure controller), sichere Elemente (secure element) oder dergleichen.
-
Die gesicherte Recheneinrichtung 12 kann innerhalb des Blockchain-Systems mit einem veränderlichen oder konstanten, das bedeutet, unveränderlichen Ort angeordnet sein. Hierzu kann die gesicherte Recheneinrichtung mit einem physikalischen Objekt 16 mechanisch fest verbunden sein. Das physikalische Objekt 16 kann beispielsweise ein immobiles Objekt sein, beispielsweise ein Hydrant, ein Laternenpfahl, ein Gebäude oder eine sonstige Installation. Hierdurch kann die Position oder der Ort der gesicherten Recheneinrichtung 12 mit der Position bzw. dem Ort des physikalischen Objekts 16 gleichgesetzt werden. Dies schließt nicht aus, dass ein anderes physikalisches Objekt 16 beweglich sein kann. Es ist vorstellbar, dass das physikalische Objekt 16 beispielsweise ein Teil eines Fahrzeugs zu Land, zu Luft oder zu Wasser ist oder von einem solchen transportiert wird, so dass die gesicherte Recheneinrichtung 12 als an dem möglicherweise festen Ort des ansonsten beweglichen physikalischen Objekts 16 angesehen werden kann.
-
Obwohl die Blockchain-Transaktion eine Angabe über den Ort der Transaktion enthalten kann, ist dies für hierin beschriebene Ausführungsbeispiele nicht erforderlich. So kann durch Assoziation eines Teilnehmers oder mehrerer Teilnehmer mit einem bestimmten Ort innerhalb des Netzwerks die Angabe über den örtlichen Bereich auch implizit erfolgen. Bspw. kann eine Kennung der Vorrichtung 18 oder eines Nutzers hiervon bzw. der gesicherten Recheneinrichtung 12 mit dem entsprechenden Ort oder Bereich assoziiert sein, bspw. in einer zentralen oder verteilten Datenbank.
-
Das System 20 umfasst ferner eine Vorrichtung 18, die für die Kurzdistanzkommunikation 14 eingerichtet ist. Hierfür kann die Vorrichtung 18 eine entsprechend eingerichtete drahtlose und/oder drahtgebundene Kommunikationsschnittstelle aufweisen Die Vorrichtung 18 kann eine mobile Vorrichtung sein, beispielsweise ein Mobiltelefon oder Smartphone, ein Tablet-Computer, ein Laptop, ein PDA (personal digital assistant, persönlicher digitaler Assistent), eine Smartwatch (intelligente Uhr) oder ein Teil eines Wearable (zur Kommunikation eingerichtetes Kleidungsstück).
-
Die Vorrichtung 18 ist ausgebildet, um eine Blockchain-Transaktion unter Verwendung der Kurzdistanzkommunikation 14 an die gesicherte Recheneinrichtung 12 zu übermitteln. Nachdem beispielsweise in einem Schritt 210 eines Verfahrens 200 die Kurzdistanzkommunikation 14 eingerichtet ist, kann in einem Schritt 220 die von der Vorrichtung 18 erzeugte Transaktion an die gesicherte Recheneinrichtung 12 übermittelt werden. Die gesicherte Recheneinrichtung 12 kann konfiguriert sein, um die Blockchain-Transaktion zu empfangen, und um die Blockchain-Transaktion unter Verwendung einer Signatur zu signieren. Hierdurch kann eine signierte Blockchain-Transaktion erhalten werden. In einem Schritt 230 kann die gesicherte Recheneinrichtung 12 unter Verwendung der Kurzdistanzkommunikation 14 die signierte Blockchain-Transaktion an die Vorrichtung 18 übermitteln.
-
Ein Signieren der Blockchain-Transaktion kann durch die Vorrichtung 18 erfolgen, so dass bereits eine signierte Transaktion an die gesicherte Recheneinrichtung 12 übermittelt wird. Alternativ oder zusätzlich kann eine Signatur durch die gesicherte Recheneinrichtung 12 angefügt werden bzw. ein Signieren der Blockchain-Transaktion durch die gesicherte Recheneinrichtung 12 erfolgen. Ein Signieren der Blockchain-Transaktion kann eine Verwendung eines privaten Schlüssels der Vorrichtung 18 bzw. der gesicherten Recheneinrichtung 12 umfassen. Das bedeutet, dass der verwendete Schlüssel gemäß diesem Ausführungsbeispiel geheim ist. Ein Nachweis, dass die Vorrichtung 18 in dem örtlichen Bereich 24 war, kann dadurch erfolgen, dass der örtliche Bereich 24 der einzige Platz sein kann, wo es möglich ist, den privaten Schlüssel der gesicherten Recheneinrichtung 12 zu nutzen oder zu erfahren, der in der gesicherten Recheneinrichtung 12 gespeichert ist.
-
In einem Schritt 240 kann die Vorrichtung 18 die signierte Transaktion an ein Blockchain-Netzwerk 22 übermitteln. Alternativ oder zusätzlich zu den Schritten 230 und/oder 240 kann auch die gesicherte Recheneinrichtung 12 die signierte Blockchain-Transaktion an das Blockchain-Netzwerk 22 übermitteln. In einem Schritt 250 kann die Blockchain-Transaktion in dem Blockchain-Netzwerk so gespeichert werden, dass das verteilte Konto der Blockchain-Einrichtung mit einem Zeitstempel (time stamp) hinterlegt wird und kryptographisch geprüft wird sowie durch Knoten und Mineure (miners) gesichert wird. Dadurch kann die entsprechende Information für jeden Teilnehmer verfügbar sein. Die Übermittlung einer Nachricht an das Blockchain-Netzwerk 22 bzw. das System 20 kann durch Übermittlung einer Nachricht an einen oder mehrere Teilnehmer erfolgen, welche die Nachricht dann weiterverbreiten können.
-
Das System 20 ist ausgebildet, um die signierte Blockchain-Transaktion in die Blockchain zu integrieren, und um mit der Signatur den örtlichen Bereich der gesicherten Recheneinrichtung 12 bzw. des physikalischen Objekts 16 zu assoziieren. Durch übermitteln der Blockchain-Transaktion an das Blockchain-System bzw. die entsprechenden Teilnehmer kann ein Integrieren der signierten Blockchain-Transaktion in die Blockchain erfolgen. Das bedeutet, das Blockchain-Netzwerk 20 kann davon ausgehen bzw. Innerhalb des Systems kann es angenommen werden, dass mit der Signatur eine Erzeugung der Transaktion in dem örtlichen Bereich der gesicherten Recheneinrichtung 12 bzw. des physikalischen Objekts 16 erfolgt ist. Dadurch kann erreicht werden, dass durch die signierte Blockchain-Transaktion eine Anwesenheit der Vorrichtung 18 benachbart zu der gesicherten Recheneinrichtung 12 in dem örtlichen Bereich 24 assoziiert ist.
-
Ein Signieren der Blockchain-Transaktion kann durch die Vorrichtung 18 erfolgen, so dass bereits eine signierte Transaktion an die gesicherte Recheneinrichtung 12 übermittelt wird. Alternativ oder zusätzlich kann eine Signatur durch die gesicherte Recheneinrichtung 12 angefügt werden bzw. ein Signieren der Blockchain-Transaktion durch die gesicherte Recheneinrichtung 12 erfolgen. Ein Signieren der Blockchain-Transaktion kann eine Verwendung eines privaten Schlüssels der Vorrichtung 18 bzw. der gesicherten Recheneinrichtung 12 umfassen. Das bedeutet, dass der verwendete Schlüssel gemäß diesem Ausführungsbeispiel geheim ist.
-
3 zeigt ein schematisches Ablaufdiagramm eines Verfahrens 300 gemäß einem Ausführungsbeispiel, das zumindest einen Teil des Schritts 110 implementieren kann. In einem Schritt 310 erfolgt ein Erstellen einer Blockchain-Transaktion unter Verwendung der Vorrichtung. In einem Schritt 320 erfolgt ein Übermitteln der Blockchain-Transaktion an die gesicherte Recheneinrichtung. Der Schritt 320 kann dem Schritt 220 entsprechen.
-
In einem Schritt 330 erfolgt ein Signieren der Blockchain-Transaktion unter Verwendung der gesicherten Recheneinrichtung, um die signierte Blockchain-Transaktion zu erhalten. Diese signierte Blockchain-Transaktion kann beispielsweise durch Ausführen des Schritts 230 an die Vorrichtung bzw. das Blockchain-System übermittelt werden.
-
4 zeigt ein schematisches Flussdiagramm eines Verfahrens 400 gemäß einem Ausführungsbeispiel. Das Verfahren 400 kann die Schritte 110 und 120 des Verfahrens 100 umfassen. Optional kann ein Schritt 410, 420 und/oder 430 ausgeführt werden. Eine Reihenfolge der Schritte 110, 410, 420, 430 und 120 kann dabei von der Darstellung der 4 abweichen.
-
Ein Schritt 410 des Verfahrens 400 umfasst ein Assoziieren eines örtlichen Bereichs, etwa des örtlichen Bereichs 24 mit der Signatur, so dass durch die signierte Blockchain-Transaktion eine Anwesenheit der Vorrichtung 18 benachbart und mit einer kurzen Distanz zu der gesicherten Recheneinrichtung12 in dem örtlichen Bereich 24 assoziiert ist. Eine Assoziierung kann in hierin beschriebenen Ausführungsbeispielen so ausgeführt werden, dass die Verknüpfung oder Assoziation dokumentiert oder überprüfbar festgehalten ist. Der Schritt 410 kann ferner auf ein Zuweisen eines Zeitpunkts und zu der signierten Blockchain-Transaktion umfassen. Hierdurch kann erreicht werden, dass durch die signierte Blockchain-Transaktion die Anwesenheit der Vorrichtung in dem örtlichen Bereich 24 zu dem angegebenen Zeitpunkt assoziiert ist. Neben der reinen Anwesenheit kann somit auch eine zeitliche Komponente in die Blockchain-Transaktion integriert werden.
-
Der Schritt 420 umfasst ein Übermitteln der signierten Blockchain-Transaktion an einen Teilnehmer eines Systems, welches die Vorrichtung und die gesicherte Recheneinrichtung umfasst, etwa durch Ausführen des Schrittes 250.
-
Der Schritt 430 kann ein Verifizieren einer Präsenz der gesicherten Recheneinrichtung in dem örtlichen Bereich unter Verwendung einer Verifikationsentität umfassen. Das bedeutet, dass die tatsächliche Anwesenheit der Vorrichtung 18 in dem örtlichen Bereich 24 bezeugt werden kann. Die Verifikationsentität kann auch als Zeuge (engl.: whitness) bezeichnet werden. Hierunter kann eine Bestätigung der durchgeführten Transaktion durch eine dritte Partei verstanden werden. Dieses Bezeugen kann dazu dienen, zu bestätigen, dass die gesicherte Recheneinrichtung 12 auch in dem örtlichen Bereich 24 angeordnet ist, vereinfacht ausgedrückt, dass die gesicherte Recheneinrichtung 12 zum Zeitpunkt der Transaktion dort ist, wohin sie innerhalb des Blockchain-Systems assoziiert wird. Dies kann durch entsprechende Nutzerbestätigungen bzw. Bestätigungen weiterer Netzwerke-Teilnehmer erfolgen.
-
5 zeigt ein schematisches Blockschaltbild eines Systems 50 gemäß einem Ausführungsbeispiel. Das System 50 kann ähnlich aufgebaut sein wie das System 20. Die Transaktion zwischen der Vorrichtung 18 und der gesicherten Recheneinrichtung 12 kann jedoch unter Einbeziehung von Informationen einer Verifikationsentität oder Zeugenvorrichtung (engl.: whitness) 26 erfolgen, die Informationen an die Vorrichtung 18 und/oder die gesicherte Recheneinrichtung 12 übermittelt, die in die Blockchain-Transaktion eingebettet werden. Die Übermittlung der Informationen an die Vorrichtung 18 bzw. die gesicherte Recheneinrichtung 12 kann drahtgebunden oder drahtlos erfolgen. Eine Verwendung einer Kurzdistanzkommunikation 14 ermöglicht eine hohe Zuverlässigkeit dieser Information. Dies kann bedeuten, dass die Verifikationsentität 26 in dem örtlichen Bereich 24 angeordnet ist, auch wenn dies nicht zwingend erforderlich ist.
-
Verfahren gemäß Ausführungsbeispielen können umfassen, dass die gesicherte Recheneinrichtung fest in dem örtlichen Bereich angeordnet wird. Unter einer festen Anordnung in dem räumlichen Bereich kann eine Anordnung dergestalt verstanden werden, dass keine zerstörungsfreie Entfernung durch Unbefugte möglich ist. Beispielsweise würde eine Entfernung zu einer Zerstörung des physikalischen Objekts 16 und/oder der gesicherten Recheneinrichtung 12 führen. Beispielsweise kann die gesicherte Recheneinrichtung 12 in Form einer flexiblen Vorrichtung, etwa einer Chipkarte oder eines kleinen Controllers, ausgebildet sein und mittels Klebstoff an dem physikalischen Objekt 16 angeordnet sein. Alternativ kann die gesicherte Recheneinrichtung 12 auch innerhalb eines Volumens des physikalischen Objekts 16 angeordnet sein, etwa in einem Gehäuse, einbetoniert oder dergleichen. Dies sind lediglich beispielhafte Ausgestaltungen, die verdeutlichen, dass eine Entfernung der gesicherten Recheneinrichtung 12 ohne dass es das Blockchain-Netzwerk 22 bemerkt, unmöglich ist oder zumindest wesentlich erschwert ist.
-
Hierin beschriebene Ausführungsbeispiele beziehen sich auf Verfahren, die zumindest teilweise in Hardware und/oder zumindest teilweise in Software ausführbar sind. So kann das Erstellen einer Transaktion sowohl durch Hardware-verdrahtete Einrichtungen oder Vorrichtungen erfolgen als auch durch Software. Ausführungsbeispiele beziehen sich insofern sowohl auf Computerprogramme mit einem Programmcode zur Durchführung hierin beschriebener Verfahren, auf Datenträger, die ein entsprechendes Computerprogramm bzw. Programmcode gespeichert haben, um eine Maschine, etwa einen Rechner oder dergleichen, zum Ausführen eines Verfahrens zu veranlassen, wenn der Code ausgeführt wird. Ausführungsbeispiele beziehen sich jedoch auch auf Hardware-Systeme zur Durchführung eines Verfahrens gemäß hierin beschriebener Ausführungsformen.
-
Ausführungsbeispiele ermöglichen es, nennenswerte Hürden für eine Manipulation von Anwesenheitsdaten bereitzustellen, da eine Manipulation einer Blockchain-Transaktion ungleich schwerer ist als die Manipulation von Sensordaten, etwa GPS-Daten oder WLAN-Daten. Darüber hinaus ermöglicht es die Verwendung einer Blockchain-Transaktion gemäß Ausführungsbeispielen, Nachteile reiner GPS-basierter Konzepte zu überwinden, die blockierbar (jammable) sind.
-
Ausführungsbeispiele sehen vor, dass ein Nutzer, der die Anwesenheit an einem bestimmten Ort nachweisen möchte, eine Mikrotransaktion in einer Blockchain ausführt. Ein Zeuge (whitness) in dem Bereich kann den Ort bestätigen. Ausführungsbeispiele können unter Verwendung eines oder mehrerer Protokolle ausgeführt werden, beispielsweise FOAM, Helium, Platin oder XYO. Datengrundlagen können Positioniersystem wie etwa global positioning system (GPS), Glonass oder Galileo sein, es können alternativ oder zusätzlich aber auch drahtlose Netzwerke oder Zugangspunkte oder ein Netz aus Funkfrequenzen verwendet werden.
-
In anderen Worten kann das Verfahren ausgeführt werden, wie es im Zusammenhang der 2 beschrieben ist. Zusätzlich kann eine Transaktion des Nutzers der Vorrichtung 18 mit einem nutzerspezifischen Schlüsselpaar ausgeführt werden, beispielsweise mittels einer Blockchain-Karte, die dem User gehört. Alternativ oder zusätzlich kann eine multisignierte Transaktion ausgeführt werden, beispielsweise „Zwei von zwei (2-out-of-2)“. Dies kann es ermöglichen, dass die Transaktion lediglich dann als gültig angesehen wird, wenn der Nutzer die Transaktion signiert und das physikalische Objekt 16 bzw. die gesicherte Recheneinrichtung 12 die Transaktion signiert. Dies kann es ermöglichen, dass nachgewiesen wird, dass ein spezifischer User und nicht nur die Vorrichtung 18 an der entsprechenden Position bzw. dem örtlichen Bereich 24 anwesend ist bzw. war.
-
In anderen Worten schlagen Ausführungsbeispiele vor, den Nachweis eines Orts dadurch zu erhalten, dass ein Hardware-basierter Sicherheits-Controller (gesicherte Recheneinrichtung) an einem bekannten Platz oder Ort angebracht wird, bevorzugt in fälschungssicherer Weise. Die gesicherte Recheneinrichtung 12 kann beispielsweise eine kontaktfreie Kommunikationsschnittstelle aufweisen.
-
Der Hardware-basierte Sicherheits-Controller kann über ein public/private (öffentlich/privat) Schlüsselpaar verfügen und kann als Blockchain-Konto verwendet werden. Der Nachweis des Orts kann dadurch erfolgen, dass die Nutzervorrichtung, beispielsweise ein Smartphone, eine Transaktion generiert. Die Transaktion wird durch den Hardware-basierten Sicherheits-Controller signiert, wodurch ein Nachweis erhalten wird, dass die Vorrichtung 18 in physikalischer Nähe zu dem Sicherheits-Controller war oder ist. Die Vorrichtung sendet die Mikrotransaktion an das Bockchain-Netzwerk. Diese Information ist dann transparent verfügbar und kann einen Zeitstempel (time stamp) aufweisen. Optional kann eine Multi-Signatur „2-out-of-2“ erfolgen, so dass auch der Nutzer die Transaktion signiert, wodurch ein Nachweis erhalten kann, dass der richtige Nutzer die Transaktion ausgelöst hat. Eine Vertrauensbasis dafür, dass der Sicherheits-Controller an der entsprechenden Position ist, kann beispielsweise dadurch erhalten werden, dass die Position bzw. der örtliche Bereich 24 durch eine Partei bestätigt wird, die den Sicherheits-Controller einsetzt oder aufstellt. Hierzu könnte beispielsweise eine Firma gehören, die einen Parkplatz überwacht, eine Logistikfirma oder dergleichen. Alternativ oder zusätzlich kann die Vertrauensbasis geschaffen werden, indem die Position durch Nutzer bestätigt wird. Je mehr Nutzer bestätigen, dass der Sicherheits-Controller an der entsprechenden Position ist, desto vertrauenswürdiger kann diese Information eingestuft werden, das bedeutet, desto mehr wird dieser Einschätzung oder Information vertraut.
-
Ausführungsbeispiele ermöglichen, dass es zwar möglich aber nicht erforderlich ist, Nutzervorrichtungen innerhalb des Blockchain-Netzwerks zu vertrauen. Es ist jedenfalls nicht erforderlich, einer externen Infrastruktur zu vertrauen. Der Zeitstempel und die Protokollierung des Orts können durch das Blockchain-Netzwerk gesichert werden, um einen Nachweis des örtlichen Bereichs und gegebenenfalls der Zeit zu erhalten. Ein Multi-Signatur-Ansatz kann es ermöglichen, dass durch Authentifizierung des Nutzers und des örtlichen Bereichs erreicht wird, dass der Nutzer nachweisen kann, dass sie oder er an einem bestimmten Ort zu einer bestimmten Zeit war. Ausführungsbeispiele können einfach umgesetzt werden und ermöglichen ein hohes Maß an Zuverlässigkeit. Ausführungsbeispiele basieren darauf, einen Hardware-basierten Sicherheitschip, der einen geheimen Schlüssel speichert, physikalisch an einer bestimmten Position zu fixieren. Eine Vorrichtung kann nachweisen, nahe des Hardware-basierten Sicherheitschips zu sein, indem eine kryptographische Transaktion mit dem geheimen Schlüssel des Hardware-basierten Sicherheitschips ausgeführt wird. Durch eine möglicherweise als untrennbar geltende physikalische Verbindung zwischen dem Hardware-basierten Sicherheits-Controller und einem physikalischen Objekt kann der Blockchain-Transaktion die Bedeutung assoziiert werden, dass diese an dem Ort des physikalischen Objekts ausgeführt wurde. Die Warteschlüssel, die auf den Hardware-basierten Sicherheits-Controllern gespeichert sind, können dort verbleiben, das bedeutet, es kann vorgesehen sein, dass derartige Schlüssel nicht kommuniziert werden, sondern lediglich zur internen Signierung der von der Vorrichtung 18 empfangenen Transaktionen verwendet werden. Dies kann auch beispielsweise dadurch erhalten werden, dass auf Backups oder dergleichen verzichtet wird. Ausführungsbeispiele beziehen sich somit auf die Verwendung einer asymmetrischen Kryptographie. Weitere Ausführungsbeispiele beziehen sich darauf, dass die gesicherte Recheneinrichtung 12 sogenannte Token gespeichert hat, mit denen kommuniziert wird. Entsprechende Schlüsselpaare können ebenfalls in der gesicherten Recheneinrichtung 12 gespeichert sein und für die Verschlüsselung verwendet werden.
-
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.
-
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein. Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
-
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft. Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
-
Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.
-
Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft. Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.
-
Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
-
Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
-
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
-
Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
-
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.