-
Die vorliegende Erfindung betrifft ein Verfahren zur vertrauenswürdigen Bereitstellung von Messdaten mindestens eines Sensors eines intelligenten Messzählers (sog. „Smart Meter“) in einer dezentralen Transaktionsdatenbank sowie einen intelligenten Messzähler und ein Computerprogramm zu dessen Durchführung.
-
Stand der Technik
-
„Smart Meter“, auch als intelligente Messzähler oder intelligente Messsysteme bezeichnet, sind Messgeräte (z.B. Stromzähler), die Messdaten (z.B. Stromverbrauch oder -erzeugung) erfassen und über ein Netzwerk meist an Messstellenbetreiber und möglicherweise an sog. „Smart Home“- Anwendungen (intelligente Haustechnik) übermitteln. Auch können von solchen Messzählern Daten empfangen werden, z.B. Tarifänderungen. Seitens des Bundesamts für Sicherheit und Informationstechnik (BSI) werden Anforderungen zur Absicherung der Kommunikation in der heutigen Netzinfrastruktur gestellt. Diese Anforderungen betreffen insbesondere auch die Verantwortung des Netzstellenbetreibers für einen korrekten Betrieb der Messzähler und den korrekten Report der Messstellendaten an die Netzbetreiber, z.B. an einen Energieversorger. Der Netzstellenbetreiber, in dessen Verantwortung die Einhaltung der Anforderungen liegt, befindet sich hier also in einer zentralen Position.
-
In einem dezentralen Versorgungsnetz (u.a. für Strom, Gas oder Wasser) müssen Messdaten (etwa Verbrauchs- und Erzeugungsdaten) an einen „Smart Contract“ (das ist sozusagen ein „intelligenter Vertrag“) übermittelt werden. „Smart Contracts“ sind im Rahmen von „Distributed-Ledger-Technologien“ (DLT, auf Deutsch etwa Technik verteilter Kontobücher) bekannt. Im Rahmen von DLT werden dezentrale Transaktionsdatenbanken (etwa eine Blockchain bzw. Blockkette) verwendet, in denen sowohl Smart Contracts gespeichert werden als auch über die von diesen in automatisierter Form ausgelösten Transaktionen Buch geführt wird (etwa mittels einer Verkettung von Transaktionsblöcken, die über Hashwerte kryptographisch abgesichert wird).
-
Eine zentrale Stelle, die die Vertrauenswürdigkeit von übermittelten Daten sicherstellt, ist in solchen dezentralen Versorgungsnetzen nicht vorhanden. In einem dezentralen Versorgungsnetz muss die Richtigkeit der an „Smart Contracts“ übermittelten Daten sichergestellt werden, ohne dass eine Vertrauensstelle (Messstellenbetreiber) die Verantwortung für die Richtigkeit der Daten übernehmen muss.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden ein Verfahren zur vertrauenswürdigen Bereitstellung von Messdaten mindestens eines Sensors eines intelligenten Messzählers in einer dezentralen Transaktionsdatenbank sowie ein intelligenter Messzähler und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Das Verfahren zur vertrauenswürdigen Bereitstellung von Messdaten mindestens eines Sensors eines intelligenten Messzählers in einer dezentralen Transaktionsdatenbank, umfasst: ein Bilden eines Messdatensatzes, der zu mindestens einem Zeitpunkt von dem mindestens einen Sensor erfasste Messdaten umfasst; ein digitales Signieren des Messdatensatzes unter Verwendung eines geheimen Schlüssels durch den Messzähler; ein Senden, durch den Messzähler, des digital signierten Messdatensatzes an ein erstes Protokoll, das als automatisiert auf der Transaktionsdatenbank ausgeführtes Computerprotokoll implementiert ist; ein Verifizieren des digital signierten Messdatensatzes durch die Verifizierungsprotokoll unter Verwendung eines öffentlichen Schlüssels, der dem geheimen Schlüssel entspricht; und, wenn der Messdatensatz erfolgreich verifiziert wird, ein Bereitstellen des Messdatensatzes an wenigstens ein zweites Protokoll, das als automatisiert auf der Transaktionsdatenbank ausgeführtes Computerprotokoll implementiert ist.
-
Entsprechend der Erfindung wird erreicht, dass die von dem intelligenten Messzähler erfassten und übermittelten Messdaten (etwa Verbrauchs- und Erzeugungsdaten) eindeutig einer Messstelle und damit einem Netzanschlusspunkt zuordenbar sind und an Protokolle bzw. Smart-Contract-Einheiten in einer dezentralen Transaktionsdatenbank eines dezentralen Versorgungsnetzes sicher bereitgestellt bzw. übermittelt werden können.
-
Smart-Contracts können im Prinzip als Computerprotokolle bzw. Computerprogramme angesehen werden, die einen Vertrag abbilden und insbesondere die Abwicklung und Einhaltung eines Vertrags in automatischer Form ermöglichen. Solche Computerprotokolle (‚Smart-Contract‘, ‚intelligenter Vertrag‘ können durch eine Programmiersprache in einer dezentralen Datenbank, etwa einer Blockkette (block chain) verwirklicht werden. Hierfür kann z.B.: die Programmiersprache Solidity verwendet werden, die eigens zur Implementierung dieser Computerprotokolle entwickelt wurde und z.B. in Ethereum bzw. in der „Ethereum Virtual Machine“ genutzt wird. Im Fall eines intelligenten Stromzählers kann ein Protokoll etwa die Abrechnung erbrachter Stromlieferungen betreffen.
-
In dieser Anmeldung wird der Begriff ‚Protokoll‘ für ‚Smart-Contract‘ bzw. ‚intelligenter Vertrag verwendet. Ein Protokoll ist also als ein Computerprotokoll bzw. Computerprogramm implementiert, das automatisiert ausgeführt wird. Ein Protokoll umfasst im Allgemeinen Programmcode und/oder Daten, die in der Transaktionsdatenbank gespeichert sind. Protokolle werden automatisiert ausgeführt, müssen also nicht eigens aufgerufen werden, d.h. die im Programmcode kodifizierten Abläufe werden automatisch durchgeführt, etwa in Reaktion auf das Vorliegen bestimmter Bedingungen. Bei der Ausführung eines Protokolls bzw. Programmcodes können Daten anfallen oder können Daten geändert werden, dies wird durch die Transaktionsdatenbank in Form von Transaktion gespeichert (etwa in Blöcken einer Blockkette). Ein Protokoll ist also als automatisiert auf der Transaktionsdatenbank ausgeführtes Computerprotokoll implementiert. Die Transaktionsdatenbank kann als Blockkette implementiert sein.
-
Zur digitalen Signatur wird ein asymmetrisches Verfahren verwendet, das also ein Schlüsselpaar mit einem geheimen und einem öffentlichen Schlüssel verwendet (die gemeinsam als Paar erzeugt wurden). Der geheime Schlüssel wird hier im Messzähler gespeichert und ist idealerweise nur diesem bekannt. Beispielsweise kann RSA (benannt nach Rivest, Shamir und Adleman) oder DSA (engl.: Digital Signature Algorithm) als digitales Signaturverfahren verwendet werden.
-
Das Verfahren umfasst bevorzugt ein Speichern des Messdatensatzes in der Transaktionsdatenbank durch ein Registrierprotokoll, das eines des wenigstens einen zweiten Protokolls ist. Die Messdaten können somit dauerhaft gespeichert werden und zu späteren Zeitpunkten überprüft werden.
-
Vorzugsweis umfasst das Verfahren ein Abrufen von im Messdatensatz enthaltenen Messdaten durch eine oder mehreren dritten Protokollen, die als automatisiert auf der Transaktionsdatenbank ausgeführte Computerprotokolle implementiert sind; wobei weiter bevorzugt, gegebenenfalls, das Registrierprotokoll eine Abruffunktion implementiert, die von dem einen oder den mehreren dritten Protokollen aufgerufen wird und nach Aufruf im Messdatensatz enthaltene Messdaten zurückgibt. Dies ermöglicht insbesondere die Bereitstellung der gespeicherten Messdaten oder von Teilmengen davon an beliebige anderer (dritte) Protokolle.
-
Das Verfahren umfasst bevorzugt weiterhin ein Senden von Daten und/oder Anweisungen durch das erste Protokoll an den Messzähler, ein Empfangen der Daten und/oder Anweisungen durch den Messzähler und ein Durchführen von Einstellungen basierend auf den Daten und/oder Durchführen der Anweisungen durch den Messzähler. So kann das Protokoll z.B. Einstellungen am intelligenten Messzähler ändern oder Messdaten abrufen.
-
Vorzugsweise wird in dem Messzähler eine sichere Laufzeitumgebung bereitgestellt, in der der Messdatensatz gebildet und digital signiert wird. Dadurch kann eine Manipulation von Messdaten im Messzähler verhindert werden.
-
Ein erfindungsgemäßer intelligenter Messzähler weist mindestens einen Sensor und eine Recheneinheit aufweist, wobei der mindestens eine Sensor dazu eingerichtet ist, Messdaten zu erfassen, und die Recheneinheit dazu eingerichtet ist, einen Messdatensatz zu bilden, der zu mindestens einem Zeitpunkt von dem mindestens einen Sensor erfasste Messdaten umfasst, den Messdatensatz unter Verwendung eines privaten Schlüssels digital zu signieren, und den signierten Messdatensatz an ein erstes Protokoll, das als automatisiert auf der Transaktionsdatenbank ausgeführtes Computerprotokoll implementiert ist, zu senden. Eine erfindungsgemäße Recheneinheit, z.B. eine Recheneinheit in einem intelligenten Messzähler oder ein Gateway zum Übermitteln von durch Sensoren erfasste Messdaten, ist also, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren bzw. Teilschritte davon durchzuführen.
-
Bevorzugt ist die Recheneinheit weiterhin dazu eingerichtet ist, eine sichere Laufzeitumgebung bereitzustellen, in der die Schritte, zu deren Durchführung die Recheneinheit eingerichtet ist, ausgeführt werden. Die Durchführung der Schritte kann so vor Manipulationen abgesichert werden
-
Der intelligente Messzähler ist vorzugsweise dazu eingerichtet, Daten und/oder Anweisungen von dem ersten Protokoll zu empfangen, wobei die Recheneinheit weiterhin dazu eingerichtet ist, Einstellungen basierend auf den Daten durchzuführen und/oder die Anweisungen durchzuführen.
-
Ein erfindungsgemäßes Computerprogramm veranlasst eine Recheneinheit dazu, einen Messdatensatz zu bilden, der zu mindestens einem Zeitpunkt von mindestens einen Sensor erfasste Messdaten umfasst, den Messdatensatz unter Verwendung eines privaten Schlüssels digital zu signieren, und den signierten Messdatensatz an ein erstes Protokoll, das als automatisiert auf der Transaktionsdatenbank ausgeführtes Computerprotokoll implementiert ist, zu senden, und bevorzugt, Einstellungen basierend auf von dem ersten Protokoll empfangenen Daten durchzuführen und/oder von dem ersten Protokoll empfangene Anweisungen durchzuführen.
-
Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
-
Figurenliste
-
- 1 zeigt den Ablauf gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens und die zugehörige Struktur der beteiligten Einheiten; und
- 2 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform des Verfahrens.
-
Ausführungsform der Erfindung
-
1 stellt den Ablauf gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens und die zugehörige Struktur der beteiligten Einheiten dar. Der intelligente Messzähler 102 umfasst einen Sensor 104, der Messdaten erfasst, und eine sichere Laufzeitumgebung 106 für eine Anwendung 108, die durch eine im Messzähler umfasste Recheneinheit implementiert sind bzw. ausgeführt werden. Die nicht weiter dargestellte Recheneinheit kann z.B. einen Prozessor und einen Speicher umfassen, wobei die Anwendung ein Computerprogramm ist, das durch den Prozessor ausgeführt wird. Die sichere Laufzeitumgebung 106 stellt eine vertrauenswürdige Umgebung für die Ausführung der Anwendung 108 zur Verfügung. Die Laufzeitumgebung 106 kann sowohl Hardware-Komponenten (z.B. ein sogenanntes „Trusted Platform Module“) als auch Software-Komponenten (d.h. ein Computerprogramm, das im Prozessor ausgeführt wird) umfassen. Der Sensor 104 ist mit der Laufzeitumgebung 106 verbunden, so dass Messdaten übertragen werden können, diese Verbindung bzw. Übertragung kann drahtgebunden oder drahtlos erfolgen. Im Allgemeinen kann der intelligente Messzähler mehrere Sensoren umfassen. Es können beispielsweise Sensoren zur Messung einer Temperatur, eines Drucks, eines Wasserverbrauchs, eines Energieverbrauchs, einer Energieerzeugung, eines Stromverbrauchs, einer Stromerzeugung, oder von Ähnlichem verwendet werden.
-
Vom Sensor 104 erfasste Messdaten werden an die Anwendung 108, die in der sicheren Laufzeitumgebung 106 ausgeführt wird, übertragen (Pfeil 120). Die Messdaten eines oder mehrerer Zeitpunkte werden durch die Anwendung 108 zu einem Messdatensatz zusammengefasst und der Messdatensatz wird durch die Anwendung 108 digital signiert. Als digitales Signaturverfahren wird ein asymmetrisches Kryptoverfahren verwendet. Es wird also ein Schlüsselpaar aus einem geheimen bzw. privaten Schlüssel (Signaturschlüssel) und einem entsprechenden öffentlichen Schlüssel (Verifikationsschlüssel) verwendet, wobei mit dem geheimen Schlüssel ein Wert zu einer Nachricht bzw. zu Daten (hier Messdatensatz) berechnet wird und mit Hilfe des öffentlichen Schlüssels anhand des Wertes die Korrektheit der Nachricht bzw. der Daten verifiziert wird, d.h. die Integrität und der Ursprung der Nachricht/Daten geprüft wird. Der geheime/private Schlüssel wird durch den intelligenten Messzähler in der Laufzeitumgebung gespeichert und zum digitalen Signieren des Messdatensatzes verwendet.
-
Der digital signierte Datensatz mit den Messdaten wird durch die Anwendung 108 zu einem ersten Protokoll 110 gesendet (Pfeil 122) bzw. zu diesem übertragen. Das erste Protokoll 110 ist beispielsweise in einer dezentralen Transaktionsdatenbank 112 realisiert, insbesondere in einer Blockkette, etwa in Ethereum, wobei beispielsweise Solidity als Programmiersprache verwendet wird. In dem ersten Protokoll 110 ist ein automatisierter Ablaufplan, das Transaktionen innerhalb der Transaktionsdatenbank ausführen kann, implementiert, d.h. das erste Protokoll ist als automatisiert auf der Transaktionsdatenbank ausgeführtes Computerprotokoll implementiert. Das erste und die weiteren im Folgenden eingeführten Protokolle können als sogenannte „Smart Contract“ angesehen werden.
-
Durch das erste Protokoll 110, d.h. mittels Ausführung des Computerprogramms, das das Protokoll implementiert, kann die Vertrauenswürdigkeit der Daten bzw. des Messdatensatzes anhand der digitalen Signatur verifiziert werden, wobei das erste Protokoll hierzu den öffentlichen Schlüssel verwendet. Der Ursprung und die Korrektheit der Messdaten ist damit gewährleistet und diese können von dem ersten Protokoll 110 an wenigstens ein zweites Protokoll (das wieder als automatisiert auf der Transaktionsdatenbank ausgeführtes Computerprotokoll implementiert ist) bereitgestellt werden, das basierend auf den Messdaten vorgegebene Prozesse bzw. Aktionen durchführen. Ein solches zweites Protokoll könnte etwa einen Stromabnahmevertrag zwischen einem Energieversorgungsunternehmen und einem Kunden implementieren, wobei der Sensor den Stromverbrauch des Kunden misst und das zweite Protokoll in automatisierter Form einen entsprechenden Preis abrechnet.
-
Bevorzugt ist ein Registerprotokoll 114 (das als automatisiert auf der Transaktionsdatenbank ausgeführtes Computerprotokoll implementiert ist) vorgesehen, das eines der zweiten Protokolle ist. Dieses Registerprotokoll 114 erhält (Pfeil 126) den verifizierten Messdatensatz von dem ersten Protokoll und ist dazu eingerichtet (d.h. es umfasst einen entsprechenden Ablaufplan bzw. ein dieses implementierendes automatisiertes Computerprogramm), diesen in der Transaktionsdatenbank zu speichern. Weiterhin kann das Registerprotokoll 114 eine Abruffunktion bereitstellen, die von anderen, dritten Protokollen (die wieder als automatisiert auf der Transaktionsdatenbank ausgeführte Computerprotokolle implementiert sind) aufgerufen werden kann, um Messdaten zu erhalten, d.h. das Registerprotokoll übermittelt gespeicherte Messdaten an ein aufrufendes drittes Protokoll. Hier können natürlich Aufrufparameter in der Abruffunktion vorgesehen sein, die es einem aufrufenden dritten Protokoll ermöglichen bestimmte Messdaten, z.B. Messdaten innerhalb eines bestimmten Zeitraums, abzurufen. Es sind dann diese dritten Protokolle, die basierend auf den Messdaten vorgegebene Prozesse bzw. Aktionen durchführen können. Das obige Beispiel eines Stromabnahmevertrags wäre also ein drittes Protokoll. Das Registerprotokoll, d.h. dessen Funktionalität, kann (anders als in 1 dargestellt) auch bereits im ersten Protokoll umfasst sein.
-
Weiter ist es möglich, Daten und/oder Anweisungen von dem ersten Protokoll 110 an den intelligenten Messzähler 102 bzw. die Anwendung 108 zu senden (Pfeil 124). Diese können dann von der Anwendung 108 empfangen und ausgewertet bzw., wenn sie Anweisungen enthalten, ausgeführt werden. Beispiele für solche Daten und/oder Anweisungen sind „Firmware-Update verfügbar“, „Sende neuen Messdatensatz“ oder „Nutze in Zukunft ein anderes Protokoll, an das Messdatensätze gesendet werden“ (d.h. „Nutze ein anderes Protokoll als erstes Protokoll“); Daten können beispielsweise Angaben dazu, wo das Firmware-Update verfügbar ist, oder dazu, welches andere Protokoll verwendet werden soll, sein. Ebenso können die Daten Einstellungen des Messzählers betreffen.
-
2 zeigt ein Ablaufdiagramm, das den Ablauf des Verfahrens gemäß einer beispielhaften Ausführungsform der Erfindung darstellt. In Schritt 202 werden Messdaten durch den wenigstens einen Sensor gemessen bzw. erfasst. Die Messdaten können etwa regelmäßig erfasst werden, so dass sich eine Zeitreihe von Messdaten ergibt. Die Messdaten werden vom Sensor an die Laufzeitumgebung bzw. die darin ausgeführte Anwendung übertragen, und können dort auch gespeichert bzw. zwischengespeichert werden.
-
Aus Messdaten, die zu mindestens einem Zeitpunkt erfasst wurden, wird in Schritt 204 ein Messdatensatz gebildet, der diese Messdaten enthält. Bevorzugt werden Messdaten von mehreren Zeitpunkten, die beispielsweise innerhalb einer bestimmten Zeitspanne liegen, zu einem Messdatensatz zusammengefasst.
-
In Schritt 206 wird der gebildete Messdatensatz unter Verwendung des geheimen Schlüssels digital signiert, und optional verschlüsselt, etwa mit einem anderen geheimen Verschlüsselungs-Schlüssel mittels eines symmetrischen Verschlüsselungsverfahrens. Anhand der Signatur ist es möglich, den Ursprung des Messdatensatzes eindeutig festzustellen und dessen Richtigkeit zu verifizieren.
-
In Schritt 208 wird der digital signierte (und eventuell verschlüsselte) Messdatensatz das erste Protokoll gesendet bzw. übertragen. Das erste Protokoll kann unter Verwendung des öffentlichen Schlüssels (der zusammen mit dem geheimen Schlüssel ein Schlüsselpaar bildet) anhand der Signatur die Korrektheit des Messdatensatzes eindeutig feststellten, d.h. den digitalen Messdatensatz verifizieren 210 und den Messdatensatz zweiten Protokollen, insbesondere dem Registerprotokoll, bereitstellen.
-
In einem bevorzugten Schritt 212 kann der Messdatensatz in der Transaktionsdatenbank durch ein Registrierprotokoll (das eines der zweiten Protokolle ist) gespeichert werden. Im weiter bevorzugten Schritt 214 umfasst das Verfahren ein Abrufen von im Messdatensatz umfassten Messdaten durch wenigstens ein drittes Protokoll, wofür eine im Registrierprotokoll vorgesehene Abruffunktion von des wenigstens eines dritten Protokolls aufgerufen wird.
-
Im optionalen Schritt 216 kann das Verfahren weiterhin ein Empfangen durch den Messzähler bzw. die darin umfasste Recheneinheit von Daten und/oder Anweisungen, die von dem ersten Protokoll gesendet wurden, umfassen. Diese Daten und/oder Anweisungen können auf dem von dem ersten Protokoll empfangenen Messdatensatz basieren oder auch davon unabhängig sein, z.B. können sie Einstellungen des intelligenten Messzählers betreffen. Die Daten und/oder Anweisungen können in einem ebenfalls optionalen Schritt 218 durch den intelligenten Messzähler ausgewertet und/oder ausgeführt werden. Die letzten beiden Schritte 216 und 218 (falls vorhanden) müssen nicht unbedingt nach den Schritten 202 bis 208 ausgeführt werden, sondern können unabhängig voneinander ebenso vor oder nach einem beliebigen der Schritte 202 bis 208 ausgeführt werden.
-
Vorstehend wurde die Erfindung so beschrieben, dass Messdaten zu einem Messdatensatz zusammengefasst wurden. Dies soll natürlich nicht ausschließen, dass weitere Messdatensätze gebildet werden, für die das Verfahren gemäß der Erfindung durchgeführt wird. Z.B. können Messdaten innerhalb vorbestimmter Zeiträume zu jeweiligen Messdatensätzen zusammengefasst werden, die dann jeweils zum Ende des jeweiligen Zeitraums signiert und an das erste Protokoll gesendet wird. Auch kann ein Messdatensatz jeweils in Reaktion auf eine entsprechende Aufforderung (d.h. eine Anweisung in Schritt 216) des ersten Protokolls gebildet, signiert und gesendet werden, wobei der Messdatensatz z.B. Messdaten innerhalb eines in der Aufforderung angegebenen Zeitraums oder die seit der letzten Aufforderung neu angefallenen Messdaten umfassen kann.