Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MANIPULATION-PROOF INSTALLATION OF BUILDING CONTROL SOFTWARE IN AUTHORISED RUNTIME ENVIRONMENTS
Document Type and Number:
WIPO Patent Application WO/2014/076116
Kind Code:
A1
Abstract:
A method (100) is provided for installing building control software (S), which comprises the following steps: transmission (110) of an identity (LUi) of a runtime environment (LU) from said runtime environment (LU) to a software delivery entity (AI); generation (130) of a file (D) by the software delivery entity (AI), wherein the file (D) comprises the transmitted identity (LUi) and the software (S) to be installed or a hash (H(S)) of the software (S) to be installed; signing (140) of the generated file (D) by the software delivery entity (AI) by means of a key (Kai) of the software delivery entity (AI); transmission (150) of the signed file (Kai(D)) from the software delivery entity (AI) to the runtime environment (LU); installation (170) and/or authorisation of the software (S) to be installed in the runtime environment (LU), if and only if the identity (LUi) of the runtime environment (LU) corresponds with the identity (LUi') that has actually been transmitted in the signed file (Kai(D)). The invention further relates to corresponding devices for installing building control software.

Inventors:
HOCH PETER (DE)
Application Number:
PCT/EP2013/073696
Publication Date:
May 22, 2014
Filing Date:
November 13, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06F21/10; G06F9/445; G06F21/12
Foreign References:
EP1113359A22001-07-04
US20120131349A12012-05-24
DE10304877A12004-08-19
Other References:
None
Download PDF:
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 .

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