DE112005001672B4 - Verfahren zum Liefern eines geheimen Direktnachweisschlüssels an Vorrichtungen unter Verwendung eines Onlinedienstes - Google Patents

Verfahren zum Liefern eines geheimen Direktnachweisschlüssels an Vorrichtungen unter Verwendung eines Onlinedienstes Download PDF

Info

Publication number
DE112005001672B4
DE112005001672B4 DE112005001672T DE112005001672T DE112005001672B4 DE 112005001672 B4 DE112005001672 B4 DE 112005001672B4 DE 112005001672 T DE112005001672 T DE 112005001672T DE 112005001672 T DE112005001672 T DE 112005001672T DE 112005001672 B4 DE112005001672 B4 DE 112005001672B4
Authority
DE
Germany
Prior art keywords
key
data structure
encrypted data
secret
protected
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
DE112005001672T
Other languages
English (en)
Other versions
DE112005001672T5 (de
Inventor
James Portland Sutton
Ernest Portland Brickell
Clifford Orangevale Hall
David Aloha Grawrock
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112005001672T5 publication Critical patent/DE112005001672T5/de
Application granted granted Critical
Publication of DE112005001672B4 publication Critical patent/DE112005001672B4/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Abstract

Verfahren umfassend:
Herstellen eines geschützten Onlineservers zur Unterstützung von Schlüsselabrufanfragen von Clientcomputersystemen;
Erzeugen eines Schlüsseldienst-Schlüsselpaars aus öffentlichem/geheimem Schlüssel in einer sicheren Schlüsselabrufverarbeitung;
Erzeugen eines pseudozufälligen Werts für eine Vorrichtung;
Erzeugen einer der Vorrichtung zugeordneten verschlüsselten Datenstruktur, wobei die verschlüsselte Datenstruktur einen geheimen Schlüssel umfaßt;
Erzeugen einer Kennung für die verschlüsselte Datenstruktur basierend auf dem pseudozufälligen Wert;
Speichern der Kennung und der verschlüsselten Datenstruktur auf dem geschützten Onlineserver; und
Speichern des pseudozufälligen Werts und eines Hash-Werts des öffentlichen Schlüssels des Schlüsseldiensts in einen nicht-flüchtigen Speicher in der Vorrichtung.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • 1. GEBIET
  • Die vorliegende Erfindung betrifft allgemein Computersicherheit und insbesondere das sichere Verteilen kryptographischer Schlüssel an Vorrichtungen in Verarbeitungssystemen.
  • 2. BESCHREIBUNG
  • Einige den Schutz von Inhalt und/oder Computersicherheitsmerkmale unterstützende Verarbeitungssystemstrukturen erfordern, daß speziell geschützte oder „gesicherte” Softwaremodule in der Lage sind, eine authentifizierte verschlüsselte Kommunikationssitzung mit spezifisch geschützten oder „gesicherten” Hardwarevorrichtungen in dem Verarbeitungssystem (wie zum Beispiel Graphiksteuerkarten) zu erzeugen. Ein zum Identifizieren der Vorrichtung und gleichzeitigem Erstellen der verschlüsselten Kommunikationssitzung allgemein verwendetes Verfahren ist die Verwendung eines einseitigen authentifizierten Diffie-Helman-(DH)-Schlüsselaustauschprozesses. Bei diesem Prozess wird der Vorrichtung ein eindeutiges Schlüsselpaar aus öffentlichem/geheimem Schlüssel nach dem Rivest/Shamir/Adelman-(RSA)-Algorithmus oder ein eindeutiges Schlüsselpaar nach der Elliptischen-Kurve-Kryptographie (ECC) zugewiesen. Da dieser Authentifizierungsprozess jedoch RSA- oder ECC-Schlüssel verwendet, weist die Vorrichtung dann eine eindeutige und nachweisbare Identität auf, was zu Datenschutzbedenken führen kann. Im schlimmsten Fall führen diese Bedenken zu einer mangelnden Unterstützung von Seiten der Hersteller von Originalgeräten bzw. Erstausrüster (Original Equipment Manufacturers = OEMs) beim Herstellen gesicherter Vorrichtungen, die diese Art von Sicherheit bereitstellen.
  • EP 1 617 587 A1 betrifft einen typischen Bestätigungs- und Überprüfungsprozess, in dem ein TPM (Trusted Platform Module) einen Extrakt für den Inhalt des Plattformkonfigurationsregisters (PCRs) und eine Protokolldatei, welche Informationen über geladene Softwarekomponenten speichert, bildet. Auf eine Aufforderung von einer anderen Plattform hin wird das TPM von den PRC-Werten abgefragt. Das TPM antwortet dann mit einer signierten Nach richt, welche die PCR-Werte und eine Aufforderung enthält, zusammen mit Informationen aus der Protokoll-Datei, um einem Fernüberprüfer (Verifier) zu ermöglichen, zu bestimmen, ob die Konfiguration akzeptabel ist.
  • In DE 102 18 835 A1 und US 6,032,260 werden weitere Verfahren zum Erzeugen einer Vorrichtung zugeordneten verschlüsselten Datenstruktur beschrieben.
  • KURZE BESCHREIBUNG DER ERFINDUNG
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, einen Mechanismus bereitzustellen, der einer Hardwarevorrichtung ermöglicht, einen geheimen Direktnachweis-Schlüssel (z. B. für Signieren) auf sichere Weise unter Verwendung eines Onlinedienstes zu erhalten.
  • Diese Aufgabe wird durch ein Verfahren nach den unabhängigen Ansprüchen 1 und 17, einen Gegenstand nach den unabhängigen Ansprüchen 9 und 25 und ein System nach dem unabhängigen Anspruch 26 gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Ansprüchen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Vorteile und Merkmale der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung der Erfindung ersichtlich werden, in der:
  • 1 ein System veranschaulicht, das eine gemäß einem Trusted Platform Module (TPM) implementierte Plattform aufweist, die in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung betrieben wird;
  • 2 eine erste Ausführungsform der Plattform, die das TPM aus 1 enthält, veranschaulicht;
  • 3 eine zweite Ausführungsform der Plattform, die das TPM aus 1 enthält, veranschaulicht;
  • 4 eine beispielhafte Ausführungsform eines Computersystems veranschaulicht, das mit dem TPM aus 2 implementiert ist;
  • 5 ein Diagramm eines Systems zum Verteilen von Direktnachweisschlüsseln an Vorrichtungen unter Verwendung eines Onlinedienstes gemäß einer Ausführungsform der vorliegenden Erfindung ist;
  • 6 ein Flußdiagramm ist, das Stufen eines Verfahrens zum Verteilen von Direktnachweisschlüsseln unter Verwendung eines Onlinedienstes gemäß einer Ausführungsform der vorliegenden Erfindung verwendet;
  • 7 ist ein Flußdiagramm, das die Serveraufbauverarbeitung eines geschützten Servers gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 8 ist ein Flußdiagramm, das die Aufbauverarbeitung von Vorrichtungsherstellern gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 9 ist ein Flußdiagramm, das Herstellerproduktionsverarbeitung von Vorrichtungsherstellern gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 1012 sind Flußdiagramme der Aufbauverarbeitung von Clientcomputersystemen gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 13 ist ein Flußdiagramm der Verarbeitung des Clientcomputersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Verwendung des auf Direktnachweis basierenden Schlüsselaustauschprotokolls nach Diffie-Helman, um geschützten/gesicherten Vorrichtungen zu gestatten, sich selbst zu authentifizieren und eine verschlüsselte Kommunikationssitzung mit gesicherten Softwaremodulen herzustellen, vermeidet das Erzeugen jeder eindeutigen Identitätsinformation in dem Verarbeitungssystem und vermeidet dadurch das Einführen von Datenschutzbedenken. Das direkte Einbetten eines geheimen Direktnachweisschlüssels in eine Vorrichtung in einer Herstellungsanlage erfordert jedoch mehr geschützten nicht-flüchtigen Speicher in der Vorrichtung als andere Ansätze, wodurch die Kosten der Vorrichtung steigen. Eine Ausführungsform der vorliegenden Erfindung ist ein Verfahren, das es ermöglicht, den geheimen Direktnachweis-(DP)-Schlüssel (der z. B. zum Unterzeichnen verwendet wird) auf sichere Weise unter Verwendung eines Onlinedienstes an die Vorrichtung zu liefern und danach durch die Vorrichtung selbst in der Vorrichtung zu installieren. Das in dieser Erfindung vorgestellte Verfahren ist so ausgelegt, daß die Vorrichtung für den Installationsprozess keine Identitätsinformationen offenlegen muß. In einer Ausführungsform kann die Verringerung des zur Unterstützung dieser Fähigkeit erforderlichen Vorrichtungsspeichers von etwa 300 bis 700 Bytes bis hinab auf etwa 40 Bytes betragen. Diese Verringerung der Menge nicht-flüchtigen Speichers, die zur Implementation des auf Direktnachweis basierenden Diffie-Helman-Schlüsselaustauschs erforderlich ist, kann zu einer breiteren Akzeptanz dieser Technik führen.
  • In Ausführungsformen der vorliegenden Erfindung werden geheime DP-Unterzeichnungsschlüssel nicht in oder mit einer Vorrichtung verteilt. Statt dessen unterstützt die Vorrichtung ein Protokoll, durch das die Vorrichtung in dem Gebiet ihren eigenen geheimen Schlüssel von einem durch einen Hersteller oder Anbieter oder einen Vertreter bereitgestellten geschützten Onlineserver sicher abrufen kann. Dieses Protokoll schafft einen gesicherten Kanal zwischen der Vorrichtung und dem Server und erfordert kein Vertrauen in eine dazwischen geschaltete Software, einschließlich einer Software auf einem lokalen Verarbeitungssystem.
  • Die Bezugnahme auf „eine Ausführungsform” in der Beschreibung bedeutet, daß ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben werden, in mindestens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Somit bezieht sich nicht jedes Auftreten der Formulierung „in einer Ausführungsform” an verschiedenen Stellen in der gesamten Beschreibung notwendigerweise auf dieselbe Ausführungsform.
  • In der folgenden Beschreibung wird eine bestimmte Terminologie zur Beschreibung bestimmter Merkmale einer oder mehrerer Ausführungsformen der Erfindung verwendet. Beispielsweise ist „Plattform” als jede Art von Kommunikationsvorrichtung definiert, die dazu ausgelegt ist, Informationen zu senden und zu empfangen. Zu Beispielen verschiedener Plattformen gehören, sind jedoch nicht darauf beschränkt oder eingeschränkt, Computersysteme, Personal Digital Assistants bzw. Minicomputer, Mobiltelefone, Set-Top-Boxen bzw. Digitalempfänger, Faxmaschinen, Drucker, Modems, Router oder dergleichen. Eine „Kommunikationsstrecke” ist allgemein definiert als ein oder mehrere Informationen tragende/s Medium bzw. Medien, die an eine Plattform angepasst sind. Zu Beispielen verschiedener Arten von Kommunikationsstrecken gehören, sind jedoch nicht darauf beschränkt oder eingeschränkt, elektrische Leitung(en), optische Faser(n), Kabel, Busleitung(en) oder drahtlose Signalgebungstechnologie.
  • Ein „Aufforderer” bezieht sich auf jede Einheit (z. B. Person, Plattform, System, Software und/oder Vorrichtung), die eine Verifizierung der Authentifikation oder Befugnis von einer anderen Einheit anfordert. Normalerweise erfolgt dies vor der Offenbarung oder Bereitstellung der angeforderten Informationen. Ein „Antworter” bezieht sich auf jede Einheit, die aufgefordert wurde, einen Nachweis über ihre Authentifizierung, Gültigkeit und/oder Identität bereitzustellen. Ein „Vorrichtungshersteller”, was austauschbar mit „zertifizierender Hersteller” verwendet werden kann, bezieht sich auf jede Einheit, die eine Plattform oder eine Vorrichtung herstellt oder konfiguriert.
  • Gegenüber einem Aufforderer „nachzuweisen” oder ihn zu „überzeugen”, daß ein Antworter im Besitz oder in Kenntnis kryptographischer Informationen ist (z. B. digitaler Unterschrift, ein Geheimnis wie ein geheimer Schlüssel usw.), bedeutet wie hierin verwendet, daß basierend auf der dem Aufforderer offenbarten Information und des dem Aufforderer offenbarten Nachweises eine große Wahrscheinlichkeit besteht, daß der Antworter über die kryptographische Information verfügt. Um dies einem Aufforderer gegenüber nachzuweisen, ohne die kryptographische Informationen „offenzulegen” oder „zu offenbarten”, bedeutet, daß es, basierend auf der dem Aufforderer offenbarten Informationen, dem Aufforderer rechnungstechnisch unmöglich wäre, die kryptographische Information zu bestimmen.
  • Derartige Nachweise werden im folgenden als Direktnachweise bezeichnet. Der Ausdruck „Direktnachweis” bezieht sich auf Null-Kenntnis-Nachweise, wie diese Art von Nachweisen in dem Gebiet allgemein bekannt ist. Insbesondere ist ein spezifisches Direktnachweisprotokoll, wie das hierin erwähnte, der Gegenstand der gleichzeitig anhängigen Patentanmeldung US 2004/0103281 A1 des Inhabers der vorliegenden Anmeldung unter dem Titel „System and Method for Establishing Trust Without Revealing Identity”. Direktnachweis definiert ein Protokoll, in dem ein Ausgeber eine Familie mit vielen Mitgliedern definiert, denen dieselben durch den Ausgeber definierten Eigenschaften gemein sind. Der Ausgeber erzeugt ein Schlüsselpaar öffentlichem/geheimem Schlüssel der Familie (Fpub und Fpri), das sie Familie als Ganzes darstellt. Unter Verwendung von Fpri kann der Ausgeber auch einen eindeutigen geheimen Direktnachweisunterzeichnungsschlüssel (DPpri) für jedes einzelne Mitglied der Familie ausgeben. Jede durch einen einzelnen DPpri unterzeichnete Nachricht kann unter Verwendung des öffentlichen Schlüssels der Familie Fpub verifiziert werden. Eine solche Verifizierung identifiziert jedoch nur, daß der Unterzeichner ein Mitglied der Familie ist; es wird keine eindeutig identifizierende Information über das einzelne Mitglied offengelegt. In einer Ausführungsform kann der Ausgeber ein Vorrichtungshersteller oder ein Vertreter sein. Das heißt, bei dem Ausgeber kann es sich um eine Einheit mit der Fähigkeit handeln, basierend auf gemeinsamen Merkmalen Vorrichtungsfamilien zu definieren, das Schlüsselpaar aus öffentlichem/geheimem Schlüssel zu erzeugen und geheime Direktnachweisschlüssel zu erstellen und in die Vorrichtung einzusetzen. Der Ausgeber kann auch Zertifikate für den öffentlichen Schlüssel der Familie erzeugen, die die Quelle des Schlüssels und die Eigenschaften der Vorrichtungsfamilie identifizieren.
  • Unter Bezugnahme nun auf 1 wird eine Ausführungsform eines Systems gezeigt, das eine mit einer gesicherten Hardwarevorrichtung implementierten Plattform (als „Trusted Platform Module” oder „TPM” bezeichnet) aufweist, die in Übereinstimmung mit einer Ausführungsform der Erfindung betrieben wird. Eine erste Plattform 102 (Aufforderer) sendet eine Anforderung 106, daß eine zweite Plattform 104 (Antworter) Informationen über sich selbst bereitstellt. In Beantwortung der Anforderung 106 stellt die zweite Plattform 104 die angeforderten Informationen 108 bereit.
  • Zur Erhöhung der Sicherheit kann es zusätzlich erforderlich sein, daß die erste Plattform 102 verifizieren muß, das die angeforderte Information 108 von einer durch einen ausgewählten Vorrichtungshersteller oder eine ausgewählte Gruppe von Vorrichtungsherstellern (im folgenden „Vorrichtungshersteller 110” genannt) hergestellten Vorrichtung kam. In einer Ausführungsform der Erfindung fordert die erste Plattform 102 beispielsweise die zweite Plattform 104, auf zu zeigen, daß sie über kryptographische Informationen (z. B. eine Unterschrift) verfügt, welche durch den/die Vorrichtungshersteller 110 erzeugt worden sind. Die Aufforderung kann entweder in der Anforderung 106 (wie gezeigt) enthalten oder eine separate Sendung sein. Die zweite Plattform 104 antwortet auf die Aufforderung durch Bereitstellen von Informationen in Form einer Antwort, um die erste Plattform 102 zu überzeugen, daß die zweite Plattform 104 über kryptographische Informationen verfügt, die durch den/die Vorrichtungshersteller 110 erzeugt wurden, ohne die kryptographischen Informationen offenzulegen. Die Antwort kann entweder ein Teil der angeforderten Information 108 (wie gezeigt) oder eine separate Sendung sein.
  • In einer Ausführungsform der Erfindung umfaßt die zweite Plattform 104 ein Trusted Platform Module (TPM) 115. Bei dem TPM 115 handelt es sich um eine von dem/den Vorrichtungshersteller/n 110 hergestellte kryptographische Vorrichtung. In einer Ausführungsform der Erfindung umfaßt das TPM 115 einen Prozessor mit einer geringen Menge von in einem Paket eingekapseltem On-Chip- bzw. chipinternen Speicher. Das TPM 115 ist so konfiguriert, daß es der ersten Plattform 102 Informationen bereitstellt, die sie dazu befähigen würden, zu bestimmen, daß eine Antwort von einem gültigen TPM gesendet wurde. Die verwendeten Informationen sind Inhalt, der es nicht wahrscheinlich machen würde, daß die Identität des TPM oder der zweiten Plattform bestimmt werden kann.
  • 2 veranschaulicht eine erste Ausführungsform der zweiten Plattform 104 mit dem TPM 115. Bei dieser Ausführungsform der Erfindung umfaßt die zweite Plattform 104 einen mit dem TPM 115 gekoppelten Prozessor 202. Im allgemeinen handelt es sich bei dem Prozessor 202 um eine Vorrichtung, die Informationen verarbeitet. In einer Ausführungsform der Erfindung kann der Prozessor beispielsweise als Mikroprozessor, Digitalsignalprozessor, Mikrosteuerung oder auch in einer Zustandsmaschine implementiert sein. Alternativ kann der Prozessor 202 in einer anderen Ausführungsform der Erfindung als programmierbare oder festcodierte Logik, wie feldprogrammierbare Gatearrays (FPGAs), Transistor-Transistor-Logik (TTL) oder auch anwendungsspezifische integrierte Schaltung (ASIC) implementiert sein.
  • Hier umfaßt die zweite Plattform 104 ferner eine Speichereinheit 206, um die Speicherung kryptographischer Information, wie eine oder mehrere der folgenden zu gestatten: Schlüssel, Hash-Werte, Signaturen, Zertifikate usw. Ein Hash-Wert von „X” kann als „Hash(X)” dargestellt werden. Es wird in Betracht gezogen, daß solche Informationen in dem internen Speicher 220 des TPM 115 anstelle der Speichereinheit 206 wie in 3 gezeigt gespeichert werden. Die kryptographischen Informationen können verschlüsselt werden, insbesondere, wenn sie außerhalb des TPM 115 gespeichert werden.
  • 4 veranschaulicht eine Ausführungsform einer Plattform, die ein mit dem TPM 115 aus 2 implementiertes Computersystem 300 enthält. Das Computersystem 300 umfaßt einen Bus 302 und einen mit dem Bus 302 gekoppelten Prozessor 310. Das Computersystem 300 umfaßt ferner eine Hauptspeichereinheit 304 und eine statische Speichereinheit 306.
  • Bei der Hauptspeichereinheit 304 handelt es sich hier um einen flüchtigen Halbleiterspeicher zum Speichern von Informationen und durch Prozessor 310 ausgeführten Anweisungen. Der Hauptspeicher 304 kann auch zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung von Anweisungen durch den Prozessor 310 verwendet werden. Bei der statischen Speichereinheit 306 handelt es sich um einen nicht-flüchtigen Halbleiterspeicher zum Speichern von Informationen und Anweisungen für den Prozessor 310 auf einer permanenteren Basis. Zu Beispielen des statischen Speichers 306 gehören, sind jedoch nicht darauf beschränkt oder eingeschränkt, Direktzugriffsspeicher (ROM). Sowohl die Hauptspeichereinheit 304 als auch die statische Speichereinheit 306 sind an den Bus 302 gekoppelt.
  • In einer Ausführungsform der Erfindung umfaßt das Computersystem 300 ferner eine Datenspeichervorrichtung 308 wie eine magnetische Disk bzw. Platte oder eine optische Disk bzw. Platte und ihr entsprechender Antrieb kann auch mit dem Computersystem 300 gekoppelt sein, um Informationen und Anweisungen zu speichern.
  • Das Computersystem 300 kann auch über den Bus 302 an eine Graphiksteuervorrichtung 314 gekoppelt sein, die eine (nicht gezeigte) Anzeige, wie eine Kathodenstrahlröhre (CRT), eine LCD-(Liquid Crystal Display)-Anzeige oder jede flache Tafelanzeige, steuert, um einem Endnutzer Informationen anzuzeigen. In einer Ausführungsform kann erwünscht sein, daß die Graphiksteuervorrichtung in der Lage ist, eine authentifizierte verschlüsselte Kommunikationssitzung mit einem durch den Prozessor ausgeführten Softwaremodul aufzubauen.
  • Typischerweise kann eine alphanumerische Eingabevorrichtung 316 (z. B. Tastatur, Tastenfeld usw.) an den Bus 302 zum Kommunizieren von Informationen und/oder Befehlsauswahl an den Prozessor 310 gekoppelt sein. Eine andere Art von Nutzereingabevorrichtung ist eine Cursorsteuereinheit 318, wie eine Maus, ein Trackball, ein Touchpad, ein Stift oder Cursorrichtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahl an den Prozessor 310 und zum Steuern von Cursorbewegung auf der Anzeige 314.
  • Eine Kommunikationsschnittstelleneinheit 320 ist ebenfalls an den Bus 302 gekoppelt. Zu Beispielen der Schnittstelleneinheit 320 gehören ein Modem, eine Netzwerkschnittstellenkarte oder andere wohlbekannte Schnittstellen, die zum Koppeln mit einer einen Teil eines lokalen oder breiten Gebietsnetzwerks bildenden Kommunikationsverbindung verwendet werden. Auf diese Weise kann das Computersystem 300 mit einer Anzahl von Clients und/oder Servern über eine herkömmliche Netzwerkinfrastruktur, wie zum Beispiel ein Intranet einer Firma und/oder dem Internet, gekoppelt werden. In einer Ausführungsform kann das Computersystem über ein Netzwerk oder einen geschützten Server online gekoppelt werden.
  • Es versteht sich, daß ein weniger oder mehr ausgestattetes Computersystem als oben beschrieben für bestimmte Implementationen wünschenswert sein kann. Daher wird die Konfiguration des Computersystems 300 von Implementation zu Implementation abhängig von zahlreichen Faktoren, wie Preisbeschränkungen, Leistungsanforderungen, technologischen Verbesserungen und/oder anderen Umständen variieren.
  • In mindestens einer Ausführungsform kann das Computersystem 300 die Verwendung von speziell geschützten „gesicherten” Softwaremodulen (z. B. manipulationsresistenter Software oder Systemen mit der Fähigkeit, geschützte Programme laufen zu lassen) unterstützen, die in dem Hauptspeicher 304 und/oder der Massenspeichervorrichtung 308 gespeichert und durch Prozessor 310 ausgeführt werden, um sogar in Gegenwart anderer feindlicher Software in dem System spezifische Tätigkeiten auszuführen. Einige dieser gesicherten Softwaremodule erfordern äquivalent „sicherbaren” geschützten Zugriff nicht nur auf andere Plattformen, sondern auf eine oder mehrere Peripherievorrichtungen Innerhalb derselben Plattform, wie die Graphiksteuervor richtung 314. Im allgemeinen erfordert ein solcher Zugriff, daß das gesicherte Softwaremodul in der Lage ist, die Fähigkeiten und/oder die spezifische Identität der Vorrichtung zu identifizieren und dann eine verschlüsselte Sitzung mit der Vorrichtung einzurichten, um den Austausch von Daten zu gestatten, die von anderer Software in dem System nicht ausspioniert oder verfälscht werden können.
  • In einem Verfahren aus dem Stand der Technik zum Identifizieren der Vorrichtung und gleichzeitigem Einrichten der verschlüsselten Sitzung wird ein einseitiger authentifizierter Diffie-Heilman-(DH)-Schlüsselaustauschprozess verwendet. In diesem Prozess wird der Vorrichtung ein eindeutiges RSA- oder ECC-Schlüsselpaar aus öffentlichem und geheimen Schlüssel zugewiesen. Die Vorrichtung hält und schützt den geheimen Schlüssel, während der öffentliche Schlüssel zusammen mit Authentifikationszertifikaten an das Softwaremodul freigegeben werden kann. Während des DH-Schlüsselaustauschprozesses unterschreibt die Vorrichtung unter Verwendung ihres geheimen Schlüssels eine Nachricht, die von dem Softwaremodul unter Verwendung des entsprechenden öffentlichen Schlüssels verifiziert werden kann. Dies gestattet dem Softwaremodul die Authentifizierung, daß die Nachricht wirklich von der in Frage stehenden Vorrichtung kam.
  • Da dieser Authentifizierungsprozess jedoch RSA- oder ECC-Schlüssel verwendet, verfügt die Vorrichtung über eine eindeutige und nachweisbare Identität. Jedes Softwaremodul, das die Vorrichtung zum Unterzeichnen einer Nachricht mit ihrem geheimen Schlüssel bringen kann, kann nachweisen, daß diese spezifische eindeutige Vorrichtung in einem Computersystem vorhanden ist. Vor dem Hintergrund, daß die Vorrichtungen selten zwischen Verarbeitungssystemen wandern, stellt dies auch eine nachweisbare eindeutige Computersystemidentität dar. Außerdem stellt der öffentliche Schlüssel der Vorrichtung selbst einen konstanten eindeutigen Wert, effektiv ein permanentes „Cookie” dar. In einigen Fällen können diese Merkmale als signifikantes Datenschutzproblem ausgelegt werden.
  • In einem alternativen Ansatz wird die Verwendung von RSA- oder ECC-Schlüsseln in dem einseitig authentifizierten Diffie-Helman-Prozess durch Direktnachweisschlüssel ersetzt. Eine diesen Ansatz verwen dende Vorrichtung kann als zu einer spezifischen Vorrichtungsfamilie gehörig authentifiziert werden, zu der Bestätigungen über das Verhalten oder die Vertrauenswürdigkeit der Vorrichtung gehören können. Der Ansatz legt keine eindeutig identifizierenden Informationen offen, die zum Herstellen einer eindeutigen Identität, die das Verarbeitungssystem darstellt, verwendet werden könnten.
  • Obwohl dieser Ansatz gut funktioniert, erfordert er zusätzlichen Speicher in der Vorrichtung, um den geheimen Direktnachweisschlüssel zu halten, der größer als ein RSA- oder ECC-Schlüssel sein kann. Um die Lasten dieses zusätzlichen Speichererfordernisses abzumildern, definieren Ausführungsformen der vorliegenden Erfindung ein System und ein Prozess zum Sicherstellen, daß die Vorrichtung über den geheimen Direktnachweisschlüssel verfügt, wenn sie den Schlüssel benötigt, ohne daß wesentlicher zusätzlicher Speicher in der Vorrichtung erforderlich wäre.
  • In mindestens einer Ausführungsform der vorliegenden Erfindung speichert ein Vorrichtungshersteller eine pseudozufällige 128-Bit-Zahl in einer Vorrichtung in der Herstellungsanlage und ein viel größerer geheimer Direktnachweisschlüssel (DPpri) kann verschlüsselt und an die Vorrichtung in dem Gebiet unter Verwendung eines durch einen geschützten Server betriebenen Onlineservice geliefert werden. Andere Ausführungsformen können eine Nummer in die Vorrichtung speichern, die länger oder kürzer als 128 Bits ist. Dieser Prozess stellt sicher, daß nur eine bestimmte Vorrichtung ihren zugewiesenen DPpri-Schlüssel entschlüsseln und verwenden kann. 5 ist ein Diagramm eines Systems 500 zum Verteilen von Direktnachweisschlüsseln gemäß einer Ausführungsform der vorliegenden Erfindung. Es gibt vier Einheiten in dem System, ein geschütztes Vorrichtungsherstellungssystem 502, ein Vorrichtungsherstellungsproduktionssystem 503, ein Clientcomputersystem 504 und einen geschützten Server 522. Das geschützte Vorrichtungsherstellungssystem umfaßt ein in dem Aufbau- bzw. Einrichtungsprozess vor der Herstellung einer Vorrichtung 506 verwendetes Verarbeitungssystem. Das geschützte Herstellungssystem 502 kann durch einen Vorrichtungshersteller so betrieben werden, daß das geschützte System vor Hackerangriffen außerhalb des Vorrichtungsherstellungsorts geschützt wird (es handelt sich z. B. um ein geschlossenes System). Das Herstellungsproduktionssystem 503 kann bei der Herstellung der Vorrichtungen verwendet werden. In einer Ausführungsform kann es sich bei dem geschützten System und dem Produktionssystem um dasselbe System handeln. Vorrichtung 506 umfaßt jede Hardwarevorrichtung zum Einschluss in das Clientcomputersystem (z. B. eine Speichersteuervorrichtung, eine Peripherievorrichtung wie eine Graphiksteuervorrichtung, eine E/A-Vorrichtung usw.). In Ausführungsformen der vorliegenden Erfindung umfaßt die Vorrichtung einen pseudozufälligen Wert RAND 508 und einen Hash-Wert 509 des öffentlichen Schlüssels des Schlüsseldiensts, der in dem nicht-flüchtigen Speicher der Vorrichtung gespeichert ist.
  • Das geschützte Herstellungssystem enthält eine geschützte Datenbank 510 und eine Erzeugungsfunktion 512. Die geschützte Datenbank umfaßt eine Datenstruktur zum Speichern mehrerer pseudozufälliger Werte (mindestens einen pro herzustellender Vorrichtung), die durch die Erzeugungsfunktion 512 wie unten beschrieben erzeugt werden. Die Erzeugungsfunktion umfaßt Logik (software- oder hardwareimplementiert), um eine hierin Keyblob 514 genannte Datenstruktur zu erzeugen. Keyblob 514 umfaßt mindestens drei Einzeldaten. Ein geheimer Direktnachweisschlüssel (DPpri) umfaßt einen kryptographischen Schlüssel, der von einer Vorrichtung zum Unterzeichnen verwendet werden kann. Der Extrakt des geheimen Direktnachweisschlüssels 516 (DPpri Digest) umfaßt einen Nachrichtenextrakt des DPpri nach jedem wohlbekannten Verfahren zum Generieren eines sicheren Nachrichtenextrakts, wie SHA-1. Einige Ausführungsformen können einen pseudozufälligen Initialisierungsvektor (IV) 518 enthalten, der einen Bitstrom als Teil des Keyblob zu Kompatibilitätszwecken umfaßt. Wenn eine Stromchiffre für die Verschlüsselung verwendet wird, wird der IV in einem wohlbekannten Verfahren zum Verwenden eines IV in einer Stromchiffre verwendet. Wenn eine Blockchiffre für die Verschlüsselung verwendet wird, wird der IV als Teil der zu verschlüsselnden Nachricht verwendet, wodurch jedes Beispiel der Verschlüsselung verschieden wird. Das geschützte Herstellungssystem enthält auch einen öffentlichen Schlüssel des Schlüsseldienstes 507, der für ein unten ausführlicher beschriebenes Onlineprotokoll verwendet wird.
  • In Ausführungsformen der vorliegenden Erfindung erzeugt das geschützte Herstellungssystem einen oder mehrere Keyblobs (wie unten ausführlicher beschrieben) und speichert die Keyblobs in einer Keyblobdatenbank 520 auf einem geschützten Server 522. In einer Ausführungsform können sich viele Keyblobs in der Keyblobdatenbank befinden. Der geschützte Server kann durch den Vorrichtungshersteller, Vorrichtungsanbieter oder eine andere untergeordnete Einheit betrieben werden. Der geschützte Server kann unter Verwendung eines Netzwerks, wie beispielsweise des Internets, kommunikativ mit einem Clientcomputersystem 504 gekoppelt sein. Der geschützte Server enthält auch einen geheimen Schlüssel des Schlüsseldienstes 511 zur Verwendung in dem Onlineprotokoll zwischen dem geschützten Server und der Vorrichtung.
  • Ein Clientcomputersystem 504, das ein Direktnachweisprotokoll zur Authentifizierung und zum Schlüsselaustausch einer Kommunikationssitzung mit einer in System 504 enthaltenen Vorrichtung 506 wünscht, kann einen ausgewählten Keyblob 514 aus der Keyblobdatenbank 520 auf dem geschützten Server unter Verwendung eines Schlüsselpaars aus öffentlichem/geheimem Schlüssel und des unten ausführlicher beschriebenen Onlineprotokolls lesen. Die Keyblobdaten können von der Vorrichtung verwendet werden, um einen lokalisierten Keyblob 524 (wie unten beschrieben) zur Verwendung beim Implementieren des Direktnachweisprotokolls zu erzeugen. Die Vorrichtungstreibersoftware 526 wird durch das Clientcomputersystem ausgeführt, um die Vorrichtung 506 zu initialisieren und zu steuern.
  • In Ausführungsformen der vorliegenden Erfindung kann es fünf getrennte Betriebsstufen geben. 6 ist ein Flußdiagramm 600, das Stufen eines Verfahrens veranschaulicht, welches Direktnachweisschlüssel gemäß einer Ausführungsform der vorliegenden Erfindung verteilt. Gemäß den Ausführungsformen der vorliegenden Erfindung können in jeder Stufe bestimmte Aktionen ausgeführt werden. Bei dem Vorrichtungshersteller gibt es mindestens drei Stufen: die Aufbaustufe 601 des geschützten Servers, die Aufbaustufe 602 des Vorrichtungsherstellers, die Produktionsstufe 604 des Vorrichtungsherstellers. Die Aufbaustufe des geschützten Servers wird hier mit Bezug auf die 7 beschrieben. Die Aufbaustufe des Vorrichtungsherstellers wird hier mit Bezug auf 8 beschrieben. Die Produktionsstufe des Vorrichtungsherstellers wird hier mit Bezug auf 9 beschrieben. An einer Verbraucherstelle, die über das Clientcomputersystem verfügt, gibt es mindestens zwei Stufen: die Aufbaustufe 606 des Clientcomputersystems und die Verwendungsstufe 608 des Clientcomputersystems. Die Aufbaustufe des Clientcomputersystems wird hier mit Bezug auf die 1012 beschrieben. Die Verwendungsstufe des Clientcomputersystems wird hier mit Bezug auf 13 beschrieben.
  • 7 ist ein Flußdiagramm 700, das die Aufbaustufenverarbeitung des geschützten Servers gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Diese Verarbeitung kann vor der Herstellung von Vorrichtungen durch einen Vorrichtungshersteller ausgeführt werden. Bei Block 702 erzeugt ein Vorrichtungshersteller einen geschützten Server 522, um Schlüsselabrufanforderungen zu unterstützen. In einer Ausführungsform ist der geschützte Server auf wohlbekannte Art kommunikativ mit dem Internet verbunden. Für verbesserte Sicherheit sollte es sich bei dem geschützten Server nicht um dasselbe Verarbeitungssystem handeln wie das geschützte Herstellungssystem oder das Herstellungsproduktionssystem. Bei Block 704 erzeugt der Vorrichtungshersteller ein Schlüsseldienst-Schlüsselpaar aus öffentli chem/geheimem Schlüssel, das für den durch den geschützten Server bereitgestellten Schlüssel abrufdienst verwendet werden wird. In einer Ausführungsform kann das Schlüsseldienst-Schlüsselpaar aus öffentlichem/geheimem Schlüssel in dem geschützten Server gespeichert werden. Dieses Schlüsselpaar kann einmal für alle durch das System durchgeführte Verarbeitung gespeichert werden, oder ein neues Paar kann für jede Klasse von Vorrichtungen erzeugt werden. Bei Block 706 liefert der Vorrichtungshersteller den öffentlichen Schlüssel 507 des Schlüsseldienstes an das geschützte Herstellungssystem 502.
  • 8 ist ein Flußdiagramm 800, das die Aufbauverarbeitung der Vorrichtungsherstellung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. In einer Ausführungsform kann ein Vorrichtungshersteller diese Aktionen unter Verwendung eines geschützten Herstellungssystems 502 ausführen. Bei Block 802 erzeugt der Vorrichtungshersteller ein Schlüsselpaar der Direktnachweisfamilie (Fpub und Fpri) für jede herzustellende Vorrichtungsklasse. Jede einzige Vorrichtung wird über einen DPpri-Schlüssel verfügen, so daß eine unter Verwendung des DPpri erzeugte Unterschrift durch Fpub verifiziert werden kann. Eine Vorrichtungsklasse kann jede Gruppe oder Untergruppe von Vorrichtungen umfassen, wie beispielsweise eine ausgewählte Produktreihe (d. h. Art von Vorrichtung) oder Untergruppen eines Produkts basierend auf Versionsnummer oder anderen Merkmalen der Vorrichtungen. Das Schlüsselpaar der Familie ist für die Verwendung durch die Vorrichtungsklasse bestimmt, für die es erzeugt wurde.
  • Für jede herzustellende Vorrichtung führt die Erzeugungsfunktion 512 des geschützten Herstellungssystems 502 Blöcke 804 bis 820 aus. Zunächst erzeugt bei Block 804 die Erzeugungsfunktion einen eindeutigen pseudozufälligen Wert (RAND) 508. In einer Ausführungsform beträgt die Länge von RAND 128 Bits. In anderen Ausführungsformen können andere Werte verwendet werden. In einer Ausführungsform können die pseudozufälligen Werte für eine Anzahl von Vorrichtungen im Voraus erzeugt werden. Bei Block 806 erzeugt die Erzeugungsfunktion unter Verwendung einer Einwegfunktion f, die durch die Vorrichtung unterstützt wird, einen symmetrischen Verschlüsselungsschlüssel SKEY aus dem eindeutigen RAND-Wert (SKEY = f(RAND)). Bei der Einwegfunktion kann es sich um jeden bekannten Algorithmus handeln, der sich für diesen Zweck eignet (z. B. SHA-1, MGF1, Datenverschlüsselungsstandard (DES), Dreifach-DES, Fortgeschrittener Verschlüsselungsstandard (AES) usw.). Bei Block 808 erzeugt die Erzeugungsfunktion in einer Ausführungsform ein Kennungs-(ID)-Etikett, welches dafür verwendet werden wird, um auf den Keyblob 514 dieser Vorrichtung in der Keyblobdatenbank 520 auf dem geschützten Server 522 zu verweisen, indem SKEY verwendet wird, um einen „Nullein trag” (z. B. eine geringe Anzahl von Nullbytes) (Vorrichtungs-Kennung = Verschlüsselung (0...0) unter Verwendung von SKEY) zu verschlüsseln. In anderen Ausführungsformen können andere Arten der Erzeugung der Vorrichtungs-Kennung verwendet werden oder andere Werte können durch SKEY verschlüsselt werden.
  • Als nächstes erzeugt die Erzeugungsfunktion bei Block 810 den geheimen Direktnachweis-Unterzeichnungsschlüssel DPpri, der zu dem öffentlichen Schlüssel (Fpub) der Familie korreliert. Bei Block 812 hasht die Erzeugungsfunktion den DPpri, um unter Verwendung bekannter Verfahren den DPpri-Extrakt zu erzeugen (z. B. unter Verwendung von SHA-1 oder eines anderen Hash-Algorithmus). Bei Block 814 baut die Erzeugungsfunktion eine Keyblobdatenstruktur für die Vorrichtung auf. Der Keyblob enthält mindestens DPpri und den DPpri-Extrakt. In einer Ausführungsform enthält der Keyblob auch einen zufälligen Initialisierungsvektor mit einer Vielzahl pseudozufällig erzeugter Bits. Diese Werte können unter Verwendung von SKEY zum Erzeugen eines verschlüsselten Keyblob 514 verwendet werden. Bei Block 816 können die Vorrichtungs-Kennung, die bei Block 808 erzeugt wurde, und der bei Block 81 erzeugte verschlüsselte Keyblob 514 in einem Eintrag in einer Keyblobdatenbank 520 gespeichert werden. In einer Ausführungsform kann der Eintrag in der Keyblobdatenbank durch die Vorrichtungs-Kennung angezeigt werden. Bei Block 818 kann der aktuelle RAND-Wert in der geschützten Datenbank 510 gespeichert werden. Bei Block 820 können SKEY und DPpri gelöscht werden, da sie durch die Vorrichtung in dem Gebiet neu erzeugt werden.
  • Die Erzeugung des DPpri-Extrakts und die nachfolgende Verschlüsselung durch SKEY sind so aufgebaut, daß der Inhalt von DPpri nicht durch eine Einheit bestimmt werden kann, die nicht im Besitz von SKEY ist, und so, daß der Inhalt des KeyBlob durch eine Einheit, die nicht im Besitz von SKEY ist, ohne nachfolgende Detektion durch eine Einheit, die im Besitz von SKEY ist, nicht modifiziert werden kann. In anderen Ausführungsformen können andere Verfahren zum Bereitstellen dieses Geheim- und Integritätsschutzes verwendet werden. In einigen Ausführungsformen kann der Integritätsschutz nicht erforderlich sein und es könnte ein Verfahren verwendet werden, das nur Geheimheit bereitstellt. In diesem Fall wäre der Wert des DPpri-Extrakts nicht notwendig.
  • Zu einer beliebigen Zeit nach Block 820 kann bei Block 822 die geschützte Datenbank der RAND-Werte sicher auf das Herstellungsproduktionssystem 503 hochgeladen werden, das die RAND-Werte während der Herstellung in die Vorrichtungen speichert. Nach Verifizierung dieses Hochladens könnten die RAND-Werte sicher von dem geschützten Herstellungssystem 502 gelöscht werden. Bei Block 824 kann schließlich die Keyblobdatenbank 520 mit einer Vielzahl von verschlüsselten Keyblobs auf dem geschützten Server 522 gespeichert werden, wobei nur ein Keyblobdatenbankeintrag für jede Vorrichtung, wie durch das Vorrichtungs-Kennungs-Feld angezeigt, verwendet wird.
  • 9 ist ein Flußdiagramm 900, das die Vorrichtungsherstellungsproduktionsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Wenn die Vorrichtungen in einer Produktionsanlage hergestellt werden, wählt das Herstellungsproduktionssystem bei Block 902 einen ungenutzten RAND-Wert von der geschützten Datenbank aus. Der ausgewählte RAND-Wert kann dann in nicht-flüchtigen Speicher in einer Vorrichtung gespeichert werden. In einer Ausführungsform umfaßt der nicht-flüchtige Speicher ein TPM. In einer Ausführungsform kann der RAND-Wert in ungefähr 16 Bytes nicht-flüchtigen Speichers gespeichert werden. Bei Block 904 kann ein Hash 509 des öffentlichen Schlüssels 507 des Schlüsseldiensts in dem nicht-flüchtigen Speicher der Vorrichtung gespeichert werden. Der Hash kann unter Verwendung eines bekannten Hash-Algorithmus erzeugt werden. In einer Ausführungsform kann der Hash-Wert in ungefähr 20 Bytes des nicht-flüchtigen Speichers gespeichert werden. Bei Block 906 zerstört das Herstellungsproduktionssystem, sobald die Speicherung des RAND-Werts erfolgreich war, jeden Nachweis über den RAND-Wert dieser Vorrichtung in der geschützten Datenbank 510. An diesem Punkt ist das einzige Exemplar des RAND-Werts in der Vorrichtung gespeichert.
  • In einer alternativen Ausführungsform könnte der RAND-Wert während der Herstellung einer Vorrichtung erzeugt und dann an das geschützte Herstellungssystem zur Berechnung eines Keyblobs gesendet werden.
  • In einer weiteren Ausführungsform könnte der RAND-Wert an der Vorrichtung erzeugt werden und die Vorrichtung und das geschützte Herstellungssystem könnten an einem Protokoll teilnehmen, um den DPpri-Schlüssel unter Verwendung eines Verfahrens zu erzeugen, das den DPpri-Schlüssel außerhalb der Vorrichtung nicht offenlegt. Die Vorrichtung kann dann die Vorrichtungs-Kennung, den SKEY und den Keyblob erzeugen. Die Vorrichtung würde die Vorrichtungs-Kennung und den Keyblob an das Herstellungssystem zum Speichern in der geschützten Datenbank 510 weitergeben. In diesem Verfahren bleiben dem Herstellungssystem dieselben Informationen (Vorrichtungs-Kennung, Keyblob) in der geschützten Datenbank, aber es kennt die Werte von RAND oder DPpri nicht.
  • 1012 sind Flußdiagramme der Aufbauverarbeitung des Clientcomputersystems gemäß einer Ausführungsform der vorliegenden Erfindung. Ein Clientcomputersystem kann diese Aktionen als Teil eines Hochfahrens des Systems ausführen. Beginnend bei Strom 1000 in 10 kann bei Block 1002 das Clientcomputersystem auf normale Weise hochgefahren werden und ein Vorrichtungstreiber-Softwaremodul 526 für die Vorrichtung kann in den Hauptspeicher des Clientcomputersystems geladen werden. Wenn der Vorrichtungstreiber initialisiert ist und mit der Ausführung beginnt, bestimmt der Vorrichtungstreiber bei Block 1004, ob in der Massenspeichervorrichtung 308 für Vorrichtung 506 bereits ein verschlüsselter lokalisierter Keyblob 524 gespeichert ist. Wenn einer gespeichert ist, muß keine weitere Aufbauverarbeitung durchgeführt werden und die Aufbauverarbeitung endet bei Block 1006. Wenn nicht, dann fährt die Verarbeitung mit Block 1008 fort. Bei Block 1008 gibt der Vorrichtungstreiber einen Befehl zum Erhalten des Schlüssels an die Vorrichtung 506 aus, um den Prozess zum Erhalt des geheimen Direktnachweisschlüssels zu initiieren.
  • Bei Block 1010 sendet der Vorrichtungstreiber den öffentlichen Schlüssel 507 des Schlüsseldiensts an die Vorrichtung. Bei Block 1014 extrahiert die Vorrichtung den öffentlichen Schlüssel des Schlüsseldiensts, erzeugt einen Hash-Wert des öffentlichen Schlüssels des Schlüsseldiensts und vergleicht den Hash-Wert des empfangenen öffentlichen Schlüssels des Schlüsseldienstes mit dem in dem nicht-flüchtigen Speicher der Vorrichtung gespeicherten Hash 509 des öffentlichen Schlüssels des Schlüsseldienst. Wenn die Hash-Werte übereinstimmen, ist von dem empfangenen öffentlichen Schlüssel des Schlüsseldienstes bekannt, dass er der des Schlüsselabrufdiensts des Vorrichtungsherstellers ist, und die Clientcomputersystemaufbauverarbeitung fährt fort.
  • In einer anderen Ausführungsform könnte die Vorrichtung ein Zertifikat eines zertifizierten öffentlichen Schlüssels des Schlüsseldienstes empfangen, für den das Zertifikat durch eine Zertifikatkette an den öffentlichen Schlüssel des Schlüsseldienstes verifiziert werden könnte, dessen Hash-Wert der in dem nicht-flüchtigen Speicher der Vorrichtung gespeicherte Hash-Wert 509 des öffentlichen Schlüssels des Schlüsseldiensts ist. Der zertifizierte öffentliche Schlüssel des Schlüsseldienstes könnte als der öffentliche Schlüssel des Schlüsseldienstes in den nachfolgenden Schritten verwendet werden.
  • Bei Block 1018 verwendet die Vorrichtung ihre Einwegfunktion f, um den symmetrischen Schlüssel SKEY aus dem eingebetteten RAND-Wert 508 (SKEY = f(RAND)) wieder zu erstellen. Bei Block 1020 erzeugt die Vorrichtung dann ihr eindeutiges Vorrichtungs-ID-Etikett unter Verwendung des SKEY, um einen „Nulleintrag” (z. B. eine geringe Anzahl von Nullbytes) (Vorrichtungs-Kennung = Verschlüsselung (0...0) unter Verwendung von SKEY) zu verschlüsseln. Die Verarbeitung fährt mit Flußdiagramm 1100 von 11 fort.
  • Bei Block 1102 aus 11 erzeugt die Vorrichtung einen transienten symmetrischen Schlüssel Tkey. Dieser Schlüssel wird an den geschützten Server gesendet, der ihn zum Verschlüsseln der Nachricht verwenden kann, die der geschützte Server an die Vorrichtung zurückgibt. Bei Block 1104 baut die Vorrichtung eine Schlüsselabfrageanforderungsnachricht auf, die die Vorrichtungskennung und den transienten symmetrischen Schlüssel Tkey enthält, verschlüsselt die Nachricht unter Verwendung des von dem Vorrichtungstreiber bei Block 1014 empfangenen öffentlichen Schlüssels des Schlüsseldienstes und sendet die Schlüsselabfrageanforderungsnachricht an den geschützten Server über den Vorrichtungstreiber. (Schlüsselabfrageanforderung = Verschlüsseln (Vorrichtungskennung, Tkey) mit dem öffentlichen Schlüssel des Schlüsseldienstes). Einem Fachmann wird ersichtlich sein, daß zur Verschlüsselung der Nachricht mit einem öffentlichen Schlüssel in der Regel ein Sitzungsschlüssel (Skey) für eine symmetrische Chiffre erzeugt werden würde, der Sitzungsschlüssel mit dem öffentlichen Schlüssel verschlüsselt werden würde und die Nachricht dann mit dem Sitzungsschlüssel verschlüsselt werden würde. Bei Block 1106 verschlüsselt der geschützte Server die empfangene Schlüsselabfragenachricht unter Verwendung des geheimen Schlüssels 511 des Schlüsseldienstes und extrahiert die darin gespeicherten Felder. Da der geschützte Server nun die Vorrichtungskennung kennt (die von der Schlüsselanforderungsnachricht erhalten wurde), sucht der geschützte Server in der Keyblobdatenbank nach dem Datensatz, der den passenden Vorrichtungkennungswert enthält und extrahiert den verschlüsselten Keyblob der Vorrichtung von dem Datensatz. Bei Block 1110 baut der geschützte Server eine zweite Antwortnachricht auf, die den öffentlichen Schlüssel der Familie und den verschlüsselten Keyblob enthält und verschlüsselt die zweite Antwortnachricht unter Verwendung des transienten symmetrischen Schlüssels Tkey, der durch die Vorrichtung zugeführt wird. Somit ist die Schlüsselantwort = (öffentlicher Schlüssel der Familie, Verschlüsselung des (verschlüsselten Keyblobs) unter Verwendung von Tkey). Das Verschlüsseln des verschlüsselten Keyblob mit Tkey erfolgt nicht zum Schützen des Keyblob, da es bereits mit einem symmetrischen Schlüssel SKEY verschlüsselt ist, der nur durch die Vorrichtung wieder hergestellt werden kann. Vielmehr stellt das Verschlüsseln der Nachricht auf diese Weise sicher, dass sich der zurückgegebene Keyblob jedesmal beim Ausführen des Prozesses zum Erhalten des Schlüssels ändert, wodurch sichergestellt wird, dass der Keyblob selbst als ein „Cookie” verwendet werden kann. Die zweite Antwortnachricht kann an den Vorrichtungstreiber auf dem Clientcomputersystem bei Block 1112 zurückgegeben werden, welcher die Nachricht an die Vorrichtung weiterleitet.
  • Bei Block 1114 extrahiert die Vorrichtung den öffentlichen Schlüssel der Familie von der zweiten Antwortnachricht, entschlüsselt den verpackten Keyblob unter Verwendung des transienten symmetrischen Schlüssels Tkey und speichert den verschlüsselten Keyblob in dem flüchtigen Speicher der Vorrichtung. Die Verarbeitung fährt dann mit Flußdiagramm 1200 von 12 fort.
  • Bei Block 1216 von 12 entschlüsselt die Vorrichtung den verschlüsselten Keyblob unter Verwendung des symmetrischen Schlüssels SKEY, um DPpri und den DPpri-Extrakt zu ergeben und speichert diese Werte in seinem nicht-flüchtigen Speicher (Entschlüsselter Keyblob = Entschlüsseln (IV, DPpri, DPpri-Extrakt) unter Verwendung von SKEY). Der Initialisierungsvektor (IV) kann verworfen werden. Bei Block 1218 prüft die Vorrichtung dann die Integrität von DPpri durch Hashen von DPpri und Vergleichen des Ergebnisses mit dem DPpri-Extrakt. Wenn der Vergleich gut ist, nimmt die Vorrichtung DPpri als gültigen Schlüssel an. Die Vorrichtung kann in einer Ausführungsform auch eine Schlüssel-Erhalten-Fahne setzen, um anzuzeigen, dass der geheime Direktnachweisschlüssel erfolgreich erhalten wurde. Bei Block 1220 wählt die Vorrichtung einen neuen IV und erzeugt einen neuen verschlüsselten lokalisierten Keyblob unter Verwendung des neuen IV (Lokalisierter Keyblob = Verschlüsseln (IV2, DPpri, DPpri-Extrakt) unter Verwendung von SKEY). In einer Ausführungsform kann der neue verschlüsselte Keyblob an ein Schlüsselabrufeinheit-Softwaremodul (in 5 nicht gezeigt) auf dem Clientcomputersystem zurückgegeben werden. Bei Block 1222 speichert die Schlüssel-Abfrageeinheit den verschlüsselten lokalisierten Keyblob in dem Speicher des Clientcomputersystems (wie beispielsweise der Massenspeichervorrichtung 308). Der DPpri der Vorrichtung ist nun sicher in das Clientcomputersystem gespeichert.
  • Sobald die Vorrichtung während der Aufbauverarbeitung den DPpri erhalten hat, kann die Vorrichtung dann den DPpri verwenden. 13 ist ein Flußdiagramm 1300 der Clientcomputersystemverarbeitung gemäß einer Ausführungsform der vorliegenden Erfindung. Das Clientcomputersystem kann diese Aktionen jederzeit ausführen, nachdem der Aufbau abgeschlossen ist. Bei Block 1302 kann das Clientcomputersystem auf normale Weise hochgefahren werden und ein Vorrichtungstreiber 526 für die Vorrichtung kann in den Hauptspeicher geladen werden. Wenn der Vorrichtungstreiber initialisiert wird und mit der Ausführung beginnt, bestimmt der Vorrichtungstreiber, ob in der Massenspeichervorrichtung 308 für die Vorrichtung 506 bereits ein verschlüsselter lokalisierter Keyblob 524 gespeichert ist. Wenn nicht, wird die Aufbauverarbeitung aus 1012 ausgeführt. Wenn für diese Vorrichtung ein verschlüsselter lokalisierter Keyblob verfügbar ist, fährt die Verarbeitung mit Block 1306 fort. Bei Block 1306 fragt der Vorrichtungstreiber den verschlüsselten lokalisierten Keyblob ab und überträgt den Keyblob an die Vorrichtung. In einer Ausführungsform kann die Übertragung des Keyblob durch Ausführen eines Keyblob-Lade-Befehls erfolgen.
  • Bei Block 1308 verwendet die Vorrichtung ihre Einwegfunktion f, um den symmetrischen Schlüssel SKEY (nun zur Verwendung in der Entschlüsselung) aus dem eingebetteten RAND-Wert 508 (SKEY = f(RAND)) wiederzugewinnen. Bei Block 1310 entschlüsselt die Vorrichtung den verschlüsselten lokalisierten Keyblob unter Verwendung des symmetrischen Schlüssels SKEY, um DPpri und DPpri-Extrakt zu ergeben, und speichert diese Werte in seinem nichtflüchtigen Speicher (entschlüsselter Keyblob = Entschlüsseln (IV2, DPpri, DPpri-Extrakt) unter Verwendung von SKEY). Der zweite Initialisierungsvektor (1V2) kann verworfen werden. Bei Block 1312 prüft die Vorrichtung die Integrität des DPpri durch Hashen des DPpri und Vergleichen des Ergebnisses mit dem DPpri-Extrakt. Wenn der Vergleich gut ist (z. B. wenn der Extrakt übereinstimmt), nimmt die Vorrichtung DPpri als den früher erhaltenen gültigen Schlüssel an und aktiviert ihn zum Gebrauch. Die Vorrichtung kann auch eine Schlüssel-Erhalten-Fahne setzen, um anzuzeigen, dass der geheime Direktnachweisschlüssel erfolgreich erhalten wurde. Bei Block 1314 wählt die Vorrichtung noch einen anderen IV und schafft einen neuen verschlüsselten lokalisierten Keyblob unter Verwendung des neuen IV (Lokalisierter Keyblob = Verschlüsseln (IV3, DPpri, DPpri-Extrakt) unter Verwendung von SKEY). Der neue verschlüsselte lokalisierte Keyblob kann an die Schlüsselabfrageeinheit zurückgegeben werden. Bei Block 1316 speichert die Schlüsselabfrageeinheit den verschlüsselten, lokalisierten Keyblob in dem Speicher in dem Clientcomputersystem (wie beispielsweise der Massenspeichervorrichtung 308). Der DPpri der Vorrichtung wird nun noch einmal in dem Clientcomputersystem sicher gespeichert.
  • In einer Ausführungsform der vorliegenden Erfindung ist es nicht notwendig, alle geheimen Direktnachweisschlüssel der Vorrichtung zur selben Zeit zu erzeugen. Angenommen, dass die Keyblobdatenbank auf dem geschützten Server regelmäßig aktualisiert wird, könnten die geheimen Direktnachweisschlüssel der Vorrichtung nach Bedarf erzeugt werden. Bei jeder Aktualisierung der Keyblobdatenbank auf dem geschützten Server würde er die aktuell erzeugte Keyblobdatenbank enthalten, einschließlich jeder Vorrichtungsschlüssel, die erzeugt worden sind, aber noch keinen Vorrichtungen zugewiesen worden sind.
  • In einer weiteren Ausführungsform kann es möglich sein, die Erzeugung des DPpri-Schlüssels der Vorrichtung zu verzögern, wodurch ermöglicht wird, diese Schlüssel nur für die Vorrichtungen zu erzeugen, die sie benötigen. Nach Empfang der ersten Anforderung zum Erhalten des Schlüssels von der Vorrichtung kann der geschützte Server eine Anforderung an das geschützte Herstellungssystem erzeugen, das immer noch den RAND-Wert der Vorrichtung hält. Zu dieser Zeit erzeugt das geschützte Herstellungssystem den DPpri-Schlüssel für die Vorrichtung, gibt ihn an den geschützten Server zurück und zerstört den RAND-Wert erst dann.
  • In einer weiteren Ausführungsform kann der Vorrichtungshersteller, statt den Hash-Wert des öffentlichen Schlüssels des Schlüsseldienstes in nicht-flüchtigem Speicher an der Vorrichtung zu speichern, den Hash-Wert eines Wurzelschlüssels speichern und dann Zertifikate für öffentliche Schlüssel des Schlüsseldienstes mit dem Wurzelschlüssel unterzeichnen. Auf diese Weise könnte derselbe Wurzelschlüssel für eine sehr große Anzahl von Vorrichtungen verwendet werden.
  • Obwohl die hier erörterten Vorgänge als ein sequentieller Prozess beschrieben werden können, könnten einige der Vorgänge tatsächlich parallel oder gleichzeitig ausgeführt werden. Außerdem kann in einigen Ausführungsformen die Reihenfolge der Vorgänge neu angeordnet werden, ohne von der Idee der Erfindung abzuweichen.
  • Die hier beschriebenen Techniken sind nicht auf eine bestimmte Hardware- oder Softwarekonfiguration beschränkt, sie können in jeder Rechen- oder Verarbeitungsumgebung zur Anwendung gelangen. Die Techniken können in Hardware, Software oder einer Kombination der beiden implementiert werden. Die Techniken können in Programmen implementiert werden, die auf programmierbaren Maschinen laufen, wie mobilen oder stationären Computer, Personal Digital Assistants bzw. Minicomputer, Set-Top-Boxen bzw. Digitalempfängern, Mobiltelefonen und Pagern und anderen elektronischen Vorrichtungen, die jeweils einen Prozessor, ein durch den Prozessor lesbares Speichermedium (einschließlich nicht-flüchtigen Speichers und/oder Speicherelementen), mindestens eine Eingabevorrichtung und eine oder mehrere Ausgabevorrichtun code angelegt, um die beschriebenen Funktionen auszuführen und Ausgabeinformationen zu erzeugen. Die Ausgabeinformationen können an eine oder mehrere Ausgabevorrichtungen angelegt werden. Einem Durchschnittsfachmann dürfte klar sein, dass die Erfindung mit verschiedenen Computersystemkonfigurationen, einschließlich Multiprozessorsystemen, Minicomputern, Mainframecomputern und der gleichen ausgeführt werden kann. Die Erfindung kann auch in verteilten Rechenumgebungen ausgeführt werden, in denen Aufgaben durch entfernte Verarbeitungsvorrichtungen, die über ein Kommunikationsnetzwerk verbunden sind, ausgeführt werden.
  • Jedes Programm kann in einer auf Abläufe oder Objekte ausgerichteten Programmiersprache hohen Niveaus implementiert sein, um mit einem Verarbeitungssystem zu kommunizieren. Wenn gewünscht, können Programme jedoch in Programmumwandlungs- oder Maschinensprache implementiert sein. In jedem Fall kann die Sprache kompiliert oder interpretiert bzw. übersetzt sein.
  • Programmanweisungen können verwendet werden, um ein Verarbeitungssystem für den allgemein oder speziellen Gebrauch zu erzeugen, das mit den Anweisungen programmiert wird, um die hier beschriebenen Vorgänge durchzuführen. Alternativ können die Vorgänge durch spezifische Hardwarekomponenten ausgeführt werden, die zum Ausführen der Vorgänge Hardwarelogik enthalten, oder durch eine beliebige Kombination programmierter Computerkomponenten und angepasster Hardwarekomponenten. Die hier beschriebenen Verfahren können als Computerprogrammprodukt bereitgestellt werden, das ein maschinenlesbares Medium enthalten kann, das darauf Anweisungen gespeichert haben kann, die verwendet werden können, um ein Verarbeitungssystem oder eine andere elektronische Vorrichtung zur Ausführung der Verfahren zu programmieren. Der Begriff „maschinenlesbares Medium” soll, wie hierin verwendet, jedes Medium einschließen, das in der Lage ist, eine Abfolge von Anweisungen zur Ausführung durch eine Maschine zu speichern oder zu codieren und das bewirkt, dass die Maschine eines der hier beschriebenen Verfahren ausführt. Der Begriff „maschinenlesbares Medium” soll dementsprechend Festzustands- bzw. Halbleitermedien, optische und magnetische Disks und eine Trägerwelle, die ein Datensignal codiert, enthalten, aber nicht darauf beschränkt sein. Außerdem ist es in dem Gebiet üblich, in der einen oder anderen Form von Software so zu sprechen (z. B. Programm, Verfahren, Prozess, Anwendung, Modul, Logik und so weiter), dass sie eine Aktion vornimmt oder ein Ergebnis hervorruft. Derartige Ausdrücke sind lediglich die Kurzfassung, um die Ausführung der Software durch ein Verarbeitungssystem festzustellen, welche bewirkt, dass der Prozessor eine Aktion ausführt oder ein Ergebnis erzeugt.
  • Während die vorliegende Erfindung mit Bezug auf veranschaulichende Ausführungsformen beschrieben wurde, soll diese Beschreibung nicht in einem einschränkenden Sinn ausgelegt werden. Verschiedene Modifikationen der veranschaulichenden Ausführungsformen sowie andere Ausführungsformen der Erfindung, welche Fachleuten auf dem Gebiet, zu dem die Erfindung gehört, ersichtlich sind, sollen innerhalb der Idee und des Schutzumfangs der Erfindung liegen.

Claims (27)

  1. Verfahren umfassend: Herstellen eines geschützten Onlineservers zur Unterstützung von Schlüsselabrufanfragen von Clientcomputersystemen; Erzeugen eines Schlüsseldienst-Schlüsselpaars aus öffentlichem/geheimem Schlüssel in einer sicheren Schlüsselabrufverarbeitung; Erzeugen eines pseudozufälligen Werts für eine Vorrichtung; Erzeugen einer der Vorrichtung zugeordneten verschlüsselten Datenstruktur, wobei die verschlüsselte Datenstruktur einen geheimen Schlüssel umfaßt; Erzeugen einer Kennung für die verschlüsselte Datenstruktur basierend auf dem pseudozufälligen Wert; Speichern der Kennung und der verschlüsselten Datenstruktur auf dem geschützten Onlineserver; und Speichern des pseudozufälligen Werts und eines Hash-Werts des öffentlichen Schlüssels des Schlüsseldiensts in einen nicht-flüchtigen Speicher in der Vorrichtung.
  2. Verfahren nach Anspruch 1, ferner umfassend ein Erzeugen eines Schlüsselpaars der Direktnachweisfamilie für eine Vorrichtungsklasse.
  3. Verfahren nach Anspruch 2, wobei der geheime Schlüssel einen einem öffentlichen Schlüssel aus dem Schlüsselpaar der Direktnachweisfamilie zugeordneten geheimen Direktnachweisschlüssel umfaßt, und ferner umfassend ein Hashen des geheimen Direktnachweisschlüssels zum Erzeugen des Extrakts des geheimen Schlüssels.
  4. Verfahren nach Anspruch 1, ferner umfassend ein Erzeugen eines symmetrischen Schlüssels basierend auf dem pseudozufälligen Wert für die Vorrichtung.
  5. Verfahren nach Anspruch 4, wobei das Erzeugen der Kennung das Verschlüsseln eines Datenwerts unter Verwendung des symmetrischen Schlüssels umfaßt.
  6. Verfahren nach Anspruch 4, ferner umfassend ein Verschlüsseln der Datenstruktur unter Verwendung des symmetrischen Schlüssels.
  7. Verfahren nach Anspruch 1, ferner umfassend ein Speichern des öffentlichen Schlüssels des Schlüsseldienstes auf einem geschützten Herstellungssystem.
  8. Verfahren nach Anspruch 1, wobei der pseudozufällige Wert für die Vorrichtung eindeutig ist.
  9. Gegenstand, umfassend: ein erstes Speichermedium mit einer Vielzahl von maschinenlesbaren Anweisungen, wobei die Anweisungen beim Ausführen durch einen Prozessor folgendes bewirken: Einrichten eines geschützten Onlineservers zur Unterstützung von Schlüsselabrufanfragen von Clientcomputersystemen; Erzeugen eines Schlüsseldienst-Schlüsselpaars aus öffentlichem/geheimem Schlüssel in einer sicheren Schlüsselabrufverarbeitung; Erzeugen eines pseudozufälligen Werts für eine Vorrichtung; Erzeugen einer der Vorrichtung zugeordneten verschlüsselten Datenstruktur, wobei die verschlüsselte Datenstruktur einen geheimen Schlüssel umfaßt; Erzeugen einer Kennung für die verschlüsselte Datenstruktur basierend auf dem pseudozufälligen Wert; Speichern der Kennung und der verschlüsselten Datenstruktur auf dem geschützten Onlineserver; und Speichern des pseudozufälligen Werts und eines Hash-Werts des öffentlichen Schlüssels des Schlüsseldiensts in einen nicht-flüchtigen Speicher in der Vorrichtung.
  10. Gegenstand nach Anspruch 9, ferner umfassend Anweisungen zum Erzeugen eines Schlüsselpaars der Direktnachweisfamilie für eine Vorrichtungsklasse.
  11. Gegenstand nach Anspruch 10, wobei der geheime Schlüssel einen einem öffentlichen Schlüssel des Schlüsselpaars der Direktnachweisfamilie zugeordneten geheimen Direktnachweisschlüssel umfaßt, und ferner umfassend Anweisungen zum Hashen des geheimen Direktnachweisschlüssels zum Erzeugen des Extrakts des geheimen Schlüssels.
  12. Gegenstand nach Anspruch 9, ferner umfassend Anweisungen zum Erzeugen eines symmetrischen Schlüssels basierend auf dem pseudozufälligen Wert für die Vorrichtung.
  13. Gegenstand nach Anspruch 12, wobei die Anweisungen zum Erzeugen der Kennung Anweisungen zum Verschlüsseln eines Datenwerts unter Verwendung des symmetrischen Schlüssels umfassen.
  14. Gegenstand nach Anspruch 12, ferner umfassend Anweisungen zum Verschlüsseln der Datenstruktur unter Verwendung des symmetrischen Schlüssels.
  15. Gegenstand nach Anspruch 9, ferner umfassend Anweisungen zum Speichern des öffentlichen Schlüssels des Schlüsseldienstes auf einem geschützten Herstellungssystem.
  16. Gegenstand nach Anspruch 9, wobei der pseudozufällige Wert für die Vorrichtung eindeutig ist.
  17. Verfahren, umfassend: Bestimmen, ob eine verschlüsselte Datenstruktur, die einer in einem Computersystem installierten Vorrichtung zugeordnet ist, in einer Massenspeichervorrichtung in dem Computersystem gespeichert ist, wobei die verschlüsselte Datenstruktur einen geheimen Schlüssel, einen Extrakt des geheimen Schlüssels, und einen ersten Initialisierungsvektor für die Vorrichtung einer Vorrichtungsklasse umfasst, und wobei die Vorrichtung einen einmaligen pseudo-zufälligen Wert enthält, der in einem nicht-flüchtigen Speicher der Vorrichtung gespeichert ist; wenn die verschlüsselte Datenstruktur nicht in der Massenspeichervorrichtung gespeichert ist, Erhalten der der Vorrichtung zugeordneten verschlüsselten Datenstruktur von einem geschützten Onlineserver, auf den durch das Computersystem zugegriffen werden kann, durch Ausgeben eines Befehls zum Erhalten des Schlüssels an die Vorrichtung, um den Prozess zum Erhalten des geheimen Schlüssels zu initiieren; Wiedererstellen eines symmetrischen Schlüssels basierend auf dem einmaligen pseudo-zufälligen Wert, wobei der symmetrische Schlüssel zur Erzeugung der verschlüsselten Datenstruktur verwendet wird; Erzeugen einer Vorrichtungskennung für die verschlüsselte Datenstruktur unter Verwendung des auf dem einmaligen pseudo-zufälligen Wert basierenden symmetrischen Schlüssels; Erzeugen eines transienten symmetrischen Schlüssels; Aufbauen einer Schlüsselabfrageanforderungsnachricht, die die Vorrichtungskennung und den transienten symmetrischen Schlüssel enthält; Verschlüsseln der Schlüsselabfrageanforderungsnachricht unter Verwendung eines öffentlichen Schlüssels eines Schlüsseldienstes; und Senden der verschlüsselten Schlüsselabfrageanforderungsnachricht an den geschützten Onlineserver, wobei der Server eine Datenbank verschlüsselter Datenstrukturen speichert, von denen jede einer Vorrichtung der Vorrichtungsklasse zugeordnet und durch eine Vorrichtungskennung indiziert ist; und Verarbeiten der verschlüsselten Datenstruktur und Erzeugen einer lokalisierten verschlüsselten Datenstruktur, die den geheimen Schlüssel, den Extrakt des geheimen Schlüssels, und einen zweiten Initialisierungsvektor enthält, und Speichern der lokalisierten verschlüsselten Datenstruktur in der Massenspeichervorrichtung.
  18. Verfahren nach Anspruch 17, wobei der geheime Schlüssel einen einem öffentlichen Schlüssel des Schlüsselpaars der Direktnachweisfamilie für eine Vorrichtungsklasse zugeordneten geheimen Direktnachweisschlüssel umfaßt.
  19. Verfahren nach Anspruch 17, wobei der Prozess zum Erhalten des geheimen Schlüssels ein Erhalten eines öffentlichen Schlüssels des Schlüsseldienstes, der durch einen entsprechenden geheimen Schlüssel des Schlüsseldienstes unterschrieben ist, durch die Vorrichtung von dem geschützten Onlineserver umfaßt.
  20. Verfahren nach Anspruch 19, wobei der Prozess zum Erhalten des geheimen Schlüssels ferner ein Entschlüsseln der verschlüsselten Nachricht zum Abrufen des Schlüssels unter Verwendung des geheimen Schlüssels des Schlüsseldienstes zum Erhalten der Vorrichtungskennung umfaßt.
  21. Verfahren nach Anspruch 20, wobei der Prozess zum Erhalten des geheimen Schlüssels ferner ein Durchsuchen des geschützten Onlineservers auf einen Eintrag verschlüsselter Datenstrukturen in der Datenbank, welche durch eine der erzeugten Vorrichtungskennung entsprechenden Kennung angezeigt werden, ein Aufbauen einer Nachricht zum Beantworten des Schlüssels, die die verschlüsselte Datenstruktur in dem Eintrag enthält, ein Verschlüsseln der Nachricht zum Beantworten des Schlüssels mit dem transienten symmetrischen Schlüssel, und ein Übertragen der Nachricht zum Beantworten des Schlüssels an die Vorrichtung umfaßt.
  22. Verfahren nach Anspruch 21, wobei der Prozess zum Erhalten des geheimen Schlüssels ferner ein Entschlüsseln durch die Vorrichtung der verschlüsselten Nachricht zum Beantworten des Schlüssels unter Verwendung des transienten symmetrischen Schlüssels zum Erhalten der verschlüsselten Datenstruktur umfaßt.
  23. Verfahren nach Anspruch 22, wobei der Prozess zum Erhalten des geheimen Schlüssels ferner ein Entschlüsseln der von dem geschützten Onlineserver erhaltenen verschlüsselten Datenstruktur unter Verwendung des symmetrischen Schlüssels zum Erhalten des geheimen Schlüssels und des Extrakts des geheimen Schlüssels umfaßt.
  24. Verfahren nach Anspruch 22, wobei der Prozess zum Erhalten des geheimen Schlüssels ferner ein Hashen des geheimen Schlüssels zum Erzeugen eines neuen Extrakts des geheimen Schlüssels, ein Vergleichen des Extrakts des geheimen Schlüssels von der entschlüsselten Datenstruktur mit dem neuen Extrakt des geheimen Schlüssels und ein Annehmen des geheimen Schlüssels als für die Vorrichtung gültig, wenn die Extrakte übereinstimmen, umfaßt.
  25. Gegenstand, umfassend: ein Speichermedium mit einer Vielzahl maschinenlesbarer Anweisungen, wobei die Anweisungen beim Ausführen durch einen Prozessor das Erhal ten eines geheimen Schlüssels für eine in einem Computersystem installierte Vorrichtung durch Ausführen des Verfahrens nach einem der Ansprüche 17 bis 24 bewirken.
  26. System zum Liefern eines geheimen Schlüssels an eine in einem Clientcomputersystem gespeicherte Vorrichtung unter Verwendung eines sicheren Protokolls, das folgendes umfaßt: einen geschützten Onlineserver, der für das Clientcomputersystem zugänglich ist und zum Erzeugen eines Schlüsselpaars aus öffentlichem/geheimem Schlüssel, zum Speichern einer Datenbank verschlüsselter Datenstrukturen, wobei jede verschlüsselte Datenstruktur einen einer ausgewählten Vorrichtung entsprechenden geheimen Schlüssel enthält, und zum sicheren Kommunizieren einer ausgewählten verschlüsselten Datenstruktur an die Vorrichtung konfiguriert ist; ein geschütztes System, das mit dem geschützten Server gekoppelt und dazu konfiguriert ist, die der Vorrichtung zugeordnete verschlüsselte Datenstruktur zu erzeugen, den öffentlichen Schlüssel des Schlüsseldienstes von dem geschützten Server zu empfangen und die verschlüsselte Datenstruktur an den geschützten Onlineserver zu senden; und ein Produktionssystem, das mit dem geschützten System gekoppelt und dazu konfiguriert ist, einen Hash-Wert des öffentlichen Schlüssels des Schlüsseldienstes und einen eindeutigen pseudozufälligen Wert von dem geschützten System zu empfangen und vor der Installation der Vorrichtung in ein Clientcomputersystem den Hash-Wert des öffentlichen Schlüssels des Schlüsseldienstes und den eindeutigen pseudozufälligen Wert in einen nicht-flüchtigen Speicher der Vorrichtung zu speichern.
  27. System nach Anspruch 26, wobei der geheime Schlüssel einen einem öffentlichen Schlüssel des Schlüsselpaars der Direktnachweisfamilie zugeordneten geheimen Direktnachweisschlüssel umfaßt.
DE112005001672T 2004-07-14 2005-07-08 Verfahren zum Liefern eines geheimen Direktnachweisschlüssels an Vorrichtungen unter Verwendung eines Onlinedienstes Expired - Fee Related DE112005001672B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/892,256 US7697691B2 (en) 2004-07-14 2004-07-14 Method of delivering Direct Proof private keys to devices using an on-line service
US10/892,256 2004-07-14
PCT/US2005/024374 WO2006023151A2 (en) 2004-07-14 2005-07-08 Method of delivering direct proof private keys to devices using an on-line service

Publications (2)

Publication Number Publication Date
DE112005001672T5 DE112005001672T5 (de) 2007-05-31
DE112005001672B4 true DE112005001672B4 (de) 2010-12-09

Family

ID=35599441

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005001672T Expired - Fee Related DE112005001672B4 (de) 2004-07-14 2005-07-08 Verfahren zum Liefern eines geheimen Direktnachweisschlüssels an Vorrichtungen unter Verwendung eines Onlinedienstes

Country Status (6)

Country Link
US (2) US7697691B2 (de)
JP (1) JP4673890B2 (de)
CN (1) CN101019369B (de)
DE (1) DE112005001672B4 (de)
GB (1) GB2430127B (de)
WO (1) WO2006023151A2 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8639915B2 (en) 2004-02-18 2014-01-28 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8165297B2 (en) * 2003-11-21 2012-04-24 Finisar Corporation Transceiver with controller for authentication
US7693286B2 (en) * 2004-07-14 2010-04-06 Intel Corporation Method of delivering direct proof private keys in signed groups to devices using a distribution CD
US7697691B2 (en) 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US7792303B2 (en) * 2004-07-14 2010-09-07 Intel Corporation Method of delivering direct proof private keys to devices using a distribution CD
SG162784A1 (en) * 2005-06-14 2010-07-29 Certicom Corp System and method for remote device registration
HK1155587A1 (en) * 2005-06-14 2012-05-18 Certicom Corp System and method for remote device registration
CA2510366C (en) 2005-06-14 2013-02-26 Certicom Corp. System and method for remote device registration
SG169991A1 (en) 2006-02-28 2011-04-29 Certicom Corp System and method for product registration
WO2008049235A1 (en) 2006-10-27 2008-05-02 Storage Appliance Corporation Systems and methods for controlling production quantities
US8762714B2 (en) * 2007-04-24 2014-06-24 Finisar Corporation Protecting against counterfeit electronics devices
US9148286B2 (en) * 2007-10-15 2015-09-29 Finisar Corporation Protecting against counterfeit electronic devices
WO2009050324A1 (en) * 2007-10-16 2009-04-23 Nokia Corporation Credential provisioning
US8627079B2 (en) 2007-11-01 2014-01-07 Infineon Technologies Ag Method and system for controlling a device
US8908870B2 (en) * 2007-11-01 2014-12-09 Infineon Technologies Ag Method and system for transferring information to a device
WO2009059331A2 (en) * 2007-11-02 2009-05-07 Finisar Corporation Anticounterfeiting means for optical communication components
US8819423B2 (en) * 2007-11-27 2014-08-26 Finisar Corporation Optical transceiver with vendor authentication
US9292715B2 (en) * 2008-01-22 2016-03-22 Hewlett-Packard Development Company, L.P. Shared secret used between keyboard and application
CN101562784B (zh) * 2008-04-14 2012-06-06 华为技术有限公司 报文分发方法、设备及系统
EP2526505B1 (de) * 2010-01-20 2015-06-17 Intrinsic ID B.V. Vorrichtung und verfahren zum erhalt eines kryptographischen schlüssels
US8715625B1 (en) 2010-05-10 2014-05-06 The Clorox Company Natural oral care compositions
US9325677B2 (en) * 2010-05-17 2016-04-26 Blackberry Limited Method of registering devices
JP5644194B2 (ja) * 2010-06-10 2014-12-24 株式会社リコー 情報保護装置及び情報保護プログラム
FR2966620B1 (fr) * 2010-10-26 2012-12-28 Oberthur Technologies Procede et systeme de controle de l'execution d'une fonction protegee par authentification d'un utilisateur, notamment pour l'acces a une ressource
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
US8600061B2 (en) 2011-06-24 2013-12-03 Broadcom Corporation Generating secure device secret key
WO2013048533A1 (en) * 2011-10-01 2013-04-04 Intel Corporation Printing through physical proximity between printer and print client device
EP2629223A1 (de) * 2012-02-14 2013-08-21 Thomson Licensing System, Vorrichtungen und Verfahren zur kollaborativen Ausführung einer Softwareanwendung mit mindestens einer verschlüsselten Anweisung
US8898463B2 (en) * 2012-06-15 2014-11-25 Kabushiki Kaisha Toshiba Device
US8989374B2 (en) * 2012-06-15 2015-03-24 Kabushiki Kaisha Toshiba Cryptographic device for secure authentication
US8948400B2 (en) * 2012-06-15 2015-02-03 Kabushiki Kaisha Toshiba Host device
US8874904B1 (en) * 2012-12-13 2014-10-28 Emc Corporation View computation and transmission for a set of keys refreshed over multiple epochs in a cryptographic device
FR3004561B1 (fr) * 2013-04-15 2016-11-11 Banque Accord Methode et systeme d'amelioration de la securite des transactions electroniques
CN103259651B (zh) * 2013-05-30 2016-06-08 成都欣知科技有限公司 一种对终端数据加解密的方法及系统
US10440000B2 (en) * 2014-07-11 2019-10-08 Cryptography Research, Inc. Secure data provisioning
US9485250B2 (en) * 2015-01-30 2016-11-01 Ncr Corporation Authority trusted secure system component
US9680646B2 (en) * 2015-02-05 2017-06-13 Apple Inc. Relay service for communication between controllers and accessories
DE102015016302A1 (de) * 2015-12-15 2017-06-22 Giesecke & Devrient Gmbh Vereinbarung von Austausch-Schlüsseln ausgehend von zwei statischen asymmetrischen Schlüssel-Paaren
DE102016116152A1 (de) * 2016-04-30 2017-11-02 Krohne Messtechnik Gmbh Elektrisches Gerät mit einer Funktionseinrichtung
US10897459B2 (en) * 2017-01-26 2021-01-19 Microsoft Technology Licensing, Llc Addressing a trusted execution environment using encryption key
DE102017202787A1 (de) * 2017-02-21 2018-08-23 Siemens Aktiengesellschaft Verfahren und Validierungseinheit zum Steuern des Ladens von in IT-Systemen, insbesondere Eingebetteten Systemen, benutzbaren Krypto-Schlüsseln, insbesondere "Key BLOBs"
US11823501B2 (en) * 2017-08-18 2023-11-21 Oracle International Corporation Associating voting sessions with tabulation machines in electronic voting
WO2019035700A1 (en) * 2017-08-18 2019-02-21 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR BOARDING IN AN IOT NETWORK
EP3707855A1 (de) * 2017-11-09 2020-09-16 Nchain Holdings Limited System zur sicherung eines verifizierungsschlüssels vor änderung und zur verifizierung der gültigkeit eines korrektheitsnachweises
US11101984B2 (en) * 2019-04-04 2021-08-24 Micron Technology, Inc. Onboarding software on secure devices to generate device identities for authentication with remote servers
CN110149209B (zh) * 2019-04-15 2022-06-28 深圳奇迹智慧网络有限公司 物联网设备及其提高数据传输安全性的方法和装置
US11570155B2 (en) * 2019-07-25 2023-01-31 Everything Blockchain Technology Corp. Enhanced secure encryption and decryption system
US11477014B1 (en) 2019-08-23 2022-10-18 Liberty Mutual Insurance Company Anonymized data transmission using per-user-functionality secret shares
US11876797B2 (en) * 2020-03-30 2024-01-16 Everything Blockchain Technology Corp. Multi-factor geofencing system for secure encryption and decryption system
CN116208428B (zh) * 2023-04-27 2023-07-18 中科信工创新技术(北京)有限公司 一种传输文件的方法、系统、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032260A (en) * 1997-11-13 2000-02-29 Ncr Corporation Method for issuing a new authenticated electronic ticket based on an expired authenticated ticket and distributed server architecture for using same
DE10218835A1 (de) * 2002-04-22 2003-11-06 Deutscher Sparkassen Verlag Gm Verfahren zum Herstellen eines elektronischen Sicherheitsmoduls
EP1617587A1 (de) * 2004-07-12 2006-01-18 International Business Machines Corporation Methode, System und Computerprogrammprodukt zur vertraulichen Integritätsbestätigung einer Computer Plattform

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01200735A (ja) 1988-02-05 1989-08-11 Nec Corp 音波送信機
US5430802A (en) 1992-06-24 1995-07-04 Page; Steven L. Audio speaker system
US5581621A (en) 1993-04-19 1996-12-03 Clarion Co., Ltd. Automatic adjustment system and automatic adjustment method for audio devices
DE19539538A1 (de) 1994-10-31 1996-05-02 Tektronix Inc Nicht hörbare Einfügung von Information in ein Audiosignal
US6424717B1 (en) * 1995-04-03 2002-07-23 Scientific-Atlanta, Inc. Encryption devices for use in a conditional access system
US5857021A (en) 1995-11-07 1999-01-05 Fujitsu Ltd. Security system for protecting information stored in portable storage media
US5771291A (en) 1995-12-11 1998-06-23 Newton; Farrell User identification and authentication system using ultra long identification keys and ultra large databases of identification keys for secure remote terminal access to a host computer
EP0784386A2 (de) 1996-01-11 1997-07-16 Marikon Resources, Inc Drahtloses System zur Übertragung von Audiosignalen
WO1997027531A1 (fr) 1996-01-23 1997-07-31 Aim Corporation Systeme d'affichage d'informations
US5924094A (en) * 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US6438666B2 (en) 1997-09-26 2002-08-20 Hughes Electronics Corporation Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
JPH11143781A (ja) * 1997-11-10 1999-05-28 Taisei Corp 復号化制限装置
US6185316B1 (en) * 1997-11-12 2001-02-06 Unisys Corporation Self-authentication apparatus and method
US5991399A (en) 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
US6151676A (en) 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US6032261A (en) 1997-12-30 2000-02-29 Philips Electronics North America Corp. Bus bridge with distribution of a common cycle clock to all bridge portals to provide synchronization of local buses, and method of operation thereof
JPH11202765A (ja) * 1998-01-16 1999-07-30 Mitsubishi Materials Corp 暗号化情報処理装置、暗号化情報処理方法および記録媒体
US6036061A (en) 1998-04-27 2000-03-14 O'donnell; Thomas F. Retainer for blank of split cap
US6389403B1 (en) 1998-08-13 2002-05-14 International Business Machines Corporation Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6038322A (en) * 1998-10-20 2000-03-14 Cisco Technology, Inc. Group key distribution
US7188180B2 (en) * 1998-10-30 2007-03-06 Vimetx, Inc. Method for establishing secure communication link between computers of virtual private network
US7315836B1 (en) * 1999-01-11 2008-01-01 Teq Development Method for obtaining and allocating investment income based on the capitalization of intellectual property
AU2998100A (en) 1999-02-18 2000-09-04 Sun Microsystems, Inc. Data authentication system employing encrypted integrity blocks
SE514105C2 (sv) * 1999-05-07 2001-01-08 Ericsson Telefon Ab L M Säker distribution och skydd av krypteringsnyckelinformation
FI112315B (fi) 1999-05-11 2003-11-14 Nokia Corp Integriteetin suojausmenetelmä radioverkkosignalointia varten
US6898706B1 (en) * 1999-05-20 2005-05-24 Microsoft Corporation License-based cryptographic technique, particularly suited for use in a digital rights management system, for controlling access and use of bore resistant software objects in a client computer
US6928615B1 (en) 1999-07-07 2005-08-09 Netzero, Inc. Independent internet client object with ad display capabilities
US7216110B1 (en) * 1999-10-18 2007-05-08 Stamps.Com Cryptographic module for secure processing of value-bearing items
GB9929050D0 (en) 1999-12-08 2000-02-02 Nokia Networks Oy Communication method
US6792113B1 (en) * 1999-12-20 2004-09-14 Microsoft Corporation Adaptable security mechanism for preventing unauthorized access of digital data
US6757832B1 (en) * 2000-02-15 2004-06-29 Silverbrook Research Pty Ltd Unauthorized modification of values in flash memory
GB0004178D0 (en) 2000-02-22 2000-04-12 Nokia Networks Oy Integrity check in a communication system
WO2001082650A2 (en) 2000-04-21 2001-11-01 Keyhold Engineering, Inc. Self-calibrating surround sound system
JP2002016592A (ja) * 2000-04-25 2002-01-18 Open Loop:Kk 暗号鍵管理システム及び暗号鍵管理方法
TWI239447B (en) * 2000-06-02 2005-09-11 Koninkl Philips Electronics Nv Recordable storage medium with protected data area
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US6829250B2 (en) 2000-08-10 2004-12-07 Verizon Communications Inc. Automatic programming of customer premises equipment for vertical services integration
US6749511B2 (en) 2000-08-17 2004-06-15 Adam S. Day Website promotional applet process
US7178030B2 (en) * 2000-10-25 2007-02-13 Tecsec, Inc. Electronically signing a document
FI111423B (fi) 2000-11-28 2003-07-15 Nokia Corp Järjestelmä kanavanvaihdon jälkeen tapahtuvan tietoliikenteen salauksen varmistamiseksi
US6987853B2 (en) * 2000-11-29 2006-01-17 Bodacion Technologies, Llc Method and apparatus for generating a group of character sets that are both never repeating within certain period of time and difficult to guess
US20020080190A1 (en) 2000-12-23 2002-06-27 International Business Machines Corporation Back-up and usage of secure copies of smart card data objects
GB0103416D0 (en) 2001-02-12 2001-03-28 Nokia Networks Oy Message authentication
JP2002314522A (ja) * 2001-04-09 2002-10-25 Fuji Xerox Co Ltd 秘密鍵送付装置および方法
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US6703923B2 (en) * 2001-04-18 2004-03-09 Thomson Licensing S.A. Apparatus for providing security on a powerline-modem network
US6941456B2 (en) 2001-05-02 2005-09-06 Sun Microsystems, Inc. Method, system, and program for encrypting files in a computer system
ITPD20010125A1 (it) * 2001-05-31 2002-12-01 Lindhaus Srl Utensile perfezionato multiuso per macchine di pulizia.
US6866705B2 (en) * 2001-06-15 2005-03-15 Larry Nielsen Floor finishing and dust collection apparatus
JP4145118B2 (ja) 2001-11-26 2008-09-03 松下電器産業株式会社 アプリケーション認証システム
US8332650B2 (en) 2002-03-22 2012-12-11 Microsoft Corporation Systems and methods for setting and resetting a password
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
FR2855343B1 (fr) * 2003-05-20 2005-10-07 France Telecom Procede de signature electronique de groupe avec anonymat revocable, equipements et programmes pour la mise en oeuvre du procede
US7697691B2 (en) 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US7792303B2 (en) 2004-07-14 2010-09-07 Intel Corporation Method of delivering direct proof private keys to devices using a distribution CD
US7693286B2 (en) 2004-07-14 2010-04-06 Intel Corporation Method of delivering direct proof private keys in signed groups to devices using a distribution CD
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
GB2439150A (en) 2006-06-17 2007-12-19 Stepashead Ltd Ball rack allowing triangular or diamond ball formation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032260A (en) * 1997-11-13 2000-02-29 Ncr Corporation Method for issuing a new authenticated electronic ticket based on an expired authenticated ticket and distributed server architecture for using same
DE10218835A1 (de) * 2002-04-22 2003-11-06 Deutscher Sparkassen Verlag Gm Verfahren zum Herstellen eines elektronischen Sicherheitsmoduls
EP1617587A1 (de) * 2004-07-12 2006-01-18 International Business Machines Corporation Methode, System und Computerprogrammprodukt zur vertraulichen Integritätsbestätigung einer Computer Plattform

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639915B2 (en) 2004-02-18 2014-01-28 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets

Also Published As

Publication number Publication date
JP2008507205A (ja) 2008-03-06
GB2430127A (en) 2007-03-14
US20100150351A1 (en) 2010-06-17
WO2006023151A2 (en) 2006-03-02
CN101019369A (zh) 2007-08-15
GB0700524D0 (en) 2007-02-21
WO2006023151A3 (en) 2006-11-30
CN101019369B (zh) 2011-05-18
JP4673890B2 (ja) 2011-04-20
DE112005001672T5 (de) 2007-05-31
US20060013402A1 (en) 2006-01-19
US8660266B2 (en) 2014-02-25
US7697691B2 (en) 2010-04-13
GB2430127B (en) 2008-12-31

Similar Documents

Publication Publication Date Title
DE112005001672B4 (de) Verfahren zum Liefern eines geheimen Direktnachweisschlüssels an Vorrichtungen unter Verwendung eines Onlinedienstes
DE112005001666B4 (de) Verfahren zum Bereitstellen von privaten Direktbeweis-Schlüsseln in signierten Gruppen für Vorrichtungen mit Hilfe einer Verteilungs-CD
DE112005001654B4 (de) Verfahren zum Übermitteln von Direct-Proof-Privatschlüsseln an Geräte mittels einer Verteilungs-CD
DE60314060T2 (de) Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung
DE112011100182B4 (de) Datensicherheitsvorrichtung, Rechenprogramm, Endgerät und System für Transaktionsprüfung
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
EP2749003B1 (de) Verfahren zur authentisierung eines telekommunikationsendgeräts umfassend ein identitätsmodul an einer servereinrichtung eines telekommunikationsnetzes, verwendung eines identitätsmoduls, identitätsmodul und computerprogramm
DE102013203415B4 (de) Erstellen eines abgeleiteten Schlüssels aus einem kryptographischen Schlüssel mittels einer physikalisch nicht klonbaren Funktion
DE602005001613T2 (de) Einrichten eines sicheren kontexts zur übermittlung von nachrichten zwischen computersystemen
DE69720614T2 (de) Verschlüsselungseinheit mit Kontaktpunktlogik
DE60221113T3 (de) Verfahren und system für die fernaktivierung und -verwaltung von personal security devices
DE102018104679A1 (de) In Tonken übersetzte Hardware-Sicherheitsmodule
DE102018216915A1 (de) System und Verfahren für sichere Kommunikationen zwischen Steuereinrichtungen in einem Fahrzeugnetzwerk
DE102010027586B4 (de) Verfahren zum kryptographischen Schutz einer Applikation
EP2499774B1 (de) Verfahren und system zur beschleunigten entschlüsselung von kryptographisch geschützten nutzdateneinheiten
DE102020205993B3 (de) Konzept zum Austausch von kryptographischen Schlüsselinformationen
EP3595237B1 (de) Nachladen kryptographischer programminstruktionen
WO2015180867A1 (de) Erzeugen eines kryptographischen schlüssels
DE102019100334A1 (de) Verfahren zum sicheren Bereitstellen einer personalisierten elektronischen Identität auf einem Endgerät
DE102018102608A1 (de) Verfahren zur Benutzerverwaltung eines Feldgeräts
EP2491513A1 (de) Verfahren und system zum bereitstellen von edrm-geschützten datenobjekten
EP3627755A1 (de) Verfahren für eine sichere kommunikation in einem kommunikationsnetzwerk mit einer vielzahl von einheiten mit unterschiedlichen sicherheitsniveaus
DE102022000857B3 (de) Verfahren zur sicheren Identifizierung einer Person durch eine Verifikationsinstanz
DE69935980T2 (de) Eine Technik zur Erstellung Privat authentifizierbarer kryptografischer Unterschriften und zur Verwendung einer solchen Unterschrift in Verbindung mit der Kopie eines Produktes
DE60021905T2 (de) Erkennung von verdächtigen software-objekten und unterschriften nach einer misslungenen authentifizierung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R020 Patent grant now final

Effective date: 20110309

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee