DE102007039602A1 - A method of verifying a version of a software product to be executed or installed on a first device - Google Patents

A method of verifying a version of a software product to be executed or installed on a first device Download PDF

Info

Publication number
DE102007039602A1
DE102007039602A1 DE102007039602A DE102007039602A DE102007039602A1 DE 102007039602 A1 DE102007039602 A1 DE 102007039602A1 DE 102007039602 A DE102007039602 A DE 102007039602A DE 102007039602 A DE102007039602 A DE 102007039602A DE 102007039602 A1 DE102007039602 A1 DE 102007039602A1
Authority
DE
Germany
Prior art keywords
software product
version
public key
validity period
check result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102007039602A
Other languages
German (de)
Inventor
Peter Prof. Hartmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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 AG filed Critical Siemens AG
Priority to DE102007039602A priority Critical patent/DE102007039602A1/en
Priority to PCT/EP2008/057674 priority patent/WO2009024373A2/en
Priority to EP08774124A priority patent/EP2191407A2/en
Publication of DE102007039602A1 publication Critical patent/DE102007039602A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Es wird ein Verfahren zum Prüfen einer auf einer ersten Einrichtung auszuführenden oder zu installierenden Version eines Softwareproduktes vorgeschlagen, welches folgende Schritte aufweist: Empfangen der Version des Softwareproduktes und einer zu der Version des Softwareproduktes zugehörigen, mittels eines privaten Schlüssels erzeugten digitalen Signatur; Empfangen eines Zertifikats, welches zumindest den zu dem privaten Schlüssel zugehörigen öffentlichen Schlüssel und eine Angabe des Gültigkeitszeitrahmens des öffentlichen Schlüssels aufweist; Überprüfen einer Gültigkeit des öffentlichen Schlüssels in Abhängigkeit der Angabe des Gültigkeitszeitrahmens zur Bereitstellung eines Aktualtitäts-Prüfungsergebnisses; Überprüfen einer Gültigkeit der empfangenen digitalen Signatur zur Bereitstellung eines Integritäts-Prüfungsergebnisses; Bestimmen einer Aktualität der empfangenen Version des Softwareproduktes in Abhängigkeit des bereitgestellten Aktualitäts-Prüfungsergebnisses und Bestimmen einer Integrität der empfangenen Version des Softwareproduktes in Abhängigkeit des bereitgestellten Integritäts-Prüfungsergebnisses.A method is proposed for checking a version of a software product to be executed or installed on a first device, comprising the following steps: receiving the version of the software product and a digital signature generated by means of a private key associated with the version of the software product; Receiving a certificate having at least the public key associated with the private key and an indication of the validity period of the public key; Checking the validity of the public key based on the validity period specification to provide an actuarial check result; Checking validity of the received digital signature to provide an integrity check result; Determining an up-to-dateness of the received version of the software product in dependence on the provided up-to-date check result and determining an integrity of the received version of the software product depending on the provided integrity check result.

Description

Die Erfindung betrifft ein Verfahren zum Prüfen einer auf einer ersten Einrichtung auszuführenden oder zu installierenden Version eines Softwareproduktes.The The invention relates to a method for testing one on one first device to be executed or installed Version of a software product.

Asymmetrische kryptographische Verschlüsselungsverfahren werden herkömmlicherweise zur digitalen Signatur von Codes, Software oder Software-Produkten eingesetzt. Mittels der digitalen Signatur werden die Quelle und die Authentizität der Software – im Weiteren unter dem Begriff "Integrität" zusammengefasst – überprüft. Dabei werden die digitalen Signaturen dazu eingesetzt, die Software vor ihrer Installation zu überprüfen. Nach der Installation werden die digitalen Signaturen auch dazu eingesetzt sicherzustellen, dass die Software nicht verändert wurde. Solche Verfahren zum Signieren von Software sind beispielsweise unter http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx und http://www.java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/rsa_signing.html veröffentlicht.Asymmetric cryptographic encryption methods are conventionally used for the digital signature of codes, software or software products. By means of the digital signature, the source and the authenticity of the software - hereinafter referred to as "integrity" - are checked. The digital signatures are used to check the software before it is installed. After installation, the digital signatures are also used to ensure that the software has not been altered. Such methods for signing software are, for example, under http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx and http://www.java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/rsa_signing.html released.

Für die digitale Signatur werden herkömmlicherweise sogenannte Zertifikate verwendet. Diese Zertifikate werden von zertifizierten Einrichtungen, sogenannten Certification Authorities, bereitgestellt. Solche Zertifikate haben herkömmlicherweise eine Gültigkeitsdauer von ein bis drei Jahren. Allerdings sind auch Zertifikate für den einmaligen Einsatz bekannt. Die Verwendung eines Zertifikates ist beispielsweise aus http://www.verisign.com/stellent/groups/public/documents/data_sheet/003201.pdf oder aus http://www.verisign.com/support/tic/per/whitepaper.htm bekannt.Conventionally, so-called certificates are used for the digital signature. These certificates are provided by certified bodies, so-called Certification Authorities. Such certificates usually have a validity period of one to three years. However, certificates for one-time use are also known. For example, the use of a certificate is off http://www.verisign.com/stellent/groups/public/documents/data_sheet/003201.pdf or off http://www.verisign.com/support/tic/per/whitepaper.htm known.

Allerdings wird die Software oftmals für eine Lebensdauer entwickelt, welche länger als die Gültigkeitszeitdauer eines Zertifikates ist. Aus diesem Grund bieten Zeitstempeldienste Zeitstempel an, um den Zeitpunkt der Signierung zu beurkunden. Die Signatur wird dann herkömmlicherweise als gültig angenommen, wenn das Zertifikat zum Zeitpunkt, welcher durch den Zeitstempel beurkundet wird, gültig war.Indeed the software is often developed for a lifetime, which is longer than the validity period of a Certificate is. Because of this, timestamping services provide timestamps to certify the time of signing. The signature is then conventionally accepted as valid, if the certificate at the time, which by the timestamp is authenticated, was valid.

Die digitalen Signaturen können beispielsweise stets dann überprüft werden, wenn die entsprechende Software geöffnet oder ausgeführt wird. Des Weiteren ist bekannt, ein Update von Software mittels einer Online-Anfrage beim Vertreiber der Software durchzuführen, wenn die entsprechende Software auf dem PC des Anwenders oder Nutzers gestartet wird. Wenn eine neue Version der Software auf dem Server des Vertreibers gefunden wird, kann diese auf dem PC des Anwenders installiert werden. Wenn allerdings keine Online-Verbindung verfügbar ist, muss die installierte Version der Software weiter verwendet werden. Auch für einige solcher Software-Produkte oder Software ist eine digitale Signatur notwendig, um die vom Server des Vertreibers heruntergeladene Software korrekt installieren zu können. Dies ist beispielsweise auch unter http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx beschrieben.For example, the digital signatures can always be checked when the corresponding software is opened or executed. Furthermore, it is known to perform an update of software by means of an online request to the distributor of the software when the corresponding software is started on the user's or user's PC. If a new version of the software is found on the server of the distributor, it can be installed on the user's PC. However, if an online connection is not available, the installed version of the software must continue to be used. Also, for some such software products or software, a digital signature is necessary to correctly install the software downloaded from the distributor's server. This is also below, for example http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx described.

Eine Aufgabe der vorliegenden Erfindung besteht demnach darin, eine einfache und insbesondere kostengünstige Möglichkeit bereitzustellen, die Integrität und die Aktualität eines auf einer Einrichtung eines Anwenders, beispielsweise auf einem PC, auszuführenden oder zu installierenden Softwareproduktes zu prüfen.A Object of the present invention is therefore a simple and in particular to provide cost-effective means the integrity and timeliness of one on one Establish a user, for example, on a PC to be executed or software product to be installed.

Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine einfache und insbesondere kostengünstige Möglichkeit bereitzustellen, die Integrität und die Aktualität eines auf der Einrichtung des Anwenders auszuführenden oder zu installie renden Softwareproduktes ohne eine aktuell bestehende Online-Verbindung zu prüfen.A Another object of the present invention is to provide a simple and in particular to provide cost-effective means the integrity and timeliness of one on the Setup of the user software product to be executed or installed without checking a currently existing online connection.

Erfindungsgemäß wird zumindest eine dieser gestellten Aufgaben durch ein Verfahren zum Prüfen einer auf einer ersten Einrichtung auszuführenden oder zu installierenden Version eines Softwareproduktes gelöst.According to the invention at least one of these tasks by a method for testing one to be performed on a first device or to be installed version of a software product.

Demgemäß wird ein Verfahren zum Prüfen einer auf einer ersten Einrichtung auszuführenden oder zu installierenden Version eines Softwareproduktes vorgeschlagen, welches folgende Schritte aufweist:

  • a) Empfangen der Version des Softwareproduktes und einer zu der Version des Softwareproduktes zugehörigen, mittels eines privaten Schlüssels erzeugten digitalen Signatur;
  • b) Empfangen eines Zertifikats, welches zumindest den zu dem privaten Schlüssel zugehörigen öffentlichen Schlüssel und eine Angabe des Gültigkeitszeitrahmens des öffentlichen Schlüssels aufweist;
  • c) Überprüfen einer Gültigkeit des öffentlichen Schlüssels in Abhängigkeit der Angabe des Gültigkeitszeitrahmens zur Bereitstellung eines Aktualitäts-Prüfungsergebnisses;
  • d) Überprüfen einer Gültigkeit der empfangenen digitalen Signatur zur Bereitstellung eines Integritäts-Prüfungsergebnisses;
  • e) Bestimmen einer Aktualität der empfangenen Version des Softwareproduktes in Abhängigkeit des bereitgestellten Aktualitäts-Prüfungsergebnisses; und
  • f) Bestimmen einer Integrität der empfangenen Version des Softwareproduktes in Abhängigkeit des bereitgestellten Integritäts-Prüfungsergebnisses.
Accordingly, a method is proposed for checking a version of a software product to be executed or installed on a first device, comprising the following steps:
  • a) receiving the version of the software product and associated with the version of the software product, generated by a private key digital signature;
  • b) receiving a certificate comprising at least the public key associated with the private key and an indication of the validity period of the public key;
  • c) checking validity of the public key depending on the indication of the validity period to provide an actuality check result;
  • d) checking validity of the received digital signature to provide an integrity check result;
  • e) determining an actuality of the received version of the software product as a function of the provided actuality check result; and
  • f) determining an integrity of the received version of the software product in dependence on the provided integrity check result.

Ein Vorteil der Erfindung liegt darin, dass die Aktualität einer auszuführenden oder zu installierenden Version eines Softwareproduktes auf der ersten Einrichtung des Anwenders, z. B. einem PC des Anwenders, überprüfbar ist. Vorteilhafterweise sind dabei keine zusätzlichen Mittel, wie beispielswei se eine Online-Abfrage beim Vertreiber des Softwareproduktes, notwendig. Erfindungsgemäß wird das für die Integritätsprüfung mit der digitalen Signatur inhärent vorhandene Zertifikat, dabei insbesondere die Angabe des Gültigkeitszeitrahmens des öffentlichen Schlüssels, genutzt. Somit ist das erfindungsgemäße Verfahren unabhängig von einer bestehenden oder unterbrochenen Online-Verbindung des PCs des Anwenders. Weiter ist das erfindungsgemäße Verfahren durch die Ausnutzung eines inhärent vorhandenen Mittels kostengünstig und einfach durchführbar.One Advantage of the invention is that the timeliness a version of a. to be executed or installed Software product on the first device of the user, z. B. a PC of the user, is verifiable. advantageously, There are no additional funds, as beispielswei se an online query at the distributor of the software product, necessary. According to the invention, this is for the integrity check with the digital signature inherent certificate, in particular the specification of the validity period the public key, used. Thus is the inventive method independently from an existing or interrupted online connection of the PCs of the user. Next is the invention Method by the use of an inherently available agent inexpensive and easy to carry out.

Weiter wird durch die Überprüfung der Aktualität der Version des Softwareproduktes auf der ersten Einrichtung ein sogenanntes Roll-Back der Versionen des Softwareproduktes verhindert, da bei abgelaufenen Versionen das Aktualitätsprüfungsergebnis als ein negatives Aktualitätsprüfungsergebnis interpretiert wird.Further is made by checking the timeliness the version of the software product on the first device so-called roll-back of the versions of the software product prevents because in expired versions the actuality check result as interpreted a negative update result becomes.

Ein weiterer Vorteil liegt darin, dass beim Einsatz des erfindungsgemäßen Verfahrens zwar für jede Version des Softwareproduktes bzw. für jeden Software-Release ein separater Schlüssel und ein separates Zertifikat eingesetzt wird, es aber ermöglicht ist, dass ein jedes Software-Release für verschiedene Plattformen oder in verschiedenen Konfigurationen gleichzeitig eingesetzt wird. Dies wird erfindungsgemäß dadurch möglich, dass ein Schlüssel für mehr als einen Signaturprozess verwendet werden kann.One Another advantage is that when using the inventive Although procedure for each version of the software product or a separate key for each software release and a separate certificate is used, but it allows is that every software release for different platforms or in different configurations simultaneously. This is possible according to the invention, that a key to more than one signature process can be used.

Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen sowie der Beschreibung und der Bezugnahme auf die Zeichnungen.advantageous Refinements and developments of the invention will become apparent the dependent claims and the description and the reference on the drawings.

Gemäß einer bevorzugten Ausgestaltung der Erfindung beinhaltet der Gültigkeitszeitrahmen des öffentlichen Schlüssels einen Gültigkeitszeitrahmen des privaten Schlüssels und/oder einen Update-Zeitrahmen für eine Angabe eines notwendigen Updates der Version des Softwareproduktes, wobei der Gültigkeitszeitrahmen des öffentlichen Schlüssels und der Gültig keitszeitrahmen des privaten Schlüssels zeitgleich beginnen und der Gültigkeitszeitrahmen des öffentlichen Schlüssels und der Update-Zeitrahmen zeitgleich enden.According to one preferred embodiment of the invention includes the validity period of the public Key a validity period of the private Key and / or an update timeframe for an indication of a necessary update of the version of the software product, the validity period of the public Key and the validity period of the private key start at the same time and the validity period of the public Key and update timeframe ending at the same time.

Gemäß einer weiteren bevorzugten Ausgestaltung enthält das Zertifikat den öffentlichen Schlüssel, die Angabe der Gültigkeitsdauer des öffentlichen Schlüssels, einen Namen des Softwareproduktes, eine Versionsangabe des Softwareproduktes, eine Angabe des Gültigkeitszeitrahmens des privaten Schlüssels und/oder eine Angabe des Gültigkeitszeitrahmens des Update-Zeitrahmen.According to one Another preferred embodiment contains the certificate the public key, the indication of the period of validity the public key, a name of the software product, a version of the software product, an indication of the validity period of the private key and / or an indication of the validity period of the update timeframe.

Gemäß einer bevorzugten Weiterbildung der Erfindung beinhaltet der Verfahrensschritt c) ein Überprüfen der Gültigkeit des öffentlichen Schlüssels zur Bereitstellung des Aktualitäts-Prüfungsergebnisses zur Angabe der Aktualität der Version des Softwareproduktes in Abhängigkeit der Angabe des Gültigkeitszeitrahmens des öffentlichen Schlüssels oder in Abhängigkeit des Gültigkeitszeitrahmens des öffentlichen Schlüssels und eines von einer dritten Einrichtung bereitgestellten Rückrufstatus des jeweiligen Zertifikats für die Version des Softwareproduktes.According to one preferred embodiment of the invention includes the process step c) checking the validity of the public Key to provide the actuality check result to indicate the actuality of the version of the software product depending on the specification of the validity period the public key or depending the validity period of the public key and a callback status provided by a third device of the respective certificate for the version of the software product.

Wenn beispielsweise die erste Einrichtung den PC eines Anwenders und die zweite Einrichtung einen Server eines Vertreibers der Softwareprodukte darstellt, so kann die dritte Einrichtung eine Zertifizierungsautorität sein. Vorteilhafterweise kann insbesondere durch die zweite Möglichkeit der obig erläuterten Ausgestaltungen der Erfindung sichergestellt werden, dass der Anwender eine Anzeige erhält, dass das von ihm ausgeführte oder installierte Softwareprogrammprodukt nicht mehr aktuell ist, wenn die Zertifizierungsautorität einen Rückrufstatus für das jeweilige eingesetzte Zertifikat veröffentlicht. Der Rückruf kann auch von dem Vertreiber initiiert werden, welcher dann der Zertifizierungsautorität den Rückruf bekannt gibt, welche im Folgenden den Rückrufstatus für dieses Zertifikat veröffentlicht. Durch den Einsatz des Rückrufstatus für das Aktualitäts-Prüfungsergebnis kann somit ermög licht werden, dass der Anwender über neue Updates oder neue Versionen des Softwareproduktes benachrichtigt wird, auch wenn die Gültigkeitsdauer des öffentlichen Schlüssels noch nicht abgelaufen ist.If for example, the first device the PC of a user and the second device is a server of a distributor of the software products, so the third device may have a certification authority be. Advantageously, in particular by the second possibility the above explained embodiments of the invention are ensured that the user gets an ad that's from him executed or installed software program product not more up to date is when the certification authority has a Callback status for the respective certificate used released. The call can also be from the Distributor can then be initiated, which then the certification authority the callback announces, which in the following the recall status published for this certificate. By the Use the callback status for the actuality check result can thus be made light that the user over notify new updates or new versions of the software product even if the period of validity of the public Key has not expired yet.

Gemäß einer weiteren bevorzugten Weiterbildung beinhaltet der Verfahrensschritt d) ein Durchführen einer Verifikation der empfangenen, mittels der digitalen Signatur signierten Version des Softwareproduktes zur Bereitstellung des Integritäts-Prüfungsergebnisses.According to one Another preferred development includes the method step d) performing a verification of the received, by means of the digital signature signed version of the software product to provide the integrity check result.

Gemäß einer weiteren bevorzugten Ausgestaltung wird das Aktualitäts-Prüfungsergebnis als ein negatives Aktualitäts-Prüfungsergebnis interpretiert, wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Ende des Gültigkeitszeitrahmens des öffentlichen Schlüssels ist.According to one Another preferred embodiment is the actuality check result as a negative actuality check result interpreted when the time of starting or installing the version of the software product on the first device later as an end of the validity period of the public Key is.

Gemäß einer weiteren bevorzugten Ausgestaltung wird das Aktualitäts-Prüfungsergebnis als ein negatives Aktualitäts-Prüfungsergebnis interpretiert, wenn der bereitgestellte Rückrufstatus angibt, dass das jeweilige Zertifikat für die entsprechende Version des Softwareproduktes zurückgerufen ist, oder der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Ende des Gültigkeitszeitrahmens des öffentlichen Schlüssels liegt.According to a further preferred embodiment, the actuality check result is interpreted as a negative actuality check result if the provided callback status indicates that the respective certificate for the corresponding Version of the software product is recalled, or the time of starting or installing the version of the software product on the first device is later than an end of the validity period of the public key.

Gemäß einer weiteren bevorzugten Ausgestaltung wird bei einem positiven Aktualitäts-Prüfungsergebnis und wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Beginn des Update-Zeitrahmens ist, zumindest ein Teil einer aktuellen Version des Softwareproduktes und eine zugehörige aktuelle digitale Signatur der aktuellen Version des Softwareproduktes oder ausschließlich eine aktuelle digitale Signatur der aktuellen Version des Softwareproduktes als Aktualitäts- Bestätigung von der zweiten Einrichtung mittels eines Netzwerks bereitgestellt.According to one Another preferred embodiment is at a positive actuality test result and when the time of starting or installing the version the software product on the first device later as a beginning of the update timeframe, at least part of a current version of the software product and an associated current digital signature of the current version of the software product or only an actual digital signature of the current version of the software product as actuality confirmation provided by the second device via a network.

Aktualisiert der Vertreiber des Softwareproduktes einen Teil oder das ganze Softwareprodukt, so kann der Anwender den aktualisierten Teil oder die gesamte aktuelle Version des Softwareproduktes mit einer zugehörigen aktuellen digitalen Signatur der aktuellen Version des Softwareproduktes von dem Server des Vertreibers herunterladen. Dem Vertreiber des Softwareproduktes ist es allerdings auch ermöglicht, ein nicht mehr als aktuell bezeichnetes Softwareprodukt erneut zur Installation und zum Start freizugeben. Hierzu kann der Vertreiber des Softwareproduktes ausschließlich eine aktuelle digitale Signatur bereitstellen, welche der Anwender dann von dem Server des Vertreibers herunterladen kann.updated the distributor of the software product a part or the whole software product, so the user can download the updated part or the entire current Version of the software product with an associated current version digital signature of the current version of the software product of download the server of the distributor. The distributor of the software product However, it is also possible, one not more than current re-authorized software product for installation and start. For this purpose, the distributor of the software product exclusively provide a current digital signature that the user then download from the server of the distributor.

Gemäß einer weiteren bevorzugten Weiterbildung sind nach den Schritten a) bis f) folgende Schritte vorgesehen:

  • – bei einem positiven Integritäts-Prüfungsergebnis und einem positiven Aktualitäts-Prüfungsergebnis wird die Version des Softwareproduktes auf der ersten Einrichtung gestartet oder installiert;
  • – bei einem negativen Integritäts-Prüfungsergebnis wird die Version des Softwareproduktes auf der ersten Einrichtung nicht gestartet und nicht installiert; und/oder
  • – bei einem positiven Integritäts-Prüfungsergebnis und einem negativen Aktualitäts-Prüfungsergebnis wird zumindest ein Teil einer von der zweiten Einrichtung mittels eines Netzwerks bereitgestellten aktuellen Version des Softwareproduktes und eine zugehörige aktuelle digitale Signatur oder ausschließlich eine von der zweiten Einrichtung mittels des Netzwerks bereitgestellte, aktuelle digitale Signatur der aktuellen Version des Softwareproduktes als Aktualitäts-Bestätigung der auf der ersten Einrichtung vorhanden Version des Softwareprodukts von der ersten Einrichtung geladen.
According to a further preferred development, the following steps are provided after steps a) to f):
  • In the case of a positive integrity check result and a positive actual check result, the version of the software product is started or installed on the first device;
  • - if the integrity check result is negative, the version of the software product on the first device is not started and not installed; and or
  • In the case of a positive integrity check result and a negative update check result, at least part of a current version of the software product provided by the second device via a network and an associated current digital signature or only a current digital one provided by the second device via the network Signature of the current version of the software product is loaded as an up-to-date confirmation of the version of the software product present on the first device from the first device.

Gemäß einer weiteren bevorzugten Weiterbildung ist nach den Schritten a) bis f) folgender Schritt vorgesehen:

  • – bei einem positiven Integritäts-Prüfungsergebnis, einem positiven Aktualitäts-Prüfungsergebnis und wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Beginn des Update-Zeitrahmens ist, wird die Version des Softwareproduktes auf der ersten Einrichtung gestartet oder installiert und/oder es wird zumindest ein Teil einer von der zweiten Einrichtung mittels eines Netzwerks bereitgestellten aktuellen Version des Softwareproduktes und eine zugehörige aktuelle digitale Signatur oder ausschließlich eine von der zweiten Einrichtung mittels des Netzwerks bereitgestellte, aktuelle digitale Signatur der aktuellen Version des Softwareproduktes als Aktualitäts-Bestätigung der auf der ersten Einrichtung vorhanden Version des Softwareprodukts von der ersten Einrichtung geladen.
According to a further preferred development, the following step is provided after steps a) to f):
  • If a positive integrity check result, a positive update check result and if the time of starting or installing the version of the software product on the first device is later than a start of the update time frame, the version of the software product is started on the first device or at least a portion of a current version of the software product provided by the second device via a network and an associated current digital signature or only an up-to-date digital signature of the current version of the software product provided by the second device via the network becomes up-to-date Confirmation of the version of the software product present on the first device loaded by the first device.

Gemäß einer weiteren bevorzugten Ausgestaltung werden für jede bereitgestellte Version des Softwareproduktes der Gültigkeitszeitrahmen des öffentlichen Schlüssels, der Gültigkeitszeitrahmen des privaten Schlüssels und/oder der Update-Zeitrahmen festgelegt.According to one Another preferred embodiment will be provided for each Version of the software product of the validity periods the public key, the validity period of the private key and / or the update timeframes.

Durch diese Ausgestaltung der Erfindung ist es dem Vertreiber des Softwareproduktes ermöglicht, einen Zeitplan oder einen Schedule für die Aktualisierungen der Versionen seines Softwareproduktes zu bilden. Diesen Zeitplan kann der Vertreiber auch unter Verwendung des Zertifikats vertrauenswürdig an die Anwender weiterverteilen.By This embodiment of the invention is the distributor of the software product allows a schedule or a schedule for to make the updates of the versions of its software product. The distributor can also use this schedule by using the certificate trustworthy to the users.

Gemäß einer weiteren bevorzugten Ausgestaltung werden die verschiedenen digitalen Signaturen und die zu den jeweiligen digitalen Signaturen zugehörigen Zertifikate der verschiedenen Versionen des Softwareproduktes zur Bereitstellung eines Log-Files der Versionen des Softwareproduktes durch die erste Einrichtung und/oder die zweite Einrichtung gespeichert.According to one Another preferred embodiment, the various digital Signatures and associated with the respective digital signatures Certificates of the different versions of the software product for Providing a log file of the versions of the software product the first device and / or the second device stored.

Durch die Bereitstellung des Log-Files ist ein Dokument mit einer vertrauenswürdigen Versions-Historie bereitgestellt.By The provision of the log file is a trusted document Version history provided.

Gemäß einer weiteren bevorzugten Ausgestaltung werden bei einem positiven Integritäts-Prüfungsergebnis und einem negativen Aktualitäts-Prüfungsergebnis oder bei einem positiven Integritäts-Prüfungsergebnis, einem positiven Aktualitäts-Prüfungsergebnis und wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Beginn des Update-Zeitrahmens ist, der zumindest eine Teil der von der zweiten Einrichtung mittels des Netzwerkes bereitgestellten aktuellen Version des Softwareproduktes und die zugehörige aktuelle digitale Signatur oder ausschließlich die aktuelle digitale Signatur als Aktualitäts-Bestätigung in Abhängigkeit einer Eingabe des Nutzers der ersten Einrichtung geladen.According to another preferred embodiment, in a positive integrity check result and a negative actual check result or a positive integrity check result, a positive actual check result, and when the time of starting or installing the version of the software product on the first device is later than Beginning of the update timeframe is at least a part of the second device by means of the Network provided current version of the software product and the corresponding current digital signature or only the current digital signature as an up-to-date confirmation depending on an input of the user of the first device loaded.

Durch diese Ausgestaltung ist sichergestellt, dass der Nutzer oder Anwender der Entscheidungsträger bleibt, welche Software oder Softwareprodukte auf seiner ersten Einrichtung, beispielsweise seinem PC, ausgeführt oder installiert werden.By This configuration ensures that the user or user the decision maker remains which software or software products on his first device, such as his PC running or installed.

Gemäß einer weiteren bevorzugten Ausgestaltung wird bei einem positiven Integritäts-Prüfungsergebnis und einem negativen Aktualitäts-Prüfungsergebnis bei einem Ausbleiben einer Eingabe des Nutzers innerhalb eines vorbestimmten Zeitfensters oder einer Eingabe des Nutzers, welche angibt, dass kein Update der Version des Softwareproduktes erfolgen soll, die Version des Softwareproduktes der ersten Einrichtung nicht installiert oder in einem vorbestimmten eingeschränkten Funktionsumfang ausgeführt.According to one Another preferred embodiment is at a positive integrity test result and a negative actuality check result in the absence of an input of the user within a predetermined Time window or an input of the user, which indicates that no update of the version of the software product should be made, the Version of the software product of the first device not installed or in a predetermined limited range of functions executed.

Gemäß einer weiteren bevorzugten Ausgestaltung werden für jede Version des Softwareproduktes ein eigener privater Schlüssel mit festgelegtem Gültigkeitszeitrahmen und ein eigenes Zertifikat bereitgestellt und verwendet.According to one Another preferred embodiment will be for each version of the software product has its own private key fixed validity period and a separate certificate and used.

Gemäß einer weiteren bevorzugten Weiterbildung beinhaltet der Verfahrensschritt d) ein Überprüfen, ob ein Zeitpunkt der Erstellung der jeweiligen digitalen Signatur, welcher mittels eines in der digitalen Signatur beinhalteten Zeitstempels repräsentiert wird, innerhalb des Gültigkeitszeitrahmens des privaten Schlüssels liegt.According to one Another preferred development includes the method step d) a check if a time of creation the respective digital signature, which by means of a in the digital signature includes timestamp is represented, within the validity period of the private key lies.

Das Zertifikat kann weiter einen Hash-Algorithmus und/oder einen Signatur-Algorithmus umfassen.The Certificate can further use a hash algorithm and / or a signature algorithm include.

Vorzugsweise umfasst die digitale Signatur zumindest einen mit dem privaten Schlüssel eines Schlüsselpaares verschlüsselten Hash-Wert des Softwareproduktes.Preferably The digital signature includes at least one with the private key a key pair encrypted hash value of the software product.

Der Verfahrensschritt a) beinhaltet insbesondere folgende Schritte:

  • – Bereitstellen der Version des Softwareproduktes durch eine einem Hersteller des Softwareproduktes zugeordneten zweiten Einrichtung;
  • – Bereitstellen des Zertifikates für die Version des Softwareproduktes durch eine einer Zertifizierungsautorität zugeordneten dritten Einrichtung;
  • – Signieren der bereitgestellten Version des Softwareproduktes mittels zumindest des in dem Zertifikat enthaltenen Hash-Algorithmus;
  • – Übertragen der mittels der digitalen Signatur signierten Version des Softwareproduktes von der zweiten Einrichtung an die erste Einrichtung; und
  • – Übertragen des Zertifikats von der zweiten Einrichtung oder der dritten Einrichtung an die erste Einrichtung.
The method step a) includes in particular the following steps:
  • - Providing the version of the software product by a second device associated with a manufacturer of the software product;
  • - providing the certificate for the version of the software product by a third entity associated with a certification authority;
  • Signing the provided version of the software product by means of at least the hash algorithm contained in the certificate;
  • - transferring the digital signature signed version of the software product from the second device to the first device; and
  • - transferring the certificate from the second device or the third device to the first device.

Das Signieren der bereitgestellten Version des Softwareproduktes umfasst vorzugsweise:

  • – Berechnen zumindest eines Hash-Wertes der Version des Softwareproduktes in Abhängigkeit des in dem Zertifikat enthaltenen Hash-Algorithmus; und
  • – Verschlüsseln des zumindest einen berechneten Hash-Wertes mittels des privaten Schlüssels des Schlüsselpaares.
Signing the provided version of the software product preferably includes:
  • Calculating at least one hash value of the version of the software product as a function of the hash algorithm contained in the certificate; and
  • - Encrypt the at least one calculated hash value by means of the private key of the key pair.

Das Übertragen der signierten Version des Softwareproduktes von der zweiten Einrichtung an die erste Einrichtung beinhal tet insbesondere das Übertragen der bereitgestellten Version des Softwareproduktes und des zumindest einen verschlüsselten Hash-Wertes.The transferring the signed version of the software product from the second device In particular, the transfer includes the first device the provided version of the software product and the at least an encrypted hash value.

Ferner wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung eines wie oben erläuterten Verfahrens zum Prüfen einer auf einer ersten Einrichtung auszuführenden oder zu installierenden Version eines Softwareproduktes veranlasst.Further a computer program product is proposed which is based on a program-controlled implementation of a as explained above method for testing a to be carried out or installed on a first facility Version of a software product.

Denkbar ist z. B. die Lieferung des Computerprogrammproduktes als Speichermedium, wie Speicherkarte, USB-Stick, Floppy, CD-ROM, DVD oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk. Dies kann z. B. in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt auf die erste Einrichtung erfolgen.Conceivable is z. B. the delivery of the computer program product as a storage medium, like memory card, pen drive, floppy, cd-rom, dvd or even in shape a downloadable file from a server on a network. This can be z. In a wireless communication network through the transmission a corresponding file with the computer program product on the first set up.

Die Erfindung wird nachfolgend anhand den in den schematischen Figuren angegeben Ausführungsbeispielen näher erläutert. Es zeigen:The Invention will be described below with reference to the schematic figures specified embodiments explained in more detail. Show it:

1 ein schematisches Ablaufdiagramm eines ersten Ausführungsbeispiels des erfindungsgemäßen Verfahrens; 1 a schematic flow diagram of a first embodiment of the method according to the invention;

2 eine schematische Darstellung des Gültigkeitszeitraumes des öffentlichen Schlüssels, des Gültigkeitszeitrahmens des privaten Schlüssels und des Updatezeitrahmens; 2 a schematic representation of the validity period of the public key, the validity period of the private key and the update time frame;

3 ein schematisches Blockdiagramm eines Zertifikates; 3 a schematic block diagram of a certificate;

4 ein schematisches Ablaufdiagramm eines zweiten Ausführungsbeispiels des erfindungsgemäßen Verfahrens; und 4 a schematic flow diagram of a second embodiment of the method according to the invention; and

5 ein schematischer zeitlicher Ablauf eines Beispiels für eine Anwendung des erfindungsgemäßen Verfahrens auf einem PC eines Nutzers. 5 a schematic time sequence of an example of an application of the method according to the invention on a user's PC.

In allen Figuren sind gleiche bzw. funktionsgleiche Elemente und Einrichtungen – sofern nichts anderes angegeben ist – mit denselben Bezugszeichen versehen.In all figures are the same or functionally identical elements and facilities - if nothing else is indicated - with the same reference numerals Mistake.

1 zeigt ein schematisches Ablaufdiagramm eines ersten Ausführungsbeispiels des erfindungsgemäßen Verfahrens zum Prüfen einer auf einer ersten Einrichtung auszuführenden oder zu installierenden Version eines Softwareproduktes. Nachfolgend wird das erste Ausführungsbeispiel des erfindungsgemäßen Verfahrens anhand des Blockschaltbildes in 1 mit Bezug auf 2 erläutert. Das erste Ausführungsbeispiel des erfindungsgemäßen Verfahrens gemäß 1 weist die folgenden Verfahrensschritte S1–S6 auf: 1 shows a schematic flow diagram of a first embodiment of the inventive method for testing a version of a software product to be executed or installed on a first device. Hereinafter, the first embodiment of the method according to the invention with reference to the block diagram in 1 regarding 2 explained. The first embodiment of the method according to the invention 1 has the following method steps S1-S6:

Verfahrensschritt S1:Process step S1:

Eine Version des Softwareproduktes und eine zu der Version des Softwareproduktes zugehörige, mittels eines privaten Schlüssels erzeugte digitale Signatur wird von der ersten Einrichtung empfangen. Die erste Einrichtung ist insbesondere als ein Personalcomputer oder eine Recheneinheit eines Anwenders oder Nutzers ausgebildet. Die erste Einrichtung empfängt die Version des Softwareproduktes und die zugehörige digitale Signatur insbesondere von einer zweiten Einrichtung, welche dem Vertreiber des Softwareproduktes zugeordnet ist, insbesondere mittels eines Netzwerkes.A Version of the software product and one to the version of the software product associated, by means of a private key generated digital signature is received by the first device. The first device is in particular as a personal computer or a computing unit of a user or user trained. The first device receives the version of the software product and the associated digital signature in particular of one second device, which is the distributor of the software product is assigned, in particular by means of a network.

Verfahrensschritt S2:Step S2:

Ein Zertifikat Z, welches zumindest den zu dem privaten Schlüssel zugehörigen öffentlichen Schlüssel K1 und eine Angabe AV des Gültigkeitszeitrahmens V des öffentlichen Schlüssels K1 aufweist, wird empfangen. Die erste Einrichtung kann dabei das Zertifikat Z von der zweiten Einrichtung, welche dem Vertreiber zugeordnet ist, oder von einer dritten Ein richtung, welche insbesondere eine Zertifizierungs-Autorität ist, empfangen.One Certificate Z, which is at least the private key associated public key K1 and an indication AV of the validity period V of the public Key K1 is received. The first device can be the certificate Z from the second device, which associated with the distributor, or from a third device, which is in particular a certification authority, receive.

Verfahrensschritt S3:Step S3:

Die Gültigkeit des öffentlichen Schlüssels K1 wird in Abhängigkeit der Angabe AV des Gültigkeitszeitrahmens V des öffentlichen Schlüssels K1 zur Bereitstellung eines Aktualitäts-Prüfungsergebnisses überprüft. Dabei kann die Überprüfung der Gültigkeit des öffentlichen Schlüssels K1 zur Bereitstellung des Aktualitäts-Prüfungsergebnisses zur Angabe der Aktualität der Version des Softwareproduktes auf der ersten Einrichtung in Abhängigkeit der Angabe AV des Gültigkeitszeitrahmens V des öffentlichen Schlüssels K1 oder in Abhängigkeit der Angabe AV des Gültigkeitszeitrahmens V des öffentlichen Schlüssels K1 und eines von der dritten Einrichtung bereitgestellten Rückrufstatus R des jeweiligen Zertifikates Z für die Version des Softwareproduktes durchgeführt werden.The Validity of the public key K1 becomes dependent on the indication AV of the validity period V of the public key K1 for provision an actuality check result. It can verify the validity of the public Key K1 to provide the actuality check result to indicate the actuality of the version of the software product on the first device depending on the indication AV of the Validity period V of the public key K1 or depending on the specification AV of the validity period V of the public key K1 and one of the third facility provided callback status R of the respective certificate Z performed for the version of the software product become.

Verfahrensschritt S4:Process step S4:

Die Gültigkeit der empfangenen digitalen Signatur wird von der ersten Einrichtung zur Bereitstellung eines Integritäts-Prüfungsergebnisses geprüft. Dabei kann eine Verifikation der empfangenen, mittels der digitalen Signatur signierten Version des Softwareproduktes zur Bereitstellung des Integritäts-Prüfungsergebnisses durchgeführt werden. Ferner kann überprüft werden, ob ein Zeitpunkt der Erstellung der jeweiligen digitalen Signatur, welcher mittels eines in der digitalen Signatur beinhalteten Zeitstempels repräsentiert wird, innerhalb des Gültigkeitszeitrahmens S des privaten Schlüssels liegt.The Validity of the received digital signature is determined by the first means to provide an integrity check result checked. In this case, a verification of the received, by means of the digital signature signed version of the software product to provide the integrity check result be performed. It also checks be whether a date of creation of the respective digital Signature, which by means of a contained in the digital signature timestamp is represented, within the validity period S of the private key lies.

Verfahrensschritt S5:Step S5:

Die Aktualität der empfangenen Version des Softwareproduktes wird in Abhängigkeit des bereitgestellten Aktualitäts-Prüfungsergebnisses bestimmt. Dabei wird das Aktualitäts-Prüfungsergebnis vorzugsweise als ein negatives Aktualitäts-Prüfungsergebnis interpretiert, wenn der Zeitpunkt des Star tens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Ende des Gültigkeitszeitrahmens V des öffentlichen Schlüssels K1 ist.The Timeliness of the received version of the software product depends on the actuality check result provided certainly. In this case, the actuality check result is preferred as a negative actuality check result interpreted when the time of start or install the version of the software product on the first device later as an end of the validity period V of the public key K1 is.

Ferner kann das Aktualitäts-Prüfungsergebnis als ein negatives Aktualitäts-Prüfungsergebnis interpretiert werden, wenn der bereitgestellte Rückrufstatus R, welcher insbesondere von der dritten Einrichtung bereitgestellt wird, angibt, dass das jeweilige Zertifikat Z für die entsprechende Version des Softwareproduktes zurückgerufen ist, oder wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Ende des Gültigkeitszeitrahmens V des öffentlichen Schlüssels K1 liegt.Further can use the actuality check result as a negative actuality check result interpreted when the provided callback status R, which particular provided by the third entity, indicates that the respective certificate Z for the corresponding version the software product is recalled, or when the time starting or installing the version of the software product on the first device later than an end of the validity period V of the public key K1 is located.

Verfahrensschritt S6:Step S6:

Die Integrität der empfangenen Version des Softwareproduktes wird in Abhängigkeit des bereitgestellten Integritäts-Prüfungsergebnisses bestimmt.The Integrity of the received version of the software product depends on the integrity check result provided certainly.

In 2 ist eine schematische Darstellung des Gültigkeitszeitrahmens V des öffentlichen Schlüssels K1, des Gültigkeitszeitrahmens S des privaten Schlüssels und des Update-Zeitrahmens U abgebildet. Das Bezugszeichen t bezeichnet jeweils die Zeit. Dabei beinhaltet der Gültigkeitszeitrahmen V des öffentlichen Schlüssels K1 den Gültigkeitszeitrahmen S des privaten Schlüssels und den Update-Zeitrahmen U für eine Angabe eines notwendigen Updates der Version des Software-Produktes auf der ersten Einrichtung. Vorzugsweise beginnen der Gültigkeitszeitrahmen V des öffentlichen Schlüssels K1 und der Gültigkeitszeitrahmen U des privaten Schlüssels zeitgleich. Ferner enden die Gültigkeitszeitrahmen V des öffentlichen Schlüssels K1 und der Update-Zeitrahmen U zeitgleich. Sowohl der Gültigkeitszeitrahmen S des privaten Schlüssels als auch der Update-Zeitrahmen U sind jeweils eine Teilmenge des Gültigkeitszeitrahmens V des öffentlichen Schlüssels K1.In 2 is a schematic representation of the validity period V of the public key K1, the validity period S of the private key and the update time frame U mapped. The reference symbol t denotes the time. In this case, the validity period V of the public key K1 includes the validity period frame S of the private key and the update time frame U for an indication of a necessary update of the version of the software product on the first device. Preferably, the validity period V of the public key K1 and the validity periods U of the private key start at the same time. Furthermore, the validity periods V of the public key K1 and the update time frame U end at the same time. Both the validity period S of the private key and the update time frame U are each a subset of the validity period V of the public key K1.

3 zeigt ein schematisches Blockdiagramm eines Zertifikates Z. Vorzugsweise enthält das Zertifikat Z zumindest den öffentlichen Schlüssel K1, die Angabe AV der Gültigkeitsdauer V des öffentlichen Schlüssels K1, einen Namen N des Softwareproduktes, eine Versionsangabe VA des Softwareproduktes, eine Angabe AS des Gültigkeitszeitrahmens S des privaten Schlüssels und/oder eine Angabe AU des Update-Zeitrahmens U sowie den Namen NZ der ausstellenden Zertifizierungsautorität und die digitale Unterschrift DZ der Zertifizierungsautorität unter diese Daten. Vorzugsweise werden für jede vom Vertreiber mittels der zweiten Einrichtung bereitgestellte Version des Softwareproduktes, welche der Nutzer mittels seiner ersten Einrichtung über ein Netzwerk herunterladen kann, der Gültigkeitszeitrahmen V des öffentlichen Schlüssels K1, der Gültigkeitszeitrahmen S des privaten Schlüssels und der Update-Zeitrahmen U festgelegt oder neu bestimmt. Somit kann überprüft werden, ob ein Zeitpunkt der Erstellung der jeweiligen digitalen Signatur, welcher mittels eines in der digitalen Signatur beinhalteten Zeitstempels repräsentiert wird, innerhalb des Gültigkeitszeitrahmens S des privaten Schlüssels liegt. 3 2 shows a schematic block diagram of a certificate Z. Preferably, the certificate Z contains at least the public key K1, the validity period V of the public key K1, a name N of the software product, a version specification VA of the software product, an indication AS of the validity period S of the private Key and / or an indication AU of the update time frame U and the name NZ of the issuing certification authority and the digital signature DZ of the certification authority under this data. Preferably, for each version of the software product provided by the distributor by means of the second device, which the user can download via a network via his first device, the validity period V of the public key K1, the validity period S of the private key and the update time frame U are set or redetermined. Thus, it can be checked whether a time of creation of the respective digital signature, which is represented by means of a time stamp contained in the digital signature, lies within the validity period S of the private key.

4 zeigt ein schematisches Ablaufdiagramm eines zweiten Ausführungsbeispiels des erfindungsgemäßen Verfahrens. Das zweite Ausführungsbeispiel gemäß 4 beinhaltet die Verfahrensschritte S1–S6 gemäß 1 sowie die weiteren Verfahrensschritte S7–S9. Aus diesem Grund werden im Folgenden nur die gegenüber dem ersten Ausführungsbeispiel gemäß 1 zusätzlichen Verfahrensschritte S7–S9 erläutert. Die im Weiteren beschriebenen Verfahrensschritte S7–S9 folgen auf die Verfahrensschritte S1–S6 gemäß 1:
Die Verfahrensschritte S7–S9 werden in Abhängigkeit des Integritäts-Prüfungsergebnisses und des Aktualitäts-Prüfungsergebnisses ausgeführt.
4 shows a schematic flow diagram of a second embodiment of the method according to the invention. The second embodiment according to 4 includes the method steps S1-S6 according to 1 as well as the further process steps S7-S9. For this reason, in the following only those compared to the first embodiment according to 1 additional method steps S7-S9 explained. The method steps S7-S9 described below follow the method steps S1-S6 according to FIG 1 :
The method steps S7-S9 are executed depending on the integrity check result and the actuality check result.

Verfahrensschritt S7:Process step S7:

Bei einem positiven Integritäts-Prüfungsergebnis und einem positiven Aktualitäts-Prüfungsergebnisses wird die Version des Softwareproduktes auf der ersten Einrichtung gestartet oder installiert.at a positive integrity test result and a positive actuality check result will the version of the software product on the first device started or installed.

Verfahrensschritt S8:Step S8:

Bei einem negativen Integritäts-Prüfungsergebnis wird die Version des Softwareproduktes auf der ersten Einrichtung nicht gestartet und nicht installiert.at a negative integrity check result the version of the software product on the first device is not started and not installed.

Verfahrensschritt S9:Process step S9:

Bei einem positiven Integritäts-Prüfungsergebnis und einem negativen Aktualitäts-Prüfungsergebnis wird zumindest ein Teil einer von der zweiten Einrichtung mittels eines Netzwerks bereitgestellten aktuellen Version des Softwareproduktes und eine zugehörige aktuelle digitale Signatur von der ersten Einrichtung geladen. Alternativ kann, falls die Version des Softwareproduktes vom Vertreiber nicht, sondern nur die zugehörige digitale Signatur aktualisiert wurde, die von der zweiten Einrichtung des Vertreibers mittels des Netzwerks bereitgestellte, aktuelle digitale Signatur der aktuellen Version des Softwareproduktes als Aktualitäts-Bestätigung der auf der ersten Einrichtung vorhandenen Version des Softwareproduktes von der ersten Einrichtung geladen werden.at a positive integrity test result and a negative actuality check result at least a part of one of the second device by means of a Network provided the current version of the software product and an associated current digital signature from the first device loaded. Alternatively, if the version of the Software product from the distributor not, but only the associated digital signature was updated by the second device the distributor provided by the network, current digital signature of the current version of the software product as Update confirmation on the first device existing version of the software product from the first device getting charged.

Alternativ kann bei einem positiven Integritäts-Prüfungsergebnis, einem positiven Aktualitäts-Prüfungsergebnis und wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Beginn des Update-Zeitrahmens ist, die Version des Softwareproduktes auf der ersten Einrichtung gestartet oder installiert werden. Des Weiteren kann in einem solchen Falle zumindest ein Teil oder eine Vollversion der von der zweiten Einrichtung mittels des Netzwerkes bereitgestellten aktuellen Version des Softwareproduktes und die zugehörige aktuelle digitale Signatur oder ausschließlich die von der zweiten Einrichtung mittels des Netzwerkes bereitgestellte, aktuelle digitale Signatur der aktuellen Version des Softwareproduktes als Aktualitäts-Bestätigung der auf der ersten Einrichtung vorhandenen Version des Softwareproduktes von der ersten Einrichtung geladen werden.alternative can with a positive integrity check result, a positive actuality test result and when the time of starting or installing the version of the Software product on the first device later than a start of the update timeframe is the version of the software product be started or installed on the first device. Of Furthermore, in such a case at least a part or a Full version of the second device by means of the network provided current version of the software product and the associated current digital signature or exclusively the current provided by the second device via the network digital signature of the current version of the software product as Update confirmation on the first device existing version of the software product from the first device getting charged.

Nachdem der Nutzer oder Anwender über die Zeit eine Vielzahl aufeinanderfolgender Versionen des Softwareproduktes herunterladen kann, werden vorzugweise die verschiedenen digitalen Signaturen und die zu den jeweiligen digitalen Signaturen zugehörigen Zertifikate Z der verschiedenen Versionen des Softwareproduktes zur Bereitstellung eines Log-Files der Versionen des Softwareproduktes durch die erste Einrichtung gespeichert. Alternativ kann diese Speicherung auch von der zweiten Einrichtung des Vertreibers des Softwareproduktes erfolgen.After this the user or user over time a plurality of successive It is preferable to download versions of the software product the different digital signatures and those to the respective ones digital signatures associated with certificates Z of the various Versions of the software product for the provision of a log file the versions of the software product through the first device saved. Alternatively, this storage can also be done by the second Establishment of the distributor of the software product done.

Vorzugsweise werden das Laden aktueller Versionen des Softwareproduktes und/oder das Laden einer aktuellen digitalen Signatur von einer Eingabe des Nutzers der ersten Einrichtung getriggert. Vorzugsweise kann bei einer Aufforderung der ersten Einrichtung an den Nutzer für eine solche Eingabe und bei einem folgenden Ausbleiben der Eingabe des Nutzers innerhalb eines vorbestimmten Zeitfensters oder bei einer Eingabe des Nutzers, welche angibt, dass kein Update der Version des Softwareproduktes erfolgen soll, die Version des Softwareproduktes auf der ersten Einrichtung nicht installiert werden oder nur in einem vorbestimmten eingeschränkten Funktionsumfang ausgeführt werden.Preferably, the loading of current versions of the software product and / or the La triggering of an actual digital signature from an input of the user of the first device. Preferably, upon request of the first device to the user for such an input and subsequent failure of the user's input within a predetermined time window or input of the user indicating that no update of the version of the software product should occur, the version of the software product are not installed on the first device or are executed only in a predetermined limited range of functions.

5 zeigt einen schematischen Ablauf eines Beispiels für eine Anwendung des erfindungsgemäßen Verfahrens auf einer ersten Einrichtung, beispielsweise einem PC eines Nutzers. Die oberen fünf Zeilen der 5 zeigen verschiedene Versionen oder Releases R1–R3 eines von einer zweiten Einrichtung eines Vertreibers bereitgestellten Softwareproduktes und ihre zeitlichen Geltungsbereiche in Abhängigkeit von V, S und U. Die letzte Zeile der 5 zeigt fünf Zeitpunkte t1–t5, zu denen der Nutzer bzw. die erste Einrichtung des Nutzers hinsichtlich einer Aktualisierung der Version des Softwarepro duktes auf der ersten Einrichtung oder einer ausschließlichen Aktualisierung der digitalen Signatur tätig wird. 5 shows a schematic flow of an example of an application of the method according to the invention on a first device, such as a user's PC. The top five lines of the 5 show various versions or releases R1-R3 of a software product provided by a second device of a distributor and their time ranges depending on V, S and U. The last line of the 5 shows five times t1-t5, at which the user or the first device of the user is active in terms of an update of the version of the software product on the first device or an exclusive update of the digital signature.

Zum Zeitpunkt t1 lädt und installiert der Nutzer bzw. die erste Einrichtung des Nutzers den Release R1 des Softwareproduktes.To the Time t1 loads and installs the user or the first Setup of the user the release R1 of the software product.

Der Zeitpunkt t2 liegt innerhalb des Update-Zeitrahmens U von R1. Zu diesem Zeitpunkt t2 hat der Vertreiber des Softwareproduktes bzw. die zweite Einrichtung des Vertreibers den zweiten Release R2 des Softwareproduktes bereitgestellt. Somit lädt der Nutzer die zweite Version R2 zum Zeitpunkt t2.Of the Time t2 is within the update time frame U of R1. To At this point in time t2, the distributor of the software product or the second device of the distributor the second release R2 of the Software product provided. Thus, the user loads the second version R2 at time t2.

Zum Zeitpunkt t3 war bereits ein Rückrufstatus R von einer dritten Einrichtung, beispielsweise einer Zertifizierungs-Autorität, veröffentlicht, welche angibt, dass der Vertreiber den zweiten Release R2 zurückgerufen hat. Zum Zeitpunkt t3 empfängt der Nutzer den Rückrufstatus R und lädt die aktuelle Version R2.1.To the Time t3 was already a callback status R of one third entity, such as a certification authority, published, which indicates that the distributor the second release R2 has recalled. At time t3 the user receives the callback status R and loads the current version R2.1.

Der Zeitpunkt t4 liegt innerhalb des Update-Zeitrahmens U des zweiten Release R2, insbesondere des Releases R2.1. Ein dritter Release R3 ist zum Zeitpunkt t4 noch nicht vorhanden bzw. von der zweiten Einrichtung herunterladbar, sodass der Nutzer zum Zeitpunkt t4 ausschließlich eine aktuelle digitale Signatur für das zweite Release R2.1 lädt.Of the Time t4 is within the update time frame U of the second Release R2, especially the release R2.1. A third release R3 is not present at the time t4 or from the second Device downloadable so that the user at time t4 exclusively a current digital signature for the second release R2.1 loads.

Der Zeitpunkt t5 liegt am Beginn des Update-Zeitrahmens U des Releases 2.1. Folglich sucht die erste Einrichtung des Nutzers zum Zeitpunkt t5 nach neuen Updates des Softwareproduktes. Zum Zeitpunkt t5 hat der Vertreiber bereits das Release R3 bereitgestellt, sodass der Nutzer bzw. die erste Einrichtung des Nutzers das dritte Release R3 mittels des Netzwerkes von der zweiten Einrichtung des Vertreibers herunterladen kann.Of the Time t5 is at the beginning of the update time frame U of the release 2.1. As a result, the user's first device is currently searching t5 after new updates of the software product. At time t5 has the distributor already provided the release R3, so the User or the first device of the user the third release R3 by means of the network from the second device of the distributor can download.

Obwohl die vorliegenden Erfindung vorstehend anhand der bevorzugten Ausführungsbeispiele beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Art und Weise modifizierbar.Even though the present invention described above with reference to the preferred embodiments it is not limited to that, but to manifold ones Modifiable manner.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • - http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx [0002] - http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx [0002]
  • - http://www.java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/rsa_signing.html [0002] - http://www.java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/rsa_signing.html [0002]
  • - http://www.verisign.com/stellent/groups/public/documents/data_sheet/003201.pdf [0003] - http://www.verisign.com/stellent/groups/public/documents/data_sheet/003201.pdf [0003]
  • - http://www.verisign.com/support/tic/per/whitepaper.htm [0003] - http://www.verisign.com/support/tic/per/whitepaper.htm [0003]
  • - http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx [0005] - http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx [0005]

Claims (16)

Verfahren zum Prüfen einer auf einer ersten Einrichtung auszuführenden oder zu installierenden Version eines Softwareproduktes, mit den Schritten: a) Empfangen der Version des Softwareproduktes und einer zu der Version des Softwareproduktes zugehörigen, mittels eines privaten Schlüssels erzeugten digitalen Signatur; b) Empfangen eines Zertifikats (Z), welches zumindest den zu dem privaten Schlüssel zugehörigen öffentlichen Schlüssel (K1) und eine Angabe (AV) des Gültigkeitszeitrahmens (V) des öffentlichen Schlüssels (K1) aufweist; c) Überprüfen einer Gültigkeit des öffentlichen Schlüssels (K1) in Abhängigkeit der Angabe (AV) des Gültigkeitszeitrahmens (V) des öffentlichen Schlüssels (K1) zur Bereitstellung eines Aktualitäts-Prüfungsergebnisses; d) Überprüfen einer Gültigkeit der empfangenen digitalen Signatur zur Bereitstellung eines Integritäts-Prüfungsergebnisses; e) Bestimmen einer Aktualität der empfangenen Version des Softwareproduktes in Abhängigkeit des bereitgestellten Aktualitäts-Prüfungsergebnisses; und f) Bestimmen einer Integrität der empfangenen Version des Softwareproduktes in Abhängigkeit des bereitgestellten Integritäts-Prüfungsergebnisses.Method for testing one on one first version to be executed or installed a software product, with the steps: a) receive the Version of the software product and one to the version of the software product associated, by means of a private key generated digital signature; b) Receiving a certificate (Z), which includes at least the public key associated with the private key Key (K1) and an indication (AV) of the validity period (V) of the public key (K1); c) Check validity of the public key (K1) depending on the specification (AV) of the validity period (V) the public key (K1) for provision an actuality check result; d) Check validity of the received digital signature for Providing an integrity check result; e) Determining an actuality of the received version of the Software product depending on the provided Recency test result; and f) Determine an integrity of the received version of the software product depending on the provided integrity check result. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Gültigkeitszeitrahmen (V) des öffentlichen Schlüssels (K1) einen Gültigkeitszeitrahmen (S) des privaten Schlüssels und/oder einen Update-Zeitrahmen (U) für eine Angabe eines notwendigen Updates der Version des Softwareproduktes beinhaltet, wobei der Gültigkeitszeitrahmen (V) des öffentlichen Schlüssels (K1) und der Gültigkeitszeitrahmen (U) des privaten Schlüssels zeitgleich beginnen und der Gültigkeitszeitrahmen (V) des öffentlichen Schlüssels (K1) und der Update-Zeitrahmen (U) zeitgleich enden.Method according to claim 1, characterized in that that the validity period (V) of the public Key (K1) a validity period (S) of the private key and / or an update timeframe (U) for an indication of a necessary update of the version of the software product, with the validity period (V) the public key (K1) and the validity periods (U) of the private key start at the same time and the Validity period (V) of the public key (K1) and the update time frame (U) end at the same time. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Zertifikat (Z) den öffentlichen Schlüssel (K1), die Angabe (AV) der Gültigkeitsdauer (V) des öffentlichen Schlüssels, einen Namen (N) des Softwareproduktes, eine Versionsangabe (VA) des Softwareproduktes, eine Angabe (AS) des Gültigkeitszeitrahmens (S) des privaten Schlüssels und/oder eine Angabe (AU) des Update-Zeitrahmen (U) enthält.Method according to claim 1 or 2, characterized that the certificate (Z) is the public key (K1), the indication (AV) of the validity period (V) of the public Key, a name (N) of the software product, a Version information (VA) of the software product, an indication (AS) of the validity period (S) of the private key and / or an indication (AU) of the Update time frame (U) contains. Verfahren nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, dass der Verfahrensschritt c) ein – Überprüfen der Gültigkeit des öffentlichen Schlüssels (K1) zur Bereitstellung des Aktualitäts-Prüfungsergebnisses zur Angabe der Aktualität der Version des Softwareproduktes in Abhängigkeit der Angabe (AV) des Gültigkeitszeitrahmens (V) des öffentlichen Schlüssels (K1) oder in Abhängigkeit der Angabe (AV) des Gültigkeitszeitrahmens (V) des öffentlichen Schlüssels (K1) und eines von einer dritten Einrichtung bereitgestellten Rückrufstatus (R) des jeweiligen Zertifikats (Z) für die Version des Softwareproduktes; und/oder der Verfahrensschritt d) ein – Durchführen einer Verifikation der empfangenen, mittels der digitalen Signatur signierten Version des Softwareproduktes zur Bereitstellung des Integritäts-Prüfungsergebnisses beinhaltet.Method according to claim 1, 2 or 3, thereby in that the process step c) a - To verify the validity of the public key (K1) to provide the actuality check result to indicate the actuality of the version of the software product depending on the specification (AV) of the validity period (V) the public key (K1) or depending the indication (AV) of the validity period (V) of the public key (K1) and a callback status provided by a third device (R) of the respective certificate (Z) for the version of Software product; and / or the method step d) - Carry out a verification of the received, by means of the digital signature signed version of the software product to provide the Integrity exam result includes. Verfahren nach Anspruch 1 oder einem der Ansprüche 2–4, dadurch gekennzeichnet, dass das Aktualitäts-Prüfungsergebnis als ein negatives Aktualitäts-Prüfungsergebnis interpretiert wird, wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Ende des Gültigkeitszeitrahmens (V) des öffentlichen Schlüssels (K1) ist.The method of claim 1 or any of the claims 2-4, characterized in that the actuality check result as a negative actuality check result is interpreted when the time of starting or installing the version of the software product on the first device later as an end of the validity period (V) of the public Key (K1) is. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass das Aktualitäts-Prüfungsergebnis als ein negatives Aktualitäts-Prüfungsergebnis interpretiert wird, wenn der bereitgestellte Rückrufstatus (R) angibt, dass das jeweilige Zertifikat (Z) für die entsprechende Version des Softwareproduktes zurückgerufen ist, oder der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Ende des Gültigkeitszeitrahmens (V) des öffentlichen Schlüssels (K1) liegt.A method according to claim 4 or 5, characterized in that the actuality check result as a negative Actuality check result is interpreted, if the provided callback status (R) indicates that the respective certificate (Z) for the corresponding version the software product is called back, or the time starting or installing the version of the software product on the first device later than an end of the validity period (V) of the public key (K1) is located. Verfahren nach Anspruch 2 oder einem der Ansprüche 3–6, dadurch gekennzeichnet, dass bei einem positiven Aktualitäts-Prüfungsergebnis und wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Beginn des Update-Zeitrahmens ist, zumindest ein Teil einer aktuellen Version des Softwareproduktes und eine zugehörige aktuelle digitale Signatur der aktuellen Version des Softwareproduktes oder ausschließlich eine aktuelle digitale Signatur der aktuellen Version des Softwareproduktes als Aktualitäts-Bestätigung von der zweiten Einrichtung mittels eines Netzwerks bereitgestellt wird.A method according to claim 2 or any one of the claims 3-6, characterized in that at a positive timely test result and when the time of starting or installing the version the software product on the first device later as a beginning of the update timeframe, at least part of a current version of the software product and an associated current digital signature of the current version of the software product or only an actual digital signature of the current version of the software product as actuality confirmation provided by the second device via a network. Verfahren nach Anspruch 1 oder einem der Ansprüche 2–7, dadurch gekennzeichnet, dass nach den Schritten a) bis f) folgende Schritte vorgesehen sind: – bei einem positiven Integritäts-Prüfungsergebnis und einem positiven Aktualitäts-Prüfungsergebnis wird die Version des Softwareproduktes auf der ersten Einrichtung gestartet oder installiert; – bei einem negativen Integritäts-Prüfungsergebnis wird die Version des Softwareproduktes auf der ersten Einrichtung nicht gestartet und nicht installiert; und/oder – bei einem positiven Integritäts-Prüfungsergebnis und einem negativen Aktualitäts-Prüfungsergebnis wird zumindest ein Teil einer von der zweiten Einrichtung mittels eines Netzwerks bereitgestellten aktuellen Version des Softwareproduktes und eine zugehörige aktuelle digitale Signatur oder aus schließlich eine von der zweiten Einrichtung mittels des Netzwerks bereitgestellte, aktuelle digitale Signatur der aktuellen Version des Softwareproduktes als Aktualitäts-Bestätigung der auf der ersten Einrichtung vorhanden Version des Softwareprodukts von der ersten Einrichtung geladen.A method according to claim 1 or one of claims 2-7, characterized in that after the steps a) to f) the following steps are provided: - in the case of a positive integrity check result and a positive actual check result, the version of the software product is on the first Device started or installed; - if the integrity check result is negative, the version of the software product on the first device is not started and not installed; and / or - with a positive integrity test result and a negative update check result is at least a portion of a current version of the software product provided by the second device via a network and an associated current digital signature, or finally a current digital signature of the current version of the software product provided by the second device via the network loaded as an up-to-date confirmation of the version of the software product present on the first device from the first device. Verfahren nach Anspruch 1 oder einem der Ansprüche 2–7, dadurch gekennzeichnet, dass nach den Schritten a) bis f) folgende Schritte vorgesehen sind: – bei einem positiven Integritäts-Prüfungsergebnis, einem positiven Aktualitäts-Prüfungsergebnis und wenn der Zeitpunkt des Startens oder Installierens der Version des Softwareproduktes auf der ersten Einrichtung später als ein Beginn des Update-Zeitrahmens ist, wird die Version des Softwareproduktes auf der ersten Einrichtung gestartet oder installiert und/oder es wird zumindest ein Teil einer von der zweiten Einrichtung mittels eines Netzwerks bereitgestellten aktuellen Version des Softwareproduktes und eine zugehörige aktuelle digitale Signatur oder ausschließlich eine von der zweiten Einrichtung mittels des Netzwerks bereitgestellte, aktuelle digitale Signatur der aktuellen Version des Softwareproduktes als Aktualitäts-Bestätigung der auf der ersten Einrichtung vorhanden Version des Softwareprodukts von der ersten Einrichtung geladen.The method of claim 1 or any of the claims 2-7, characterized that after the steps a) to f) the following steps are provided: - at a positive integrity test result, a positive actuality check result and if the time of starting or installing the version of the software product on the first device later than a start of the update timeframe is, the version of the software product is on the first device started or installed and / or it becomes at least a part of a provided by the second device via a network current version of the software product and an associated current digital signature or exclusively one of the second device provided by the network, current digital signature of the current version of the software product as Update confirmation on the first device available version of the software product from the first device loaded. Verfahren nach Anspruch 2 oder einem der Ansprüche 3–9, dadurch gekennzeichnet, dass für jede bereitgestellte Version des Softwareproduktes der Gültigkeitszeitrahmen (V) des öffentlichen Schlüssels (K1), der Gültigkeitszeitrahmen (S) des privaten Schlüssels und/oder der Update-Zeitrahmen (U) festgelegt werden.A method according to claim 2 or any one of the claims 3-9, characterized in that provided for each Version of the software product of the validity periods (V) the public key (K1), the validity period (S) the private key and / or the update time frame (U) be determined. Verfahren nach Anspruch 1 oder einem der Ansprüche 2–10, dadurch gekennzeichnet, dass die verschiedenen digitalen Signaturen und die zu den jeweiligen digitalen Signaturen zugehörigen Zertifikate (Z) der verschiedenen Versionen des Softwareproduktes zur Bereit stellung eines Log-Files der Versionen des Softwareproduktes durch die erste Einrichtung und/oder die zweite Einrichtung gespeichert werden.The method of claim 1 or any of the claims 2-10, characterized in that the various digital Signatures and associated with the respective digital signatures Certificates (Z) of the different versions of the software product to provide a log file of the versions of the software product stored by the first device and / or the second device. Verfahren nach Anspruch 8 oder einem der Ansprüche 9–11, dadurch gekennzeichnet, dass bei einem positiven Integritäts-Prüfungsergebnis und einem negativen Aktualitäts-Prüfungsergebnis der zumindest eine Teil der von der zweiten Einrichtung mittels des Netzwerkes bereitgestellten aktuellen Version des Softwareproduktes und die zugehörige aktuelle digitale Signatur oder ausschließlich die aktuelle digitale Signatur als Aktualitäts-Bestätigung in Abhängigkeit einer Eingabe des Nutzers der ersten Einrichtung geladen werden.A method according to claim 8 or any one of the claims 9-11, characterized in that in a positive Integrity exam result and a negative one Timeliness check result of at least one Part of the network provided by the second device current version of the software product and the associated current digital signature or exclusively the current digital Signature as actuality confirmation in dependence an input of the user of the first device to be loaded. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass bei einem Ausbleiben einer Eingabe des Nutzers innerhalb eines vorbestimmten Zeitfensters oder einer Eingabe des Nutzers, welche angibt, dass kein Update der Version des Softwareproduktes erfolgen soll, die Version des Softwareproduktes der ersten Einrichtung nicht installiert wird oder in einem vorbestimmten eingeschränkten Funktionsumfang ausgeführt wird.Method according to claim 12, characterized in that that in the absence of input by the user within a predetermined time window or an input of the user indicating that no update of the version of the software product should take place, the version of the software product of the first device is not installed is or in a predetermined limited range of functions is performed. Verfahren nach Anspruch 2 oder einem der Ansprüche 3–13, dadurch gekennzeichnet, dass für jede Version des Softwareproduktes ein eigener privater Schlüssel mit festgelegtem Gültigkeitszeitrahmen und ein eigenes Zertifikat bereitgestellt und verwendet werden.A method according to claim 2 or any one of the claims 3-13, characterized in that for each version of the software product has its own private key fixed validity period and own certificate be provided and used. Verfahren nach Anspruch 2 oder einem der Ansprüche 3–14, dadurch gekennzeichnet, dass der Verfahrensschritt d) beinhaltet: – Überprüfen, ob ein Zeitpunkt der Erstellung der jeweiligen digitalen Signatur, welcher mittels eines in der digitalen Signatur beinhalteten Zeitstempels repräsentiert wird, inner halb des Gültigkeitszeitrahmens (S) des privaten Schlüssels liegt.A method according to claim 2 or any one of the claims 3-14, characterized that the process step d) includes: - Check if a time of creation of the respective digital signature, which by means of a timestamp contained in the digital signature is represented within the validity period (S) of the private key. Computerprogrammprodukt, welches auf einer programmgesteuerten Einrichtung die Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 15 veranlasst.Computer program product running on a program-controlled Device to carry out a procedure according to one of claims 1 to 15 causes.
DE102007039602A 2007-08-22 2007-08-22 A method of verifying a version of a software product to be executed or installed on a first device Ceased DE102007039602A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102007039602A DE102007039602A1 (en) 2007-08-22 2007-08-22 A method of verifying a version of a software product to be executed or installed on a first device
PCT/EP2008/057674 WO2009024373A2 (en) 2007-08-22 2008-06-18 Method for testing a version of a software product to be executed or installed on a first device
EP08774124A EP2191407A2 (en) 2007-08-22 2008-06-18 Method for testing a version of a software product to be executed or installed on a first device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102007039602A DE102007039602A1 (en) 2007-08-22 2007-08-22 A method of verifying a version of a software product to be executed or installed on a first device

Publications (1)

Publication Number Publication Date
DE102007039602A1 true DE102007039602A1 (en) 2009-02-26

Family

ID=39683452

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007039602A Ceased DE102007039602A1 (en) 2007-08-22 2007-08-22 A method of verifying a version of a software product to be executed or installed on a first device

Country Status (3)

Country Link
EP (1) EP2191407A2 (en)
DE (1) DE102007039602A1 (en)
WO (1) WO2009024373A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106458112A (en) * 2014-11-12 2017-02-22 松下电器(美国)知识产权公司 Update management method, update management device, and control program
EP3467696A1 (en) * 2017-10-09 2019-04-10 DriveLock SE Module and method for securing computer systems

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262306B2 (en) 2010-01-27 2016-02-16 Hewlett Packard Enterprise Development Lp Software application testing
US8949797B2 (en) 2010-04-16 2015-02-03 International Business Machines Corporation Optimizing performance of integrity monitoring

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084138A1 (en) * 2001-10-24 2003-05-01 Groove Networks, Inc. Method and apparatus for managing software component downloads and updates

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10140721A1 (en) * 2001-08-27 2003-03-20 Bayerische Motoren Werke Ag Method for providing software for use by a control device of a vehicle

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084138A1 (en) * 2001-10-24 2003-05-01 Groove Networks, Inc. Method and apparatus for managing software component downloads and updates

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
http://www.java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/rsa_signing.html
http://www.microsoft.com/whdc/winlogo/drvsign/best_practices.mspx
http://www.verisign.com/stellent/groups/public/documents/data_sheet/003201.pdf
http://www.verisign.com/support/tic/per/whitepaper.htm

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106458112A (en) * 2014-11-12 2017-02-22 松下电器(美国)知识产权公司 Update management method, update management device, and control program
EP3219553A4 (en) * 2014-11-12 2017-10-25 Panasonic Intellectual Property Corporation of America Update management method, update management device, and control program
EP3412514A1 (en) * 2014-11-12 2018-12-12 Panasonic Intellectual Property Corporation of America Update management method, update management device, and control program
CN110377310A (en) * 2014-11-12 2019-10-25 松下电器(美国)知识产权公司 It updates management method, update managing device and computer-readable recording medium
EP3467696A1 (en) * 2017-10-09 2019-04-10 DriveLock SE Module and method for securing computer systems

Also Published As

Publication number Publication date
EP2191407A2 (en) 2010-06-02
WO2009024373A2 (en) 2009-02-26
WO2009024373A3 (en) 2009-07-02

Similar Documents

Publication Publication Date Title
DE102013108020A1 (en) Authentication scheme for activating a special privilege mode in a secure electronic control unit
WO2015124726A1 (en) Method and system for creating and checking the validity of device certificates
DE102013108022A1 (en) Method for activating the development mode of a secure electronic control unit
DE102007034525B4 (en) Method and system for checking the integrity of data stored in a predetermined memory area of a memory
EP2692157A2 (en) Updating a data storage medium application
DE102008029636A1 (en) Enable a service on an electronic device
EP1185026B2 (en) Method for data transmission
DE102013213314A1 (en) Deposit at least one computable integrity measure in a memory area of a memory
EP2673731B1 (en) Method for programming a mobile terminal chip
EP2885907B1 (en) Method for installing of security relevant applications in a security element of a terminal
DE102007039602A1 (en) A method of verifying a version of a software product to be executed or installed on a first device
EP3695337A1 (en) Method and confirmation device for confirming the integrity of a system
DE102018213616A1 (en) Cryptography module and operating method therefor
EP2038805B1 (en) Method for delegating privileges to a lower level privilege instance by a higher level privilege instance
DE102016208284A1 (en) Improve device authentication using device monitoring data
WO2021110425A1 (en) Method and measuring unit for identity-secured provision of a measurement data set
DE102019005545A1 (en) Method for operating a machine data communication network and machine data communication network
EP3186740B1 (en) Method for installing an additional application in a non-volatile memory of a chip card
DE102012022874A1 (en) application installation
EP1993054B1 (en) Method for extracting software from a terminal
DE102021125749A1 (en) Device, method and computer program for monitoring security of computing function blocks in a vehicle
DE102021125851A1 (en) PROBLEM MANAGEMENT IN A USER SYSTEM
DE102007052545A1 (en) Integrity securing method for loaded software components of computer system, involves registering implemented characteristics of software components and determining characteristics of software component
DE102021129670A1 (en) Method, vehicle component and computer program for granting authorization for a vehicle component of a vehicle to execute a computer program
DE102020203919A1 (en) Verification procedure for an electronic component and component

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection