Beschreibung
Verfahren zum Freischalten von Sonderfunktionalitäten bei Feldgeräten der Automatisierungstechnik
[0001] Die Erfindung betrifft ein Verfahren zum Freischalten von Sonderfunktionalitäten bei Feldgeräten der Automatisierungstechnik.
[0002] In der Automatisierungstechnik werden vielfach Feldgeräte eingesetzt, die zur
Erfassung und/oder Beeinflussung von Prozessvariablen dienen. Beispiele für derartige Feldgeräte sind Füllstandsmessgeräte, Massedurchflussmessgeräte, Druck- und Temperaturmessgeräte etc., die als Sensoren die entsprechenden Prozessvariablen Füllstand, Durchfluss, Druck bzw. Temperatur erfassen.
[0003] Zur Beeinflussung von Prozessvariablen dienen Aktoren, die z. B. als Ventile den Durchfluss einer Flüssigkeit in einem Rohrleitungsabschnitt oder als Pumpen den Füllstand in einem Behälter steuern.
[0004] Eine Vielzahl solcher Feldgeräte wird von der Fa. Endress + Hauser hergestellt und vertrieben.
[0005] In der Regel sind Feldgeräte in modernen Fabrikationsanlagen über Feldbussysteme (HART, Profibus, Foundation Fieldbus, etc), mit übergeordneten Einheiten (z. B. Leitsysteme oder Steuereinheiten) verbunden. Diese übergeordneten Einheiten dienen unter anderem zur Prozesssteuerung, Prozessvisualisierung, Prozessüberwachung sowie zur Inbetriebnahme der Feldgeräte. Als Feldgeräte werden allgemein solche Einheiten bezeichnet, die direkt an einen Feldbus angeschlossen sind und zur Kommunikation mit den übergeordneten Einheiten dienen (z. B. Remote I/O, Gateways, Linking Devices)
[0006] Meist sind Feldbussysteme in Unternehmensnetzwerke integriert. Damit kann aus unterschiedlichen Bereichen eines Unternehmens auf Prozess- bzw. Feldgerätedaten zugegriffen werden.
[0007] Zur weltweiten Kommunikation können die Firmennetzwerke auch mit öffentlichen Netzwerken, z. B. dem Internet verbunden sein.
[0008] Moderne Feldgeräte weisen vielfach eine standardisierte Feldbusschnittstelle zur Kommunikation mit einem offenen Feldbussystem und/oder eine proprietäre Schnittstelle zur herstellerspezifischen Kommunikation mit einer Service/ Bedieneinheit auf. Häufig handelt es sich bei den Service/Bedieneinheiten um tragbare Kleinrechner (Laptops, Palms etc), wie sie aus dem Consumer-Electronic-Bereich (Büro- und Heim-Computer) allgemein bekannt sind.
[0009] Einige Feldgeräte weisen Sonderfunktionalitäten auf, die durch eine gezielte Bestellung und Freischaltung ab Werk nutzbar sind.
[0010] Bei Durchflussmessgeräten sind z. B. folgende Sonderfunktionalitäten bekannt: Dosierfunktionen für den Batch-Betrieb, Diagnosefunktionen, Viskositäts- Messfunktionen, Dichte-Messfunktionen. Bei Füllstandmessgeräten kann eine Durchflussmessung am offenen Gerinne oder eine gegenüber der Standardversion erweiterte Pumpensteuerung als Sonderfunktion realisiert sein. Ein nachträgliches Aufrüsten bereits gekaufter Geräte durch den Kunden ist hiermit aber nicht möglich.
[0011] Um dies zu vermeiden, weisen einige Feldgeräte Sonderfunktionalitäten auf, die mit einem entsprechenden Hardwareschlüssel (Dongle) freischaltbar sind.
[0012] Die Handhabung dieser Hardwareschlüssel ist sehr aufwendig. Außerdem sind sie relativ teuer.
[0013] Eine einfachere Möglichkeit besteht darin, dass der Feldgerätehersteller dem Anwender einen Freischaltcode zur Verfügung stellt, der die Nutzung von Sonderfunktionalitäten an einem bestimmten Feldgerätetyp erlaubt.
[0014]
[0015] Ein solcher Freischaltcode kann jedoch einfach weitergegeben werden und auch bei anderen Feldgeräten eingesetzt werden.
[0016]
[0017] Um die Nutzung von Freischaltcodes bei anderen Feldgeräten zu vermeiden, werden bei der Erzeugung von sichereren Freischaltcodes die Serien-Nummern der betreffenden Feldgeräte verarbeitet. Dies erfolgt z.B. über eine EXCR- Verknüpfung, bei der die Serien-Nummer und eine entsprechenden Freischaltoption, die beide in binärer Form vorliegen müssen, entsprechend verknüpft werden. Die Freischaltoption wird im Feldgerät aus dem Freischaltcode zurückgewonnen werden. Dies erfolgt ebenfalls wieder über eine EXCR- Verknüpfung.
[0018] Solche symmetrischen Verfahren bergen einige prinzipielle Nachteile. Sie können relativ leicht entschlüsselt werden und geben dadurch unseriösen Anwendern die Möglichkeit, Freischaltcodes für weitere Feldgeräte in unberechtigter Weise zu generieren.
[0019] Aufgabe der Erfindung ist es, ein einfaches Verfahren zum Freischalten von
Sonderfunktionalitäten bei Feldgeräten der Automatisierungstechnik anzugeben, das die oben genannten Nachteile nicht aufweist, das insbesondere die unberechtigte Nutzung von Freischaltcodes verhindert.
[0020] Gelöst wird diese Aufgabe durch die nachfolgend im Anspruch 1 angegebenen
Verfahrensschritte .
[0021] Die wesentliche Idee der Erfindung besteht darin, ein asymmetrisches Verschlüsselungsverfahren für Freischaltcodes einzusetzen.
[0022] Der Freischaltcode wird dabei mit einem privaten Schlüssel herstellerseitig generiert. Die Entschlüsselung des Freischaltcodes erfolgt im Feldgerät mit einem öffentlichen Schlüssel.
[0023] Vorteilhafte Weiterentwicklungen der Erfindung sind in den Unteransprüchen angegeben.
[0024] Nachfolgend ist die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert.
[0025] Es zeigen:
[0026] Fig. 1 Netzwerk der Automatisierungstechnik mit mehreren
[0027] Feldgeräten in schematischer Darstellung;
[0028] Fig. 2 Blockschaltbild eines Feldgerätes;
[0029] Fig. 3 Diagramm zur Erzeugung und Verwendung eines Freischaltcodes
[0030] In Fig. 1 ist ein Netzwerk der Automatisierungstechnik näher dargestellt. An einem Datenbus Dl sind mehrere Rechnereinheiten (Arbeitsplatzrechner, Workstations) WSl, WS2, angeschlossen. Diese Rechnereinheiten dienen als übergeordnete Einheiten (Leitsystem bzw. Steuereinheit), unter anderem zur Prozessvisualisierung, Prozessüberwachung und zum Engineering wie zum Bedienen und Überwachen von Feldgeräten. Der Datenbus Dl arbeitet z. B. nach dem Profibus DP-Standard oder nach dem HSE (High Speed Ethernet)-Standard der Foundation Fieldbus. Über ein Gateway Gl, das auch als Linking Device, Field Controller oder auch als Segment- Koppler bezeichnet wird, ist der Datenbus Dl mit einem Feldbus-Segment SMl verbunden. Das Feldbus-Segment SMl besteht aus mehreren Feldgeräten Fl, F2, F3, F4, die über einen Feldbus FB miteinander verbunden sind. Bei den Feldgeräten Fl, F2, F3, F4 kann es sich sowohl um Sensoren oder um Aktoren handeln. Der Feldbus FB arbeitet entsprechend nach einem der bekannten Kommunikationsstandards z.B. Profibus, Foundation Fieldbus oder HART.
[0031] In Fig. 2 ist ein Blockschaltbild eines erfindungsgemäßen Feldgerätes z. B. Fl näher dargestellt. Eine Prozessoreinheit CPU ist zur Messwertverarbeitung über einen Analog-Digital- Wandler A/D und einen Verstärker V mit einem Messaufnehmer MA, der eine Prozessvariable (z. B. Druck, Durchfluss oder Füllstand) erfasst, verbunden. Die Prozessoreinheit CPU ist mit mehreren Speichereinheiten verbunden. Ein RAM- Speicher dient als temporärer Arbeitspeicher, ein nichtflüchtiger EPROM-Speicher
oder FLASH-Speicher als Speicher für das in der Prozessoreinheit CPU auszuführende Steuerprogramm und ein EEPROM- Speicher als Speicher für Kalibrier- und Start- Parameterwerte insbesondere für das Setup Programm der Prozessoreinheit CPU.
[0032] Das Steuerprogramm definiert die anwendungsbezogene Funktionalität des Feldgerätes (Messwertberechnung, Hüllkurvenauswertung, Linearisierung der Messwerte, Diagnoseaufgaben)
[0033] Weiterhin ist die Prozessoreinheit CPU mit einer Anzeigebedieneinheit A/B (z.B. LC-Display mit 3-5 Drucktasten) verbunden.
[0034] Zur Kommunikation mit dem Feldbus-Segment SMl ist die Prozessoreinheit CPU über einen Kommunikationscontroller COM mit einer Feldbusschnittstelle FBS verbunden. Eine Versorgungseinheit NT liefert die notwendige Energie für die einzelnen Elektronik- Komponenten des Feldgerätes Fl. Die Versorgungsleitungen zu den einzelnen Komponenten sind der Übersichtlichkeit halber nicht eingezeichnet.
[0035] Alternativ erfolgt die Energieversorgung des Feldgerätes Fl nicht über die Feldbusschnittstelle FBS sondern über einen separaten Spannungsanschluss.
[0036] Eine UART Schnittstelle der Prozessoreinheit CPU ist mit einem
Servicesteckeranschluss SE, der bei herkömmlichen Feldgeräten als Kabelanschluss für eine tragbare Rechnereinheit RE z.B. Laptop dient, verbunden. Diese Schnittstelle am Feldgerät wird oft auch als Service-Schnittstelle S bezeichnet.
[0037] Über eine Rechnereinheit RE kann das Feldgerät Fl z. B. über die Service- Schnittstelle S bedient werden und konfiguriert werden.
[0038] Anhand von Fig. 3 ist die Erzeugung und die Verwendung eines Freischaltcodes FSC schematisch dargestellt.
[0039] Beim Feldgerätehersteller wird bei der Fertigung eines Feldgerätes aus der
Seriennummer SN (zB. FMU90-R22CA263AAla/84004D010E6) des betreffenden Feldgerätes und einer Freischaltoption x (z.B. 0x00000010) mit Hilfe eines privaten Schlüssels PrK (private key) geeigneter Länge, z.B. 128 Bit ein Freischaltcode FSC gewonnen.
[0040] Diese Verschlüsselung mit Hilfe eines Computerprogramms (PC-Tool) erfolgt in einem sicheren Bereich auf Seiten des Feldgeräteherstellers. Nur einem sehr kleinen Personenkreis darf der private Schlüssel PrK bekannt sein.
[0041] Zum Freischalten der Option X z. B. einer Gerinne-Durchflussmessung mit einem Ultraschall-Füllstandmessgerät erwirbt der Anwender vom Feldgerätehersteller den entsprechenden Freischaltcode FSC.
[0042] Dieser Freischaltcode FSC wird vom Anwender mit Hilfe einer Rechnereinheit RE
und einem entsprechenden Bedienprogramm (Bedientool) z. B. FieldCare in ein
Feldgerät z. B. das Feldgerät Fl übertragen. [0043] Im Feldgerät Fl wird der Freischaltcode FSC mit Hilfe eines im Feldgerät Fl gespeicherten öffentlichen Schlüssels PuK entschlüsselt. [0044] Im entschlüsselten Freischaltcode FSC liegen nun mindestens zwei Informationen vor, eine Seriennummer SN' und eine Freischaltoption x. [0045] Anschließend wird die aus dem Freischaltcode FSC gewonnene Seriennummer SN' mit der im Feldgerät Fl gespeicherten Seriennummer SN verglichen. [0046] Stimmen beide Seriennummern SN' und SN überein, so wird die zur
Freischaltoption x gehörende Funktionalität des Feldgerätes Fl freigeschaltet. [0047] In diesem Fall ist sichergestellt, dass der Freischaltcode für das betreffende Feldgerät bestimmt ist. [0048] Stimmen die beiden Seriennummern SN' und SN nicht überein, so ist der
Freischaltcode FSC nicht für das betreffende Feldgerät bestimmt und der Anwender ist nicht berechtigt die der Option x entsprechende Funktionalität des Feldgerätes Fl zu nutzen. [0049] Anstatt der Seriennummer SN kann auch eine andere gerätespezifische Information, die im Feldgerät abgespeichert ist, genutzt werden, um den Freischaltcode beim
Feldgerätehersteller zu erzeugen. [0050] Die Freischaltoption x kann auch eine Kombination von verschiedenen Optionen sein. [0051] Die Speicherung der Freischaltoption x im Feldgerät kann in einem entnehmbaren
Speicher erfolgen. [0052] Das erfindungsgemäße Verfahren ist sehr sicher. Eine Zurückgewinnung des privaten Schlüssels PrK ist bei geeigneter Länge unmöglich. Somit kann der
Freischaltcode FSC nur bei dem Feldgerät erfolgreich verwendet werden, das vom
Hersteller hierfür vorgesehen ist.
[0053] Eine unbefugte Nutzung von Freischaltcodes scheidet somit aus. [0054] Über ein Test- Tool TT, das der Feldgerätehersteller den Anwendern zur Verfügung stellt, kann der Anwender über die Eingabe des erworbenen Freischaltcodes FSC die entsprechende Freischaltoption und die dazu passende Seriennummer im Klartext anzeigen lassen. [0055] Bei dem Test-Tool kann es sich z. B. um eine Java- Skript- Anwendung, die auf einem
PC beim Anwender abläuft, handeln. [0056] Nach der Übertragung und Verifikation des Freischaltcodes FSC sowie Speicherung
der Freischaltoption x im Feldgerät Fl kann außerdem eine entsprechende Sonderfunktionalität an einem am Feldgerät Fl angeschlossenen Bedientool freigeschaltet werden. Der öffentliche Schlüssel PuK und das eingesetzte Verfahren können bedenkenlos bekannt gemacht werden. Unseriöse Anwender können aus diesen Informationen nicht den privaten Schlüssel PrK gewinnen um so Freischaltcodes für andere Feldgeräte zu generieren.
[0058] Tabelle 1
[0059]