Beschreibung
VORRICHTUNGEN, COMPUTERIMPLEMENTIERTES VERFAHREN UND COMPUTERPROGRAMMPRODUKT ZUM ERTEILEN EINES ZUGRIFFS AUF EINE STEUERFUNKTION ANHAND EINES OBJEKTES
Die Erfindung bezieht sich auf Verfahren, Vorrichtungen und ein System zum sicherheitsgeschützten Bereitstellen von Da tensätzen, wobei die Datensätze beispielsweise Sensordaten umfassen.
Eine immer stärkere Vernetzung von Smart-Geräten (z. B. Mo biltelefonen, Smartwatches) oder Fertigungsanlagen führt da zu, dass mehr und mehr Sensordaten von diesen Smart-Geräten und Fertigungsanlagen erfasst werden. Insbesondere soll mit diesen Daten beispielsweise eine Fertigung oder auch der Transport von Objekten (z. B. Werkstücken, Nahrungsmittel usw.) überwacht werden.
Aus EP3435272A1 ist ein Verfahren zur Identifikation eines additiv gefertigten Werkstücks bekannt.
Nachfolgend werden Aspekte der Erfindung erläutert.
Die Technologie von Blockketten (engl. Blockchains) bzw. "Distributed Ledgers" ist aktuell eine intensiv diskutierte Technologie, die insbesondere als verteiltes Datenbanksystem oder als Netzwerkapplikation realisiert sein kann. Neben An wendungen für dezentrale Bezahlsysteme (z. B. Bitcoin) werden in der Finanzindustrie neue Anwendungsmöglichkeiten entwi ckelt. Insbesondere können Transaktionen zwischen Firmen dadurch ohne Vermittler bzw. Clearing-Stelle manipulationsge schützt realisiert werden. Dies ermöglicht neue Geschäftsmo delle ohne einen vertrauenswürdigen Vermittler, es reduziert die Transaktionskosten, und es können flexibel neue digitale Dienste angeboten werden, ohne eine dafür speziell eingerich tete Infrastruktur und Vertrauensbeziehungen einrichten zu müssen. Ein durch eine Blockchain geschützter Transaktionsda tensatz (oder kurz Transaktion) umfasst z. B. Programmcode,
der auch als sogenannter „Smart Contract" bezeichnet werden kann.
Gemäß einem Aspekt betrifft die Erfindung ein Gerät zur Zu griffserteilung auf Steuerfunktionen anhand eines Objektes aufweisend: ein Erfassungsmodul (110) zum Erfassen individuel ler Merkmale (M) eines Objektes (0) mittels eines Erfassungsgerätes (A); ein Überprüfungsmodul (120) zum Berechnen eines Prüfergebnisses anhand eines Vergleichens der indi viduellen Merkmale mit einem Referenzwert ein Steuerungsmodul (120) zum Erteilen eines Zu griffs auf Steuerfunktionen, wobei der Zugriff auf die Steuerfunktionen abhängig vom Prüfergebnis erfolgt, wenn das Prüfergeb nis eine ausreichend genaue Übereinstimmung des Referenzwertes mit den individuellen Merk malen bestätigt.
Sofern es in der nachfolgenden Beschreibung nicht anders an gegeben ist, beziehen sich die Begriffe "durchführen", "be rechnen", "rechnergestützt", "rechnen", "feststellen", "gene rieren", "konfigurieren", "rekonstruieren" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verar beitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überführen, wobei die Da ten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impul se. Insbesondere sollte der Ausdruck "Computer" möglichst breit ausgelegt werden, um insbesondere alle elektronischen Geräte mit Datenverarbeitungseigenschaften abzudecken. Compu ter können somit beispielsweise Personal Computer, Server, speicherprogrammierbare Steuerungen (SPS), Handheld-Computer- Systeme, Pocket-PC-Geräte, Mobilfunkgeräte und andere Kommu nikationsgeräte, die rechnergestützt Daten verarbeiten kön nen, Prozessoren und andere elektronische Geräte zur Daten verarbeitung sein.
Unter „rechnergestützt" kann im Zusammenhang mit der Erfin dung beispielsweise eine Implementierung des Verfahrens ver standen werden, bei dem insbesondere ein Prozessor mindestens einen Verfahrensschritt des Verfahrens ausführt. Beispiels weise ist unter „rechnergestützt" auch „computerimplemen tiert" zu verstehen. „Computerimplementiert" bedeutet bei spielsweise, dass das Verfahren bzw. dessen Verfahrensschrit te durch einen Prozessor oder durch mehrere Prozessoren aus geführt wird.
Unter einem Prozessor kann im Zusammenhang mit der Erfindung beispielsweise eine Maschine oder eine elektronische Schal tung verstanden werden. Bei einem Prozessor kann es sich ins besondere um einen Hauptprozessor (engl. Central Processing Unit, CPU), einen Mikroprozessor oder einen Mikrokontroller, beispielsweise eine anwendungsspezifische integrierte Schal tung oder einen digitalen Signalprozessor, möglicherweise in Kombination mit einer Speichereinheit zum Speichern von Pro grammbefehlen, etc. handeln. Bei einem Prozessor kann es sich beispielsweise auch um einen IC (integrierter Schaltkreis, engl. Integrated Circuit), insbesondere einen FPGA (engl. Field Programmable Gate Array) oder einen ASIC (anwendungs spezifische integrierte Schaltung, engl. Application-Specific Integrated Circuit), oder einen DSP (Digitaler Signal prozessor, engl. Digital Signal Processor) oder einen Grafik prozessor GPU (Graphic Processing Unit) handeln. Auch kann unter einem Prozessor ein virtualisierter Prozessor, eine virtuelle Maschine oder eine Soft-CPU verstanden werden. Es kann sich beispielsweise auch um einen programmierbaren Pro zessor handeln, der mit Konfigurationsschritten zur Ausfüh rung des genannten erfindungsgemäßen Verfahrens ausgerüstet wird oder mit Konfigurationsschritten derart konfiguriert ist, dass der programmierbare Prozessor die erfindungsgemäßen Merkmale des Verfahrens, der Komponente, der Module, oder an derer Aspekte und/oder Teilaspekte der Erfindung realisiert.
Unter einer „Speichereinheit" oder „Speichermodul" und der gleichen kann im Zusammenhang mit der Erfindung beispielswei se ein flüchtiger Speicher in Form von Arbeitsspeicher (engl. Random-Access Memory, RAM) oder ein dauerhafter Speicher wie eine Festplatte oder ein Datenträger verstanden werden.
Unter einem „Modul" kann im Zusammenhang mit der Erfindung beispielsweise ein Prozessor und/oder eine Speichereinheit zum Speichern von Programmbefehlen verstanden werden. Bei spielsweise ist der Prozessor speziell dazu eingerichtet, die Programmbefehle derart auszuführen, damit der Prozessor Funk tionen ausführt, um das erfindungsgemäße Verfahren oder einen Schritt des erfindungsgemäßen Verfahrens zu implementieren oder realisieren. Ein Modul kann beispielsweise auch ein Kno ten des verteilten Datenbanksystems sein, der beispielsweise die spezifischen Funktionen/Merkmale eines entsprechenden Mo duls realisiert. Die jeweiligen Module können beispielsweise auch als separate bzw. eigenständige Module ausgebildet sein. Hierzu können die entsprechenden Module beispielsweise weite re Elemente umfassen. Diese Elemente sind beispielsweise eine oder mehrere Schnittstellen (z. B. Datenbankschnittstellen, Kommunikationsschnittstellen - z. B. Netzwerkschnittstelle, WLAN-Schnittstelle) und/oder eine Evaluierungseinheit (z. B. ein Prozessor) und/oder eine Speichereinheit. Mittels der Schnittstellen können beispielsweise Daten ausgetauscht (z.
B. empfangen, übermittelt, gesendet oder bereitgestellt wer den). Mittels der Evaluierungseinheit können Daten beispiels weise rechnergestützt und/oder automatisiert verglichen, überprüft, verarbeitet, zugeordnet oder berechnet werden. Mittels der Speichereinheit können Daten beispielsweise rech nergestützt und/oder automatisiert gespeichert, abgerufen oder bereitgestellt werden.
Unter „umfassen", „aufweisen" und dergleichen, insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammen hang mit der Erfindung beispielsweise ein (rechnergestütztes) Speichern einer entsprechenden Information bzw. eines ent sprechenden Datums in einer Datenstruktur/Datensatz (die z.
B. wiederum in einer Speichereinheit gespeichert ist) ver standen werden.
Unter „zuordnen", insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfindung bei spielsweise eine rechnergestützte Zuordnung von Daten und/oder Informationen verstanden werden. Beispielsweise wird einem ersten Datum hierzu mittels einer Speicheradresse oder eines eindeutigen Identifizierers (engl, unique identifier (UID)) ein zweites Datum zugeordnet, in dem z. B. das erste Datum zusammen mit der Speicheradresse oder des eindeutigen Identifizierers des zweiten Datums in einem Datensatz gespei chert wird.
Unter „bereitstellen", insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfin dung beispielsweise ein rechnergestütztes Bereitstellen ver standen werden. Das Bereitstellen erfolgt beispielsweise über eine Schnittstelle (z. B. eine Datenbankschnittstelle, eine Netzwerkschnittstelle, eine Schnittstelle zu einer Speicher einheit). Über diese Schnittstelle können beispielsweise beim Bereitstellen entsprechende Daten und/oder Informationen übermittelt und/oder gesendet und/oder abgerufen und/oder empfangen werden.
Unter „bereitstellen" kann im Zusammenhang mit der Erfindung beispielsweise auch ein Laden oder ein Speichern, beispiels weise einer Transaktion mit entsprechenden Daten verstanden werden. Dies kann beispielsweise auf oder von einem Speicher modul erfolgen. Unter „Bereitstellen" kann beispielsweise auch ein Übertragen (oder ein Senden oder ein Übermitteln) von entsprechenden Daten von einem Knoten zu einem anderen Knoten der Blockkette oder des verteilten Datenbanksystems (bzw. deren Infrastruktur) oder einer Netzwerk-Applikation verstanden werden.
Unter einer „Prüfsumme", beispielsweise eine Datenblockprüf summe, eine Datenprüfsumme, eine Knotenprüfsumme, eine Trans-
aktionsprüfsumme, eine Verkettungsprüfsumme oder dergleichen, kann im Zusammenhang mit der Erfindung beispielsweise eine kryptographische Prüfsumme oder kryptographischer Hash bzw. Hashwert verstanden werden, die insbesondere mittels einer kryptographischen Hashfunktion über einen Datensatz und/oder Daten und/oder eine oder mehrere der Transaktionen und/oder einem Teilbereich eines Datenblocks (z. B. der Block-Header eines Blocks einer Blockkette oder Datenblock-Header eines Datenblocks des verteilten Datenbanksystems (oder der Netz werk-Applikation) oder nur einem Teil der Transaktionen eines Datenblocks) gebildet oder berechnet werden. Bei einer Prüf summe kann es sich insbesondere um eine Prüfsumme/n oder Hashwert/e eines Hash-Baumes (z. B. Merkle Baum, Patricia- Baum) handeln. Weiterhin kann darunter insbesondere auch eine digitale Signatur oder ein kryptographischer Nachrichten- authentisierungscode verstanden werden. Mittels der Prüfsum men kann beispielsweise auf unterschiedlichen Ebenen des Da tenbanksystems ein kryptographischer
Schutz/Manipulationsschutz für die Transaktionen und die da rin gespeicherten Daten (sätze) realisiert werden. Ist bei spielsweise eine hohe Sicherheit gefordert, werden beispiels weise die Prüfsummen auf Transaktionsebene erzeugt und über prüft. Ist eine weniger hohe Sicherheit gefordert, werden beispielsweise die Prüfsummen auf Blockebene (z. B. über den ganzen Datenblock oder nur über einen Teil des Datenblocks und/oder einen Teil der Transaktionen) erzeugt und überprüft.
Unter einer „Datenblockprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die bei spielsweise über einen Teil oder alle Transaktionen eines Da tenblocks berechnet wird. Ein Knoten kann dann beispielsweise die Integrität/Authentizität des entsprechenden Teils eines Datenblocks mittels der Datenblockprüfsumme prü fen/feststellen . Zusätzlich oder alternativ kann die Daten blockprüfsumme insbesondere auch über Transaktionen eines vorhergehenden Datenblocks/Vorgänger-Datenblocks des Daten blocks gebildet worden sein. Die Datenblockprüfsumme kann da bei insbesondere auch mittels eines Hash-Baumes, beispiels-
weise einem Merkle Baum [1] oder einem Patricia-Baum, reali siert werden, wobei die Datenblockprüfsumme insbesondere die Wurzel-Prüfsumme des Merkle-Baumes bzw. eines Patricia-Baumes bzw. eines binären Hashbaumes ist. Insbesondere werden Trans aktionen mittels weiterer Prüfsummen aus dem Merkle-Baum bzw. Patricia-Baum abgesichert (z. B. unter Verwendung der Trans aktionsprüfsummen), wobei insbesondere die weiteren Prüfsum men Blätter im Merkle-Baum bzw. Patricia-Baum sind. Die Da tenblockprüfsumme kann damit beispielsweise die Transaktionen absichern, indem die Wurzel-Prüfsumme aus den weiteren Prüf summen gebildet wird. Die Datenblockprüfsumme kann insbeson dere für Transaktionen eines bestimmten Datenblocks der Da tenblöcke berechnet werden. Insbesondere kann eine solche Da tenblockprüfsumme in einen nachfolgenden Datenblock des be stimmten Datenblocks eingehen, um diesen nachfolgenden Daten block beispielsweise mit seinen vorhergehenden Datenblöcken zu verketten und insbesondere damit eine Integrität des ver teilten Datenbanksystems (oder der Netzwerk-Applikation) prüfbar zu machen. Hierdurch kann die Datenblockprüfsumme beispielsweise die Funktion der Verkettungsprüfsumme überneh men oder in die Verkettungsprüfsumme eingehen. Der Header ei nes Datenblocks (z. B. eines neuen Datenblocks oder des Da tenblocks, für den die Datenblockprüfsumme gebildet wurde) kann beispielsweise die Datenblockprüfsumme umfassen.
Unter „Transaktionsprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die insbesondere über eine Transaktion eines Datenblocks gebildet wird. Zu sätzlich kann beispielsweise eine Berechnung einer Daten blockprüfsumme für einen entsprechenden Datenblock beschleu nigt werden, da hierfür beispielsweise bereits berechnete Transaktionsprüfsummen gleich als Blätter z. B. eines Merkle- Baumes verwendet werden können.
Unter einer „Verkettungsprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die insbeson dere einen jeweiligen Datenblock des verteilten Datenbanksys tems (oder der Netzwerk-Applikation) den vorhergehenden Da-
tenblock des verteilten Datenbanksystems (oder der Netzwerk- Applikation) angibt bzw. referenziert (in der Fachliteratur insbesondere häufig als „previous block hash" bezeichnet)
[1]. Hierfür wird insbesondere für den entsprechenden vorher gehenden Datenblock eine entsprechende Verkettungsprüfsumme gebildet. Als Verkettungsprüfsumme kann beispielsweise eine Transaktionsprüfsumme oder die Datenblockprüfsumme eines Da tenblocks (also ein vorhandener Datenblock des verteilten Da tenbanksystems oder der Netzwerk-Applikation) verwendet wer den, um einen neuen Datenblock mit einem (vorhandenen) Daten block des verteilten Datenbanksystems (oder der Netzwerk- Applikation) zu verketten. Es ist beispielsweise aber auch möglich, dass eine Prüfsumme über einen Header des vorherge henden Datenblocks oder über den gesamten vorhergehenden Da tenblock gebildet wird und als Verkettungsprüfsumme verwendet wird. Dies kann beispielsweise auch für mehrere oder alle vorhergehenden Datenblöcke berechnet werden. Es ist bei spielsweise auch realisierbar, dass über den Header eines Da tenblocks und der Datenblockprüfsumme die Verkettungsprüfsum me gebildet wird. Ein jeweiliger Datenblock des verteilten Datenbanksystems umfasst jedoch vorzugsweise jeweils eine Verkettungsprüfsumme, die für einen vorhergehenden Daten block, insbesondere noch bevorzugter den direkt vorhergehen den Datenblock, des jeweiligen Datenblockes berechnet wurde bzw. sich auf diesen bezieht. Es ist beispielsweise auch mög lich, dass eine entsprechende Verkettungsprüfsumme auch nur über einen Teil des entsprechenden Datenblocks (z. B. vorher gehenden Datenblock) gebildet wird. Hierdurch kann beispiels weise ein Datenblock realisiert werden, der einen integri- tätsgeschützten Teil und einen ungeschützten Teil umfasst. Damit ließe sich beispielsweise ein Datenblock realisieren, dessen integritätsgeschützter Teil unveränderlich ist und dessen ungeschützter Teil auch noch später verändert werden kann. Unter integritätsgeschützt ist dabei insbesondere zu verstehen, dass eine Veränderung von integritätsgeschützten Daten mittels einer Prüfsumme feststellbar ist.
Die Daten, die beispielsweise in einer Transaktion eines Da tenblocks gespeichert werden, können insbesondere auf unter schiedliche Weise bereitgestellt werden. Anstelle der Daten, z. B. Nutzerdaten wie Messdaten oder Da ten/Eigentumsverhältnisse zu Assets, kann beispielsweise eine Transaktion eines Datenblocks nur die Prüfsumme für diese Da ten umfassen. Die entsprechende Prüfsumme kann dabei auf un terschiedliche Weise realisiert werden. Dies kann z. B. eine entsprechende Datenblockprüfsumme eines Datenblocks (mit den entsprechenden Daten) einer anderen Datenbank oder des ver teilten Datenbanksystems oder der Netzwerkapplikation sein, eine Transaktionsprüfsumme eines Datenblocks mit den entspre chenden Daten (des verteilten Datenbanksystems oder einer an deren Datenbank) oder eine Datenprüfsumme, die über die Daten gebildet wurde.
Zusätzlich kann die entsprechende Transaktion noch einen Ver weis oder eine Angabe zu einem Speicherort (z. B. eine Adres se eines Fileservers und Angaben, wo die entsprechenden Daten auf dem Fileserver zu finden sind; oder eine Adresse einer anderen verteilten Datenbank, welche die Daten umfasst) um fassen. Die entsprechenden Daten könnten dann beispielsweise auch in einer weiteren Transaktion eines weiteren Datenblocks des verteilten Datenbanksystems (oder der Netzwerkapplikati on) bereitgestellt werden (z. B. wenn die entsprechenden Da ten und die zugehörigen Prüfsummen in unterschiedlichen Da tenblöcken umfasst sind). Es ist beispielsweise aber auch denkbar, dass diese Daten über einen anderen Kommunikations kanal (z. B. über eine andere Datenbank und/oder einen kryp- tographisch gesicherten Kommunikationskanal) bereitgestellt werden.
Auch kann beispielsweise zusätzlich zu der Prüfsumme ein Zu- satzdatensatz (z. B. ein Verweis oder eine Angabe zu einem Speicherort) in den entsprechenden Transaktionen abgelegt sein, der insbesondere einen Speicherort angibt, wo die Daten abgerufen werden können. Das ist insbesondere dahingehend vorteilhaft, um eine Datengröße der Blockkette oder des ver-
teilten Datenbanksystems (oder der Netzwerkapplikation) mög lichst gering zu halten.
Unter „sicherheitsgeschützt" oder „kryptographisch geschützt" kann im Zusammenhang mit der Erfindung beispielsweise ein Schutz verstanden werden, der insbesondere durch ein krypto- graphisches Verfahren realisiert wird. Beispielsweise kann dies durch eine Nutzung des verteilten Datenbanksystems (oder der Netzwerkapplikation) für das Bereitstellen oder Übertra gen oder Senden von entsprechenden Daten/Transaktionen reali siert werden. Dies wird vorzugsweise durch eine Kombination der verschiedenen (kryptographischen) Prüfsummen erreicht, indem diese insbesondere synergetisch Zusammenwirken, um bei spielsweise die Sicherheit bzw. die kryptographische Sicher heit für die Daten der Transaktionen zu verbessern. Mit ande ren Worten kann insbesondere unter „sicherheitsgeschützt" im Zusammenhang mit der Erfindung auch „kryptographisch ge schützt" und/oder „manipulationsgeschützt" verstanden werden, wobei „manipulationsgeschützt" auch als „integritätsge schützt" bezeichnet werden kann.
Unter „Verketten der/von Datenblöcken eines verteilten Daten banksystems" kann im Zusammenhang mit der Erfindung bei spielsweise verstanden werden, dass Datenblöcke jeweils eine Information (z. B. Verkettungsprüfsumme) umfassen, die auf einen anderen Datenblock oder mehrere andere Datenblöcke des verteilten Datenbanksystems (oder der Netzwerkapplikation) verweisen bzw. diese referenzieren [1][4][5].
Unter „Einfügen in das verteilte Datenbanksystem (oder in ei ne Netzwerkapplikation) " und dergleichen kann im Zusammenhang mit der Erfindung beispielsweise verstanden werden, dass ins besondere eine Transaktion bzw. die Transaktionen oder ein Datenblock mit seinen Transaktionen an einen oder mehrere Knoten eines verteilten Datenbanksystems (oder einer Netz werkapplikation) übermittelt wird. Werden diese Transaktionen beispielsweise erfolgreich validiert (z. B. durch den/die Knoten), werden diese Transaktionen insbesondere als neuer
Datenblock mit mindestens einem vorhandenen Datenblock des verteilten Datenbanksystems (oder der Netzwerkapplikation) verkettet [1][4][5]. Hierzu werden die entsprechenden Trans aktionen beispielsweise in einem neuen Datenblock gespei chert. Insbesondere kann dieses Validieren und/oder Verketten durch einen vertrauenswürdigen Knoten (z. B. einen Mining No- de, einen Blockketten-Orakel oder eine Blockketten-Plattform) erfolgen. Insbesondere kann dabei unter einer Blockketten- Plattform eine Blockkette als Dienst (engl. Blockkette als Service) verstanden werden, wie dies insbesondere durch Microsoft oder IBM vorgeschlagen wird. Insbesondere können ein vertrauenswürdiger Knoten und/oder ein Knoten jeweils ei ne Knoten-Prüfsumme (z. B. eine digitale Signatur) in einem Datenblock hinterlegen (z. B. in denen von ihnen validierten und erzeugten Datenblock, der dann verkettet wird), um insbe sondere eine Identifizierbarkeit des Erstellers des Datenblo ckes zu ermöglichen und/oder eine Identifizierbarkeit des Knotens zu ermöglichen. Dabei gibt diese Knoten-Prüfsumme an, welcher Knoten beispielsweise den entsprechenden Datenblock mit mindestens einem anderen Datenblock des verteilten Daten banksystems (oder der Netzwerkapplikation) verkettet hat.
Unter „Transaktion" bzw. „Transaktionen" können im Zusammen hang mit der Erfindung beispielsweise ein Smart-Contract [4] [5], eine Datenstruktur oder ein Transaktionsdatensatz ver standen werden, der insbesondere jeweils eine der Transaktio nen oder mehrere Transaktionen umfasst. Unter „Transaktion" bzw. „Transaktionen" können im Zusammenhang mit der Erfindung beispielsweise auch die Daten einer Transaktion eines Daten blocks einer Bockkette (engl. Blockchain) verstanden werden. Eine Transaktion kann insbesondere einen Programmcode umfas sen, der beispielsweise einen Smart Contract realisiert. Bei spielsweise können im Zusammenhang mit der Erfindung unter Transaktion auch eine Steuertransaktion und/oder Bestäti gungstransaktion verstanden werden. Alternativ kann eine Transaktion beispielsweise eine Datenstruktur sein, die Daten speichert (z. B. die Steuerbefehle und/oder Vertragsdaten und/oder andere Daten wie Videodaten, Nutzerdaten, Messdaten
etc.). Eine „Transaktion" kann im Zusammenhang mit der Erfin dung beispielsweise auch eine Nachricht oder eine Kommunika tionsnachricht sein bzw. als ein solche bezeichnet werden. Entsprecht ist beispielsweise eine Nachricht eine Transakti on, wobei die Nachricht beispielsweise Steuerbefehle zum An steuern der Geräte umfasst und/oder auch Voraussetzungen (z. B. vorgegebene Anforderungen) für das Ausführen der Steuerbe fehle umfasst.
Insbesondere ist unter „Speichern von Transaktionen in Daten blöcken", „Speichern von Transaktionen" und dergleichen ein direktes Speichern oder indirektes Speichern zu verstehen. Unter einem direkten Speichern kann dabei beispielsweise ver standen werden, dass der entsprechende Datenblock (des ver teilten Datenbanksystems/der Netzwerkapplikation) oder die entsprechende Transaktion (des verteilten Datenbanksys tems/der Netzwerkapplikation) die jeweiligen Daten umfasst. Unter einem indirekten Speichern kann dabei beispielsweise verstanden werden, dass der entsprechende Datenblock oder die entsprechende Transaktion eine Prüfsumme und optional einen Zusatzdatensatz (z. B. einen Verweis oder eine Angabe zu ei nem Speicherort) für entsprechende Daten umfasst und die ent sprechenden Daten somit nicht direkt in dem Datenblock (oder der Transaktion) gespeichert sind (also stattdessen nur eine Prüfsumme für diese Daten). Insbesondere können beim Spei chern von Transaktionen in Datenblöcken diese Prüfsummen bei spielsweise validiert werden, so wie dies beispielsweise un ter „Einfügen in das verteilte Datenbanksystem (oder in eine Netzwerkapplikation)" erläutert ist.
Unter einem „Programmcode" (z. B. ein Smart-Contract oder auch Chain-Code genannt) kann im Zusammenhang mit der Erfin dung beispielsweise ein Programmbefehl oder mehrere Programm befehle verstanden werden, die insbesondere in einer oder mehreren Transaktionen gespeichert sind. Der Programmcode ist insbesondere ausführbar und wird beispielsweise durch das verteilte Datenbanksystem (oder durch die Netzwerkapplikati on) ausgeführt. Dies kann beispielsweise mittels einer Aus-
führungsumgebung (z. B. einer virtuellen Maschine) realisiert werden, wobei die Ausführungsumgebung bzw. der Programmcode vorzugsweise Turing-vollständig sind. Der Programmcode wird vorzugsweise durch die Infrastruktur des verteilten Daten banksystems (oder der Netzwerkapplikation) ausgeführt [4][5]. Dabei wird beispielsweise eine virtuelle Maschine durch die Infrastruktur des verteilten Datenbanksystems (oder der Netz werkapplikation) realisiert.
Unter einem „Smart Contract" (oder auch Chain-Code genannt) kann im Zusammenhang mit der Erfindung beispielsweise ein ausführbarer Programmcode verstanden werden [4][5] (siehe insbesondere Definition „Programmcode"). Der Smart Contract ist vorzugsweise in einer Transaktion eines verteilten Daten banksystems (z. B. eine Blockkette) oder einer Netzwerkappli kation gespeichert, beispielsweise in einem Datenblock des verteilten Datenbanksystems oder der Netzwerkapplikation. Beispielsweise kann der Smart Contract auf die gleiche Weise ausgeführt werden, wie dies bei der Definition von „Programm code", insbesondere im Zusammenhang mit der Erfindung, erläu tert ist.
Unter „Smart-Contract-Prozess" bzw. ein „Smart-Contract" kann im Zusammenhang mit der Erfindung insbesondere auch ein Aus führen eines Programmcodes bzw. eines Smart-Contracts in ei nem Prozess durch das verteilte Datenbanksystem bzw. deren Infrastruktur verstanden werden.
Unter „Proof-of-Work-Nachweis" kann im Zusammenhang mit der Erfindung beispielsweise ein Lösen einer rechenintensiven Aufgabe verstanden werden, die insbesondere abhängig vom Da- tenblock-Inhalt/Inhalt einer bestimmten Transaktion zu lösen ist [1][4][5]. Eine solche rechenintensive Aufgabe wird bei spielsweise auch als kryptographisches Puzzle bezeichnet.
Unter einer „Netzwerkapplikation" kann beispielsweise ein verteiltes Datenbanksystem oder eine verteilte Kommunikations
Unter einer „Netzwerk-Applikation", kann im Zusammenhang mit der Erfindung beispielsweise eine dezentral verteilte Daten bank, ein verteiltes Datenbanksystem, eine verteilte Daten bank, eine Peer-to-Peer Applikation, ein verteiltes Speicher verwaltungssystem, eine Blockkette (engl. Blockchain), ein distributed Ledger, ein verteiltes Speichersystem, ein dis- tributed ledger technology (DLT) based System (DLTS) , ein revisionssicheres Datenbanksystem, eine Cloud, ein Cloud- Service, eine Blockkette in einer Cloud oder eine Peer-to- Peer Datenbank verstanden werden. Beispielsweise kann eine Netzwerk-Applikation (oder auch als Netzwerkapplikation be zeichnet) ein verteiltes Datenbanksystem sein, das z. B. mit tels einer Blockkette (z. B. Hyperledger) oder einem distri buted ledger realisiert ist. Auch können beispielsweise un terschiedliche Implementierungen einer Blockkette oder eines DLTS verwendet werden, wie z. B. eine Blockkette oder ein DLTS, die mittels eines Directed Acylic Graph (DAG), eines kryptographischen Puzzles, einem Hashgraph oder einer Kombi nation aus den genannten Implementierungsvarianten [6][7] um gesetzt ist. Auch können beispielsweise unterschiedliche Kon sensusverfahren (engl, consensus algorithms) implementiert werden. Dies kann beispielsweise ein Konsensusverfahren mit tels eines kryptographischen Puzzles, Gossip about Gossip, Virtual Voting oder eine Kombination der genannten Verfahren sein (z. B. Gossip about Gossip kombiniert mit Virtual Vo ting) [6][7]. Wird beispielsweise eine Blockkette verwendet, so kann diese insbesondere mittels einer Bitcoin-basierten Realisierung oder einer Ethereum-basierten Realisierung umge setzt werden [1][4][5]. Unter einem „verteilten Datenbanksys tem" oder einer „Netzwerk-Applikation" kann beispielsweise auch ein verteiltes Datenbanksystem oder eine Netzwerk- Applikation verstanden werden, von dem/der zumindest ein Teil (oder alle Teile) seiner Knoten und/oder Geräte und/oder Infrastruktur durch eine Cloud realisiert sind. Beispielswei se sind die entsprechenden Komponenten als Knoten/Geräte in der Cloud (z. B. als virtueller Knoten in einer virtuellen Maschine) realisiert. Dies kann beispielsweise mittels VM- Ware, Amazon Web Services oder Microsoft Azure erfolgen. Auf-
grund der hohen Flexibilität der erläuterten Implementie rungsvarianten, können insbesondere auch Teilaspekte der ge nannten Implementierungsvarianten miteinander kombiniert wer den, indem z. B. ein Hashgraph als Blockkette verwendet wird, wobei die Blockkette selbst z. B. auch blocklos sein kann.
Wird beispielsweise ein Directed Acylic Graph (DAG) verwendet (z. B. IOTA oder Tangle), sind insbesondere Transaktionen oder Blöcke oder Knoten des Graphen über gerichtete Kanten miteinander verbunden. Azyklisch bedeutet dabei insbesondere, dass es keine gerichteten Schleifen im Graphen gibt.
Bei dem verteilten Datenbanksystem oder bei der Netzwerk- Applikation kann es sich beispielsweise um ein öffentliches verteiltes Datenbanksystem oder eine ein öffentliche Netz werk-Applikation (z. B. eine öffentliche Blockkette) oder ein geschlossenes (oder privates) verteiltes Datenbanksystem oder eine geschlossene Netzwerk-Applikation (z. B. eine private Blockkette) handeln.
Handelt es sich beispielsweise um ein öffentliches verteiltes Datenbanksystem oder eine öffentliche Netzwerk-Applikation, bedeutet dies, dass neue Knoten und/oder Geräte ohne Berech tigungsnachweise oder ohne Authentifizierung oder ohne Anmel deinformationen oder ohne Credentials dem verteilten Daten banksystem oder der Netzwerk-Applikation beitreten können bzw. von diesem akzeptiert werden. Insbesondere können in ei nem solchen Fall die Betreiber der Knoten und/oder Geräte anonym bleiben.
Handelt es sich bei dem verteilten Datenbanksystem oder der Netzwerk-Applikation beispielsweise um ein geschlossenes ver teiltes Datenbanksystem, benötigen neue Knoten und/oder Gerä te beispielsweise einen gültigen Berechtigungsnachweis und/oder gültige Authentifizierungsinformationen und/oder gültige Credentials und/oder gültige Anmeldeinformationen, um dem verteilten Datenbanksystem oder der Netzwerk-Applikation beitreten zu können bzw. von diesem akzeptiert zu werden.
Bei einem verteilten Datenbanksystem oder bei der Netzwerk- Applikation kann es sich beispielsweise auch um ein verteil tes Kommunikationssystem zum Datenaustausch handeln. Dies kann beispielsweise ein Netzwerk oder ein Peer-to-Peer Netz werk sein.
Bei einem/dem verteilten Datenbanksystem kann es sich bei spielsweise auch um ein dezentrales verteiltes Datenbanksys tem und/oder ein dezentrales verteiltes Kommunikationssystem handeln.
Bei einer „Netzwerk-Applikation" kann es sich beispielsweise auch um eine Netzwerk-Applikationsinfrastruktur handeln oder die Netzwerk-Applikation umfasst eine entsprechende Netzwerk- Applikationsinfrastruktur. Diese Infrastruktur kann bei spielsweise Knoten und/oder Kommunikationsnetze und/oder Da tenschnittstelle und/oder weitere Komponenten umfassen, um die Netzwerk-Applikation zu realisieren oder auszuführen. Bei der Netzwerk-Applikation kann es sich z. B. um eine verteilte Netzwerk-Applikation (z. B. eine verteilte Peer-to-Peer Ap plikation oder ein verteiltes Datenbanksystem) handeln, die beispielsweise auf mehreren Knoten der Netzwerk- Applikationsinfrastruktur ausgeführt wird.
Unter einem „verteilten Datenbanksystem", das beispielsweise auch als verteilte Datenbank bezeichnet werden kann, kann im Zusammenhang mit der Erfindung beispielsweise eine dezentral verteilte Datenbank, eine Blockkette (engl. Blockchain), ein distributed Ledger, ein verteiltes Speichersystem, ein dis- tributed ledger technology (DLT) based System (DLTS) , ein revisionssicheres Datenbanksystem, eine Cloud, ein Cloud- Service, eine Blockkette in einer Cloud oder eine Peer-to- Peer Datenbank verstanden werden. Auch können beispielsweise unterschiedliche Implementierungen einer Blockkette oder ei nes DLTS verwendet werden, wie z. B. eine Blockkette oder ein DLTS, die mittels eines Directed Acylic Graph (DAG), eines kryptographischen Puzzles, einem Hashgraph oder eine Kombina-
tion aus den genannten Implementierungsvarianten [6][7]. Auch können beispielsweise unterschiedliche Konsensusverfahren (engl, consensus algorithms) implementiert werden. Dies kann beispielsweise ein Konsensusverfahren mittels eines krypto- graphischen Puzzles, Gossip about Gossip, Virtual Voting oder eine Kombination der genannten Verfahren sein (z. B. Gossip about Gossip kombiniert mit Virtual Voting) [6][7]. Wird bei spielsweise eine Blockkette verwendet, so kann diese insbe sondere mittels einer Bitcoin-basierten Realisierung oder ei ner Ethereum-basierten Realisierung umgesetzt werden [1][4] [5]. Unter einem „verteilten Datenbanksystem" kann bei spielsweise auch ein verteiltes Datenbanksystem verstanden werden, von dem zumindest ein Teil seiner Knoten und/oder Ge räte und/oder Infrastruktur durch eine Cloud realisiert sind. Beispielsweise sind die entsprechenden Komponenten als Kno ten/Geräte in der Cloud (z. B. als virtueller Knoten in einer virtuellen Maschine) realisiert. Dies kann beispielsweise mittels VM-Ware, Amazon Web Services oder Microsoft Azure er folgen. Aufgrund der hohen Flexibilität der erläuterten Im plementierungsvarianten, können insbesondere auch Teilaspekte der genannten Implementierungsvarianten miteinander kombi niert werden, indem z. B. ein Hashgraph als Blockkette ver wendet wird, wobei die Blockkette selbst z. B. auch blocklos sein kann.
Wird beispielsweise ein Directed Acylic Graph (DAG) verwendet (z. B. IOTA oder Tangle), sind insbesondere Transaktionen oder Blöcke oder Knoten des Graphen miteinander über gerich tete Kanten miteinander verbunden. Dies bedeutet insbesonde re, dass Kanten (vorzugsweise alle Kanten) die gleiche Rich tung (vorzugsweise immer die gleiche Richtung) haben, ähnlich wie dies z. B. bei Zeit ist. Mit anderen Worten ist es insbe sondere nicht möglich rückwärts (also entgegen der gemeinsa men gleichen Richtung) die Transaktionen oder die Blöcke oder die Knoten des Graphen anzulaufen bzw. anzuspringen. Azyk lisch bedeutet dabei insbesondere, dass es keine Schleifen bei einem Durchlaufen des Graphen gibt.
Bei dem verteilten Datenbanksystem kann es sich beispielswei se um ein öffentliches verteiltes Datenbanksystem (z. B. eine öffentliche Blockkette) oder ein geschlossenes (oder priva tes) verteiltes Datenbanksystem (z. B. eine private Blockket te) handeln.
Handelt es sich beispielsweise um ein öffentliches verteiltes Datenbanksystem, bedeutet dies, dass neue Knoten und/oder Ge räte ohne Berechtigungsnachweise oder ohne Authentifizierung oder ohne Anmeldeinformationen oder ohne Credentials dem ver teilten Datenbanksystem beitreten können bzw. von diesem ak zeptiert werden. Insbesondere können in einem solchen Fall die Betreiber der Knoten und/oder Geräte anonym bleiben.
Handelt es sich bei dem verteilten Datenbanksystem beispiels weise um ein geschlossenes verteiltes Datenbanksystem, benö tigen neue Knoten und/oder Geräte beispielsweise einen gülti gen Berechtigungsnachweis und/oder gültige Authentifizie- rungsinformationen und/oder gültige Credentials und/oder gül tige Anmeldeinformationen, um dem verteilten Datenbanksystem beitreten zu können bzw. um von diesem akzeptiert zu werden.
Bei einem verteilten Datenbanksystem kann es sich beispiels weise auch um ein verteiltes Kommunikationssystem zum Daten austausch handeln. Dies kann beispielsweise ein Netzwerk oder ein Peer-2-Peer Netzwerk sein. Alternativ oder zusätzlich kann die Erfindung beispielsweise auch mittels einer Peer-2- Peer Applikation anstelle des verteilten Datenbanksystems re alisiert werden.
Unter „Datenblock", der insbesondere je nach Kontext und Rea lisierung auch als „Glied" oder „Block" bezeichnet sein kann, kann im Zusammenhang mit der Erfindung beispielsweise ein Da tenblock eines verteilten Datenbanksystems (z. B. eine Block kette oder eine Peer to Peer Datenbank) oder einer Netzwerk- Applikation verstanden werden, die insbesondere als Daten struktur realisiert ist und vorzugsweise jeweils eine der Transaktionen oder mehrere der Transaktionen umfasst. Bei ei-
ner Implementierung kann beispielsweise die Datenbank (oder das Datenbanksystem) ein DLT basiertes System (DLTS) oder ei ne Blockkette sein und ein Datenblock ein Block der Blockket te oder des DLTS. Ein Datenblock kann beispielsweise Angaben zur Größe (Datengröße in Byte) des Datenblocks, einen Daten block-Header (engl. Blockheader), einen Transaktionszähler und eine oder mehrere Transaktionen umfassen [1]. Der Daten block-Header kann beispielsweise eine Version, eine Verket tungsprüfsumme, eine Datenblockprüfsumme, einen Zeitstempel, einen Proof-of-Work Nachweis und eine Nonce (Einmalwert, Zu fallswert oder Zähler, der für den Proof-of-Work Nachweis verwendet wird) umfassen [1][4][5]. Bei einem Datenblock kann es sich beispielsweise auch nur um einen bestimmten Speicher bereich oder Adressbereich der Gesamtdaten handeln, die in dem verteilten Datenbanksystem gespeichert sind. Damit lassen sich beispielsweise blocklose (engl, blockless) verteilte Da tenbanksysteme, wie z. B. die IoT Chain (ITC), IOTA, und Byteball, realisieren. Hierbei werden insbesondere die Funk tionalitäten der Blöcke einer Blockkette und der Transaktio nen miteinander derart kombiniert, dass z. B. die Transaktio nen selbst die Sequenz oder Kette von Transaktionen (des ver teilten Datenbanksystems) absichern (also insbesondere si cherheitsgeschützt gespeichert werden). Hierzu können bei spielsweise mit einer Verkettungsprüfsumme die Transaktionen selbst miteinander verkettet werden, indem vorzugsweise eine separate Prüfsumme oder die Transaktionsprüfsumme einer oder mehrerer Transaktionen als Verkettungsprüfsumme dient, die beim Speichern einer neuen Transaktion in dem verteilten Da tenbanksystem in der entsprechenden neuen Transaktion mit ge speichert wird. In einer solchen Ausführungsform kann ein Da tenblock beispielsweise auch eine oder mehrere Transaktionen umfassen, wobei im einfachsten Fall beispielsweise ein Daten block einer Transaktion entspricht.
Unter „Nonce" kann im Zusammenhang mit der Erfindung bei spielsweise eine kryptographische Nonce verstanden werden (Abkürzung für: „used only once"[2] oder „number used on- ce"[3]). Insbesondere bezeichnet eine Nonce einzelne Zahlen-
oder eine Buchstabenkombination, die vorzugsweise ein einzi ges Mal in dem jeweiligen Kontext (z. B. Transaktion, Daten übertragung) verwendet wird.
Unter „vorhergehende Datenblöcke eines (bestimmten) Datenblo ckes des verteilten Datenbanksystems (oder einer Netzwerk applikation) " kann im Zusammenhang mit der Erfindung bei spielsweise der Datenblock des verteilten Datenbanksystems (oder der Netzwerkapplikation) verstanden werden, der insbe sondere einem (bestimmten) Datenblock direkt vorhergeht. Al ternativ können unter „vorhergehender Datenblöcke eines (be stimmten) Datenblockes des verteilten Datenbanksystems" ins besondere auch alle Datenblöcke des verteilten Datenbanksys tems (oder der Netzwerkapplikation) verstanden werden, die dem bestimmten Datenblock vorhergehen. Hierdurch kann bei spielsweise die Verkettungsprüfsumme oder die Transaktions prüfsumme insbesondere nur über den dem bestimmten Datenblock direkt vorhergehenden Datenblock (bzw. deren Transaktionen) oder über alle dem ersten Datenblock vorhergehenden Datenblö cke (bzw. deren Transaktionen) gebildet werden.
Unter einem „Blockketten-Knoten", „Knoten", „Knoten eines verteilten Datenbanksystems oder einer Netzwerk-Applikation" und dergleichen, können im Zusammenhang mit der Erfindung beispielsweise Geräte (z. B. Feldgeräte, Mobiltelefone), Rechner, Smart-Phones, Clients oder Teilnehmer verstanden werden, die Operationen (mit) dem verteilten Datenbanksystem (z. B. eine Blockkette) durchführen [1][4][5]. Solche Knoten können beispielsweise Transaktionen einer Netzwerk- Applikation oder eines verteilten Datenbanksystems bzw. deren Datenblöcke ausführen oder neue Datenblöcke mit neuen Trans aktionen in das verteilte Datenbanksystem (oder in die Netz werk-Applikation) mittels neuer Datenblöcke einfügen bzw. verketten. Insbesondere kann dieses Validieren und/oder Ver ketten durch einen vertrauenswürdigen Knoten (z. B. einen Mi ning Node) oder ausschließlich durch vertrauenswürdige Knoten erfolgen. Bei einem vertrauenswürdigen Knoten handelt es sich beispielsweise um einen Knoten, der über zusätzliche Sicher-
heitsmaßnahmen verfügt (z. B. Firewalls, Zugangsbeschränkun gen zum Knoten oder ähnliches), um eine Manipulation des Kno tens zu verhindern. Alternativ oder zusätzlich kann bei spielsweise ein vertrauenswürdiger Knoten beim Verketten ei nes neuen Datenblocks mit dem verteilten Datenbanksystem, ei ne Knotenprüfsumme (z. B. eine digitale Signatur oder ein Zertifikat) in dem neuen Datenblock speichern. Damit kann insbesondere ein Nachweis bereitgestellt werden, der angibt, dass der entsprechende Datenblock von einem bestimmten Knoten eingefügt wurde bzw. seine Herkunft angibt. Bei den Geräten (z. B. dem entsprechenden Gerät) handelt es sich beispiels weise um Geräte eines technischen Systems und/oder industri ellen Anlage und/oder eines Automatisierungsnetzes und/oder einer Fertigungsanlage, die insbesondere auch ein Knoten des verteilten Datenbanksystems (oder der Netzwerk-Applikation) sind. Dabei können die Geräte beispielsweise Feldgeräte sein oder Geräte im Internet der Dinge sein, die insbesondere auch ein Knoten des verteilten Datenbanksystems (oder der Netz werk-Applikation) sind. Knoten können beispielsweise auch zu mindest einen Prozessor umfassen, um z. B. ihre computerim plementierte Funktionalität auszuführen. Ein Knoten kann bei spielsweise als Gerät oder ausgebildet sein oder ein Knoten kann beispielsweise ein Gerät umfassen.
Unter einem „Blockketten-Orakel" und dergleichen können im Zusammenhang mit der Erfindung beispielsweise Knoten, Geräte oder Rechner verstanden werden, die z. B. über ein Sicher heitsmodul verfügen, das beispielsweise mittels Software- Schutzmechanismen (z. B. kryptographische Verfahren), mecha nische Schutzeinrichtungen (z. B. ein abschließbares Gehäu se), elektrische Schutzeinrichtungen verfügt (z. B. Tamper- Schutz oder ein Schutzsystem, das die Daten des Sicherheits moduls bei einer unzulässigen Nutzung/Behandlung des Block ketten-Orakel löscht umfasst) oder eine Kombination der ge nannten Möglichkeiten. Das Sicherheitsmodul kann dabei bei spielsweise kryptographische Schlüssel oder ein Geheimnis (z. B. eine Zeichenfolge) umfassen, die für die Berechnung
der Prüfsummen (z. B. Transaktionsprüfsummen oder Knotenprüf summen) notwendig sind.
Unter einem „Rechner" oder einem „Gerät" kann im Zusammenhang mit der Erfindung beispielsweise ein Computer(System), ein Client, ein Smart-Phone, ein IoT-Gerät, ein Gerät oder ein Server verstanden werden, die jeweils außerhalb der Blockket te angeordnet sind und kein Teil der Infrastruktur des ver teilten Datenbanksystems (oder der Netzwerk-Applikation) sind bzw. eine separate getrennte Infrastruktur bilden. Bei einem Gerät handelt es sich beispielsweise um ein Fertigungsgerät und/oder ein elektromechanisches Gerät und/oder ein elektro nisches Gerät und/oder ein Gerät eines Automatisierungsnetz werkes (z. B. für industrielle technische Anlagen, Ferti gungsanlagen, Energie- bzw. Ressourcenverteilungsanlagen), diese Geräte sind insbesondere nicht in der Lage direkt mit dem verteilten Datenbanksystem (direkt) oder der Netzwerk- Applikation zu kommunizieren.
Ein solches Gerät außerhalb des verteilten Datenbanksystems (oder der Netzwerk-Applikation) kann beispielsweise nicht auf die Daten des verteilten Datenbanksystems (oder der Netzwerk- Applikation) zugreifen, da das Gerät beispielsweise zu alt ist und weder über die notwendigen kryptographischen und/oder IT-Security-Fähigkeiten verfügt noch mit dem Datenformat des verteilten Datenbanksystems (oder der Netzwerk-Applikation) kompatibel ist.
Ein Gerät kann beispielsweise auch ein Knoten einer Netzwerk applikation oder eines verteilten Datenbanksystems sein.
Unter einem „separaten und/oder direkten Kommunikationskanal" kann im Zusammenhang mit der Erfindung beispielsweise eine Datenübertragung (z. B. ein Senden, ein Empfangen, ein Über tragen, ein Bereitstellen oder ein Übermitteln) mittels eines Kommunikationskanals verstanden werden. Beispielsweise können über diesen Kanal Transaktionen/Nachrichten schneller ver schickt werden und eine Bestätigung über diesen Datenaus-
tausch im verteilten Datenbanksystem gespeichert werden. Da mit können beispielsweise wichtige und/oder zeitkritische Transaktionen bzw. Nachrichten (z. B. Steuerbefehle bzw. Steuertransaktionen) mit höherer Geschwindigkeit an ein ent sprechendes Ziel (z. B. ein Gerät) übertragen werden und da bei z. B. die langsamere Datenübertragung des verteilten Da tenbanksystems (z. B. bei der Replikation der Datenblö cke/Transaktionen) vermieden werden. Beispielsweise können für die Erfindung und die genannten Aspekte, Ausführungsbei spiele, Ausführungsformen der Erfindung und ihre Varianten für eine Datenübertragung zwischen einem Gerät (und/oder Kno ten) ein separater und/oder direkter Kommunikationskanal auf gebaut werden. Beispielsweise werden bei einem direkten Kom munikationskanal die Transaktionen/Nachrichten direkt zwi schen einem Sender (z. B. das (erste) und einem Empfän ger/Ziel (z. B. das Gerät, das die Steuerbefehle ausführen, verarbeiten oder auswerten soll) ausgetauscht ohne, dass wei tere Knoten und/oder Geräte des verteilten Datenbanksystems in diesem Datenaustausch involviert sind. Hingegen können bei einem separaten Kommunikationskanal Knoten und/oder Geräte des verteilten Datenbanksystems beispielsweise in den Daten austausch involviert sein. Wurde der separate und/oder direk te Kommunikationskanal erfolgreich zwischen dem Sender und dem Empfänger aufgebaut (es wurde also hierdurch insbesondere eine Kommunikationsverbindung etabliert), so können Daten beispielsweise in Form von Transaktionen oder Nachrichten zwischen dem Sender und dem Empfänger ausgetauscht werden. Wird beispielsweise der Kommunikationskanal geschlos sen/beendet (also es wird insbesondere eine Kommunikations verbindung beendet) so wird beispielsweis ein Ergebnis der Datenübertragung z. B. in Form von Transaktionen (z. B. als eine Übertragungsbestätigungstransaktion oder Bestätigungs transaktion) in dem verteilten Datenbanksystem gespeichert (z. B. in Datenblöcken des verteilten Datenbanksystems). Das Ergebnis der Datenübertragung kann beispielsweise eine Bestä tigung der Übertragung oder des Empfangs der entsprechenden Transaktionen/Nachrichten sein und/oder ein Analyseergebnis und/oder die letzte übertragene Transaktion/Nachricht, die
über den separaten und/oder direkten Kommunikationskanal übertragen wurde bevor der Kommunikationskanal geschlossen wurde. Das Speichern der Transaktion mit dem Ergebnis kann beispielsweise durch den Sender und/oder Empfänger erfolgen. Bei dem Analyseergebnis kann es sich beispielsweise um die Bestätigung des Empfangs der Nachricht/Transaktion sein und/oder, dass die Nachricht/Transaktion und z. B. deren Steuerbefehle vom Ziel/Empfänger verarbeitet werden können (z. B. eine Bestätigung der Ausführbarkeit durch das Ziel). Dies kann beispielsweise wiederum in einer Transaktion (z. B. in einer Ausführbarkeitsbestätigungstransaktion) gespeichert werden. Alternativ oder zusätzlich wird die Ausführbarkeits bestätigungstransaktion in dem verteilten Datenbanksystem ge speichert. Die Ausführbarkeitsbestätigungstransaktion umfasst dabei beispielsweise einen eindeutigen Identifizierer für das Gerät, das in der Lage ist die Steuerbefehle auszuführen und/oder kann beispielsweise angeben, wann die Steuerbefehle der Nachricht/Transaktion spätestens ausgeführt werden. Al ternativ oder zusätzlich umfasst die Ausführbarkeitsbestäti gungstransaktion beispielsweise Daten über die Ausführung z. B. wie gut bzw. zu welchem Grad die Steuerbefehle abgearbei tet werden (z. B. wie schnell die Steuerbefehle abgearbeitet sind, wann diese sicher abgearbeitet sind, wie genau oder präzise die Steuerbefehle ausgeführt werden - beispielsweise beim Ausführen von Fertigungssteuerbefehlen, um z. B. eine Bearbeitung eines Werksstückes zu dokumentieren).
Alternativ oder zusätzlich umfasst die Ausführbarkeitsbestä tigungstransaktion beispielsweise gerätespezifische Daten (z. B. Typ des Gerätes; aktueller Gerätezustand wie z. B. Be triebsbereit, Wartung notwendig, Fehlerzustand des entspre chenden Gerätes; Seriennummer des Gerätes; Standort des Gerä tes; eine Prüfsumme/Hash der ausgeführten Steuerbefehle, die beispielsweise mit Hilfe der genannten Erfindung berechnet wurde; verwendete Werkzeuge; verwendete Materialien oder eine Kombination der genannten Daten) des entsprechenden Gerätes (z. B. des Ziels/Empfängers), die für die Ausführung der Steuerbefehle relevant sind, wobei z. B. die gerätespezifi-
sehe Daten von dem entsprechenden Gerät zum Zeitpunkt der Be stätigung der Ausführbarkeit durch das Gerät ermittelt wur den. Dabei erfolgt z. B. die Bestätigung der Ausführbarkeit und die Ermittlung der gerätespezifischen Daten (in etwa) zum gleichen Zeitpunkt - beispielsweise innerhalt eines Zeitfens ters von wenigen Sekunden oder Minuten. Beispielsweise können die Daten der Ausführbarkeitsbestätigungstransaktion auch zwischen dem Sender und dem Empfänger ausgetauscht worden sein, bevor die Ausführbarkeitsbestätigungstransaktion z. B. in dem verteilten Datenbanksystem gespeichert wird. Die Aus- führbarkeitsbestätigungstransaktion kann beispielsweise noch kryptographisch geschützt sein (z. B. kann diese verschlüs selt sein oder durch eine Transaktionsprüfsumme geschützt sein). Auch kann beispielsweise die zuletzt über den Kommuni kationskanal ausgetauschte Nachricht in der Übertragungsbe stätigungstransaktion gespeichert werden (z. B. falls der Kommunikationskanal unterbrochen wird) und die Übertragungs bestätigungstransaktion z. B. dann im verteilten Datenbank system gespeichert werden. Diese zuletzt ausgetauschte Nach richt kann beispielsweise verwendet werden, um bei einem er neuten Aufbau des Kommunikationskanals den Datenaustausch bzw. die Datenübertragung fortzusetzen. Die Übertragungsbe stätigungstransaktion kann beispielsweise auch kryptogra phisch geschützt sein. Die Übertragungsbestätigungstransakti- on kann beispielsweise die Steuerbefehle und/oder die Steuer transaktion und/oder die letzte ausgetauschte Nachricht zwi schen dem Sender und dem Empfänger umfassen. Eine Fortsetzung des Datenaustausches bzw. der Datenübertragung kann bei spielsweise auch für andere Datenübertragungen genutzt werden und ist nicht speziell auf die Datenübertragung bzw. den Da tenaustausch von einer einzigen Nachricht beschränkt.
Der separate und/oder direkte Kommunikationskanal ist dahin gehend vorteilhaft um eine Übertragungsgeschwindigkeit und/oder Übertragungslatenzzeit zu verbessern. Es ist bei spielsweise auch ein Hybridverfahren möglich, indem bei spielsweise ein entsprechender Kommunikationskanal für zeit kritische Steuerbefehle (z. B. mit hoher oder kritischer Pri-
orität) genutzt wird. Beispielsweise kann anhand der Ausfüh rungsanforderungen (z. B. es sind zeitkritische Steuerbefehle Priorität Steuerbefehle für eine EchtZeitanwendung) bestimmt werden, ob es sich um entsprechende Steuerbefehle handelt, die über einen entsprechenden separaten Kommunikationskanal und/oder direkten Kommunikationskanal übertragen werden sol len. Alternativ oder zusätzlich kann das Bestimmungsmodul beispielsweise beim Bestimmen der Nachrichtensteuerungsdaten satz entsprechende Anweisungen für eine Datenübertragung der Nachricht bestimmen.
Unter einem „Objekt" können im Zusammenhang mit der Erfindung beispielsweise ein physikalisches Objekt, physische Güter, ein Werkstück (z. B. ein Motorenteil oder ein Triebwerksteil oder elektronisches Bauteil oder eine Platine mit elektroni schen Bauteilen), ein Zwischenprodukt bei der Fertigung, Roh stoffe (z. B. Diamanten, Erdöl), Nahrungsmittel (z. B. Milch oder Bananen) oder Geräte (z. B. elektrische Geräte, elektro mechanische Geräte, IoT-Geräte, elektronische Geräte oder me- chatronische Geräte) verstanden werden.
Unter „individuellen Merkmalen" (oder z. B. nur als Merkmale bezeichnet) können im Zusammenhang mit der Erfindung bei spielsweise Merkmale (z. B. in Form von Daten) verstanden werden, die durch einen Sensor von oder über das Objekt er fasst werden können und beispielsweise einer physikalischen Größe entsprechen können (z. B. Wellenlänge des Lichtes). Die individuellen Merkmale sind dabei beispielsweise objektindi viduelle Merkmale, d. h. z. B. dass diese Merkmale bzw. Daten einer einmaligen Kombination aus einen Folge von Einsen und Nullen (digitaler Fingerabdruck oder eine Art Unique Identi- fier) in Form von binärcodierten Daten entsprechen, die z. B. einem entsprechenden Objekt bzw. dem Objekt fest zugeordnet werden können. Bei den individuellen Merkmalen kann es sich beispielsweise um Oberflächenmerkmale (z. B. Kratzer, Ober flächenunebenheiten) des Objektes handeln. Alternativ oder zusätzlich kann es sich bei den individuellen Merkmalen z. B. um spektroskopische Daten (die z. B. auch als spektrale Daten
bezeichnet werden können) über das Objekt handeln (z. B. ge messene Spektren, hyperspektrale Bilder). Beispielsweise kann es sich bei dem Objekt um Edelsteine, Rohöl oder Lebensmittel handeln, von denen z. B. mittels eines Erfassungsgerätes in Form eines Spektroskopes ein Spektrum für das Objekt oder ei ne vorgegebene Position (z. B. eine vorgegebene Fläche und/oder Position) des Objektes erfasst wird. Insofern kann es sich bei den individuellen Merkmalen beispielsweise um spektroskopische individuelle Merkmale handeln. Bei den indi viduellen Merkmalen kann es sich beispielsweise auch um Merk male handeln, die z. B. von dem Objekt nicht entfernbar sind, ohne das Objekt dabei zu beschädigen oder zu verändern. Ent sprechende Merkmale können beispielsweise als intrinsische individuelle Merkmale des Objektes bezeichnet werden.
Bei den individuellen Merkmalen kann es sich beispielsweise auch um individuelle Merkmale eines Rauschsignals handeln, das z. B. durch das Erfassungsgerät (z. B. ein Oszilloskop) erfasst wird. Handelt es sich bei dem Objekt beispielsweise um ein elektronisches Bauteil, so kann beispielsweise über eine Schnittstelle des Objektes ein objektindividuelles Rauschsignal oder ein objektindividuelles Signal (z. B. ein Signalgeber, der ein unveränderbares spezifisches Signal er zeugt, das beispielsweise einmalig konfigurierbar ist) er fasst werden. Bei diesem Rauschsignal können beispielsweise Amplitude des Raussignals für bestimmte Widerstände und/oder Dämpfungen erfasst und/oder berücksichtigt werden. Auch kann beispielsweise ein vorgegebenes Testsignal durch das Objekt bereitgestellt werden und hierbei ggf. Signalverzerrungen für die individuellen Merkmale berücksichtigt werden. Alternativ oder zusätzlich kann beispielsweise das Erfassungsgerät ein Testsignal senden, das z. B. durch vorgegebene Schaltkreise des Objektes übertragen/gesendet wird. Beispielsweise erzeugt das Objekt bzw. die entsprechenden Schaltkreise des Objektes eine Antwort, die z. B. das Testsignal umfasst, wobei die Antwort an das Erfassungsgerät übermittelt wird. Es wird dann beispielsweise der individuelle Einfluss der Schaltkreise auf das Testsignal durch das Erfassungsgerät als die individuel-
len Merkmale erfasst. Dieser individuelle Einfluss kann bei spielsweise eine Verzerrung des Testsignals sein. Entspre chend kann es sich bei den individuellen Merkmalen beispiels weise um individuelle elektronische Merkmale handeln. Auch kann es sich beispielsweise bei den individuellen Merkmalen um akustische Merkmale des Objektes handeln (z. B. Motorenge räusche, Betriebsgeräusche). Damit beispielsweise das Erfas sungsgerät die individuellen Merkmale möglichst einfach er fassen kann, wird die Art und Weise und der Ort (z. B. kann als Konfiguration bezeichnet werden) am Objekt beispielsweise durch einen Objektdatensatz vorgegeben. Dieser Objektdaten satz kann beispielsweise durch die Netzwerkapplikation oder eine Datenbank (z. B. ein verteiltes Datenbanksystem) bereit gestellt werden oder dieser Objektdatensatz ist dem Objekt mittels eines dem Objekt beigelegten Datenspeicher für das Erfassungsmodul oder für das Erfassungsgerät abrufbar. Das Objekt kann beispielsweise auch den Datenspeicher umfassen. Der Objektdatensatz kann dabei beispielsweise Informationen umfassen, welche Art von Messung (z. B. optisch, spektral, akustisch, elektrisch, optoakustisch, multispektral optoakus- tisch), mit welcher Art von Sensor (z. B. Mikrofon, Ultra schallsensor, Infraschallsensor, spektrale Messsysteme, opto- akustische Messsysteme, optoakustische Messsysteme), an wel chem Ort, über welchen Zeitraum und mit welchen Messparame tern (z. B. Dämpfung; Signalfilter wie Hochpass, Tiefpass, Bandpass, Frequenzen, Wellenlängen) durchzuführen sind, um die individuellen Merkmale zu erfassen.
Insbesondere können beim Erfassen und/oder Auswerten und/oder Vergleichen und/oder Prüfen und/oder Verarbeiten der indivi duellen Merkmale Toleranzwerte berücksichtigt werden, um z.
B. Messtoleranzen oder Messungenauigkeiten, z. B. des Erfas sungsgerätes, auszugleichen.
Alternativ kann beispielsweise für gleichartige Objekte (z.
B. Werkstücke des gleichen Typs) die entsprechenden Informatio nen, die für eine Erfassung der individuellen Merkmale not wendig sind, fest vorgegeben werden. Beispielsweise wird bei
einem Objekt in Form eines Werkstückes die Unterseite des Ob jektes erfasst oder es sind beispielsweise Markierungen am Objekt angebracht, damit das Objekt die entsprechenden Posi tionen am Objekt findet und die individuellen Merkmale erfas sen kann. Diese fest vorgegebenen Informationen können bei spielsweise für entsprechend gleichartige Objekte in einer Netzwerkapplikation oder einem Datenbanksystem (z. B. dem verteilten Datenbanksystem) gespeichert sein oder in entspre chenden Geräten fest vorkonfiguriert sein.
Unter einer „objektindividuellen Charakteristik" (oder z. B. nur als Charakteristik bezeichnet) können im Zusammenhang mit der Erfindung beispielsweise verarbeitete (z. B. durch eine Datenverarbeitung) individuelle Merkmale verstanden werden, die dabei insbesondere derart verarbeitet werden, dass die individuelle Charakteristik reproduzierbar für die gleichen individuellen Merkmale erzeugbar ist. Insbesondere können hierbei Toleranzwerte berücksichtigt werden, um z. B. Messto leranzen oder Messungenauigkeiten des Erfassungsgerätes aus zugleichen. Bei der objektindividuellen Charakteristik han delt es sich beispielsweise um einen digitalen Fingerabdruck für das Objekt. Der digitale Fingerabdruck wird beispielswei se mittels eines Algorithmus für digitale Fingerabdrücke (z. B. Rabin's fingerprinting algorithm) berechnet. Handelt es sich bei den individuellen Merkmalen beispielsweise um ein Signal oder Rauschsignal, so können das Sig nal/Rauschverhältnis, Phase des Signals, Frequenzen, Wellen längeninformationen, Frequenzamplituden verwendet werden.
Auch können beispielsweise die individuellen Merkmale z. B. hinsichtlich Wellenlängen und Amplituden bei Spektren ausge wertet werden. Bei hyperspektralen Bildern kann beispielswei se für die jeweiligen Wellenlängen der Bilder die Intensität der Wellenlänge an einer oder mehreren Bildpositionen bzw. Positionen am Objekt ausgewertet werden (bzw. in den entspre chenden erfassten Bildern).
Bevor beispielsweise die entsprechende Charakteristik für die entsprechenden individuellen Merkmale berechnet wird, können
z. B. die individuellen Merkmale vorverarbeitet werden, um die Messungenauigkeiten zu kompensieren. Beispielsweise lie gen Messwerte der individuellen Merkmale in einem möglichen Wertebereich (z. B. 1 bis 100). Dieser Wertebereich wird bei spielsweise in vorgegebene Intervalle eingeteilt, z. B. 5 Werteintervalle (1 - 20, 21 - 40, 41 - 60, 61 - 80, 81 - 100). Den einzelnen Werteintervallen werden dann intervall spezifische Werte zugewiesen (z. B. 1 - 20: A, 21 - 40: B, 41 - 60: C, 61 - 80: D, 81 - 100: E). Wird beispielweise ein Messwert der individuellen Merkmale ausgewertet oder vorver arbeitet, so wird z. B. überprüft in welchem Werteintervall der konkrete Messwert liegt und der intervallspezifische Wert für die Berechnung des digitalen Fingerabdruckes verwendet. Für die Werte 1 und 100 wäre beispielsweise „AE" das Ergeb nis. Auch können beispielsweise andere Verfahren verwendet werden. Dies sind beispielsweise Mittelwertverfahren oder gleitende Mittelwertverfahren. Die entsprechenden ggf. vor verarbeiteten individuellen Merkmale werden dann z. B. als Eingabeparameter für einen Algorithmus zum Berechnen des di gitalen Fingerabdruckes verwendet. Alternativ oder zusätzlich kann beispielsweise eine der erwähnten Varianten der Vorver arbeitung/Verarbeitung auf die Daten (individuelle Merkmale und/oder objektindividuelle Merkmale) angewendet werden, die zur Ermittlung oder Bereitstellung oder Berechnung des ersten kryptographischen Schlüssels dienen. Alternativ kann bei spielsweise die erläuterte Vorverarbeitung/Verarbeitung für die entsprechenden Daten (z. B. die individuellen Merkmale und/oder objektindividuelle Merkmale und/oder objektindividu- ellen Charakteristik) verwendet werden, bevor diese auch für andere Zwecke verwendet werden. Beispielsweise kann anhand dieser derart verarbeiteten Daten die kryptographische Prüf summe berechnet werden, indem diese Daten z. B. als Geheimnis bei der Berechnung der kryptographischen Prüfsumme verwendet werden (z. B. ist dies für das Gerät einsetzbar).
Unter „Nachrichten" können im Zusammenhang mit der Erfindung beispielsweise Nachrichten eines Kommunikationsprotokolls und/oder Transaktionen eines Datenbanksystems (z. B. eines
verteilten Datenbanksystems) oder einer Netzwerkapplikation verstanden werden. Eine Nachricht kann beispielsweise der Da tenstruktur entsprechen oder eine Nachricht kann die Daten struktur umfassen. Die entsprechende Nachricht kann bei spielsweise auch die entsprechende kryptographische Prüfsumme umfassen.
Unter einer „Datenstruktur" kann im Zusammenhang mit der Er findung beispielsweise eine Nachricht oder eine Transaktion verstanden werden. Alternativ umfasst beispielsweise eine Nachricht oder eine Transaktion eine entsprechende Daten struktur. Beispielsweise umfassen ggf. die Datenstruktur, die Nachricht oder die Transaktion eine entsprechende kryptogra phische Prüfsumme für die Datenstruktur.
Unter einem „kryptographischer Schlüssel" kann im Zusammen hang mit der Erfindung beispielsweise ein symmetrischer kryp tographischer Schlüssel oder ein privater Schlüssel eines asymmetrischen kryptographischen Schlüsselpaar oder ein öf fentlicher Schlüssel eines asymmetrisches kryptographisches Schlüsselpaares verstanden werden.
Beispielsweise kann eine von der Erfindung genutzte Daten struktur noch weitere Daten umfassen, wie beispielsweise Steuerbefehle, um z. B. einen Weitertransport oder eine Wei terverarbeitung des Objektes zu steuern, wenn z. B. mit der Erfindung festgestellt wurde, dass das Objekt authentisch ist bzw. dem Objekt entspricht, für das z. B. bereits eine ent sprechende Datenstruktur (z. B. mit einer Prüfsumme) z. B. in der Netzwerkapplikation gespeichert wurde.
Mit der Erfindung ist es insbesondere möglich eine dezentrale Infrastruktur (z. B. blockkettenbasiert) zu realisieren, die reale bzw. physische Güter (z. B. Objekte) durch eine digita le Infrastruktur verwaltet und deren Verarbeitung (z. B. Her stellung, Transport und Bestätigung deren Authentizität) ge steuert wird. Darüber hinaus können beispielsweise bestimmte Services oder Dienstleistungen bereitgestellt werden, wenn
ein entsprechendes Objekt vorliegt, mit dem diese Dienstleis tungen oder Services assoziiert sind. Diese Services und Dienstleistungen können beispielsweise mittels der Steuer funktionen angesteuert bzw. freigegeben werden.
Häufig werden beispielsweise physischen Objekten ein (digita ler) Service oder eine Dienstleistung zugeordnet oder ein entsprechendes physisches Objekt soll eine entsprechende Dienstleistung (z. B. in Form von bereitgestellten Steuer funktionen) in Anspruch nehmen , um z. B. die Weiterverarbei tung eines/des Objektes (z. B. eines Werkstücks) zu steuern und/oder deren Transport und Arbeitsschritte zu dokumentie ren.
Die Erfindung erlaubt es insbesondere für ein (physisches) Objekt entsprechende Steuerfunktionen bereitzustellen, um entsprechende (digitale) Services und Dienstleistungen zu nutzen. Sind z. B. für das Objekt die erlaubten Steuerfunkti- onen identifiziert, so können beispielsweise Daten zwischen dem Objekt und z. B. einer Netzwerkapplikation über eine ent sprechende Steuerfunktion ausgetauscht werden. In der Daten struktur können dann z. B. Daten über den Zustand des Objek tes (z. B. ein Gerätezustand, wenn das Objekt ein Gerät ist,
- wie z. B. Betriebsbereit, Wartung notwendig, Fehlerzustand des entsprechenden Gerätes) mitgeteilt werden und/oder weite re benötigte Steuerfunktionen z. B. bei der Netzwerkapplika tion nachgefragt werden. Über die Steuerfunktionen können dann z. B. Softwareupdates des Objektes vorgenommen werden oder Softwareupdates anderer Objekte oder Systeme vorgenommen werden, wobei das Objekt hierbei z. B. die dafür notwendigen Steuerfunktionen freischaltet.
Wird beispielsweise ein entsprechendes Objekt ausgeliefert oder soll es verarbeitet oder bearbeitet werden, so besteht z. B. ein Bedarf oder eine Notwendigkeit überprüfen zu kön nen, welche Steuerfunktionen für das entsprechende Objekt zur Verfügung stehen.
Um diese Aufgabe zu lösen, werden beispielsweise durch das Erfassungsgerät die individuellen Merkmale des Objektes er fasst und mit dem entsprechenden Referenzwert verglichen oder überprüft. Bei den individuellen Merkmalen kann es sich bei spielsweise um Oberflächenstrukturen des Objektes handeln, wenn das Objekt beispielsweise ein Werkstück ist, das mittels Zerspanung gefertigt wurde. Hierbei können beispielsweise an vorgegebenen Positionen des Objektes durch das Erfassungsge rät (z. B. ein Oberflächenerfassungsgerät wie beispielsweise ein 3D-Oberflächenscanner oder eine Oberflächenkamera) die individuellen Merkmale erfasst werden, wobei es sich bei spielsweise in einem solchen Fall bei den individuellen Merk malen um individuelle Oberflächenmerkmale des Objektes han delt. Es ist beispielsweise auch denkbar, dass ein digitaler Fingerabdruck in Form der individuellen Merkmale in das Ob jekt eingearbeitet wurde. Dieser Fingerabdruck bzw. die digi talen Merkmale sind beispielsweise mit dem bloßen Auge und/oder ohne Kenntnisse über die Art und Position nicht feststellbar oder nur mit erheblichem technischem Aufwand feststellbar. Entsprechend können beispielsweise die Informa tionen, um die individuellen Merkmale zu erfassen, in einem geschützten Speicher des Gerätes liegen, sodass kein Zugriff durch Unbefugte auf diese Informationen stattfinden kann. Bei dem eingearbeiteten Fingerabdruck kann es sich beispielsweise um Oberflächenunebenheiten handeln, die während der Fertigung des Objektes erzeugt werden. Alternativ oder zusätzlich kann der Fingerabdruck durch das Aufbringen von Farben oder Parti keln realisiert sein, wobei beispielsweise die Farben oder Partikel derart aufgebracht werden, dass ein individuelles Spektrum für das Objekt erzeugt wird. Hierzu können bei spielsweise unterschiedliche Farben/Partikel über die Ober fläche des Objektes verteilt werden, sodass das beispielswei se ein geometrisches Spektrum erzeugt wird, damit z. B. an bestimmten Positionen des Objektes ein vorgegebenes Spektrum gemessen werden kann. Das Spektrum bzw. die Farben/Partikel sind beispielsweise derart gewählt, dass diese nicht im durch das menschliche Auge sichtbaren Spektrum liegen. Dies kann beispielsweise ein Spektrum sein, das jenseits der 800 nm (z.
B. Wellenlängen > 800 nm wie ein Wellenlängenbereich zwischen 800 nm und 1000 nm) liegt.
Bei den individuellen Merkmalen kann es sich beispielsweise auch um andere Merkmale als Oberflächenmerkmale handeln. Bei spielsweise kann es sich bei den individuellen Merkmalen um spektroskopische Daten über das Objekt handeln. Beispielswei se kann es sich bei dem Objekt um Edelsteine, Rohöl oder Le bensmittel handeln, von denen z. B. mittels eines Erfassungs gerätes in Form eines Spektroskopes ein Spektrum für das Ob jekt oder eine vorgegebene Position (z. B. eine vorgegebene Fläche und/oder Position) des Objektes erfasst wird. Insofern kann es sich bei den individuellen Merkmalen beispielsweise um spektroskopische individuelle Merkmale handeln. Bei den individuellen Merkmalen kann es sich beispielsweise auch um individuelle Merkmale eines Rauschsignals handeln, das z. B. durch das Erfassungsgerät (z. B. ein Oszilloskop) erfasst wird. Handelt es sich bei dem Objekt beispielsweise um ein elektronisches Bauteil, so kann beispielsweise über eine Schnittstelle des Objektes ein objektindividuelles Rauschsig nal oder ein objektindividuelles Signal (z. B. ein Signalge ber, der ein unveränderbares spezifisches Signal erzeugt, das beispielsweise einmalig konfigurierbar ist) erfasst werden. Bei diesem Rauschsignal können beispielsweise Amplitude des Raussignals für bestimmte Widerstände und/oder Dämpfungen er fasst und/oder berücksichtigt werden. Auch kann beispielswei se ein vorgegebenes Testsignal durch das Objekt bereitge stellt werden und hierbei ggf. Signalverzerrungen für die in dividuellen Merkmale berücksichtigt werden. Alternativ oder zusätzlich kann beispielsweise das Erfassungsgerät ein Test signal senden, das z. B. durch vorgegebene Schaltkreise des Objektes übertragen/gesendet wird. Beispielsweise erzeugt das Objekt bzw. die entsprechenden Schaltkreise des Objektes eine Antwort, die z. B. das Testsignal umfasst, wobei die Antwort an das Erfassungsgerät übermittelt wird. Es wird dann bei spielsweise der individuelle Einfluss der Schaltkreise auf das Testsignal durch das Erfassungsgerät als die individuel len Merkmale erfasst. Dieser individuelle Einfluss kann bei-
spielsweise eine Verzerrung des Testsignals sein. Entspre chend kann es sich bei den individuellen Merkmalen beispiels weise um individuelle elektronische Merkmale handeln.
Abhängig von dem Objekt und/oder einer entsprechenden Konfi guration/Festlegung kann es sich somit bei den individuellen Merkmalen beispielsweise um individuelle Oberflächenmerkmale und/oder individuelle spektroskopische Merkmale und/oder in dividuelle elektronische Merkmale handeln. Bei den individu ellen Merkmalen kann es sich beispielsweise auch um akusti sche Merkmale, optoakustische Merkmale handeln oder mul- tisprektrale optoakustische Merkmale handeln. Die entspre chenden individuellen Merkmale lassen sich beispielsweise re produzierbar für das Objekt erfassen.
Bei den individuellen Merkmalen (können z. B. auch als ob jektindividuelle Merkmale bezeichnet werden) kann es sich beispielsweise auch um eine Kombination der genannten Bei spiele für individuellen Merkmale handeln.
Unter Verwendung der individuellen Merkmale kann dann bei spielsweise eine objektindividuelle Charakteristik berechnet werden. Hierbei können beispielsweise Toleranzwerte für die individuellen Merkmale berücksichtigt werden, um beispiels weise eine reproduzierbare objektindividuelle Charakteristik für das Objekt zu erzeugen. Die objektindividuelle Charakte ristik ist dahingehend vorteilhaft, um beispielsweise Messun genauigkeiten beim Erfassen der individuellen Merkmale zu kompensieren .
Beispielsweise kann die erwähnte Datenstruktur eine Nachricht sein oder eine Nachricht kann die Datenstruktur umfassen, wo bei die Nachricht beispielsweise durch ein verteiltes Daten banksystem oder eine Netzwerkapplikation gespeichert oder verarbeitet werden soll, wobei das verteilte Datenbanksystem oder die Netzwerkapplikation beispielsweise eine Blockkette ist und die Datenstruktur eine Transaktion des verteilten Da tenbanksystems (oder der Netzwerkapplikation) und die krypto-
graphische Prüfsumme beispielsweise eine Transaktionsprüfsum me ist. Beispielsweise wird der Datenstruktur die kryptogra- phische Prüfsumme angehängt, sodass die Integrität und/oder Herkunft und/oder Authentizität der Datenstruktur und deren Zugehörigkeit zum Objekt überprüft werden kann.
Die Netzwerkapplikation oder eine Datenbank kann dabei bei spielsweise eine Vielzahl von Referenzwerten umfassen, denen z. B. die entsprechende (erlaubten) Steuerfunktionen (z. B. Schreibfunktionen und/oder Zugangsbeschränkungen) für ein entsprechendes Objekt zugeordnet sind. Beispielsweise wird mittels des Vergleichens und/oder Ermitteln des Prüfergebnis ses anhand der individuellen Merkmale mit dem Referenzwert identifiziert, welche der Steuerfunktionen beim Vorliegen des Objektes verfügbar sind oder bereitgestellt werden können.
Bereitstellen bedeutet in diesem Zusammenhang beispielsweise, dass ein Zugriff auf die dem Objekt oder dem entsprechenden Referenzwert zugeordneten Steuerfunktionen erfolgt, indem z. B. dem Gerät oder dem Objekt entsprechende Zugangsdaten für die Steuerfunktionen (z. B. einem Webservice) übermittelt werden (z. B. über eine Kommunikationsverbindung). Die Zu gangsdaten sind vorzugsweise zeitlich beschränkt nutzbar, um sicherzustellen, dass diese Daten z. B. bei einer Abwesenheit des Objektes nicht unnötig lange genutzt werden können.
Bei einer ersten Ausführungsform des Gerätes umfasst das Ge rät beispielsweise ein Kryptographiemodul, wobei das Krypto graphiemodul beispielsweise einen ersten kryptographischen Schlüssel anhand von einer objektindividuellen Charakteristik und/oder anhand der individuellen Merkmale berechnet.
Bei weiteren Ausführungsformen des Gerätes werden die indivi duellen Merkmale mit dem entsprechenden Referenzwert vergli chen, wobei bei einer ausreichend genauen Übereinstimmung des Referenzwertes mit den individuellen Merkmalen der erste kryptographische Schlüssel und/oder Zugangsdaten durch das Kryptographiemodul freigegeben werden. Alternativ oder zu-
sätzlich kann beispielsweise der Zugriff auf die entsprechen den Steuerfunktionen durch den ersten kryptographischen Schlüssel und/oder mittels der Zugangsdaten erfolgen. Bei spielsweise kann mit dem ersten kryptographischen Schlüssel eine entsprechende Anfragenachricht (z. B. als entsprechender Datensatz oder Datenstruktur in einer Nachricht realisiert) kryptographisch signiert werden. Wenn z. B. eine Korrektheit der entsprechenden digitalen Signatur durch eine Überprüfung mittels eines entsprechenden zugeordneten weiteren kryptogra phischen Schlüssels oder zugeordneten Schlüsselmaterials (z. B. bereitgestellt von einer vertrauenswürdigen Instanz wie einem vertrauenswürden Server oder einer Certificate Authori- ty) bestätigt werden konnte, werden z. B. die entsprechenden Steuerfunktionen bereitgestellt bzw. der Zugriff auf diese erteilt.
Bei weiteren Ausführungsformen des Gerätes wird zwischen dem Objekt und/oder dem Gerät eine Kommunikationsverbindung ein gerichtet. Alternativ oder zusätzlich wird zwischen dem Ob jekt und/oder einer Netzwerkapplikation eine Kommunikations verbindung eingerichtet. Alternativ oder zusätzlich wird zwi schen dem Objekt und/oder dem Gerät und/oder einer Netzwerk applikation eine Kommunikationsverbindung eingerichtet.
Bei weiteren Ausführungsformen des Gerätes ist die Kommunika tionsverbindung mittels eines kryptographischen Schutzes ge schützt.
Bei weiteren Ausführungsformen des Gerätes kann der krypto- graphische Schutz mit dem ersten kryptographischen Schlüssel erzeugt und/oder überprüft und/oder entfernt werden.
Bei weiteren Ausführungsformen des Gerätes ist der Referenz wert ein Referenzhashwert oder ein eindeutiger (Referenz- )Identifizierer, wobei beispielsweise der Referenzhashwert oder der eindeutige (Referenz-)Identifizierer für einen oder den gespeicherte Referenzwert gebildet wurde. Alternativ oder zusätzlich sind die individuellen Merkmale ein Objekthashwert
oder ein eindeutiger (Objekt-)Identifizierer, wobei bei spielsweise der Objekthashwert oder der eindeutige (Objekt- )Identifizierer beim Erfassen der individuellen Merkmale ge bildet wurden bzw. werden (z. B. anhand der erfassten indivi duellen Merkmale). Zur Berechnung der entsprechenden Hashwer- te oder der entsprechenden eindeutigen Identifizierer (unique Identifier) können z. B. entsprechenden (kryptographische) Funktionen verwendet werden.
Bei weiteren Ausführungsformen des Gerätes wird der Referenz wert bei einem Erzeugen des Objektes festgelegt, wobei der Referenzwert insbesondere beim Erzeugen des Objektes diesem zugeordnet wird.
Bei weiteren Ausführungsformen des Gerätes erlauben die Steu erfunktionen einen Zugriff auf eine Datenbank oder Netzwerk applikation, um Daten über das Objekt in einer Datenstruktur mit der Datenbank oder der Netzwerkapplikation auszutauschen oder zu synchronisieren.
Bei weiteren Ausführungsformen des Gerätes sind die Steuer funktionen entsprechende Steuerfunktionen des Gerätes und/oder entsprechende Steuerfunktionen des Objektes und/oder entsprechende Steuerfunktionen einer Netzwerkapplikation.
Bei weiteren Ausführungsformen des Gerätes ist die Netzwerk applikation oder das verteilte Datenbanksystem beispielsweise eine Blockkette, wobei das Gerät beispielsweise als Knoten oder Orakel des verteilten Datenbanksystems oder der Netzwerkappli kation ausgebildet ist, die kryptographische Prüfsumme beispielsweise eine digitale Signatur ist.
Bei weiteren Ausführungsformen des Gerätes umfasst das Gerät beispielsweise ein Berechnungsmodul (120), wobei
das Berechnungsmodul (120) beispielsweise zum Be rechnen einer objektindividuellen Charakteristik anhand der individuellen Merkmale eingerichtet ist, die Charakteristik beispielsweise unter Berücksich tigung vorgegebener Toleranzwerte der individuellen Merkmale berechnet wird, beispielsweise die Charakteristik und/oder die in dividuellen Merkmale mit dem entsprechenden Refe renzwert verglichen werden, beispielsweise bei einer ausreichend genauen Über einstimmung des Referenzwertes mit der Charakteris tik und/oder der individuellen Merkmale der erste kryptographische Schlüssel durch das Kryptogra phiemodul freigegeben wird.
Bei weiteren Ausführungsformen des Gerätes umfasst das Gerät beispielsweise ein Monitoringmodul, wobei beispielsweise das Monitoringmodul dazu eingerichtet ist das Gerät zu überwachen und insbesondere Informationen der Überwachung in eine Datei oder in einer Datenstruktur zu speichern. Damit kann der Be trieb des Gerätes überwacht werden und z. B. festgestellt werden, wann an einem Gerät Veränderungen vogenommen wurden (z. B. ein Software- oder Firmwareupdate wurde eingespielt) oder wann sich ein Gerätezustand des Gerätes z. B. geändert hat.
Bei weiteren Ausführungsformen des Gerätes umfasst das Objekt und/oder das Gerät einen Objektdatensatz, wobei der Objektdatensatz angibt, an welchen geometri schen Stellen und/oder Schnittstellen das Erfas sungsgerät die individuellen Merkmale erfassen kann, der Objektdatensatz beispielsweise die individuel len Merkmale und/oder die objektindividuelle Cha rakteristik in verschlüsselter Form umfasst, beispielsweise die verschlüsselten die individuel len Merkmale und/oder die objektindividuelle Cha-
rakteristik mittels des ersten kryptographischen Schlüssels werden können, der Objektdatensatz beispielsweise weitere Objekt daten umfasst, wie beispielsweise Messwerte des Ob jektes, Messwerte über das Objekt, Herstellungsan gaben des Objektes, Aufenthaltsorte des Objektes, die weiteren Objektdaten beispielsweise von Senso ren des Gerätes für das Objekt erfasst werden, die Sensoren beispielsweise ein GPS-Modul sind und/oder Temperatursensoren und/oder optische Sen soren sind, die beispielsweise entsprechende Eigen schaften von dem Objekt erfassen.
Das Gerät ist dahingehend vorteilhaft, um beispielsweise be stimmte ausgewählte Bereiche des Objektes oder auch die Schnittstellen festzulegen, über die die individuellen Merk male durch das Erfassungsgerät erfasst werden können. Bei den Schnittstellen kann es sich beispielsweise um Schnittstellen des Objektes handeln, wenn es sich beispielsweise bei dem Ob jekt um ein elektronisches Bauteil handelt. Der Objektdaten satz kann hierzu beispielsweise in einer entsprechenden Da tenstruktur gespeichert sein und zwischen dem Objekt und/oder dem Gerät und/oder der Netzwerkapplikation ausgetauscht wer den.
Bei einer weiteren Ausführungsform des Gerätes wird die ob jektindividuelle Charakteristik unter Berücksichtigung vorge gebener Toleranzwerte der individuellen Merkmale berechnet.
Das Gerät ist dahingehend vorteilhaft, um beispielsweise Mes sungenauigkeiten bei einer Berechnung der Charakteristik zu kompensieren, um für das korrekte Objekt ggf. reproduzierbar die objektindividuelle Charakteristik zu berechnen. Bei spielsweise können die Toleranzwerte derart gewählt werden, dass bei spektroskopischen individuellen Merkmale (auch spektrale individuelle Merkmale genannt) eines Objektes z. B. in Form von Lebensmitteln, kein erster kryptographischer Schlüssel bereitgesellt wird (oder kein gültiger erster kryp-
tographischer Schlüssel bereitgestellt werden kann), wenn das Objekt bzw. die Lebensmittel nicht mehr frisch genug sind. Handelt es sich beispielsweise bei dem Objekt um Bananen, so kann der Toleranzwert für das Spektrum der Oberflächen der Bananen derart gewählt werden, dass bei einem großflächigen Braunwerden der Bananen (z. B. ist im Spektrum ein deutlich verringerte Grünanteil und/oder Gelbanteil vorhanden, sodass z. B. ein entsprechender Referenzwert unterschritten wird), für diese Bananen kein erster kryptographischer Schlüssel be reitgestellt wird (oder kein gültiger erster kryptographi scher Schlüssel bereitgestellt werden kann). Entsprechend können die Bananen bzw. eine Bananenlieferung mit diesen Ba nanen an einem Transportpunkt oder bei einem Zwischenhändler nicht mehr als „Frisch" in einer Lieferkette mittels einer Nachricht mit der Datenstruktur oder der Datenstruktur in dem verteilten Datenbanksystem (oder in der Netzwerkapplikation) bestätigt/gespeichert werden. Auf die gleiche Weise können beispielsweise andere Objekte in der Form von verderblichen Waren mittels Nachrichten/Datenstrukturen in einem verteilten Datenbanksystem (oder in einer Netzwerkapplikation) überwacht werden. Die entsprechenden Toleranzwerte werden dann entspre chend gewählt, dass ggf. kein erster kryptographischer Schlüssel bereitgestellt wird, wenn die verderblichen Waren z. B. zu stark degeneriert sind (z. B. die Haltbarkeit von Lebensmitteln abgelaufen ist oder die Lebensmittel verdorben sind). Alternativ kann beispielsweise beim Überschreiten der Toleranzwerte ein alternativer kryptographischer Schlüssel bereitgestellt werden, anhand dessen nachvollzogen werden kann, an welcher Stelle bei der Dokumentation des Transportes des Objektes die Toleranzwerte überschritten wurden. Mit an deren Worten kann beispielsweise mittels der Toleranzwerte ein Schwellenwert festgelegt werden, bei dessen Überschrei tung insbesondere kein entsprechender gültiger erster krypto graphischer Schlüssel bereitgestellt wird bzw. keine gültige kryptographische Prüfsumme erstellt wird. Insbesondere kann in einem solchen Fall z. B. ein Toleranzwert einem Schwellen wert entsprechen.
Bei weiteren Ausführungsformen des Gerätes wird beispielswei se anhand der objektindividuellen Charakteristik und/oder der individuellen Merkmale und/oder einer Zeichenfolge der erste kryptographische Schlüssel berechnet. Alternativ kann bei spielsweise anstelle des ersten kryptographischen Schlüssels beispielsweise die kryptographische Prüfsumme berechnet wer den.
Bei einer weiteren Ausführungsform des Gerätes wird beim Ver gleichen der individuellen Merkmale mit dem entsprechenden Referenzwert ein vorgegebener Toleranzwert berücksichtigt.
Das Gerät ist dahingehend vorteilhaft, um beispielsweise Mes sungenauigkeiten beim Erfassen der individuellen Merkmale zu berücksichtigen, um für das korrekte Objekt ggf. reproduzier bar die individuellen Merkmale zu ermitteln. Beispielsweise können die Toleranzwerte derart gewählt werden, dass bei spektroskopischen individuellen Merkmale (auch spektrale in dividuelle Merkmale genannt) eines Objektes z. B. in Form von Lebensmitteln, kein erster kryptographischer Schlüssel be reitgestellt wird (oder kein gültiger erster kryptographi scher Schlüssel bereitgestellt werden kann), wenn das Objekt bzw. die Lebensmittel nicht mehr frisch genug sind. Handelt es sich beispielsweise bei dem Objekt um Bananen, so kann der Toleranzwert für das Spektrum der Oberflächen der Bananen derart gewählt werden, dass bei einem großflächigen Braunwer den der Bananen (z. B. ist im Spektrum ein deutlich verrin gerte Grünanteil und/oder Gelbanteil vorhanden, sodass z. B. ein entsprechender Referenzwert unterschritten wird) für die se Bananen kein erster kryptographischer Schlüssel bereitge sellt wird (oder kein gültiger erster kryptographischer Schlüssel bereitgestellt werden kann). Entsprechend können die Bananen bzw. eine Bananenlieferung mit diesen Bananen an einem Transportpunkt oder bei einem Zwischenhändler nicht mehr als „Frisch" in einer Lieferkette mittels einer Nach richt mit der Datenstruktur oder der Datenstruktur in dem verteilten Datenbanksystem (oder in der Netzwerkapplikation) bestätigt/gespeichert werden. Auf die gleiche Weise können
beispielsweise andere Objekte in der Form von verderblichen Waren mittels Nachrichten/Datenstrukturen in einem verteilten Datenbanksystem (oder in einer Netzwerkapplikation) überwacht werden, indem z. B. entsprechende Informationen in der Netz werkapplikation gespeichert werden. Die entsprechenden Tole ranzwerte werden dann entsprechend gewählt, dass ggf. kein erster kryptographischer Schlüssel bereitgestellt wird, wenn die verderblichen Waren z. B. zu stark degeneriert sind (z.
B. die Haltbarkeit von Lebensmitteln abgelaufen ist oder die Lebensmittel verdorben sind). Alternativ kann beispielsweise beim Überschreiten der Toleranzwerte ein alternativer krypto graphischer Schlüssel bereitgestellt werden, anhand dessen nachvollzogen werden kann, an welcher Stelle bei der Dokumen tation des Transportes des Objektes die Toleranzwerte über schritten wurden. Mit anderen Worten kann beispielsweise mit tels der Toleranzwerte ein Schwellenwert festgelegt werden, bei dessen Überschreitung insbesondere kein entsprechender gültiger erster kryptographischer Schlüssel bereitgestellt wird bzw. keine gültige kryptographische Prüfsumme erstellt wird. Insbesondere kann in einem solchen Fall z. B. ein Tole ranzwert einem Schwellenwert entsprechen.
Bei weiteren Ausführungsformen des Gerätes umfasst der Ob jektdatensatz Daten, die angeben, an welchen geometrischen Stellen und/oder Schnittstellen das Erfassungsgerät die indi viduellen Merkmale erfassen kann.
Das Gerät ist dahingehend vorteilhaft, um beispielsweise be stimmte ausgewählte Bereiche des Objektes oder auch die Schnittstellen festzulegen, über die die individuellen Merk male durch das Erfassungsgerät erfasst werden können. Bei den Schnittstellen kann es sich beispielsweise um Schnittstellen des Objektes handeln, wenn es sich beispielsweise bei dem Ob jekt um ein elektronisches Bauteil handelt.
Bei weiteren Ausführungsformen des Gerätes umfasst der Ob jektdatensatz beispielsweise die individuellen Merkmale und/oder die objektindividuelle Charakteristik in verschlüs-
selter Form, wobei beispielsweise die verschlüsselten indivi duellen Merkmale und/oder die objektindividuelle Charakteris tik mittels des ersten kryptographischen Schlüssels ent schlüsselt werden können.
Das Gerät ist dahingehend vorteilhaft, um beispielsweise die Charakteristik durch einen Empfänger (z. B. in Sinne einer Warenlieferung) überprüfbar zu machen, um z. B. festzustel len, wie stark die individuellen Merkmale und/oder die ob jektindividuelle Charakteristik während der Verarbeitung des Objektes variiert haben. Dies ist beispielsweise relevant, wenn das Objekt über einen langen Transportweg transportiert wurde oder bei der Herstellung des Objektes mehrere Herstel lungsschritte durchgeführt wurden. In diesen genannten Fällen und anderen Fällen wird für das Objekt eine Datenstruktur er stellt und beispielsweise in einem verteilten Datenbanksystem (oder in einer Netzwerkapplikation) gespeichert (wie z. B. oben bereits erläutert). Die Datenstruktur kann dabei bei spielsweise zusätzlich Informationen über den Fertigungs schritt, Fertigungsbedingungen (Temperaturen bei der Ferti gung), verwendete Werkzeuge und verwendete Materialien umfas sen. Bei einem Transport kann die Datenstruktur beispielswei se Informationen über die Transportbedingungen (Temperatur für Kühlketten, Positionsinformationen usw.) umfassen. Diese zusätzlichen Informationen können beispielsweise als weitere objektbezogene Daten bezeichnet werden. Beispielsweise kann es sich bei dem Objekt im Falle eines Transportes um einen Transportbehälter handeln, der entsprechende Sensoren und/oder das Gerät umfasst. Bei dem Transportbehälter kann es sich beispielsweise um Transportbehälter für Milch, Edelstei ne oder andere Lebensmittel/Materialien handeln. Der Trans portbehälter könnte beispielsweise ein erfindungsgemäßes Ge rät und ein entsprechendes Erfassungsgerät umfassen.
Bei weiteren Ausführungsformen des Gerätes umfasst der Ob jektdatensatz beispielsweise weitere objektbezogene Daten, wie beispielsweise Messwerte des Objektes, Messwerte über das Objekt, Herstellungsangaben des Objektes, Aufenthaltsorte des
Objektes, wobei die weiteren Objektdaten beispielsweise von Sensoren des Gerätes für das Objekt oder durch Sensoren des Objektes erfasst werden, wobei die Sensoren beispielsweise ein GPS-Modul sind und/oder Temperatursensoren und/oder opti sche Sensoren und/oder akustische Sensoren und/oder optoakus- tische Sensoren sind, die beispielsweise entsprechende Eigen schaften von dem Objekt erfassen.
Beispielsweise können die Sensorwerte während der Fertigung oder während des Transportes des Objektes erfasst werden und z. B. in dem verteilten Datenbanksystem (oder in der Netz werkapplikation) gespeichert oder verarbeitet (z. B. durch Steuerfunktionen wie z. B. einen Service) werden (z. B. mit tels der Datenstruktur vorzugsweise in Verbindung mit der kryptographischen Prüfsumme).
Gemäß einem weiteren Aspekt betrifft die Erfindung ein compu terimplementiertes Verfahren zur Zugriffserteilung auf Steu erfunktionen anhand eines Objektes mit folgenden Verfahrens schritten:
Erfassen individueller Merkmale (M) eines Objektes (0) mittels eines Erfassungsgerätes (A);
Berechnen eines Prüfergebnisses anhand eines Ver- gleichens der individuellen Merkmale mit einem Re ferenzwert;
Erteilen eines Zugriffs auf Steuerfunktionen, wobei der Zugriff auf die Steuerfunktionen abhängig vom Prüfergebnis erfolgt, wenn das Prüfergeb nis eine ausreichend genaue Übereinstimmung des Referenzwertes mit den individuellen Merk malen bestätigt.
Bei weiteren Ausführungsformen des Verfahrens umfasst das Verfahren weitere Verfahrensschritte, um die funktionalen Merkmale oder um weitere Merkmale des Gerätes bzw. dessen Ausführungsformen zu realisieren.
Des Weiteren wird ein Computerprogrammprodukt mit Programmbe fehlen zur Durchführung der genannten erfindungsgemäßen Ver fahren beansprucht, wobei mittels des Computerprogrammpro dukts jeweils eines der erfindungsgemäßen Verfahren, alle er findungsgemäßen Verfahren oder eine Kombination der erfin dungsgemäßen Verfahren durchführbar ist.
Zusätzlich wird eine Variante des Computerprogrammproduktes mit Programmbefehlen zur Konfiguration eines Erstellungsge räts, beispielsweise ein 3D-Drucker, ein Computersystem oder ein zur Erstellung von Prozessoren und/oder Geräten geeignete Herstellungsmaschine, beansprucht, wobei das Erstellungsgerät mit den Programmbefehlen derart konfiguriert wird, dass das genannte erfindungsgemäße Gerät erstellt wird.
Darüber hinaus wird eine Bereitstellungsvorrichtung zum Spei chern und/oder Bereitstellen des Computerprogrammprodukts be ansprucht. Die Bereitstellungsvorrichtung ist beispielsweise ein Datenträger, der das Computerprogrammprodukt speichert und/oder bereitstellt. Alternativ und/oder zusätzlich ist die Bereitstellungsvorrichtung beispielsweise ein Netzwerkdienst, ein Computersystem, ein Serversystem, insbesondere ein ver teiltes Computersystem, ein cloudbasiertes Rechnersystem und/oder virtuelles Rechnersystem, welches das Computerpro grammprodukt vorzugsweise in Form eines Datenstroms speichert und/oder bereitstellt.
Diese Bereitstellung erfolgt beispielsweise als Download in Form eines Programmdatenblocks und/oder Befehlsdatenblocks, vorzugsweise als Datei, insbesondere als Downloaddatei, oder als Datenstrom, insbesondere als Downloaddatenstrom, des vollständigen Computerprogrammprodukts. Diese Bereitstellung kann beispielsweise aber auch als partieller Download erfol gen, der aus mehreren Teilen besteht und insbesondere über ein Peer-to-Peer Netzwerk heruntergeladen oder als Datenstrom bereitgestellt wird. Ein solches Computerprogrammprodukt wird beispielsweise unter Verwendung der Bereitstellungsvorrich tung in Form des Datenträgers in ein System eingelesen und
führt die Programmbefehle aus, sodass das erfindungsgemäße Verfahren auf einem Computer zur Ausführung gebracht wird oder das Erstellungsgerät derart konfiguriert, dass es das erfindungsgemäße Gerät erstellt.
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusam menhang mit der folgenden Beschreibung der Ausführungsbei spiele, die im Zusammenhang mit den Figuren näher erläutert werden. Dabei zeigen in schematischer Darstellung:
Fig. 1 ein erstes Ausführungsbeispiel der Erfindung;
Fig. 2 ein weiteres Ausführungsbeispiel der Erfindung;
Fig. 3 ein weiteres Ausführungsbeispiel der Erfindung;
In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist.
Die nachfolgenden Ausführungsbeispiele weisen, sofern nicht anders angegeben oder bereits angegeben, zumindest einen Pro zessor und/oder eine Speichereinheit auf, um das Verfahren zu implementieren oder auszuführen.
Auch sind insbesondere einem (einschlägigen) Fachmann in Kenntnis des/der Verfahrensanspruchs/Verfahrensansprüche alle im Stand der Technik üblichen Möglichkeiten zur Realisierung von Produkten oder Möglichkeiten zur Implementierung selbst verständlich bekannt, sodass es insbesondere einer eigenstän digen Offenbarung in der Beschreibung nicht bedarf. Insbeson dere können diese gebräuchlichen und dem Fachmann bekannten Realisierungsvarianten ausschließlich per Hard ware (komponenten) oder ausschließlich per Soft ware (komponenten) realisiert werden. Alternativ und/oder zu sätzlich kann der Fachmann im Rahmen seines fachmännischen Könnens weitestgehend beliebige erfindungsgemäße Kombinatio-
nen aus Hardware(komponenten) und Software(komponenten) wäh len, um erfindungsgemäße Realisierungsvarianten umzusetzen.
Eine erfindungsgemäße Kombination aus Hardware(komponenten) und Software(komponenten) kann insbesondere dann eintreten, wenn ein Teil der erfindungsgemäßen Wirkungen vorzugsweise ausschließlich durch Spezialhardware (z. B. einem Prozessor in Form eines ASIC oder FPGA) und/oder ein anderer Teil durch die (prozessor- und/oder speichergestützte) Software bewirkt wird.
Insbesondere ist es angesichts der hohen Anzahl an unter schiedlichen Realisierungsmöglichkeiten unmöglich und auch für das Verständnis der Erfindung nicht zielführend oder not wendig, all diese Realisierungsmöglichkeiten zu benennen. In sofern sollen insbesondere all die nachfolgenden Ausführungs beispiele lediglich beispielhaft einige Wege aufzeigen, wie insbesondere solche Realisierungen der erfindungsgemäßen Leh re aussehen könnten.
Folglich sind insbesondere die Merkmale der einzelnen Ausfüh rungsbeispiele nicht auf das jeweilige Ausführungsbeispiel beschränkt, sondern beziehen sich insbesondere auf die Erfin dung im Allgemeinen. Entsprechend können vorzugsweise Merkma le eines Ausführungsbeispiels auch als Merkmale für ein ande res Ausführungsbeispiel dienen, insbesondere ohne dass dies expliziert in dem jeweiligen Ausführungsbeispiel genannt sein muss.
Die Fig. 1 bis Fig. 3 zeigen jeweils Ausführungsbeispiele der unterschiedlichen Aspekte der Erfindung.
Fig. 1 zeigt dabei ein System, das verwendet wird, um bei spielsweise Sensordaten in einer Netzwerkapplikation (z. B. einem verteilten Datenbanksystem) zu speichern und/oder einen Zugriff auf Steuerfunktionen anhand eines Objektes zu ertei len. Bei den Sensordaten handelt es sich insbesondere um In formationen über ein Objekt 0. Bei den Steuerfunktionen han-
delt es sich beispielsweise um (digitale) Services, die z. B. vom Objekt oder vom Gerät in Anspruch genommen werden sollen. Dabei umfasst die Netzwerkwerkapplikation z. B. eine Daten bank oder eine Datenbasis, die unter Verwendung von Referenz werten und/oder Zugangsdaten entsprechende Steuerfunktionen anhand des Objektes identifiziert und/oder bereitstellt.
In Fig. 1 sind ein erster Knoten NI, ein zweiter Knoten N2, ein dritter Knoten N3 und ein vierter Knoten N4 gezeigt, die die Knoten der Netzwerkapplikation BC (z. B. das verteilte Datenbanksystem, das z. B. als Blockkette realisiert ist) bilden, wobei einer der Knoten, z. B. der erste Knoten NI, das (erfindungsgemäße) Gerät umfasst. Die Knoten sind dabei z. B. über ein erstes Kommunikationsnetzwerk NW1 miteinander verbunden.
Desweiteren zeigt die Fig. 1 Blöcke B, beispielsweise einen ersten Block Bl, einen zweiten Block B2 und einen dritten Block B3, einer Netzwerkapplikation BC, wobei hier insbeson dere ein Ausschnitt der Netzwerkapplikation BC exemplarisch gezeigt ist. Im hier konkreten Fall kann die Netzwerkapplika tion BC z. B. als Blockkette oder DLT realisiert sein.
Die Blöcke B umfassen jeweils mehrere Transaktionen T. Die Transaktionen T können dabei Steuertransaktionen und/oder Be stätigungstransaktionen und/oder eine Datenstruktur und/oder einen Objektdatensatz und/oder erfasst individuelle Merkmale umfassen.
Der erste Block Bl umfasst beispielsweise eine erste Transak tion Tla, eine zweite Transaktion Tlb, eine dritte Transakti on Tic und eine vierte Transaktion Tld.
Der zweite Block B2 umfasst beispielsweise eine fünfte Trans aktion T2a, eine sechste Transaktion T2b, eine siebte Trans aktion T2c und eine achte Transaktion T2d.
Der dritte Block B3 umfasst beispielsweise eine neunte Trans aktion T3a, eine zehnte Transaktion T3b, eine elfte Transak tion T3c und eine zwölfte Transaktion T3d.
Die Blöcke B umfassen jeweils zusätzlich noch eine der Ver kettungsprüfsummen CRC, die abhängig vom direkten Vorgänger- Block gebildet wird. Somit umfasst der erste Block Bl eine erste Verkettungsprüfsumme CRC1 von seinem Vorgänger-Block, der zweite Block B2 eine zweite Verkettungsprüfsumme CRC2 vom ersten Block Bl, und der dritte Block B3 eine dritte Verket tungsprüfsumme CRC3 vom zweiten Block B2.
Die jeweilige Verkettungsprüfsumme CRC1, CRC2, CRC3 wird vor zugsweise über den Block-Header des entsprechenden Vorgänger blockes gebildet. Die Verkettungsprüfsummen CRC können vor zugsweise unter Verwendung einer kryptographischen Hash- Funktion wie z.B. SHA-256, KECCAK-256 oder SHA-3 gebildet werden. Beispielsweise kann die Verkettungsprüfsumme zusätz lich über die Datenblockprüfsumme berechnet werden oder der Header umfasst die Datenblockprüfsumme (die Datenblockprüf summe ist im Nachgang erläutert).
Zusätzlich kann jeder der Blöcke eine Datenblockprüfsumme um fassen. Diese kann beispielsweise mittels eines Hash-Baumes realisiert werden.
Um den Hash-Baum zu bilden, wird für jede Transaktion eines Daten (blockes) eine Transaktionsprüfsumme (z. B. ebenfalls ein Hash-Wert) berechnet. Alternativ oder zusätzlich kann ei ne Transaktionsprüfsumme, die vom Erzeuger der Transaktion vorzugsweise beim Erzeugen der Transaktion erstellt wurde, hierfür weiterverwendet werden.
Üblicherweise wird für einen Hash-Baum, z. B. ein Merkle Tree oder Patricia Tree, verwendet, dessen Wurzel-Hash- Wert/Wurzel-Prüfsumme vorzugsweise als entsprechende Daten blockprüfsumme in den jeweiligen Blöcken hinterlegt wird.
In einer Variante wird die Datenblockprüfsumme als Verket tungsprüfsumme verwendet.
Ein Block kann weiterhin einen Zeitstempel, eine digitale Signatur, einen Proof-of-Work-Nachweis aufweisen, so wie es in den Ausführungsformen der Erfindung erläutert wurde.
Die die Netzwerkapplikation oder die Blockkette BC selbst wird durch eine Blockketten-Infrastruktur mit mehreren Block- ketten-Knoten (Knoten NI, N2, N3, N4 und weiteren Blöcken) realisiert. Bei den Knoten kann es sich beispielsweise um Blockkettenorakel oder vertrauenswürdige Knoten handeln.
Die Knoten sind über das Netzwerk NW1 (z. B. ein Kommunikati onsnetzwerk wie das Internet oder ein Ethernet-Netzwerk) mit einander kommunikativ verbunden. Mittels der Netzwerkapplika tionsinfrastruktur bzw. der Blockketten-Infrastruktur werden beispielsweise zumindest ein Teil der Datenblöcke B oder alle Datenblöcke B der Netzwerkapplikation BC für einen Teil oder alle Knoten der Netzwerkapplikation repliziert.
Das (erfindungsgemäße) Gerät kann beispielsweise als Kompo nente der Netzwerkapplikation oder in Varianten einer Kommu nikationsinfrastruktur (z. B. ein Peer-2-Peer System, einer verteilten Kommunikationsinfrastruktur) sein. Das Gerät kann beispielsweise mittels der Netzwerkapplikation mit anderen Geräten oder Datenbanken oder Systemen oder verteilten Daten banksystemen kommunizieren oder in Varianten mittels einer Kommunikationsinfrastruktur (z. B. ein Peer-2-Peer System, einer verteilten Kommunikationsinfrastruktur) miteinander kommunizieren.
Die Knoten der Netzwerkapplikation (z. B. Blockketten-Knoten) und/oder das verteilte Datenbanksystem und/oder das (erfin dungsgemäße) Gerät können beispielsweise jeweils zusätzlich noch eine weitere oder mehrere weitere Komponente/n umfassen, wie beispielsweise einen Prozessor, eine Speichereinheit, weitere Kommunikationsschnittstellen (z. B. Ethernet, WLAN,
USB, Feldbus, PCI), ein Eingabegerät, insbesondere eine Com- putertastatur oder eine Computermaus, und ein Anzeigegerät (z. B. einen Monitor). Der Prozessor kann beispielsweise meh rere weitere Prozessoren umfassen, die insbesondere zur Rea lisierung von weiteren Ausführungsbeispielen verwendet werden können.
Die Fig. 2 zeigt beispielhaft an einem weiteren Ausführungs beispiel die Funktionsweise des (erfindungsgemäßen) Gerätes. Das Gerät kann beispielsweise auch als Vorrichtung bezeichnet werden.
Die Fig. 2 zeigt im Einzelnen ein (erfindungsgemäßes) Gerät 100 zur Zugriffserteilung auf Steuerfunktionen anhand eines Objektes, wobei die Steuerfunktionen beispielsweise Funktio nen einer Netzwerkapplikation, des Gerätes oder des Objektes 0 sind.
Ein Knoten aus Fig. 1 kann z. B. das Gerät 100 umfassen oder als das Gerät 100 ausgebildet sein oder ein Knoten aus Fig. 1 ist über eine Datenleitung oder ein Kommunikationsnetzwerk mit dem Gerät 100 verbunden.
Das Gerät 100 umfasst zur Zugriffserteilung auf Steuerfunkti- onen anhand eines Objektes ein Erfassungsmodul 110, ein Über prüfungsmodul 120, ein Steuerungsmodul 130 und ein Kommunika tionsmodul (z. B. eine Netzwerkschnittstelle) 101, die über einen Bus (z. B. ein PCI Bus, CAN Bus, USB oder Datenleitung) 102 kommunikativ miteinander verbunden sind.
Das Gerät 100 umfasst optional einen Prozessor und/oder ein Kryptographiemodul und/oder ein Berechnungsmodul und/oder ein Schutzmodul, die ggf. bzw. falls vorhanden über den Bus (z.
B. ein PCI Bus, CAN Bus, USB oder Datenleitung) 102 ebenfalls kommunikativ miteinander verbunden sind.
Das Erfassungsmodul 110 ist zum Erfassen individueller Merk male M (diese individuellen Merkmale können z. B. auch als
objektindividuelle Merkmale bezeichnet werden) des Objektes 0 mittels eines Erfassungsgerätes A eingerichtet. Hierzu ist das Erfassungsgerät A über eine Datenverbindung (wireless oder kabelgebunden) (z. B. mit USB, LAN, W-LAN, Bluetooth, Firewire) C mit dem Erfassungsgerät A verbunden. Beispiels weise erfasst/misst das Erfassungsgerät A mittels eines Ab taststrahls Oberflächenunebenheiten als individuelle Merkmale für das Objekt 0 und überträgt (Sil) die individuellen Merk male an das Erfassungsmodul 110.
Das Überprüfungsmodul 120 ist zum Berechnen eines Prüfergeb nisses anhand eines Vergleichens der individuellen Merkmale mit einem Referenzwert eingerichtet.
Das Steuerungsmodul 130 ist zum Erteilen eines Zugriffs auf die Steuerfunktionen eingerichtet, wobei der Zugriff auf die Steuerfunktionen abhängig vom Prüfergebnis erfolgt (Sl), wenn das Prüfergebnis eine ausreichend genaue Übereinstimmung des Referenzwertes mit den individuellen Merkmalen bestätigt.
Bei den Steuerfunktionen F (z. B. eine erste Steuerfunktion Fl, eine zweite Steuerfunktion F2 und eine dritte Steuerfunk tion F3) handelt es sich beispielsweise um (digitale) Ser vices, die z. B. vom Objekt oder vom Gerät in Anspruch genom men werden sollen. Das Überprüfungsmodul 120 und/oder das Steuermodul 130 werden beispielsweise genutzt, um zu identi fizieren, welche Steuerfunktionen für das Objekt 0 relevant sind oder anhand des Objektes in Anspruch genommen werden sollen. Alternativ oder zusätzlich stellt das Objekt 0 oder das Gerät oder ein Nutzer des Gerätes über eine entsprechende Kommunikationsverbindung eine Anfrage für entsprechende Steu erfunktionen an das Gerät (oder eine Netzwerkapplikation).
Anhand der individuellen Merkmale und/oder anhand des Refe renzwertes kann das Gerät z. B. die entsprechenden Steuer funktionen identifizieren.
Eine Netzwerkapplikation (z. B. die Netzwerkapplikation aus Fig. 1 oder eine Cloud CL) oder eine Datenbank kann dabei beispielsweise eine Vielzahl von Referenzwerten umfassen, de nen z. B. die entsprechende (erlaubten) Steuerfunktionen (z. B. Schreibfunktionen und/oder Zugangsbeschränkungen) für ein entsprechendes Objekt zugeordnet sind. Beispielsweise wird mittels des Vergleichens und Ermittelns des Prüfergebnisses anhand der individuellen Merkmale mit dem Referenzwert iden tifiziert, welche der Steuerfunktionen beim Vorliegen des Ob jektes verfügbar sind oder bereitgestellt werden können. Al ternativ können die entsprechenden Steuerfunktionen durch ei ne Anfrage, die z. B. durch das Objekt oder durch das Gerät oder durch einen Nutzer gestellt wurde, identifiziert oder ausgewählt werden.
Bereitstellen bedeutet in diesem Zusammenhang beispielsweise, dass ein Zugriff auf die dem Objekt oder dem entsprechenden Referenzwert zugeordneten Steuerfunktionen erfolgt, indem z. B. dem Gerät und/oder dem Objekt und/oder der Netzwerkappli kation entsprechende Zugangsdaten für die Steuerfunktionen (z. B. einem Webservice) übermittelt werden (z. B. über eine Kommunikationsverbindung) . Die Zugangsdaten sind vorzugsweise zeitlich beschränkt nutzbar, um sicherzustellen, dass diese Daten z. B. bei einer Abwesenheit des Objektes nicht unnötig lange genutzt werden können.
Dabei bestätigt das Prüfergebnis beispielsweise eine ausrei chend genaue Übereinstimmung des Referenzwertes mit den indi viduellen Merkmalen.
Ist das Prüfergebnis negativ - die ausreichende Übereinstim mung des Referenzwertes mit den individuellen Merkmalen wird nicht bestätigt - so wird der Zugriff auf die Steuerfunktio- nen unterbunden bzw. nicht gewährt.
Der Referenzwert kann beispielsweise ein Schlüssel für einen Eintrag in einer Zuordnungstabelle (z. B. Hashtabelle) oder einer Datenbank sein, wobei für einen Schlüssel bzw. Refe-
renzwert jeweils eine entsprechende Information bzw. ein Da tensatz mit einer entsprechenden Information gespeichert ist, der angibt, welche Steuerfunktionen für den entsprechenden Referenzwert zur Verfügung stehen.
Sind nun z. B. die individuellen Merkmale erfasst, wird beim Vergleichen z. B. überprüft, ob für die entsprechenden indi viduellen Merkmale ein zugehöriger Schlüssel (Referenzwert) für einen Eintrag mit einem Datensatz mit entsprechenden In formationen über Steuerfunktionen in der Hashtabelle oder in der Datenbank existiert. Entsprechend kann das Überprüfen der individuellen Merkmale mit dem Referenzwert als ein Überprü fen eines Vorhandenseins eines Schlüssels (Referenzwert) für einen entsprechenden Eintrag mit Informationen über Steuer funktionen sein.
Kann beispielsweise kein Eintrag identifiziert oder zugeord net werden, werden beispielsweise keine entsprechenden Steu erfunktionen identifiziert und es kann z. B. eine Fehlermel dung ausgegeben werden.
Wie bereits erläutert, soll, z. B. über das Gerät, bei einer ausreichenden Übereinstimmung der individuellen Merkmale mit dem Referenzwert ein Zugriff auf Steuerfunktionen gewährt werden. Die entsprechenden Steuerfunktionen, auf die der Zu griff gewährt werden soll (z. B. die erste Steuerfunktion Fl und die zweite Steuerfunktion F2), können z. B. über die in dividuellen Merkmale und/oder den Referenzwert und/oder über eine Anfrage (z. B. durch das Objekt, durch einen Nutzer des Gerätes oder durch das Gerät selbst) identifiziert werden. Alternativ kann es z. B. auch sein, dass die entsprechenden Steuerfunktionen gar nicht erst identifiziert oder ausgewählt werden müssen, da z. B. bei jeder Anfrage oder Verwendung je weils die gleichen Steuerfunktionen bereitgestellt werden (Steuerfunktionen Fl - F3) und dabei insbesondere überprüft werden soll, ob z. B. ein passendes Objekt bzw. ein Objekt, das den Referenzwerten entspricht, vorliegt.
Bei weiteren Varianten kann es sich bei dem Referenzwert z.
B. um eine Zahlenfolge von mehreren Referenzwerten handeln oder anstatt des Referenzwertes werden mehrere Referenzwerte beim Vergleichen verwenden.
Beim Vergleichen oder Überprüfen der individuellen Merkmale können beispielsweise Toleranzwerte berücksichtigt werden, um z. B. Messungenauigkeiten des Erfassungsgerätes A zu berück sichtigen.
Analog zu den erfassten individuellen Merkmalen kann z. B. auch der Referenzwert als Hashwert vorliegen, der z. B. mit tels einer Einwegfunktion berechnet wurde.
Dabei ist vorteilhaft, dass die entsprechenden Merkmale oder Werte nur indirekt vorliegen und somit nicht ohne weiteres kopiert werden können oder ein gefälschtes Objekt erstellt werden kann, ohne dabei z. B. Zugriff auf das originale Ob jekt 0 zu haben.
Die Kommunikation mit dem Objekt 0 und/oder der Cloud CL und/oder der Netzwerkapplikation und/oder der Datenbank er folgt dabei vorzugsweise über das Kommunikationsmodul (z. B. eine Netzwerkschnittstelle) 101.
Ist die Kommunikationsverbindung hergestellt, können ver schiedene computergesteuerte Operationen ausgeführt werden.
Beispielsweise können die Steuerfunktionen einen Zugriff auf die Netzwerkapplikation (z. B. die Cloud CL) erlauben, um Da ten über das Objekt in einer Datenstruktur mit der Datenbank oder der Netzwerkapplikation auszutauschen oder zu synchroni sieren. Hierzu können beispielsweise entsprechende Steuer funktionen F der Cloud CL genutzt werden, um z. B. die ent sprechenden Daten (z. B. Zustandsdaten über das Objekt oder Messdaten über das Objekt) in der Cloud oder an einem anderen Ort zu speichern. Alternativ oder zusätzlich können mittels der Steuerfunktionen Wartungsarbeiten am Objekt 0 ausgeführt
werden, indem z. B. durch eine entsprechende Steuerfunktion der Steuerfunktionen ein Firmwareupdate oder ein Softwareup date oder eine Aktualisierung von Konfigurationsdateien oder eine Aktualisierung von Zugangsberechtigungen für das Objekt ausgeführt wird.
Beispielsweise können über die Steuerfunktionen Teile einer technischen Anlage (z. B. eine Fertigungsanlage) für das Ob jekt 0 gesteuert werden. Dies kann beispielsweise das Ansteu ern eines Förderbandes sein, damit das Objekt 0 (z. B. ein Schmelzofen) mit Material zum Einschmelzen versorgt wird oder das Objekt 0 (z. B. ein Fertigungsroboter) mit dem nächsten zu fertigendem Teil versorgt wird.
Die entsprechenden Steuerfunktionen können beispielsweise als Smart-Contract der Netzwerkapplikation realisiert sein.
Das optionale Berechnungsmodul ist zum Berechnen einer ob jektindividuellen Charakteristik anhand der individuellen Merkmale M eingerichtet. Bei der Berechnung der objektindivi- duellen Charakteristik können beispielsweise Toleranzwerte berücksichtigt werden, um z. B. Messungenauigkeiten des Er fassungsgerätes A bei der nachfolgend genannten Ermittlung des ersten kryptographischen Schlüssels zu berücksichtigen. Auf das Berechnungsmodul kann beispielsweise in Implementie rungsvarianten verzichtet werden, bei denen der kryptographi- sche Schlüssel anhand der individuellen Merkmale bereitge stellt wird.
Das optionale Kryptographiemodul ist zum Bereitstellen eines ersten kryptographischen Schlüssels anhand der individuellen Merkmale und/oder der objektindividuellen Charakteristik ein gerichtet.
In einer Variante kann das optionale Kryptographiemodul bei spielsweise einen ersten kryptographischen Schlüssel anhand von einer objektindividuellen Charakteristik und/oder anhand der individuellen Merkmale berechnen.
In einer Variante werden die individuellen Merkmale mit dem entsprechenden Referenzwert verglichen (z. B. durch das Kryp tographiemodul), wobei bei einer ausreichend genauen Überein stimmung des Referenzwertes mit den individuellen Merkmalen der erste kryptographische Schlüssel und/oder Zugangsdaten durch das Kryptographiemodul oder Steuerungsmodul freigegeben wird.
Beispielsweise erfolgt der Zugriff auf die entsprechenden Steuerfunktionen unter Verwendung des ersten kryptographi- schen Schlüssels und/oder mittels der Zugangsdaten. Ein Un terbinden des Zugriffs (z. B. wenn die individuellen Merkmale mit den Referenzwerten keine ausreichende Übereinstimmung aufweisen) auf die Steuerfunktionen kann z. B. durch ein Un terbinden des Zugriffs auf den ersten kryptographischen Schlüssel und/oder auf die Zugangsdaten realisiert werden.
Das Bereitstellen des ersten kryptographischen Schlüssels oder der Zugangsdaten kann beispielsweise dabei auf unter schiedliche Weise realisiert werden. Es können beispielsweise die individuellen Merkmale und/oder die objektindividuelle Charakteristik mit Referenzwerten oder einem Referenzwert verglichen werden, wobei hier beispielsweise entsprechende Toleranzwerte berücksichtigt werden. Stimmen die individuel len Merkmale und/oder die objektindividuelle Charakteristik mit dem Referenzwert überein (z. B. nach Berücksichtigung der Toleranzwerte), so wird der erste kryptographische Schlüssel und/oder die Zugangsdaten z. B. aus einem sicheren Datenspei cher geladen. Der Referenzwert kann beispielsweise während einer Initialisierungsphase und/oder Installationsphase des Gerätes erfasst oder gespeichert werden. Vorzugsweise ist die Initialisierungsphase und/oder Installationsphase für das Ge rät nur einmalig ausführbar.
Alternativ wird der erste kryptographische Schlüssel oder die Zugangsdaten anhand der individuellen Merkmale und/oder der objektindividuellen Charakteristik berechnet, indem die indi-
viduellen Merkmale und/oder die objektindividuelle Charakte ristik als Eingangsdaten für eine Schlüsselableitungsfunktion genutzt werden. Hierbei können auch noch weitere Daten ge nutzt werden (z. B. ein gespeicherter Nutzername). Beispiels weise kann eine Zeichenfolge (z. B. ein geheimes Passwort) mit den individuellen Merkmalen und/oder der objektindividu- ellen Charakteristik verknüpft werden, wobei dann beispiels weise diese verknüpften Daten dazu genutzt werden, um mittels einer Schlüsselableitungsfunktion (z. B. PBKDF2) den ersten kryptographischen Schlüssel oder die Zugangsdaten (z. B. ein Passwort für einen Nutzernamen, wobei der Nutzername bei spielsweise im Gerät gespeichert ist) zu berechnen.
In einer Variante ist die Kommunikationsverbindung mittels eines kryptographischen Schutzes geschützt.
In einer Variante kann der kryptographische Schutz mit dem ersten kryptographischen Schlüssel und/oder den Zugangsdaten erzeugt und/oder überprüft und/oder entfernt werden.
Beispielsweise kann die Kommunikationsverbindung eine sichere Kommunikationsverbindung sein, bei der das Objekt 0 und die Cloud CL jeweils einen kryptographischen Schlüssel benötigen, um die sichere Kommunikationsverbindung herzustellen. Hierbei kann beispielsweise der Referenzwert bzw. die Referenzwerte oder ein abgeleiteter Wert davon (z. B. mittels einer Hash- funktion oder Schlüsselableitungsfunktion) als kryptographi- scher Schlüssel für die gesicherte Kommunikationsverbindung für die Cloud CL (oder die Netzwerkapplikation) dienen. Hier zu werden z. B. entsprechende Referenzwerte durch die Cloud CL bzw. durch die Netzwerkapplikation verwaltet.
Die individuellen Merkmale oder ein abgeleiteter Wert davon (z. B. mittels einer Hashfunktion oder Schlüsselableitungs funktion) können als kryptographischer Schlüssel oder als Zu gangsdaten für die gesicherte Kommunikationsverbindung für das Objekt 0 dienen.
Für einen Datenaustausch zwischen dem Objekt 0 und der Cloud CL kann eine Datenstruktur verwendet werden, die mittels ei ner kryptographischen Prüfsumme geschützt ist. Die Daten struktur und die kryptographische Prüfsumme werden beispiels weise in einem Datensatz gespeichert, wobei der Datensatz beispielsweise als Transaktion in dem verteilten Datenbank system oder der Netzwerkapplikation gespeichert wird. Hierzu kann die Transaktion eine zusätzliche Prüfsumme (z. B. eine Transaktionsprüfsumme ) umfassen, die z. B. mittels eines kryptographischen Schlüssels (z. B. eines privaten kryptogra phischen Schlüssels) erzeugt wurde, der einer Entität zuge ordnet ist oder von dieser genutzt wird. Bei der Entität kann es sich beispielsweise um einen Betreiber einer Messtation oder Verarbeitungsstation handeln, die das Objekt 0 steuern, verarbeiten oder verwalten. Der Datensatz kann beispielsweise je nach Implementierung auch eine Nachricht oder Transaktion sein.
Je nach Implementierungsvariante kann die Datenstruktur z. B. auch dem Datensatz entsprechen, wenn z. B. die Datenstruktur ein Datenfeld umfasst, um die kryptographische Prüfsumme zu speichern oder die kryptographische Prüfsumme der Datenstruk tur angehängt wird. Wie bereits erläutert können insbesondere die Datenstruktur und/oder der Datensatz von einer Nachricht oder einer Transaktion gespeichert bzw. umfasst sein. Alter nativ kann beispielsweise die Datenstruktur und/oder der Da tensatz eine Nachricht oder eine Transaktion sein.
Das optionale Schutzmodul ist in einer weiteren Variante zum kryptographischen Schützen der Datenstruktur mittels der kryptographischen Prüfsumme eingerichtet, wobei das Schutzmo dul die kryptographische Prüfsumme mittels des ersten krypto graphischen Schlüssels berechnet. Die kryptographische Prüf summe kann dabei beispielsweise mit einem Keyed-Hash Message Authentication Code (HMAC z. B. unter Verwendung von MD5, SHA1, SHA256) berechnet werden. In weiteren Implementierungs varianten kann die kryptographische Prüfsumme als digitale Signatur oder als digitales Zertifikat realisiert sein, wobei
je nach den verwendeten kryptographischen Verfahren (symmet rischer oder asymmetrische Verfahren), der erste kryptogra- phische Schlüssel beispielsweise als privater Schlüssel fun giert, um die digitale Signatur zu erzeugen. Zum Überprüfen der digitalen Signatur wird beispielsweise der öffentliche Schlüssel von dem ersten kryptographischen Schlüssel abgelei tet und durch eine vertrauenswürdige Instanz bereitgestellt (z. B. einen vertrauenswürdigen Server), so kann in Varianten eine überprüfende Instanz, beispielsweise auf den entspre chenden Schlüssel zugreifen. Ist der private Schlüssel z. B. erzeugt worden und z. B. in einem Speicher des Kryptogra phiemoduls gespeichert worden, können beispielsweise die ent sprechenden individuellen Merkmale des Objektes verändert oder unbrauchbar gemacht werden, sodass der erste kryptogra- phische Schlüssel nicht mehr abgeleitet werden kann. Dies kann beispielsweise dadurch erfolgen, dass bei Oberflächen merkmalen die entsprechende Position an der Oberfläche des Objektes poliert wird, Farben/Partikel vom Objekt abgewaschen werden (z. B. mittels Lösungsmittel) oder zusätzlich Far ben/Partikel auf das Objekt aufgebracht werden, um die ent sprechenden individuellen Merkmale unbrauchbar zu machen oder zu verändern. Es ist beispielsweise auch möglich, dass die individuellen Merkmale derart unbrauchbar gemacht werden, dass der erste kryptographische Schlüssel sich nicht mehr di rekt anhand dieser berechnen lässt, jedoch noch die objektin dividuelle Charakteristik anhand der veränderten individuel len Merkmale unter Berücksichtigung von Toleranzwerten be rechnet werden kann, um z. B. den öffentlichen Schlüssel durch das Kryptographiemodul bereitzustellen bzw. zu berech nen.
Alternativ oder zusätzlich kann in einer weiteren Variante der öffentliche Schlüssel ein (digitaler) Fingerabdruck sein, wobei der digitale Fingerabdruck anhand der individuellen Merkmale gebildet wird. Die individuellen Merkmale (z. B. Oberflächenunebenheiten, ein Farbstoff mit einem spezifischen Spektrum, der beispielsweise nach einer vorgegebenen Zeit zerfällt, um insbesondere damit eine Haltbarkeit zu kodieren)
können dabei in das Objekt eingearbeitet/eingebracht werden oder auf das Objekt aufgebracht werden. Dieser Fingerabdruck bzw. die individuellen Merkmale sind beispielsweise mit dem bloßen Auge und/oder ohne Kenntnisse über die Art und Positi on nicht feststellbar/lesbar oder nur mit erheblichem techni schem Aufwand feststellbar. Entsprechend können beispielswei se die Informationen (z. B. der Objektdatensatz), um die in dividuellen Merkmale zu erfassen in einem geschützten Spei cher des Gerätes liegen, sodass kein Zugriff durch Unbefugte auf diese Informationen stattfinden kann. Bei dem eingearbei teten Fingerabdruck/individuellen Merkmale kann es sich bei spielsweise um Oberflächenunebenheiten handeln, die während der Fertigung des Objektes oder der Weiterverarbeitung des Objektes erzeugt werden. Alternativ oder zusätzlich kann in einer weiteren Variante der Fingerabdruck durch das Aufbrin gen von Farben oder Partikeln realisiert sein, wobei bei spielsweise die Farben oder Partikel derart aufgebracht wer den, dass ein individuelles Spektrum für das Objekt erzeugt wird. Hierzu können beispielsweise unterschiedliche Far ben/Partikel über die Oberfläche des Objektes verteilt wer den, sodass das beispielsweise ein geometrisches Spektrum er zeugt wird, damit z. B. an bestimmten Positionen des Objektes ein vorgegebenes Spektrum gemessen werden kann. Das Spektrum bzw. die Farben/Partikel sind beispielsweise derart gewählt, dass diese nicht im durch das menschliche Auge sichtbaren Spektrum liegen. Dies kann beispielsweise ein Spektrum sein, das jenseits der 800 nm liegt.
Die Verwendung von Toleranzwerten ist z. B. dahingehend vor teilhaft, um beispielsweise Messungenauigkeiten bei einer Be rechnung der Charakteristik oder dem Erfassen der individuel len Merkmale zu berücksichtigen (oder kompensieren), um für das korrekte Objekt ggf. reproduzierbar die objektindividuel- le Charakteristik oder die individuellen Merkmale zu berech nen.
Beispielsweise können in einer weiteren Variante die Tole ranzwerte derart gewählt werden, dass bei spektroskopischen
individuellen Merkmale eines Objektes z. B. in Form von Le bensmitteln, kein erster kryptographischer Schlüssel bereit gestellt wird (oder kein gültiger erster kryptographischer Schlüssel bereitgestellt werden kann), wenn das Objekt bzw. die Lebensmittel nicht mehr frisch genug sind. Handelt es sich beispielsweise bei dem Objekt um Bananen, so kann der Toleranzwert für das Spektrum der Oberflächen der Bananen derart gewählt werden, dass bei einem großflächigen Braunwer den der Bananen, für diese Bananen kein erster kryptographi scher Schlüssel bereitgestellt wird (oder kein gültiger ers ter kryptographischer Schlüssel bereitgestellt werden kann) oder erzeugt wird. Entsprechend können die Bananen bzw. eine Bananenlieferung mit diesen Bananen an einem Transportpunkt oder bei einem Zwischenhändler nicht mehr als „Frisch" in ei ner Lieferkette mittels einer Nachricht mit der Datenstruktur oder der Datenstruktur in dem verteilten Datenbanksystem be stätigt/gespeichert werden. Auf die gleiche Weise können in einer weiteren Variante beispielsweise andere Objekte in Form von verderblichen Waren mittels Nachrichten/Datenstrukturen in einem verteilten Datenbanksystem überwacht werden. Die entsprechenden Toleranzwerte werden dann entsprechend ge wählt, dass ggf. kein erster kryptographischer Schlüssel be reitgestellt wird, wenn die verderblichen Waren z. B. zu stark degeneriert sind (z. B. die Haltbarkeit von Lebensmit teln abgelaufen ist oder die Lebensmittel verdorben sind). Alternativ kann beispielsweise beim Überschreiten der Tole ranzwerte ein alternativer kryptographischer Schlüssel be reitgestellt werden, anhand dessen nachvollzogen werden kann, an welcher Stelle bei der Dokumentation des Transportes des Objektes die Toleranzwerte überschritten wurden.
Entsprechend können die genannten Toleranzwerte nicht nur bei der objektindividuellen Charakteristik verwendet werden, son dern sie lassen sich ebenso verwenden, wenn anhand der indi viduellen Merkmale der erste kryptographische Schlüssel be reitgestellt werden soll. Dies kann beispielsweise notwendig sein, wenn die individuellen Merkmale (die auch als objektin dividuelle Merkmale bezeichnet werden können) mit einem Refe-
renzwert verglichen werden sollen, um den ersten kryptogra- phischen Schlüssel bei einer entsprechenden Übereinstimmung freizugeben oder die individuellen Merkmale als Eingabepara meter für eine Schlüsselableitungsfunktion dienen sollen und z. B. Fehler hinsichtlich einer reproduzierbaren Schlüsselab leitung aufgrund von Messungenauigkeiten verhindert werden sollen.
Die Erfindung kann beispielsweise vorteilhaft im Supply- Chain-Management bzw. beim Überwachen einer Supply-Chain ver wendet werden. Insbesondere, wenn beispielsweise bei einem Transport von Objekten (z. B. Waren wie Lebensmittel, elekt ronische Bauteile, Edelsteile etc.) objektbezogene Daten von den unterschiedlichen Entitäten (z. B. Hersteller, mehrere Logistikfirmen, Vertrieb, Käufer), die z. B. bei der Herstel lung, Transport oder dem Verkauf des Objektes beteiligt sind, aus Dokumentationsgründen an unterschiedlichen Stellen der Verarbeitung/Bearbeitung des Objektes und/oder Zeitpunkten erzeugt werden. Die Erfindung ist dabei insbesondere vorteil haft, wenn sich die beteiligten Entitäten nicht vertrauen, da die entsprechenden Daten z. B. durch die kryptographische Prüfsumme und/oder einer Prüfsumme einer entsprechenden Enti tät geschützt sind. Das Gerät kann beispielsweise Teil eins Transportbehältnisses sein, um z. B. Lebensmittel wie Bananen oder Milch zu transportieren oder es sind mehrere gleicharti ge Geräte an den unterschiedlichen Stellen der Verarbei tung/Bearbeitung des Objektes bzw. den Zeitpunkten, wenn dies erfolgt vorhanden.
Beispielsweise werden an einem Verarbeitungsort (z. B. Über gabe des Objektes an das Logistikunternehmen) objektspezifi sche Daten (z. B. um welche Art von Objekt es sich handelt, Typ, Hersteller, eindeutiger Identifizierer/UID usw., Zeit punkt der Ankunft beim Logistikunternehmen) erfasst und in einem Objektdatensatz oder Dokumentationsdatensatz gespei chert und sollen z. B. in der Netzwerkapplikation gespeichert werden. Der Objektdatensatz/Dokumentationsdatensatz kann dann z. B. zum Speichern in der Netzwerkapplikation in der Daten-
Struktur gespeichert werden und wie bereits erläutert z. B. mit der kryptographischen Prüfsumme geschützt werden, indem der erste kryptographische Schlüssel entsprechend der Erläu terungen bereitgestellt wird.
Durch die Verwendung der individuellen Merkmale für das Be reitstellen des ersten kryptographischen Schlüssels oder der Zugangsdaten, kann ein entsprechendes Objekt, insbesondere ein physisches Objekt, mittels der „digitalen Welt" stärker verknüpft werden. Wird das Objekt beispielsweise zu lange transportiert oder durch die Verarbei tung/Bearbeitung/Transport derart verändert, dass z. B. die entsprechenden Toleranzwerte nicht mehr eingehalten werden, lässt sich die Überschreitung der Toleranzwerte oder eine un sachgemäße Behandlung des Objektes lückenlos nachweisen. Auch lässt sich dabei nachweisen, ob das Objekt beispielsweise durch ein anderes Objekt ausgetauscht wurde, was beispiels weise bei Produktfälschungen relevant ist.
Würde das Objekt nun durch ein gefälschtes Objekt ausge tauscht werden, so würden sich die entsprechenden individuel len Merkmale ändern. Dies kann beispielsweise für Medizinpro dukte relevant sein, um herauszufinden, ob es sich z. B. bei einem Silikonimplantat tatsächlich um das Silikonimplantat eines Herstellers handelt und nicht um ein Implantat, das ge fälscht wurde. Hierzu werden z. B. bei der Herstellung des Objektes (Implantat) die entsprechenden Daten für das Objekt nach einer der oben genannten Varianten in das verteilte Da tenbanksystem geschrieben. Logistikunternehmen, Vertriebsun ternehmen und Kliniken, die das Objekt transportieren, han deln und implantieren, dokumentieren jeweils nach dem genann ten Verfahren die entsprechenden durch sie durchgeführten Verarbeitungsschritte, Zeitpunkte und weiteren relevanten Da ten (Angaben zur jeweiligen Entität). Bei den individuellen Merkmalen eines Implantates kann es sich beispielsweise um Oberflächenmerkmale des Implantates handeln (z. B. Oberfläche des Silikonkissens oder die Oberfläche eines metallischen Im plantates) . Bei dem Silikonkissen kann es sich beispielsweise
auch bei den individuellen Merkmalen um ein gemessenes Spekt rum des Inhaltes (Silikon) des Silikonkissens handeln. Die Erfindung ist nicht nur auf Silikonkissen beschränkt. Auch andere Implantate mit anderen Füllungen können ebenso über prüft werden. Auch ist es möglich hierdurch die Authentizität von anderen Medizinprodukten wie Medikamenten (z. B. über Spektren) oder medizintechnische Geräte wie MRTs, CTs und de ren elektronische Bauteile (z. B. mittels Testsignalen oder Rauschsignalen) zu ermitteln.
Auch können das Gerät unterschiedliche individuelle Merkmale nutzen, wobei die individuellen Merkmale vorzugsweise einen vorgegebenen Schlüssel kodieren (z. B. als Fingerabdruck).
Die unterschiedlichen individuellen Merkmale befinden sich dann z. B. an unterschiedlichen, vorzugsweise zufällig ausge wählten, Positionen am Objekt. Diese Positionen können ggf. in einem Objektdatensatz gespeichert werden.
Alternativ können die individuellen Merkmale nicht zufällig festgelegt werden, sondern befinden sich bei einem entspre chenden Objekt an einer bekannten/vergebenen Position (z. B. am Sockel des Objektes oder an unebenen Bereichen eines Werk stücks).
Die Fig. 3 zeigt ein weiteres Ausführungsbeispiel der Erfin dung, das als Ablaufdiagramm für ein Verfahren dargestellt ist.
Das Verfahren ist vorzugsweise computerimplementiert reali siert.
Im Einzelnen wird in diesem Ausführungsbeispiel ein Verfahren zur Zugriffserteilung Steuerfunktionen anhand eines Objektes erläutert.
Das Verfahren umfasst einen ersten Verfahrensschritt 310 zum Erfassen individueller Merkmale eines Objektes mittels eines Erfassungsgerätes .
Das Verfahren umfasst einen zweiten Verfahrensschritt 320 zum Berechnen eines Prüfergebnisses anhand eines Vergleichens der individuellen Merkmale mit einem Referenzwert.
Das Verfahren umfasst einen dritten Verfahrensschritt 330 zum Erteilen eines Zugriffs auf Steuerfunktionen, wobei der Zu griff auf die Steuerfunktionen abhängig von Prüfergebnis er folgt, wenn das Prüfergebnis eine ausreichend genaue Überein stimmung des Referenzwertes mit den individuellen Merkmalen bestätigt.
Ein weiteres Ausführungsbeispiel der Erfindung, das nicht in einer Fig. gezeigt ist, betrifft ein Verfahren zum rechnerge stützten Überprüfen einer kryptographischen Prüfsumme.
Die Erfindung betrifft ein Ökosystem von Geräten, die mittels einer Blockkette oder Netzwerkapplikation miteinander autonom interagieren. Insbesondere wird mittels der Erfindung mit ei ner verteilten Infrastruktur (z. B. die Netzwerkapplikation) eine sicherheitsgeschützte Datenverarbeitung von Sensordaten oder Messdaten für ein Objekt realisiert. Anwendungsgebiete sind hierbei Supply-Chain-Szenarien oder industrielle Steuer anwendungen von Blockketten.
Obwohl die Erfindung im Detail durch die Ausführungsbeispiele näher illustriert und beschrieben wurde, ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt, und an dere Variationen können vom Fachmann hieraus abgeleitet wer den, ohne den Schutzumfang der Erfindung zu verlassen.
[1]
Andreas M. Antonopoulos "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", O'Reilly Media, December 2014
[2]
Roger M. Needham, Michael D. Schroeder "Using encryption for authentication in large networks of Computers" ACM: Communi cations of the ACM. Band 21, Nr. 12 Dezember 1978,
[3]
Ross Anderson "Security Engineering. A Guide to Building De- pendable Distributed Systems" Wiley, 2001
[4]
Henning Diedrich „Ethereum: Blockchains, Digital Assets,
Smart Contracts, Decentralized Autonomous Organizations", CreateSpace Independent Publishing Platform, 2016
[5]
"The Ethereum Book Project/Mastering Ethereum" https://github.com/ethereumbook/ethereumbook, Stand 5.10.2017
[6]
Leemon Baird
"The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byz- antine Fault Tolerance",
Swirlds Tech Report SWIRLDS-TR-2016-01, 31.5.2016
[7]
Leemon Baird
"OverView of Swirlds Hashgraph",
31.5.2016
[8]
Blockchain Oracles https://blockchainhub .net/blockchain-oracles/
Stand 14.03.2018