WO2014076116A1 - Manipulationssicheres installieren von gebäudesteuerungssoftware in freigegebenen laufzeitumgebungen - Google Patents

Manipulationssicheres installieren von gebäudesteuerungssoftware in freigegebenen laufzeitumgebungen Download PDF

Info

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
Application number
PCT/EP2013/073696
Other languages
English (en)
French (fr)
Inventor
Peter Hoch
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to CN201380059692.0A priority Critical patent/CN104956324B/zh
Priority to EP13792324.9A priority patent/EP2920687A1/de
Priority to US14/442,961 priority patent/US9858061B2/en
Publication of WO2014076116A1 publication Critical patent/WO2014076116A1/de
Priority to HK15112129.2A priority patent/HK1211359A1/xx

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0435Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network 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

Patentansprüche
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 .
PCT/EP2013/073696 2012-11-14 2013-11-13 Manipulationssicheres installieren von gebäudesteuerungssoftware in freigegebenen laufzeitumgebungen WO2014076116A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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