[go: up one dir, main page]

DE10304877A1 - Procedure for installing a plug-in program - Google Patents

Procedure for installing a plug-in program Download PDF

Info

Publication number
DE10304877A1
DE10304877A1 DE10304877A DE10304877A DE10304877A1 DE 10304877 A1 DE10304877 A1 DE 10304877A1 DE 10304877 A DE10304877 A DE 10304877A DE 10304877 A DE10304877 A DE 10304877A DE 10304877 A1 DE10304877 A1 DE 10304877A1
Authority
DE
Germany
Prior art keywords
program
plug
key
manufacturer
data carrier
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.)
Withdrawn
Application number
DE10304877A
Other languages
German (de)
Inventor
Rolf Demitz
Klaus Geissler
Ernst LÜTHE
Wolfgang Maier-Hinze
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Corp
Original Assignee
Siemens Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens Corp filed Critical Siemens Corp
Priority to DE10304877A priority Critical patent/DE10304877A1/en
Priority to EP04708745A priority patent/EP1597671A2/en
Priority to PCT/EP2004/001120 priority patent/WO2004070610A2/en
Publication of DE10304877A1 publication Critical patent/DE10304877A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Installation eines Plug-in-Programms (426) in einem Gerät (400), mit folgenden Schritten: DOLLAR A - Übertragung einer Gerätekennung (422) des Geräts von dem Gerät zu einem Computer (430), DOLLAR A - Eingabe einer Herstellerkennung über eine Nutzerschnittstelle des Computers, DOLLAR A - Bildung eines ersten Schlüssels (436) aus der Gerätekennung und der Herstellerkennung, DOLLAR A - Lesen eines zweiten Schlüssels (428) von einem Datenträger (424), DOLLAR A - Vergleich der ersten und zweiten Schlüssel, DOLLAR A - falls die ersten und zweiten Schlüssel übereinstimmen: Übertragung des auf dem Datenträger gespeicherten Plug-in-Programms zu dem Gerät.The invention relates to a method for installing a plug-in program (426) in a device (400), comprising the following steps: DOLLAR A - transmission of a device identifier (422) of the device from the device to a computer (430), DOLLAR A - Entering a manufacturer ID via a user interface of the computer, DOLLAR A - forming a first key (436) from the device ID and the manufacturer ID, DOLLAR A - reading a second key (428) from a data carrier (424), DOLLAR A - comparing the first and second key, DOLLAR A - if the first and second keys match: transfer of the plug-in program stored on the data carrier to the device.

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Installation eines Plug-in-Programms, einen Datenträger mit einem Plug-in-Programm sowie ein Automatisierungssystem.The present invention relates to a procedure for installing a plug-in program using a disk a plug-in program and an automation system.

Aus dem Stand der Technik sind verschiedene Software-Schutzkonzepte bekannt, die zur Vermeidung einer unautorisierten Nutzung der zu schützenden Software dienen. Dabei gibt es zum einen hardwaregestützte Lösungen.Various are from the prior art Software protection concepts known to avoid unauthorized Use of the to be protected Serve software. On the one hand, there are hardware-based solutions.

Bei hardwaregestützten Lösungen ist beispielsweise der Anschluss eines so genannten Dongles an den Computer erforderlich, um die Ausführung der geschützten Software zu ermöglichen. Solche hardwaregestützten Software-Schutzkonzepte haben den Nachteil, dass sie relativ benutzerunfreundlich sind und ferner aus Kostengründen oftmals ausscheiden.For hardware-based solutions, for example Connection of a so-called dongle to the computer required about execution the protected Enable software. Such hardware-based Software protection concepts have the disadvantage that they are relatively user-unfriendly are and also for cost reasons often drop out.

Zum anderen ist es auch bekannt, Software mit einer Lizenznummer gegen unautorisierte Nutzung zu schützen. Hierzu muss bei der Installation der Software eine dem Kunden beim Kauf der Softwarelizenz mitgeteilte Lizenznummer in ein Eingabefenster des Set-up-Programms angegeben werden. Nachteilig bei einer solchen softwarebasierten Lösung ist, dass diese keinen hinreichenden Schutz gegen unautorisierte Benutzung bietet. Beispielsweise versagt ein solches softwaregestütztes Schutzkonzept, wenn der Kunde dieselbe Lizenznummer zur mehrfachen Installation der Software auf verschiedenen Rechnern verwendet oder gar die Lizenznummer an Dritte mitteilt.On the other hand, it is also known Software with a license number against unauthorized use protect. To do this, one must be provided to the customer when installing the software Purchase of the software license communicated license number in an input window of the set-up program. A disadvantage of such software-based solution is that this does not provide adequate protection against unauthorized Offers use. For example, such a software-based protection concept fails, if the customer has the same license number for multiple installation the software on different computers or even the license number Third party notifies.

Besondere Relevanz haben Software-Schutzkonzepte für so genannte offene Systeme. Ein offenes System besteht im Allgemeinen aus zumindest einer Basissoftware, deren Schnittstellen gegenüber Drittherstellern offen gelegt sind, sodass Dritthersteller interoperable Plug-ins für die Basissoftware erstellen können. Solche offenen Systemkonzepte werden insbesondere auch auf dem Gebiet der Automatisierungstechnik zur Realisierung offener Steuerungsarchitekturen basierend auf Hardware- und Softwarekomponenten verschiedenster Hersteller eingesetzt. Ein Beispiel für eine entsprechende Basissoftware ist OpenCNC (http://www.mdsi2.com/deutsch/gerbrochure.html).Software protection concepts are particularly relevant for like this called open systems. An open system generally exists from at least one basic software, whose interfaces to third-party manufacturers are disclosed, so that third-party interoperable plug-ins for the Can create basic software. Such open system concepts are also used in the area of Automation technology for the implementation of open control architectures based on various hardware and software components Manufacturer used. An example of a corresponding basic software is OpenCNC (http://www.mdsi2.com/deutsch/gerbrochure.html).

Das Produkt SIMATIC iMap der Firma Siemens AG (http://www.ad.siemens.de/cba/products/html 00/imap.html) dient zur anlagenweiten und herstellerübergreifenden Zusammenführung verteilter Anwendungen. Zuvor erstellte Softwarekomponenten werden in SIMATIC iMap importiert und in einer Bibliothek abgelegt. Über die offen gelegte Schnittstelle von SIMATIC iMap können die Komponenten für alle PROFInet-fähigen Geräte als Bibliothekselemente eingebunden werden.The product SIMATIC iMap from the company Siemens AG (http://www.ad.siemens.de/cba/products/html 00 / imap.html) is used for plant-wide and cross-manufacturer merging of distributed Applications. Previously created software components are in SIMATIC iMap imported and stored in a library. About the disclosed interface of SIMATIC iMap, the components can be used as library elements for all PROFInet-capable devices be involved.

Zum Softwareschutz der Basissoftware offener Systeme sowie der Plug-in-Programme für die Basissoftware können die an sich bekannten Software-Schutzkonzepte eingesetzt werden. Bei Einsatz unterschiedlicher Hardware und/oder Software basierter Schutzkonzepte durch die verschiedenen Softwarehersteller kann es zu Konflikten zwischen den einzelnen Schutzkonzepten kommen.For software protection of the basic software open systems and the plug-in programs for the basic software can known software protection concepts can be used. at Use of different hardware and / or software based protection concepts The various software manufacturers can lead to conflicts come between the individual protection concepts.

In manchen Fällen sind die Software-Schutzkonzepte nicht miteinander verträglich, sodass an sich sinnvolle Kombinationen von Komponenten nur aufgrund solcher Unverträglichkeiten nicht realisiert werden können. Auch bei Verträglichkeit der einzelnen Schutzkonzepte miteinander führt die Kombination der verschiedenen herstellerindividuellen Software-Schutzkonzepte unter Umständen zu schwer hantierbaren und benutzerunfreundlichen Systemen, die auch in ihrer Flexibilität eingeschränkt sind. Eine Einigung der verschiedenen Softwarehersteller auf ein einheitliches Software-Schutzkonzept zur Vermeidung dieser Nachteile ist im Allgemeinen nicht möglich, da hierzu das Schutzsystem beispielsweise des Herstellers der Basissoftware gegenüber den Drittherstellern offen gelegt werden müsste.In some cases, the software protection concepts not compatible with each other, so that sensible combinations of components only because of such intolerance cannot be realized. Even with tolerance The combination of the various protection concepts leads to the combination of the various manufacturer-specific software protection concepts difficult to handle and user-unfriendly systems that too in their flexibility limited are. An agreement between the various software manufacturers on one Uniform software protection concept to avoid these disadvantages is generally not possible because the protection system of the manufacturer of the basic software, for example across from should be disclosed to third party manufacturers.

Der Erfindung liegt daher die Aufgabe zugrunde, ein verbessertes Verfahren zur Installation eines Plug-in-Programms zu schaffen sowie einen Datenträger mit einem solchen Plug-in-Programm und einem Automatisierungssystem mit einem Gerät, auf dem das Plug-in-Programm installiert werden kann. Insbesondere soll hierdurch ein Software-Schutzkonzept geschaffen werden, das die Nachteile des Standes der Technik vermeidet.The invention is therefore the object based, an improved method for installing a plug-in program to create as well as a disk with such a plug-in program and an automation system with a device on which the plug-in program can be installed. In particular, this is intended to be a software protection concept be created that avoids the disadvantages of the prior art.

Die der Erfindung zugrunde liegenden Aufgaben werden jeweils durch die Merkmale der unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.The basis of the invention Tasks are solved by the features of the independent claims. preferred embodiments of the invention are in the dependent claims specified.

Der erfindungsgemäße Softwareschutz basiert auf einer Kombination einer Gerätekennung und einer Herstellerkennung. Über die Gerätekennung wird ein bestimmtes Gerät, auf dem die Nutzung des Plug-in-Programms autorisiert ist, eindeutig identifiziert. Beispielsweise kann die so genannte Media-Access-Control (MAC)-Adresse eines Geräts als eine solche Gerätekennung verwendet werden.The software protection according to the invention is based on a combination of a device identifier and a manufacturer ID. about the device identifier is a particular device, on which the use of the plug-in program is authorized, clearly identified. For example, the so-called media access control (MAC) address of a device as such a device identifier be used.

Diese Gerätekennung wird dem Softwarehersteller des Plug-in-Programms beispielsweise von dem Anwender mitgeteilt. Der Hersteller erzeugt dann aus dieser Gerätekennung und seiner Herstellerkennung einen Schlüssel. Dieser Schlüssel wird zusammen mit dem Plug-in-Programm auf einen Datenträger, wie z. B. eine CD-ROM, gespeichert.This device identifier becomes the software manufacturer of the plug-in program communicated by the user, for example. The manufacturer then creates from this device identifier and its manufacturer ID a key. This key is put together with the plug-in program on a data medium, such as B. a CD-ROM, saved.

Zur Installation des Plug-in-Programms wird dann beispielsweise wie folgt vorgegangen: Zunächst wird die Gerätekennung des Geräts abgefragt, auf dem das Plug-in-Programm installiert werden soll. Über eine Nutzerschnittstelle wird sodann die Herstellerkennung des Herstellers des zu installierenden Plug-in-Programms abgefragt.The installation of the plug-in program is then carried out as follows, for example: First, the device identifier of the device on which the plug-in program is installed is queried that should. The manufacturer identification of the manufacturer of the plug-in program to be installed is then queried via a user interface.

Aus der Gerätekennung und der Herstellerkennung wird wiederum mit demselben Verschlüsselungsverfahren ein Schlüssel gebildet. Der zuvor herstellerseitig gebildete Schlüssel, der auf dem Datenträger gespeichert ist, wird dann mit dem nutzerseitig bei der Installation erzeugten Schlüssel verglichen. Stimmen die beiden Schlüssel überein, so wird die Übertragung des Plug-in-Programms zu dem Gerät freigegeben, sodass es dort im Zusammenhang mit einer Basissoftware benutzt werden kann.From the device identifier and the manufacturer identifier a key is again formed using the same encryption method. The key previously created by the manufacturer and stored on the data carrier is then generated by the user during installation key compared. If the two keys match, the transfer is made released the plug-in program to the device, so it can be used there in conjunction with basic software can.

Diese Vorgehensweise bietet insbesondere die Möglichkeit, ein zweistufiges Software-Schutzkonzept zu realisieren:

  • – Die Basissoftware des offenen Systems kann durch ein proprietäres Schutzkonzept des Herstellers der Basissoftware geschützt werden. Eine Offenlegung dieses proprietären Schutzkonzepts der Basissoftware ist nicht erforderlich, da dieser Mechanismus ausschließlich zum Schutz der Basissoftware genutzt wird.
  • – Der Hersteller der Basissoftware bietet eine Softwareunterstützung an, beispielsweise in Form eines so genannten Wizards, um Drittherstellern ein einheitliches, komfortables Software-Schutzkonzept zum Schutz von deren Plug-in-Software zu bieten. Eine solche Softwareunterstützung kann Teil eines Developmentkits sein. Damit werden Unverträglichkeiten zwischen verschiedenen Software-Schutzkonzepten unterschiedlicher Dritthersteller vermieden, da alle Softwarekomponenten mit demselben Mechanismus geschützt werden und die Basissoftware gewährleistet, dass dieses Schutzkonzept mit dem der Basissoftware verträglich ist.
In particular, this procedure offers the possibility of implementing a two-stage software protection concept:
  • - The basic software of the open system can be protected by a proprietary protection concept from the manufacturer of the basic software. It is not necessary to disclose this proprietary protection concept of the basic software, since this mechanism is only used to protect the basic software.
  • - The manufacturer of the basic software offers software support, for example in the form of a so-called wizard, in order to offer third-party manufacturers a uniform, convenient software protection concept to protect their plug-in software. Such software support can be part of a development kit. This avoids incompatibilities between different software protection concepts from different third-party manufacturers, since all software components are protected with the same mechanism and the basic software ensures that this protection concept is compatible with that of the basic software.

Nach einer bevorzugten Ausführungsform der Erfindung handelt es sich bei dem Gerät, auf dem das Plug-in-Programm instal liert werden soll, um eine so genannte intelligente Kamera. Eine intelligente Kamera hat neben der eigentlichen Kamerafunktion eine Bildverarbeitungseinheit mit verschiedenen Bildverarbeitungsverfahren zur Extraktion von Bildmerkmalen. Solche intelligenten Kameras und Bildverarbeitungsprogramme sind an sich aus dem Stand der Technik bekannt (vergleiche das Produkt Provision der Firma Siemens AG, http://www.ad.siemens.de/machinevision/html_00/produkte/produkte/provis.htm).According to a preferred embodiment of the Invention is the device on which the plug-in program to be installed around a so-called intelligent camera. In addition to the actual camera function, an intelligent camera has one Image processing unit with various image processing methods for the extraction of image features. Such intelligent cameras and Image processing programs are inherently state of the art known (compare the product commission from Siemens AG, http://www.ad.siemens.de/machinevision/html_00/produkte/produkte/provis.htm).

Insbesondere unterstützt die Programmversion Provision V2.1 eine offene Schnittstelle für die Integration von selbst erstellten Plug-in-Prüfelementen, die genau wie alle Standard-Prüfelemente verwendet werden können. Auf diese Weise kann das Prüfprogramm unabhängig vom Standard-Funktionsumfang komfortabel projektiert werden.In particular, the Program version Provision V2.1 an open interface for integration self-made plug-in test elements, which is exactly like all standard test elements can be used. In this way the test program independently can be conveniently configured from the standard range of functions.

Die individuellen Prüfelemente können leicht in der Programmiersprache C++ erstellt und in Provision genutzt werden. Dadurch kann der Anwender den Komfort der Projektierung unter ProVision mit der Flexibilität einer Hochsprachen-Programmierung kombinieren. Viele SIMATIC Machine Vision Partnerfirmen haben bereits solche Plug-in-Prüfelemente entwickelt.The individual test elements can easily created in the programming language C ++ and used in commission become. This allows the user the convenience of configuration combine with ProVision with the flexibility of high-level language programming. Many SIMATIC Machine Vision partner companies already have such Plug-in test elements developed.

Die vorliegende Erfindung ermöglicht es also auf komfortable Art und Weise, z. B. ein weiteres Bildverarbeitungsverfahren für das Bildverarbeitungsprogramm als Plug-in zur Verfügung zu stellen, wobei die autorisierte Benutzung des Plug-in-Programms durch das erfindungsgemäße Software-Schutzkonzept gewährleistet ist.The present invention makes it possible So in a comfortable way, e.g. B. another image processing method for the To provide image processing program as a plug-in, the Authorized use of the plug-in program by the software protection concept according to the invention guaranteed is.

Für die Installation des Plug-in-Programms wird das Gerät vorzugsweise mit einem externen Computer, insbesondere einem üblichen Personalcomputer verbunden. Diese Verbindung kann über eine Netzwerkverbindung oder eine Busverbindung des Automatisierungssystems hergestellt werden, z. B. über einen Feldbus oder Profibus. Alternativ kann auch über ein separa tes Kabel oder drahtlos nur für die Zwecke der Installation zwischen dem Computer und dem Gerät eine lokale Verbindung hergestellt werden. Über diese Verbindung wird die Gerätekennung, also insbesondere die MAC-Adresse des Geräts, abgefragt und/oder es wird das Plug-in-Programm über diese Verbindung übertragen.For the installation of the plug-in program is preferred by the device connected to an external computer, in particular a conventional personal computer. This connection can be made via a Network connection or a bus connection of the automation system are produced, e.g. B. about a fieldbus or Profibus. Alternatively, a separate cable or wireless only for installation purposes a local connection is established between the computer and the device. About these Connection becomes the device identifier, in particular the MAC address of the device is queried and / or it is the plug-in program transfer this connection.

Nach einer bevorzugten Ausführungsform der Erfindung wird zur Durchführung einer Schlüsseltransformation ein so genannter Hash-Schlüssel aus der Gerätekennung und der Herstellerkennung gebildet. Zur Bildung dieser Hash-Schlüsseltransformation kommt eine Hash-Funktion zum Einsatz, die z. B. durch das Developmentkit für das Plug-in-Programm vorgegeben ist.According to a preferred embodiment of the Invention becomes implementation a key transformation a so-called hash key from the device identifier and the manufacturer identification. To form this hash key transformation a hash function is used, e.g. B. through the development kit for the Plug-in program is specified.

Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird aus der Gerätekennung und der Herstellerkennung mittels eines Cyclic-Redundancy-Check (CRC)-Verfahrens ein Schlüssel gebildet.According to a further preferred embodiment the invention is derived from the device identifier and the manufacturer identification by means of a cyclic redundancy check (CRC) process a key educated.

Das CRC-Verfahren ist ein geläufiges Verfahren zur Fehlererkennung bei der digitalen Signalübertragung. Zur Durchführung eines CRC-Verfahrens wird eine Nachrichtenkette mit Hilfe eines Schlüsselworts dividiert. Ein solches Schlüsselwort wird auch als Generatorpolynom bezeichnet. Das Schlüsselwort ist sowohl dem Sender als auch dem Empfänger bekannt. Der Divisionsrest bildet das so genannte Checkword, welches zur Überprüfung der Fehlerfreiheit der Nachrichtenübertragung dient. Ein CRC-Verfahren ist beispielsweise aus US 4,283,787 bekannt.The CRC method is a common method for error detection in digital signal transmission. To carry out a CRC process, a message chain is divided using a keyword. Such a keyword is also called a generator polynomial. The keyword is known to both the sender and the recipient. The remainder of the division forms the so-called checkword, which is used to check that the message transmission is error-free. A CRC procedure is, for example, out US 4,283,787 known.

Erfindungsgemäß wird dieses an sich aus dem Stand der Technik für die Fehlererkennung bei der digitalen Nachrichtenübertragung verwendete CRC-Verfahren zur Realisierung eines Software-Schutzkonzepts eingesetzt. Hierzu wird die Gerätekennung mit der Herstellerkennung zu einem String verkettet. Diese Verkettung wird dann durch ein Schlüsselwort dividiert. Der Divisionsrest dient als Schlüssel.According to the invention, this CRC method, which is used per se from the prior art for error detection in digital message transmission, is used to implement a software protection concept. For this purpose, the device identifier is linked to the manufacturer identifier to form a string. This concatenation is then divided by a keyword. The remainder of the division serves as Key.

Dieses Verfahren wird herstellerseitig angewendet, um den Schlüssel zu erzeugen, der auf dem Datenträger abgespeichert wird. Dasselbe Verfahren wird auch anwenderseitig mit demselben Schlüsselwort durchgeführt, um ein Checkword aus der von dem Gerät abgefragten Gerätekennung und der über die Nutzerschnittstelle eingegebenen Herstellerkennung zu bilden. Stimmt das auf dem Datenträger gespeicherte Checkword mit dem anwenderseitig gebildeten Checkword überein, 'so folgt daraus die Autorisierung der Nutzung des Plug-ins auf dem betreffenden Gerät.This process is made by the manufacturer applied to the key to generate that on disk is saved. The same procedure is also used by the user with the same keyword carried out, a checkword from the device identifier requested by the device and the one about the To form the user interface entered manufacturer ID. Right that on disk stored checkword matches the checkword created by the user, 'this follows from Authorization to use the plug-in on the device in question.

Im Weiteren werden bevorzugte Ausführungsbeispiele der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:In the following, preferred exemplary embodiments the invention explained in more detail with reference to the drawings. It demonstrate:

1 ein Flussdiagramm zur Erstellung eines erfindungsgemäßen Datenträgers, 1 2 shows a flowchart for creating a data carrier according to the invention,

2 ein Flussdiagramm zur Erzeugung eines Schlüssels zur Abspeicherung auf dem Datenträger, 2 a flowchart for generating a key for storage on the data carrier,

3 ein Flussdiagramm einer Installation des Plug-ins auf einem Gerät, 3 a flowchart of an installation of the plug-in on a device,

4 ein Blockdiagramm eines Automatisierungssystems mit einer intelligenten Kamera. 4 a block diagram of an automation system with an intelligent camera.

Die 1 zeigt die Schritte zur Erstellung eines Datenträgers mit einem Plug-in für eine Basissoftware und einem Software-Schutzmechanismus. In dem Schritt 100 wird das Plugin-Programm erstellt. Dies kann innerhalb einer Entwicklungsumgebung mit Hilfe eines so genannten Developmentkits erfolgen, welches von dem Hersteller der Basissoftware dem Dritthersteller des Plug-ins zur Verfügung gestellt wird. Dieses Developmentkit beinhaltet einen Plug-in-Wizard mit einem Verschlüsselungsverfahren. Dieses Verschlüsselungsverfahren wird vorzugsweise nur als Binärcode weitergegeben, um den Softwareschutz der Plug-in-Komponenten der Dritthersteller zu gewährleisten.The 1 shows the steps for creating a data carrier with a plug-in for basic software and a software protection mechanism. In step 100, the plug-in program is created. This can be done within a development environment with the help of a so-called development kit, which is made available by the manufacturer of the basic software to the third-party manufacturer of the plug-in. This development kit includes a plug-in wizard with an encryption process. This encryption method is preferably only passed on as binary code in order to ensure the software protection of the plug-in components of the third-party manufacturers.

Nach der Programmierung des Plug-in-Programms in dem Schritt 100 wird das Verschlüsselungsverfahren des Plug-in-Wizards in dem Schritt 102 gestartet.After programming the plug-in program in step 100 the encryption process of the plug-in wizard started in step 102.

In dem Schritt 102 erscheint ein Eingabefenster mit der Aufforderung zur Eingabe der Drittherstellerkennung. Nach dieser Eingabe erscheint in dem Schritt 104 ein weiteres Eingabefenster mit der Eingabeaufforderung einer eindeutigen Gerätekennung des für die Benutzung des Plug-ins autorisierten Geräts. Bei dieser Gerätekennung handelt es sich vorzugsweise um die MAC-Adresse des autorisierten Geräts. Diese wird dem Dritthersteller von dem Anwender mitgeteilt. Der Dritthersteller gibt diese MAC-Adresse in das Eingabefenster ein.A appears in step 102 Entry window with the request to enter the third-party identification. After this entry, a further input window appears in step 104 with the prompt for a unique device identifier of for the use of the plug-in authorized device. With this device identifier it is preferably the MAC address of the authorized one Device. This is communicated to the third party manufacturer by the user. The Third-party manufacturers enter this MAC address in the input window.

In dem Schritt 106 erfolgt danach eine Verschlüsselung der MAC-Adresse und der Herstellerkennung mittels einer Schlüsseltransformation des Verschlüsselungsverfahrens des Plug-in-Wizards.This is followed in step 106 an encryption the MAC address and the manufacturer identification by means of a key transformation the encryption process the plug-in wizard.

In dem Schritt 108 wird das Plug-in-Programm mit dem in dem Schritt 106 erzeugten Schlüssel auf einem Datenträger gespeichert.In step 108 the plug-in program stored on a data carrier with the key generated in step 106.

Die 2 zeigt ein Beispiel für die Durchführung eines Verschlüsselungsverfahrens in dem Schritt 106. Zur Durchführung des Verschlüsselungsverfahrens wird in dem Schritt 200 eine Verkettung aus der MAC-Adresse und der Drittherstellerkennung gebildet. In dem Schritt 202 wird diese Verkettung mittels eines Schlüsselworts dividiert. Das Schlüsselwort ist geheim und Teil des Verschlüsselungsverfahrens des Plug-in-Wizards. Bei diesem Schlüsselwort handelt es sich um ein so genanntes Generatorpolynom, wie es an sich von CRC-Verfahren bekannt ist.The 2 shows an example for the implementation of an encryption method in step 106. To carry out the encryption method, a chain is formed in step 200 from the MAC address and the third-party identification. In step 202, this concatenation is divided using a keyword. The keyword is secret and part of the encryption process of the plug-in wizard. This key word is a so-called generator polynomial, as is known per se from CRC methods.

Der Divisionsrest der Division der Verkettung durch das Generatorpolynom in dem Schritt 202 ist das Ergebnis der Schlüsseltransformation, d. h. das so genannte Checkword. Dieses wird in dem Schritt 204 zur Abspeicherung auf dem Datenträger ausgegeben. Von besonderem Vorteil ist der Einsatz dieses CRC-Check-Verfahrens besonders bei Anwendungen mit hohen Performance-Anforderungen, wie beispielsweise in der Bildverarbeitung, da das CRC-Check-Verfahren besonders schnell arbeitet. Alternativ können auch Hash-Verfahren zum Einsatz kommen, die ebenfalls schnell sind.The remainder of the division of the This is concatenation by the generator polynomial in step 202 Result of the key transformation, d. H. the so-called checkword. This is done in step 204 issued for storage on the data carrier. Of particular The use of this CRC check procedure is particularly advantageous for Applications with high performance requirements, such as in image processing because the CRC check process is particularly fast is working. Alternatively, you can hash methods are also used, which are also fast.

Die 3 zeigt die Vorgehensweise zur Installation des Plug-in-Programms auf einem Gerät. In dem Schritt 300 wird der Datenträger in ein entsprechendes Lesegerät eines Personalcomputers eingeführt. Alternativ kann auch z. B. über eine Internetverbindung auf den Datenträger, z. B. die Festplatte eines Servers des Drittherstellers, zugegriffen werden.The 3 shows the procedure for installing the plug-in program on a device. In step 300, the data carrier is inserted into a corresponding reading device of a personal computer. Alternatively, e.g. B. over an Internet connection to the disk, for. B. the hard drive of a third-party server can be accessed.

In dem Schritt 302 wird das Set-up-Programm zur Installation des Plug-in-Programms gestartet. Daraufhin wird in dem Schritt 304 eine Verbindung zwischen dem Personalcomputer und dem Gerät, auf dem das Plug-in installiert werden soll, hergestellt.In step 302 the set-up program started to install the plug-in program. Thereupon will in step 304 a connection between the personal computer and the device, on which the plug-in is to be installed.

In dem Schritt 306 wird die MAC-Adresse von dem Gerät abgefragt und über die Verbindung zu dem Personalcomputer übertragen. In dem Schritt 308 erscheint auf dem Bildschirm des Personalcomputers ein Eingabefenster mit der Aufforderung zur Eingabe der Drittherstellerkennung des zu installierenden Plug-ins. Diese Drittherstellerkennung wird beispielsweise über die Tastatur des Personalcomputers von dem Anwender eingegeben.In step 306, the MAC address of the device queried and about transfer the connection to the personal computer. At step 308 an input window appears on the personal computer screen with the request for the third party identification of the plug-ins to be installed. This third party identification is, for example, via the Keyboard of the personal computer entered by the user.

In dem Schritt 310 erfolgt sodann die Verschlüsselung der in dem Schritt 306 von dem Gerät abgefragten MAC-Adresse und der in dem Schritt 308 eingegebenen Drittherstellerkennung. Das in dem Schritt 310 zur Anwendung kommende Verschlüsselungsverfahren ist dasselbe wie das Verschlüsselungsverfahren des Schritts 106 (vergleiche 1).In step 310, the MAC address queried by the device in step 306 and the third-party identification entered in step 308 are then encrypted. The encryption method used in step 310 is the same as the encryption method in step 106 (compare 1 ).

In dem Schritt 312 wird geprüft, ob der in dem Schritt 108 (vergleiche 1) auf dem Datenträger gespeicherte Schlüssel mit dem in dem Schritt 310 erzeugten Schlüssel identisch ist. Falls dies nicht der Fall ist, wird in dem Schritt 314 über die Nutzerschnittstelle ein entsprechender Hinweis für den Anwender ausgegeben. Die Ablaufsteuerung geht von dort zu dem Schritt 308 zurück, um dem Anwender einen erneuten Eingabeversuch für die korrekte Drittherstellerkennung zu gewähren.In step 312 it is checked whether that in step 108 (compare 1 ) key stored on the data carrier with the in the step 310 generated key is identical. If this is not the case, a corresponding message for the user is output in step 314 via the user interface. From there, the sequence control goes back to step 308 in order to grant the user a renewed input attempt for the correct third-party identification.

Wenn in dem Schritt 312 festgestellt wird, dass die Schlüssel in der Tat identisch sind, erfolgt in dem Schritt 316 eine Übertragung des Plug-in-Programms von dem Datenträger zu dem Gerät, sodass das Plug-in-Programm in dem Gerät in Verbindung mit der Basissoftware benutzt werden kann.If determined in step 312 is that the key are indeed identical, a transmission takes place in step 316 of the plug-in program from the data carrier to the device, so that the Plug-in program in the device can be used in conjunction with the basic software.

Die 4 zeigt ein Blockdiagramm eines Automatisierungssystems. Das Automatisierungssystem hat eine intelligente Kamera 400 mit einem CCD-Kameramodul 402 zur Lieferung von Bilddaten 404.The 4 shows a block diagram of an automation system. The automation system has an intelligent camera 400 with a CCD camera module 402 for the delivery of image data 404 ,

Das Kameramodul 402 ist mit einer Bildverarbeitungseinheit 406 verbunden, welche in die intelligente Kamera 400 integriert ist. In der Bildverarbeitungseinheit 406 ist ein Bildverarbeitungsprogramm 408 installiert. Bei dem Bildverarbeitungsprogramm 408 handelt es sich um eine Basissoftware, die von dem Hersteller der intelligenten Kamera 400 mitgeliefert wird.The camera module 402 is with an image processing unit 406 connected which in the intelligent camera 400 is integrated. In the image processing unit 406 is an image processing program 408 Installed. With the image processing program 408 it is basic software developed by the manufacturer of the intelligent camera 400 is included.

Im Umfang dieser Basissoftware sind bereits die Bildverarbeitungsverfahren 410, 412, ... für gängige Bildverarbeitungsanwendungen beinhaltet. Beispielsweise dient das Bildverarbeitungsverfahren 410 zur Erkennung eines Barcodes. Das Bildverarbeitungsverfahren 412 dient beispielsweise zur Erkennung eines Füllstands und zum Vergleich des erkannten Füllstands mit einem Sollfüllstand.The image processing methods are already included in the scope of this basic software 410 . 412 , ... for common image processing applications. For example, the image processing method is used 410 to recognize a barcode. The image processing method 412 is used, for example, to identify a fill level and to compare the detected fill level with a target fill level.

Als Ergebnis der Bildverarbeitung gibt die Bildverarbeitungseinheit 406 Bildmerkmale 414 über eine Schnittstelle 416, z. B. an ein Netzwerk 418 des Automatisierungssystems, aus, sodass die Bildmerkmale 414 zu einer Automatisierungskomponente 420 übertragen werden können.As a result of the image processing, the image processing unit returns 406 image features 414 via an interface 416 , e.g. B. to a network 418 of the automation system, so that the image features 414 to an automation component 420 can be transferred.

Wenn das Bildverarbeitungsverfahren 410 zur Anwendung kommt, handelt es sich bei den Bildmerkmalen 414 beispielsweise um den erkannten Barcode. Im Fall des Bildverarbeitungsverfahrens 412 handelt es sich dagegen um die Information, ob der erkannte Füllstand in einem Sollbereich liegt oder ob der Füllstand oberhalb oder unterhalb des Sollbereichs liegt. Mit Hilfe dieser Information kann die Automatisierungskomponente 420 eine entsprechende Nachregelung veranlassen.If the image processing method 410 is used, it concerns the image features 414 for example, the recognized barcode. In the case of the image processing method 412 on the other hand, it is the information as to whether the level detected is in a target range or whether the level is above or below the target range. The automation component can use this information 420 arrange for a corresponding readjustment.

Die intelligente Kamera 400 hat ferner einen Speicher 422, in dem die MAC-Adresse als Gerätekennung der intelligenten Kamera 400 gespeichert ist.The intelligent camera 400 also has a memory 422 , in which the MAC address as the device identifier of the intelligent camera 400 is saved.

Für den Fall, dass die im Basisumfang des Bildverarbeitungsprogramms 408 beinhalteten Bildverarbeitungsverfahren 410, 412, ... für den Anwender nicht ausreichend sind, kann dieser ein spezialisiertes Bildverarbeitungsverfahren für eine Spezialanwendung von einem Dritthersteller zukaufen. Von dem Dritthersteller wird beispielsweise ein Datenträger 424 geliefert, auf dem ein spezialisiertes Bildverarbeitungsverfahren 426 in der Form eines Plug-ins für das Bildverarbeitungsprogramm 408 gespeichert ist. Ferner ist auf dem Datenträger 424 ein Schlüssel 428 gespeichert. Der Datenträger 424 wird dabei beispielsweise nach dem in der 1 gezeigten Verfahren von dem Dritthersteller erstellt.In the event that the basic scope of the image processing program 408 included image processing methods 410 . 412 , ... are not sufficient for the user, he can buy a specialized image processing method for a special application from a third party manufacturer. For example, a data carrier is supplied by the third-party manufacturer 424 delivered on which a specialized image processing method 426 in the form of a plug-in for the image processing program 408 is saved. It is also on the disk 424 a key 428 saved. The disk 424 is, for example, after the in the 1 shown procedure created by the third party manufacturer.

Zur Installation des Bildverarbeitungsverfahrens 426 ist ein Personalcomputer 430 vorgesehen. Auf dem Personalcomputer 430 läuft ein Set-up-Programm 432, welches beispielsweise von dem Datenträger 424 in den Personalcomputer 430 geladen worden ist. Das Set-up-Programm 432 beinhaltet ein Programmmodul 434 mit einer Ablaufsteuerung zur Realisierung eines Installations-Wizards. Ferner hat das Set-up-Programm 432 ein Verschlüsselungsmodul 436 zur Realisierung der Verschlüsselung, die auch zur Erzeugung des Schlüssels 428 verwendet worden ist. Ferner hat das Set-up-Programm 432 ein Vergleichsmodul 438. Über eine Nutzerschnittstelle 440, z. B. über eine Tastatur, kann der Anwender eine Drittherstellerkennung 442 eingeben.To install the image processing system 426 is a personal computer 430 intended. On the personal computer 430 is running a set-up program 432 which, for example, from the data carrier 424 in the personal computer 430 has been loaded. The set-up program 432 includes a program module 434 with a sequential control system to implement an installation wizard. Furthermore, the set-up program 432 an encryption module 436 to implement encryption, which is also used to generate the key 428 has been used. Furthermore, the set-up program 432 a comparison module 438 , Via a user interface 440 , e.g. B. via a keyboard, the user can use a third-party recognition 442 enter.

Zur Installation des Bildverarbeitungsverfahrens 426 auf der intelligenten Kamera 400 wird wie folgt vorgegangen:
Der Anwender legt den Datenträger 424 in ein entsprechendes Lesegerät des Personalcomputers 430 ein. Alternativ wird eine Datenverbindung zwischen dem PC 430 und z. B. einem Server des Drittherstellers aufgebaut, um von dem PC 430 aus auf einen serverseitig vorhandenen Datenträger mit dem Bildverarbeitungsverfahren 426 und dem Schlüssel 428 zugreifen zu können.
To install the image processing system 426 on the smart camera 400 the procedure is as follows:
The user places the disk 424 into an appropriate reader on the personal computer 430 on. Alternatively, a data connection between the PC 430 and Z. B. a third-party server built to from the PC 430 on a data carrier on the server side with the image processing method 426 and the key 428 to be able to access.

Z. B. wird von dem Datenträger 424 das Set-up-Programm 432 geladen und auf dem Personalcomputer 430 gestartet. Der Anwender wird dann aufgefordert, über die Nutzerschnittstelle 440 dasjenige Gerät des Automatisierungssystems zu identifizieren, auf dem das zusätzliche Plug-in-Programm installiert werden soll. In dem hier betrachteten Beispielfall gibt der Anwender hierzu z. B. grafisch interaktiv die intelligente Kamera 400 an. Hierzu kann auf der Nutzerschnittstelle beispielsweise ein Blockdiagramm des Automatisierungssystems angezeigt werden, aus dem der Anwender z. B. durch Anklicken das Gerät auswählt, auf dem das Plug-in installiert werden soll.For example, from the disk 424 the set-up program 432 loaded and on the personal computer 430 started. The user is then prompted through the user interface 440 identify the device of the automation system on which the additional plug-in program is to be installed. In the example case considered here, the user gives z. B. graphically interactive the intelligent camera 400 on. For this purpose, for example, a block diagram of the automation system can be displayed on the user interface. B. Click to select the device on which the plug-in is to be installed.

Das Set-up-Programm 432 fragt dann die MAC-Adresse von dem von dem Anwender ausgewählten Gerät des Automatisierungssystems ab, d. h. in dem hier betrachteten Fall von der intelligenten Kamera 400. Aufgrund dieser Abfrage greift die Bildverarbeitungseinheit 406 auf den Speicher 422 zu, liest die MAC-Adresse aus dem Speicher 422 aus und überträgt diese über die Schnittstelle 416 und das Netzwerk 418 zu dem Personalcomputer 430.The set-up program 432 then asks the MAC address of the device of the automation system selected by the user, ie in the case considered here by the intelligent camera 400 , The image processing unit intervenes on the basis of this query 406 on the store 422 reads the MAC address from the memory 422 and transmits them via the interface 416 and the network 418 to the personal computer 430 ,

Über die Nutzerschnittstelle 440 fordert das Set-up-Programm 432 den Anwender zur Eingabe der Drittherstellerkennung 442 desjenigen Drittherstellers, der das Bildverarbeitungsverfahren 426 erstellt hat, auf. Mit Hilfe der Drittherstellerkennung 442 und der MAC-Rdresse aus dem Speicher 422 wird mittels des Verschlüsselungsmoduls 436 durch das Set-up-Programm 432 eine Schlüsseltransformation durchgeführt.Via the user interface 440 demands the set-up program 432 the user to enter the third party identification 442 of that third party stellers, the image processing method 426 created on. With the help of third party identification 442 and the MAC address from the memory 422 is by means of the encryption module 436 through the set-up program 432 performed a key transformation.

Der resultierende Schlüssel wird durch das Vergleichsmodul 438 mit dem Schlüssel 428 des Datenträgers 424 verglichen. Stimmen beide Schlüssel überein, so ist die Nutzung des Bildverarbeitungsverfahrens 426 als Plug-in des Bildverarbeitungsprogramms 408 auf der intelligenten Kamera 400 autorisiert und es erfolgt daraufhin eine Übertragung des entsprechenden Plug-ins, d. h. des Bildverarbeitungsverfahrens 426 von dem Personalcomputer 430 über das Netzwerk 418 an die intelligente Kamera 400. Dort kann das Bildverarbeitungsverfahren 426 als Plug-in für das Bildverarbeitungsprogramm 408 für die vom Anwender gewünschte Spezialanwendung im Weiteren benutzt werden.The resulting key is used by the comparison module 438 with the key 428 of the disk 424 compared. If both keys match, then the image processing method is used 426 as a plug-in of the image processing program 408 on the smart camera 400 authorized and the corresponding plug-in, ie the image processing method, is then transferred 426 from the personal computer 430 over the network 418 to the intelligent camera 400 , There the image processing method 426 as a plug-in for the image processing program 408 can be used for the special application desired by the user.

Dieser Vorgang lässt sich wiederholt für verschiedene Bildverarbeitungsverfahren oder andere Plug-ins zur Realisierung von Spezialanwendungen wiederholen, wodurch ein höchstes Maß an Flexibilität zur Anpassung des Automatisierungssystems an neue Anwendungen gegeben ist.This process can be repeated for different Image processing methods or other plug-ins for implementation Repeat from special applications, providing the highest level of flexibility for customization of the automation system to new applications.

Claims (17)

Verfahren zur Installation eines Plug-in-Programms (426) in einem Gerät (400), mit folgenden Schritten: – Übertragung einer Gerätekennung (422) des Geräts von dem Gerät zu einem Computer (430), – Eingabe einer Herstellerkennung (442) über eine Nutzerschnittstelle (440) des Computers, – Bildung eines ersten Schlüssels (436) aus der Gerätekennung (422) und der Herstellerkennung (442), – Lesen eines zweiten Schlüssels (428) von einem Datenträger (424), – Vergleich der ersten und zweiten Schlüssel, – falls die ersten und zweiten Schlüssel übereinstimmen: Übertragung des auf dem Datenträger gespeicherten Plug-in-Programms zu dem Gerät (400).Procedure for installing a plug-in program ( 426 ) in one device ( 400 ), with the following steps: - Transmission of a device identifier ( 422 ) the device from the device to a computer ( 430 ), - Enter a manufacturer ID ( 442 ) via a user interface ( 440 ) of the computer, - formation of a first key ( 436 ) from the device identifier ( 422 ) and the manufacturer identification ( 442 ), - read a second key ( 428 ) from a data carrier ( 424 ), - comparison of the first and second keys, - if the first and second keys match: transmission of the plug-in program stored on the data carrier to the device ( 400 ). Verfahren nach Anspruch 1, wobei es sich bei dem Gerät um eine intelligente Kamera mit einem Bildverarbeitungsprogramm (408) handelt, wobei das Plug-in-Programm für das Bildverarbeitungsprogramm vorgesehen ist.The method of claim 1, wherein the device is an intelligent camera with an image processing program ( 408 ), whereby the plug-in program is intended for the image processing program. Verfahren nach Anspruch 1 oder 2, wobei es sich bei dem Plug-in-Programm um ein Bildverarbeitungsverfahren handelt.The method of claim 1 or 2, wherein it is the plug-in program is an image processing method. Verfahren nach einem der vorhergehenden Ansprüche 1, 2 oder 3, wobei es sich bei der Gerätekennung um die Media-Access-Control (MAC)-Adresse des Geräts handelt.Method according to one of the preceding claims 1, 2 or 3, where the device identifier is the Media Access Control (MAC) address of the device is. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 4, wobei die Übertragung der Gerätekennung und/oder die Übertragung des Plug-in-Programms über eine Netzwerkverbindung (418) oder eine Busverbindung erfolgt, insbesondere über einen Profibus oder Feldbus.Method according to one of the preceding claims 1 to 4, wherein the transmission of the device identifier and / or the transmission of the plug-in program via a network connection ( 418 ) or there is a bus connection, especially via a Profibus or fieldbus. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 5, wobei es sich bei dem ersten Schlüssel um einen Hash-Schlüssel handelt.Method according to one of the preceding claims 1 to 5, the first key being a hash key. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 6, wobei der erste Schlüssel nach einem Cyclic-Redundancy-Check (CRC)-Verfahren gebildet wird.Method according to one of the preceding claims 1 to 6, the first key is formed after a cyclic redundancy check (CRC) process. Verfahren nach Anspruch 7, wobei zur Durchführung des CRC-Verfahrens die Gerätekennung (422) und die Herstellerkennung miteinander verkettet werden und die Verkettung durch ein Schlüsselwort dividiert wird, wobei es sich bei dem Ergebnis der Division um das erste Schlüsselwort (436) handelt.A method according to claim 7, wherein for performing the CRC method the device identifier ( 422 ) and the manufacturer ID are linked together and the chaining is divided by a keyword, the result of the division being the first keyword ( 436 ) acts. Datenträger mit einem Plug-in-Programm (426) und einem Schlüssel (428), wobei der Schlüssel aus einer Gerätekennung (422) und einer Herstellerkennung gebildet ist.Data carrier with a plug-in program ( 426 ) and a key ( 428 ), where the key comes from a device identifier ( 422 ) and a manufacturer ID is formed. Datenträger nach Anspruch 9, wobei es sich bei dem Schlüssel um einen Hash-Schlüssel handelt.disk The claim 9, wherein the key is a hash key. Datenträger nach Anspruch 9, wobei es sich bei dem Schlüssel um das Checkword eines Cyclic-Redundancy-Check (CRC)-Verfahrens handelt.disk according to claim 9, wherein the key is the checkword of a Cyclic Redundancy Check (CRC) procedure. Datenträger nach Anspruch 9, 10 oder 11, mit einem Installationsprogramm zur Durchführung der folgenden Schritte: – Abfrage einer Gerätekennung (422) von einem Gerät (400), – Eingabe einer Herstellerkennung über eine Nutzerschnittstelle (440), – Bildung eines Schlüssels (436) aus der Gerätekennung und der Herstellerkennung, – Vergleich (438) des Schlüssels mit dem auf dem Datenträger gespeicherten Schlüssel, – Übertragung (418) des auf dem Datenträger gespeicherten Plug-in-Programms zu dem Gerät.Data carrier according to claim 9, 10 or 11, with an installation program for performing the following steps: - Querying a device identifier ( 422 ) from a device ( 400 ), - Entering a manufacturer ID via a user interface ( 440 ), - formation of a key ( 436 ) from the device identifier and the manufacturer identifier, - comparison (438) of the key with the key stored on the data carrier, - transmission ( 418 ) of the plug-in program stored on the data medium for the device. Datenträger nach einem der vorhergehenden Ansprüche 9 bis 12, wobei es sich bei der Gerätekennung um die Media-Access-Control (MAC)-Kennung des Geräts, für das das Plug-in-Programm vorgesehen ist, handelt.disk according to one of the preceding claims 9 to 12, wherein it is in device identification the media access control (MAC) identifier of the device, for the the plug-in program is provided acts. Datenträger nach einem der vorhergehenden Ansprüche 9 bis 13, wobei es sich bei dem Plug-in-Programm um ein Bildverarbeitungsverfahren (428) für ein Bildverarbeitungsprogramm (408) des Geräts handelt.Data carrier according to one of the preceding claims 9 to 13, wherein the plug-in program is an image processing method ( 428 ) for an image processing program ( 408 ) of the device. Automatisierungssystem mit einem Gerät (400), welches eine Gerätekennung (422) aufweist, wobei das Gerät Mittel (406) zur Ausführung eines Programms (408) hat, und mit einem mit dem Gerät verbindbaren Computer (430) mit Mitteln zum Lesen eines Datenträgers (424), wobei auf dem Datenträger ein Plug-in (426) für das Programm (408) gespeichert ist, und mit einem Installationsprogramm (432) zur Durchführung der folgenden Schritte: – Übertragung einer Gerätekennung (422) des Geräts von dem Gerät zu einem Computer (430), – Eingabe einer Herstellerkennung über eine Nutzerschnittstelle des Computers, – Bildung eines ersten Schlüssels (436) aus der Gerätekennung und der Herstellerkennung, – Lesen eines zweiten Schlüssels (428) von einem Datenträger (424), – Vergleich der ersten und zweiten Schlüssel, – falls die ersten und zweiten Schlüssel übereinstimmen: Übertragung des auf dem Datenträger gespeicherten Plug-in-Programms zu dem Gerät.Automation system with one device ( 400 ), which is a device identifier ( 422 ), wherein the device means ( 406 ) to execute a program ( 408 ) and with a computer that can be connected to the device ( 430 ) with means for reading a data carrier ( 424 ), with a plug-in ( 426 ) for the program ( 408 ) is saved, and with an installation program ( 432 ) to carry out the following steps: - transmission of a device identifier ( 422 ) the device from the device to a computer ( 430 ), - entering a manufacturer ID via a user interface of the computer, - forming a first key ( 436 ) from the device identifier and the manufacturer identifier, - reading a second key ( 428 ) from a data carrier ( 424 ), - comparison of the first and second keys, - if the first and second keys match: transmission of the plug-in program stored on the data carrier to the device. Automatisierungssystem nach Anspruch 15, wobei es sich bei dem Gerät um eine intelligente Kamera (400) handelt.Automation system according to claim 15, wherein the device is an intelligent camera ( 400 ) acts. Automatisierungssystem nach Anspruch 15 oder 16 mit einem Netzwerk (418) oder einem Bussystem zur Übertragung der Gerätekennung und/oder des Plug-in-Programms.Automation system according to claim 15 or 16 with a network ( 418 ) or a bus system for transferring the device ID and / or the plug-in program.
DE10304877A 2003-02-06 2003-02-06 Procedure for installing a plug-in program Withdrawn DE10304877A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10304877A DE10304877A1 (en) 2003-02-06 2003-02-06 Procedure for installing a plug-in program
EP04708745A EP1597671A2 (en) 2003-02-06 2004-02-06 Method for installing a plug-in program
PCT/EP2004/001120 WO2004070610A2 (en) 2003-02-06 2004-02-06 Method for installing a plug-in program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10304877A DE10304877A1 (en) 2003-02-06 2003-02-06 Procedure for installing a plug-in program

Publications (1)

Publication Number Publication Date
DE10304877A1 true DE10304877A1 (en) 2004-08-19

Family

ID=32730821

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10304877A Withdrawn DE10304877A1 (en) 2003-02-06 2003-02-06 Procedure for installing a plug-in program

Country Status (3)

Country Link
EP (1) EP1597671A2 (en)
DE (1) DE10304877A1 (en)
WO (1) WO2004070610A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014076116A1 (en) * 2012-11-14 2014-05-22 Siemens Aktiengesellschaft Manipulation-proof installation of building control software in authorised runtime environments

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005043162A1 (en) * 2005-09-12 2007-03-15 Robert Bosch Gmbh System for deploying applications
CN116781424B (en) * 2023-08-21 2023-11-24 广东咏声动漫股份有限公司 Animation plug-in authorization configuration method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866769A (en) * 1987-08-05 1989-09-12 Ibm Corporation Hardware assist for protecting PC software
US5199066A (en) * 1989-04-18 1993-03-30 Special Effects Software, Inc. Method and apparatus for protecting software
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014076116A1 (en) * 2012-11-14 2014-05-22 Siemens Aktiengesellschaft Manipulation-proof installation of building control software in authorised runtime environments
US9858061B2 (en) 2012-11-14 2018-01-02 Siemens Schweiz Ag Tamperproof installation of building control software in approved runtime environments

Also Published As

Publication number Publication date
WO2004070610A3 (en) 2005-11-17
EP1597671A2 (en) 2005-11-23
WO2004070610A2 (en) 2004-08-19

Similar Documents

Publication Publication Date Title
DE69833022T2 (en) LOADING APPLICATIONS INTO A DIGITAL DECODER
DE69531278T2 (en) Method and device for loading a protected memory zone in a data processing device
EP1133849B1 (en) Method and device for generating an encoded user data stream and method and device for decoding such a data stream
DE69730276T2 (en) Apparatus and method for facilitating the avoidance of exceptional specific conditions during the course of a program
DE69021935T2 (en) Procedure for verifying the integrity of a program or data and means for performing this procedure.
WO1997001147A2 (en) Method of simplifying communication with chip cards
WO2004097734A2 (en) Data processing method
DE19963471B4 (en) Apparatus and method for preventing piracy of computer programs
WO1999008446A1 (en) Transcoder for decoding encoded tv programs
WO2010060985A2 (en) Method system and simulation or analysis model for data processing
DE102005009621A1 (en) Circuit, apparatus and method for receiving, conditional access and copy protection of digital video transmission signals
EP2673731B1 (en) Method for programming a mobile terminal chip
WO2003003201A2 (en) Method for transmitting software modules
EP1358571B1 (en) Data processing device
DE10065684A1 (en) System and method for granting permission to run a program installed on a computer
DE10304877A1 (en) Procedure for installing a plug-in program
EP1604505B1 (en) Loading media data into a portable data carrier
WO2003083650A2 (en) Device and method for automatically generating automation software
DE112006000349T5 (en) Combined command and data code
EP3497606B1 (en) Individual encryption of control commands
WO2007009859A1 (en) Method for exporting rights to use to electronic data objects
EP2184695A1 (en) Method of combining data with a device to be used for processing data, corresponding functionality to execute the individual steps in the procedure and computer program to implement the procedure
EP2486489B1 (en) Portable data carrier having additional functionality
WO2007113163A1 (en) Improved digital rights management for domains
EP0977160B1 (en) Method and data processing device for the reliable execution of instructions

Legal Events

Date Code Title Description
8141 Disposal/no request for examination