-
Die Erfindung bezieht sich auf eine Clientvorrichtung zum abgesicherten Freischalten von Funktionen eines Clients. Des Weiteren bezieht sich die Erfindung auf eine Servervorrichtung zum Bereitstellen eines Passworts für eine Clientvorrichtung. Darüber hinaus betrifft die Erfindung ein System mit einem Client, welcher eine Clientvorrichtung aufweist, sowie einem Server, welcher eine Servervorrichtung aufweist. Des Weiteren betrifft die Erfindung ein Verfahren zum abgesicherten Freischalten von Funktionen eines Clients. Darüber hinaus betrifft die Erfindung ein Verfahren zum Bereitstellen eines Passworts für eine Clientvorrichtung.
-
Heutige Produkte bieten komplexe Service- und Wartungsfunktionen, mit denen Geräteparameter verändert und Fehler diagnostiziert oder behoben werden können. Die Nutzung solcher Funktionen kann bei Wartungstechnikern ein hohes Ausbildungsniveau voraussetzen. Häufig handelt es sich bei diesen Produkten um Geräte, die Produktsicherheitsanforderungen erfüllen müssen. Gerade in diesem Zusammenhang ist es wichtig, sicherstellen zu können, dass Wartungsarbeiten oder Servicedurchführungen nur von Nutzern getätigt werden können, die eine entsprechende Ausbildung oder ein entsprechendes Wissen haben. Andernfalls könnte die Durchführung von Wartungs- und Servicefunktionen zu erheblichen Safety- beziehungsweise Sicherheitsproblemen führen. Ein Beispiel für solche Produkte sind Medizinprodukte.
-
Servicefunktionen an einem bestimmten Gerät oder Produkt müssen daher so geschützt und abgesichert werden, dass der Hersteller die Sicherheit hat, dass sie nur durch vom Hersteller autorisierte und aktuell geschulte Nutzer verwendet werden können. Des Weiteren ist es auch ein wichtiges Geschäftsmodell die temporäre Durchführung von Service- und Wartungsaufgaben an einem Gerät gegen ein Entgelt zu ermöglichen. Daher ist es wünschenswert sicherzustellen, dass die erworbene Wartungsleistung nur an dem spezifischen Gerät und nicht an anderen typgleichen Geräten durchgeführt werden kann und/oder die erworbene Wartungsleistung nur innerhalb der vereinbarten Zeitdauer durchgeführt werden kann, und/oder die Beglaubigung (Credential) der erworbenen Wartungsleistung, nur vom Hersteller selbst ausgestellt werden darf.
-
Die Autorisierung kann beispielsweise durch den Hersteller der Geräte erfolgen. Beispielsweise kann der Betreiber der Geräte nur vom Hersteller autorisiert werden, wenn er die entsprechenden Kriterien erfüllt. Abhängig von der Qualität der Funktionen sind verschiedene Autorisierungen zu prüfen. Wünschenswert wäre eine zeitlich beschränkte Autorisierung, um beim Wartungstechniker den jeweils aktuellen Ausbildungsstand voraussetzen zu können. Unter Autorisierung können hierbei Daten verstanden, die definieren, was man wie lange auf dem Gerät machen darf.
-
Um eine zeitlich begrenze Autorisierungsmöglichkeit bereitstellen zu können, muss diese vom Hersteller der Produkte immer wieder neu vergeben werden. Eine dauerhafte Onlineverbindung des Produkts mit dem Hersteller führt jedoch zu erhöhten Kosten und erhöhten erforderlichen Rechenkapazitäten. Des Weiteren erfüllen nicht alle Geräte die entsprechenden Bedingungen, um komplizierte Autorisierungsinformationen annehmen und verarbeiten zu können.
-
Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, eine einfache und sichere Möglichkeit bereitzustellen, Autorisierungen bzw. Funktionen eines Produkts freizugeben.
-
Demgemäß wird eine Clientvorrichtung zum abgesicherten Freischalten von Funktionen eines Clients vorgeschlagen. Die Clientvorrichtung weist eine Speichereinheit zum Speichern einer Mehrzahl von Freischaltschlüsseln, wobei jeder Freischaltschlüssel zumindest eine Funktion des Clients definiert und einem Passwort zugeordnet ist, eine Empfangseinheit zum Empfangen eines Passworts von einem Server und eine Verarbeitungseinheit zum Vergleichen der Mehrzahl von Freischaltschlüsseln mit dem empfangenen Passwort, zum Auswählen des Freischaltschlüssels, dem das empfangene Passwort zugeordnet ist, und zum Freischalten von zumindest einer Funktion des Clients, die in dem ausgewählten Freischaltschlüssel enthalten ist, auf.
-
Gemäß der vorgeschlagenen Clientvorrichtung werden Freischaltschlüssel, in diesem Zusammenhang auch Service-Keys genannt, von einer Servervorrichtung, beispielsweise des Herstellers, erzeugt und ausgegeben, wobei ein Freischaltschlüssel auch als Credential bezeichnet werden kann.
-
Gemäß der vorgeschlagenen Clientvorrichtung sind in einem Client, beispielsweise einem Produkt oder Gerät, eine Mehrzahl von Freischaltschlüsseln vorab gespeichert. Dies kann beispielsweise bei der Herstellung oder vor dem Verkauf erfolgen. Diese Freischaltschlüssel oder Service-Keys definieren jeweils verschiedene Funktionen des Clients, die durch diesen Freischaltschlüssel freigegeben werden sollen. Als Funktion des Clients können auch eine Anzahl an verschiedenen Funktionen des Clients verstanden werden.
-
Jeder dieser Freischaltschlüssel ist einem Passwort zugeordnet, wobei das Passwort auf der Clientvorrichtung selbst nicht offen gespeichert ist. Auf Aufforderung kann nun von einem Server ein Passwort empfangen werden und dieses Passwort in die Clientvorrichtung eingegeben werden.
-
Die Verarbeitungseinheit kann nun die Mehrzahl von gespeicherten Freischaltschlüsseln mit dem empfangenen Passwort vergleichen. Die Verarbeitungseinheit wählt dabei denjenigen Freischaltschlüssel, dem das empfangene Passwort zugeordnet ist, aus und verwendet diesen Freischaltschlüssel, um zumindest eine Funktion des Clients, die in dem Freischaltschlüssel enthalten ist, freizuschalten.
-
Die jeweilige Einheit, zum Beispiel Verarbeitungseinheit oder Empfangseinheit, kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Einheit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor oder als Steuerrechner eines Fahrzeuges ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein.
-
Gemäß einer Ausführungsform besteht das Passwort aus einer kurzen Zeichenfolge.
-
Das Passwort kann somit eine akzeptable Größe haben, damit es ein Techniker direkt am Gerät bzw. Client eintippen kann. Auf diese Weise kann die vorgeschlagene Clientvorrichtung auch für Geräte bzw. Clients verwendet werden, die nur eine Eingabe über eine Tastatur gestatten. Der Nutzer kann hier eine Freischaltung über Eingabe eines kurzen Passworts erreichen. Gleichzeitig ist dies sehr sicher, d.h. kein Hacker kann sich selbst Freischaltschlüssel bzw. Passwörter erzeugen.
-
Im Gegensatz zum Freischaltschlüssel bzw. im Gegensatz zu generell digital signierten Autorisierungsdaten, kann das Passwort gemäß dieser Ausführungsform als relativ kurze Base32-Zeichenfolge (z.B. < 20 Zeichen) codiert werden, so dass dieses von einer Person direkt am Gerät eingetippt werden kann. Entsprechend codierte digital signierte Autorisierungsdaten wären von der Zeichenanzahl viel zu lang und damit der Person zur händischen Eingabe nicht zumutbar.
-
Gemäß einer Ausführungsform ist jeder Freischaltschlüssel mit einem privaten Schlüssel des Servers signiert.
-
Gemäß dieser Ausführungsform werden die zur Autorisierung verwendeten Daten, das heißt der Freischaltschlüssel, mit einem digitalen Signaturverfahren signiert. Ein solches Signaturverfahren kann beispielsweise ECDSA oder RSA sein. Der Freischaltschlüssel kann also aus einer Kombination der Autorisierungsdaten, das heißt der Daten, die angeben, welche Funktionen freizuschalten sind, und der zugehörigen Signatur bestehen.
-
Gemäß einer weiteren Ausführungsform ist die Verarbeitungseinheit dazu eingerichtet, die Signatur des ausgewählten Freischaltschlüssels mittels eines gespeicherten öffentlichen Schlüssels des Servers zu verifizieren.
-
Der private Schlüssel des Herstellers beziehungsweise Servers verbleibt beim Server, und in dem Client ist der öffentliche Signaturschlüssel gespeichert. Ein Hacker kann dabei nicht von dem öffentlichen Schlüssel auf den privaten Schlüssel schließen. Daher kann auch nur der Hersteller Freischaltschlüssel erzeugen. Mit diesem öffentlichen Schlüssel kann die Clientvorrichtung nun verifizieren, ob das empfangene Passwort mit einem der Freischaltschlüssel zusammenpasst oder nicht.
-
Insbesondere wird innerhalb des Freischaltschlüssels das Passwort zusammen mit den Autorisierungsdaten, das heißt den Daten, die die freizuschaltenden Funktionen des Clients angeben, mittels des privaten Schlüssels des Servers signiert. Der Service-Key beziehungsweise Freischaltschlüssel besteht also aus den Autorisierungsdaten und der erzeugten Signatur, aber nicht aus dem einbezogenen Passwort. Dieses kennt nur der Server und es wird nicht an die Clientvorrichtung beziehungsweise den Client übertragen.
-
Bei der Verifizierung des ausgewählten Freischaltschlüssels wird durch die Verarbeitungseinheit überprüft, ob das empfangene Passwort überhaupt zu einem der vorgespeicherten Freischaltschlüssel passt. Das bedeutet, dass für jeden gespeicherten Freischaltschlüssel die Signatur über die zugehörigen Autorisierungsdaten und das eingegebene Passwort geprüft wird. Die Autorisierungsdaten oder Teile hiervon können dabei vorab von der Clientvorrichtung an den Server gesendet werden, um das Passwort anzufordern.
-
Der Freischaltschlüssel enthält also Informationen, anhand derer das Gerät bzw. die Clientvorrichtung überprüfen kann, ob der Freischaltschlüssel auch wirklich vom Hersteller ausgestellt wurde.
-
Gemäß einer weiteren Ausführungsform definiert der Freischaltschlüssel eine Dauer einer Freischaltung der zumindest einen Funktion.
-
In dem Freischaltschlüssel beziehungsweise Service-Key kann bereits eine Servicedauer, das heißt eine Dauer der Gültigkeit des Freischaltschlüssels gespeichert sein. Die Clientvorrichtung kann beim Anfordern eines Passworts angeben, für welche Dauer sie einen Freischaltschlüssel benötigt. Das empfangene Passwort kann dabei bereits einem Freischaltschlüssel zugeordnet sein, der diese Dauer oder eine Dauer, die der gewünschten Dauer am nächsten kommt, definiert.
-
Gemäß einer weiteren Ausführungsform ist die Verarbeitungseinheit dazu eingerichtet, den ausgewählten Freischaltschlüssel nach Ablauf der Dauer der Freischaltung zu deaktivieren.
-
Gemäß dieser Ausführungsform wird der ausgewählte und verwendete Freischaltschlüssel automatisch nach Ablauf der Dauer der Freischaltung deaktiviert. Auf diese Weise kann der verwendete Freischaltschlüssel nicht erneut verwendet werden. Alternativ kann ein Freischaltschlüssel bereits bei Erstaktivierung für eine neue Verwendung deaktiviert werden.
-
Gemäß einer weiteren Ausführungsform weist die Clientvorrichtung eine Sendeeinheit zum Senden einer Freischaltschlüsselanfrage an den Server auf, wobei die Freischaltschlüsselanfrage zumindest eine Funktion des Clients zum Freischalten angibt.
-
Um ein Passwort von dem Server zu erhalten, kann die Sendeeinheit eine Freischaltschlüsselanfrage an den Server senden. Diese Freischaltschlüsselanfrage kann dabei definieren, für welche Funktionen, das heißt für welchen Servicelevel, eine Freischaltung benötigt wird.
-
Die Service-Keys bzw. Freischaltschlüssel können in der Form von Passwörtern über eine Business-Unit, beispielsweise den Hersteller, an herstellerfremde Personen oder Firmen verkauft werden, die die Service- und Wartungsleistung für ein Gerät des Herstellers erbringen möchten. Dies können direkt die Besitzer der Geräte sein oder Subunternehmer, die für die Besitzer Service und Wartung übernehmen
-
Gemäß einer weiteren Ausführungsform gibt die Freischaltschlüsselanfrage eine Dauer der Freischaltung und/oder eine Kennung des Clients an.
-
Die Freischaltschlüsselanfrage kann definieren, wie lange die gewünschte Freischaltung dauern soll, zum Beispiel mittels einer Gültigkeitsdauer oder eines Startdatums, und kann des Weiteren eine Kennung des Clients selbst angeben.
-
Gemäß einer weiteren Ausführungsform enthält jeder gespeicherte Freischaltschlüssel eine Dauer der Freischaltung und/oder eine Kennung des Clients.
-
Die Mehrzahl von gespeicherten Freischaltschlüsseln kann für unterschiedliche Servicedauern beziehungsweise Dauern der Freischaltung vorgesehen sein. Um die Anzahl an gespeicherten Freischaltschlüsseln nicht zu groß werden zu lassen, kann für die Dauer der Freischaltung mit festen Zeiträumen gearbeitet werden. So kann jeder Freischaltschlüssel beispielsweise ein Jahr gültig sein. Alternativ können die gespeicherten Freischaltschlüssel eine unterschiedliche Dauer der Freischaltung enthalten, und wenn kein passender Freischaltschlüssel vorgesehen ist, kann ein Freischaltschlüssel ausgewählt werden, der der gewünschten Dauer am nächsten kommt.
-
Gemäß einer weiteren Ausführungsform ist die Verarbeitungseinheit dazu eingerichtet, den ausgewählten Freischaltschlüssel in Bezug auf die Dauer der Freischaltung und/oder die Kennung des Clients zu überprüfen, die in der Freischaltschlüsselanfrage angegeben sind.
-
Um die Sicherheit zu erhöhen, kann die Verarbeitungseinheit die Kennung des Clients bzw. Geräts überprüfen. Des Weiteren kann die Verarbeitungseinheit durch die Überprüfung der Dauer der Freischaltung in den ausgewählten Freischaltschlüsseln denjenigen Freischaltschlüssel auswählen, der der gewünschten Dauer am nächsten kommt.
-
Gemäß einem weiteren Aspekt wird eine Servervorrichtung zum Bereitstellen eines Passworts für eine Clientvorrichtung, wie sie oben beschrieben ist, vorgeschlagen. Die Servervorrichtung weist eine Speichereinheit zum Speichern einer Mehrzahl von Freischaltschlüsseln, wobei jeder Freischaltschlüssel zumindest eine Funktion des Clients definiert und einem Passwort zugeordnet ist, eine Empfangseinheit zum Empfangen einer Freischaltschlüsselanfrage, wobei die Freischaltschlüsselanfrage zumindest eine Funktion des Clients zum Freischalten angibt, eine Verarbeitungseinheit zum Auswählen eines Freischaltschlüssels aus der Mehrzahl von Freischaltschlüsseln basierend auf der empfangenen Freischaltschlüsselanfrage und eine Sendeeinheit zum Senden eines Passworts, das dem ausgewählten Freischaltschlüssel zugeordnet ist, an den Client auf.
-
Das für die Benutzung eines Freischaltschlüssels notwendige Passwort, das heißt das Passwort, das für diesen speziellen Freischaltschlüssel vorher erzeugt wurde, muss beim Server aus den zugehörigen Autorisierungsdaten, das heißt den Daten, die in der Freischaltschlüsselanfrage enthalten sind, wiederherstellbar sein. Um den Aufwand für die Speicherung und Verwaltung der Passwörter gering zu halten, können dies Passwörter mit einer sogenannten Schlüsselableitungsfunktion (Key-Derivation-Funktion) aus den Autorisierungsdaten zusammen mit einem speziellen kryptographischen Schlüssel deterministisch gebildet werden.
-
Da diese Berechnung nur im Server stattfinden würde, ist dies auch nicht sicherheitsbedenklich. Ein Hacker hätte bei diesem Ansatz keine Möglichkeit, eigene Freischaltschlüssel zu erzeugen, da er keinen Zugriff auf den privaten Signaturschlüssel besitzt, der im Server gespeichert ist. Auch ein Pool an gespeicherten Freischaltschlüsseln im Client könnte ein Hacker nicht für seine Zwecke benutzen, da er die für die Aktivierung der Freischaltschlüssel notwendigen Passwörter nicht kennt. Diese wurden im Server zufällig oder über eine geheime Key-Derivation-Funktion gewählt und ein Hacker könnte nun lediglich per Brute-Force-Attacke alle möglichen Passwörter für die gespeicherten Freischaltschlüssel durchprobieren.
-
Wenn die Passwörter ausreichend lang gewählt sind, ist dies jedoch mit einem erheblichen Aufwand verbunden. Zum Beispiel kann ein Passwort mit 100 Bit in einer Zeichenkette mit circa 20 Zeichen Base32-codiert werden. Eine Brute-Force-Attacke auf die gespeicherten Freischaltschlüssel mit 100 Bit Passwörtern kann nicht in vertretbarer Zeit durchgeführt werden.
-
Da im Laufe der Zeit immer mehr gespeicherte Freischaltschlüssel durch Benutzung inaktiv oder durch Ablauf der Gültigkeitsdauer unbrauchbar werden, muss der Pool an gespeicherten Freischaltschlüsseln aufgefüllt werden. Dies kann durch die Servervorrichtung beispielsweise im Rahmen von wiederkehrenden Systemupdates des Clients beziehungsweise der Clientvorrichtung passieren.
-
Gemäß einem weiteren Aspekt wird ein System mit einem Client, welcher eine Clientvorrichtung, wie sie oben beschrieben ist, aufweist, und einem Server vorgeschlagen, welcher eine Servervorrichtung, wie sie oben beschrieben ist, aufweist, wobei der Client und der Server dazu eingerichtet sind, miteinander zu kommunizieren.
-
Der Client und der Server können auch implizit miteinander kommunizieren, beispielsweise indem ein Passwort, das von dem Server bereitgestellt wird, über eine Tastatur in den Client eingegeben wird. Auch Systemupdates des Clients, die von dem Server bereitgestellt werden, können als Kommunikation verstanden werden. Das bedeutet, dass eine Kommunikation zwischen Client und Server auch indirekt erfolgen kann. Alternativ kann eine Kommunikation zwischen Client und Server auch über ein Kommunikationsnetzwerk, wie beispielsweise WLAN oder ähnliches, erfolgen.
-
Gemäß einem weiteren Aspekt wird ein Verfahren zum abgesicherten Freischalten von Funktionen eines Clients vorgeschlagen. Das Verfahren weist die folgenden Schritte auf: Speichern einer Mehrzahl von Freischaltschlüsseln, wobei jeder Freischaltschlüssel zumindest eine Funktion des Clients definiert und einem Passwort zugeordnet ist, Empfangen eines Passworts von einem Server, und Vergleichen der Mehrzahl von Freischaltschlüsseln mit dem empfangenen Passwort, Auswählen des Freischaltschlüssels, dem das empfangene Passwort zugeordnet ist, und Freischalten von zumindest einer Funktion des Clients, die in dem ausgewählten Freischaltschlüssel enthalten ist.
-
Gemäß einem weiteren Aspekt wird ein Verfahren zum Bereitstellen eines Passworts für eine Clientvorrichtung vorgeschlagen. Das Verfahren weist die folgenden Schritte auf: Speichern einer Mehrzahl von Freischaltschlüsseln, wobei jeder Freischaltschlüssel zumindest eine Funktion des Clients definiert und einem Passwort zugeordnet ist, Empfangen einer Freischaltschlüsselanfrage, wobei die Freischaltschlüsselanfrage zumindest eine Funktion des Clients zum Freischalten angibt, Auswählen eines Freischaltschlüssels aus der Mehrzahl von Freischaltschlüsseln basierend auf der empfangenen Freischaltschlüsselanfrage, und Senden eines Passworts, das dem ausgewählten Freischaltschlüssel zugeordnet ist, an den Client.
-
Die für die vorgeschlagenen Vorrichtungen beschriebenen Ausführungsformen und Merkmale gelten für die vorgeschlagenen Verfahren entsprechend.
-
Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung der wie oben erläuterten Verfahren veranlasst.
-
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen.
-
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen.
-
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele der Erfindung. Im Weiteren wird die Erfindung anhand von bevorzugten Ausführungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert.
-
1 zeigt ein schematisches Blockdiagramm eines Systems mit einer Clientvorrichtung und einer Servervorrichtung;
-
2 zeigt ein schematisches Ablaufdiagramm eines Verfahrens zum Freischalten von Funktionen eines Clients; und
-
3 zeigt ein schematisches Ablaufdiagramm eines Verfahrens zum Bereitstellen eines Passworts für eine Clientvorrichtung.
-
In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist.
-
1 zeigt ein System 100 mit einem Client, welcher eine Clientvorrichtung 10 aufweist und einem Server, welcher eine Servervorrichtung 20 aufweist. Der Client beziehungsweise Server sind hier nicht explizit gezeigt.
-
Die Clientvorrichtung 10 weist eine Speichereinheit 11, eine Empfangseinheit 12, eine Verarbeitungseinheit 13 und eine Sendeeinheit 14 auf.
-
Die Servervorrichtung 20 weist eine Speichereinheit 21, eine Empfangseinheit 22, eine Verarbeitungseinheit 23 und eine Sendeeinheit 24 auf.
-
Um Funktionen des Clients freizuschalten, kann die Clientvorrichtung 10 mittels der Sendeeinheit 14 eine Freischaltschlüsselanfrage an die Servervorrichtung 20 senden. Diese Freischaltschlüsselanfrage kann eine Funktion des Clients zum Freischalten, eine Dauer der Freischaltung und/oder eine Kennung des Clients definieren. Die Freischaltschlüsselanfrage wird von der Empfangseinheit 22 der Servervorrichtung 20 empfangen. Die Verarbeitungseinheit 23 der Servervorrichtung 20 kann nun einen Freischaltschlüssel aus einer Mehrzahl von Freischaltschlüsseln, die in der Speichereinheit 21 der Servervorrichtung 20 gespeichert sind, auswählen. Hierzu kann die Verarbeitungseinheit 23 überprüfen, welche Funktionen der gespeicherten Freischaltschlüssel am ehesten der empfangenen Freischaltschlüsselanfrage entsprechen.
-
Die Sendeeinheit 24 der Servervorrichtung 20 kann nun ein Passwort, das dem ausgewählten Freischaltschlüssel zugeordnet ist, an die Clientvorrichtung 10 senden. Senden kann in diesem Zusammenhang auch als implizites Senden, beispielsweise als Übermitteln des Passworts an eine andere Vorrichtung, und händisches Eingeben des Passworts in der Clientvorrichtung 10 verstanden werden.
-
Die Empfangseinheit 12 der Clientvorrichtung 10 empfängt nun das Passwort (zumindest implizit) von der Servervorrichtung 20. Die Verarbeitungseinheit 13 der Clientvorrichtung 10 kann nun eine Mehrzahl von gespeicherten Freischaltschlüsseln, die in der Speichereinheit 11 der Clientvorrichtung 10 gespeichert sind, mit dem empfangenen Passwort vergleichen. Unter Vergleichen kann hierbei ein Überprüfen der Signatur der gespeicherten Freischaltschlüsseln mit einer erzeugten Signatur anhand des Passworts und der gewünschten Funktionen, die in der Freischaltschlüsselanfrage enthalten sind, entsprechen. Die Verarbeitungseinheit 13 der Clientvorrichtung 10 kann dann den entsprechenden Freischaltschlüssel auswählen, und zumindest eine Funktion des Clients freischalten, die in dem ausgewählten Freischaltschlüssel enthalten ist.
-
Ein Freischaltschlüssel kann also folgende Form aufweisen: Auth+||SIGN(Auth+||Auth–||PWD)
-
Hierbei wird die folgende Notation verwendet:
- • A||B ist die Konkatenation der Zeichenketten A und B.
- • SIGN(A) ist die digitale Signatur der Zeichenkette A mit dem privaten Signatur-Schlüssel p
- • VERIFY(A, B) überprüft die Signatur B über die Eingabedaten A mit dem öffentlichen Signatur-Schlüssel q. Bei korrekter Signatur wird OK zurückgegeben, ansonsten FEHLER.
- • Auth+ sind diejenigen Authentisierungsdaten, die in die Signatur einfließen und die Teil des Freischaltschlüssels sind, wie beispielsweise die Service-Dauer
- • Auth– sind diejenigen Authentisierungsdaten, die ebenso in die Signatur einfließen, aber nicht Teil des Freischaltschlüssels sind. Diese Daten sind direkt in dem Produkt abfragbar und müssen nicht als Teil des der Freischaltschlüsselanfrage mitgeschickt werden: ein Beispiel hierfür ist die Kennung des Clients.
- • PWD ist ein zufällig erzeugtes Passwort.
-
Die Mehrzahl von n gespeicherten Freischaltschlüsseln können folgende Form aufweisen: Authi+||SIGN(Authi+||Auth–||PWDi) für i = 1 ... n
-
Für jeden installierten und aktiven Freischaltschlüssel kann in der Verarbeitungseinheit 13 die Signatur über die zugehörigen Autorisierungsdaten und über das eingegebene Passwort geprüft werden: Für i = 1 ... n wird überprüft, ob VERIFY(Authi+||Auth–||PWD, SIGN(Authi+||Auth–||PWDi)) == OK
-
2 zeigt ein Verfahren zum abgesicherten Freischalten von Funktionen eines Clients. Das Verfahren weist die Schritte 201–205 auf.
-
In Schritt 201 wird eine Mehrzahl von Freischaltschlüsseln gespeichert, wobei jeder Freischaltschlüssel zumindest eine Funktion des Clients definiert und einem Passwort zugeordnet ist.
-
In Schritt 202 wird ein Passwort von einem Server empfangen.
-
In Schritt 203 wird die Mehrzahl von Freischaltschlüsseln mit dem empfangenen Passwort verglichen.
-
In Schritt 204 wird der Freischaltschlüssel, dem das empfangene Passwort zugeordnet ist, ausgewählt.
-
In Schritt 205 wird zumindest eine Funktion des Clients, die in dem ausgewählten Freischaltschlüssel enthalten ist, freigeschaltet.
-
3 zeigt ein Verfahren zum Bereitstellen eines Passwort für eine Clientvorrichtung 10. Das Verfahren weist die Schritte 301–304 auf.
-
In Schritt 301 wird eine Mehrzahl von Freischaltschlüsseln gespeichert, wobei jeder Freischaltschlüssel zumindest eine Funktion des Clients definiert und einem Passwort zugeordnet ist.
-
In Schritt 302 wird eine Freischaltschlüsselanfrage empfangen, wobei die Freischaltschlüsselanfrage zumindest eine Funktion des Clients zum Freischalten angibt.
-
In Schritt 303 wird ein Freischaltschlüssel aus der Mehrzahl von Freischaltschlüsseln basierend auf der empfangenen Freischaltschlüsselanfrage ausgewählt.
-
In Schritt 304 wird ein Passwort, das dem ausgewählten Freischaltschlüssel zugeordnet ist, an den Client gesendet.
-
Obwohl die vorliegende Erfindung anhand von Ausführungsbeispielen beschrieben wurde, ist sie vielfältig modifizierbar.