[go: up one dir, main page]

DE10393847B4 - Verfahren und Vorrichtung zum Auffinden einer gemeinsam genutzten vertraulichen Information ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen - Google Patents

Verfahren und Vorrichtung zum Auffinden einer gemeinsam genutzten vertraulichen Information ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen Download PDF

Info

Publication number
DE10393847B4
DE10393847B4 DE10393847T DE10393847T DE10393847B4 DE 10393847 B4 DE10393847 B4 DE 10393847B4 DE 10393847 T DE10393847 T DE 10393847T DE 10393847 T DE10393847 T DE 10393847T DE 10393847 B4 DE10393847 B4 DE 10393847B4
Authority
DE
Germany
Prior art keywords
hashed
information
confidential information
group
communication device
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
DE10393847T
Other languages
English (en)
Other versions
DE10393847T5 (de
Inventor
Paul Gaston Drews
David Gilbert Wheeler
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 DE10393847T5 publication Critical patent/DE10393847T5/de
Application granted granted Critical
Publication of DE10393847B4 publication Critical patent/DE10393847B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren zum Senden einer Anwendung von einem Anwendungsserver zu einem Kommunikationsgerät über einen Kommunikationskanal, umfassend:
das Empfangen einer ersten Gruppe von gehashten vertraulichen Informationen von dem Kommunikationsgerät;
das Vergleichen der ersten Gruppe von gehashten vertraulichen Informationen mit einer zweiten Gruppe von gehashten vertraulichen Informationen, die zu dem Anwendungsserver gehören;
das Identifizieren einer gemeinsam genutzten vertraulichen Information unter der ersten und der zweiten Gruppe von gehashten vertraulichen Informationen; und
das Senden einer zu der gemeinsam genutzten vertraulichen Information gehörenden Anwendung über den Kommunikationskanal zu dem Kommunikationsgerät.

Description

  • Gebiet der Offenbarung
  • Die vorliegende Offenbarung trifft allgemein die sichere Datenkommunikation und insbesondere Verfahren und eine Vorrichtung zum Auffinden einer gemeinsam genutzten vertraulichen Information ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen.
  • Allgemeiner Stand der Technik
  • Mit der zunehmenden Zugänglichkeit und Verbreitung vernetzter Kommunikation, insbesondere drahtloser Kommunikation (beispielsweise Mobilfunk), hat sich die Notwendigkeit einer sicheren Datenkommunikation oder -übertragung enorm verstärkt. Beispielsweise ermöglichen viele Mobilkommunikationssysteme es mobilen Clients (beispielsweise intelligenten Mobiltelefonen, persönlichen Datenassistenten usw.), Software herunterzuladen und auf sonstige Daten und/oder Dienste, die von Daten- oder Anwendungsservern bereitgestellt werden, zuzugreifen.
  • Um eine besser gesicherte Umgebung für diese Mobilkommunikationssysteme bereitzustellen, können mobile Clients und Server eine verwaltete Ausführungsumgebung verwenden, die eine Sicherheitsfunktion beinhaltet, die dazu genutzt werden kann, Unbefugten den Zugriff auf Daten in den mobilen Clients und/oder den Daten- oder Anwendungsservern zu verwehren. Zum Beispiel ist die Mobilstationsanwendungsausführungsumgebung (Mobile Station Application Execution Environment – MExE) ein bekanntes Protokoll für die drahtlose Kommunikation, das für intelligente Mobiltelefone und sonstige mobile Client-Geräte ver wendet werden kann, um die Sicherheit von Datentransaktionen zwischen den Mobilgeräten und den Daten- oder Anwendungsservern zu erhöhen.
  • Beim MExE-Sicherheitsmodell besitzt jedes mobile Client-Gerät ein oder mehrere digitale Zertifikate, welche die Identität des Anwendungsservers bezeichnen, der Software digital signieren muß, damit das mobile Client-Gerät Software von jenem Anwendungsserver herunterladen und ausführen kann. Oder anders ausgedrückt: Damit ein mobiler Client eine von einem Server bereitgestellte Anwendung herunterladen und ausführen kann, muß der mobile Client ein digitales Zertifikat besitzen, das einem digitalen Zertifikat, das der Server besitzt, entspricht (beispielsweise mit diesem identisch ist). In der Regel halten Anwendungsserver, die Software für mobile Clients anbieten, mehrere digitale Signaturen der Software zum Herunterladen bereit. Jede dieser digitalen Signaturen kann mittels eines anderen digitalen Zertifikats erstellt werden, das einer Partei zugeordnet ist, die befugt ist, die Software herzustellen (beispielsweise ein Gerätehersteller, ein Dienste-Anbieter, ein Softwareanbieter usw.).
  • Bekanntlich wird eine digitale Signatur normalerweise durch Verschlüsseln (beispielsweise unter Verwendung eines privaten Schlüssels aus einer Kombination eines öffentlichen und eines privaten Schlüssels) des Hash einer zu versendenden Nachricht (beispielsweise einer Softwareanwendung, eines Dokuments usw.) erstellt. Auf diese Weise kann eine digitale Signatur von einer Empfangsentität dazu verwendet werden, die Identität der Ursprungsentität festzustellen und zu erkennen, daß die empfangene Nachricht nicht gegenüber dem geändert wurde, was von der Ursprungsentität versandt wurde. Ein digitales Zertifikat enthält andererseits in der Regel einen Namen (beispielsweise einen Benutzernamen), eine Seriennummer, einen öffentlichen Schlüssel zum Verschlüsseln von Daten, Verfallstermine und die Signatur einer zertifizierenden Institution (Zertifizierungsinstitution). Im Allgemeinen kann ein digitales Zertifikat dazu verwendet werden, die Berechtigungsnachweise einer Einheit (auch Entität) in einem Kommunikationssystem oder Netz festzustellen, und der öffentliche Schlüsselabschnitt des Zertifikats kann dazu verwendet werden, digitale Signaturen zu überprüfen oder zu verifizieren.
  • In vielen Mobilkommunikationssystemen stellen die mobilen Clients ihre digitalen Zertifikate frei zur Verfügung oder machen sie öffentlich, wenn sie eine Datenübertragung mit einer anderen Partei (beispielsweise einem Anwendungsserver) verhandeln (d. h. eine Kommunikationsverbindung zum Datenaustausch herstellen). Gleichermaßen können Anwendungsserver in diesen Mobilkommunikationssystemen Informationen bezüglich ihrer digitalen Signaturen von verfügbarer Software oder sonstige Daten für Clients, die Zugang zu dieser Software oder sonstigen Daten anfordern, frei zur Verfügung stellen.
  • Obgleich es allgemein zweckmäßig ist, Informationen zu digitalen Signaturen und digitalen Zertifikaten nur bekannten autorisierten Entitäten in dem Kommunikationsnetz zur Verfügung zu stellen, um ein hohes Maß an Netzwerksicherheit aufrecht zu erhalten, verlangen bestehende Systeme in der Regel, daß diese Informationen während der anfänglichen Stufen der Verhandlung einer Datenübertragung freigegeben werden. Leider kann die Freigabe von Informationen zu digitalen Signaturen oder von Informationen zu digitalen Zertifikaten während der anfänglichen Verhandlung zwischen zwei oder mehr Parteien in einem Kommunikationsnetz die Netzwerksicherheit beeinträchtigen. Insbesondere ist die Partei, welche die Informationen zu digitalen Signaturen oder Zertifikaten freigibt, in der Regel nicht in der Lage, eine befugtermaßen anfordernde Entität von einem Angreifer zu unterscheiden. Wenn also ein Angreifer ermittelt, welche digitalen Zertifikate durch beispielsweise ein bestimmtes Client-Gerät autorisiert sind, so kann der Angreifer seine Anstrengungen auf die Überwindung eines bestimmten digitalen Zertifikats konzentrieren. Gleichermaßen kann der Angreifer, wenn er ermittelt, welche digitalen Zertifikate durch einen bestimmten Server autorisiert sind, seine Anstrengungen auf die Überwindung einer bestimmten digitalen Signatur konzentrieren.
  • DE 101 24 427 A1 offenbart ein Authentifizierungssystem für Kommunikationsgeräte, das weniger Sicherheitsanforderungen als herkömmliche kryptographische Systeme erfordert. Das zu authentifizierende Gerät beinhaltet wenigstens ein Geheimnis, eine Funktionskomponente zum Erzeugen einer Zufallszahl, eine Funktionskomponente zum Austauschen von Nachrichten mit anderen Geräten und schließlich einen Algorithmus zum Berechnen eines HASH-Wertes unter Verwendung der Zufallszahl und des Geheimnisses. Das Gerät, das die Authentifizierung anfordert, beinhaltet ein Geheimnis und einen Algorithmus zur Berechnung eines HASH-Wertes unter Verwendung der Zufallszahl, die von dem zu authentifizierenden Gerät empfangen wird. Eine Funktionskomponente zum Vergleichen beider HASH-Werte kann in beiden Systemen implementiert werden. Wenn die HASH-Werte, die von beiden Geräten be rechnet werden, übereinstimmen, kann angenommen werden, dass die Authentifizierung erfolgreich war.
  • EP 0 940 945 A2 offenbart eine Zertifizierung und sichere Speicherung elektronischer Dokumente. Ein elektronisches Dokument wird unter Verwendung kryptographischer Funktionen zertifiziert, um einen Dokumentfingerabdruck zu erzeugen, der dann kryptographisch zusammen mit einem Zeitstempel signiert wird. Das zertifizierte Dokument wird dann zur sicheren Ablage und späteren Zurückerlangung archiviert. Der Dokumentfingerabdruck und der Zeitstempel werden an den Nutzer als Teil eines Dokumentzertifikats zurückgegeben. Das Dokumentzertifikat kann verwendet werden, um die Authentizität von Kopien des Originaldokuments zu verifizieren und die frühere Existenz des Dokuments festzustellen.
  • WO 02/091704 A2 offenbart ein Verfahren zur Gewährung eines Zugriffs auf ein Abonnementmodul eines Server-Kommunikationsterminals für einen Client-Kommunikationsterminal.
  • Weitere Einzelheiten zu HASH-Funktionen und Datenintegrität sind aus dem „Handbook of applied cryptography” von Menezes, u. a., 1997, CRC Press LLC, USA, Seiten 321 und 366 und Seiten 515 bis 516 bekannt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockschaubild eines beispielhaften Systems, das die im vorliegenden Text beschriebenen Verfahren anwenden kann, um eine oder mehrere gemeinsam genutzte vertrauliche Informationen ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen zwischen Entitäten, die eine Datenübertragung verhandeln, zu finden.
  • 2 ist ein Blockschaubild, das eine beispielhafte Art und Weise zeigt, in der das in 1 gezeigte System implementiert werden kann.
  • 3 ist ein Ablaufdiagramm einer beispielhaften Art und Weise, in der die in 1 und 2 gezeigten Systeme dafür konfiguriert werden können, eine oder mehrere gemeinsam genutzte vertrauliche Informationen ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen zu finden, wenn zwischen Entitäten eine Datenübertragung verhandelt wird.
  • 4 ist ein detailliertes Ablaufdiagramm einer beispielhaften Art und Weise, in der gehashte vertrauliche Informationen zur Verwendung mit dem beispielhaften Verfahren von 3 erzeugt werden können.
  • 5 ist ein Blockschaubild eines beispielhaften Prozessorsystems, das zur Implementierung der im vorliegenden Text beschriebenen Vorrichtung und Verfahren verwendet werden kann.
  • DETAILLIERTE BESCHREIBUNG
  • Im Sinne des vorliegenden Textes meint der Begriff ”vertrauliche Informationen” allgemein sichere Daten oder Informationen, die in einem Kommunikationssystem oder -netz nicht veröffentlicht oder frei weitergegeben werden. Bei einigen beispielhaften Systemen können vertrauliche Informationen eine digitale Signatur, ein digitales Zertifikat oder sonstige Informationen sein, die mit einem Kommunikationsdienst, einem Server usw. verbunden sind und nicht frei zu Entitäten, die Informationen anfordern, übermittelt werden. Eine ”gemeinsam genutzte vertrauliche Information” meint eine vertrauliche Information, die mehr als einer einzigen Einheit (Entität) in dem Kommunikationsnetz oder -system gemein (beispielsweise dort gespeichert) ist. Beispielsweise können sowohl ein Kommunikationsgerät als auch ein Anwendungs- oder Datenserver in einem Kommunikationssystem oder -netz identische oder entsprechende digitale Zertifikate gespeichert haben, wodurch das Kommunikationsgerät die Genehmigung erhält, Anwendungsinformationen und/oder sonstige Daten von dem Server herunterzuladen. Entitäten, die eine oder mehrere vertrauliche Informationen gemeinsam nutzen, wissen aber nicht unbedingt, daß sie diese vertraulichen Informationen mit einer anderen Entität gemeinsam nutzen.
  • Eine ”nicht gemeinsam genutzte” vertrauliche Information meint hingegen eine vertrauliche Information, die nicht gemeinsam zwischen zwei oder mehr Einheiten (Entitäten) genutzt oder gemeinsam von ihnen gespeichert wird. Es kann aber sein, daß eine nicht gemeinsam genutzte vertrauliche Information für eine erste Gruppe von Entitäten eine gemeinsam genutzte vertrauliche Information für eine zweite Gruppe von Entitäten ist, selbst wenn die erste und die zweite Gruppe von Einheiten gemeinsame Einheitenelemente (Entitätenelemente) haben. Die Feststellung, ob eine vertrauliche Information gemeinsam genutzt oder nicht gemeinsam genutzt ist, muß also auf eine bestimmte Gruppe von Entitäten bezogen werden.
  • 1 ist ein Blockschaubild eines beispielhaften Systems 10, das die im vorliegenden Text beschriebenen Verfahren anwenden kann, um eine oder mehrere gemeinsam genutzte vertrauliche Informationen ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen zwischen Entitäten, die eine Datenübertragung verhandeln, zu finden. Das beispielhafte System 10 enthält eine erste Partei oder Entität 12 und eine zweite Partei oder Entität 14, die jeweils mit einem Kommunikationskanal 16 verbunden sind. Der Kommunikationskanal 16 kann ein paketvermitteltes Netz wie beispielsweise das Internet, Telefonleitungen, ein oder mehrere Drahtloskommunikationsnetze wie beispielsweise ein Mobilfunkkommunikationsnetz, Satellitenverbindungen usw. enthalten. Allgemeiner ausgedrückt, kann der Kommunikationskanal 16 mittels jeder beliebigen Kombination aus Medien, Plattformen und/oder Protokollen implementiert werden, welche die Übermittlung von Informationen ermöglichen. Das heißt, der Kommunikationskanal 16 kann öffentlich (beispielsweise in einem Fall, wo der Kommunikationskanal 16 das Internet beinhaltet) oder Privat (beispielsweise in einem Fall, wo der Kommunikationskanal 16 nur ein lokales Netz, Telefonleitungen usw. verwendet) sein.
  • Die erste Partei oder Einheit bzw. Entität 12 enthält sichere Informationen 18, die vorzugsweise vertrauliche Dinge wie beispielsweise Daten oder Informationen enthalten, die in Form einer Liste, Tabelle usw. vorliegen können, die nicht frei über den Kommunikationskanal 16 verbreitet werden und die nicht der zweiten Entität 14 oder anderen (nicht gezeigten) Entitäten, die mit dem System 10 verbunden sind, weitergegeben oder offenbart werden. Die erste Partei oder Entität 12 enthält des Weiteren eine Verarbeitungseinheit 20, die mittels eines beliebigen Schaltkreises oder Bausteins implementiert werden kann, der in der Lage ist, Daten oder Befehle zur Durchführung der im vorliegenden Text beschriebenen Verfahren auszuführen, wie das beispielhafte Prozessorsystem, das in Verbindung mit 5 unten gezeigt und beschrieben ist. Des Weiteren enthält die erste Entität 12 eine Kommunikationsschnittstelle 22, die es der ersten Entität 12 ermöglicht, bei Bedarf über den Kommunikationskanal 16 zu kommunizieren. In einem Fall, wo der Kommunikationskanal 16 Telefonleitungen beinhaltet, kann die Kommunikationsschnittstelle 22 beispielsweise ein Modem enthalten, und einem Fall, wo der Kommunikationskanal 16 ein drahtloses Netz beinhaltet, kann die Kommunikationsschnittstelle 22 einen drahtlosen Sender/Empfänger enthalten.
  • Ähnlich wie die erste Partei oder Einheit 12 enthält die zweite Partei oder Entität 14 sichere Informationen 28, eine Verarbeitungseinheit 24 und eine Kommunikationsschnittstelle 26. Die in der zweiten Entität 14 gespeicherten sicheren Informationen 28 können jedoch ganz oder teilweise von den in der ersten Entität gespeicherten sicheren Informationen 18 verschieden sein. Und obgleich 1 das System 10 mit nur zwei Entitäten oder Parteien darstellt, können weitere Entitäten oder Parteien enthalten und mit dem Kommunikationskanal 16 verbunden sein.
  • 2 ist ein Blockschaubild, das eine beispielhafte Art und Weise zeigt, in der das in 1 gezeigte System 10 implementiert werden kann. Das in 2 gezeigte Beispiel ist ein Drahtloskommunikationssystem 30, das ein drahtloses Mobilkommunikationsgerät bzw. einen drahtlosen Mobilkommunikations-Client 32 enthält, das bzw. der über einen Kommunikationskanal 36 mit einem Anwendungsserver 34 kommunizieren kann. Der Kommunikationskanal 36 enthält eine oder mehrere Drahtloskommunikationsverbindungen 38 und 40 und ein paketvermitteltes Netz 42, bei dem es sich beispielsweise um das Internet handeln kann.
  • Das Mobilkommunikationsgerät 32 kann beispielsweise ein intelligentes Mobiltelefon, ein PDA, ein Notebook-Rechner mit einer Drahtloskommunikationsschnittstelle usw. sein, das bzw. der dafür konfiguriert ist, als ein Client des Anwendungsservers 34 über den Kommunikationskanal 36 zu kommunizieren. Der Anwendungsserver 34 kann mittels eines Arbeitsplatzrechners oder eines sonstigen Computer- oder Verarbeitungssystems implementiert werden. Der Anwendungsserver 34 enthält eine oder mehrere Softwareanwendungen und/oder sonstige Daten oder Informationen 44, die zum Herunterladen zu Mobilkommunika tionsgeräten wie beispielsweise dem Mobilkommunikationsgerät 32 sowie zum Ausführen oder zur Verwendung durch solche Mobilkommunikationsgeräte wie beispielsweise das Mobilkommunikationsgerät 32 zur Verfügung stehen.
  • Das Mobilkommunikationsgerät 32 enthält oder speichert ein oder mehrere digitale Zertifikate 46, die wenigstens einigen anderen Entitäten (beispielsweise dem Server 34) in dem System 30 nicht offenbart wurden (d. h. vor ihnen verborgen wurden). Die digitalen Zertifikate 46, die durch das Kommunikationsgerät 32 vertraulich gespeichert werden, entsprechen einer oder mehreren Softwareanwendungen oder sonstigen Daten oder Informationen, die das Mobilkommunikationsgerät 32 von anderen Entitäten in dem System 30 übertragen oder herunterladen darf. Für die Zwecke dieser Besprechung berechtigt wenigstens eines der digitalen Zertifikate 46, die durch das Kommunikationsgerät 32 gespeichert werden, das Kommunikationsgerät 32, wenigstens eine der Softwareanwendungen oder sonstigen Daten oder Informationen 44, die auf dem Server 34 gespeichert sind, herunterzuladen. Das Mobilkommunikationsgerät 32 kann somit mehrere digitale Zertifikate besitzen, von denen jedes das Kommunikationsgerät 32 beispielsweise berechtigen kann, eine andere – oder eine Teilmenge – der Softwareanwendungen oder sonstigen Daten 44, die auf dem Server 34 gespeichert sind, herunterzuladen. In anderen Beispielen hingegen kann es der Fall sein, daß die digitalen Zertifikate 46, die durch das Kommunikationsgerät 32 gespeichert werden, das Kommunikationsgerät 32 nicht berechtigen, Softwareanwendungen oder sonstige Daten 44 von dem Anwendungsserver 34 herunterzuladen. Statt dessen kann das Kommunikationsgerät 32 berechtigt sein, Daten, Anwendungen usw. von anderen Entitäten oder Parteien (beispielsweise anderen Servern, die nicht dargestellt sind) in dem System 30 zu übertragen (beispielsweise herunterzuladen).
  • Ähnlich dem Drahtloskommunikationsgerät 32 besitzt der Anwendungsserver 34 ein oder mehrere digitale Zertifikate 48, die wenigstens einigen anderen Entitäten in dem System 30 nicht offenbart wurden (d. h. vor ihnen verborgen oder geschützt gehalten wurden). Die digitalen Zertifikate 48, die durch den Anwendungsserver 34 gespeichert werden, entsprechen der einen oder den mehreren Anwendungen oder sonstigen Daten 44, die in dem System 30 zum Herunterladen zur Verfügung stehen. Somit kann jedes der digitalen Zertifikate 48 einer bestimmten – oder einer Teilmenge – der Anwendungen oder sonstigen Daten 44 entsprechen. Wie oben angesprochen, entspricht für die Zwecke dieser Besprechung wenigstens eines der digitalen Zertifikate 48 einer bestimmten – oder einer Teilmenge – der Anwendungen oder sonstigen Daten 44, die das Kommunikationsgerät 32 vom Server 34 herunterladen darf. Neben den Softwareanwendungen oder sonstigen Daten 44 enthält der Anwendungsserver 34 noch digitale Signaturen 50 der Anwendungen oder sonstigen Daten 44. Jede der digitalen Signaturen 50 wird mittels eines privaten Schlüssels erzeugt, der einem öffentlichen Schlüssel entspricht, der zu einem der digitalen Zertifikate 48 gehört.
  • 3 ist ein Ablaufdiagramm einer beispielhaften Art und Weise, in der die in 1 und 2 gezeigten Systeme 10 und 30 dafür konfiguriert werden können, eine oder mehrere gemeinsam genutzte vertrauliche Informationen ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen zu finden, wenn eine Datenübertragung verhandelt wird. Für die Zwecke dieser Besprechung wird das in 3 dargestellte Verfahren in Verbindung mit dem in 2 gezeigten beispielhaften System 30 beschrieben. Das in 3 dargestellte Verfahren ist aber generell auf jedes System anwendbar, in dem zwei oder mehr Entitäten verhandeln, um eine vertrauliche Information aufzufinden, die jede Entität gespeichert hat.
  • In einem Fall, wo das Kommunikationsgerät 32 über die Kommunikationsverbindung 36 mit dem Server 34 in Kommunikation steht und eine Verhandlung für eine Übertragung einer der Anwendungen oder sonstigen Daten 44 einleitet, erzeugen das Kommunikationsgerät 32 und der Anwendungsserver 34 gehashte vertrauliche Informationen, indem sie gehashte Versionen ihrer jeweiligen digitalen Zertifikate 46 und 48 (Block 60) erzeugen. Es kann jede gewünschte Hash-Funktion, wie beispielsweise SHA-1, verwendet werden, um die digitalen Zertifikate 46 und 48 zu hashen. Bekanntlich berechnet eine Hash-Funktion normalerweise eine mathematische Zusammenfassung der gehashten Informationen. Infolge dessen kann das Hashen eines digitalen Zertifikats, das aus 4096 Bytes an Informationen zusammengesetzt ist, zu einer gehashten Version dieses digitalen Zertifikats führen, das unter Verwendung von lediglich 20 Bytes dargestellt werden kann. Hash-Funktionen und ihre Operation sind allgemein bekannt, so daß hier nicht näher darauf eingegangen wird.
  • Die gehashten Versionen der digitalen Zertifikate 46 (d. h. der vertraulichen Informationen), die in dem Kommunikationsgerät 32 gespeichert sind, werden an den Anwendungsserver 34 gesendet oder übermittelt (Block 62). Infolge dessen besitzt der Anwendungsserver 34 eine gehashte Version seiner digitalen Zertifikate 48 und eine gehashte Version der digitalen Zertifikate 46, die er von dem Kommunikationsgerät 32 erhalten hat. Der Anwendungsserver 34 vergleicht dann die gehashte Version seiner digitalen Zertifikate 48 mit der gehashten Version der digitalen Zertifikate 46, die er von dem Kommunikationsgerät 32 erhält (Block 64). Anhand dieses Vergleichs stellt der Anwendungsserver 34 fest, ob übereinstimmende gehashte digitale Zertifikate (d. h. übereinstimmende gehashte vertrauliche Informationen) vorliegen (Block 66). Wenn keine übereinstimmenden gehashten vertraulichen Informationen vorliegen (d. h. wenn die verhandelnden Entitäten keine vertraulichen Informationen gemeinsam nutzen) (Block 66), so ist das drahtlose Kommunikationsgerät 32 nicht befugt, die angeforderten Informationen herunterzuladen (beispielsweise eine oder mehrere der Anwendungen oder sonstigen Daten 44), und die Verhandlung endet (Block 68). Wenn andererseits wenigstens eine Übereinstimmung bei Block 66 gefunden wird, so ermittelt der Anwendungsserver 34, ob es mehrere Übereinstimmungen gibt (Block 70), und wenn nur eine einzige Übereinstimmung gefunden wird, so verwendet der Anwendungsserver 34 die bekannte Beziehung zwischen dem übereinstimmenden gehashten digitalen Zertifikat und dem ursprünglichen digitalen Zertifikat, um das ursprüngliche gemeinsam genutzte digitale Zertifikat (d. h. die ursprüngliche gemeinsam genutzte Information) wiederherzustellen (Block 72). Sobald die Übereinstimmung aufgefunden und die gemeinsam genutzte vertrauliche Information wiederhergestellt wurde, verwendet das Kommunikationsgerät 32 die wiederhergestellte vertrauliche Information, um die angeforderten Informationen (beispielsweise eine oder mehrere der Anwendungen oder sonstigen Daten 44) von dem Anwendungsserver 34 herunterzuladen (Block 76). Vorzugsweise verwendet der Anwendungsserver 34 das übereinstimmende ursprüngliche digitale Zertifikat, um eine entsprechende Anwendung oder entsprechende sonstige Daten 44 sowie die entsprechende digitale Signatur aufzufinden, und lädt die entsprechende Anwendung zusammen mit ihrer digitalen Signatur zu dem Kommunikationsgerät 32 herunter.
  • Wenn mehr als eine einzige Übereinstimmung aufgefunden wird (Block 70), so einigen sich das drahtlose Kommunikationsgerät 32 und der Anwendungsserver 34 auf eine einzige Übereinstimmung (Block 74), bevor das übereinstimmende oder gemeinsam genutzte digitale Zertifikat wiederhergestellt wird (Block 72). Um die Auswahl einer einzigen Übereinstimmung bei Block 74 zu unterstützen, kann das Kommunikationsgerät 32 Hashs seiner digitalen Zertifikate 46 unter Verwendung eines zuvor festgelegten Priorisierungsregimes erzeugen. Beispielsweise können digitale Zertifikate, die zu Herstellern gehören, zuerst gehasht werden; digitale Zertifikate, die zu Betreibern gehören, können als Zweites gehasht werden, und digitale Zertifikate, die zu Dritten gehören, können als Letztes gehasht werden. Die gehashten digitalen Zertifikate können dann entsprechend ihrer Priorität (beispielsweise nach ihrer Hash-Reihenfolge) in einer Liste gespeichert werden. Wenn der Anwendungsserver 34 die priorisierte gehashte Liste von dem Kommunikationsgerät 32 erhält und die gehashten digitalen Zertifikate in dieser Liste mit der gehashten Version seiner digitalen Zertifikate 48 vergleicht (Block 64), so kann er auf diese Weise die als erstes gefundene Übereinstimmung als die einzige Übereinstimmung, auf die man sich geeinigt hat, auswählen (Block 74), ungeachtet der Tatsache, daß eventuell weitere Übereinstimmungen von geringerer Priorität in der Liste übrig bleiben. Neben der oben beschriebenen Technik gibt es noch viele bekannte Techniken (auf die hier nicht näher eingegangen wird), die dafür verwendet werden können, sich auf eine einzige Übereinstimmung zu einigen (Block 74).
  • Sobald eine einzelne Übereinstimmung gefunden wurde und das Kommunikationsgerät 32 und der Anwendungsserver 34 (d. h. die verhandelnden Parteien oder Entitäten) sich auf diese Übereinstimmung geeinigt haben (Block 74) und die ursprüngliche vertrauliche Information wiederhergestellt wurde (Block 72), ist das Kommunikationsgerät 32 befugt, die angeforderte Anwendung oder sonstigen Daten 44, die dem übereinstimmenden Zertifikat entsprechen, herunterzuladen. Dementsprechend lädt der Anwendungsserver 34 die angeforderte Anwendung oder sonstigen Daten 44 und, falls angefordert, ihre entsprechenden digitalen Signaturen 50 über die Kommunikationsverbindung 36 zu dem Kommunikationsgerät 32 herunter.
  • Obgleich es nicht notwendig ist, kann es in einigen Beispielen zweckmäßig sein, daß jede verhandelnde Entität eine Kopie der gehashten digitalen Zertifikate von der anderen verhandelnden Entität erhält (d. h. daß die Entitäten gehashte vertrauliche Informationen austauschen) und daß jede der Entitäten ihre eigenen gehashten vertraulichen Informationen mit der gehashten Version der vertraulichen Informationen, die sie von der anderen Entität erhalten hat, vergleicht. Somit kann im Fall des in 3 gezeigten beispielhaften Systems 30 der Anwendungsserver 34 (bei Block 62 oder in einer folgenden Nachricht) eine gehashte Version der digitalen Zertifikate 48 an das Kommunikationsgerät 32 senden oder übermitteln. In diesem Fall kann das Kommunikationsgerät 32 seinen eigenen Vergleich gehashter vertraulicher Informationen vornehmen (Block 64), kann feststellen, ob es eine oder mehrere Übereinstimmungen gibt (Blöcke 66 und 70), und kann – unabhängig von oder in Kooperation mit dem Anwendungsserver 34 eine einzelne Übereinstimmung auswählen (Block 74).
  • 4 ist ein detailliertes Ablaufdiagramm einer beispielhaften Art und Weise, in der gehashte vertrauliche Informationen (beispielsweise gehashte digitale Zertifikate) zur Verwendung mit der in 3 gezeigten Technik erzeugt werden können. Die Entitäten, die gehashte vertrauliche Informationen erzeugen (d. h. das Kommunikationsgerät 32 und der Anwendungsserver 34), stellen ihre vertraulichen Informationen (beispielsweise ihre jeweiligen digitalen Zertifikate 46 und 48) als kanonische Daten (d. h. in einem zuvor festgelegten Format) dar (Block 80). Die an der Verhandlung für die Datenübertragung beteiligten Entitäten legen dann fest, ob die Daten über einen offenen Kommunikationskanal übertragen werden sollen (beispielsweise daß eine Anwendung heruntergeladen werden soll) (Block 82). Beispielsweise erfolgt in dem Fall, wo das Kommunikationsgerät 32 verhandelt oder den Anwendungsserver 34 auffordert, eine der Anwendungen oder sonstigen Daten 44 über die Kommunikationsverbindung 36 herunterzuladen, die Übertragung über einen offenen Kanal. Weil nämlich das Internet 42 ein offener Kommunikationskanal ist, wird der gesamte Kommunikationskanal 36 als offen betrachtet.
  • Wenn bei Block 82 festgestellt wird, daß die Informationen über einen offenen Kommunikationskanal übertragen werden sollen, so schützen die Entitäten ihre gehashten vertraulichen Informationen zusätzlich mit einer Zufallszahl, indem sie beispielsweise die Schritte ausführen, die in Verbindung mit den Blöcken 84 bis 90 unten beschrieben sind. Insbesondere erzeugt jede der Entitäten (beispielsweise das Kommunikationsgerät 32 und der Anwendungsserver 34) eine Zufallszahl (Block 84) und tauscht ihre Zufallszahl über den offenen Kommunikationskanal (beispielsweise Kommunikationskanal 36) aus (Block 86). Vorzugsweise, aber nicht notwendigerweise, setzt sich jede der Zufallszahlen aus wenigstens 64 Bits zusammen. Das Kommunikationsgerät 32 und der Anwendungsserver 34 verketten dann die Zufallszahlen beispielsweise so, daß eine 128-Bit-Zahl entsteht, die als Schlüssel verwendet wird (Block 88). Die verketteten Zufallszahlen werden dann den vertraulichen Informationen angehängt (Block 90).
  • Die vertraulichen Informationen werden bei Block 92 gehasht. In dem Fall, wo die vertraulichen Informationen über einen offenen Kanal übertragen werden sollen (Block 82) und somit Zufallszahlen verwendet werden, um die vertraulichen Informationen zusätzlich zu schützen (beispielsweise durch Ausführen der Schritte, die in Verbindung mit den Blöcken 84 bis 90 beschrieben sind), werden die verketteten Zufallszahlen zusammen mit den vertraulichen Informationen, an die sie angehängt werden, gehasht. Andererseits werden die vertraulichen Informationen in dem Fall, wo sie nicht über einen offenen Kanal übertragen werden, bei Block 92 direkt gehasht (d. h. ohne zusätzlichen Schutz durch Zufallszahlen).
  • Nach dem zusätzlichen Schutz können die gehashten vertraulichen Informationen optional verschlüsselt werden (Block 94), wofür beispielsweise der öffentliche Schlüssel (aus einer Kombination von privatem und öffentlichem Schlüssel) von der Entität verwendet wird, an die die gehashten verschlüsselten vertraulichen Informationen gesendet werden sollen. Beispielsweise würde das Kommunikationsgerät 32 den öffentlichen Schlüssel für den Anwendungsserver 34 benutzen, um die gehashte Version der vertraulichen Informationen 46 (d. h. der digitalen Zertifikate) zu verschlüsseln. Die gehashten vertraulichen Informationen können bei Block 94 als Gruppe oder einzeln verschlüsselt werden. Nach der Übertragung oder dem Austausch verschlüsselter gehashter vertraulicher Informationen (3, Block 62) können in einem Fall, wo die vertraulichen Informationen mit einer oder mehreren Zufallszahlen zusätzlich geschützt wurden und wo die gehashten vertraulichen Informationen verschlüsselt wurden, die Entitäten die gehashten vertraulichen Informationen vergleichen, um in der üblichen Weise Übereinstimmungen festzustellen (d. h. Block 64).
  • Der zusätzliche Schutz durch eine Zufallszahl (Blöcke 84 bis 90) und eine Verschlüsselung (Block 94) für Kommunikationen über einen offenen Kanal können verhindern, daß eine angreifende Entität eine Kopie übertragener gehashter vertraulicher Informationen erlangt und diese gehashten vertraulichen Informationen dazu benutzt, die vertraulichen Informationen anderer Entitäten in dem Kommunikationssystem aufzudecken. Beispielsweise wäre es denkbar, daß eine angreifende Entität eine Kopie übertragener gehashter vertraulicher Informationen erlangt und diese gehashten vertraulichen Informationen mit gehashten Versionen vertraulicher Informationen vergleicht, die sie bereits besitzt, wodurch es der angreifenden Entität eventuell möglich wird, Zugang zu Informationen in der Entität zu erhalten, welche die übertragenen gehashten vertraulichen Informationen hervorgebracht hat. Zusätzlich oder alternativ könnte die angreifende Entität die Kopie der übertragenen gehashten vertraulichen Informationen in einer anschließenden Kommunikation dazu verwenden, unter Vorspiegelung falscher Tatsachen geltend zu machen, daß eine Übereinstimmung gefunden wurde (Block 66 von 2), um durch diesen Trick die Entität, welche die übertragenen gehashten vertraulichen Informationen hervorgebracht hat, zu veranlassen, die ursprüngliche vertrauliche Information preiszugeben. Obgleich das in 4 gezeigte beispielhafte Verfahren einen zusätzlichen Schutz mit einer Zufallszahl verwendet, um einen Wiedergabeschutz zu bewirken (d. h. Schutz vor einem Angreifer, der versucht, erfaßte oder alte Informationen wiederzuverwenden), könnte statt dessen auch jede andere Technik verwendet werden, die gehashte vertrauliche Informationen in einer spezifischen Weise modifiziert, die durch eine Empfänger-Entität (aber nicht durch einen Angreifer) verifiziert werden kann.
  • Des Weiteren bietet die Kombination aus zusätzlichem Schutz durch eine Zufallszahl und Verschlüsselung sowohl Wiedergabeschutz als auch Vertraulichkeit in dem Fall, daß eine Datenübertragung über einen offenen Kommunikationskanal verhandelt wird. Insbesondere bewirkt der zusätzliche Schutz durch eine Zufallszahl einen Wiedergabeschutz, weil die Zufallszahl sich bei jeder Datentransaktion ändert und somit praktisch nur für eine einzige Transaktion gültig ist. Eine Verschlüsselung andererseits bietet einen Grad an Vertraulichkeit, doch wenn ein Angreifer die Verschlüsselung knackt, so bietet sie keinen Wiedergabe- oder Wiederverwendungsschutz, wie der zusätzliche Schutz durch eine Zufallszahl es tut.
  • In Fällen, wo zwei Entitäten oder Parteien wiederholt verhandeln und nach der Verhandlung vertrauliche Informationen austauschen, wäre es denkbar, daß eine der Entitäten den Wert einer gehashten vertraulichen Information, den sie von der anderen Entität während einer früheren Verhandlung erhalten hat, speichert und diese gespeicherte vertrauliche Information dazu verwendet, um bei Block 66 eine falsche Übereinstimmung herbeizuführen. Um eine solche falsche Übereinstimmung zu vermeiden, kann die bekannte Diffie-Hellman-Technik verwendet werden, um für jede Verhandlung spezifische Werte für gemeinsam genutzte vertrauliche Informationen zu erzeugen. Konkret gesagt, können die an der Verhandlung beteiligten Entitäten oder Parteien beim Erzeugen gehashter Daten ihre spezifischen Werte für gemeinsam genutzte vertrauliche Informationen verwenden, um ein verschlüsseltes Hashen der vertraulichen Informationen, die zu den Entitäten gehören, durchzuführen. Techniken des verschlüsselten Hashens sind bekannt und werden daher im vorliegenden Text nicht weiter beschrieben. Dem Durchschnittsfachmann ist klar, daß auch andere Techniken als Diffie-Hellman oder verschlüsseltes Hashen verwendet werden können. Genauer gesagt, kann anstelle der Diffie-Hellman-Technik jede beliebige Technik verwendet werden, die eine vertrauliche Information bereitstellt, die von den verhandelnden Entitäten gemeinsam genutzt wird und die spezifisch für die Verhandlung ist. Des Weiteren kann anstelle verschlüsselter Hashs jede Technik verwendet werden, die einen resultierenden Hash in einer wiederholbaren, unumkehrbaren Weise modifiziert.
  • Die in Verbindung mit den 3 und 4 beschriebenen beispielhaften Verfahren können mühelos für die Verwendung mit Verhandlungen für gemeinsam genutzte vertrauliche Informationen, an denen mehr als zwei Entitäten oder Parteien beteiligt sind, adaptiert werden. Beispielsweise kann eine erste Partei mit einer zweiten Partei verhandeln, um eine reduzierte Liste aller übereinstimmenden gehashten vertraulichen Informationen zu erstellen. Die erste Partei kann dann – beginnend mit der reduzierten Liste – mit einer dritten Partei verhandeln, um eine neue reduzierte Liste zu erstellen, die Übereinstimmungen zwischen der Liste der dritten Partei und der reduzierten Liste, die aus der Verhandlung zwischen der ersten und der zweiten Partei resultiert, enthält. Dieser Prozeß wird so lange fortgeführt, bis alle Parteien, die an der Verhandlung für die gemeinsam genutzten vertraulichen Informationen beteiligt sind, mit der ersten Partei verhandelt haben, was zu einer endgültigen reduzierten Liste gehashter vertraulicher Informationen, die von allen beteiligten Parteien gemeinsam genutzt werden, führt. Wenn die beteiligten Parteien nicht über wenigstens eine gemeinsam genutzte vertrauliche Information verfügen, so ist die endgültige Liste selbstverständlich leer.
  • 5 ist ein Blockschaubild eines beispielhaften Prozessorsystems 120, das zur Implementierung der im vorliegenden Text beschriebenen Vorrichtung und Verfahren verwendet werden kann. Wie in 5 gezeigt, enthält das Prozessorsystem 120 einen Prozessor 122, der mit einem Verbindungsbus oder Netz 124 gekoppelt ist. Der Prozessor 122 kann ein beliebiger geeigneter Prozessor, eine beliebige geeignete Verarbeitungseinheit oder ein beliebiger geeigneter Mikroprozessor sein, wie beispielsweise ein Prozessor aus der Intel Itanium®-Familie, der Intel X-Scale®-Familie, der Intel Pentium®-Familie usw. Obgleich in 5 nicht gezeigt, kann das System 120 ein Mehrprozessorsystem sein und kann somit einen oder mehrere weitere Prozessoren enthalten, die mit dem Prozessor 122 identisch oder ihm ähnlich sind und die mit dem Verbindungsbus oder Netz 124 gekoppelt sind.
  • Der Prozessor 122 von 5 ist mit einem Chipsatz 128 gekoppelt, der einen Speichercontroller 130 und einen Eingabe/Ausgabe-Controller (E/A-Controller) 132 beinhaltet. Ein Chipsatz beinhaltet bekanntlich in der Regel E/A- und Speicherverwaltungsfunktionen sowie mehrere Allzweck- und/oder Spezialregister, Zeitgeber usw., auf die ein oder mehrere Prozessoren, die mit dem Chipsatz gekoppelt sind, zugreifen können oder die von einem oder mehreren solcher Prozessoren verwendet werden. Der Speichercontroller 130 führt Funktionen aus, die es dem Prozessor 122 (oder den Prozessoren, wenn mehrere Prozessoren verwendet werden) ermöglichen, auf den Systemspeicher 134 zuzugreifen, der jede gewünschte Art von flüchtigem Speicher enthalten kann, wie beispielsweise ein statischer Direktzugriffspeicher (SRAM), ein dynamischer Direktzugriffspeicher (DRAM) usw. Der E/A-Controller 132 führt Funktionen aus, die es dem Prozessor 122 ermöglichen, über einen E/A-Bus 140 mit peripheren Eingabe/Ausgabe-Geräten (E/A-Geräten) 136 und 138 zu kommunizieren. Die E/A-Geräte 136 und 138 können von jeder gewünschten Art von E/A-Geräten sein, wie beispielsweise eine Tastatur, eine Videoanzeige bzw. ein Videomonitor, eine Maus usw. Obgleich der Speichercontroller 130 und der E/A-Controller 132 in 5 als separate Funktionsblöcke in dem Chipsatz 128 dargestellt sind, können die von diesen Blöcken ausgeführten Funktionen auch in einem einzigen Halbleiterschaltkreis integriert sein oder können mittels zwei oder mehr separater integrierter Schaltkreise implementiert sein.
  • Wie aus den im vorliegenden Text beschriebenen Beispielen zu ersehen ist, ermöglicht die Verwendung gehashter vertraulicher Informationen es mehreren Entitäten oder Parteien (beispielsweise Kommunikationsgeräten, Daten- oder Anwendungsservern), die miteinander interagieren (beispielsweise um eine Datenübertragung durchzuführen), gemeinsam genutzte vertrauliche Informationen aufzufinden, ohne nicht gemeinsam genutzte vertrauliche Informationen preiszugeben. Solche vertraulichen Informationen können digitale Zertifikate, digitale Signaturen, Nachrichtenauthentifizierungscodeschlüssel, ephemerale Diffie-Hellman-Parameter usw. sein. Die vertraulichen Informationen können allgemein jegliche Informationen sein, die es einem empfangenden Gerät (beispielsweise einem Client-Gerät) ermöglichen, die Glaubwürdigkeit der Herkunft der empfangenen Informationen (beispielsweise Daten, ein Programm usw.) zu authentifizieren. Es können kryptografische Techniken und Wiedergabeschutz (beispielsweise zusätzlicher Schutz mit einer Zufallszahl) verwendet werden, um die gehashten vertraulichen Informationen über einen öffentlichen Kommunikationskanal auszu tauschen, um unbefugte oder angreifende Entitäten daran zu hindern, vertrauliche Informationen aufzudecken. Die Parteien können ihre gehashten vertraulichen Informationen mit den gehashten vertraulichen Informationen vergleichen, die sie von der anderen Partei erhalten haben, um eventuelle Übereinstimmungen festzustellen. Man kann sich auf eine einzelne optimale Übereinstimmung einigen, und die Parteien können die Kenntnis ihrer jeweiligen Hash-Verfahren dazu verwenden, um die ursprüngliche vertrauliche Information aus der gehashten übereinstimmenden vertraulichen Information wiederherzustellen und die spätere Verwendung der gemeinsam genutzten Information (beispielsweise für eine Datenübertragung) zu ermöglichen. Die Verwendung gehashter Daten (beispielsweise gehashter digitaler Zertifikate) reduziert die Menge der Daten, die während des Verhandlungsprozesses für die gemeinsam genutzte vertrauliche Information über den Kommunikationskanal übermittelt werden muß. Des Weiteren können die Vorrichtung und die Verfahren, die im vorliegenden Text beschrieben wurden, im allgemeineren Sinne auf Verhandlungen für gemeinsam genutzte vertrauliche Informationen, an denen mehr als zwei Parteien beteiligt sind, angewendet werden.
  • Obgleich die im vorliegenden Text beschriebenen Beispiele sich auf das Herunterladen von Anwendungen (beispielsweise ausführbare Programme) konzentrieren, können die Vorrichtung und die Verfahren, die im vorliegenden Text beschrieben wurden, allgemein auf jede Art von Daten angewendet werden. Beispielsweise könnten auch Klingeltöne für Telefone sowie kleine Datenmengen für Anwendungen, die bereits in Telefonen, PDAs usw. installiert sind, heruntergeladen werden.
  • Obgleich im vorliegenden Text bestimmte Verfahren und Vorrichtungen beschrieben wurden, ist der Geltungsbereich dieses Patents nicht darauf beschränkt, Im Gegenteil erstreckt sich dieses Patent auf sämtliche Verfahren, Vorrichtungen und Produkte, die unbestreitbar in den Geltungsbereich der angehängten Ansprüche fallen, sei es dem Buchstaben nach oder als Äquivalent.

Claims (14)

  1. Verfahren zum Senden einer Anwendung von einem Anwendungsserver zu einem Kommunikationsgerät über einen Kommunikationskanal, umfassend: das Empfangen einer ersten Gruppe von gehashten vertraulichen Informationen von dem Kommunikationsgerät; das Vergleichen der ersten Gruppe von gehashten vertraulichen Informationen mit einer zweiten Gruppe von gehashten vertraulichen Informationen, die zu dem Anwendungsserver gehören; das Identifizieren einer gemeinsam genutzten vertraulichen Information unter der ersten und der zweiten Gruppe von gehashten vertraulichen Informationen; und das Senden einer zu der gemeinsam genutzten vertraulichen Information gehörenden Anwendung über den Kommunikationskanal zu dem Kommunikationsgerät.
  2. Verfahren nach Anspruch 1, wobei das Empfangen der ersten Gruppe von gehashten vertraulichen Informationen von dem Kommunikationsgerät das Empfangen von gehashten digitalen Zertifikaten beinhaltet, die dem Kommunikationsgerät zugeordnet sind.
  3. Verfahren nach Anspruch 1, wobei das Identifizieren der gemeinsam genutzten vertraulichen Information unter der ersten und der zweiten Gruppe von gehashten vertraulichen Informationen das Identifizieren eines gemeinsam genutzten digitalen Zertifikats beinhaltet.
  4. Verfahren nach Anspruch 1, wobei das Empfangen der ersten Gruppe von gehashten vertraulichen Informationen das Empfangen von vertraulichen Informationen beinhaltet, die mit einer Zufallszahl zusätzlich geschützt wurden.
  5. Verfahren nach Anspruch 1, wobei das Empfangen der ersten Gruppe von gehashten vertraulichen Informationen das Empfangen von verschlüsselten vertraulichen Informationen beinhaltet.
  6. Anwendungsserver, umfassend: sichere Informationen, die auf dem Anwendungsserver gespeichert sind; eine Kommunikationsschnittstelle, die so konfiguriert ist, daß sie mit einem Kommunikationskanal verbunden werden kann; und eine Prozessoreinheit, die darauf programmiert ist, den Anwendungsserver zu folgenden Aktionen zu veranlassen: – Empfangen einer ersten Gruppe von gehashten Informationen von einem Kommunikationsgerät über die Kommunikationsschnittstelle; – Hashen wenigstens eines Teil der sicheren Informationen, um eine zweite Gruppe gehashter Informationen zu bilden; – Vergleichen der ersten Gruppe von gehashten Informationen mit der zweiten Gruppe von gehashten Informationen; – Identifizieren einer gemeinsam genutzten vertraulichen Information unter der ersten und der zweiten Gruppe von gehashten Informationen.
  7. Anwendungsserver nach Anspruch 6, wobei die sicheren Informationen mehrere digitale Zertifikate enthalten.
  8. Anwendungsserver nach Anspruch 6, wobei der Kommunikationskanal einen öffentlichen Kommunikationskanal enthält.
  9. Maschinenlesbares Medium mit darauf gespeicherten Daten, die bei Ausführung eine Maschine zu folgenden Aktionen veranlassen: Empfangen einer ersten Gruppe von gehashten vertraulichen Informationen von einem Kommunikationsgerät; Vergleichen der ersten Gruppe von gehashten vertraulichen Informationen mit einer zweiten Gruppe von gehashten vertraulichen Informationen, die zu einem Anwendungsserver gehören; Identifizieren einer gemeinsam genutzten vertraulichen Information unter der ersten und der zweiten Gruppe von gehashten vertraulichen Informationen; und Senden einer zu der gemeinsam genutzten vertraulichen Information gehörenden Anwendung über den Kommunikationskanal zu dem Kommunikationsgerät.
  10. Maschinenlesbares Medium nach Anspruch 9 mit darauf gespeicherten Daten, die bei Ausführung die Maschine veranlassen, die erste Gruppe von gehashten vertraulichen Informationen von dem Kommunikationsgerät zu empfangen, indem sie gehashte digitale Zertifikate empfängt, die zu dem Kommunikationsgerät gehören.
  11. Maschinenlesbares Medium nach Anspruch 9 mit darauf gespeicherten Daten, die bei Ausführung die Maschine veranlassen, die gemeinsam genutzte vertrauliche Information unter der ersten und der zweiten Gruppe von gehashten vertraulichen Informationen zu identifizieren, indem sie ein gemeinsam genutztes digitales Zertifikat identifiziert.
  12. Kommunikationsgerät, umfassend: sichere Informationen, die in dem Kommunikationsgerät gespeichert sind; eine Kommunikationsschnittstelle, die dafür konfiguriert ist, über einen Kommunikationskanal zu kommunizieren; und eine Prozessoreinheit, die darauf programmiert ist, das Kommunikationsgerät zu folgenden Aktionen zu veranlassen: – Empfangen einer ersten Gruppe von gehashten Informationen über den Kommunikationskanal; – Hashen wenigstens eines Teil des sicheren Informationen, um eine zweite Gruppe gehashter Informationen zu bilden; – Vergleichen der ersten und der zweiten Gruppe von gehashten Informationen, um übereinstimmende Informationen festzustellen; und – Empfangen von Daten über den Kommunikationskanal auf der Basis der übereinstimmenden Informationen.
  13. Kommunikationsgerät nach Anspruch 12, wobei die sicheren Informationen ein digitales Zertifikat beinhalten, das zu dem Kommunikationsgerät gehört.
  14. Kommunikationsgerät nach Anspruch 12, wobei die Kommunikationsschnittstelle eine drahtlose Kommunikationsschnittstelle enthält.
DE10393847T 2002-12-31 2003-12-12 Verfahren und Vorrichtung zum Auffinden einer gemeinsam genutzten vertraulichen Information ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen Expired - Fee Related DE10393847B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/334,851 US7461260B2 (en) 2002-12-31 2002-12-31 Methods and apparatus for finding a shared secret without compromising non-shared secrets
US10/334,851 2002-12-31
PCT/US2003/039726 WO2004062189A1 (en) 2002-12-31 2003-12-12 Methods and apparatus for finding a shared secret without compromising non-shared secrets

Publications (2)

Publication Number Publication Date
DE10393847T5 DE10393847T5 (de) 2005-10-13
DE10393847B4 true DE10393847B4 (de) 2010-09-16

Family

ID=32655185

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10393847T Expired - Fee Related DE10393847B4 (de) 2002-12-31 2003-12-12 Verfahren und Vorrichtung zum Auffinden einer gemeinsam genutzten vertraulichen Information ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen

Country Status (9)

Country Link
US (1) US7461260B2 (de)
JP (2) JP4975252B2 (de)
CN (2) CN1732646A (de)
AU (1) AU2003297042A1 (de)
DE (1) DE10393847B4 (de)
GB (1) GB2411804B (de)
HK (1) HK1075552A1 (de)
TW (1) TWI266511B (de)
WO (1) WO2004062189A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065587B2 (en) 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US7076656B2 (en) * 2001-04-05 2006-07-11 Lucent Technologies Inc. Methods and apparatus for providing efficient password-authenticated key exchange
US7350074B2 (en) * 2005-04-20 2008-03-25 Microsoft Corporation Peer-to-peer authentication and authorization
JP5144685B2 (ja) * 2007-02-12 2013-02-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動ネットワークにおけるシグナリング委任
JP2011508997A (ja) * 2007-12-13 2011-03-17 サーティコム コーポレーション デバイス上の機能を制御するためのシステムおよび方法
US8200727B2 (en) * 2008-02-14 2012-06-12 Apple Inc. Method and apparatus for verifying and diversifying randomness
US8245044B2 (en) * 2008-11-14 2012-08-14 Visa International Service Association Payment transaction processing using out of band authentication
US20100199095A1 (en) * 2009-01-30 2010-08-05 Texas Instruments Inc. Password-Authenticated Association Based on Public Key Scrambling
US20120226722A1 (en) 2011-03-02 2012-09-06 International Business Machines Corporation Systems, methods, and computer program products for secure multi-enterprise storage
US8990405B2 (en) 2011-04-01 2015-03-24 Hewlett-Packard Development Company, L.P. Methods, systems and articles of manufacture to resume a remote desktop session
CA2780879C (en) * 2011-06-21 2019-02-12 Research In Motion Limited Provisioning a shared secret to a portable electronic device and to a service entity
US8943556B2 (en) 2012-09-28 2015-01-27 Intel Corporation Secure information release
CN105337735B (zh) * 2014-05-26 2019-06-07 阿里巴巴集团控股有限公司 数字证书处理及校验的方法和装置
WO2017044642A1 (en) * 2015-09-08 2017-03-16 Omnypay, Inc. Methods and systems for dynamically displaying various financial and non-financial incentives to drive the use of sellers' preferred payment and non-payment options at the time of performing an electronic transaction
US10091190B2 (en) * 2015-12-11 2018-10-02 International Business Machines Corporation Server-assisted authentication
US10411895B2 (en) * 2017-05-04 2019-09-10 International Business Machines Corporation Creating match cohorts and exchanging protected data using blockchain
CN109274492B (zh) * 2018-09-30 2020-08-25 中国科学技术大学 自安全的紧耦合秘密共享方法
US11250414B2 (en) 2019-08-02 2022-02-15 Omnyway, Inc. Cloud based system for engaging shoppers at or near physical stores
US11468432B2 (en) 2019-08-09 2022-10-11 Omnyway, Inc. Virtual-to-physical secure remote payment to a physical location
DE102021000645B3 (de) 2021-02-09 2022-08-11 Mercedes-Benz Group AG Verfahren zur Überprüfung von kryptografischen Geheimnissen auf Gleichheit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0940945A2 (de) * 1998-03-06 1999-09-08 AT&T Corp. Verfahren und Vorrichtung zur Zertifizierung und sicheren Ablage elektronischer Dokumente
DE10124427A1 (de) * 2000-07-07 2002-01-17 Ibm System und Verfahren für einen sicheren Vergleich eines gemeinsamen Geheimnisses von Kommunikationsgeräten
WO2002091704A2 (en) * 2001-05-08 2002-11-14 Telefonaktiebolaget L M Ericsson (Publ) Secure remote subscription module access

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5164988A (en) 1991-10-31 1992-11-17 International Business Machines Corporation Method to establish and enforce a network cryptographic security policy in a public key cryptosystem
US6560706B1 (en) * 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US6820202B1 (en) * 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
US6223291B1 (en) * 1999-03-26 2001-04-24 Motorola, Inc. Secure wireless electronic-commerce system with digital product certificates and digital license certificates
US6463534B1 (en) * 1999-03-26 2002-10-08 Motorola, Inc. Secure wireless electronic-commerce system with wireless network domain
US6578131B1 (en) * 1999-04-27 2003-06-10 Microsoft Corporation Scaleable hash table for shared-memory multiprocessor system
JP2001022843A (ja) * 1999-07-07 2001-01-26 Sony Corp 情報処理装置および方法、並びに提供媒体
US6611869B1 (en) * 1999-10-28 2003-08-26 Networks Associates, Inc. System and method for providing trustworthy network security concern communication in an active security management environment
US6802002B1 (en) * 2000-01-14 2004-10-05 Hewlett-Packard Development Company, L.P. Method and apparatus for providing field confidentiality in digital certificates
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7558965B2 (en) * 2000-08-04 2009-07-07 First Data Corporation Entity authentication in electronic communications by providing verification status of device
CA2417922C (en) * 2000-08-04 2013-03-12 Lynn Henry Wheeler Person-centric account-based digital signature system
US6978369B2 (en) * 2000-08-04 2005-12-20 First Data Corporation Person-centric account-based digital signature system
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US6986040B1 (en) * 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
US20020124172A1 (en) * 2001-03-05 2002-09-05 Brian Manahan Method and apparatus for signing and validating web pages
US7921290B2 (en) * 2001-04-18 2011-04-05 Ipass Inc. Method and system for securely authenticating network access credentials for users
US20040128508A1 (en) * 2001-08-06 2004-07-01 Wheeler Lynn Henry Method and apparatus for access authentication entity
US7251635B2 (en) * 2002-02-25 2007-07-31 Schlumberger Omnes, Inc. Method and apparatus for managing a key management system
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
US20050039016A1 (en) * 2003-08-12 2005-02-17 Selim Aissi Method for using trusted, hardware-based identity credentials in runtime package signature to secure mobile communications and high-value transaction execution
US7373509B2 (en) * 2003-12-31 2008-05-13 Intel Corporation Multi-authentication for a computing device connecting to a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0940945A2 (de) * 1998-03-06 1999-09-08 AT&T Corp. Verfahren und Vorrichtung zur Zertifizierung und sicheren Ablage elektronischer Dokumente
DE10124427A1 (de) * 2000-07-07 2002-01-17 Ibm System und Verfahren für einen sicheren Vergleich eines gemeinsamen Geheimnisses von Kommunikationsgeräten
WO2002091704A2 (en) * 2001-05-08 2002-11-14 Telefonaktiebolaget L M Ericsson (Publ) Secure remote subscription module access

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MENEZES,u.a.: "Handbook of Applied Cryptography", 1997, CRC PRESS LLC, USA, S.321-366, 515-516 *

Also Published As

Publication number Publication date
CN102970135A (zh) 2013-03-13
GB2411804B (en) 2006-10-11
AU2003297042A1 (en) 2004-07-29
JP4975252B2 (ja) 2012-07-11
HK1075552A1 (en) 2005-12-16
CN1732646A (zh) 2006-02-08
JP2006512853A (ja) 2006-04-13
GB0509948D0 (en) 2005-06-22
TWI266511B (en) 2006-11-11
DE10393847T5 (de) 2005-10-13
WO2004062189A1 (en) 2004-07-22
JP2010178394A (ja) 2010-08-12
TW200415900A (en) 2004-08-16
CN102970135B (zh) 2018-11-20
US20040128517A1 (en) 2004-07-01
GB2411804A (en) 2005-09-07
US7461260B2 (en) 2008-12-02

Similar Documents

Publication Publication Date Title
DE10393847B4 (de) Verfahren und Vorrichtung zum Auffinden einer gemeinsam genutzten vertraulichen Information ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen
DE60315914T2 (de) Ad hoc Sicherheitszugriff auf Dokumente und Dienste
DE69230429T2 (de) Sicherung/Rückgewinnung der Umgebung einer Geheimübertragungseinrichtung und Vervielfältigung in einem Kryptosystem mit öffentlichem Schlüssel
DE112005001672B4 (de) Verfahren zum Liefern eines geheimen Direktnachweisschlüssels an Vorrichtungen unter Verwendung eines Onlinedienstes
DE60308971T2 (de) Verfahren und Vorrichtung für sichere Datenkommunikationsverbindungen
DE102018216915A1 (de) System und Verfahren für sichere Kommunikationen zwischen Steuereinrichtungen in einem Fahrzeugnetzwerk
EP3182318B1 (de) Signaturgenerierung durch ein sicherheitstoken
DE102016210786A1 (de) Komponente zur Anbindung an einen Datenbus und Verfahren zur Umsetzung einer kryptografischen Funktionalität in einer solchen Komponente
DE202008013415U1 (de) Datenverarbeitungssystem zur Bereitstellung von Berechtigungsschlüsseln
DE112012000971B4 (de) Datenverschlüsselung
EP3909221A1 (de) Verfahren zum sicheren bereitstellen einer personalisierten elektronischen identität auf einem endgerät
WO2010149400A1 (de) System und verfahren zur zuverlässigen authentisierung eines gerätes
DE102021112754A1 (de) Ausstellen eines digitalen verifizierbaren Credentials
EP3648430B1 (de) Hardware-sicherheitsmodul
CN115883154A (zh) 访问凭证的颁发方法、基于区块链的数据访问方法及装置
EP3050244B1 (de) Bereitstellung und verwendung pseudonymer schlüssel bei hybrider verschlüsselung
DE60312353T2 (de) Verfahren zur berechnung des hashing einer nachricht in einer mit einer chipkarte kommunizierenden einrichtung
EP2399218A1 (de) Verfahren zur erzeugung eines identifikators
EP2381712B1 (de) Sicheres Auslesen von Daten aus einem Funkgerät mit festintegriertem TPM
WO2020165041A1 (de) Verfahren zur bereitstellung eines herkunftsortnachweises für ein digitales schlüsselpaar
EP4115584B1 (de) Gesicherter und dokumentierter schlüsselzugriff durch eine anwendung
DE102008002588B4 (de) Verfahren zur Erzeugung eines asymmetrischen kryptografischen Schlüsselpaares und dessen Anwendung
DE102023116901A1 (de) Zertifikatlose Authentifizierung von ausführbaren Programmen
EP1364512A2 (de) Verfahren und kommunikationssystem zum bereitstellen eines programm-elements
DE102022208220A1 (de) Authentifizierungsverfahren

Legal Events

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

Ref document number: 10393847

Country of ref document: DE

Date of ref document: 20051013

Kind code of ref document: P

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee