WO2014076116A1 - Manipulationssicheres installieren von gebäudesteuerungssoftware in freigegebenen laufzeitumgebungen - Google Patents
Manipulationssicheres installieren von gebäudesteuerungssoftware in freigegebenen laufzeitumgebungen Download PDFInfo
- Publication number
- WO2014076116A1 WO2014076116A1 PCT/EP2013/073696 EP2013073696W WO2014076116A1 WO 2014076116 A1 WO2014076116 A1 WO 2014076116A1 EP 2013073696 W EP2013073696 W EP 2013073696W WO 2014076116 A1 WO2014076116 A1 WO 2014076116A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- runtime environment
- identity
- lui
- file
- Prior art date
Links
- 238000009434 installation Methods 0.000 title abstract description 3
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims abstract description 7
- 238000013475 authorization Methods 0.000 claims abstract description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Definitions
- the invention relates to a method for installing building control software.
- the method can be applied both in Clearin ⁇ workmanship practices of software as well as software or data updates by overwriting, replacing or patching.
- the invention relates to a device as a software delivery entity and a device as a runtime environment.
- the latter device which is intended to act as a runtime environment, may include more than one device.
- the software to be installed can be installed and / or released on a first device for subsequent execution.
- An independent second device can be prepared to retrieve the software to be installed from the software delivery instance and / or to obtain a release for an already installed software from the software delivery instance, and the
- the first device may be for example a Collegesteue ⁇ tion.
- the second device is typically a service PC or a service smartphone.
- Processes are known in which a building control regularly contacted a server to retrieve from the server aktuali ⁇ catalyzed building control software.
- the invention has for its object to provide a method be ⁇ riding determine with which a building control software can only be loaded in that runtime environment or activated only in those runtime environment manipu ⁇ lationsêt for which it is intended. This can be, for example, a specific runtime environment for which the load or to be unlocked building control software has been paid.
- this object is achieved by providing a method for installing building control software, comprising the following steps:
- the object is achieved in that the device is prepared to serve as Softwareaus ⁇ delivery instance and / or as a runtime environment of one of the inventive methods.
- an authentication by means of a symmetrical and / or by means of an asymmetrical encryption method is used for transmitting the identity of the runtime environment from the runtime environment to the software delivery instance. Can be checked with a regulatory procedure closures ⁇ a trustworthiness of the communicating ⁇ th identity end-to-end, without that it comes to a reliability of transmission paths used.
- An authentication means of an asymmetrical encryption method has the advantage over a authenticatio ⁇ tion by means of a symmetric encryption method, the advantage that is simplified particularly with a large number of participating runtime environments the key exchange, because the key trustworthiness for checking the encryption administered in a public database, and (for example, on a public website). The public Since ⁇ tenbank has a notary function and therefore must itself be trust ⁇ ens Cons.
- an encryption by means of a symmetrical and / or by means of an asymmetrical encryption method is used for transmitting the identity of the runtime environment from the runtime environment to the software delivery instance.
- Encryption by means of an asymmetrical encryption method has compared to a closure
- the method also comprises the step of: checking authorization of the runtime environment to cause downloading, installing or using software to be installed under the identity transmitted to the software delivery instance. This will prevent the software from being downloaded from a runtime environment that may not be due to lack of hardware and / or software requirements, lack of proper contractual relationship, legal regulations, non-payment, misuse, and / or other cause is entitled to download this software.
- the step of checking the authorization comprises a credit check and / or a payment transaction. This can be ensured before the download of the software, the provision of consideration, which is intended for downloading and / or use of the software to be downloaded.
- a further development provides that the identity of the running ⁇ -time environment and the software to be installed to generate the signed file to be signed separately or that the identity of the runtime environment and the hash of the software to be installed to generate the signed file to be signed separately. In this way, the signed identity can be res ⁇ checked source saving without consideration of the signed shares of the software to be installed.
- An alternative development provides that the file which contains the identity of the runtime environment and the hash of the software to be installed, or which contains the identity of the running time environment and the software to be installed, is signed by the software delivery entity as a whole. As a result, an abusive combination of signed file portions of different transactions can be excluded.
- the ge in FIG 1 on the basis of a message exchange diagram ⁇ showed method 100 for installing building control ⁇ software S includes the following steps.
- a first step 110 an identity LUi of a runtime environment LU is transmitted to a software delivery entity AI in a trustworthy and / or audio-secure manner.
- an authentication means of a symmetrical and / or by means of a step unsymmet ⁇ encryption method may be applied.
- the Ü bpe the identity Lui of the runtime environment LU to the software delivery instance AI can (coded for example by means of a PGP method), for example via email or via an Internet site (for example by means of a secure hyper ⁇ text transfer protocol (for example using HTTPS)) take place.
- a PGP method for example via email or via an Internet site
- a secure hyper ⁇ text transfer protocol for example using HTTPS
- the retrieval of the software S is subject to certain pre ⁇ preconditions, such as the adoption of terms and conditions or to the payment of a purchase price, a use or an upgrade fee.
- the method 100 also includes the following second step 120: checking 120 an authorization of the runtime environment LU, downloading 150, installing 170 or using a software to be installed. S would have to be caused by the identity LUi that was transmitted to the software delivery instance AI.
- a file D is generated by the software delivery entity AI, the file D comprising the transmitted identity LUi and the software S to be installed and / or a hash H (S) of the software to be installed.
- the generated file D is signed by the software delivery entity AI by means of a key Kai of the software delivery entity AI. By checking the signature Kai can be determined whether the file D has been changed.
- the signed file Kai (D) is transmitted from the Softwareausliefe ⁇ approximately instance AI to the runtime environment LU.
- the runtime environment LU compares whether the identityizi the runtime environment LU with the Identi tyizi ⁇ 'matches, the (D) has actually been transmitted in the signed file Kai.
- the software S to be installed in the runtime environment LU is then and only then installed and / or released for use if the comparison 160 has shown that the identity LUi of the runtime environment LU matches the identity LUi ' which was actually transmitted in the signed file Kai (D).
- An embodiment provides that the identity LUi of the runtime environment LU and the software S to be installed for generating the signed file Kai (D) are signed separately or that the identity LUi of the runtime environment LU and the hash H (S) of the software S to be installed to sign the signed file D separately.
- Another embodiment provides that the file D, wel ⁇ che the identity LUi of the runtime environment LU and the hash H (S) of the software to be installed S or which the Iden- LUi of the runtime environment LU and the software to be installed S, is signed by the software delivery entity AI as a whole.
- the identity LUi of the runtime environment LU and the hash H (S) of the software to be installed S is signed by the software delivery entity AI as a whole.
- Runtime environment LU is transmitted from the runtime environment LU together with a designation B (V) of a desired software version V to a software delivery entity AI. It is preferred if the following steps are carried out in step 170 of installing and / or releasing the software S to be installed: Downloading 172 of the software S to be installed from the software delivery instance AI to the runtime environment LU, generating 173 a hash H (S ') of downloaded software S ', Compare 174 of the
- Hash H (S) Compare Hash H (S) to Hash H '(S)
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Zum Installieren von Gebäudesteuerungssoftware (S) wird ein Verfahren (100) bereitgestellt, das folgende Schritte umfasst: Übermitteln (110) einer Identität (LUi) einer Laufzeitumgebung (LU) von der Laufzeitumgebung (LU) an eine Softwareauslieferungsinstanz (AI), Erzeugen (130) einer Datei (D) durch die Softwareauslieferungsinstanz (AI), wobei die Datei (D) die übermittelte Identität (LUi) und die zu installierende Software (S) oder einen Hash (H(S)) der zu installierenden Software (S) umfasst, Signieren (140) der erzeugten Datei (D) durch die Softwareauslieferungsinstanz (AI) mittels eines Schlüssels (Kai) der Softwareauslieferungsinstanz (AI), Übermitteln (150) der signierten Datei (Kai(D)) von der Softwareauslieferungsinstanz (AI) an die Laufzeitumgebung (LU), Installieren (170) und/oder Freigeben der zu installierenden Software (S) in der Laufzeitumgebung (LU) dann und nur dann, wenn die Identität (LUi) der Laufzeitumgebung (LU) mit der Identität (LUi') übereinstimmt, die in der signierten Datei (Kai(D)) tatsächlich übermittelt wurde. Außerdem werden entsprechende Vorrichtungen zum Installieren von Gebäudesteuerungssoftware vorgeschlagen.
Description
MANIPULATIONSSICHERES INSTALLIEREN VON GEBAUDESTEUERUNGSSOFTWARE IN
FREIGEGEBENEN LAUFZEITUMGEBUNGEN
Die Erfindung betrifft ein Verfahren zum Installieren von Ge- bäudesteuerungssoftware . Das Verfahren kann sowohl in Erstin¬ stallationen von Software als auch in Software- oder Datenaktualisierungen durch Überschreiben, Austauschen oder Patchen angewendet werden. Außerdem betrifft die Erfindung eine Vorrichtung als Softwareauslieferungsinstanz und eine Vorrichtung als Laufzeitumgebung. Die letztgenannte Vorrichtung, welche dazu vorgesehen ist, als Laufzeitumgebung zu wirken, kann mehr als ein Gerät umfassen. Beispielsweise kann die zu installierende Software zwecks nachträglicher Ausführung auf einem ersten Gerät installiert und/oder freigegeben werden. Ein davon unabhängiges zweites Gerät kann dazu vorbereitet sein, die zu installie¬ rende Software von der Softwareauslieferungsinstanz abzurufen und/oder von der Softwareauslieferungsinstanz eine Freigabe für eine bereits installierte Software zu erhalten und die
Software und/oder die Freigabe an das erste Gerät zu überge¬ ben. Das erste Gerät kann beispielsweise eine Gebäudesteue¬ rung sein. Das zweite Gerät ist typischerweise ein Service-PC oder ein Service-Smartphone .
Es sind Verfahren bekannt, in dem eine Gebäudesteuerung regelmäßig einen Server kontaktiert, um von dem Server aktuali¬ sierte Gebäudesteuerungssoftware abzurufen. Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren be¬ reitzustellen, mit dem eine Gebäudesteuerungssoftware manipu¬ lationssicher nur in diejenige Laufzeitumgebung geladen oder nur in derjenigen Laufzeitumgebung freigeschaltet werden kann, für die sie vorgesehen ist. Dies kann beispielsweise eine be- stimmte Laufzeitumgebung sein, für die die zu ladende oder
freizuschaltende Gebäudesteuerungssoftware bezahlt worden ist.
Erfindungsgemäß wird diese Aufgabe dadurch gelöst, dass ein Verfahren zum Installieren von Gebäudesteuerungssoftware be- reitgestellt wird, das folgende Schritte umfasst:
- Übermitteln einer Identität einer Laufzeitumgebung von der Laufzeitumgebung an eine Softwareauslieferungsinstanz;
- Erzeugen einer Datei durch die Softwareauslieferungsinstanz, wobei die Datei die übermittelte Identität und die zu installierende Software oder einen Hash der zu instal¬ lierenden Software umfasst;
- Signieren der erzeugten Datei durch die Softwareausliefe¬ rungsinstanz mittels eines Schlüssels der Softwareauslie¬ ferungsinstanz;
- Übermitteln der signierten Datei von der Softwareauslieferungsinstanz an die Laufzeitumgebung;
- Vergleichen durch die Laufzeitumgebung, ob die Identität der Laufzeitumgebung mit der Identität übereinstimmt, die in der signierten Datei tatsächlich übermittelt wurde; und - Installieren und/oder Freigeben der zu installierenden
Software in der Laufzeitumgebung dann und nur dann, wenn der Vergleich ergeben hat, dass die Identität der Lauf¬ zeitumgebung mit der Identität übereinstimmt, die in der signierten Datei tatsächlich übermittelt wurde.
In Bezug auf die Vorrichtung wird die Aufgabe dadurch gelöst, dass die Vorrichtung dazu vorbereitet ist, als Softwareaus¬ lieferungsinstanz und/oder als Laufzeitumgebung eines der erfindungsgemäßen Verfahren zu dienen.
Dadurch, dass das Installieren und/oder Freigeben der zu installierenden Software in der Laufzeitumgebung dann und nur dann stattfindet, wenn der Vergleich ergeben hat, dass die Identität der Laufzeitumgebung mit der Identität überein- stimmt, die in der signierten Datei tatsächlich übermittelt
wurde, wird sichergestellt, dass die Gebäudesteuerungssoft¬ ware nur in diejenige Laufzeitumgebung geladen oder nur in derjenigen Laufzeitumgebung freigeschaltet werden kann, für die sie vorgesehen ist.
Zweckmäßig ist, wenn für das Übermitteln der Identität der Laufzeitumgebung von der Laufzeitumgebung an die Softwareauslieferungsinstanz eine Authentifizierung mittels eines symmetrischen und/oder mittels eines unsymmetrischen Verschlüs- selungsverfahrens angewendet wird. Mit einem Verschlüsse¬ lungsverfahren kann eine Vertrauenswürdigkeit der übermittel¬ ten Identität end-to-end überprüft werden, also ohne, dass es auf eine Vertrauenswürdigkeit der benutzten Übertragungswege ankommt. Eine Authentifizierung mittels eines unsymmetrischen Verschlüsselungsverfahrens hat gegenüber einer Authentifizie¬ rung mittels eines symmetrischen Verschlüsselungsverfahrens den Vorteil, dass insbesondere bei einer großen Anzahl von teilnehmenden LaufZeitumgebungen der Schlüsselaustausch vereinfacht wird, weil die Schlüssel zur Überprüfung der Ver- trauenswürdigkeit in einer öffentlichen Datenbank verwaltet und (beispielsweise auf einer allgemein zugänglichen Webseite) veröffentlicht werden können. Dabei hat die öffentliche Da¬ tenbank eine Notarfunktion und muss deshalb selbst vertrau¬ enswürdig sein.
Außerdem ist es zweckmäßig, wenn für das Übermitteln der I- dentität der Laufzeitumgebung von der Laufzeitumgebung an die Softwareauslieferungsinstanz eine Verschlüsselung mittels eines symmetrischen und/oder mittels eines unsymmetrischen Ver- Schlüsselungsverfahrens angewendet wird. Mit einem Verschlüs¬ selungsverfahren kann ein Abhörschutz für die Übermittlung der Identität end-to-end verwirklicht werden, also ohne, dass es auf eine Abhörsicherheit der benutzten Übertragungswege ankommt. Eine Verschlüsselung mittels eines unsymmetrischen Verschlüsselungsverfahrens hat gegenüber einer Verschlüsse-
lung mittels eines symmetrischen Verschlüsselungsverfahrens den Vorteil, dass insbesondere bei einer großen Anzahl von teilnehmenden Laufzeitumgebungen der Schlüsselaustausch vereinfacht wird, weil die Schlüssel zum Verschlüsseln ohne Be- einträchtigung der Abhörsicherheit öffentlich gemacht werden können .
Bevorzugt ist, wenn das Verfahren auch folgenden Schritt um- fasst: Prüfen einer Berechtigung der Laufzeitumgebung, ein Herunterladen, Installieren oder Benutzen einer zu installierenden Software unter der Identität zu veranlassen, die an die Softwareauslieferungsinstanz übermittelt wurde. Hierdurch kann vermieden werden, dass die Software von einer Laufzeitumgebung heruntergeladen wird, die aufgrund fehlender Hardware- und/oder Softwarevoraussetzungen, aufgrund des Fehlens einer passenden Vertragsbeziehung, aufgrund rechtlicher Bestimmungen, aufgrund Nichtbezahlung, aufgrund einer Missbrauchsgefahr und/oder aus einem anderen Grund nicht zu einem Herunterladen dieser Software berechtigt ist. Insbesondere ist bevorzugt, wenn der Schritt des Prüfens der Berechtigung eine Bonitätsprüfung und/oder einen Bezahlvorgang umfasst. Hierdurch kann vor dem Herunterladen der Software die Erbringung einer Gegenleistung sichergestellt werden, die für das Herunterladen und/oder für eine Nutzung der herunterzuladenden Software vorgesehen ist.
Eine Weiterbildung sieht vor, dass die Identität der Lauf¬ zeitumgebung und die zu installierende Software zur Erzeugung der signierten Datei getrennt signiert werden oder dass die Identität der Laufzeitumgebung und der Hash der zu installierenden Software zur Erzeugung der signierten Datei getrennt signiert werden. Hierdurch kann die signierte Identität res¬ sourcensparend ohne Berücksichtigung der signierten Anteile der zu installierenden Software überprüft werden.
Eine alternative Weiterbildung sieht vor, dass die Datei, welche die Identität der Laufzeitumgebung und den Hash der zu installierenden Software oder welche die Identität der Lauf¬ zeitumgebung und die zu installierende Software enthält, von der Softwareauslieferungsinstanz als Ganzes signiert wird. Hierdurch kann eine missbräuchliche Kombination von signierten Dateianteilen unterschiedlicher Transaktionen ausgeschlossen werden. Besonders bevorzugt ist, wenn die Identität der Laufzeitumge¬ bung von der Laufzeitumgebung zusammen mit einer Bezeichnung einer gewünschten Softwareversion an eine Softwareauslieferungsinstanz übermittelt wird. Hierdurch kann die Software¬ auslieferungsinstanz ein Herunterladen von laufzeitumgebungs- spezifischen und/oder vorgangsspezifischen Softwareversionen unterstützen .
Zweckmäßig ist, wenn im Schritt des Installierens der zu in¬ stallierenden Software folgende Teilschritte durchgeführt werden: Herunterladen der zu installierenden Software von der Softwareauslieferungsinstanz zu der Laufzeitumgebung, Erzeugen eines Hash der heruntergeladenen Software, Vergleichen des Hash der heruntergeladenen Software mit dem Hash aus der übermittelten signierten Datei und Nutzen der heruntergelade- nen Software in der Laufzeitumgebung dann und nur dann, wenn der Vergleich ergeben hat, dass der Hash der heruntergeladenen Software mit demjenigen Hash übereinstimmt, der in der signierten Datei übermittelt wurde. Die Erfindung ist anhand der beigefügten Zeichnung näher erläutert, in der zeigt:
FIG 1 ein Nachrichtenaustauschdiagramm für ein Verfahren zu
Softwareaktualisierung .
Die nachfolgend näher geschilderten Ausführungsbeispiele stellen bevorzugte Ausführungsformen der vorliegenden Erfindung dar. Das in FIG 1 anhand eines Nachrichtenaustauschdiagramms ge¬ zeigte Verfahren 100 zum Installieren von Gebäudesteuerungs¬ software S umfasst folgende Schritte. In einem ersten Schritt 110 wird eine Identität LUi einer Laufzeitumgebung LU an eine Softwareauslieferungsinstanz AI vertrauenswürdig und/oder ab- hörsicher übermittelt. Hierfür kann eine Authentifizierung mittels eines symmetrischen und/oder mittels eines unsymmet¬ rischen Verschlüsselungsverfahrens angewendet werden. Die Ü- bermittlung der Identität LUi von der Laufzeitumgebung LU zur Softwareauslieferungsinstanz AI kann beispielsweise mittels Email (z.B. mittels eines PGP-Verfahrens verschlüsselt) oder über eine Internetseite (z.B. mittels eines sicheren Hyper¬ text-Übertragungsprotokolls (beispielsweise mittels HTTPS) ) erfolgen. Unabhängig von der Art des benutzten Übermittlungsverfahrens wird unterstellt, dass die Identität LUi der Lauf- zeitumgebung LU eindeutig ist und vom Benutzer der Laufzeit¬ umgebung LU nicht geändert werden kann (HTTPS = Hypertext Transfer Protocol Secure) . Typischerweise ist die Identität LUi der Laufzeitumgebung LU eine Seriennummer einer Hardware (beispielsweise die IMEI einer Mobilstation) oder einer Soft- wäre der Laufzeitumgebung LU (IMEI = International Mobile Station Equipment Identity) .
Typischerweise ist der Abruf der Software S an bestimmte Vor¬ aussetzungen gebunden, wie beispielsweise an die Annahme von Geschäftsbedingungen oder an die Entrichtung eines Kaufpreises, einer Nutzungs- oder einer Aktualisierungsgebühr. In diesem Fall ist es zweckmäßig, wenn das Verfahren 100 auch folgenden zweiten Schritt 120 umfasst: Prüfen 120 einer Berechtigung der Laufzeitumgebung LU ein Herunterladen 150, In- stallieren 170 oder Benutzen einer zu installierenden Soft-
wäre S unter der Identität LUi zu veranlassen, die an die Softwareauslieferungsinstanz AI übermittelt wurde.
In einem dritten Schritt 130 wird durch die Softwareausliefe- rungsinstanz AI eine Datei D erzeugt, wobei die Datei D die übermittelte Identität LUi und die zu installierende Software S und/oder einen Hash H(S) der zu installierenden Software umfasst. In einem vierten Schritt 140 wird die erzeugte Datei D durch die Softwareauslieferungsinstanz AI mittels eines Schlüssels Kai der Softwareauslieferungsinstanz AI signiert. Mittels Prüfung der Signatur Kai kann festgestellt werden, ob die Datei D verändert wurde. In einem fünften Schritt 150 wird die signierte Datei Kai (D) von der Softwareausliefe¬ rungsinstanz AI an die Laufzeitumgebung LU übermittelt. In einem sechsten Schritt 160 vergleicht die Laufzeitumgebung LU, ob die Identität LUi der Laufzeitumgebung LU mit der Identi¬ tät LUi' übereinstimmt, die in der signierten Datei Kai (D) tatsächlich übermittelt wurde. In einem siebten Schritt 170 wird die zu installierende Software S in der Laufzeitumgebung LU dann und nur dann installiert und/oder für eine Nutzung freigegeben, wenn der Vergleich 160 ergeben hat, dass die I- dentität LUi der Laufzeitumgebung LU mit der Identität LUi ' übereinstimmt, die in der signierten Datei Kai (D) tatsächlich übermittelt wurde.
Eine Ausführungsform sieht vor, dass die Identität LUi der Laufzeitumgebung LU und die zu installierende Software S zur Erzeugung der signierten Datei Kai (D) getrennt signiert werden oder dass die Identität LUi der Laufzeitumgebung LU und der Hash H(S) der zu installierenden Software S zur Erzeugung der signierten Datei D getrennt signiert werden.
Eine andere Ausführungsform sieht vor, dass die Datei D, wel¬ che die Identität LUi der Laufzeitumgebung LU und den Hash H(S) der zu installierenden Software S oder welche die Iden-
tität LUi der Laufzeitumgebung LU und die zu installierende Software S enthält, von der Softwareauslieferungsinstanz AI als Ganzes signiert wird. Insbesondere ist es bevorzugt, wenn die Identität LUi der
Laufzeitumgebung LU von der Laufzeitumgebung LU zusammen mit einer Bezeichnung B (V) einer gewünschten Softwareversion V an eine Softwareauslieferungsinstanz AI übermittelt wird. Es ist bevorzugt, wenn im Schritt 170 des Installierens und/oder Freigebens der zu installierenden Software S folgende Teilschritte durchgeführt werden: Herunterladen 172 der zu installierenden Software S von der Softwareauslieferungsinstanz AI zu der Laufzeitumgebung LU, Erzeugen 173 eines Hash H(S') der heruntergeladenen Software S', Vergleichen 174 des
Hash H(S') der heruntergeladenen Software S' mit dem Hash H(S) aus der übermittelten signierten Datei Kai (D) und Nutzen 176 und/oder Freigeben der heruntergeladenen Software S' in der Laufzeitumgebung LU dann und nur dann, wenn der Vergleich 174 ergeben hat, dass der Hash H(S') der heruntergeladenen Software S' mit demjenigen Hash H(S) übereinstimmt, der in der signierten Datei Kai (D) übermittelt wurde.
Durch dieses Verfahren 100 kann sichergestellt werden, dass eine Aktualisierungssoftware nur dann in einer Lauf¬ zeitumgebung LU benutzt werden kann, wenn die Aktualisierung zuvor bezahlt wurde.
Bezugs zeichenliste
100 Verfahren zum Installieren von Software S
110 Übermitteln einer Identität einer Laufzeitumgebung 120 Prüfen einer Berechtigung der Laufzeitumgebung LU
130 Erzeugen einer Datei D durch die Softwareauslie¬ ferungsinstanz AI
140 Signieren der erzeugten Datei D
150 Übermitteln der signierten Datei D an Laufzeitumge- bung LU
160 Vergleichen von Identität LUi mit Identität LUi '
170 Installieren der zu installierenden Software S
172 Herunterladen der zu installierenden Software S
173 Erzeugen eines Hash H(S) der heruntergeladenen Soft- wäre S
174 Vergleichen von Hash H(S) mit Hash H' (S)
176 Nutzen der heruntergeladenen Software
AI Softwareauslieferungsinstanz
B (V) Bezeichnung der Softwareversion V
D Datei
H(S) Hash der herunterzuladenden Software S
H(S') Hash der heruntergeladenen Software S'
Kai Schlüssel der Softwareauslieferungsinstanz AI
Kai (D) signierte Datei
LU Laufzeitumgebung
LUi Identität der Laufzeitumgebung LU
LUi' Identität der Laufzeitumgebung LU, die in der signierten Datei Kai (D) übermittelt wurde
S Software
S' heruntergeladene Software
V Softwareversion
Claims
1. Verfahren (100) zum Installieren von Gebäudesteuerungs- Software (S)
dadurch gekennzeichnet, dass
das Verfahren (100) folgende Schritte umfasst:
- Übermitteln (110) einer Identität (LUi) einer Laufzeitumgebung (LU) von der Laufzeitumgebung (LU) an eine Soft- wareauslieferungsinstanz (AI);
- Erzeugen (130) einer Datei (D) durch die Softwareausliefe¬ rungsinstanz (AI), wobei die Datei (D) die übermittelte Identität (LUi) und die zu installierende Software (S) o- der einen Hash (H(S)) der zu installierenden Software (S) umfasst;
- Signieren (140) der erzeugten Datei (D) durch die Softwareauslieferungsinstanz (AI) mittels eines Schlüssels (Kai) der Softwareauslieferungsinstanz (AI);
- Übermitteln (150) der signierten Datei (Kai (D) ) von der Softwareauslieferungsinstanz (AI) an die Laufzeitumgebung
(LU) ;
- Vergleichen (160) durch die Laufzeitumgebung (LU) , ob die Identität (LUi) der Laufzeitumgebung (LU) mit der Identi¬ tät (LUi') übereinstimmt, die in der signierten Datei (Kai (D) ) tatsächlich übermittelt wurde; und
Installieren (170) und/oder Freigeben der zu installierenden Software (S) in der Laufzeitumgebung (LU) dann und nur dann, wenn der Vergleich (160) ergeben hat, dass die Identität (LUi) der Laufzeitumgebung (LU) mit der Identität (LUi') übereinstimmt, die in der signierten Datei (Kai (D) ) tatsächlich übermittelt wurde.
2. Verfahren (100) nach Anspruch 1, dadurch gekennzeichnet, dass für das Übermitteln (110) der Identität (LUi) der Lauf- zeitumgebung (LU) von der Laufzeitumgebung (LU) an die Soft-
wareauslieferungsinstanz (AI) eine Authentifizierung mittels eines symmetrischen und/oder mittels eines unsymmetrischen Verschlüsselungsverfahrens angewendet wird.
3. Verfahren (100) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass für das Übermitteln (110) der Identität (LUi) der Laufzeitumgebung (LU) von der Laufzeitumgebung (LU) an die Softwareauslieferungsinstanz (AI) eine Verschlüsselung mittels eines symmetrischen und/oder mittels eines unsymmet- rischen Verschlüsselungsverfahrens angewendet wird.
4. Verfahren (100) nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das Verfahren (100) auch folgenden
Schritt umfasst: Prüfen (120) einer Berechtigung der Lauf- zeitumgebung (LU) , ein Herunterladen, Installieren oder Benutzen einer zu installierenden Software (S) unter der Identität (LUi) zu veranlassen, die an die Softwareauslieferungs¬ instanz (AI) übermittelt wurde.
5. Verfahren (100) nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Identität (LUi) der Laufzeitumgebung (LU) und die zu installierende Software (S) zur Erzeugung der signierten Datei (Kai (D) ) getrennt signiert werden oder dass die Identität (LUi) der Laufzeitumgebung (LU) und der Hash (H(S)) der zu installierenden Software (S) zur Erzeugung der signierten Datei (Kai (D) ) getrennt signiert werden.
6. Verfahren (100) nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Datei (D) , welche die Identität (LUi) der Laufzeitumgebung (LU) und den Hash (H(S)) der zu installierenden Software (S) oder welche die Identität (LUi) der Laufzeitumgebung (LU) und die zu installierende Software (S) enthält, von der Softwareauslieferungsinstanz (AI) als Ganzes signiert wird.
7. Verfahren (100) nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Identität (LUi) der Laufzeitumgebung (LU) von der Laufzeitumgebung (LU) zusammen mit einer Bezeichnung (B (V) ) einer gewünschten Softwareversion (V) an ei- ne Softwareauslieferungsinstanz (AI) übermittelt wird.
8. Verfahren (100) nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass im Schritt (170) des Installierens der zu installierenden Software (S) folgende Teilschritte durch- geführt werden:
- Herunterladen (172) der zu installierenden Software (S) von der Softwareauslieferungsinstanz (AI) zu der Laufzeitumgebung (LU) ;
- Erzeugen (173) eines Hash (H(S')) der heruntergeladenen Software (S ' ) ;
- Vergleichen (174) des Hash (H(S')) der heruntergeladenen Software (S') mit dem Hash (H(S)) aus der übermittelten signierten Datei (Kai (D) ) ; und
- Nutzen (176) und/oder Freigeben der heruntergeladenen
Software (S') in der Laufzeitumgebung (LU) dann und nur dann, wenn der Vergleich (174) ergeben hat, dass der Hash (H(S')) der heruntergeladenen Software (S') mit demjenigen
Hash (H(S)) übereinstimmt, der in der signierten Datei (Kai (D) ) übermittelt wurde.
9. Vorrichtung zum Installieren von Gebäudesteuerungssoftware (S) ,
dadurch gekennzeichnet, dass
die Vorrichtung dazu vorbereitet ist, als Softwareausliefe- rungsinstanz (AI) des Verfahrens (100) nach einem der Ansprüche 1 bis 8 zu wirken.
10. Vorrichtung zum Installieren von Gebäudesteuerungssoftware (S) ,
dadurch gekennzeichnet, dass
die Vorrichtung dazu vorbereitet ist, als Laufzeitumgebung (LU) des Verfahrens (100) nach einem der Ansprüche 1 bis 8 zu wirken .
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201380059692.0A CN104956324B (zh) | 2012-11-14 | 2013-11-13 | 在释放的运行时环境中建筑控制软件的防操纵的安装 |
EP13792324.9A EP2920687A1 (de) | 2012-11-14 | 2013-11-13 | Manipulationssicheres installieren von gebäudesteuerungssoftware in freigegebenen laufzeitumgebungen |
US14/442,961 US9858061B2 (en) | 2012-11-14 | 2013-11-13 | Tamperproof installation of building control software in approved runtime environments |
HK15112129.2A HK1211359A1 (en) | 2012-11-14 | 2015-12-09 | Manipulation-proof installation of building control software in authorised runtime environments |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102012220767.8A DE102012220767A1 (de) | 2012-11-14 | 2012-11-14 | Verfahren und Vorrichtungen zum Installieren von Gebäudesteuerungssoftware |
DE102012220767.8 | 2012-11-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014076116A1 true WO2014076116A1 (de) | 2014-05-22 |
Family
ID=49596277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2013/073696 WO2014076116A1 (de) | 2012-11-14 | 2013-11-13 | Manipulationssicheres installieren von gebäudesteuerungssoftware in freigegebenen laufzeitumgebungen |
Country Status (6)
Country | Link |
---|---|
US (1) | US9858061B2 (de) |
EP (1) | EP2920687A1 (de) |
CN (1) | CN104956324B (de) |
DE (1) | DE102012220767A1 (de) |
HK (1) | HK1211359A1 (de) |
WO (1) | WO2014076116A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2565052A (en) * | 2017-07-27 | 2019-02-06 | Arm Ip Ltd | Authorized operations in electronic systems |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303891B2 (en) * | 2014-12-30 | 2019-05-28 | Data I/O Corporation | Automated manufacturing system with job packaging mechanism and method of operation thereof |
DE102015112040A1 (de) | 2015-07-23 | 2017-01-26 | Phoenix Contact Gmbh & Co. Kg | Verfahren und System zur Firmware-Aktualisierung einer Steuereinrichtung zur Prozesssteuerung |
EP3157272A1 (de) * | 2015-10-16 | 2017-04-19 | Gemalto Sa | Verfahren zur verwaltung einer anwendung |
US20180232529A1 (en) * | 2017-02-15 | 2018-08-16 | Microsoft Technology Licensing, Llc | Client-side exposure control |
US11726766B2 (en) * | 2021-11-29 | 2023-08-15 | Trane International Inc. | Method and apparatus for maintaining software of a control unit for an industrial control system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1113359A2 (de) * | 1999-12-30 | 2001-07-04 | Nokia Mobile Phones Ltd. | Verfahren und Anordnung zum Fernladen von zugeordneten Anwendungen auf Benutzerstationen |
DE10304877A1 (de) * | 2003-02-06 | 2004-08-19 | Siemens Ag | Verfahren zur Installation eines Plug-in-Programms |
US20120131349A1 (en) * | 2010-11-19 | 2012-05-24 | Microsoft Corporation | Secure software product identifier for product validation and activation |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6760441B1 (en) * | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
US20020078380A1 (en) * | 2000-12-20 | 2002-06-20 | Jyh-Han Lin | Method for permitting debugging and testing of software on a mobile communication device in a secure environment |
EP1429224A1 (de) * | 2002-12-10 | 2004-06-16 | Texas Instruments Incorporated | Firmware Laufzeit Authentisierung |
US20090249492A1 (en) * | 2006-09-21 | 2009-10-01 | Hans Martin Boesgaard Sorensen | Fabrication of computer executable program files from source code |
US7913086B2 (en) * | 2007-06-20 | 2011-03-22 | Nokia Corporation | Method for remote message attestation in a communication system |
US8341715B2 (en) * | 2008-02-29 | 2012-12-25 | Research In Motion Limited | System and method for shared resource owner based access control |
CN102110199A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种利用Elgamal公钥算法生成软件注册码的方法 |
CN102195978A (zh) * | 2011-04-26 | 2011-09-21 | 深圳市共济科技有限公司 | 一种软件分布部署方法及系统 |
US8800058B2 (en) * | 2011-07-27 | 2014-08-05 | Microsoft Corporation | Licensing verification for application use |
-
2012
- 2012-11-14 DE DE102012220767.8A patent/DE102012220767A1/de not_active Withdrawn
-
2013
- 2013-11-13 EP EP13792324.9A patent/EP2920687A1/de not_active Ceased
- 2013-11-13 US US14/442,961 patent/US9858061B2/en not_active Expired - Fee Related
- 2013-11-13 CN CN201380059692.0A patent/CN104956324B/zh not_active Expired - Fee Related
- 2013-11-13 WO PCT/EP2013/073696 patent/WO2014076116A1/de active Application Filing
-
2015
- 2015-12-09 HK HK15112129.2A patent/HK1211359A1/xx not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1113359A2 (de) * | 1999-12-30 | 2001-07-04 | Nokia Mobile Phones Ltd. | Verfahren und Anordnung zum Fernladen von zugeordneten Anwendungen auf Benutzerstationen |
DE10304877A1 (de) * | 2003-02-06 | 2004-08-19 | Siemens Ag | Verfahren zur Installation eines Plug-in-Programms |
US20120131349A1 (en) * | 2010-11-19 | 2012-05-24 | Microsoft Corporation | Secure software product identifier for product validation and activation |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2565052A (en) * | 2017-07-27 | 2019-02-06 | Arm Ip Ltd | Authorized operations in electronic systems |
GB2565052B (en) * | 2017-07-27 | 2020-08-19 | Arm Ip Ltd | Authorized operations in electronic systems |
US10855474B2 (en) | 2017-07-27 | 2020-12-01 | Arm Ip Limited | Authorized operations in electronic systems |
Also Published As
Publication number | Publication date |
---|---|
DE102012220767A1 (de) | 2014-05-28 |
EP2920687A1 (de) | 2015-09-23 |
HK1211359A1 (en) | 2016-05-20 |
US20150277887A1 (en) | 2015-10-01 |
CN104956324B (zh) | 2018-05-22 |
US9858061B2 (en) | 2018-01-02 |
CN104956324A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2920687A1 (de) | Manipulationssicheres installieren von gebäudesteuerungssoftware in freigegebenen laufzeitumgebungen | |
EP2332284B1 (de) | Freischalten eines Dienstes auf einem elektronischen Gerät | |
DE102013108020A1 (de) | Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät | |
EP2692157A2 (de) | Aktualisierung einer datenträgerapplikation | |
DE102013108022A1 (de) | Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts | |
DE60212969T3 (de) | Verfahren und vorrichtung zum verfolgen des status eines betriebsmittels in einem system zur verwaltung der benutzung der betriebsmittel | |
EP3576368A1 (de) | Verfahren und system zum steuern einer freigabe einer ressource | |
EP2885907B1 (de) | Verfahren zur installation von sicherheitsrelevanten anwendungen in einem sicherheitselement eines endgerät | |
CN113411311A (zh) | Ecu诊断授权验证方法、存储介质和系统 | |
EP1668466B1 (de) | Einräumung eines zugriffs auf ein computerbasiertes objekt | |
EP3718263B1 (de) | Verfahren und steuersystem zum steuern und/oder überwachen von geräten | |
EP3113438B1 (de) | Verfahren zur konfiguration von elektronischen geräten, insbesondere zur konfiguration von komponenten eines zugangskontrollsystems | |
DE102018217431A1 (de) | Sicherer Schlüsseltausch auf einem Gerät, insbesondere einem eingebetteten Gerät | |
WO2023274672A1 (de) | Überprüfung einer lizenz für die nutzung mindestens eines leistungsmerkmals in einem internet der dinge (lot) -gerät | |
EP1671201B1 (de) | Einräumung eines zugriffs auf ein computerbasiertes objekt | |
EP3358488B1 (de) | Verfahren zum erkennen von unberechtigten kopien digitaler sicherheits-token | |
WO2020104198A1 (de) | Verfahren zum bearbeiten von anwendungsprogrammen auf einem verteilten automatisierungssystem | |
WO2019096489A1 (de) | Verfahren und vorrichtung zur behandlung von authentizitätsbescheinigungen für entitäten, insbesondere von personenbezogenen, dienstbezogenen und/oder objektbezogenen digitalen zertifikaten | |
EP4281920A1 (de) | Verfahren zur gesetzeskonformen nutzung von kryptowährungen in fahrzeugen und fahrzeug | |
WO2023066721A1 (de) | Verfahren zur gewährleistung einer it-sicherheit einer automatisierungsanlage und sicherheitssystem | |
WO2024223330A1 (de) | Kontrolle einer kommunikation eines geräts in einer zero-trust-architektur | |
WO2024156530A1 (de) | Berechtigungsverwaltungssystem zum bereitstellen von produktionsabhängigen produktionsbefähigungsdaten | |
DE102021211755A1 (de) | Verfahren zur Gewährleistung einer IT-Sicherheit einer Automatisierungsanlage und Sicherheitssystem | |
EP4455919A1 (de) | Kontrolle einer kommunikation eines geräts in einer zero-trust-architektur | |
WO2019091935A1 (de) | Verfahren und validierungseinrichtung zum validieren eines digitalen zertifikats |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13792324 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013792324 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14442961 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |