DE602005005415T2 - Verfahren und Vorrichtung zur Erzeugung und gemeinsamen Nutzung eines Systemschlüssels in einem DRM-System - Google Patents

Verfahren und Vorrichtung zur Erzeugung und gemeinsamen Nutzung eines Systemschlüssels in einem DRM-System Download PDF

Info

Publication number
DE602005005415T2
DE602005005415T2 DE602005005415T DE602005005415T DE602005005415T2 DE 602005005415 T2 DE602005005415 T2 DE 602005005415T2 DE 602005005415 T DE602005005415 T DE 602005005415T DE 602005005415 T DE602005005415 T DE 602005005415T DE 602005005415 T2 DE602005005415 T2 DE 602005005415T2
Authority
DE
Germany
Prior art keywords
polynomial
information values
key
system key
modified
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.)
Expired - Fee Related
Application number
DE602005005415T
Other languages
English (en)
Other versions
DE602005005415D1 (de
Inventor
Jae-heung Suwon-si Lee
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE602005005415D1 publication Critical patent/DE602005005415D1/de
Application granted granted Critical
Publication of DE602005005415T2 publication Critical patent/DE602005005415T2/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

  • Die Verfahren und die Vorrichtung im Einklang mit der vorliegenden Erfindung betreffen das Generieren eines Systemschlüssels und im Besonderen das Generieren eines Systemschlüssels, der durch das Aufrüsten (upgrade) von Systeminformationen über ein System zur Verwaltung digitaler Rechte nicht beeinflusst wird.
  • Die Verwaltung digitaler Rechte (digital rights management – DRM) ist ein Verfahren zum Verwalten von Inhalten, so dass die Inhalte nur unter autorisierten Bedingungen verwendet werden können. Die autorisierten Bedingungen schließen einen spezifizierten Benutzer, eine Wiedergabezeitdauer, eine Wiedergabeanzahl sowie einen Wiedergabeort ein.
  • Es gibt zwei Verfahren zum Einrichten der autorisierten Bedingungen, die es nur autorisierten Benutzern gestatten, die Inhalte zu verwenden.
  • Gemäß einem ersten Verfahren werden eine Benutzerkennzeichnung und ein Kennwort verwendet, um die autorisierten Bedingungen einzurichten. Unglücklicherweise kann dieses Verfahren nicht verhindern, dass ein autorisierter Benutzer ein Kennwort und die duplizierten Inhalte mit unberechtigten Benutzern teilt.
  • Gemäß einem zweiten Verfahren werden einzigartige Systeminformationen verwendet, um es bestimmten Vorrichtungen zu gestatten, die Inhalte wiederzugeben. Die Systeminformationen schließen Vorrichtungs-Identifizierungsinformationen wie beispielsweise eine Seriennummer einer zentralen Verarbeitungseinheit (Central Processor Unit – CPU), eine Media-Access-Control(MAC)-Adresse einer Netzwerkkarte, einen Datenträgerkennsatz einer Festplatte, eine Speichergröße, eine Version eines Basisdatenaustauschsystems (basic input/output system – BIOS), eine Art eines Betriebssystems, eine Betriebssystem-Version, eine Betriebssystem-Herstellerkennung sowie eine Seriennummer einer Soundkarte ein. Daher ist dieses Verfahren relativ nützlich, da es auf Grund der einzigartigen Systeminformationen möglich ist, einen autorisierten Benutzer daran zu hindern, mit unehrlichen Benutzern zu konspirieren.
  • 1 ist ein schematisches Blockdiagramm, das ein DRM-System darstellt.
  • Das DRM-System schließt einen Inhalts-Server 10, einen Lizenz-Server 20 sowie eine Anwendungseinrichtung 30 ein. Die Anwendungseinrichtung 30 schließt verschiedene Medienwiedergabevorrichtungen ein, die in der Lage sind, die Inhalte wiederzugeben, beispielsweise ein DVD(digital video disk)-Abspielgerät, eine Spielvorrichtung, ein Mobiltelefon sowie einen persönlichen digitalen Assistenten (personal date assistant – PDA).
  • Der Inhalts-Server 10 stellt der Anwendungseinrichtung 30 verschlüsselte Inhalte E(K_cont, Cont) bereit, wobei der Inhalt Cont mit einem Inhaltsschlüssel K_cont verschlüsselt ist.
  • Der Lizenz-Server 20 führt einen Authentifizierungsprozess für die Anwendungseinrichtung 30 durch. Wenn die Inhaltsautorität für gültig erklärt ist, sendet der Lizenz-Server 20 eine verschlüsselte Lizenz E(S, Lic) an die Anwendungseinrichtung 30. Die verschlüsselte Lizenz E(S, Lic) wird durch Verschlüsseln der Lizenz Lic mit dem Systemschlüssel S erzeugt, wobei die Lizenz Lic eine computerlesbare Datei ist, die Informationen über eine autorisierte Bedingung sowie den Inhaltsschlüssel K_cont enthält, der zum Entschlüsseln des Inhaltes Cont verwendet wird. Zusätzlich kann der Systemschlüssel S in jeder Anwendungseinrichtung 30 durch Verwenden der Systeminformationen auf jeder Komponente in dem System gemäß einer vorgegebenen Regel generiert werden.
  • In 2 wird ein Prozess des Wiedergebens des Inhaltes in einer Anwendungseinrichtung dargestellt.
  • Zuerst empfängt die Anwendungseinrichtung 30 die verschlüsselten Inhalte E(K_cont) sowie die verschlüsselte Lizenz E(S, Lic) von dem Inhalts-Server 10. Anschließend wird die verschlüsselte Lizenz E(S, Lic) durch Verwenden des Systemschlüssels S entschlüsselt, um die Lizenz Lic zu generieren. Danach extrahiert die Anwendungseinrichtung 30 den Inhaltsschlüssel K_cont aus der Lizenz Lic und entschlüsselt den verschlüsselten Inhalt E(K_cont, Cont) durch Verwenden des extrahierten Inhaltsschlüssels K_cont, um den Inhalt Cont zu generieren und wiederzugeben.
  • In 3 wird ein Prozess zum Generieren eines Systemschlüssels S in einer Anwendungseinrichtung dargestellt, die in 2 dargestellt wird.
  • Der Systemschlüssel S wird durch Verwenden von einem oder mehreren Systeminformationswerten 301, 302, ... generiert. So verkettet beispielsweise in einem iTune(ein eingetragenes Warenzeichen von Apple Computer, Inc.)-System, das von dem Unternehmen Apple Computer, Inc. hergestellt wird, die Anwendungseinrichtung 30 eine Seriennummer eines Laufwerkes C, eine BIOS-Version, einen CPU-Namen, eine Herstellerkennung eines Windows-Systems und zusätzliche Informationen und wendet eine MD5-Hash-Funktion an, um einen Systemschlüssel zu generieren.
  • Der Systemschlüssel S wird nach einem Authentifizierungsprozess mit einem Lizenz-Server 20 durch die Anwendungseinrichtung 30 generiert, mit einem Lizenz-Server 20 gemeinsam genutzt und aus der Anwendungseinrichtung 30 gelöscht, um ein Hacken (hacking) zu vermeiden. Die Anwendungseinrichtung 30 speichert nur die Systeminformationen, die zum Generieren des Systemschlüssels S notwendig sind, speichert den Systemschlüssel S jedoch nicht. Daher kann eine unberechtigte Anwendungseinrichtung den Systemschlüssel nicht generieren, der zum Verschlüsseln der Lizenz in dem Lizenz-Server 20 verwendet wurde, da es unmöglich ist zu wissen, welche Informationen über die Komponenten verwendet werden sollen und welche Art von Funktion auf derartige Informationen angewendet werden soll. Auf diese Weise kann DRM bewerkstelligt werden.
  • Das in 3 dargestellte Verfahren zum Generieren eines Schlüssels hat jedoch ein Problem dahin gehend, dass es unmöglich ist, den Inhalt, der vorangehend gespeichert wurde, wiederzugeben, wenn irgendeine der Systeminformationen in der Anwendungseinrichtung 30 modifiziert wurde. Dies ist darin begründet, dass die Anwendungseinrichtung 30 den ursprünglichen Systemschlüssel, das heißt, den Systemschlüssel, der mit dem Lizenz-Server 20 gemeinsam genutzt wird, nicht generieren kann, wenn irgendeine der Systeminformationen 310 modifiziert wurde.
  • Insbesondere typische Systeminformationen wie beispielsweise eine Seriennummer einer CPU, eine BIOS-Version, ein CPU-Name und eine Herstellerkennung eines Windows-Betriebssystems können durch die Hardware- oder Softwareaufrüstung der Anwendungseinrichtung 30 häufig geändert werden. Dies verschärft das vorstehend genannte Problem.
  • Das Dokument WO-A-98/42098 offenbart ein Verfahren zum Verwalten digitaler Produktrechte. Ein digitales Produkt wird über ungesteuerte Kanäle in verschlüsselter Form verteilt. Sicherheitsfragmente des verschlüsselten Produktes werden einbehalten und nur bei einer Kommunikation mit einem Lizenz-Server bereitgestellt. Der Kunde verwendet eine Lesersoftware, um eine Lizenz zu erwerben. Eine derartige Software untersucht Komponenten, die zu dem Zeitpunkt in dem Lesersystem vorliegen, um eine Lesersystemsignatur zu entwickeln, welche der Lizenz-Server verwendet, um den Produktentschlüsselungsschlüssel und die Sicherheitsfragmente zu verschlüsseln, ehe diese an das Lesersystem gesendet werden. Wenn der Kunde das Produkt zu verwenden wünscht, wird eine neue Lesersystemsignatur generiert und zum Entschlüsseln der Produktfragmente verwendet. Wenn die Systeminformationen modifiziert wurde und der durch die Anwendungseinrichtung generierte Systemschlüssel nicht derselbe ist wie der ursprünglich generierte Systemschlüssel, wird ein Revalidierungspaket an einen Lizenz-Server gesendet, der eine Prüfung durchführt, um zu bestimmen, ob der Systemschlüssel in dem Revalidierungspaket auf einer Komponente der Anwendungseinrichtung basiert. Wenn der Unterschied zwischen den zwei Systemschlüsseln innerhalb eines vorgegebenen Schwellenwertes liegt, wird der neue Systemschlüssel die Basis für das erneute Verschlüsseln von Sicherheitsfragmenten und ein neues Produkt-Server-Paket zum Herunterladen wird an die Anwendungseinrichtung gesendet. Die vorkennzeichnenden Teile der beigefügten Ansprüche basieren auf diesem Dokument.
  • Gemäß der vorliegenden Erfindung werden eine Vorrichtung und ein Verfahren bereitgestellt, wie in den beigefügten Ansprüchen dargelegt. Bevorzugte Merkmale der Erfindung werden aus den abhängigen Ansprüchen sowie der folgenden Beschreibung ersichtlich.
  • Die vorliegende Erfindung betrifft ein Verfahren zum Generieren eines Systemschlüssels durch Verwenden eines Teils der Systeminformationen, die in ihrem ursprünglichen Zu stand verbleiben, selbst wenn ein Teil der Systeminformationen in der Anwendungseinrichtung geändert wird.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum gemeinsamen Nutzen eines Systemschlüssels auf einer Anwendungseinrichtung und einem Lizenz-Server über ein System zur Verwaltung digitaler Rechte bereitgestellt, welches umfasst: Definieren eines Polynoms (k – 1)-ter Ordnung mit k Zufallszahlen als Koeffizienten, wobei k eine natürliche Zahl bezeichnet; Generieren von n Polynom-Lösungen durch Eingeben von n Konstanten in das Polynom, wobei n eine natürliche Zahl bezeichnet; Generieren charakteristischer Informationswerte durch Durchführen einer XOR-Operation an den Polynom-Lösungen und den n Systeminformationswerten, wobei die n Systeminformationswerte Identifizierungsinformationen über Komponenten der Anwendungseinrichtung darstellen; sowie Auswählen eines der Koeffizienten des Polynoms als einen Systemschlüssel und Senden des Systemschlüssels zu dem Lizenz-Server, wobei die charakteristischen Informationswerte verwendet werden, um den gleichen Systemschlüssel zu generieren, wenn ein Teil der Systeminformationswerte geändert wird.
  • Der Systeminformationswert kann wenigstens ein Element aus einer Gruppe enthalten, das aus einer Seriennummer einer CPU, einer MAC-Adresse einer Netzwerkkarte, einem Datenträgerkennsatz einer Festplatte, einer Speichergröße, einer BIOS-Version, einer Betriebssystem-Art, einer Betriebssystem-Version, einer Betriebssystem-Herstellerkennung sowie einer Seriennummer einer Soundkarte oder einer Kombination daraus besteht.
  • Die n Systeminformationswerte können gestreut (hashed) werden, um eine Bitgröße des Systeminformationswertes mit einer Bitgröße der Polynom-Lösung zu egalisieren.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein Verfahren zum Generieren eines bereits gemeinsam genutzten Systemschlüssels in einer Anwendungseinrichtung über ein DRM-System bereitgestellt, das umfasst: Generieren n modifizierter Polynom-Lösungen durch Durchführen einer XOR-Operation an n modifizierten Systeminformationswerten und n charakteristischen Informationswerten, wobei n eine natürliche Zahl bezeichnet; sowie Generieren des Systemschlüssels unter Verwendung k modifi zierter Polynom-Lösungen, die aus den n modifizierten Polynom-Lösungen ausgewählt werden, wobei k eine natürliche Zahl kleiner als n bezeichnet, wobei die modifizierten Systeminformationswerte durch Modifizieren wenigstens eines Teils von n Systeminformationswerten generiert werden, die Identifizierungsinformation über Komponenten der Anwendungseinrichtung darstellen, die charakteristischen Informationswerte werden durch das Durchführen einer XOR-Operation an Polynom-Lösungen generiert, die ermittelt werden, indem beliebige Konstanten in ein Polynom (k – 1)-ter Ordnung und die n Systeminformationswerte eingegeben werden, und der Systemschlüssel wird aus den Koeffizienten des Polynoms beliebig ausgewählt.
  • Das Generieren des Systemschlüssels kann umfassen: Auswählen der k modifizierten Polynom-Lösungen, die den k beliebigen Konstanten entsprechen, aus den n modifizierten Polynom-Lösungen; Generieren eines Kandidaten-Systemschlüssels durch Eingeben der Koordinatenwerte {die beliebigen Konstanten, k ausgewählte Polynom-Lösungen, die den beliebigen Konstanten entsprechen}; und Verifizieren des Kandidaten-Systemschlüssels durch das Entschlüsseln einer von einem Lizenz-Server empfangenen, verschlüsselten Lizenz unter Verwendung des Kandidaten-Systemschlüssels.
  • Das Generieren des Systemschlüssels kann des Weiteren das Bestimmen des Kandidaten-Systemschlüssels als einen authentischen Systemschlüssel enthalten, wenn das Entschlüsseln erfolgreich ist, oder Auswählen anderer k modifizierter Polynom-Lösungen, die sich von den vorher ausgewählten unterscheiden, wenn das Entschlüsseln nicht erfolgreich ist, und Wiederholen des Generierens des Kandidaten-Systemschlüssels und Verifizierung des Kandidaten-Systemschlüssels.
  • Gemäß noch einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum gemeinsamen Nutzen eines Systemschlüssels mit einem Lizenz-Server über ein DRM-System bereitgestellt, das eine Systeminformations-Datenbank umfasst, die n Systeminformationswerte, die Identifizierungsinformationen über Komponenten einer Anwendungseinrichtung entsprechen, speichert, abruft und editiert; eine Polynom-Generierungseinheit, die ein Polynom (k – 1)-ter Ordnung generiert, indem sie Koeffizienten des Polynoms beliebig auswählt, einen der ausgewählten Koeffizienten des Polynoms als einen Systemschlüssel festlegt und diesen an den Lizenz-Server sendet; ei ne Einheit zum Berechnen von Polynom-Lösungen zum Generieren von n Polynom-Lösungen durch Eingeben n beliebiger Konstanten in das Polynom; sowie eine XOR-Einheit, die charakteristische Informationswerte durch Durchführen von XOR an den Polynom-Lösungen und den Systeminformationswerten generiert, wobei die charakteristischen Informationswerte in einem vorgegebenen Bereich in der Anwendungseinrichtung gespeichert werden und verwendet werden, um den gleichen Systemschlüssel zu generieren, wenn ein Teil der Systeminformationswerte geändert wird.
  • Gemäß noch einem anderen Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Generieren eines bereits gemeinsam genutzten Systemschlüssels über ein DRM-System bereitgestellt, die umfasst: eine Systeminformations-Datenbank, die n Systeminformationswerte speichert, welche Identifizierungsinformationen über Komponenten einer Anwendungseinrichtung entsprechen, wobei n eine natürliche Zahl bezeichnet; eine Datenbank charakteristischer Informationen, die charakteristische Informationswerte speichert, die generiert werden, indem eine XOR-Operation an den n Systeminformationswerten und Polynom-Lösungen durchgeführt wird, die ermittelt werden, indem beliebige Konstanten in ein Polynom (k – 1)-ter Ordnung eingegeben werden, wobei k eine natürliche Zahl kleiner als n bezeichnet; eine XOR-Einheit zum Generieren n modifizierter Polynom-Lösungen durch Durchführen einer XOR-Operation an den n charakteristischen Informationswerten und n modifizierten Systeminformationswerten, die ermittelt werden, indem wenigstens ein Teil der n Systeminformationswerte modifiziert wird; sowie eine Einheit zum Generieren eines Systemschlüssels zum Generieren des Systemschlüssels unter Verwendung k modifizierter Polynom-Lösungen, die aus den n modifizierten Polynom-Lösungen ausgewählt werden, wobei der Systemschlüssel aus Koeffizienten des Polynoms beliebig ausgewählt wird.
  • Die Einheit zum Generieren eines Systemschlüssels kann umfassen: eine Auswähleinheit zum Auswählen von k modifizierten Polynom-Lösungen, die den k beliebigen Konstanten entsprechen, aus den n modifizierten Polynom-Lösungen; eine Schlüssel-Erzeugungseinheit zum Generieren eines Kandidaten-Systemschlüssels durch Eingeben von Koordinatenwerten in das Polynom, wobei die Koordinatenwerte aus {den beliebigen Konstanten, den k ausgewählten Polynom-Lösungen, die den beliebigen Konstanten entsprechen} bestehen; sowie eine Schlüssel-Verifizierungseinheit zum Verifizie ren des Kandidaten-Systemschlüssels, indem eine von einem Lizenz-Server empfangene, verschlüsselte Lizenz unter Verwendung des Kandidaten-Systemschlüssels entschlüsselt wird.
  • Die oben genannten und andere Aspekte der vorliegenden Erfindung werden klarer ersichtlich durch eine ausführliche Beschreibung bevorzugter Ausführungsbeispiele mit Bezug auf die angehängten Zeichnungen, wobei:
  • 1 ein schematisches Blockdiagramm ist, das ein DRM-System darstellt;
  • 2 stellt einen Prozess des Wiedergebens von Inhalten in einer Anwendungseinrichtung dar;
  • 3 stellt einen Prozess zum Generieren eines Systemschlüssels S in einer Anwendungseinrichtung dar, die in 2 dargestellt wird.
  • 4 ist ein Ablaufdiagramm, das ein Verfahren zum Festlegen eines Systemschlüssels in einer Anwendungseinrichtung und zum gemeinsamen Nutzen des Systemschlüssels mit einem Lizenz-Server darstellt;
  • 5 ist ein Ablaufdiagramm, das ein Verfahren zum Generieren eines Systemschlüssels gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt;
  • 6 ist ein schematisches Blockdiagramm, das eine Vorrichtung zum gemeinsamen Nutzen eines Systemschlüssels gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt;
  • 7 ist ein schematisches Blockdiagramm, das eine Einheit zum Generieren eines Systemschlüssels gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt; und
  • 8 stellt eine mathematische Beziehung verschiedener Werte dar, die in einer beispielhaften Ausführungsform der vorliegenden Erfindung verwendet werden.
  • Im Folgenden werden beispielhafte Ausführungsbeispiele gemäß der vorliegenden Erfindung in Bezug auf die beigefügten Zeichnungen ausführlich beschrieben.
  • 4 ist ein Ablaufdiagramm, das ein Verfahren zum Festlegen eines Systemschlüssels in einer Anwendungseinrichtung und zum gemeinsamen Nutzen des Systemschlüssels mit einem Lizenz-Server darstellt.
  • Wie oben beschrieben, erzeugt die Anwendungseinrichtung einen Systemschlüssel S und nutzt diesen gemeinsam mit dem Lizenz-Server. Der Unterscheidung halber ist zu bemerken, dass sich ein gemeinsam genutzter Systemschlüssel S auf einen Systemschlüssel bezieht, der mit dem Lizenz-Server gemeinsam genutzt und nach einem Authentifizierungsprozess in der Anwendungseinrichtung sowie in dem Lizenz-Server generiert wird, ein Vorrichtungs-Systemschlüssel S_dev bezieht sich auf einen Systemschlüssel, der immer dann in der Anwendungseinrichtung 30 generiert wird, wenn der Inhalt zu einem späteren Zeitpunkt wiedergegeben wird. Die Anwendungseinrichtung 30 kann den Vorrichtungs-Systemschlüssel S_dev generieren, der mit dem gemeinsam genutzten Systemschlüssel S identisch ist, wenn eine autorisierte Anwendungseinrichtung 30 verwendet wird. 4 stellt dar, wie der gemeinsam genutzte Systemschlüssel S bestimmt wird, der zum Senden des Inhaltes zu einem späteren Zeitpunkt und zum gemeinsamen Nutzen des gemeinsam genutzten Systemschlüssels S mit dem Lizenz-Server 20 verwendet wird.
  • In der Operation 410 sammelt die Anwendungseinrichtung 30 n Systeminformationswerte g1, g2, ..., gn (wobei n eine natürliche Zahl bezeichnet). Die Systeminformationswerte g1, g2, ..., gn können in einem vorgegebenen Speicherbereich in der Anwendungseinrichtung 30 gespeichert werden.
  • In der Operation 420 definiert die Anwendungseinrichtung 30 ein (Polynom (k – 1)-ter Ordnung, das k Zufallszahlen S, a1, a2, ..., ak-1 als seine Koeffizienten besitzt, wie in der folgenden Gleichung 1 dargestellt.
  • [Gleichung 1]
    • f(x) = S + a1x + a2x2 + ... + ak-1xk-1
  • In der Operation 430 erzeugt die Anwendungseinrichtung 30 n Polynom-Lösungen durch das Eingeben n beliebiger Konstanten in das Polynom f(x). Beispielsweise erzeugt die Anwendungseinrichtung 30 n Polynom-Lösungen f(1) = f1, f(2) = f2, ..., f(n) = fn durch das Eingeben von 1, 2, ..., n in das Polynom f(x).
  • In der Operation 440 erzeugt die Anwendungseinrichtung 30 charakteristische informationswerte h1, h2, ..., hn durch Durchführen einer XOR-Operation an den Polynom-Lösungen f1, f2, ..., fn beziehungsweise den Systeminformationswerten g1, g2, ..., gn und speichert anschließend die charakteristischen Informationswerte h1, h2, ..., hn in einem vorgegebenen Speicherbereich in der Anwendungseinrichtung 30. Die charakteristischen Informationswerte werden zu einem späteren Zeitpunkt zum Generieren des Systemschlüssels verwendet.
  • In der Operation 450 bestimmt die Anwendungseinrichtung 30 einen der Koeffizienten des Polynoms f(x), die in der Operation 420 als ein Systemschlüssel bestimmt wurden, und sendet anschließend den Systemschlüssel zu dem Lizenz-Server 20. So kann beispielsweise die Anwendungseinrichtung 30 den Koeffizienten S als den Systemschlüssel bestimmen und diesen anschließend an den Lizenz-Server 20 senden.
  • Der Systemschlüssel S wird nach einem Authentifizierungsprozess mit dem Lizenz-Server 20 durch die Anwendungseinrichtung 30 generiert, mit dem Lizenz-Server 20 gemeinsam genutzt und anschließend aus der Anwendungseinrichtung 30 gelöscht, um ein Hacken (hacking) zu vermeiden. Die Anwendungseinrichtung 30 speichert nur den Systeminformationswert, der zum Generieren des Systemschlüssels S notwendig ist, speichert den Systemschlüssel S jedoch nicht. Die Anwendungseinrichtung 30 erzeugt den Systemschlüssel S immer dann, wenn der Inhalt wiedergegeben wird.
  • 5 ist ein Ablaufdiagramm, das ein Verfahren zum Generieren eines Systemschlüssels gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt.
  • In der Operation 510 führt die Anwendungseinrichtung 30 eine XOR-Operation an den modifizierten Systeminformationswerten g1', g2', ..., gi', ..., gn' und den charakteristischen Informationswerten h1, h2, ..., hi, ..., hn durch, um modifizierte Polynom-Lösungen f1', f2', ..., fi', ..., fn' zu generieren. Die modifizierten Systeminformationswerte g1', g2', ..., gi', ..., gn' werden durch Modifizieren eines Teils der Systeminformationswerte g1, g2, ..., gi, ... gn durch die Aufrüstung der Komponenten in der Anwendungseinrichtung 30 generiert.
  • Hierin bezeichnet der tiefgestellte Index i (das heißt, 1, 2, ..., n) eine beliebige Konstante. Wenn darüber hinaus ein Systeminformationswert, eine Polynom-Lösung sowie ein charakteristischer Informationswert denselben tiefgestellten Index besitzen, bedeutet dies, dass sie miteinander in Beziehung stehen. Wenn beispielsweise eine beliebige Konstante eines tiefgestellten Index i = 7 gleich 130 ist, können wir die Beziehungen f7 = f(130) und g7 XOR f7 = h7 erhalten.
  • Wenn jedoch gemäß den Eigenschaften einer XOR-Operation g XOR f = h ist, dann ist g XOR h = f. Darüber hinaus ist ein Teil der modifizierten Systeminformationswerte g1', g2', ..., gi', ..., gn' identisch mit den Systeminformationswerten g1, g2, ..., gn. Daher sind einige der modifizierten Polynom-Lösungen f1', f2', ..., fn' identisch mit den Polynom-Lösungen f1, f2, ..., fn und die verbleibenden modifizierten Polynom-Lösungen sind verschieden von den verbleibenden Polynom-Lösungen, da diese von den Änderungen der Systeminformationswerte betroffen sind. Wenn beispielsweise unter den Systeminformationswerten g1, g2, ... und g7 nur zwei Systeminformationswerte g1' und g2' modifiziert wurden, werden die modifizierten Systeminformationswerte zu g1', g2', g3, g4, g5, g6 und g7, und somit sind die modifizierten Polynom-Lösungen f1' = g1' XOR h1, f2' = g2' XOR h2, f3' = g3' XOR h3 = g3 XOR h3 = f3, f4' = g4' XOR h4 = g4 XOR h4 = f4, f5' = g5' XOR h5 = g5 XOR h5 = f5, f6' = g6' XOR h6 = g6 XOR h6 = f6 und f7' = g7' XOR h7 = g7 XOR h7 = f7. Mit anderen Worten, nur die modifizierten Polynom-Lösungen f1' und f2' sind verschieden von den ursprünglichen Polynom-Lösungen f1 und f2, die verbleibenden Polynom-Lösungen f3' bis f7' sind jedoch identisch mit den ursprünglichen Lösungen.
  • In dem oben genannten Beispiel beträgt die Anzahl der Polynom-Lösungen, die in ihrem ursprünglichen Zustand bleiben, 5. Wenn die Anzahl der Polynom-Lösungen, die in ih rem ursprünglichen Zustand bleiben, größer als der Grad (k – 1) des Polynoms f(x) plus 1 oder gleich diesem ist, das heißt, (k – 1) + 1 = k, kann der Koeffizient S des Polynoms f(x) ermittelt werden, indem die Koordinatenwerte der Polynom-Lösungen, die in ihrem ursprünglichen Zustand bleiben, in das Polynom f(x) eingesetzt werden. In dem oben genannten Beispiel sind die Koordinatenwerte der Polynom-Lösungen, die in ihrem ursprünglichen Zustand bleiben, (3, f3), (4, f4), (5, f5), (6, f6) und (7, f7). Daher ist es möglich, den gemeinsam genutzten Systemschlüssel S zu erzeugen. Die folgenden Operationen 520 bis 540 beschreiben diese Prozesse.
  • In der Operation 520 wählt die Anwendungseinrichtung 30 auf beliebige Weise k modifizierte Polynom-Lösungen f1', f2', ..., fn' aus, die in der Operation 510 generiert wurden.
  • In der Operation 530 erzeugt die Anwendungseinrichtung 30 einen Kandidaten-Systemschlüssel S_can durch Eingeben der Koordinatenwerte der modifizierten Polynom-Lösungen, die ausgewählt wurden, in das Polynom f(x). Hierin bedeutet der Koordinatenwert (eine beliebige Konstante, (eine modifizierte Polynom-Lösung, die der beliebigen Konstante entspricht)).
  • In der Operation 540 untersucht die Anwendungseinrichtung 30, ob der in der Operation 530 generierte Kandidaten-Systemschlüssel S_can dem gemeinsam genutzten Systemschlüssel S entspricht, indem sie die von dem Lizenz-Server 20 empfangene, verschlüsselte Lizenz E(S, Lic) unter Verwendung des in der Operation 530 generierten Kandidaten-Systemschlüssels S_can entschlüsselt.
  • In der Operation 550 wird, wenn das Entschlüsseln erfolgreich ist, das heißt, wenn die Lizenz Lic aus der verschlüsselten Lizenz E(S, Lic) durch das Entschlüsseln extrahiert werden kann, der Kandidaten-Systemschlüssel S_can als der gemeinsam genutzte Systemschlüssel S bestimmt und der Prozess wird beendet.
  • In der Operation 560 werden, wenn das Entschlüsseln nicht erfolgreich ist, die Operationen 520 bis 540 wiederholt. Mit anderen Worten, es werden andere k modifizierte Polynom-Lösungen, die von den in der Operation 520 ausgewählten verschieden sind, ausgewählt, es wird ein anderer Kandidaten-Systemschlüssel generiert und anschließend wird der Kandidaten-Systemschlüssel untersucht.
  • Wenn in den beispielhaften Ausführungsformen, die in den 4 und 5 dargestellt werden, die Bitgrößen von jedem Systeminformationswert unterschiedlich sind, werden die Bitgrößen in jedem Systeminformationswert unter Verwendung einer Hash-Funktion (Streuwert-Funktion) unmittelbar vor der XOR-Operation egalisiert. Insbesondere werden in der Operation 440 die Systeminformationswerte g1, g2, ..., gn gestreut und anschließend mit den Polynom-Lösungen f1, f2, ..., fn einer XOR-Operation unterzogen. Gleichermaßen werden in der Operation 510 die modifizierten Systeminformationswerte g1', g2', ..., gn' gestreut und anschließend mit den charakteristischen Informationswerten h1, h2, ..., hn einer XOR-Operation unterzogen.
  • 6 ist ein schematisches Blockdiagramm, das eine Vorrichtung zum gemeinsamen Nutzen eines Systemschlüssels gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt.
  • Die Vorrichtung zum gemeinsamen Nutzen eines Systemschlüssels gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung schließt eine Systeminformations-Datenbank 610, eine Hash-Einheit 620, eine XOR-Einheit 630, eine Polynom-Generierungseinheit 640, eine Einheit zum Berechnen von Polynom-Lösungen 650 sowie eine Datenbank charakteristischer Informationen 660 ein.
  • Die Systeminformations-Datenbank 610 enthält n Systeminformationswerte 612. Die Systeminformationswerte 612 enthalten Informationen über verschiedene Systemkomponenten wie beispielsweise eine Seriennummer einer CPU, eine MAC-Adresse einer Netzwerkkarte, einen Datenträgerkennsatz einer Festplatte, eine Speichergröße, eine BIOS-Version, eine Betriebssystem-Art, eine Betriebssystem-Version, eine Betriebssystem-Herstellerkennung sowie eine Seriennummer einer Soundkarte.
  • Die Hash-Einheit 620 extrahiert die Systeminformationswerte 612 aus der Systeminformations-Datenbank 610 und streut sie anschließend, um gestreute Systeminformationswerte 622 zu generieren. Dies erfolgt, da eine derartige Hash-Funktion es zulässt, dass die Bitgrößen der Systeminformationswerte egalisiert werden. Alternativ kann die se Hash-Einheit 620 ausgelassen werden, wenn die Bitgrößen der Systeminformationswerte gleich sind. Hierin werden die gestreuten Systeminformationswerte 622 mit egalisierten Bitgrößen als g1, g2, ..., gn dargestellt.
  • Die Polynom-Generierungseinheit 640 wählt den Grad k – 1 sowie die Koeffizienten a1, a2, ..., ak-1 beliebig aus, um ein Polynom f(x) 642 zu generieren, wie in der Gleichung 1 dargestellt, und sendet anschließend den Koeffizienten S 644 des Polynoms f(x) an den Lizenz-Server 20. Der Lizenz-Server 20 bestimmt den Polynom-Koeffizienten S als einen Systemschlüssel und verschlüsselt anschließend die Lizenz Lic durch Verwenden des Systemschlüssels S 644.
  • Die Polynom-Koeffizienten a1, a2, ..., ak-1 können durch das Generieren einer Zufallszahl ausgewählt werden. Die Auswahl des Grades k – 1 des Polynoms bezieht sich auf die Anzahl n der Systeminformationswerte 162. Die größere Anzahl der modifizierten Systeminformationswerte und die kleinere Anzahl der ursprünglichen Systeminformationswerte 612, die in ihrem ursprünglichen Zustand bleiben, ergeben ein größeres k.
  • Die Einheit zum Berechnen von Polynom-Lösungen 650 erzeugt n Polynom-Lösungen f(1) = f1, f(2) = f2, ..., f(n) = fn, die den beliebigen Konstanten entsprechen, durch das Eingeben von beispielsweise 1, 2, ..., n in das Polynom f(x).
  • Die XOR-Einheit 630 führt eine XOR-Operation an n Polynom-Lösungen 652 und n gestreuten Systeminformationswerten 622 durch, um charakteristische Informationswerte 632 zu generieren, und speichert die generierten charakteristischen Informationswerte 632 in einem vorgegebenen Speicherbereich in der Anwendungseinrichtung wie beispielsweise einer Datenbank charakteristischer Informationen 660 ab. Die Polynom-Lösungen f1, f2, ..., fn, die gestreuten Systeminformationswerte g1, g2, ..., gn sowie die charakteristischen Informationswerte h1, h2, ..., hn beziehen sich aufeinander, wie in Gleichung 2 dargestellt.
  • [Gleichung 2]
    Figure 00150001
  • 7 ist ein schematisches Blockdiagramm, das eine Einheit zum Generieren eines Systemschlüssels gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt.
  • Die Einheit zum Generieren eines Systemschlüssels schließt eine Systeminformations-Datenbank 710, eine Hash-Einheit 720, eine XOR-Einheit 730, eine Datenbank charakteristischer Informationen 760 sowie eine Einheit zum Generieren eines Systemschlüssels 770 ein.
  • Die Systeminformations-Datenbank 710 speichert, editiert, ruft ab und editiert n Systeminformationswerte 712. Wenn die Anwendungseinrichtung 30 aufgerüstet wurde, können sich einige Systeminformationswerte von den in 6 dargestellten unterscheiden. Gleichermaßen können sich einige gestreute Systeminformationswerte 722 von den in 6 dargestellten unterscheiden. Alternativ kann die Hash-Einheit 720 ausgelassen werden, wenn die Bitgrößen aller Systeminformationswerte 712 gleich sind, wie in dem Fall in 6 dargestellt. Somit können die in 7 dargestellten, gestreuten Systeminformationen 722 als modifizierte Systeminformationswerte g1', g2', ..., gn' dargestellt werden.
  • Die Datenbank charakteristischer Informationen 760 speichert, ruft ab und editiert die charakteristischen Informationswerte 762. Wie in Bezug auf 6 beschrieben, sind die charakteristischen Informationswerte 762 Werte die ermittelt werden, indem eine XOR-Operation unter Verwendung der n Polynom-Lösungen 652, die durch Ersetzen beliebiger Konstanten in das Polynom f(x), das zum Generieren des Systemschlüssels genutzt wurde, generiert werden, sowie der n gestreuten Systeminformationswerte 622 durchgeführt wird.
  • Die XOR-Einheit 730 erzeugt modifizierte Polynom-Lösungen 732 durch Durchführen einer XOR-Operation an den modifizierten Systeminformationswerten 722 und den charakteristischen Informationswerten 762. Die charakteristischen Informationswerte 762 werden aus der Datenbank charakteristischer Informationen 760 extrahiert. Die charakteristischen Informationswerte wurden gemäß dem in 6 dargestellten Prozess generiert, wobei die Anwendungseinrichtung 30 einen Systemschlüssel S auswählt, generiert und anschließend in der Datenbank charakteristischer Informationen 760 gespeichert.
  • Die Einheit zum Generieren eines Systemschlüssels 770 erzeugt einen Systemschlüssel 777 durch Verwenden der modifizierten Polynom-Lösungen 732.
  • Die modifizierten Systeminformationswerte 722, die charakteristischen Informationswerte 762 sowie die modifizierten Polynom-Lösungen 732 beziehen sich aufeinander, wie in Gleichung 3 dargestellt.
  • [Gleichung 3]
    Figure 00160001
  • In der oben genannten Gleichung 3 wurden einige modifizierte Systeminformationswerte g1', g2', ..., gn' nicht geändert und sind somit gleich den ursprünglichen Werten g1, g2, ..., gn. Wenn darüber hinaus die modifizierten Systeminformationswerte in ihrem ursprünglichen Zustand bleiben (das heißt, g = g'), wird anerkannt, dass f = g' XOR h = g XOR h = h XOR g = (f XOR g) XOR g = f XOR (g XOR g) = f XOR 0 = f. Mit anderen Worten, wenn g = g' ist, erfüllt die modifizierte Polynom-Lösung f das Polynom f(x) und schließlich kann der Systemschlüssel S durch das Eingeben von k Koordinatenwerten (das heißt, (I, fi')) in das Polynom f(x) generiert werden. Die Einheit zum Generieren eines Systemschlüssels 770 führt diese Prozesse durch.
  • Die Einheit zum Generieren eines Systemschlüssels 770 schließt eine Auswahleinheit 772, eine Schlüssel-Berechnungseinheit 774 sowie eine Schlüssel-Verifizierungseinheit 776 ein.
  • Die Auswähleinheit 772 wählt k modifizierte Polynom-Lösungen 773 aus n modifizierten Polynom-Lösungen 732, die von der XOR-Einheit 730 gesendet wurden, aus.
  • Die Schlüssel-Berechnungseinheit 774 erzeugt Kandidaten-Systemschlüssel 775 durch das Eingeben der ausgewählten Polynom-Lösungen 773 in das Polynom f(x).
  • Die Schlüssel-Verifizierungseinheit 776 überprüft den Kandidaten-Systemschlüssel auf Basis der Entschlüsselungsergebnisse, das heißt, ob die von dem Lizenz-Server empfangene, verschlüsselte Lizenz unter Verwendung des Kandidaten-Systemschlüssels entschlüsselt werden kann oder nicht.
  • Wenn das Entschlüsseln der verschlüsselten Lizenz erfolgreich ist, wird bestimmt, dass der entsprechende Kandidaten-Systemschlüssel 775 ein authentischer Systemschlüssel 777 ist, und dieser anschließend ausgegeben.
  • Wenn das Entschlüsseln der verschlüsselten Lizenz nicht erfolgreich ist, wird ein Aktualisierungssignal 779 an die Auswähleinheit 772 gesendet, um der Auswähleinheit 772 zu befehlen, andere k modifizierte Polynom-Lösungen 732 auszuwählen. Als ein Ergebnis kann die Einheit zum Generieren eines Systemschlüssels 770 durch das Generieren und Überprüfen des Kandidaten-Systemschlüssels einen authentischen Systemschlüssel 777 ausgeben.
  • 8 stellt eine mathematische Beziehung verschiedener Werte dar, die in einer beispielhaften Ausführungsform der vorliegenden Erfindung verwendet werden.
  • Über der in 8 dargestellten, gestrichelten Linie wird dargestellt, dass die charakte ristischen Informationswerte generiert und gespeichert werden, bevor die Systeminformationswerte modifiziert werden, und anschließend wird der Systemschlüssel bestimmt.
  • Die charakteristischen Informationswerte h1, h2, ..., hn werden durch Durchführen einer XOR-Operation an den Systeminformationswerten g1, g2, ..., gn und den Polynom-Lösungen f1, f2, ..., fn generiert. Die Polynom-Lösungen f1, f2, ..., fn werden durch das Eingeben von 1, 2, ..., n in das Polynom f(x) generiert und das Polynom f(x) ist ein Polynom (k – 1)-ter Ordnung f(x) = S + a1x + a2x2 + ... + ak-1xk-1. Es wird bestimmt, dass der Koeffizient S ein Systemschlüssel ist, und dieser wird an den Lizenz-Server 20 gesendet. Die charakteristischen Informationswerte h1, h2, ..., hn werden an die Anwendungseinrichtung 30 gesendet.
  • Unter der gestrichelten Linie wird dargestellt, dass die Anwendungseinrichtung den Systemschlüssel erzeugt, nachdem die Systeminformationswerte modifiziert wurden.
  • Die modifizierten Polynom-Lösungen f1', f2', ... fn' werden durch Durchführen einer XOR-Operation an den charakteristischen Informationswerten h1, h2, ..., hn und den modifizierten Systeminformationswerten g1', g2', ..., gn' generiert. Wenn gi = gi' ist, erfüllen die Koordinatenwerte (i, fi'), die aus den modifizierten Polynom-Lösungen bestehen, das Polynom f(x) auf Grund der Eigenschaften einer XOR-Operation und der Definition der charakteristischen Informationswerte.
  • Wenn daher die Anzahl der modifizierten Polynom-Lösungen (i, fi'), die gi = gi' erfüllen, k überschreiten, kann die Anwendungseinrichtung 30 den Systemschlüssel S durch Eingeben der Koordinatenwerte (i, fi'), die aus den modifizierten Polynom-Lösungen bestehen, in das Polynom f(x) generieren.
  • Ein Verfahren und eine Vorrichtung zum Generieren eines Systemschlüssels gemäß der Erfindung können auch als computerlesbare Codes auf einem computerlesbaren Aufzeichnungsmedium ausgeführt sein. Auch Funktionsprogramme, Codes und Codesegmente zum Erzielen der vorliegenden Erfindung können von Programmieren mit gewöhnlicher Erfahrung auf dem Gebiet der Technik, das die vorliegende Erfindung betrifft, erdacht werden. Das computerlesbare Aufzeichnungsmedium ist jede Datenspeiche rungsvorrichtung, die Daten speichern kann, welche anschließend von einem Computersystem gelesen werden können. Beispiele des computerlesbaren Aufzeichnungsmediums umfassen Nur-Lese-Speicher (read-only memory – ROM), Direktzugriffsspeicher (random-access memory – RAM), CD-ROMs, Magnetband, Disketten, optische Datenspeichervorrichtungen sowie Trägerwellen, beispielsweise Datenübertragung über das Internet.
  • Obwohl einige bevorzugte Ausführungsformen gezeigt und beschrieben wurden, ist es für Personen mit gewöhnlicher Erfahrung auf dem Gebiet der Technik erkennbar, dass verschiedene Änderungen und Modifikationen vorgenommen werden können, ohne von dem Umfang der Erfindung, wie in den beigefügten Ansprüchen definiert, abzuweichen.

Claims (24)

  1. Verfahren zum gemeinsamen Nutzen eines Systemschlüssels zwischen einer Anwendungseinrichtung (30) und einem Lizenz-Server (20) eines Systems zur Verwaltung digitaler Rechte (digital rights management system), wobei das Verfahren gekennzeichnet ist durch: Definieren eines Polynoms (k – 1)-ter Ordnung mit k Zufallszahlen als Koeffizienten, wobei k eine natürliche Zahl bezeichnet; Generieren von n Polynom-Lösungen (f1 ... fn) durch Eingeben von n Konstanten in das Polynom (k – 1)-ter Ordnung, wobei n eine natürliche Zahl bezeichnet; Generieren n charakteristischer Informationswerte (h1 ... hn) durch Durchführen einer XOR-Operation an den n Polynom-Lösungen und n Systeminformationswerten (g1 ... gn), wobei die n Systeminformationswerte Identifizierungsinformationen über Komponenten der Anwendungseinrichtung (30) darstellen; und Auswählen eines der Koeffizienten des (k – 1)-ten Polynoms als einen Systemschlüssel (S) und Senden des Systemschlüssels zu dem Lizenz-Server (20), wobei die charakteristischen Informationswerte verwendet werden, um den gleichen Systemschlüssel zu generieren, wenn ein Teil der n Systeminformationswerte verändert wird.
  2. Verfahren nach Anspruch 1, das des Weiteren Löschen der Koeffizienten aus der Anwendungseinrichtung (30) umfasst.
  3. Verfahren nach Anspruch 1 oder 2, wobei die n Systeminformationswerte wenigstens eine Seriennummer einer zentralen Verarbeitungseinheit, eine Media-Access-Control-Adresse einer Netzwerkkarte, einen Datenträgerkennsatz (volume label) einer Festplatte, eine Speichergröße, eine BIOS-Version, einen Betriebssystem-Typ, eine Betriebssystem-Version, eine Betriebssystem-Herstellerkennung oder eine Seriennummer einer Soundkarte enthalten.
  4. Verfahren nach einem der vorangehenden Ansprüche, wobei die n Systeminformationswerte vor Durchführen der XOR-Operation unter Verwendung einer Hash-Funktion egalisiert werden.
  5. Verfahren zum Generieren eines bereits gemeinsam genutzten Systemschlüssels für eine Anwendungseinrichtung (30) eines Systems zur Verwaltung digitaler Rechte, wobei das Verfahren gekennzeichnet ist durch: Generieren n modifizierter Polynom-Lösungen (f'1, ... f'n) durch Durchführen einer XOR-Operation an n modifizierten Systeminformationswerten (g'1 ... g'n) und n charakteristischen Informationswerten (h1 ... hn), wobei n eine natürliche Zahl bezeichnet; und Generieren des Systemschlüssels (S) unter Verwendung k modifizierter Polynom-Lösungen, die aus den n modifizierten Polynom-Lösungen ausgewählt werden, wobei k eine natürliche Zahl kleiner als n bezeichnet und die modifizierten Systeminformationswerte (g'1 ... g'n) durch Modifizieren wenigstens eines Teils von n Systeminformationswerten generiert werden, die Identifizierungsinformationen über Komponenten der Anwendungseinrichtung (30) darstellen, die charakteristischen Informationswerte (h1, ... hn) durch Durchführen einer XOR-Operation an Polynom-Lösungen (f1 ... fn), die gewonnen werden, indem beliebige Konstanten in ein Polynom (k – 1)-ter Ordnung eingegeben werden, und n Systeminformationswerten generiert werden, und der Systemschlüssel willkürlich aus Koeffizienten des Polynoms (k – 1)-ter Ordnung ausgewählt wird.
  6. Verfahren nach Anspruch 5, wobei das Generieren des Systemsschlüssels Bestimmen des Systemschlüssels durch Eingeben von Koordinatenwerten, die aus den beliebigen Konstanten und den modifizierten Polynom-Lösungen bestehen, die den beliebigen Konstanten entsprechen, in das Polynom (k – 1)-ter Ordnung einschließt.
  7. Verfahren nach Anspruch 5 oder 6, wobei das Generieren des Systemschlüssels einschließt: Auswählen der k modifizierten Polynom-Lösungen, die den k beliebigen Konstanten entsprechen, aus den n modifizierten Polynom-Lösungen; Erzeugen eines Kandidaten-Systemschlüssels durch Eingeben der Koordinatenwerte, die aus den beliebigen Konstanten und den k Polynom-Lösungen bestehen, die den beliebigen Konstanten entsprechen; und Verifizieren des Kandidaten-Systemschlüssels durch Entschlüsseln einer von einem Lizenz-Server (20) empfangenen verschlüsselten Lizenz unter Verwendung des Kandidaten-Systemschlüssels.
  8. Verfahren nach Anspruch 7, wobei das Generieren des Systemschlüssels des Weiteren Bestimmen des Kandidaten-Systemschlüssels als einen authentischen Systemschlüssel einschließt, wenn das Entschlüsseln der verschlüsselten Lizenz erfolgreich ist.
  9. Verfahren nach Anspruch 7, wobei das Generieren des Systemschlüssels des Weiteren Auswählen anderer k modifizierter Polynom-Lösungen, die sich von den zuvor ausgewählten unterscheiden, wenn das Entschlüsseln der verschlüsselten Lizenz nicht erfolgreich ist, und Wiederholen des Generierens des Kandidaten-Systemschlüssels und der Verifizierung des Kandidaten-Systemschlüssels einschließt.
  10. Verfahren nach einem der Ansprüche 5 bis 9, wobei die modifizierten Systeminformationswerte wenigstens eine Seriennummer einer zentralen Verarbeitungseinheit, eine Media-Acess-Control-Adresse einer Netzwerkkarte, einen Datenträgerkennsatz einer Festplatte, eine Speichergröße, eine BIOS-Version, einen Betriebssystem-Typ, eine Betriebssystem-Version, eine Betriebssystem-Herstellerkennung oder eine Seriennummer einer Sound-Karte einschließen.
  11. Verfahren nach einem der Ansprüche 5 bis 10, wobei die n modifizierten Systeminformationswerte vor Durchführen der XOR-Operation unter Verwendung einer Hash-Funktion egalisiert werden.
  12. Vorrichtung zum gemeinsamen Nutzen eines Systemschlüssels mit einem Lizenz-Server (20) eines Systems zur Verwaltung digitaler Rechte, wobei die Vorrichtung gekennzeichnet ist durch: eine Systeminformations-Datenbank (610), die n Systeminformationswerte (g1 ... gn), die Identifizierungsinformationen über Komponenten einer Anwendungseinrichtung (30) entsprechen, speichert, abruft und editiert; eine Polynom-Generierungseinheit (640), die ein Polynom (k – 1)-ter Ordnung durch willkürliches Auswählen von Koeffizienten des Polynoms (k – 1)-ter Ordnung generiert, einen der ausgewählten Koeffizienten des Polynoms als einen Systemschlüssel bestimmt und den Systemschlüssel zu dem Lizenz-Server (20) sendet; eine Einheit (650) zum Berechnen von Polynom-Lösungen, die n Polynom-Lösungen (f1 ... fn) durch Eingeben n beliebiger Konstanten in das Polynom (k – 1)-ter Ordnung generiert; und eine XOR-Einheit (630), die n charakteristische Informationswerte (g1 ... gn) durch Durchführen einer XOR-Operation an den n Polynom-Lösungen und den n Systeminformationswerten generiert; wobei die charakteristischen Informationswerte in einem vorgegebenen Bereich in der Anwendungseinrichtung (30) gespeichert werden und verwendet werden, um den gleichen Systemschlüssel zu generieren, wenn ein Teil der n Systeminformationswerte verändert wird.
  13. Vorrichtung nach Anspruch 12, wobei der Systemschlüssel aus der Anwendungseinrichtung (30) gelöscht wird, nachdem die Polynom-Generierungseinheit (640) den Systemschlüssel sendet.
  14. Vorrichtung nach Anspruch 12 oder 13, wobei die Systeminformationswerte wenigstens eine Seriennummer einer zentralen Verarbeitungseinheit, eine Media-Access-Control-Adresse einer Netzwerkkarte, einen Datenträgerkennsatz einer Festplatte, eine Speichergröße, eine BIOS-Version, einen Betriebssystem-Typ, eine Betriebssystem-Version, eine Betriebssystem-Herstellerkennung oder eine Seriennummer einer Sound-Karte enthalten.
  15. Vorrichtung nach Anspruch 12, 13 oder 14, wobei die Systeminformationswerte vor Durchführen der XOR-Operation unter Verwendung einer Hash-Funktion egalisiert werden.
  16. Vorrichtung zum Generieren eines bereits über ein System zur Verwaltung digitaler Rechte gemeinsam genutzten Systemschlüssels, wobei die Vorrichtung gekennzeichnet ist durch: eine Systeminformations-Datenbank (710), die n Systeminformationswerte (g1 ... gn) speichert, die Identifizierungsinformationen über Komponenten einer Anwendungseinrichtung (30) entsprechen, wobei n eine natürliche Zahl bezeichnet; eine Datenbank (760) charakteristischer Informationen, die n charakteristische Informationswerte (h1 ... hn) speichert, die generiert werden, indem eine XOR-Operation an den n Systeminformationswerten und Polynom-Lösungen durchgeführt wird, die ermittelt werden, indem beliebige Konstanten in ein Polynom (k – 1)-ter Ordnung eingegeben werden, wobei k eine natürliche Zahl kleiner als n bezeichnet; eine XOR-Einheit (730), die n modifizierte Polynom-Lösungen (f'1 ... f'n) durch Durchführen einer XOR-Operation an den n charakteristischen Informationswerten (h1 ... hn) und n modifizierten Systeminformationswerten (g'1 ... g'n) generiert, die gewonnen werden, indem wenigstens ein Teil der n Systeminformationswerte modifiziert wird; und eine Einheit (770) zum Generieren eines Systemschlüssels, die den Systemschlüssel (S) unter Verwendung k modifizierter Polynom-Lösungen generiert, die aus den n modifizierten Polynom-Lösungen ausgewählt werden, wobei der Systemschlüssel willkürlich aus Koeffizienten des Polynoms (k – 1)-ter Ordnung ausgewählt wird.
  17. Vorrichtung nach Anspruch 16, wobei die Einheit (770) zum Erzeugen eines Systemschlüssels den Systemschlüssel bestimmt, indem sie Koordinatenwerte in das Polynom (k – 1)-ter Ordnung eingibt, wobei die Koordinatenwerte aus den beliebigen Konstanten und den modifizierten Polynom-Lösungen bestehen, die den beliebigen Konstanten entsprechen.
  18. Vorrichtung nach Anspruch 16 oder 17, wobei die Einheit (770) zum Erzeugen des Systemschlüssels umfasst: eine Auswähleinheit (772), die k modifizierte Polynom-Lösungen, die den k beliebigen Konstanten entsprechen, aus den n modifizierten Polynom-Lösungen auswählt; eine Schlüssel-Erzeugungseinheit (774), die einen Kandidaten-Systemschlüssel erzeugt, indem sie Koordinatenwerte in das Polynom (k – 1)-ter Ordnung eingibt, wobei die Koordinatenwerte aus den beliebigen Konstanten und den k ausgewählten Polynom-Lösungen bestehen, die den beliebigen Konstanten entsprechen; und eine Schlüssel-Verifizierungseinheit (776, die den Kandidaten-Systemschlüssel verifiziert, indem sie eine von einem Lizenz-Server (20) empfangene verschlüsselte Lizenz unter Verwendung des Kandidaten-Systemschlüssels entschlüsselt.
  19. Vorrichtung nach Anspruch 18, wobei die Schlüssel-Verifizierungseinheit (776) den Kandidaten-Systemschlüssel als einen authentischen Systemschlüssel bestimmt, wenn die Entschlüsselung der verschlüsselten Lizenz erfolgreich ist.
  20. Vorrichtung nach Anspruch 18, wobei die Schlüssel-Verifizierungseinheit (776) ein Aktualisierungssignal erzeugt, das es der Auswahleinheit (772) gestattet, andere k modifizierte Polynom-Lösungen auszuwählen, die sich von den zuvor ausgewählten unterscheiden, wenn das Entschlüsseln der verschlüsselten Lizenz nicht erfolgreich ist.
  21. Vorrichtung nach einem der Ansprüche 16 bis 20, wobei die modifizierten Systeminformationswerte wenigstens eine Seriennummer einer zentralen Verarbeitungseinheit, eine Media-Access-Control-Adresse einer Netzwerkkarte, einen Datenträgerkennsatz einer Festplatte, eine Speichergröße, eine BIOS-Version, einen Betriebssystem-Typ, eine Betriebssystem-Version, eine Betriebssystem-Herstellerkennung oder eine Seriennummer einer Sound-Karte oder eine Kombination daraus enthalten.
  22. Vorrichtung nach einem der Ansprüche 16 bis 21, wobei die modifizierten Systeminformationswerte vor Durchführen der XOR-Operation unter Verwendung einer Hash-Funktion egalisiert werden.
  23. Computerlesbaren Aufzeichnungsmedium, das ein Programm zum Ausführen eines Verfahrens zum Generieren eines bereits gemeinsam genutzten Systemschlüssels in einer Anwendungseinrichtung (30) eines Systems zur Verwaltung digitaler Rechte speichert, wobei das Verfahren gekennzeichnet ist durch: Generieren n modifizierter Polynom-Lösungen (f'1 ... f'n) durch Durchführen einer XOR-Operation an n modifizierten Systeminformationswerten (g'1 ... g'n) und n charakteristischen Informationswerten (h1 ... hn), wobei n eine natürliche Zahl bezeichnet; und Generieren des Systemschlüssels (S) unter Verwendung k modifizierter Polynom-Lösungen, die aus den n modifizierten Polynom-Lösungen ausgewählt werden, wobei k eine natürliche Zahl kleiner als n bezeichnet und die modifizierten Systeminformationswerte durch Modifizieren wenigstens eines Teils von n Systeminformationswerten generiert werden, die Identifizierungsinformation über Komponenten der Anwendungseinrichtung (30) darstellen, die charakteristischen Informationswerte durch Durchführen einer XOR-Operation an Polynom-Lösungen, die gewonnen werden, indem beliebige Konstanten in ein Polynom (k – 1)-ter Ordnung eingegeben werden, und den n Systeminformationswerten generiert werden, und der Systemschlüssel willkürlich aus Koeffizienten des Polynoms (k – 1)-ter Ordnung ausgewählt wird.
  24. Computerlesbares Aufzeichnungsmedium, das ein Programm zum Ausführen eines Verfahrens zum gemeinsamen Nutzen eines Systemschlüssels zwischen einer Anwendungseinrichtung (30) und einem Lizenz-Server (20) eines Systems zum Verwalten digitaler Rechte speichert, wobei das Verfahren gekennzeichnet ist durch: Definieren eines Polynoms (k – 1)-ter Ordnung mit k Zufallszahlen als Koeffizienten, wobei k eine natürliche Zahl bezeichnet; Erzeugen von n Polynom-Lösungen (f1 ... fn) durch Eingeben von n Konstanten in das Polynom (k – 1)-ter Ordnung, wobei n eine natürliche Zahl bezeichnet; Generieren n charakteristischer Informationswerte (h1 ... hn) durch Durchführen einer XOR-Operation an den n Polynom-Lösungen und n Systeminformationswerten, wobei die n Systeminformationswerte Identifizierungsinformation über Komponenten der Anwendungseinrichtung (30) darstellen; und Auswählen eines der Koeffizienten des Polynoms (k – 1)-ter Ordnung als einen Systemschlüssel (S) und Senden des Systemschlüssels zu dem Lizenz-Server (20), wobei die charakteristischen Informationswerte verwendet werden, um einen gleichen Systemschlüssel zu generieren, wenn ein Teil n Systeminformationswerte verändert wird.
DE602005005415T 2004-10-15 2005-10-12 Verfahren und Vorrichtung zur Erzeugung und gemeinsamen Nutzung eines Systemschlüssels in einem DRM-System Expired - Fee Related DE602005005415T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR2004082569 2004-10-15
KR1020040082569A KR100601706B1 (ko) 2004-10-15 2004-10-15 Drm 시스템에 있어서 시스템 키를 공유하고 생성하는방법 및 장치

Publications (2)

Publication Number Publication Date
DE602005005415D1 DE602005005415D1 (de) 2008-04-30
DE602005005415T2 true DE602005005415T2 (de) 2009-04-16

Family

ID=35539630

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005005415T Expired - Fee Related DE602005005415T2 (de) 2004-10-15 2005-10-12 Verfahren und Vorrichtung zur Erzeugung und gemeinsamen Nutzung eines Systemschlüssels in einem DRM-System

Country Status (6)

Country Link
US (1) US20060083369A1 (de)
EP (1) EP1648110B1 (de)
JP (1) JP2006121689A (de)
KR (1) KR100601706B1 (de)
AT (1) ATE389986T1 (de)
DE (1) DE602005005415T2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9033225B2 (en) 2005-04-26 2015-05-19 Guy Hefetz Method and system for authenticating internet users
TWI315629B (en) * 2006-01-09 2009-10-01 Silicon Motion Inc System and method for processing digital rights management files
EP1992138A4 (de) * 2006-03-06 2014-12-31 Lg Electronics Inc Verfahren zur datenübertragungssteuerung, verfahren zur inhaltsübertragungssteuerung, verfahren zur erfassung von inhaltsverarbeitungsinformationen und inhaltsübertragungssystem
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
US8429300B2 (en) * 2006-03-06 2013-04-23 Lg Electronics Inc. Data transferring method
JP5003680B2 (ja) 2006-06-23 2012-08-15 富士通株式会社 伸張制御方法、伸張制御システム、伸張制御プログラム、および伸張装置
KR100765794B1 (ko) * 2006-09-06 2007-10-15 삼성전자주식회사 공유 라이센스를 이용한 콘텐트 공유 방법 및 장치
KR20080022476A (ko) * 2006-09-06 2008-03-11 엘지전자 주식회사 논컴플라이언트 컨텐츠 처리 방법 및 디알엠 상호 호환시스템
TWI340332B (en) * 2007-02-02 2011-04-11 Ind Tech Res Inst Computerized apparatus and method for version control and management
EP2153557A4 (de) 2007-04-23 2013-07-03 Lg Electronics Inc Verfahren zur verwendung von inhalten, verfahren zum gemeinsamen benutzen von inhalten und einrichtung auf der basis des sicherheitsniveaus
CN101682505B (zh) * 2007-05-07 2013-10-23 Lg电子株式会社 用于安全通信的方法和系统
AU2007354390B2 (en) * 2007-05-29 2010-03-11 Guy S. Heffez Method and system for authenticating internet user indentity
US8160247B2 (en) * 2007-09-27 2012-04-17 Adobe Systems Incorporated Providing local storage service to applications that run in an application execution environment
US8869289B2 (en) * 2009-01-28 2014-10-21 Microsoft Corporation Software application verification
EP2456118A4 (de) * 2009-07-17 2013-05-01 Alcatel Lucent Verfahren und vorrichtung für digitale rechteverwaltung in kleinen und mittleren unternehmen sowie verfahren zur bereitstellung eines drm-dienstes
JP5440283B2 (ja) * 2010-03-11 2014-03-12 富士通株式会社 コンテンツ管理方法及びプログラム、並びにコンテンツ利用端末
US20120284804A1 (en) * 2011-05-02 2012-11-08 Authentec, Inc. System and method for protecting digital contents with digital rights management (drm)
US9202024B2 (en) 2011-05-02 2015-12-01 Inside Secure Method for playing digital contents projected with a DRM (digital rights management) scheme and corresponding system
US9721071B2 (en) 2011-06-29 2017-08-01 Sonic Ip, Inc. Binding of cryptographic content using unique device characteristics with server heuristics
US9143383B2 (en) * 2012-11-01 2015-09-22 Miiicasa Taiwan Inc. Method and system for managing device identification
GB201803815D0 (en) * 2018-03-09 2018-04-25 Nchain Holdings Ltd Computer-implemented methods and systems
CN112468290B (zh) * 2020-10-30 2021-12-10 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0614243B2 (ja) * 1983-12-26 1994-02-23 東洋通信機株式会社 データ信号装置
US4878246A (en) * 1988-05-02 1989-10-31 Pitney Bowes Inc. Method and apparatus for generating encryption/decryption key
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
JPH1013402A (ja) * 1996-06-21 1998-01-16 Nippon Telegr & Teleph Corp <Ntt> 公開鍵暗号の秘密鍵管理方法および装置
IL131876A0 (en) * 1997-03-14 2001-03-19 Cryptoworks Inc Digital product rights management technique
JPH10271104A (ja) * 1997-03-24 1998-10-09 Hitachi Inf Syst Ltd 暗号化方法及び復号化方法
US6212635B1 (en) * 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
US6571339B1 (en) * 1998-12-30 2003-05-27 Intel Corporation Use of a processor identification for authentication
US6463537B1 (en) * 1999-01-04 2002-10-08 Codex Technologies, Inc. Modified computer motherboard security and identification system
US6901145B1 (en) * 1999-04-08 2005-05-31 Lucent Technologies Inc. Generation of repeatable cryptographic key based on varying parameters
US7885899B1 (en) 2000-02-08 2011-02-08 Ipass Inc. System and method for secure network purchasing
JP2001162016A (ja) * 1999-12-14 2001-06-19 Samii Kk 遊技機の検証方法並びに遊技機及び検証装置
KR20010076025A (ko) * 2000-01-24 2001-08-11 이승룡 지정 클라이언트만의 사용을 위한 컴퓨터네트워크상에서의 암호화 파일 전송 방법
KR100408287B1 (ko) * 2001-06-15 2003-12-03 삼성전자주식회사 컨텐트 보호 시스템 및 방법
ATE465571T1 (de) * 2001-08-13 2010-05-15 Univ Leland Stanford Junior Systeme und verfahren zur verschlüsselung auf identitätsbasis und damit zusammenhängende kryptografische techniken
EP1391853A1 (de) * 2001-11-30 2004-02-25 STMicroelectronics S.A. Diversifikation der Kennzahl einer integrierten Schaltung
US9003548B2 (en) 2004-04-13 2015-04-07 Nl Systems, Llc Method and system for digital rights management of documents
US8645694B2 (en) * 2004-09-30 2014-02-04 Koninklijke Philips N.V. Method of authentication based on polyomials

Also Published As

Publication number Publication date
KR20060033447A (ko) 2006-04-19
EP1648110A1 (de) 2006-04-19
JP2006121689A (ja) 2006-05-11
US20060083369A1 (en) 2006-04-20
DE602005005415D1 (de) 2008-04-30
ATE389986T1 (de) 2008-04-15
EP1648110B1 (de) 2008-03-19
KR100601706B1 (ko) 2006-07-18

Similar Documents

Publication Publication Date Title
DE602005005415T2 (de) Verfahren und Vorrichtung zur Erzeugung und gemeinsamen Nutzung eines Systemschlüssels in einem DRM-System
DE60207494T2 (de) System zum Schutz digitaler Inhalte, Aufzeichnungsgerät, Übertragungsgerät und Wiedergabegerät
DE69333754T2 (de) Schutzsystem für elektronische Daten
EP1133849B1 (de) Verfahren und vorrichtung zum erzeugen eines verschlüsselten nutzdatenstroms und verfahren und vorrichtung zum entschlüsseln eines verschlüsselten nutzdatenstroms
US8117463B2 (en) Information device, information server, information processing system, information processing program method, and information processing program
US8291219B2 (en) System and method for enabling device dependent rights protection
EP1300842B1 (de) Verfahren und System zur autorisierten Entschlüsselung von verschlüsselten Daten mit mindestens zwei Zertifikaten
DE69531077T2 (de) Verfahren und Vorrichtung mit Benutzereinwirkung der Art Erproben-und-Kaufen, die es ermöglicht, Software zu erproben
DE60105499T2 (de) Vorrichtung und system zum authentifizieren einer kommunikation
DE60016972T2 (de) Anpassbarer sicherheitsmechanismus, um unerlaubten zugang zu digitalen daten zu verhindern
DE102004008702B4 (de) Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware
DE19906432C1 (de) Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Abspielen eines Datenstroms
DE112007002566B4 (de) Verfahren zum Übertragen eines Datenobjekts zwischen Vorrichtungen, und Vorrichtung zum Durchsetzen eines Protokolls
DE10148358A1 (de) Verfahren zum Verhindern eines Umsatzrückganges von Aufzeichnungen einer illegal über ein Kommunikationsnetzwerk verbreiteten, digitalen Musikdatei
DE10297238T5 (de) Verfahren und Vorrichtung zum Schutz von Inhalten an einer Schnittstelle
DE60114069T2 (de) System und Verfahren für den Schutz von Digitalwerken
EP2442251B1 (de) Individuelle Aktualisierung von Computerprogrammen
DE202022101844U1 (de) Ein System zur Ver- und Entschlüsselung von Daten für gesicherte Kommunikation
DE60109537T2 (de) Vorrichtung, Verfahren und Programm zur Verwaltung eines Benutzerschlüssels, welcher bei der Unterschrift einer Nachricht in einem Datenverarbeitungsgerät benutzt wird
US20050125356A1 (en) Method and apparatus for decrypting encrypted data by suing copy control information and computer readable recording medium for storing program for implementing the apparatus and method
DE10220925B4 (de) Vorrichtung und Verfahren zum Erzeugen von verschlüsselten Daten, zum Entschlüsseln von verschlüsselten Daten und zum Erzeugen von umsignierten Daten
DE10248006A1 (de) Verfahren und Vorrichtung zum Verschlüsseln von Daten
EP1418704A2 (de) Verfahren und Vorrichtung zur Bildung einer Nachweisgrösse, die einen Nachweis eines digitalen Signierens einer elektronischen Datei ermöglicht, sowie Verfahren und Vorrichtung zum Nachweis, dass eine elektronische Datei digital singiert worden ist.
DE19959442C2 (de) Verfahren und Anordnung zur Übertragung von Daten und/oder Informationen und/oder Signalen, insbesondere dynamischen Inhalts, und deren Verwendung
DE102020200102A1 (de) Ver- und Entschlüsselung eines sicheren Speicherbereichs in einem Fahrzeug

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee