DE102020205994A1 - Concept for exchanging encrypted data - Google Patents
Concept for exchanging encrypted data Download PDFInfo
- Publication number
- DE102020205994A1 DE102020205994A1 DE102020205994.2A DE102020205994A DE102020205994A1 DE 102020205994 A1 DE102020205994 A1 DE 102020205994A1 DE 102020205994 A DE102020205994 A DE 102020205994A DE 102020205994 A1 DE102020205994 A1 DE 102020205994A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- devices
- encrypted
- message
- electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Die vorliegende Erfindung bezieht sich auf computer-implementierte Verfahren, Vorrichtungen und Computerprogramme zum Austausch von verschlüsselten Nachrichten. Ein computer-implementiertes Verfahren zum verschlüsselten Bereitstellen von Daten einer Datenquelle für eine Mehrzahl von Geräten, wobei das Verfahren ein Erhalten (110) von ein oder mehreren Adressen von ein oder mehreren elektronischen Postfächern der Mehrzahl von Geräten umfasst. Das Verfahren umfasst ein Erhalten (120) von kryptographischen Schlüsseln der Mehrzahl von Geräten. Das Verfahren umfasst ferner ein Erzeugen (130) von ein oder mehreren Nachrichten für die Mehrzahl von Geräten basierend auf den Daten, wobei für die Geräte der Mehrzahl von Geräten individuell verschlüsselte Nachrichten basierend auf den kryptographischen Schlüsseln erzeugt werden. Das Verfahren umfasst ferner ein Bereitstellen (140) der ein oder mehreren verschlüsselten Nachrichten über zumindest ein elektronisches Postfach basierend auf den ein oder mehreren Adressen der ein oder mehreren elektronischen Postfächer der Mehrzahl von Geräten.The present invention relates to computer-implemented methods, devices and computer programs for exchanging encrypted messages. A computer-implemented method for the encrypted provision of data from a data source for a plurality of devices, the method comprising obtaining (110) one or more addresses from one or more electronic mailboxes of the plurality of devices. The method includes obtaining (120) cryptographic keys of the plurality of devices. The method further comprises generating (130) one or more messages for the plurality of devices based on the data, with individually encrypted messages being generated for the devices of the plurality of devices based on the cryptographic keys. The method further comprises providing (140) the one or more encrypted messages via at least one electronic mailbox based on the one or more addresses of the one or more electronic mailboxes of the plurality of devices.
Description
Die vorliegende Erfindung bezieht sich auf computer-implementierte Verfahren, Vorrichtungen und Computerprogramme zum Austausch von verschlüsselten Nachrichten.The present invention relates to computer-implemented methods, devices and computer programs for exchanging encrypted messages.
Eine in der Kryptografie beliebte Vorgehensweise, an einen Empfänger zu versendende Daten zu verschlüsseln, ohne vorher einen geheimen Schlüssel zu vereinbaren, der auf abhör- und manipulations-sicherem Wege zwischen den beiden Kommunikationspartnern ausgetauscht werden muss, ist die asymmetrische Kryptografie. Hierbei erzeugt jeder Teilnehmer ein Schlüsselpaar aus privatem und öffentlichem Schlüssel.A popular approach in cryptography for encrypting data to be sent to a recipient without first agreeing on a secret key that must be exchanged between the two communication partners in a tap- and tamper-proof way is asymmetric cryptography. Each participant generates a key pair from a private and public key.
Wie schon am Namen erkennbar, birgt der öffentliche Schlüssel kein Geheimnis, sondern kann in der Öffentlichkeit verteilt werden (hierfür existieren bspw. öffentliche Schlüsselserver, über die man seinen eigenen öffentlichen Schlüssel der Allgemeinheit zugänglich machen kann).As can already be seen from the name, the public key does not hold a secret, but can be distributed to the public (there are, for example, public key servers through which one can make one's own public key accessible to the general public).
Möchte nun ein Sender eine Information an einen Empfänger verschlüsselt übertragen, erfragt er bei ihm (oder auf einem der oben beschriebenen öffentlichen Schlüsselserver) den öffentlichen Schlüssel dieser Person, welcher dazu verwendet werden kann, eine Nachricht an ihn (und zwar nur an ihn) zu verschlüsseln.If a sender wants to transmit information to a recipient in encrypted form, he asks him (or on one of the public key servers described above) the public key of this person, which can be used to send a message to him (and only to him) encrypt.
Das Besondere an der asymmetrischen Kryptografie ist, dass man diese mit dem öffentlichen Schlüssel verschlüsselte Nachricht nur mit dem dazugehörigen privaten Schlüssel entschlüsseln kann. Somit sollte der private Schlüssel eines solchen Schlüsselpaares streng geheim gehalten werden.The special thing about asymmetric cryptography is that this message, which is encrypted with the public key, can only be decrypted with the associated private key. The private key of such a key pair should therefore be kept strictly secret.
Im Unterschied dazu findet bei der symmetrischen Kryptografie die Ver- und Entschlüsselung einer Nachricht mit dem selben Schlüssel statt, so dass bei dieser Art der verschlüsselten Kommunikation ein solcher Schlüssel zuvor auf einem sicheren Kanal (bspw. einem persönlichen Treffen) ausgetauscht werden muss, was zugleich den Vorteil der asymmetrischen Kryptografie beschreibt, da hier aufgrund der Öffentlichkeit des öffentlichen Schlüssels kein solcher gesicherter Austausch stattfinden muss. Möchten zwei Personen untereinander verschlüsselt kommunizieren, müssen beide lediglich den öffentlichen Schlüssel der anderen Person kennen, was in der Regel keine Schwierigkeit darstellt.In contrast, with symmetrical cryptography, the encryption and decryption of a message takes place with the same key, so that with this type of encrypted communication such a key must first be exchanged on a secure channel (e.g. a personal meeting), which at the same time Describes the advantage of asymmetric cryptography, since here, due to the fact that the public key is public, no such secure exchange has to take place. If two people want to communicate with each other in encrypted form, they only need to know the other person's public key, which is usually not a problem.
Eine weitere Funktionalität der asymmetrischen Kryptografie ist das Signieren von Nachrichten. Möchte der Sender einer Nachricht diese digital unterschreiben, um damit nachzuweisen, dass sie tatsächlich von ihm stammt, kann er diese mit seinem privaten Schlüssel signieren. Der Empfänger kann dann unter Verwendung des öffentlichen Schlüssels des Senders die Signatur der Nachricht überprüfen - also deren Authentizität sicherstellen. Da der private Schlüssel geheim ist, kann der Empfänger relativ sicher sein, dass die Nachricht tatsächlich von der erwarteten Person stammt.Another functionality of asymmetric cryptography is the signing of messages. If the sender of a message wants to digitally sign it in order to prove that it actually originates from him, he can sign it with his private key. The recipient can then use the sender's public key to check the signature of the message - that is, to ensure its authenticity. Since the private key is secret, the recipient can be relatively certain that the message actually came from the expected person.
In Zukunft werden mehr und mehr mit einem Netzwerk (wie dem Internet) verbundene Geräte (sogenannte „IoT-Devices“, Geräte des Internet der Dinge, engl. Internet of Things) Daten bereitstellen - wie bspw. in Prozessnetzwerken (wie denen im Kontext von Lieferketten, engl. „Supply Chains“). Eine Herausforderung hierbei kann sein, sicherzustellen, dass die erhaltenen Daten tatsächlich von dem erwarteten Gerät stammen und nicht von einem Sender, der sich lediglich als das Gerät ausgibt, von dem die Daten augenscheinlich zu sein scheinen. Zudem kann eine Herausforderung sein, einerseits die Daten an eine Mehrzahl von Datenzielen bereitzustellen, und andererseits sicherzustellen, dass die jeweiligen Daten nur befugten Datenzielen zur Verfügung stehen.In the future, more and more devices connected to a network (such as the Internet) (so-called “IoT Devices”) will provide data - such as in process networks (such as those in the context of Supply chains, English "Supply Chains"). A challenge here can be to ensure that the data received actually originate from the expected device and not from a sender masquerading as the device from which the data appears to be. In addition, it can be a challenge, on the one hand, to provide the data to a plurality of data targets and, on the other hand, to ensure that the respective data is only available to authorized data targets.
Es besteht der Bedarf, ein verbessertes Konzept für einen verschlüsselten Austausch von Daten einer Datenquelle mit ein oder mehreren weiteren Geräten bereitzustellen.There is a need to provide an improved concept for an encrypted exchange of data from a data source with one or more other devices.
Diesem Bedarf wird durch Ausführungsbeispiele der vorliegenden Offenbarung Rechnung getragen.This need is met by exemplary embodiments of the present disclosure.
Ausführungsbeispiele der vorliegenden Offenbarung basieren auf der Erkenntnis, dass Daten über verteilte Datenbanken, wie etwa Datenbanken die auf der Distributed Ledger-Technologie (wörtlich übersetzt: Verteiltes-Hauptbuch-Technologie) basieren, übertragen werden können. Zwar ist dort, je nach Implementierung, die Kommunikation zwischen den Kommunikationspartnern öffentlich, durch zielgerichtete Verschlüsselung lassen sich die Daten jedoch individuell für jedes Gerät von einer Datenquelle bereitstellen, ohne dass die eigentlichen Daten von Unbefugten gelesen oder manipuliert werden können. Dies wird insbesondere dadurch unterstützt, dass in Distributed-Ledger-Technologie-basierten verteilten Datenbanken nachträgliche Manipulationen oder Manipulationen an einzelnen Knoten nachvollzogen werden können. Alternativ kann das Konzept auch auf zentralisierte Datenbaken übertragen werden.Embodiments of the present disclosure are based on the knowledge that data can be transmitted via distributed databases, such as databases that are based on distributed ledger technology (literally translated: distributed ledger technology). Although communication between the communication partners is public there, depending on the implementation, the data can be provided individually for each device from a data source through targeted encryption without the actual data being read or manipulated by unauthorized persons. This is supported in particular by the fact that subsequent manipulations or manipulations at individual nodes can be traced in distributed ledger technology-based distributed databases. Alternatively, the concept can also be transferred to centralized data beacons.
Verschiedene Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf ein (erstes) computer-implementiertes Verfahren zum verschlüsselten Bereitstellen von Daten einer Datenquelle für eine Mehrzahl von Geräten (oder generell „Teilnehmer“ einer Kommunikation, etwa eines Prozessnetzwerks). Das Verfahren umfasst ein Erhalten von ein oder mehreren Adressen von ein oder mehreren elektronischen Postfächern der Mehrzahl von Geräten. Das Verfahren umfasst ein Erhalten von kryptographischen Schlüsseln der Mehrzahl von Geräten. Das Verfahren umfasst ferner ein Erzeugen von ein oder mehreren Nachrichten für die Mehrzahl von Geräten basierend auf den Daten. Für die Geräte der Mehrzahl von Geräten werden individuell verschlüsselte Nachrichten basierend auf den kryptographischen Schlüsseln erzeugt. Das Verfahren umfasst ferner ein Bereitstellen der ein oder mehreren verschlüsselten Nachrichten über zumindest ein elektronisches Postfach basierend auf den ein oder mehreren Adressen der ein oder mehreren elektronischen Postfächer der Mehrzahl von Geräten. Durch die gerätespezifische Verschlüsselung können die Daten sicher und zielgerichtet selbst über eine öffentliche Ressource, wie etwa ein elektronisches Postfach einer verteilten Datenbank, bereitgestellt werden.Various exemplary embodiments of the present invention relate to a (first) computer-implemented method for the encrypted provision of data from a data source for a plurality of devices (or generally “participants” in a communication, for example a process network). The method includes obtaining one or more addresses from one or more electronic mailboxes of the plurality of devices. The method includes obtaining cryptographic keys of the plurality of devices. The method further comprises generating one or more messages for the plurality of devices based on the data. Individually encrypted messages based on the cryptographic keys are generated for the devices of the plurality of devices. The method further comprises providing the one or more encrypted messages via at least one electronic mailbox based on the one or more addresses of the one or more electronic mailboxes of the plurality of devices. Thanks to the device-specific encryption, the data can be made available securely and in a targeted manner even via a public resource such as an electronic mailbox in a distributed database.
Beispielsweise können die Daten über die ein oder mehreren Nachrichten so bereitgestellt werden, dass die Zugänglichkeit der Daten innerhalb der jeweiligen verschlüsselten Nachricht für die Mehrzahl von Geräten über die Verschlüsselung der Nachrichten gesteuert wird.For example, the data can be provided via the one or more messages in such a way that the accessibility of the data within the respective encrypted message for the plurality of devices is controlled via the encryption of the messages.
Dabei können verschiedene Ansätze gewählt werden. Einerseits können die Daten auf Datensatz-Ebene verschlüsselt werden. Dies kann beispielsweise dadurch geschehen, dass für jedes Gerät der Mehrzahl von Geräten eine individuell verschlüsselte Nachricht erzeugt wird. Die individuell verschlüsselte Nachricht kann diejenigen Daten umfassen, die für das jeweilige Gerät zugänglich sein sollen.Different approaches can be chosen. On the one hand, the data can be encrypted at the data record level. This can be done, for example, in that an individually encrypted message is generated for each device of the plurality of devices. The individually encrypted message can include the data that should be accessible to the respective device.
Andererseits können die Daten auf Attribut-Ebene verschlüsselt werden. Beispielsweise kann für die Mehrzahl von Geräten eine Nachricht erzeugt werden. Die Daten können innerhalb der Nachricht individuell für die Mehrzahl von Geräten verschlüsselt sein. In anderen Worten können die Geräte die gleiche Nachricht empfangen, aber unterschiedliche Bestandteile der Nachricht entschlüsseln. Alternativ können die unterschiedlich zu verschlüsselnden Teile der Nachricht (also die Attribute oder Gruppen von Attributen) in unterschiedlichen technischen Nachrichten versendet werden, die dann auf Empfängerseite zu der eigentlichen Nachricht mit verschiedenen Sichtbarkeiten wieder zusammengesetzt werden.On the other hand, the data can be encrypted at the attribute level. For example, a message can be generated for the plurality of devices. The data can be encrypted within the message individually for the majority of devices. In other words, the devices can receive the same message but decrypt different parts of the message. Alternatively, the parts of the message to be encrypted differently (ie the attributes or groups of attributes) can be sent in different technical messages, which are then reassembled on the recipient side to form the actual message with different visibilities.
Beispielsweise kann das Erhalten der kryptographischen Schlüssel der Mehrzahl von Geräten ein Abrufen eines öffentlichen Schlüssels des jeweiligen Geräts aus dem elektronischen Postfach des Geräts umfassen. So kann sichergestellt werden, dass die Daten mit dem jeweils aktuellen öffentlichen Schlüssel des Geräts abgerufen werden.For example, obtaining the cryptographic key of the plurality of devices can include retrieving a public key of the respective device from the electronic mailbox of the device. This ensures that the data is accessed using the device's current public key.
Im Allgemeinen lassen sich zwei Typen von kryptographischen Schlüsseln nutzen, um individuell Daten für die Geräte zu verschlüsseln. Einerseits können gerätespezifische öffentliche Schlüssel der Geräte genutzt werden, um den jeweiligen Geräten individuell die Daten zur Verfügung zu stellen. Sollen die gleichen Daten einer geschlossenen Gruppe an Geräten übermittelt werden, so können beispielsweise kryptographische Schlüssel für eine Gruppenkommunikation genutzt werden. Folglich können die kryptographischen Schlüssel ein oder mehrere gerätespezifische öffentliche Schlüssel und/oder ein oder mehrere kryptographische Schlüssel für eine Gruppe von Geräten umfassen.In general, two types of cryptographic keys can be used to encrypt data individually for the devices. On the one hand, device-specific public keys of the devices can be used to provide the respective devices with the data individually. If the same data of a closed group is to be transmitted to devices, cryptographic keys can be used for group communication, for example. Consequently, the cryptographic keys can comprise one or more device-specific public keys and / or one or more cryptographic keys for a group of devices.
In manchen Ausführungsbeispielen werden die ein oder mehreren Nachrichten über ein elektronisches Postfach der Datenquelle oder über ein elektronisches Gruppenpostfach bereitgestellt. In diesen Fällen kann das Verfahren ferner ein Bereitstellen von Benachrichtigungen über das Bereitstellen der ein oder mehreren Nachrichten für die Geräte umfassen, über die elektronischen Postfächer der jeweiligen Geräte. In anderen Worten, die Daten können im elektronischen Postfach der Datenquelle oder in einem Gruppenpostfach vorgehalten werden, und die Geräte werden darüber über Benachrichtigungen an ihre eigenen elektronischen Postfächer in Kenntnis gesetzt.In some exemplary embodiments, the one or more messages are provided via an electronic mailbox of the data source or via an electronic group mailbox. In these cases, the method can furthermore include providing notifications about the provision of the one or more messages for the devices, via the electronic mailboxes of the respective devices. In other words, the data can be held in the data source's electronic mailbox or in a group mailbox, and the devices are notified of this via notifications to their own electronic mailboxes.
Alternativ können die ein oder mehreren Nachrichten direkt über die elektronischen Postfächer der Geräte zugestellt werden, so dass eine zusätzliche Benachrichtigung entfallen kann.Alternatively, the one or more messages can be delivered directly via the electronic mailboxes of the devices, so that no additional notification is required.
Im Allgemeinen können die elektronischen Postfächer über eine verteilte Datenbank zugänglich sein. Dies kann eine verteilte Speicherung der Daten ermöglichen. Eine verteilte Datenbank kann eine größere Sicherheit bieten, da durch Redundanz ein Single Point of Failure (Einzelner Versagenspunkt) vermieden werden kann, der ausgenutzt werden könnte, um den Datenaustausch zu vereiteln oder zu manipulieren. Zudem sind Manipulationen gegebenenfalls nachvollziehbar.In general, the electronic mailboxes can be accessible via a distributed database. This can enable distributed storage of the data. A distributed database can offer greater security, since redundancy can avoid a single point of failure, which could be exploited to thwart or manipulate the exchange of data. In addition, manipulations can be traced if necessary.
Beispielsweise kann die verteilte Datenbank auf einer Distributed-Ledger-Technologie basieren. Dementsprechend können Adressen des elektronischen Postfachs der Datenquelle und der ein oder mehreren elektronischen Postfächer der Mehrzahl von Geräten (also die Adressen der elektronischen Postfächer) Adressen auf dem Distributed Ledger sein. Die Distributed Ledger-Technologie kombiniert die Redundanz von verteilten Datenbanken mit einem Schutz gegen Manipulation auf einzelnen Knoten.For example, the distributed database can be based on a distributed ledger technology. Correspondingly, addresses of the electronic mailbox of the data source and of the one or more electronic mailboxes of the plurality of devices (that is to say the addresses of the electronic mailboxes) can be addresses on the distributed ledger. Distributed ledger technology combines the redundancy of distributed databases with protection against manipulation on individual nodes.
Beispielsweise kann die verteilte Datenbank auf einer Mehrzahl von Knoten basieren. Das Bereitstellen und/oder das Erhalten von Daten über ein elektronisches Postfach über die verteilte Datenbank kann auf einer zufälligen Auswahl von ein oder mehreren Knoten der Mehrzahl von Knoten für das Bereitstellen und/oder Erhalten der Informationen basieren. Durch die zufällige Auswahl kann verhindert werden, dass durch die Manipulation weniger, vorausgewählter Knoten eine Sabotage des Datenaustausch ermöglicht wird. Durch die Nutzung von mehreren Knoten kann die Redundanz erhöht werden, und damit ebenfalls die Zuverlässigkeit der Datenübertragung.For example, the distributed database can be based on a plurality of nodes. The provision and / or receipt of data via an electronic mailbox via the distributed database can be based on a random selection of one or several nodes of the plurality of nodes for providing and / or receiving the information are based. The random selection can prevent the manipulation of a few preselected nodes from sabotaging the data exchange. By using several nodes, redundancy can be increased, and thus also the reliability of data transmission.
Ausführungsbeispiele der vorliegenden Erfindung stellen ferner ein (zweites) computer-implementiertes Verfahren zum verschlüsselten Erhalten von Daten einer Datenquelle durch ein Gerät (oder generell „Teilnehmer“) bereit. Das Verfahren umfasst ein Erhalten einer Nachricht von einer Datenquelle über ein elektronisches Postfach, das über eine verteilte Datenbank zugänglich ist. Die Nachricht umfasst Daten, die individuell für das Gerät (oder für eine Gruppe von Geräten) von der Datenquelle verschlüsselt sind. Das Verfahren umfasst ferner ein Entschlüsseln der Daten basierend auf einem kryptographischen Schlüssel des Geräts. Eine verteilte Datenbank kann eine größere Sicherheit zur Datenübertragung bieten, da durch Redundanz ein Single Point of Failure vermieden werden kann und Manipulationen gegebenenfalls nachvollziehbar sein können. Durch eine individuelle Verschlüsselung kann eine sichere Datenübertragung über eine öffentlich einsehbare verteilte Datenbank ermöglicht werden.Embodiments of the present invention also provide a (second) computer-implemented method for the encrypted receipt of data from a data source by a device (or generally “subscriber”). The method includes receiving a message from a data source via an electronic mailbox accessible via a distributed database. The message includes data that is individually encrypted for the device (or for a group of devices) by the data source. The method further comprises decrypting the data based on a cryptographic key of the device. A distributed database can offer greater security for data transmission, since a single point of failure can be avoided through redundancy and manipulations can be traced if necessary. Individual encryption enables secure data transmission via a publicly accessible, distributed database.
Im Allgemeinen lassen sich zwei Typen von kryptographischen Schlüsseln nutzen, um individuell Daten für die Geräte zu verschlüsseln. Einerseits können gerätespezifische öffentliche Schlüssel der Geräte genutzt werden, um den jeweiligen Geräten individuell die Daten zur Verfügung zu stellen. Sollen die gleichen Daten einer geschlossenen Gruppe an Geräten übermittelt werden, so können beispielsweise kryptographische Schlüssel für eine Gruppenkommunikation genutzt werden. Folglich können die Daten basierend auf einem gerätespezifischen öffentlichen Schlüssel des Geräts verschlüsselt sein. Alternativ können die Daten basierend auf einem kryptographischen Schlüssel für eine Gruppe verschlüsselt sein.In general, two types of cryptographic keys can be used to encrypt data individually for the devices. On the one hand, device-specific public keys of the devices can be used to provide the respective devices with the data individually. If the same data of a closed group is to be transmitted to devices, cryptographic keys can be used for group communication, for example. Consequently, the data can be encrypted based on a device-specific public key of the device. Alternatively, the data can be encrypted based on a cryptographic key for a group.
In manchen Ausführungsbeispielen kann die Nachricht über ein elektronisches Postfach der Datenquelle oder über ein Gruppenpostfach erhalten werden. In diesen Fällen kann das Verfahren ferner ein Erhalten einer Benachrichtigung über die Nachricht über ein elektronisches Postfach des Geräts umfassen. Alternativ kann die Nachricht über ein elektronisches Postfach des Geräts erhalten werden, wodurch die Benachrichtigung entfallen kann.In some exemplary embodiments, the message can be received via an electronic mailbox of the data source or via a group mailbox. In these cases, the method can further include receiving notification of the message via an electronic mailbox of the device. Alternatively, the message can be received via an electronic mailbox of the device, whereby the notification can be omitted.
Ausführungsbeispiele der vorliegenden Offenbarung schaffen ferner ein Programm mit einem Programmcode zum Durchführen zumindest eines der Verfahren, wenn der Programmcode auf einem Computer, einem Prozessor, einem Kontrollmodul oder einer programmierbaren Hardwarekomponente ausgeführt wird.Embodiments of the present disclosure also create a program with a program code for performing at least one of the methods when the program code is executed on a computer, a processor, a control module or a programmable hardware component.
Ausführungsbeispiele schaffen ferner eine computerimplementierte Vorrichtung zum verschlüsselten Bereitstellen von Daten einer Datenquelle für eine Mehrzahl von Geräten (Teilnehmer). Die Vorrichtung umfasst eine Schnittstelle zur Kommunikation mit der Mehrzahl von Geräten. Die Vorrichtung umfasst ferner ein oder mehrere Prozessoren ausgebildet zum Ausführen des ersten Verfahrens.Embodiments also create a computer-implemented device for the encrypted provision of data from a data source for a plurality of devices (subscribers). The device includes an interface for communication with the plurality of devices. The device further comprises one or more processors designed to carry out the first method.
Ausführungsbeispiele schaffen ferner eine computerimplementierte Vorrichtung zum verschlüsselten Erhalten von Daten einer Datenquelle durch ein Gerät (Teilnehmer). Die Vorrichtung umfasst eine Schnittstelle zur Kommunikation mit der Datenquelle. Die Vorrichtung umfasst ein oder mehrere Prozessoren ausgebildet zum Ausführen des zweiten Verfahrens.Embodiments also provide a computer-implemented device for the encrypted receipt of data from a data source by a device (subscriber). The device comprises an interface for communication with the data source. The device comprises one or more processors designed to carry out the second method.
Weitere vorteilhafte Ausgestaltungen werden nachfolgend anhand der in den Zeichnungen dargestellten Ausführungsbeispiele, auf welche Ausführungsbeispiele generell jedoch nicht insgesamt beschränkt sind, näher beschrieben. Es zeigen:
-
1a zeigt ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum verschlüsselten Bereitstellen von Daten einer Datenquelle für eine Mehrzahl von Geräten; -
1b zeigt ein Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zum verschlüsselten Bereitstellen von Daten einer Datenquelle für eine Mehrzahl von Geräten; -
2a zeigt ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum verschlüsselten Erhalten von Daten einer Datenquelle durch ein Gerät; und -
2b zeigt ein Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zum verschlüsselten Erhalten von Daten einer Datenquelle durch ein Gerät.
-
1a shows a flowchart of an exemplary embodiment of a method for the encrypted provision of data from a data source for a plurality of devices; -
1b shows a block diagram of an embodiment of a device for encrypted provision of data from a data source for a plurality of devices; -
2a shows a flowchart of an embodiment of a method for encrypted receipt of data from a data source by a device; and -
2 B shows a block diagram of an embodiment of a device for encrypted receipt of data from a data source by a device.
Verschiedene Ausführungsbeispiele werden nun ausführlicher unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, in denen einige Ausführungsbeispiele dargestellt sind.Various embodiments will now be described more fully with reference to the accompanying drawings, in which some embodiments are shown.
Bei der nachfolgenden Beschreibung der beigefügten Figuren, die lediglich einige exemplarische Ausführungsbeispiele zeigen, können gleiche Bezugszeichen gleiche oder vergleichbare Komponenten bezeichnen. Ferner können zusammenfassende Bezugszeichen für Komponenten und Objekte verwendet werden, die mehrfach in einem Ausführungsbeispiel oder in einer Zeichnung auftreten, jedoch hinsichtlich eines oder mehrerer Merkmale gemeinsam beschrieben werden.In the following description of the attached figures, which only show a few exemplary embodiments, the same reference symbols can designate the same or comparable components. Furthermore, summarizing reference symbols can be used for components and objects which, however, occur several times in an exemplary embodiment or in a drawing are described jointly with regard to one or more features.
Solange nichts anderes definiert ist, haben sämtliche hierin verwendeten Begriffe (einschließlich von technischen und wissenschaftlichen Begriffen) die gleiche Bedeutung, die ihnen ein Durchschnittsfachmann auf dem Gebiet, zu dem die Ausführungsbeispiele gehören, beimisst. Ferner sei klargestellt, dass Ausdrücke, z.B. diejenigen, die in allgemein verwendeten Wörterbüchern definiert sind, so zu interpretieren sind, als hätten sie die Bedeutung, die mit ihrer Bedeutung im Kontext der einschlägigen Technik konsistent ist, und nicht in einem idealisierten oder übermäßig formalen Sinn zu interpretieren sind, solange dies hierin nicht ausdrücklich definiert ist.Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as assigned to them by one of ordinary skill in the art to which the exemplary embodiments belong. It should also be clarified that terms, such as those defined in commonly used dictionaries, are to be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and not in an idealized or excessively formal sense are to be interpreted unless expressly defined herein.
Verschiedene Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf ein computer-implementiertes Verfahren, eine computer-implementierte Vorrichtung sowie auf ein Computerprogramm zum Bereitstellen von Daten einer Datenquelle für eine Mehrzahl von Geräten aus Sicht der Datenquelle. Grundsätzlich können sowohl die Datenquelle als auch die ein oder mehreren Geräte beispielsweise Geräte des Internet der Dinge sein, auch engl. loT-Devices oder loT-Geräte. Dazu zählen im Allgemeinen Geräte die (selbstständig) mit anderen Geräten kommunizieren, d.h. ein Gerät des Internet der Dinge kann als Gerät charakterisiert werden, das „vernetzt“ ist, also zur Kommunikation mit ein oder mehreren anderen Geräten ausgebildet ist. Im Folgenden wird insbesondere auf Fahrzeuge Bezug genommen. Somit kann die Datenquelle etwa ein Fahrzeug sein, oder ein oder mehrere der Mehrzahl von Geräten können Fahrzeuge sein. Insbesondere kann die Datenquelle auch eine Komponente eines Fahrzeugs sein, und die Mehrzahl von Geräten können ebenfalls (andere) Fahrzeugkomponenten sein, wie etwa Steuergeräte des Fahrzeugs. Grundsätzlich können die Rollen dabei auch vertauscht werden - so kann eine Datenquelle auch ein Gerät sein, und ein Gerät auch eine Datenquelle - je nachdem, welche Entität die Daten bereitstellt, und welche Entität die Daten empfängt. Daher kann die Datenquelle auch ausgebildet sein, um das Verfahren von
Das Verfahren umfasst das Erhalten
Das Verfahren umfasst ferner das Erhalten
Im Allgemeinen können die Adressen der Geräte und/oder die kryptographischen Schlüssel auf mehreren Wegen erhalten werden. Beispielsweise können die ein oder mehreren Adressen und/oder die kryptographischen Schlüssel aus einem Speicher der Datenquelle ausgelesen werden, etwa aus einer Firmware (einer Hardware-Programmierung) der Datenquelle oder aus einer vertrauenswürdigen Ausführungsumgebung (auch engl. Trusted Execution Environment) der Datenquelle. Alternativ oder zusätzlich können die ein oder mehreren Adressen und/oder die kryptographischen Schlüssel von einer vertrauenswürdigen zentralen Stelle abgerufen werden. Alternativ oder zusätzlich können die ein oder mehreren Adressen und/oder die kryptographischen Schlüssel von den jeweiligen Geräten bekanntgemacht werden, etwa durch Benachrichtigung der Datenquelle über das elektronische Postfach der Datenquelle.In general, the addresses of the devices and / or the cryptographic keys can be obtained in several ways. For example, the one or more addresses and / or the cryptographic keys can be read out from a memory of the data source, for example from firmware (hardware programming) of the data source or from a trusted execution environment of the data source. Alternatively or additionally, the one or more addresses and / or the cryptographic keys can be called up from a trustworthy central point. Alternatively or additionally, the one or more addresses and / or the cryptographic keys can be made known by the respective devices, for example by notifying the data source via the electronic mailbox of the data source.
Das Verfahren umfasst ferner das Erzeugen
Die Daten werden individuell für die Mehrzahl von Geräten verschlüsselt. Durch die Verschlüsselung werden die zu verschlüsselnden Daten durch eine kryptographische Rechenoperation in ein Format konvertiert, basierend auf dem kryptographischen (öffentlichen) Schlüssel des Empfängers, so dass die verschlüsselten Daten nur mit dem entsprechenden (privaten) Schlüssel zurückkonvertiert werden können. Dabei bedeutet „individuell verschlüsselt“ in manchen Ausführungsformen nicht zwangsläufig, dass für jedes Gerät die Daten separat verschlüsselt werden. Beispielsweise können die Daten über die ein oder mehreren Nachrichten so bereitgestellt werden, dass die Zugänglichkeit der Daten innerhalb der jeweiligen verschlüsselten Nachricht für die Mehrzahl von Geräten über die Verschlüsselung der Nachrichten gesteuert wird. In manchen Ausführungsbeispielen können die Daten für eine Gruppe von Fahrzeugen (also beispielsweise eine echte Teilmenge der Mehrzahl von Fahrzeugen) mit einem Gruppen-Schlüssel verschlüsselt werden, für andere Fahrzeuge können die Daten mit dem jeweiligen gerätespezifischen öffentlichen Schlüssel verschlüsselt werden. In manchen Ausführungsbeispielen jedoch werden die Daten für jedes Gerät der Mehrzahl von Geräten einzeln (etwa separat) individuell verschlüsselt. Zudem ergeben sich auch bei der Erzeugung der ein oder mehreren Nachrichten mehrere Möglichkeiten. In einer Variante kann für jedes Fahrzeug der Mehrzahl von Fahrzeugen eine eigene Nachricht erzeugt werden (die etwa basierend auf dem gerätespezifischen öffentlichen Schlüssel des Fahrzeugs verschlüsselt sein kann). Dabei kann der Inhalt der Nachricht vollständig basierend auf einem (einzigen) kryptographischen Schlüssel verschlüsselt sein. Ein solches Vorgehen kann man auch als „Verschlüsselung auf Datensatz-Ebene“ bezeichnen, da der gesamte Datensatz (Inhalt) der Nachricht mit dem gleichen Schlüssel verschlüsselt wird. Dabei kann für jedes Gerät der Mehrzahl von Geräten eine individuell verschlüsselte Nachricht erzeugt werden. Die individuell verschlüsselte Nachricht kann diejenigen Daten umfassen, die für das jeweilige Gerät zugänglich sein sollen. Alternativ kann eine (einzige) Nachricht mehrere Komponenten umfassen, wobei die unterschiedlichen Komponenten unterschiedlich verschlüsselt sein können. In anderen Worten kann für die Mehrzahl von Geräten eine (einzige) Nachricht erzeugt werden. Die Daten können innerhalb der Nachricht individuell für die Mehrzahl von Geräten verschlüsselt sein. In anderen Worten können die Komponenten der Nachricht für unterschiedliche Geräte der Mehrzahl von Geräten bestimmt sein, und entsprechend auch unterschiedlich verschlüsselt. Auch Mischformen sind möglich.The data is encrypted individually for the majority of devices. The encryption converts the data to be encrypted into a format based on the recipient's cryptographic (public) key using a cryptographic arithmetic operation, so that the encrypted data can only be converted back with the corresponding (private) key. In some embodiments, “individually encrypted” does not necessarily mean that the data is encrypted separately for each device. For example, the data can be provided via the one or more messages in such a way that the accessibility of the data within the respective encrypted message for the plurality of devices is controlled via the encryption of the messages. In some exemplary embodiments, the data for a group of vehicles (that is to say for example a real subset of the plurality of vehicles) can be encrypted with a group key; for other vehicles, the data can be encrypted with the respective device-specific public key. In some exemplary embodiments, however, the data are individually (for example separately) encrypted for each device of the plurality of devices. In addition, there are also several options for generating the one or more messages. In one variant, a separate message can be generated for each vehicle of the plurality of vehicles (which can be encrypted, for example, based on the device-specific public key of the vehicle). The content of the message can be completely encrypted based on a (single) cryptographic key. Such a procedure can also be referred to as "encryption at data record level", since the entire data record (content) of the message is encrypted with the same key. An individually encrypted message can be generated for each device of the plurality of devices. The individually encrypted message can be those Include data that should be accessible for the respective device. Alternatively, a (single) message can comprise several components, with the different components being able to be encrypted differently. In other words, a (single) message can be generated for the plurality of devices. The data can be encrypted within the message individually for the majority of devices. In other words, the components of the message can be intended for different devices of the plurality of devices and can accordingly also be encrypted differently. Mixed forms are also possible.
In manchen Ausführungsbeispielen wird oder werden die ein oder mehreren Nachrichten von der Datenquelle ferner signiert, mit dem privaten Schlüssel der Datenquelle. Von den Geräten, denen die Nachrichten bereitgestellt werden, kann die Authentizität der Nachrichten dann basierend auf dem öffentlichen Schlüssel der Datenquelle überprüft werden. Entsprechend kann das Verfahren ein 135 Signieren der ein oder mehreren Nachrichten umfassen.In some exemplary embodiments, the one or more messages are further signed by the data source with the private key of the data source. The devices providing the messages can then verify the authenticity of the messages based on the data source's public key. Accordingly, the method may include signing the one or more messages.
Das Verfahren umfasst ferner das Bereitstellen
Wie bereits zuvor angesprochen wurde, basiert die Kommunikation zwischen der Datenquelle und der Mehrzahl von Geräten auf sogenannten elektronischen Postfächern. Dabei können die elektronischen Postfächer beispielsweise außerhalb der Datenquelle / der jeweiligen Geräte vorgehalten werden, etwa durch einen verteilte (dezentrale) Datenbank oder durch eine zentralisierte Datenbank. Grundsätzlich können die elektronischen Postfächer dabei öffentlich zugänglich sein, so dass beispielsweise jedes Gerät, das Zugriff auf die verteilte Datenbank hat in das jeweilige Postfach schreiben kann und/oder das jeweilige Postfach auslesen kann. In anderen Worten können das elektronische Postfach der Datenquelle und die ein oder mehreren elektronischen Postfächer der Mehrzahl von Geräten über eine verteilte Datenbank, oder alternativ über eine zentralisierte Datenbank, zugänglich sein. Dabei ist die verteile Datenbank dadurch charakterisiert, dass sie nicht unter Kontrolle einer einzigen Entität ist, sondern verteilt durch eine Mehrzahl von (Rechen-) Knoten angeboten wird. In anderen Worten kann die verteilte Datenbank auf einer Mehrzahl von Knoten basieren. Daten der verteilten Datenbank werden zwischen den Rechenknoten der Mehrzahl von Knoten repliziert. Dabei können der verteilten Datenbank Daten durch die Knoten hinzugefügt werden, und werden dann auf die anderen Knoten repliziert. Eine mögliche Implementierung einer solchen verteilten Datenbank basiert auf der Distributed Ledger-Technologie. In anderen Worten kann die verteilte Datenbank auf einer Distributed-Ledger-Technologie basieren. Dafür sind verschiedene Distributed Ledger-Technologien denkbar, wie etwa Blockchain oder ein gerichteter azyklischer Graph (DAG, directed acyclic graph). Adressen der elektronischen Postfächer der Datenquelle und der Mehrzahl von Geräten können folglich Adressen auf dem Distributed Ledger sein.As already mentioned above, the communication between the data source and the majority of devices is based on so-called electronic mailboxes. The electronic mailboxes can for example be kept outside the data source / the respective devices, for example by a distributed (decentralized) database or by a centralized database. In principle, the electronic mailboxes can be publicly accessible so that, for example, every device that has access to the distributed database can write to the respective mailbox and / or read out the respective mailbox. In other words, the electronic mailbox of the data source and the one or more electronic mailboxes of the plurality of devices can be accessible via a distributed database, or alternatively via a centralized database. The distributed database is characterized in that it is not under the control of a single entity, but is offered in a distributed manner by a plurality of (computing) nodes. In other words, the distributed database can be based on a plurality of nodes. Data of the distributed database is replicated between the computing nodes of the plurality of nodes. The nodes can add data to the distributed database and are then replicated to the other nodes. One possible implementation of such a distributed database is based on distributed ledger technology. In other words, the distributed database can be based on a distributed ledger technology. Various distributed ledger technologies are conceivable for this, such as blockchain or a directed acyclic graph (DAG, directed acyclic graph). Addresses of the electronic mailboxes of the data source and of the plurality of devices can consequently be addresses on the distributed ledger.
Dabei können die angesprochenen elektronischen Postfächer beispielsweise Datenspeicher sein, die von der verteilten Datenbank oder der zentralisierten Datenbank bereitgestellt werden. Diese Datenspeicher können von den beteiligten Prozesspartnern, also etwa der Datenquelle und der Mehrzahl von Geräten, aber auch anderen Geräten mit Zugriff auf die verteilte oder zentralisierte Datenbank angesprochen werden, beispielsweise mit der Möglichkeit, aus dem Datenspeicher Daten auszulesen und in den Datenspeicher Daten zu speichern. Um einer anderen Entität eine Nachricht / Daten zu schicken, kann diese Nachricht/Daten entweder in dem Datenspeicher gespeichert werden, der dem elektronischen Postfach der anderen Entität entspricht, oder die Nachricht/Daten kann in einem Datenspeicher gespeichert werden, die einem elektronischen Postfach der versendenden Entität entspricht, und zusätzlich kann eine Benachrichtigung in dem Datenspeicher gespeichert werden, der dem elektronischen Postfach der anderen Entität entspricht. Dabei sind die elektronischen Postfächer außerhalb der jeweiligen Geräte angeordnet, in der verteilten oder zentralisierten Datenbank. Im Kontext mit der Distributed Ledger-Technologie ist ein elektronisches Postfach dabei ein Datenspeicher, der über eine Adresse auf dem Distributed Ledger zugänglich ist, und auf dem über den Distributed Ledger Daten gespeichert werden können.The addressed electronic mailboxes can be, for example, data stores that are provided by the distributed database or the centralized database. These data memories can be addressed by the process partners involved, such as the data source and the majority of devices, but also other devices with access to the distributed or centralized database, for example with the option of reading data from the data memory and storing data in the data memory . In order to send a message / data to another entity, this message / data can either be stored in the data memory that corresponds to the electronic mailbox of the other entity, or the message / data can be stored in a data memory that is an electronic mailbox of the sending party Entity, and in addition a notification can be stored in the data store corresponding to the electronic mailbox of the other entity. The electronic mailboxes are arranged outside of the respective devices, in the distributed or centralized database. In the context of distributed ledger technology, an electronic mailbox is a data memory that is accessible via an address on the distributed ledger and on which data can be stored via the distributed ledger.
Folglich werden die Daten, die über die elektronischen Postfächer ausgetauscht werden, in dem Distributed Ledger gespeichert. Dabei können, um die Verlässlichkeit zu erhöhen, zwei Ansätze gewählt werden. Einerseits können die jeweiligen Daten jeweils auf mehreren Knoten in die verteilte Datenbank eingefügt werden. Andererseits können die Knoten basierend auf einem Zufallsverfahren ausgewählt werden. In anderen Worten kann das Bereitstellen und/oder das Erhalten von Daten über ein elektronisches Postfach über die verteilte Datenbank auf einer zufälligen Auswahl von ein oder mehreren Knoten der Mehrzahl von Knoten für das Bereitstellen und/oder Erhalten der Informationen basieren. In anderen Worten kann das Gerät zum Bereitstellen/Übermitteln von Daten über ein elektronisches Postfach die entsprechenden Daten an (eine zufällige Auswahl von) mehrere/mehreren Knoten der verteilten Datenbank übermitteln. Das Gerät kann zum Abrufen/Empfangen von Daten aus einem Postfach die entsprechenden Daten aus (einer zufälligen Auswahl von) mehreren Knoten der verteilten Datenbank empfangen/abrufen, und anschließend die Daten der verschiedenen Knoten vergleichen, um nicht manipulierte Daten zu erhalten.As a result, the data exchanged via the electronic mailboxes is stored in the distributed ledger. In order to increase reliability, two approaches can be chosen. On the one hand, the respective data can be inserted into the distributed database on several nodes. On the other hand, the nodes can be selected based on a random method. In other words, the provision and / or the receipt of data via an electronic mailbox via the distributed database can be based on a random selection of one or more nodes of the plurality of nodes for the provision and / or receipt of the information. In other words, the device for providing / transmitting data can transmit the corresponding data to (a random selection of) several / several nodes in the distributed database via an electronic mailbox. In order to retrieve / receive data from a mailbox, the device can receive / retrieve the corresponding data from (a random selection of) multiple nodes of the distributed database, and then compare the data of the various nodes in order to obtain unmanipulated data.
Die Schnittstelle
In Ausführungsbeispielen können die ein oder mehreren Prozessoren einem beliebigen Controller oder Prozessor oder einer programmierbaren Hardwarekomponente entsprechen. Beispielsweise kann die Funktionalität der ein oder mehreren Prozessoren auch als Software realisiert sein, die für eine entsprechende Hardwarekomponente programmiert ist. Insofern können die ein oder mehreren Prozessoren als programmierbare Hardware mit entsprechend angepasster Software implementiert sein. Dabei können beliebige Prozessoren, wie Digitale Signalprozessoren (DSPs) zum Einsatz kommen. Ausführungsbeispiele sind dabei nicht auf einen bestimmten Typ von Prozessor eingeschränkt. Es sind beliebige Prozessoren oder auch mehrere Prozessoren zur Implementierung der ein oder mehreren Prozessoren
Mehr Details und Aspekte des Verfahrens und der Vorrichtung von
Während sich die Ausführungsbeispiele, die im Zusammenhang mit
Das Verfahren umfasst das Erhalten
Das Verfahren umfasst ferner das Entschlüsseln
In zumindest einigen Ausführungsbeispielen ist die Nachricht der Datenquelle von der Datenquelle signiert, etwa mit einem privaten Schlüssel der Datenquelle, und kann somit auch basierend auf dem öffentlichen Schlüssel der Datenquelle geprüft werden, um zu überprüfen, ob die Nachricht auch von der Datenquelle stammt. Das Verfahren kann somit ferner ein Prüfen
Die Schnittstelle
In Ausführungsbeispielen können die ein oder mehreren Prozessoren
Mehr Details und Aspekte des Verfahrens und der Vorrichtung von
Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf eine Kommunikationsverschlüsselung zwischen Geräten, wie etwa loT-Geräten, beispielsweise über Distributed Ledger Netzwerke.Embodiments of the present invention relate to communication encryption between devices, such as loT devices, for example via distributed ledger networks.
Die Funktionsweise der Erfindung wird anhand eines Beispiels aus dem Kontext „Lieferketten“ beschrieben, ist aber für jedes Szenario sinnvoll und anwendbar, welches die obig beschriebenen Merkmale aufweist. Konkret geht es im vorliegenden Beispiel um den Outbound-Logistik-Prozess (Ausgangs-Logistik-Prozess), also dem Versand von fertig produzierten Fahrzeugen. An diesem Prozess nehmen zahlreiche Partner (wie Logistiker, Reedereien, Service-Anbieter, Banken, Versicherungen, etc.) und natürlich die frisch vom Band rollenden Fahrzeuge als Prozessinstanzen teil.The mode of operation of the invention is described using an example from the context of “supply chains”, but is useful and applicable for every scenario that has the features described above. Specifically, the present example is about the outbound logistics process (outbound logistics process), i.e. the dispatch of finished vehicles. Numerous partners (such as logisticians, shipping companies, service providers, banks, insurance companies, etc.) and of course the vehicles that have just rolled off the assembly line take part in this process as process instances.
Ein Teilnehmer innerhalb dieses Prozessnetzwerkes möchte sicher sein können, dass die empfangenen Daten von dem betroffenen Fahrzeug (oder generell Teilnehmer) selbst stammen und es sich tatsächlich um ein Fahrzeug des Prozesspartners (also des OEMs, Original Equipment Manufacturer, Erstausrüster) handelt. Genauso möchte auch der Hersteller/OEM sicher sein können, dass die empfangenen Daten tatsächlich von dem „eigenen“ (bzgl. der Datenlieferungen autonom agierenden) Fahrzeug stammen und nicht ein Angreifer sich dessen Identität bemächtigt hat. Zusammengefasst soll niemand (nicht der Hersteller, noch andere Teilnehmer, noch irgendein Angreifer) Nachrichten im Namen eines Datenlieferanten (hier: Fahrzeuges) versenden dürfen. Dabei kann das Fahrzeug beispielsweise einem Gerät
Im Folgenden wird eine mögliche Implementierung der Datenbereitstellung durch andere Prozessteilnehmer vorgestellt. In einem solchen Netzwerk kann es vorkommen, dass Daten nicht nur vom Haupt-Datenlieferanten (also etwa einem loT-Gerät) geteilt werden, sondern auch die anderen Teilnehmer Daten beisteuern (bspw. Ergänzungen, wie Statusänderungen, etc.). In solchen Fällen kann folgendermaßen vorgegangen werden: Abschnitt 1.1: Der Bereitsteller des Datums (nachfolgend „BD“ genannt; mit eigenem Briefkasten LABD, etwa die Datenquelle
Abschnitt 1.2: Der BD liest die Briefkasten-Adressen (LAX) aller anderen Prozessbeteiligten (etwa die Mehrzahl von Geräten der
Abschnitt 1.3: Der BD erzeugt jeweils eine Nachricht pro Prozessteilnehmer (Gerät der Mehrzahl von Geräten), welche die zu verteilende Information enthält und verschlüsselt diese mit dem jeweiligen öffentlichen Schlüssel des entsprechenden Teilnehmers. Diese Nachrichten werden beispielsweise alle an die Adresse LAAdditionalDate gesendet.Section 1.3: The BD generates a message for each process participant (device of the plurality of devices) which contains the information to be distributed and encrypts this with the respective public key of the corresponding participant. For example, these messages are all sent to the LA AdditionalDate address.
Abschnitt 1.4: Der BD sendet eine Benachrichtigung über die neue in LAAdditionalDate abgelegte Information (inkl. Adresse) an die Briefkästen aller Prozessbeteiligten (etwa die elektronischen Postfächer der Mehrzahl von Geräten).Section 1.4: The BD sends a notification of the new information stored in LA AdditionalDate (including address) to the mailboxes of all those involved in the process (e.g. the electronic mailboxes of the majority of devices).
Abschnitt 1.5: Das loT-Gerät kann diese Information gegebenenfalls noch zusätzlich in den eigenen Nachrichtenkanal veröffentlichen (zur Dokumentation, oder um weitere Empfänger zu erreichen, die BD gegebenenfalls nicht bekannt sind). Dieser Ansatz ermöglicht es auch anderen Prozessteilnehmern Daten beizusteuern. Der Umweg über die Adresse LAAdditionalDate (siehe Abschnitte 1.1 und 1.4) ist (lediglich) zu Dokumentationszwecken vorgesehen. Anstatt die Nachrichten über ein neues Datum kanalisiert in LAAdditionalDate abzulegen und die Prozessteilnehmer über eine Nachricht an ihre Briefkästen darüber zu informieren, ist es natürlich auch alternativ möglich, die neue Information direkt an die Briefkästen der Prozessteilnehmer zu propagieren.Section 1.5: The loT device can also publish this information in its own message channel (for documentation or to reach other recipients who may not be known to BD). This approach also enables other process participants to contribute data. The detour via the address LA AdditionalDate (see Sections 1.1 and 1.4) is (only) intended for documentation purposes. Instead of channeling the messages about a new date in LA AdditionalDate and informing the process participants via a message to their mailboxes, it is of course also possible as an alternative to propagate the new information directly to the mailboxes of the process participants.
In manchen Ausführungsbeispielen kann der Prozessinitiator die Prozessbeteiligten festlegen. Dies gibt diesem Prozessteilnehmer als „man-in-the-middle“ (Mann in der Mitte) gewisse Steuerungsmöglichkeiten. Um dieses Risiko zu reduzieren, können die regelmäßig an solchen Prozessnetzwerken teilnehmenden Kommunikationspartner ihre öffentlichen Schlüssel und Briefkasten-Adressen auf direktem Wege austauschen.In some exemplary embodiments, the process initiator can determine the parties involved in the process. This gives this process participant, as a “man-in-the-middle” (man in the middle), certain control options. In order to reduce this risk, the communication partners regularly participating in such process networks can exchange their public keys and mailbox addresses directly.
Manche Ausführungsbeispiele schaffen ferner eine Steuerung der Sichtbarkeit auf „Datensatz“- und „Attribut“-Ebene. Die Sicherheit in Distributed Ledger Netzwerken kommt durch eine große Anzahl an dezentral gespeicherten Kopien der gleichen Daten zustande, so dass ein Angreifer einen Großteil des Netzwerkes bzw. der Kopien kompromittieren müsste, um die Daten des Netzwerkes zu manipulieren. Öffentliche DLT-Netzwerke neigen eher dazu, eine große Anzahl an Kopien aufzuweisen. Doch auch wenn Transparenz eine Grundidee solcher Netzwerke sind, möchte oder kann und gegebenenfalls darf man seine Daten jedoch nicht unverschlüsselt verteilen.Some exemplary embodiments also create a control of the visibility at the “data record” and “attribute” level. The security in distributed ledger networks comes about through a large number of decentrally stored copies of the same data, so that an attacker would have to compromise a large part of the network or the copies in order to gain access to the network data manipulate. Public DLT networks are more likely to have a large number of copies. But even if transparency is a basic idea of such networks, you want to or can and if necessary you may not distribute your data unencrypted.
Durch die in der vorliegenden Offenbarung beschriebene Vorgehensweise kann die Sichtbarkeit von Daten sowohl auf Datensatz-Ebene (also für einen einzelnen Dateneintrag mit in der Regel mehreren zusammengehörenden Attributen), als auch auf Attributebene gesteuert werden. Sendet ein loT-Gerät also bspw. eine bestimmte Statusmeldung, kann es aufgrund fachlicher oder sicherheitstechnischer Anforderungen sein, dass nicht jeder diese gesamte Statusmeldung sehen darf, sondern diese nur für einzelne Teilnehmer des Prozessnetzwerkes entschlüsselbar ist (Steuerung der Sichtbarkeit auf Datensatzebene) oder aber zwar die Meldung an sich für alle Teilnehmer des Netzwerkes sichtbar ist, einzelne Attribute einer solchen Meldung (bspw. die GPS-Position (Position gemäß eines Globalen Positionierungs-System), oder ähnliches) jedoch nur für ausgewählte Teilnehmer einsehbar sein dürfen (Steuerung der Sichtbarkeit auf Attributebene). Genauso sind natürlich Mischformen möglich. Da die Daten mit dem jeweiligen öffentlichen Schlüssel eines jeden Teilnehmers verschlüsselt sind, kann nur der jeweilige Teilnehmer diese (mit seinem privaten Schlüssel) entschlüsseln. So kann der Datenerzeuger/- verteiler auf Basis von Rollen, Sichtbarkeitsgruppen oder Einzelberechtigungen unter Verwendung des passenden öffentlichen Schlüssels steuern, welche Attribute für welchen Teilnehmer/Rolle einsehbar sein sollen, da die Datenpakete jeweils einzeln verschlüsselt verteilt werden.Using the procedure described in the present disclosure, the visibility of data can be controlled both at the data record level (that is to say for an individual data entry with generally several associated attributes) and at the attribute level. If a loT device sends a certain status message, for example, it may be due to technical or security requirements that not everyone is allowed to see this entire status message, but that it can only be deciphered for individual participants in the process network (control of visibility at data record level) or indeed the message itself is visible to all participants in the network, but individual attributes of such a message (e.g. the GPS position (position according to a global positioning system), or the like) may only be visible to selected participants (control of visibility on Attribute level). Mixed forms are of course also possible. Since the data is encrypted with the respective public key of each participant, only the respective participant can decrypt it (with his private key). The data producer / distributor can control, on the basis of roles, visibility groups or individual authorizations, using the appropriate public key, which attributes should be visible to which participant / role, since the data packets are distributed individually in encrypted form.
Gibt es hierbei große Schnittmengen, d.h. haben verschiedene Prozessteilnehmer gleiche Sichtbarkeitsberechtigungen für gleiche Datensätze oder Attribute, macht es Sinn, solche Berechtigungen mit einem gemeinsamen Schlüsselpaar zu versehen, um so die Datenredundanz auf dem Austauschmedium (also bspw. dem Distributed Ledger) zu reduzieren.If there are large overlaps here, i.e. different process participants have the same visibility authorizations for the same data records or attributes, it makes sense to provide such authorizations with a common key pair in order to reduce the data redundancy on the exchange medium (e.g. the distributed ledger).
Dies geschieht beispielsweise folgendermaßen:
- Abschnitt 2.1: Der Bereitsteller des Datums (nachfolgend weiterhin „BD“ genannt) erzeugt für jede Rolle/Rechtsgruppe einen symmetrischen Schlüssel (SGX) und einen Gruppen-Briefkasten (LA-GX) und sendet den Schlüssel und die Adresse von LA-GX verschlüsselt mit dem öffentlichen Schlüssel des jeweiligen Teilnehmers an diesen Gruppenteilnehmer.
- Abschnitt 2.2: Der BD verschlüsselt Daten und/oder Attribute auf Basis von Rollen/Rechtegruppen. Die für mehrere Teilnehmer einsehbaren Daten verschlüsselt er mit dem Gruppenschlüssel SGX. Der Rest wird weiterhin teilnehmerbezogen mit dem öffentlichen Schlüssel des jeweiligen Teilnehmers verschlüsselt.
- Abschnitt 2.3: Der BD sendet die mit dem Gruppenschlüssel verschlüsselten Daten an den Gruppen-Briefkasten LA-GX und die mit den öffentlichen Schlüsseln der Teilnehmer verschlüsselten Daten an die Briefkästen der Teilnehmer.
- Abschnitt 2.4: Jeder Teilnehmer prüft nicht nur seinen persönlichen Briefkasten, sondern auch den der Gruppe auf neue Nachrichten. Die Nachrichten des Gruppen-Briefkastens entschlüsselt er mit dem erhaltenen Gruppenschlüssel, Nachrichten an seinen persönlichen Briefkasten weiterhin mit seinem privaten Schlüssel. Anschließend fügt er die über die unterschiedlichen Kanäle erhaltenen Daten gegebenenfalls wieder zusammen.
- Section 2.1: The provider of the date (hereinafter referred to as "BD") generates a symmetrical key (SGX) and a group mailbox (LA-GX) for each role / rights group and sends the key and the address of LA-GX in encrypted form the public key of the respective participant to this group participant.
- Section 2.2: The BD encrypts data and / or attributes on the basis of roles / groups of rights. He encrypts the data that can be viewed by several participants with the group key SGX. The remainder will continue to be encrypted with the respective participant's public key in relation to the participant.
- Section 2.3: The BD sends the data encrypted with the group key to the group mailbox LA-GX and the data encrypted with the public keys of the participants to the mailboxes of the participants.
- Section 2.4: Each participant not only checks their personal mailbox, but also that of the group for new messages. He decrypts the messages in the group mailbox with the received group key, messages to his personal mailbox with his private key. It then reassembles the data received via the different channels, if necessary.
Manche Ausführungsbeispiele der vorliegenden Offenbarung schaffen ferner eine Reduzierung der Angreifbarkeit durch zufällige Verteilung. DLT Netzwerke zeichnen sich u.a. dadurch aus, dass zahlreiche dezentralisierte Eintrittspunkte in das Netzwerk (sogenannte „Nodes“, oder „Knotenpunkte“) existieren. Jeder Knotenpunkt (zumindest die sogenannten „Full Nodes“, volle Knotenpunkte) speichern die gesamte Transaktionshistorie des Netzwerkes und sichern dieses somit vor Manipulationen. Möchte ein Teilnehmer nun ein solches Netzwerk zur Datenspeicherung benutzen, wählt er einen Knotenpunkt aus und übergibt ihm die zu speichernden Daten.Some exemplary embodiments of the present disclosure also create a reduction in vulnerability through random distribution. DLT networks are characterized, among other things, by the fact that there are numerous decentralized entry points into the network (so-called "nodes"). Each node (at least the so-called "full nodes") save the entire transaction history of the network and thus protect it from manipulation. If a participant would like to use such a network for data storage, he selects a node and transfers the data to be saved to him.
Ein Knotenpunkt kann dabei die Daten nicht verändern, wenn er sie nicht selbst erzeugt hat (da diese in der Regel mit dem privaten Schlüssel des Senders signiert sind und somit eine Manipulation schnell auffallen würde), er könnte jedoch einzelne ihm übergebene Transaktionen vor dem Einfügen in den Ledger verwerfen.A node cannot change the data if it has not generated it itself (since it is usually signed with the private key of the sender and a manipulation would therefore quickly become apparent), but it could, however, make individual transactions transferred to it before inserting them into discard the ledger.
Wenn zudem für alle Transaktionen, die ein loT-Gerät emittiert, der gleiche Knotenpunkt als Eintrittspunkt in das DLT Netzwerk gewählt würde, könnten externe Angreifer gegebenenfalls diese Nodes identifizieren und durch einen Angriff außer Gefecht setzen und somit das Verteilen von Daten des betroffenen loT-Gerätes unterbinden. Um die Manipulationsgefahr durch solche Angriffe zu minimieren, werden die emittierten Transaktionen in manchen Ausführungsbeispielen durch das loT- Gerät an jeweils zufällig ausgewählte Knotenpunkte (d.h. an eine zufällige Auswahl von ein oder mehreren Knoten der Mehrzahl von Knoten) zur Aufnahme in den Ledger abgelegt, so dass die Kommunikation zwischen dem Gerät und dem Netzwerk nicht vorhersagbar ist.If the same node were selected as the entry point into the DLT network for all transactions emitted by a loT device, external attackers could possibly identify these nodes and disable them through an attack and thus the distribution of data from the affected loT device prevent. In order to minimize the risk of manipulation from such attacks, the transactions emitted are in some exemplary embodiments stored by the loT device at randomly selected nodes (ie at a random selection of one or more nodes of the plurality of nodes) for inclusion in the ledger, see above communication between the device and the network is unpredictable.
Zumindest manche Ausführungsbeispiele können abseits von Distributed Ledger Netzwerken genutzt werden. Wie bereits oben beschrieben, ist die Nutzung von Ausführungsbeispielen der vorliegenden Offenbarung nicht zwingend an Distributed Ledger Netzwerke gekoppelt. Auch in einer Umgebung, in welcher der Datenaustausch über eine zentralisierte Architektur stattfindet, kann mit der beschriebenen Vorgehensweise für einen gesicherten Schlüsselaustausch die Authentizität von Nachrichten und deren Sendern sichergestellt werden. Dabei kann die Sicherheit reduziert sein, da die zentrale Komponente als „man in the middle“ (Mann in der Mitte) weitreichendere Eingriffsmöglichkeiten besitzt, als in einer dezentralisierten Netzwerkstruktur. Gegenüber zentralen „Trust Authorities“ (Vertrauensautoritäten) bieten Ausführungsbeispiele, insbesondere Ausführungsbeispiele, die auf dezentralen Datenbanken basieren, eine deutlich gesteigerte Immunität für äußere und bösartige Einflüsse. Ausführungsbeispiele können beispielsweise in der V2X-Kommunikation (Kommunikation zwischen Fahrzeugen (engl. Vehicle) und anderen Kommunikationspartnern, wobei das X für verschiedene Arten von Kommunikationspartnern steht) genutzt werden. Ausführungsbeispiele können ferner in Fällen genutzt werden, in denen Daten bspw. in Prozessnetzwerken mit Partnern/(Sub-)Lieferanten ausgetauscht werden (in der Lieferkette).At least some exemplary embodiments can be used apart from distributed ledger networks. As already described above, the use of exemplary embodiments of the present disclosure is not necessarily coupled to distributed ledger networks. Even in an environment in which the data exchange takes place via a centralized architecture, the described procedure for a secure key exchange can ensure the authenticity of messages and their senders. Security can be reduced because the central component as “man in the middle” has more extensive options for intervention than in a decentralized network structure. Compared to central “trust authorities”, exemplary embodiments, in particular exemplary embodiments which are based on decentralized databases, offer significantly increased immunity to external and malicious influences. Exemplary embodiments can be used, for example, in V2X communication (communication between vehicles and other communication partners, the X standing for different types of communication partners). Embodiments can also be used in cases in which data is exchanged, for example, in process networks with partners / (sub-) suppliers (in the supply chain).
Ein weiteres Ausführungsbeispiel ist ein Computerprogramm zur Durchführung zumindest eines der oben beschriebenen Verfahren, wenn das Computerprogramm auf einem Computer, einem Prozessor oder einer programmierbaren Hardwarekomponente abläuft. Ein weiteres Ausführungsbeispiele ist auch ein digitales Speichermedium, das maschinen- oder computerlesbar ist, und das elektronisch lesbare Steuersignale aufweist, die mit einer programmierbaren Hardwarekomponente so zusammenwirken können, dass eines der oben beschriebenen Verfahren ausgeführt wird.Another exemplary embodiment is a computer program for carrying out at least one of the methods described above when the computer program runs on a computer, a processor or a programmable hardware component. Another exemplary embodiment is also a digital storage medium that is machine-readable or computer-readable and that has electronically readable control signals that can interact with a programmable hardware component in such a way that one of the methods described above is carried out.
Die in der vorstehenden Beschreibung, den nachfolgenden Ansprüchen und den beigefügten Figuren offenbarten Merkmale können sowohl einzeln wie auch in beliebiger Kombination für die Verwirklichung eines Ausführungsbeispiels in ihren verschiedenen Ausgestaltungen von Bedeutung sein und implementiert werden.The features disclosed in the above description, the following claims and the attached figures can be important and implemented both individually and in any combination for the realization of an exemplary embodiment in its various configurations.
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.Although some aspects have been described in connection with a device, it goes without saying that these aspects also represent a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Analogously to this, aspects that have been described in connection with or as a method step also represent a description of a corresponding block or details or features of a corresponding device.
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-Ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einer programmierbaren Hardwarekomponente derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird.Depending on the specific implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be carried out using a digital storage medium such as a floppy disk, a DVD, a Blu-Ray disk, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, a hard disk or other magnetic memory or optical memory are carried out on the electronically readable control signals are stored, which can interact or cooperate with a programmable hardware component in such a way that the respective method is carried out.
Eine programmierbare Hardwarekomponente kann durch einen Prozessor, einen Computerprozessor (CPU = Central Processing Unit), einen Grafikprozessor (GPU = Graphics Processing Unit), einen Computer, ein Computersystem, einen anwendungsspezifischen integrierten Schaltkreis (ASIC = Application-Specific Integrated Circuit), einen integrierten Schaltkreis (IC = Integrated Circuit), ein Ein-Chip-System (SOC = System on Chip), ein programmierbares Logikelement oder ein feldprogrammierbares Gatterarray mit einem Mikroprozessor (FPGA = Field Programmable Gate Array) gebildet sein.A programmable hardware component can be a processor, a computer processor (CPU = Central Processing Unit), a graphics processor (GPU = Graphics Processing Unit), a computer, a computer system, an application-specific integrated circuit (ASIC = Application-Specific Integrated Circuit), an integrated Circuit (IC = Integrated Circuit), a one-chip system (SOC = System on Chip), a programmable logic element or a field-programmable gate array with a microprocessor (FPGA = Field Programmable Gate Array).
Das digitale Speichermedium kann daher maschinen- oder computerlesbar sein. Manche Ausführungsbeispiele umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem oder einer programmierbare Hardwarekomponente derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird. Ein Ausführungsbeispiel ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Programm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.The digital storage medium can therefore be machine-readable or computer-readable. Some exemplary embodiments thus include a data carrier which has electronically readable control signals which are able to interact with a programmable computer system or a programmable hardware component in such a way that one of the methods described herein is carried out. One embodiment is thus a data carrier (or a digital storage medium or a computer-readable medium) on which the program for performing one of the methods described herein is recorded.
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Programm, Firmware, Computerprogramm oder Computerprogrammprodukt mit einem Programmcode oder als Daten implementiert sein, wobei der Programmcode oder die Daten dahin gehend wirksam ist bzw. sind, eines der Verfahren durchzuführen, wenn das Programm auf einem Prozessor oder einer programmierbaren Hardwarekomponente abläuft. Der Programmcode oder die Daten kann bzw. können beispielsweise auch auf einem maschinenlesbaren Träger oder Datenträger gespeichert sein. Der Programmcode oder die Daten können unter anderem als Quellcode, Maschinencode oder Bytecode sowie als anderer Zwischencode vorliegen.In general, embodiments of the present invention can be implemented as a program, firmware, computer program or computer program product with a program code or as data, the program code or the data being effective to carry out one of the methods when the program is run on a processor or a programmable hardware component runs. The program code or the data can, for example, also be stored on a machine-readable carrier or data carrier. The program code or the data can be present as source code, machine code or bytecode, as well as other intermediate code, among other things.
Ein weiteres Ausführungsbeispiel ist ferner ein Datenstrom, eine Signalfolge oder eine Sequenz von Signalen, der bzw. die das Programm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom, die Signalfolge oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, um über eine Datenkommunikationsverbindung, beispielsweise über das Internet oder ein anderes Netzwerk, transferiert zu werden. Ausführungsbeispiele sind so auch Daten repräsentierende Signalfolgen, die für eine Übersendung über ein Netzwerk oder eine Datenkommunikationsverbindung geeignet sind, wobei die Daten das Programm darstellen.A further exemplary embodiment is also a data stream, a signal sequence or a sequence of signals which represents the program for performing one of the methods described herein. The data stream, the signal sequence or the sequence of signals can, for example, be configured to be transferred via a data communication connection, for example via the Internet or another network. Embodiments are thus also data-representing signal sequences which are suitable for transmission over a network or a data communication connection, the data representing the program.
Ein Programm gemäß einem Ausführungsbeispiel kann eines der Verfahren während seiner Durchführung beispielsweise dadurch umsetzen, dass dieses Speicherstellen ausliest oder in diese ein Datum oder mehrere Daten hinein schreibt, wodurch gegebenenfalls Schaltvorgänge oder andere Vorgänge in Transistorstrukturen, in Verstärkerstrukturen oder in anderen elektrischen, optischen, magnetischen oder nach einem anderen Funktionsprinzip arbeitenden Bauteile hervorgerufen werden. Entsprechend können durch ein Auslesen einer Speicherstelle Daten, Werte, Sensorwerte oder andere Informationen von einem Programm erfasst, bestimmt oder gemessen werden. Ein Programm kann daher durch ein Auslesen von einer oder mehreren Speicherstellen Größen, Werte, Messgrößen und andere Informationen erfassen, bestimmen oder messen, sowie durch ein Schreiben in eine oder mehrere Speicherstellen eine Aktion bewirken, veranlassen oder durchführen sowie andere Geräte, Maschinen und Komponenten ansteuern.A program according to an exemplary embodiment can implement one of the methods while it is being carried out, for example, by reading out memory locations or writing data or several data into them, which may result in switching operations or other operations in transistor structures, in amplifier structures or in other electrical, optical, magnetic or components working according to another functional principle. Correspondingly, by reading out a memory location, data, values, sensor values or other information can be recorded, determined or measured by a program. A program can therefore record, determine or measure quantities, values, measured quantities and other information by reading out one or more memory locations, and by writing to one or more memory locations it can cause, initiate or carry out an action and control other devices, machines and components .
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.The above-described embodiments are merely illustrative of the principles of the present invention. It is to be understood that modifications and variations of the arrangements and details described herein will be apparent to other skilled persons. It is therefore intended that the invention be limited only by the scope of protection of the following patent claims and not by the specific details presented herein on the basis of the description and the explanation of the exemplary embodiments.
BezugszeichenlisteList of reference symbols
- 1010
- Vorrichtung für eine DatenquelleDevice for a data source
- 1212th
- Schnittstelleinterface
- 1414th
- Ein oder mehrere ProzessorenOne or more processors
- 2020th
- Vorrichtung für ein GerätDevice for a device
- 2222nd
- Schnittstelleinterface
- 2424
- Ein oder mehrere ProzessorenOne or more processors
- 100100
- DatenquelleData Source
- 110110
- Erhalten von Adressen von elektronischen Postfächern von GerätenObtaining addresses from electronic mailboxes from devices
- 120120
- Erhalten von kryptographischen SchlüsselnObtaining cryptographic keys
- 130130
- Erzeugen von ein oder mehreren NachrichtenGenerate one or more messages
- 135135
- Signieren der ein oder mehreren NachrichtenSign the one or more messages
- 140140
- Bereitstellen der ein oder mehreren NachrichtenProviding the one or more messages
- 150150
- Bereitstellen einer BenachrichtigungProviding a notification
- 200200
- Ein oder mehrere GeräteOne or more devices
- 210210
- Erhalten einer NachrichtReceive a message
- 220220
- Entschlüsseln von DatenDecrypting data
- 230230
- Prüfen einer Signatur der NachrichtCheck a signature of the message
Claims (15)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020205994.2A DE102020205994A1 (en) | 2020-05-13 | 2020-05-13 | Concept for exchanging encrypted data |
PCT/EP2021/062390 WO2021228797A1 (en) | 2020-05-13 | 2021-05-11 | Concept for interchanging encrypted data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020205994.2A DE102020205994A1 (en) | 2020-05-13 | 2020-05-13 | Concept for exchanging encrypted data |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020205994A1 true DE102020205994A1 (en) | 2021-11-18 |
Family
ID=75914526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020205994.2A Pending DE102020205994A1 (en) | 2020-05-13 | 2020-05-13 | Concept for exchanging encrypted data |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102020205994A1 (en) |
WO (1) | WO2021228797A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018160863A1 (en) | 2017-03-01 | 2018-09-07 | Apple Inc. | System access using a mobile device |
US20200099667A1 (en) | 2018-09-21 | 2020-03-26 | Microsoft Technology Licensing, Llc | Managing decrypted access rights to encrypted content in a message |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017208503A1 (en) * | 2017-05-19 | 2018-11-22 | Bayerische Motoren Werke Aktiengesellschaft | A method, computer readable medium, system and vehicle comprising the system for providing a record of a vehicle to a third party |
-
2020
- 2020-05-13 DE DE102020205994.2A patent/DE102020205994A1/en active Pending
-
2021
- 2021-05-11 WO PCT/EP2021/062390 patent/WO2021228797A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018160863A1 (en) | 2017-03-01 | 2018-09-07 | Apple Inc. | System access using a mobile device |
US20200099667A1 (en) | 2018-09-21 | 2020-03-26 | Microsoft Technology Licensing, Llc | Managing decrypted access rights to encrypted content in a message |
Also Published As
Publication number | Publication date |
---|---|
WO2021228797A1 (en) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112018003825T5 (en) | BLOCKCHAIN AUTHORIZATION CHECK BY HARD / SOFT TOKEN CHECK | |
DE102016224537B4 (en) | Master Block Chain | |
EP3726438A1 (en) | Method and control system for controlling and/or monitoring devices | |
EP3595267B1 (en) | Method, devices and system for exchanging data between a distributed database system and devices | |
DE102020205993B3 (en) | Concept for the exchange of cryptographic key information | |
DE102010027586B4 (en) | Method for the cryptographic protection of an application | |
DE112011100182T5 (en) | Transaction check for data security devices | |
EP3763089B1 (en) | Method and control system for controlling and/or supervising of devices | |
EP2863610B1 (en) | Method and system for tamper-proof provision of multiple digital certificates for multiple public keys of a device | |
DE102017122227A1 (en) | SYSTEM, ESPECIALLY AUTHENTICITY SYSTEM | |
EP3576368A1 (en) | Method and system for controlling a release of a resource | |
EP3718263B1 (en) | Method and control system for controlling and/or supervising of devices | |
EP3105898B1 (en) | Method for communication between secured computer systems as well as computer network infrastructure | |
EP3714575B1 (en) | Method and control system for controlling and/or supervising of devices | |
EP3629516A1 (en) | Decentralised identity management solution | |
EP3713189A1 (en) | Intrusion detection in computer systems | |
EP4169207B1 (en) | Method, devices and system for exchanging data between a distributed database system and devices | |
DE102020205994A1 (en) | Concept for exchanging encrypted data | |
DE102018102608A1 (en) | Method for user management of a field device | |
DE112021004459T5 (en) | INFORMATION VERIFICATION DEVICE, ELECTRONIC CONTROL DEVICE AND INFORMATION VERIFICATION METHOD | |
EP3955509A1 (en) | Provision of quantum keys in a network | |
EP3909217A1 (en) | Method and system for information transmission | |
DE112007000419B4 (en) | Digital rights management system with a diversified content protection process | |
DE102022000857B3 (en) | Procedure for the secure identification of a person by a verification authority | |
DE102010021655A1 (en) | A method for providing EDRM (Enterprise Digital Rights Management) protected data objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication |