DE60314060T2 - Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung - Google Patents

Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung Download PDF

Info

Publication number
DE60314060T2
DE60314060T2 DE60314060T DE60314060T DE60314060T2 DE 60314060 T2 DE60314060 T2 DE 60314060T2 DE 60314060 T DE60314060 T DE 60314060T DE 60314060 T DE60314060 T DE 60314060T DE 60314060 T2 DE60314060 T2 DE 60314060T2
Authority
DE
Germany
Prior art keywords
key
security module
data
host processor
keys
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 - Lifetime
Application number
DE60314060T
Other languages
English (en)
Other versions
DE60314060D1 (de
Inventor
Mark Buer
Joseph J. 92618-3616 Irvine Tardo
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.)
Broadcom Corp
Original Assignee
Broadcom 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 Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of DE60314060D1 publication Critical patent/DE60314060D1/de
Publication of DE60314060T2 publication Critical patent/DE60314060T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung betrifft allgemein das Gebiet der Datenübertragung und im Besonderen Systeme und Verfahren zum Bereitstellen einer gesicherten Datenübertragung und zur Verwaltung kryptographischer Schlüssel.
  • HINTERGRUND DER ERFINDUNG
  • Kryptographietechniken werden in Datennetzwerken verwendet, um Daten sicher von einer Stelle in einem Netzwerk zu einer anderen Stelle im Netzwerk zu senden. Eine mit dem Netzwerk verbundene Vorrichtung verschlüsselt typischerweise Daten unter Verwendung eines Chiffrieralgorithmus und eines Verschlüsselungsschlüssels. Die Vorrichtung sendet die verschlüsselten Daten über das Netzwerk zu einer anderen Vorrichtung, die die Daten unter Verwendung des Chiffrieralgorithmus und eines Entschlüsselungsschlüssels entschlüsselt.
  • Bei diesem Szenario ist es entscheidend, dass die zwei Vorrichtungen über kompatible Chiffrierschlüssel vertilgen. Das bedeutet, der Entschlüsselungsschlüssel kann mit dem Verschlüsselungsschlüssel verschlüsselte Nachrichten entschlüsseln. In symmetrischen Kryptographiesystemen werden identische Chiffrierschlüssel dazu verwendet, die Daten zu verschlüsseln und zu entschlüsseln. In asymmetrischen Kryptographiesystemen werden separate öffentliche und private Chiffrierschlüssel dazu verwendet, die Daten zu verschlüsseln und zu entschlüsseln.
  • Es wurden mehrere Standards entwickelt, um die Datenübertragung über Datennetzwerke zu sichern. Beispielsweise kann das Internet-Security-Protokoll (für gewöhnlich als "IPsec" bezeichnet) dazu verwendet werden, sichere Host-zu-Host-Verbindungen und virtuelle private Netzwerke über das Internet einzurichten. Zu diesem Zweck definiert IPsec einen Satz Spezifikationen zur kryptographischen Verschlüsselung und Authentifizierung. IPsec unterstützt mehrere Algorithmen zum Schlüsselaustausch, einschließlich eines Internet-Key-Exchange-("IKE-") Algorithmus zum Erstellen von Schlüsseln für Daten-Sitzungen (Daten-Sessions) zwischen Hosts.
  • Das Secure-Sockets-Layer-("SSL-") Protokoll wurde ebenfalls entwickelt, um eine sichere Internet-Übertragung bereitzustellen. SSL definiert Verschlüsselungs-, Server- und Klient-Authentifizierungs- und Nachrichten-Authentifizierungstechniken. SSL unterstützt auch den RSA-Austausch öffentlicher Schlüssel, ein wohlbekanntes Verschlüsselungssystem für öffentliche Schlüssel.
  • Im Allgemeinen sind Chiffrieralgorithmen relativ komplex und verbrauchen bei ihrer Ausführung einen erheblichen Betrag an Verarbeitungsenergie. Um den Host-Prozessor von der Verschlüsselungs-/Entschlüsselungsverarbeitung zu entlasten, können anwendungsspezifische Einrichtungen, die für gewöhnlich als Kryptographiebeschleuniger bezeichnet werden, dazu verwendet werden, die Chiffrieralgorithmen auszuführen. In diesem Fall müssen die durch den Host-Prozessor gesteuerten Schlüssel mit dem Kryptographiebeschleuniger gemeinsam benutzt werden, wenn Daten ent- oder verschlüsselt werden sollen.
  • Die vorstehend genannten Standards und Algorithmen benötigen irgendeine Form des Schlüsselaustausches. Um sicherzustellen, dass die Daten nicht durch eine unbefugte Partei entschlüsselt werden können, müssen die Schlüssel geschützt werden, so dass sie nur vertrauenswürdigen Parteien bekannt sind. Daher ist es zwingend erforderlich, dass die Einrichtungen so konfiguriert sind, dass sie Schlüssel empfangen und speichern können, ohne dass die Schlüssel dabei beeinträchtigt werden.
  • Herkömmlicherweise umfassen Techniken zum Schutz von Schlüsseln beispielsweise das Aufbringen von Manipulationserkennungsbeschichtungen, wie etwa Epoxid, auf die Einrichtungen und ihre zugeordneten Datenspeicher. Derartige Techniken werten jedoch erhebliche Wärme- und Herstellungsprobleme auf.
  • Darüber hinaus umfassen einige SSL-Anwendungen die Verwendung von teuren Sicherheitsmodulen, um die Datensicherheit in einem Netzwerk zu gewährleisten. Die Funktion des Sicherheitsmoduls besteht darin, die Verwaltung der Systemschlüssel auf hohem Niveau durchzuführen, die z.B. Schlüsselverteilungs-, Schlüsselerzeugungs- und Durchsetzungsschlüsselrichtlinien umfasst. Bezeichnenderweise muss das Sicherheitsmodul die Schlüssel nicht nur auf einer Sitzungsbasis schützen, sondern auch private Schlüssel großer Organisationen schützen. Somit sind Sicherheitsmodule sehr sichere Vorrichtungen (typischerweise FIPS-140-2, Zertifizierungsniveau 2, 3 oder 4) und folglich relativ teuer.
  • Darüber hinaus wird SSL typischerweise bei Klient-/Webseiten-Anwendungen verwendet. Hierbei wird für jede TCP-Verbindung zwischen einem Klienten und der Webseite eine einzigartige Schlüsselsitzung mit öffentlichen und privaten Schlüsseln erzeugt. Infolgedessen kann das Sicherheitsmodul tausende von Schlüsseln verwalten müssen, um diese Verbindungen zu unterstützen.
  • Zum Schutz dieser privaten Schlüssel werden die meisten der Verschlüsselungs- und Entschlüsselungsoperationen innerhalb des Sicherheitsmoduls durchgeführt. Angesichts des Umfangs der zu bewältigenden Aufgabe neigt dieser Ansatz dazu, relativ teuer zu sein. Demgemäß besteht Bedarf an verbesserten Kryptographietechniken für Datennetzwerke.
  • Das Dokument US 2001/0026619 offenbart eine Vorrichtung und ein Verfahren zum Verwalten von Schlüsselmaterial in Kryptographiebeständen, wobei ein integriertes Schlüsselverwaltungssystem bereitgestellt wird, das zur Verwaltung von Schlüsselmaterial in mehreren Kryptographiebeständen eines einzelnen Systems geeignet ist.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein System und ein Verfahren bereitzustellen, die eine sichere Datenübertragung bereitstellen und erhebliche Kosteneinsparungen realisieren.
  • Diese Aufgabe wird durch das System gemäß Anspruch 1 und das Verfahren gemäß Anspruch 2 gelöst.
  • Die Erfindung betrifft Verfahren und zugeordnete Systeme zum Bereitstellen einer sicheren Datenübertragung und zum Verwalten von Kryptographieschlüsseln. Eine erfindungsgemäß konstruierte Vorrichtung kann beispielsweise eine sichere Übertragung und Speicherung von Schlüsseln sowie eine Entschlüsselung und Verschlüsselung von Daten bereitstellen, die mit einer sehr hohen Datenrate über das Netzwerk gesendet werden.
  • Eine Ausführungsform der Erfindung stellt eine sichere Schlüsselverwaltung bereit, wenn separate Vorrichtungen zum Erzeugen und Nutzen der Schlüssel verwendet werden. Beispielsweise umfasst ein System, das einen Kryptographiebeschleuniger verwendet, typischerweise einen separaten Prozessor, der die Schlüssel erzeugt (z.B. einen Host-Prozessor). Daher werden die Schlüssel zu einem bestimmten Zeitpunkt von dem Host-Prozessor an den Kryptographiebeschleuniger gesendet, so dass der Kryptographiebeschleuniger die empfangenen verschlüsselten Daten entschlüsseln kann. Gemäß dieser Ausführungsform der Erfindung verschlüsselt der Host-Prozessor die Schlüssel bevor er sie an den Kryptographiebeschleuniger sendet. Dies umfasst die Verwendung eines anderen Schlüssels, der Schlüsselverschlüsselungsschlüssel ("KEK" – Key Encryption Key) genannt wird. Der Kryptographiebeschleuniger wiederum umfasst eine Entschlüsselungsschaltung zum Entschlüsseln der Schlüssel unter Verwendung des KEK. Der Kryptographiebeschleuniger umfasst außerdem einen Schlüssel-Manager (Schlüsselverwalter), der den Austausch des KEK, der zum Verschlüsseln und Entschlüsseln der durch den Host-Prozessor erzeugten Schlüssel verwendet wird.
  • Eine Ausführungsform der Erfindung stellt eine sichere Speicherung von Schlüsseln bereit, die in einer ansonsten ungesicherten Datenbank gespeichert sind. Gemäß dieser Ausführungsform der Erfindung verschlüsselt der Prozessor, der die Schlüssel erzeugt, die Schlüssel bevor er sie an die Datenbank sendet. Wie bei der obigen Ausführungsform umfasst dies die Verwendung eines KEK. Der Prozessor, der die Daten entschlüsselt, umfasst eine Entschlüsselungsschaltung, die den KEK zum Entschlüsseln der Schlüssel verwendet. Wiederum wird ein Schlüssel-Manager dazu verwendet, den Austausch des KEK zu erleichtern, der zum Ver- und Entschlüsseln der in der Datenbank gespeicherten Schlüssel verwendet wird.
  • Eine Ausführungsform der Erfindung stellt eine Schlüsselsicherung in Verbindung mit einer Hochgeschwindigkeitsver- und -entschlüsselung bereit, ohne die Leistung des Datennetzwerks zu beeinträchtigen. Hierbei führt ein Kryptographiebeschleuniger die Chiffrieralgorithmen für die über das Netzwerk gesendeten Daten durch und eine Stromchiffriereinrichtung entschlüsselt die verschlüsselten Schlüssel, die den über das Netzwerk gesendeten Daten zugeordnet sind. Bezeichnenderweise muss, durch die Verwendung eines einzelnen KEK zum Verschlüsseln sämtlicher den Netzwerkdaten zugeordneter Schlüssel, der Schlüsselstrom für die Stromchiffriereinrichtung nicht in Echtzeit berechnet werden. Infolgedessen können die Schlüssel unter Verwendung relativ einfacher und daher schneller Operationen entschlüsselt werden.
  • Gemäß einem Aspekt der Erfindung wird ein Verfahren zum Verwalten wenigstens eines Chiffrierschlüssels bereitgestellt, das die Schritte umfasst:
    • – Verschlüsseln wenigstens eines Chiffrierschlüssels,
    • – Speichern des wenigstens einen verschlüsselten Chiffrierschlüssels in wenigstens einem Datenspeicher,
    • – Empfangen wenigstens einer Nachricht, die wenigstens einer Sitzung zugeordnet ist, und
    • – Ermitteln wenigstens eines gespeicherten Chiffrierschlüssels, der der wenigstens einen Sitzung zugeordnet ist.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen ermittelten Chiffrierschlüssels zum Ver- oder Entschlüsseln der wenigstens einen Nachricht.
  • Vorteilhafterweise umfasst die wenigstens eine Nachricht mit einem öffentlichen Schlüssel verschlüsselte Daten, und der wenigstens eine gespeicherte Chiffrierschlüssel umfasst einen privaten Schlüssel.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Ableitens von der wenigstens einen Sitzung zugeordneten Sitzungsschlüsseln (Session-Keys) von den Daten.
  • Vorteilhafterweise umfasst das Verfahren ferner die Schritte:
    • – Verschlüsseln der Sitzungsschlüssel,
    • – Speichern der Sitzungsschlüssel in wenigstens einem Datenspeicher,
    • – Empfangen wenigstens einer nachfolgenden Nachricht, die der wenigstens einen Sitzung zugeordnet ist,
    • – Ermitteln der der wenigstens einen Sitzung zugeordneten, gespeicherten Sitzungsschlüssel,
    • – Entschlüsseln des ermittelten Sitzungsschlüssels, und
    • – Verwenden des entschlüsselten Sitzungsschlüssels zum Ent- und Verschlüsseln der wenigstens einen nachfolgenden Nachricht.
  • Vorteilhafterweise umfasst das Verfahren ferner die Schritte:
    • – Senden der wenigstens einen Nachricht an eine integrierte Schaltung,
    • – Senden des wenigstens einen ermittelten Chiffrierschlüssels an die integrierte Schaltung, und
    • – Entschlüsseln des wenigstens einen ermittelten Chiffrierschlüssels in der integrierten Schaltung.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen entschlüsselten Chiffrierschlüssels zum Entschlüsseln der wenigstens einen Nachricht in der integrierten Schaltung.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen entschlüsselten Chiffrierschlüssels zum Verschlüsseln der wenigstens einen Nachricht in der integrierten Schaltung.
  • Vorteilhafterweise umfasst der Schritt des Entschlüsselns des wenigstens einen ermittelten Chiffrierschlüssels die Verwendung wenigstens eines symmetrischen Schlüssels, wobei das Verfahren ferner den Schritt des Speicherns des wenigstens einen symmetrischen Schlüssels in der integrierten Schaltung umfasst.
  • Vorteilhafterweise umfasst der Schritt des Entschlüsselns des wenigstens einen ermittelten Chiffrierschlüssels die Verwendung wenigstens eines asymmetrischen Schlüssels, wobei das Verfahren ferner den Schritt des Speicherns des wenigstens einen asymmetrischen Schlüssels in der integrierten Schaltung umfasst.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Entschlüsselns des wenigstens einen ermittelten Chiffrierschlüssels unter Verwendung einer Stromchiffriereinrichtung.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen entschlüsselten Chiffrierschlüssels zum Entschlüsseln der wenigstens einen Nachricht.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen entschlüsselten Chiffrierschlüssels zum Verschlüsseln der wenigstens einen Nachricht.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen symmetrischen Schlüssels zum Ver- oder Entschlüsseln des wenigstens einen ermittelten Chiffrierschlüssels.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen symmetrischen Schlüssels zum Ver- oder Entschlüsseln des wenigstens einen ermittelten Chiffrierschlüssels.
  • Gemäß einem anderen Aspekt der Erfindung wird ein Sicherheitsverarbeitungssystem bereitgestellt, das umfasst:
    • – wenigstens einen Prozessor zum Verschlüsseln wenigstens eines Chiffrierschlüssels,
    • – wenigstens einen Datenspeicher zum Speichern des wenigstens einen verschlüsselten Chiffrierschlüssels, und
    • – wenigstens einen Verschlüsselungsbeschleuniger, der dafür ausgelegt ist, wenigstens eine Nachricht zu empfangen, zum Entschlüsseln des wenigstens einen gespeicherten Chiffrierschlüssels und der wenigstens einen Nachricht.
  • Vorteilhafterweise umfasst das Sicherheitsverarbeitungssystem ferner wenigstens ein Datennetzwerk zum Verbinden des wenigstens einen Prozessors mit wenigstens einem Mitglied der Gruppe, die aus dem wenigstens einen Datenspeicher und dem wenigstens einen Verschlüsselungsbeschleuniger besteht.
  • Vorteilhafterweise umfasst das Sicherheitsverarbeitungssystem ferner wenigstens ein Datennetzwerk zum Verbinden des wenigstens einen Datenspeichers mit wenigstens einem Mitglied der Gruppe, die aus dem wenigstens einen Prozessor und dem wenigstens einen Verschlüsselungsbeschleuniger besteht.
  • Vorteilhafterweise umfasst das Sicherheitsverarbeitungssystem ferner wenigstens einen nichtflüchtigen Speicher zum Speichern wenigstens eines Schlüssels zum Entschlüsseln des wenigstens einen gespeicherten Chiffrierschlüssels.
  • Vorteilhafterweise umfasst das Sicherheitsverarbeitungssystem ferner wenigstens eine Stromchiffriereinrichtung zum Entschlüsseln des wenigstens einen gespeicherten Chiffrierschlüssels.
  • Gemäß einem anderen Aspekt der Erfindung wird ein gesichertes Datenübertragungssystem bereitgestellt, das umfasst:
    • – wenigstens einen Datenkanal,
    • – wenigstens ein Hauptsicherheitsmodul zum Verteilen der verschlüsselten Chiffrierschlüssel über den wenigstens einen Datenkanal, und
    • – wenigstens ein Satellitensicherheitsmodul zum Empfangen verschlüsselter Chiffrierschlüssel über den wenigstens einen Datenkanal und zum Ver- oder Entschlüsseln von Daten unter Verwendung der Chiffrierschlüssel.
  • Vorteilhafterweise umfasst das gesicherte Datenübertragungssystem wenigstens einen Datenspeicher zum Speichern verschlüsselter Chiffrierschlüssel.
  • Vorteilhafterweise umfasst das wenigstens eine Satellitensicherheitsmodul wenigstens eine Chiffriereinrichtung zum Ver- oder Entschlüsseln von Chiffrierschlüsseln.
  • Vorteilhafterweise umfasst das gesicherte Datenübertragungssystem wenigstens einen Datenspeicher zum Speichern verschlüsselter Chiffrierschlüssel.
  • Vorteilhafterweise umfasst wenigstens einer der Chiffrierschlüssel einen Schlüssel zum Ver- oder Entschlüsseln von Schlüsseln.
  • Vorteilhafterweise ver- oder entschlüsselt das wenigstens eine Satellitensicherheitsmodul Daten unter Verwendung wenigstens eines entschlüsselten Chiffrierschlüssels.
  • Vorteilhafterweise umfasst wenigstens einer der Chiffrierschlüssel einen privaten Schlüssel.
  • Gemäß einem weiteren Aspekt der Erfindung wird ein gesichertes Datenübertragungssystem bereitgestellt, das umfasst:
    • – wenigstens einen Datenkanal,
    • – wenigstens ein Hauptsicherheitsmodul zum Senden wenigstens eines Schlüsselverschlüsselungsschlüssels über eine sichere Verbindung, die über den wenigstens einen Datenkanal eingerichtet wird, und zum Senden verschlüsselter privater Schlüssel über den wenigstens einen Datenkanal, und
    • – wenigstens ein Satellitensicherheitsmodul zum Empfangen des wenigstens einen KEK-Verschlüsselungsschlüssels über die sichere Verbindung, zum Empfangen der verschlüsselten privaten Schlüssel über den wenigstens einen Datenkanal und zum Ver- oder Entschlüsseln von Daten unter Verwendung der Chiffrierschlüssel.
  • Vorteilhafterweise umfasst das gesicherte Datenübertragungssystem wenigstens einen Datenspeicher zum Speichern der verschlüsselten privaten Schlüssel.
  • Vorteilhafterweise umfasst das wenigstens eine Satellitensicherheitsmodul wenigstens eine Chiffriereinrichtung zum Ver- oder Entschlüsseln der privaten Schlüssel.
  • Vorteilhafterweise umfasst das gesicherte Datenübertragungssystem wenigstens einen Datenspeicher zum Speichern der verschlüsselten privaten Schlüssel.
  • Vorteilhafterweise umfasst das gesicherte Datenübertragungssystem wenigstens einen nichtflüchtigen Datenspeicher zum Speichern des wenigstens einen Schlüsselverschlüsselungsschlüssels.
  • Gemäß einem weiteren Aspekt der Erfindung ist ein Verfahren zum Bereitstellen einer gesicherten Datenübertragung vorgesehen, das die Schritte umfasst:
    • – Erhalten eines Schlüsselverschlüsselungsschlüssels,
    • – Einrichten einer Kommunikation über einen Datenkanal zwischen einem Hauptsicherheitsmodul und einem Satellitensicherheitsmodul,
    • – Einrichten eines sicheren Kanals über den Datenkanal,
    • – Senden des Schlüsselverschlüsselungsschlüssels über den sicheren Kanal,
    • – Verschlüsseln eines privaten Schlüssels unter Verwendung des Schlüsselverschlüsselungsschlüssels,
    • – Senden des verschlüsselten privaten Schlüssels über den Datenkanal, und
    • – Entschlüsseln des gesendeten privaten Schlüssels unter Verwendung des gesendeten Schlüsselverschlüsselungsschlüssels.
  • Gemäß einem anderen Aspekt der Erfindung wird ein Verfahren zum Verwalten wenigstens eines Chiffrierschlüssels bereitgestellt, das die Schritte umfasst:
    • – Verschlüsseln wenigstens eines Chiffrierschlüssels,
    • – Speichern des wenigstens einen verschlüsselten Chiffrierschlüssels in wenigstens einem Datenspeicher,
    • – Empfangen wenigstens eines Datenpakets, und
    • – Ermitteln wenigstens eines gespeicherten Chiffrierschlüssels, der dem wenigstens einen Datenpaket zugeordnet ist.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen ermittelten Chiffrierschlüssels zum Ver- oder Entschlüsseln des wenigstens einen Datenpakets.
  • Vorteilhafterweise umfasst das wenigstens eine Datenpaket mit einem öffentlichen Schlüssel verschlüsselte Daten, und der wenigstens eine gespeicherte Chiffrierschlüssel umfasst einen privaten Schlüssel.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Ableitens von wenigstens einer Sitzung zugeordneter Sitzungsschlüsseln von den Daten.
  • Vorteilhafterweise umfasst das Verfahren ferner die Schritte:
    • – Verschlüsseln der Sitzungsschlüssel,
    • – Speichern der Sitzungsschlüssel in wenigstens einem Datenspeicher,
    • – Empfangen wenigstens eines nachfolgenden Datenpakets, das der wenigstens einen Sitzung zugeordnet ist,
    • – Ermitteln von der wenigstens einen Sitzung zugeordneten, gespeicherten Sitzungsschlüsseln,
    • – Entschlüsseln der ermittelten Sitzungsschlüssel, und
    • – Verwenden der entschlüsselten Sitzungsschlüssel zum Ent- oder Verschlüsseln des wenigstens einen nachfolgenden Datenpakets.
  • Vorteilhafterweise umfasst das Verfahren ferner die Schritte:
    • – Senden des wenigstens einen Datenpakets an eine integrierte Schaltung,
    • – Senden des wenigstens einen ermittelten Chiffrierschlüssels an die integrierte Schaltung, und
    • – Entschlüsseln des wenigstens einen ermittelten Chiffrierschlüssels in der integrierten Schaltung.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen entschlüsselten Chiffrierschlüssels zum Entschlüsseln des wenigstens einen Datenpakets in der integrierten Schaltung.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen entschlüsselten Chiffrierschlüssels zum Verschlüsseln des wenigstens einen Datenpakets in der integrierten Schaltung.
  • Vorteilhafterweise umfasst der Schritt des Entschlüsselns des wenigstens einen ermittelten Chiffrierschlüssels das Verwenden wenigstens eines symmetrischen Schlüssels, wobei das Verfahren ferner den Schritt des Speicherns des wenigstens einen symmetrischen Schlüssels in der integrierten Schaltung umfasst.
  • Vorteilhafterweise umfasst der Schritt des Entschlüsselns des wenigstens einen ermittelten Chiffrierschlüssels das Verwenden wenigstens eines asymmetrischen Schlüssels, wobei das Verfahren ferner den Schritt des Speicherns des wenigstens einen asymmetrischen Schlüssels in der integrierten Schaltung umfasst.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Entschlüsselns des wenigstens einen ermittelten Chiffrierschlüssels unter Verwendung einer Stromchiffriereinrichtung.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen entschlüsselten Chiffrierschlüssels zum Entschlüsseln des wenigstens einen Datenpakets.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens des wenigstens einen entschlüsselten Chiffrierschlüssels zum Verschlüsseln des wenigstens einen Datenpakets.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens wenigstens eines symmetrischen Schlüssels zum Ver- oder Entschlüsseln des wenigstens einen ermittelten Chiffrierschlüssels.
  • Vorteilhafterweise umfasst das Verfahren ferner den Schritt des Verwendens wenigstens eines symmetrischen Schlüssels zum Ver- oder Entschlüsseln des wenigstens einen ermittelten Chiffrierschlüssels.
  • Gemäß einem anderen Aspekt der Erfindung wird ein Verfahren zum Verwalten von Chiffrierschlüsseln bereitgestellt, das die Schritte umfasst:
    • – Erzeugen eines privaten Schlüssels,
    • – Erzeugen wenigstens eines Schlüsselverschlüsselungsschlüssels,
    • – Verschlüsseln des privaten Schlüssels unter Verwendung des wenigstens einen Schlüsselverschlüsselungsschlüssels,
    • – Senden des wenigstens einen Schlüsselverschlüsselungsschlüssels über einen sicheren Kanal,
    • – Senden des wenigstens einen verschlüsselten privaten Schlüssels über einen sicheren Kanal,
    • – Speichern des wenigstens einen verschlüsselten privaten Schlüssels, der über den sicheren Kanal gesendet wurde,
    • – Entschlüsseln des gespeicherten, wenigstens einen verschlüsselten privaten Schlüssels unter Verwendung des wenigstens einen Schlüsselverschlüsselungsschlüssels,
    • – Erzeugen wenigstens eines Sitzungsschlüssels unter Verwendung des wenigstens einen entschlüsselten privaten Schlüssels,
    • – Verschlüsseln des wenigstens einen Sitzungsschlüssels unter Verwendung des wenigstens einen Schlüsselverschlüsselungsschlüssels,
    • – Speichern des wenigstens einen verschlüsselten Sitzungsschlüssels, und
    • – Entschlüsseln des gespeicherten, wenigstens einen verschlüsselten Sitzungsschlüssels unter Verwendung des wenigstens einen Schlüsselverschlüsselungsschlüssels, um einen Sitzungsschlüssel zum Ver- oder Entschlüsseln eines Datenpakets bereitzustellen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Ein besseres Verständnis dieser und anderer Merkmale, Aspekte und Vorteile der vorliegenden Erfindung ergibt sich aus einem Studium der folgenden genauen Beschreibung, der anhängigen Ansprüche und begleitenden Zeichnungen. Es zeigt:
  • 1 ein Blockdiagramm einer Ausführungsform eines erfindungsgemäß ausgeführten Kryptographiesystems,
  • 2 ein Blockdiagramm einer Ausführungsform eines erfindungsgemäß ausgeführten Kryptographiesystems in einem Paketdatennetzwerk,
  • 3 ein Blockdiagramm einer weiteren Ausführungsform eines erfindungsgemäß ausgeführten Kryptographiesystems,
  • 4 ein Blockdiagramm einer Ausführungsform eines erfindungsgemäß ausgeführten Kryptographiebeschleunigers,
  • 5 ein Blockdiagramm einer Ausführungsform eines erfindungsgemäß ausgeführten Schlüssel-Managers,
  • 6 ein Flussdiagramm einer Ausführungsform von Operationen, die erfindungsgemäß durchgeführt werden können,
  • 7 ein Flussdiagramm, das eine Ausführungsform von Initialisierungsoperationen darstellt, die gemäß der Ausführungsform von 2 durchgeführt werden können,
  • 8 eine Darstellung einer Ausführungsform einer erfindungsgemäßen Schlüsselstruktur,
  • 9 ein Flussdiagramm, das eine Ausführungsform von Schlüsselaktualisierungsoperationen darstellt, die gemäß der Ausführungsform von 2 durchgeführt werden können,
  • 10 ein Blockdiagramm einer weiteren Ausführungsform eines erfindungsgemäß ausgeführten Kryptographiesystems,
  • 11 ein Flussdiagramm, das eine Ausführungsform von Initialisierungsoperationen darstellt, die gemäß der Ausführungsform von 10 durchgeführt werden können,
  • 12 ein Flussdiagramm, das eine Ausführungsform von Paketverarbeitungsoperationen darstellt, die gemäß der Ausführungsform von 10 durchgeführt werden können,
  • 13 ein Blockdiagramm einer weiteren Ausführungsform eines erfindungsgemäß ausgeführten Kryptographiesystems, und
  • 14 eine Darstellung einer Ausführungsform eines Befehlskontexts.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Die Erfindung ist nachfolgend unter Bezugnahme auf detaillierte veranschaulichende Ausführungsformen beschrieben. Es ist ersichtlich, dass die Erfindung auf vielerlei Arten ausgeführt werden kann, von denen sich einige ziemlich von den offenbarten Ausführungsformen unterscheiden können. Folglich sind die hierin offenbarten spezifischen strukturellen und funktionellen Details rein veranschaulichender Natur und schränken den Schutzumfang der Erfindung nicht ein.
  • 1 ist ein Blockdiagramm einer Ausführungsform eines erfindungsgemäß ausgeführten Kryptographiesystems S. Ein Host-Prozessor 120 erzeugt einen oder mehrere Schlüssel (z.B. Chiffrierschlüssel), die einer oder mehreren Nachrichten zugeordnet sind, die zwischen dem Host-Prozessor 120 und dem Datennetzwerk 122 (nachfolgend als "Netzwerk" bezeichnet) gesendet werden. Die Schlüssel sind typischerweise, z.B. durch Verkapseln des zugeordneten Datenspeichers 124 in Epoxid während der Herstellung, geschützt. Daher sind die Schlüssel in einem "geschützten Abschnitt" des Systems S gespeichert.
  • Der Host-Prozessor 120 arbeitet mit einem Kryptographiebeschleuniger 128 zusammen, um von dem Netzwerk 122 empfangene bzw. an dieses gesendete Nachrichten zu ver- und entschlüsseln. Das bedeutet, wenn der Host-Prozessor 120 vom Netzwerk 122 eine verschlüsselte Nachricht empfängt, sendet der Host-Prozessor 120 diese Nachricht an den Kryptographiebeschleuniger 128. Der Kryptographiebeschleuniger 128 entschlüsselt die Nachricht und sendet die entschlüsselte Nachricht zurück zum Host-Prozessor 120. Im Gegensatz dazu sendet der Host-Prozessor 120, wenn der Host-Prozessor 120 eine Nachricht sicher über das Netzwerk 122 senden muss, die Nachricht zunächst an den Kryptographiebeschleuniger 128. Nach dem Verschlüsseln der Nachricht sendet der Kryptographiebeschleuniger 128 die verschlüsselte Nachricht zur Übertragung über das Netzwerk 122 an den Host-Prozessor 120.
  • Der Host-Prozessor 120 kann auch der Nachricht zugeordnete Schlüssel an den Kryptographiebeschleuniger 128 senden. Bei einem Paketvermittlungsnetzwerk weist der Host-Prozessor 120 typischerweise jeder Sitzung, die der Host-Prozessor 120 über das Netzwerk eingerichtet hat, einen einzigartigen Schlüssel zu. Daher sendet der Host-Prozessor 120, wenn Pakete für eine gegebene Sitzung ankommen oder versendet werden müssen, den entsprechenden Schlüssel an den Kryptographiebeschleuniger 128, so dass der Kryptographiebeschleuniger 128 diese Pakete ent- oder verschlüsseln kann.
  • Gemäß dieser Ausführungsform der Erfindung verschlüsselt der Host-Prozessor 120 die Schlüssel unter Verwendung eines Schlüsselverschlüsselungsschlüssels ("KEK") 130, bevor er sie an den Kryptographiebeschleuniger 128 sendet. Auf diese Weise sind die Schlüssel auch dann gesichert, wenn sie die sicheren Grenzen 126 des Host-Prozessors 120 verlassen. Der Kryptographiebeschleuniger 128 wiederum umfasst eine Entschlüsselungsschaltung, die den KEK 130 zum Entschlüsseln der verschlüsselten Schlüssel verwendet. Aus Gründen der Einfachheit wird der Begriff "Sicherheitsassoziation" hierin so verwendet, dass er Schlüsselinformationen betrifft. Diese Schlüsselinformationen können beispielsweise einen oder mehrere Schlüssel, einen oder mehrere verschlüsselte Schlüssel und zugeordnete Kennungen sowie andere Informationen umfassen, wie etwa Regeln, die sich darauf beziehen, wie die Schlüssel und die Arten von Algorithmen zu verwenden sind, die zum Entschlüsseln der Schlüssel eingesetzt werden können.
  • Ein Schlüssel-Manager 132 im Kryptographiebeschleuniger 128 arbeitet mit einem Schlüssel-Manager im Host-Prozessor 120 zusammen, um sicherzustellen, dass beide über einen kompatiblen KEK 130 verfügen. Der KEK 130 kann unter Verwendung von entweder symmetrischen oder asymmetrischen (d.h. öffentlichen) Schlüsseln erstellt werden.
  • Bei einem symmetrischen Schlüssel werden Vorkehrungen getroffen, um sicherzustellen, dass sowohl der Host-Prozessor 120 als auch der Schlüssel-Manager 132 Zugriff auf denselben ursprünglichen KEK 130 haben, wenn die Systeme zum ersten Mal betrieben werden. Darüber hinaus kann der Host-Prozessor 120 gemäß einer Ausführungsform der Erfindung den KEK 130 ändern. In diesem Fall werden Vorkehrungen zum Modifizieren des vom Schlüssel-Manager 132 verwendeten KEK 130 getroffen.
  • Alternativ arbeiten, wenn ein asymmetrisches Schlüsselschema verwendet wird, ein die Schlüssel verwaltender Prozessor und ein Schlüssel-Manager 132 zusammen, um öffentliche und private Schlüssel auszutauschen, die dazu verwendet werden, die KEKs 130 zu ver- und entschlüsseln. Auf diese Weise können die KEKs 130 sicher zwischen dem Prozessor und dem Schlüssel-Manager 132 gesendet werden.
  • Bei einer Ausführungsform wird der KEK 130 in einer nichtflüchtigen Datenspeichereinrichtung 134 gespeichert. Bei einem symmetrischen Schlüsselsystem kann der ursprüngliche KEK 130 in den nichtflüchtigen Speicher 134 programmiert werden, wenn das System hergestellt wird. Bei einem asymmetrischen Schlüsselsystem können ein privater Schlüssel und ein Zertifikat in dem nichtflüchtigen Speicher 134 gespeichert werden, wenn das System hergestellt wird. Die nichtflüchtige Speichereinrichtung 134 (z.B. ein EEPROM) ist typischerweise durch Epoxid oder andere Mittel geschützt. Daher können sich der nichtflüchtige Speicher 134 und der Schlüssel-Manager 132 in einem "geschützten Abschnitt" des Systems befinden. Darüber hinaus ist das System typischerweise so ausgeführt, dass nur der Schlüssel-Manager 132 Zugriff auf den Abschnitt des nichtflüchtigen Speichers 134 hat, der sensible Daten, wie etwa KEKs 130, enthält. Alternativ kann der nichtflüchtige Speicher 134 in die integrierte Schaltung des Schlüssel-Managers integriert sein, um den Zugriff auf den nichtflüchtigen Speicher 134 zu kontrollieren.
  • 2 zeigt eine weitere Ausführungsform eines erfindungsgemäß ausgeführten Kryptographiesystems. Dieses System umfasst einen Netzwerksteuer- ("NC"/network controller) und Paketprozessor- ("PP-") Block 220. Der Netzwerksteuer/Paketprozessor 220 führt den Großteil der Netzwerkverbindungs- und Paketverarbeitungsoperationen durch. Wenn Pakete empfangen werden, können diese Opera tionen das Ermitteln von Paketen im Netzwerk 222, die für den Host-Prozessor 224 bestimmt sind, das Entfernen von Paket-Header-Informationen, um die Daten im Paket zu erhalten, und das Senden der Daten an den Host-Prozessor 224 umfassen. Wenn Pakete versendet werden, können diese Operationen das Verkapseln und Formatieren der Pakete und das Hinzufügen einer geeigneten Kennung umfassen.
  • 2 zeigt außerdem wie der Host-Prozessor 224 mit anderen Host-Prozessoren 226 und 228 kommuniziert, indem er Verbindungen mit diesen Host-Prozessoren herstellt, um über ein Paketnetzwerk 222, in diesem Falle das Internet, Nachrichten zu senden. Bei einigen Anwendungen können diese Verbindungen als Sitzungen bezeichnet werden. Daher können eine oder mehrere Sitzungen zwischen dem Host-Prozessor 224 und dem Host-Prozessor 226 eingerichtet werden. Des Weiteren können eine oder mehrere Sitzungen zwischen dem Host-Prozessor 224 und dem Host-Prozessor 228 eingerichtet werden.
  • Nachdem eine Verbindung hergestellt worden ist, können einige der nachfolgenden Nachrichten, die der Sitzung zugeordnet sind, sicher gesendet werden müssen, beispielsweise wenn die Nachricht finanzielle Informationen enthält. In diesem Fall arbeiten die Host-Prozessoren zusammen, um einen Schlüsselsatz für jede Sitzung zu erstellen, so dass jeder Host-Prozessor die von dem anderen Host-Prozessor verschlüsselten Daten entschlüsseln kann. Diese Schlüssel sind auf einzigartige Weise einer Sitzung zugeordnet und werden als Sitzungsschlüssel 230, 232, 234 bezeichnet.
  • Protokolle, wie etwa IPsec, machen es erforderlich, dass jedes Paket Informationen enthält, die angeben, welcher Schlüsselsatz zum Entschlüsseln des Pakets verwendet werden soll. Die Kennung besteht typischerweise aus der Adresse der Sicherheitsassoziation oder einer der Sitzung zugeordneten einzigartigen Kennung. Daher kann eine Kennung mit einer Sicherheitsassoziation gespeichert werden oder nicht.
  • Bei der Ausführungsform gemäß 2 ermittelt der Netzwerksteuer-/Paketprozessor 220 verschlüsselte Pakete und sendet sie zur Entschlüsselung an den Kryptographiebeschleuniger 236. Der Kryptographiebeschleuniger 236 entschlüsselt die Pakete unter Verwendung des dem Paket zugeordneten Sitzungsschlüssels und sendet das entschlüsselte Paket zurück zum Netzwerksteuer-/Paketprozessor 220. Der Netzwerksteuer-/Paketprozessor 220 leitet dann die Daten zum Host-Prozessor 224 weiter.
  • Zur weiteren Entlastung des Host-Prozessors 224 von der Rechenlast der Paketverarbeitung, ist der Netzwerksteuer-/Paketprozessor 220 dafür verantwortlich, die Sitzung eines gegebenen Pakets zu ermitteln und den entsprechenden Sitzungsschlüssel an den Kryptographiebeschleuniger 236 zu senden.
  • Gemäß dieser Ausführungsform der Erfindung werden diese Sitzungsschlüssel unter Verwendung eines KEK 238 entschlüsselt und in einer Datenbank 240 als Sicherheitsassoziationen gespeichert. Daher ordnet der Netzwerksteuer-/Paketprozessor 220 jede Sicherheitsassoziation einer oder mehreren bestimmten Sitzungen zu. Wenn der Netzwerksteuer-/Paketprozessor 220 ein verschlüsseltes Paket empfängt, das einer Sitzung zugeordnet ist, sendet der Netzwerksteuer-/Paketprozessor 220 das Paket und die Sicherheitsassoziation an den Kryptographiebeschleuniger 236.
  • Der Kryptographiebeschleuniger 236 entschlüsselt die Sicherheitsassoziation unter Verwendung des KEK 238, wie vorstehend beschrieben. Bei dieser Ausführungsform werden die KEKs 238 in einem nichtflüchtigen Datenspeicher (z.B. einem EEPROM) gespeichert, der sich auf derselben integrierten Schaltung befindet wie der der Schlüssel-Manager und der Kryptographiebeschleuniger 236. Nach dem Entschlüsseln der Sicherheitsassoziationen verwirft der Kryptographiebeschleuniger 236 die entschlüsselte Sicherheitsassoziation und sendet das entschlüsselte Paket zurück zum Netzwerksteuer-/Paketprozessor 220. Daher verlassen unverschlüsselte Sicherheitsassoziationen niemals den geschützten Kryptographiebeschleuniger 236.
  • Bezeichnenderweise muss die Datenbankeinrichtung 240, da die Sicherheitsassoziationen verschlüsselt sind, nicht mit Epoxid oder durch andere Verfahren geschützt werden. Darüber hinaus kann sich die Datenbank 240 entfernt von den anderen Komponenten in 2 befinden. Theoretisch können die verschlüsselten Sicherheitsassoziationen in einem beliebigen Datenspeicher im Netzwerk gespeichert werden. Infolgedessen können bei einem erfindungsgemäß ausgeführten System erhebliche Kosteneinsparungen realisiert werden.
  • Wenn der Host-Prozessor 224 über das Netzwerk 222 ein Paket senden muss, sendet der Host-Prozessor 224 das Paket und die zugeordnete Sicherheitsassoziation an den Kryptographiebeschleuniger 236. Der Kryptographiebeschleuniger 236 entschlüsselt die Sicherheitsassoziation und verwendet die entnommenen Sitzungsschlüsselinformationen zum Verschlüsseln der Paketdaten. Dann sendet der Krypto graphiebeschleuniger 236 das verschlüsselte Paket an den Netzwerksteuer-/Paketprozessor 220 zur Weiterleitung über das Netzwerk 222.
  • 3 zeigt eine Ausführungsform der Erfindung, bei der ein Sicherheitsmodul 320 das SSL-Protokoll verwendet, um in einem Netzwerk für Datensicherheit zu sorgen. Ein Host-Prozessor 322 (z.B. ein Server) ist an ein Netzwerk 324 angeschlossen, um mit Klient-Anwendungen zu kommunizieren, die über andere mit dem Netzwerk 324 verbundene Prozessoren (nicht gezeigt) laufen. Ebenso wie vorstehend beschrieben, arbeitet der Host-Prozessor 322 mit einem Kryptographiebeschleuniger 326 und einer Datenbank 328 zusammen, die gesicherte Sicherheitsassoziationen enthält, um vom Netzwerk 324 empfangene verschlüsselte Pakete zu entschlüsseln und an das Netzwerk 324 gesendete Pakete zu verschlüsseln.
  • Wie vorstehend besprochen, verwendet SSL ein Schlüsselschema mit öffentlichen und privaten Schlüsseln. Daher kann eine sichere Verbindung unter Verwendung gängiger Techniken mit öffentlichen Schlüsseln eingerichtet werden. Ein Server sendet beispielsweise seinen signierten öffentlichen Schlüssel an einen Klienten, der Klient verifiziert den öffentlichen Schlüssel und sendet dann Sitzungsinformationen an den Server, die mit dem öffentlichen Schlüssel des Servers verschlüsselt sind. Die für die Sitzung zu verwendenden Schlüssel werden dann von diesen Informationen und dem privaten Schlüssel des Servers abgeleitet.
  • Das Sicherheitsmodul 320 steuert die Schlüsselerzeugungsoperationen. Das Sicherheitsmodul 320 behält typischerweise die privaten Schlüssel für den Server und setzt Regeln durch, die sich darauf beziehen, wie private Schlüssel hinzugefügt und signiert werden können.
  • Gemäß dieser Ausführungsform der Erfindung wird der Großteil der Schlüsselverarbeitungsoperationen durch den Host-Prozessor 322 und den Kryptographiebeschleuniger 326 durchgeführt. Infolgedessen müssen private Schlüssel zwischen dem Sicherheitsmodul 320 und dem Host-Prozessor 322 sowie dem Kryptographiebeschleuniger 326 weitergeleitet werden. Zum Schutz dieser Schlüssel verschlüsselt sie das Sicherheitsmodul 320 mit einem KEK 332, bevor sie (über den Host-Prozessor 322) an den Kryptographiebeschleuniger 326 gesendet werden.
  • Darüber hinaus ist es vorteilhaft, da sich das Sicherheitsmodul 320 entfernt vom Kryptographiebeschleuniger 326 befinden kann, ein asymmetrisches Schlüsselschema zu verwenden, um den Transfer von Schlüsseln zwischen dem Sicherheits modul 320 und dem Kryptographiebeschleuniger 326 zu sichern. Diese und andere Aspekte dieser Ausführungsform werden in den nachfolgenden Absätzen genauer behandelt.
  • Bezug nehmend nun auf die 4 und 5 wird der Aufbau einer Ausführungsform eines Kryptographiebeschleunigers und eines Schlüssel-Managers genauer behandelt.
  • 4 zeigt eine Ausführungsform eines Kryptographiebeschleunigers 420, der eine Stromchiffrierschaltung zum Entschlüsseln von Sicherheitsassoziationen umfasst. Die Hauptfunktion des Kryptographiebeschleunigers 420 besteht darin, verschlüsselte Pakete zu entschlüsseln und unverschlüsselte Pakete für einen Prozessor zu verschlüsseln, der zu und von dem Netzwerk weitergeleitete Pakete handhabt, (z.B. den Netzwerksteuer-/Paketprozessor, nicht gezeigt). Daher empfängt der Kryptographiebeschleuniger 420 verschlüsselte Pakete und zugeordnete verschlüsselte Sicherheitsassoziationen und gibt das entschlüsselte Paket aus oder empfängt unverschlüsselte Pakete und zugeordnete verschlüsselte Sicherheitsassoziationen und gibt das verschlüsselte Paket aus.
  • Der Kryptographiebeschleuniger umfasst eine oder mehrere Anfangs-Parser-Einheiten (IPU – initial parsing unit) 422A und 422B, Chiffriermaschinen 424A und 424B und einen Schlüssel-Manager 426. Die IPUs 422A, 422B parsen (analysieren) Sicherheitsassoziationsdaten aus den verschlüsselten/unverschlüsselten Paketen, um die verschlüsselten Sicherheitsassoziationen zu entschlüsseln. Die Chiffriermaschinen 424A, 424B sind Prozessoren, die die verschlüsselten Pakete entschlüsseln und/oder die unverschlüsselten Paket verschlüsseln. Bei dieser Ausführungsform sind die Chiffriermaschinen 424A, 424B spezifische Prozessoren, die die entschlüsselten Sicherheitsassoziationen von den IPUs 422A, 422B zum Ver- oder Entschlüsseln von Paketen verwenden. Der Schlüssel-Manager verwaltet die KEKs 434, die zum Entschlüsseln der Sicherheitsassoziationen verwendet werden.
  • Bei einer Ausführungsform umfasst die IPU 422A, 422B eine Stromchiffrierschaltung zum Entschlüsseln der Sicherheitsassoziationen. In diesem Fall umfasst der Schlüssel-Manager 426 einen Schlüsselstromgenerator 430, der basierend auf dem KEK 434 einen Schlüsselstrom erzeugt. Der Schlüssel-Manager 426 sendet den Schlüsselstrom zu jeder der IPUs 422A, 422B, wo er in einem Puffer 432A und 432B gespeichert wird. Die IPU 422A, 422B umfasst eine exklusive Oder-Schaltung (X-Oder-Schaltung) 428A und 428B, die den gespeicherten Schlüsselstrom und die verschlüsselte Sicherheitsassoziation bearbeitet, um eine entschlüsselte Sicherheitsassoziation zu erzeugen. Durch Ausführen der Sicherheitsassoziationsdecodierung mit einer solchen einfachen Schaltung kann eine erfindungsgemäß konstruierte Vorrichtung Paketdaten mit Gigabit-Datenraten, ohne Leistungsverschlechterung und unter Verwendung einer relativ kostengünstigen Architektur, verarbeiten.
  • Die IPU 422A, 422B sendet die entschlüsselte Sicherheitsassoziation an die Chiffriermaschine 424A, 424B. Somit empfängt die Chiffriermaschine 424A, 424B das verschlüsselte Paket oder das unverschlüsselte Paket, einen entschlüsselten Schlüssel und, bei manchen Ausführungsformen, andere Informationen, die für die Entschlüsselungsoperation benötigt werden. Die Chiffriermaschine 424A, 424B entschlüsselt/verschlüsselt das verschlüsselte/unverschlüsselte Paket unter Verwendung des Schlüssels und sendet das entschlüsselte/verschlüsselte Paket zurück zum Prozessor (z.B. den Netzwerksteuer-/Paketprozessor). Bezeichnenderweise kann diese Ausführungsform so implementiert werden, dass die entschlüsselte Sicherheitsassoziation den Kryptographiebeschleuniger 420 nicht verlässt.
  • 5 stellt eine Ausführungsform eines Schlüssel-Managers 520 dar. Die Hauptfunktion des Schlüssel-Managers 520 besteht darin, den KEK oder den zugeordneten Strom einer Entschlüsselungsmaschine zuzuführen, die Sicherheitsassoziationen, wie etwa Sitzungsschlüssel, entschlüsselt (z.B. der IPU, nicht gezeigt). Zu diesem Zweck, ist der Schlüssel-Manager 520 dem Prozessor zugeordnet, der die Schlüssel erzeugt (z.B. dem Host-Prozessor, nicht gezeigt).
  • Der Schlüssel-Manager 520 umfasst eine Steuerstatusmaschine 522, die den gesamten Betrieb des Schlüssel-Managers 520 steuert, einschließlich des Betriebs eines Triple-DES- ("3DES") Kerns 524 und einer EEPROM-Steuereinheit 526. Der 3DES-Kern 524 führt Authentifizierungs- und Verschlüsselungsoperationen durch. Bei einer Ausführungsform unterstützt der 3DES-Kern 524 eine 3DES-CBC-Verschlüsselung (MAC) und eine 3DES-OFB-Verschlüsselung. Bei dieser Ausführungsform verwenden die CBC-Verschlüsselungsoperation, die für die MAC- (Message Authentication Code – Nachrichtenauthentifizierungscode-) Betriebsart verwendet wird, und die OFB-Verschlüsselungs-/Entschlüsselungs-Betriebsart denselben Hardwareaufbau. Hierbei umfasst die CBC-Verschlüsselungsoperation eine exklusive Oder-Verknüpfung von einfachen Textdaten mit dem Anfangsvektor oder einem vorherigen verschlüsselten Datenblock. Die OFB-Operation kann in derselben Hardware durchgeführt werden, wobei alle Nullen für den einfachen Text verwendet werden. Die resultierenden Daten sind der über die Leitung 528 ausgegebene Schlüsselstrom (KS – key stream). Details der CBC- und OFB-Betriebsarten für DES/3DES sind der Publikation "FIPS-81 Modes of Operation" zu entnehmen.
  • Der Schlüssel-Manager 520 umfasst außerdem ein Steuerregister 530, das an den Kryptographiebeschleuniger angeschlossen ist, um es dem Kryptographiebeschleuniger oder indirekt einem anderen Prozessor zu ermöglichen, Informationen von dem Schlüssel-Manager 520 zu steuern und zu empfangen. Schließlich umfasst der Schlüssel-Manager 520 außerdem die Datenspeicher 532, 534 und 536 für Schlüssel und andere Daten.
  • Bezug nehmend nun auf die 6 bis 9 werden beispielhafte Operationen einer Ausführungsform eines Kryptographiesystems genauer behandelt.
  • 6 zeigt typische Operationen, die von einem erfindungsgemäßen Kryptographiesystem durchgeführt werden können. Dieses Beispiel beschreibt eine Ausführungsform, die einen symmetrischen Schlüssel verwendet.
  • Das Flussdiagramm beginnt im Block 600 mit Operationen, die sich im Allgemeinen auf Initialisierungsoperationen beziehen. Bezug nehmend beispielsweise auf das System gemäß 2 wird bei der Herstellung des Systems der Anfangswert für den KEK in das EEPROM und den Host-Prozessor geladen (Block 602).
  • Bezug nehmend nun auf 7 wird eine Ausführungsform von Inbetriebnahmeoperationen (Block 604, 6) für den Schlüssel-Manager im Detail ausgeführt. Beim Reset (Zurückstellen) (Block 700) wartet der Schlüssel-Manager auf den INIT_KEY-Befehl (Initiiere-Schlüssel-Befehl) (Block 702). Wahlweise kann ein Eingangssignal SEN (nicht gezeigt) von einer externen Einrichtung dazu verwendet werden, den INIT_KEY-Befehl zu initiieren. Der Schlüssel-Manager liest die Sequenznummer aus beiden Schlüsselstellen im EEPROM (Block 704). Die Sequenznummern werden verglichen, um die "größere" der zwei Nummern zu bestimmen (Block 706). Die Schlüsselstelle mit der größten Sequenznummer wird durch den Schlüssel-Manager aus dem EEPROM gelesen (Blöcke 708 oder 710). Die aus der Schlüsselstelle gelesenen Daten werden unter Verwendung des DES-MAC-Algorithmus verifiziert, wobei der Anfangsvektor = 0 und wobei ein festgelegter interner Schlüssel Kbf="reubkram" (Block 712) verwendet wird.
  • Wenn der MAC angenommen wird, wurde die korrekte Schlüsselstelle gewählt. Der Schlüssel-Manager lädt dann die Anfangsvektor-, KMAC- und KEK-Werte in interne Register (Block 716). Die FLAGS/Seq.Nr.-Felder werden in ein Register gesetzt, das vom Host-Prozessor lesbar ist. Wenn der MAC nicht angenommen wird, wird die andere Schlüsselstelle verwendet, um das MAC-Verfahren zu wiederholen (Blöcke 714 und 718). Wenn beide nicht angenommen werden, tritt der Schlüssel-Manager in einen Fehlerzustand ein (Block 720).
  • Sobald die richtige Schlüsselstelle in der Initiierungsphase bestimmt worden ist, erzeugt der Schlüssel-Manager den Schlüsselstrom, der für die Sicherheitsassoziationsentschlüsselung nötig ist (Block 722).
  • 8 zeigt eine Ausführungsform einer Schlüsselstruktur 834, 836, die in Verbindung mit einem symmetrischen KEK verwendet werden kann. Die Schlüsselstruktur umfasst Flags (Marken) 822, die beispielsweise dazu verwendet werden können, anzugeben, ob der KEK-Wert aktualisiert werden kann. Die Sequenznummer (Seq.-Nr.) 824 wird bei jedem neuen KEK-Wert, der in den Schlüssel-Manager geladen wird, inkrementiert. NOUNCE 826 ist ein 32Bit-Zufallswert, der zusammen mit der Sequenznummer verwendet wird, um den Anfangsvektor für die Verschlüsselung mit dem KEK zu erzeugen. KMAC 828 enthält den Schlüssel, der zum Authentifizieren einer Schlüsselaktualisierungsoperation verwendet wird. KEK 830 ist der Schlüsselverschlüsselungsschlüssel, der dazu verwendet wird, den Schlüsselstrom zum Entschlüsseln der Sicherheitsassoziationen zu erzeugen. Strukt-MAC 832 ist der Nachrichtenauthentifizierungscode für die Schlüsselstruktur. Dieser MAC wird unter Verwendung des Anfangsvektors = 0 und des internen Kbf-Schlüssels berechnet. Wie vorstehend in Zusammenhang mit 7 besprochen, sind im EEPROM zwei Schlüsselstrukturen 834 und 836 gespeichert.
  • Bezug nehmend nochmals auf 6, liest der Schlüssel-Manager, wenn das System zum ersten Mal hochgefahren wird, den KEK aus dem EEPROM aus und speichert ihn in den Schlüsselstrukturdatenspeicher. Der KEK wird dann an den 3DES gesendet, das den Schlüsselstrom erzeugt (Block 606). Bei einer Ausführungsform wird der Schlüsselstrom im Ausgangsregister gespeichert bis es von einer IPU benötigt wird.
  • Der Schlüsselstrom wird unter Verwendung einer 3DES-OFB-Verschlüsselung erzeugt, wobei der Anfangsvektor unter Verwendung des NOUNCE- und des Seq.-Nr.-Werts (IV = (FLAGS/SEQ. & NOUNCE)) generiert wird. Der Verschlüsselungsschlüssel ist der KEK. Der Schlüsselstrom wird mit jeweils 64 Bit erzeugt und über einen 1 Bit-Bus an einen externen Zielblock übertragen.
  • Wenn der Host-Prozessor Kommunikationen mit anderen Host-Prozessoren beginnt, handelt er typischerweise einen Schlüsselsatz aus, der während dieser Kommunikationen verwendet werden soll. Beispielsweise bei Verwendung des Internet-Key-Exchange- ("IKE"/Internet-Schlüsselaustausch-) Protokolls, verhandelt der Host-Prozessor mit einem Peer (gleichrangigen Gerät), um 2 Schlüsselsätze für jede Sitzung zwischen den Peers zu erzeugen (Block 608). Somit erzeugt der Host-Prozessor, mit der Zeit, einen Schlüsselsatz in einer Schlüsseldatenbank. Der Host-Prozessor fügt der Datenbank Schlüssel hinzu und löscht Schlüssel aus dieser heraus, wenn Sitzungen erzeugt bzw. beendet werden.
  • Der Host-Prozessor 224 verschlüsselt jeden der Sitzungsschlüssel unter Verwendung des KEK und sendet sie an den Netzwerksteuer-/Paketprozessor 220. Einem jeden der verschlüsselten Schlüssel wird eine Kennung zugeordnet, die den Schlüssel einer bestimmten Sitzung zuordnet. Der Netzwerksteuer-/Paketprozessor 220 speichert die verschlüsselten Sicherheitsassoziationen (z.B. die verschlüsselten Schlüssel zusammen mit ihren zugeordneten Kennungen) in einer Datenbank 240 (Block 610).
  • An diesem Punkt ist das Initialisierungsverfahren im Wesentlichen abgeschlossen. Das System ist somit bereit, verschlüsselte Pakete zu empfangen oder zu senden.
  • Wenn ein entfernter Peer während einer Sitzung verschlüsselte Daten an den Host-Prozessor sendet, verschlüsselt der Peer die Daten unter Verwendung des vereinbarten Schlüssels. Der Peer setzt die Daten zu einem Paket zusammen, einschließlich der Kennung (z.B. wie durch IPsec definiert), die dem zum Entschlüsseln des Pakets zu verwendenden Schlüssel zugeordnet ist (Block 612).
  • Wenn ein verschlüsseltes Paket von dem Netzwerksteuer-/Paketprozessor (NC/PP) 220 empfangen wird, liest der Netzwerksteuer-/Paketprozessor 220 die Kennung im Paket, um zu bestimmen, welche Sicherheitsassoziation mit diesem Paket zu verwenden ist (Block 614). Wenn die Kennung beispielsweise aus der Adresse der Sicherheitsassoziation besteht, liest der Netzwerksteuer-/Paketprozessor 220 die Daten aus dieser Adresse in der Datenbank 240 aus. Alternativ kann der Netzwerksteuer-/Paketprozessor 220, wenn die Sicherheitsassoziation die Kennung umfasst, die Datenbank nach einer Sicherheitsassoziation abfragen, die eine Kennung enthält, welche mit der Kennung des Pakets übereinstimmt. Der Netzwerksteu er-/Paketprozessor 220 sendet das Paket und die Sicherheitsassoziation (SA) an den Kryptographiebeschleuniger 236 (Block 616).
  • Der Kryptographiebeschleuniger 236 entschlüsselt die Sicherheitsassoziation unter Verwendung des Schlüsselstroms und sendet den entschlüsselten Sitzungsschlüssel an die Chiffriermaschine 424A, 424B (Block 618). Die Chiffriermaschine 424A, 424B entschlüsselt das verschlüsselte Paket unter Verwendung des Sitzungsschlüssels (Block 620) und sendet das verschlüsselte Paket zurück zum Netzwerksteuer/Paketprozessor 220. Der Netzwerksteuer-/Paketprozessor 220 wiederum sendet das Paket zur Verarbeitung an den Host-Prozessor 224 (Block 622).
  • Das System führt komplementäre Operationen durch, wenn der Host-Prozessor 224 über das Netzwerk 222 ein sicheres Paket an einen entfernten Peer sendet.
  • 9 stellt Schlüsselaktualisierungsoperationen dar, die in Verbindung mit den Operationen gemäß 6 durchgeführt werden kennen. Der Schlüssel-Manager 426 stellt einen Mechanismus zum Aktualisieren der Schlüssel (z.B. des KEK) 434 bereit, die im EEPROM gespeichert sind. Bei einer Ausführungsform muss der Host-Prozessor 224 den vorherigen Schlüssel kennen, um den aktuellen Schlüssel zu ändern. Zunächst füllt der Host-Prozessor 224 die Ladewarteschlange mit 48 Bytes der neuen verschlüsselten Version der Schlüsselstelle (einschließlich des MAC-Wertes). Der Host-Prozessor 224 füllt die Ladewarteschlange unter Verwendung des Schreib-FIFO-Registers (Block 902). Der Schlüssel-Manager 426 verwendet den 3DES-MAC mit dem KMAC-Schlüssel und dem Anfangsvektor, der gleich null ist, um die Daten in der Ladewarteschlange als den neuen vom Schlüssel-Manager 426 verwendeten Schlüssel zu authentifizieren (Block 904). Wenn die Authentifizierung fehlschlägt, erzeugt der Schlüssel-Manager 326 ein Fehlersignal (Block 906).
  • Wenn die Authentifizierung erfolgreich ist, wird der Rest der Daten (NOUNCE, neuer KMAC und neuer KEK) unter Verwendung von 3DES-OFB mit dem aktuellen KEK entschlüsselt (Block 908). Die entschlüsselte Sequenznummer wird als die nächste inkrementierte Sequenznummer (d.h. eins plus die Sequenznummer, die vom Schlüssel-Manager angekündigt wurde) verifiziert (Block 910). Der entschlüsselte Wert der gesamten Schlüsselstruktur wird an die Schlüsselstelle gesetzt, die während des INIT_KEY-Befehls nicht geladen wird (Block 914).
  • Die hierin beschriebene Erfindung kann gegenüber herkömmlichen Systemen mehrere Vorteile bereitstellen. Beispielsweise können die Einrichtungen, die die Schlüsselerzeugung und die Schlüsselnutzung durchführen, voneinander entfernt sein. Darüber hinaus kann die Sicherheitsassoziationsdatenbank entfernt von den anderen Komponenten im System angeordnet sein. Des Weiteren können diese Vorteile erzielt werden, ohne die Leistung des Systems zu verschlechtern.
  • Bezug nehmend auf die 10 bis 13 werden Beispiele für Strukturen und Operationen einer Ausführungsform eines Kryptographiesystems, das öffentliche Schlüssel verwendet, genauer behandelt.
  • 10 zeigt eine Ausführungsform der Erfindung, die einen Austausch asymmetrischer Schlüssel unterstützt, um in einem Netzwerk für Datensicherheit zu sorgen. Die Ausführungsform gemäß 10 ist der Ausführungsform gemäß 3 ähnlich, wobei der Hauptunterschied darin besteht, dass der Host-Prozessor 322 aus 3 durch mehrere einzelne Komponenten ersetzt worden ist, um die Beschreibung des Betriebs dieser Komponenten zu erleichtern. In der Praxis kann die tatsächliche physische Konfiguration der einzelnen Komponenten auf vielerlei Arten ausgeführt werden.
  • Wie vorstehend in Verbindung mit 3 besprochen, speichert das Sicherheitsmodul 1020 private Schlüssel 1022 und steuert die Erzeugung von Schlüsseln, wobei jedoch der Großteil der Chiffrierverarbeitung durch den Kryptographiebeschleuniger 1026 durchgeführt wird. Somit muss das System ein sicheres Verfahren zum Übertragen von Schlüsseln zwischen dem Sicherheitsmodul 1020 und den anderen Komponenten bereitstellen.
  • Im Allgemeinen kann diese sichere Verbindung unter Verwendung einer gängigen Null-Kenntnis-Authentifizierungstechnik implementiert werden, die z. B. DAS oder digitale Signaturalgorithmen umfasst. 11 beschreibt eine Ausführungsform von Operationen, die in Bezug auf das Einrichten dieser sicheren Datenübertragung durchgeführt werden können. Bei der Herstellung des Kryptographiebeschleunigers 1026 wird ein privater Schlüssel 1028 im EEPROM 1030 gespeichert. Wie vorstehend besprochen, ist dieses EEPROM typischerweise durch Epoxid oder ein anderes Verfahren geschützt. Darüber hinaus kann ein signierter öffentlicher Schlüssel für den Kryptographiebeschleuniger im EEPROM oder einem anderen Datenspeicher gespeichert werden (Block 1102). Der signierte öffentliche Schlüssel, der für gewöhnlich als Zertifikat bezeichnet wird, stellt eine Verifizierung von einer vertrauenswürdigen Quelle bereit, dass der öffentliche Schlüssel gültig ist.
  • Zum Initiieren des Austausches asymmetrischer Schlüssel sendet der Kryptographiebeschleuniger 1026 seinen öffentlichen Schlüssel an das Sicherheitsmodul 1020 (Block 1104). Das Sicherheitsmodul erzeugt dann eine zufällige Zahl und sendet sie an den Kryptographiebeschleuniger 1026 (Block 1106). Der Kryptographiebeschleuniger 1026 verschlüsselt die zufällige Zahl mit seinem privaten Schlüssel und sendet das Ergebnis zurück zum Sicherheitsmodul 1020 (Block 1108). Das Sicherheitsmodul 1020 verwendet den öffentlichen Schlüssel des Kryptographiebeschleunigers zum Entschlüsseln der verschlüsselten zufälligen Zahl (Block 1110). Wenn diese Prüfung bestanden wird, hat das Sicherheitsmodul 1020 die Identität des Kryptographiebeschleunigers 1026 authentifiziert. Das Sicherheitsmodul 1020 und der Kryptographiebeschleuniger 1026 führen typischerweise ein ähnliches Verfahren in umgekehrter Richtung durch, so dass der Kryptographiebeschleuniger 1026 das Sicherheitsmodul 1020 authentifizieren kann (Block 1112).
  • An diesem Punkt haben das Sicherheitsmodul 1020 und der Kryptographiebeschleuniger 1026 ein sicheres Kommunikationsverfahren eingerichtet. Das Sicherheitsmodul 1020 kann unter Verwendung des öffentlichen Schlüssels des Kryptographiebeschleunigers Daten an den Kryptographiebeschleuniger 1026 senden.
  • Demgemäß erzeugt das Sicherheitsmodul 1020 einen KEKB 1032 und einen KEKA 1040, verschlüsselt sie (Block 1114) und sendet sie an den Kryptographiebeschleuniger 1026 (Block 1116). Der KEKB 1032 wird dann vom Kryptographiebeschleuniger 1026 zum Entschlüsseln von vom Sicherheitsmodul 1020 an den Kryptographiebeschleuniger 1026 gesendeten Schlüsseln verwendet. Insbesondere verschlüsselt das Sicherheitsmodul 1020 die privaten Schlüssel des Host-Prozessors 1024 (Block 1118) und sendet sie an die Private-Schlüssel-Datenbank 1034 (Block 1120).
  • 12 beschreibt Paketverarbeitungsoperationen, die durchgeführt werden können, sobald die verschlüsselten privaten Schlüssel in die Private-Schlüssel-Datenbank 1034 geladen worden sind. Wie vorstehend besprochen, muss, um eine Sitzung zwischen einem Klienten und einem Server (z.B. dem Host-Prozessor 1024) zu beginnen, ein Schlüsselsatz für die Sitzung erzeugt werden. Der Server sendet beispielsweise seinen signierten öffentlichen Schlüssel an die Klient-Anwendung (Block 1202). Nach dem Verifizieren dieses öffentlichen Schlüssels sendet die Klient-Anwendung Sitzungsinformationen an den Server, die mit dem öffentlichen Schlüssel des Servers verschlüsselt sind (Block 1204). Der Server sendet diese verschlüsselten Sitzungsinformationen an den Kryptographiebeschleuniger 1026. Als Nächstes ermittelt der Kryptographiebeschleuniger 1026 den zugeordneten verschlüsselten privaten Schlüssel für den Server.
  • Auf ähnliche Art und Weise wie vorstehend besprochen, entschlüsselt der Kryptographiebeschleuniger 1026 den verschlüsselten privaten Schlüssel unter Verwendung des KEKB 1032 (Block 1206). Der Kryptographiebeschleuniger 1026 entschlüsselt dann die verschlüsselten Sitzungsinformationen unter Verwendung des privaten Schlüssels des Servers. Aus den Sitzungsinformationen und dem entschlüsselten privaten Schlüssel wird ein gemeinsames Geheimnis erzeugt, aus dem der Kryptographiebeschleuniger 1026 einen Schlüsselsatz für die Sitzung erzeugt (Block 1208). Der Kryptographiebeschleuniger 1026 verschlüsselt dann diese Schlüssel und sendet sie an den Klienten. Als Nächstes verschlüsselt der Kryptographiebeschleuniger 1026 die Sicherheitsassoziation (z.B. die Sitzungsschlüssel und, bei manchen Ausführungsformen, zugeordnete Informationen) unter Verwendung des KEKA 1040 (Block 1210). Der Kryptographiebeschleuniger 1026 sendet dann die Sicherheitsassoziationsdaten an die Sicherheitsassoziationsdatenbank 1038 (Block 1212).
  • Wenn die Klient-Anwendung verschlüsselte Pakete an den Server sendet (Block 1214), arbeitet der Paketprozessor 1042 mit dem Kryptographiebeschleuniger 1044 zusammen, um die Pakete zu entschlüsseln. Diese Operation, wie in den Blöcken 12161222 beschrieben, ähnelt der in Verbindung mit 6, in den Blöcken 612622, beschriebenen Operation. Wiederum führt das System komplementäre Operationen durch, wenn der Server verschlüsselte Pakete an die Klient-Anwendung sendet.
  • Gemäß dieser Ausführungsform der Erfindung kann der KEK (KEKA 1040 oder KEKB 1032) unter Verwendung eines Verfahrens zum Austausch asymmetrischer Schlüssel, wie beispielsweise vorstehend beschrieben, aktualisiert werden. Demgemäß kann der KEK aktualisiert werden, ohne dass das Sicherheitsmodul 1020 beweisen muss, dass es den Wert des vorherigen KEK kennt.
  • Des Weiteren stellt diese Ausführungsform dahingehend einen deutlichen Vorteil bereit, dass das Sicherheitsmodul 1020 an einer Stelle platziert werden kann, die von den anderen Komponenten von 10 entfernt ist. Da der Großteil der Schlüsselverwaltungsoperationen nicht vom Sicherheitsmodul durchgeführt wird, kann auch ein einzelnes Sicherheitsmodul viele Sitzungen unterstützen.
  • Darüber hinaus stellt diese Ausführungsform einen Vorteil gegenüber einer Implementierung mit symmetrischen Schlüsseln bereit, wobei derselbe ursprüngliche Schlüssel nicht mit den Einrichtungen versendet wird. Daher ist es nicht so dringend erforderlich, jede Einrichtung, die versendet wird, zu verfolgen, um den ursprünglichen Schlüssel zu schützen. Darüber hinaus kann der asymmetrische Ansatz eine Signaturspur und eine Authentifizierungsspur bereitstellen, wodurch für eine erhöhte Systemsicherheit gesorgt wird. Schließlich ist es einfacher, den Host-Prozessor 1024 und das EEPROM 1030 für den Kryptographiebeschleuniger 1026 an separaten Stellen anzuordnen, da sie nicht mit demselben ursprünglichen Schlüsselwert hergestellt werden müssen.
  • Die Ausführungsform gemäß 10 zeigt zwei separate Kryptographiebeschleunigerkomponenten 1026, 1044. Bei einer alternativen Ausführungsform können die Kryptographiebeschleuniger 1026, 1044 zu einer einzelnen integrierten Schaltung kombiniert werden. In diesem Fall können, nachdem der obere Kryptographiebeschleuniger 1026 die Sitzungsschlüssel abgeleitet hat, diese unter Verwendung eines KEK verschlüsselt und dann an die Sicherheitsassoziationsdatenbank gesendet werden. Auf diese Weise verlassen die Sitzungsschlüssel niemals die integrierte Schaltung des Kryptographiebeschleunigers in einem unverschlüsselten Zustand.
  • 13 ist ein Blockdiagramm höherer Ebene einer Ausführungsform eines erfindungsgemäß ausgeführten Sicherheitssystems. Ein Hauptsicherheitsmodul 1320 kommuniziert mit einem oder mehreren Satellitensicherheitsmodulen 1322 über einen oder mehrere sichere Kanäle 1324. Jedes Satellitensicherheitsmodul 1322 umfasst eine Verarbeitungsmöglichkeit (nicht gezeigt) sowie wenigstens einen Schlüsselagenten 1326 und wenigstens eine nichtflüchtige Speichereinrichtung 1328. Bei einer typischen Konfiguration befinden sich die Satellitensicherheitsmodule 1322 überall in einem Datennetzwerk (z.B. dem Internet).
  • Wie durch die gestrichelte Linie 1330 dargestellt, arbeiten die Hauptsicherheitsmodule 1320, der sichere Kanal 1324 und die Satellitensicherheitsmodule 1322 zusammen, um eine kryptographische Grenze zu bilden. Bei einer Ausführungsform ist das Hauptsicherheitsmodul beispielsweise FIPS-140-2-zertifiziert. Die Anwendung der Lehren der Erfindungen ermöglicht es dem Satellitensicherheitsmodul 1322, den kryptographischen Perimeter des Hauptsicherheitsmoduls 1320 aufrechtzuerhalten, obgleich es physisch davon getrennt und unter einem gewissen Abstand vom Hauptsicherheitsmodul 1320 angeordnet sein kann. Das Satellitensicherheitsmodul 1322 kann beispielsweise in Blade-Servern oder in Router-Service-Blades ausgeführt werden.
  • Ein Hauptsicherheitsmodul 1320, das alle Anforderungen von FIPS-140-2 erfüllt, muss verschiedene Stufen des physischen Schutzes, der Zugangskontrolle und Kryptographieschlüsselverwaltung bereitstellen. Daher muss das Satellitensicherheitsmodul 1322, um dieses Sicherheitsniveau überall im System aufrechtzuerhalten, ähnliche Schutzmaßnahmen ausführen.
  • Für die Zwecke dieser Offenbarung bezieht sich der Begriff "Hauptsicherheitsmodul" auf eine Einrichtung, die als Minimum Schlüssel verteilt, die Schlüssel schützt, die es verteilt, und dazu in der Lage ist, mit einer anderen Einrichtung, die Schlüssel verwaltet (z.B. einem Satellitensicherheitsmodul), sicher zu kommunizieren.
  • Für die Zwecke dieser Offenbarung bezieht sich der Begriff "Satellitensicherheitsmodul" auf eine Einrichtung, die als Minimum Daten entschlüsselt, Schlüssel schützt und dazu in der Lage ist, mit einer anderen Einrichtung, die Schlüssel verwaltet (z.B. einem Hauptsicherheitsmodul), sicher zu kommunizieren.
  • Der Schlüsselagent kann Funktionen ausführen, die mit der Verarbeitung von Schlüsselverwaltungsprotokollnachrichten, dem Lesen und Schreiben des nichtflüchtigen RAM (NVRAM), dem Ent- und Verschlüsseln von Sicherheitsassoziationen und dem Ausführen von bei FIPS-140-2 erforderlichen Eigentestsequenzen in Zusammenhang stehen.
  • In der Praxis können ein Hauptsicherheitsmodul 1320 und ein Satellitensicherheitsmodul 1322 wahlweise dafür konfiguriert sein, eine Vielzahl anderer Funktionen auszuführen. In 3 stellen beispielsweise das Sicherheitsmodul 1320 und der zugeordnete Datenspeicher 330 eine Ausführungsform eines Hauptssicherheitsmoduls 1320 und der Kryptographiebeschleuniger 326 mit seinem Schlüssel-Manager 334 und dem EEPROM 336 eine Ausführungsform eines Satellitensicherheitsmoduls 1322 dar.
  • Die kryptographische Grenze 1330 kann unter Verwendung der hierin beschriebenen Techniken, wie etwa dem Verschlüsseln von Daten in den Einrichtungen und zugeordneten Speichern, erzielt werden. Beispielsweise erscheinen Sicherheitsassoziationen in dem Freiraum innerhalb der kryptographischen Grenze 1330. Eine Schlüsselkomponente der kryptographischen Grenze ist der sichere Kanal 1324. Der sichere Kanal 1324 wird zum Initialisieren und Steuern der Satellitensicherheitsmodule 1332 verwendet und erleichtert die sichere Übertragung der KEKs und Verwaltungsinformationen.
  • Bei einer Ausführungsform kann der sichere Kanal 1324 durch den Host-Prozessor (z.B. den Prozessor 1024 in 10) eingerichtet werden. Dadurch werden, obgleich der Pfad durch den Host-Prozessor nicht inhärent sicher ist, die Kommunikationen zwischen dem Hauptsicherheitsmodul 1320 und dem Satellitensicherheitsmodul 1322 gesichert.
  • Typischerweise initiiert das Hauptsicherheitsmodul 1320 die Austauschtätigkeiten über den sicheren Kanal. Das Hauptsicherheitsmodul 1320 erzeugt beispielsweise eine Nachricht und sendet sie an den Host-Prozessor. Der Host-Prozessor sendet dann einen Befehl an das Satellitensicherheitsmodul 1322. Auf diesen Befehl folgt eine Antwort vom Satellitensicherheitsmodul 1322, die der Host-Prozessor an das Hauptsicherheitsmodul 1320 zurücksendet.
  • Der sichere Kanal 1324 kann mit vielen unterschiedlichen Protokollen einrichtet und ausführt werden. Darüber hinaus kann der sichere Kanal 1324 eine Vielzahl von Schlüsselverwaltungsnachrichten unterstützen. Es folgen einige Beispiele. Diese Beispiele sind rein veranschaulichender Natur und schränken die Protokolle, die bei der Ausführung der Erfindung verwendet werden können, nicht ein.
  • Das gemeinsame Geheimnis kann beispielsweise unter Verwendung von Shared-Secret-Protokollen (Gemeinsames-Geheimnis-Protokollen), wie etwa dem unauthentifizierten Diffie-Hellman, dem Einweg-RSA-authentifizierten Diffie-Hellman, dem wechselseitig authentifizierten Diffie-Hellman und Shared Secret ReKey, erstellt werden. Diese Protokolle haben die Eigenschaft, dass sie unter Verwendung des vorstehend beschriebenen Anfrage-/Antwort-Nachrichtenformats ausgeführt werden können.
  • Bei dem unauthentifizierten Diffie-Hellman teilen das Hauptsicherheitsmodul und das Satellitensicherheitsmodul das öffentliche Wissen eines Diffie-Hellman-Falles, der aus einer Primzahl p und einem Generator g besteht. Dies stellt den grundlegenden Diffie-Hellman-Austausch dar.
    • 1. Der Initiator erzeugt eine zufällige Zahl xi und eine öffentliche Zahl yi = gxi mod p.
    • 2. Der Initiator sendet yi, zusammen mit einer Nonce (Zufallswert) Ni, an den Antwortenden.
    • 3. Der Antwortende erzeugt eine zufällige Zahl xr und eine öffentliche Zahl yr = gxr mod p.
    • 4. Der Antwortende erzeugt das gemeinsame Diffie-Hellman-Geheimnis, K = yixr mod p und die Nonce Nr.
    • 5. Der Antwortende erzeugt einen so großen Schlüsselmaterialstrom, wie bei Verwendung von HMAC(K, Ni ∥ Nr ∥ i) nötig, für I = 0, 1, 2, ...
    • 6. Der Antwortende führt yr, zusammen mit der Nonce Nr, zum Initiator zurück.
    • 7. Der Initiator leitet das gemeinsame Schlüsselmaterial unter Verwendung derselben Formel ab.
  • Die ist ein einfaches und standardgemäßes Protokoll, das gemeinsames Schlüsselmaterial in FIPS-Qualität erzeugt. Dabei muss das Satellitensicherheitsmodul nur auf die Diffie-Hellman-Fallkonstanten zugreifen, wobei diese in der integrierten Schaltungslogik enthalten sein könnten. Dieser Ansatz kann jedoch für Man-in-the-Middle-(MITM-) Angriffe anfällig sein, die den sicheren Kanal und alle über den sicheren Kanal ausgetauschten KEKs beeinträchtigen könnten.
  • Beim Einweg-RSA-authentifizierten Diffie-Hellman teilen das Hauptsicherheitsmodul und das Satellitensicherheitsmodul, wie vorstehend, das öffentliche Wissen eines Diffie-Hellman-Falles. Darüber hinaus verfügt das Hauptsicherheitsmodul über einen RSA-Schlüssel und das Satellitensicherheitsmodul über eine vertrauenswürdige Kopie des öffentlichen Schlüssels des Hauptsicherheitsmoduls.
    • 1. Der Initiator erzeugt eine zufällige Zahl xi und eine öffentliche Zahl yi = gxi mod p.
    • 2. Der Initiator sendet yi, zusammen mit einer Nonce Ni und seiner Signatur über der Kombination, an den Antwortenden.
    • 3. Der Antwortende verifiziert die Signatur und erzeugt eine zufällige Zahl xr und eine öffentliche Zahl yr = gxr mod p.
    • 4. Der Antwortende erzeugt das gemeinsame Diffie-Hellman-Geheimnis, K = yixr mod p und die Nonce Nr.
    • 5. Der Antwortende erzeugt einen so großen Schlüsselmaterialstrom, wie bei Verwendung von HMAC(K, Ni ∥ Nr ∥ i) nötig, für I = 0, 1, 2, ...
    • 6. Der Antwortende führt yr, zusammen mit der Nonce Nr, zum Initiator zurück. Der Antwortende verwendet den KEK aus dem Schlüsselmaterialstrom, um HMAC(KEK, xi ∥ xr ∥ Ni ∥ Nr) zu berechnen.
    • 7. Der Initiator leitet das gemeinsame Schlüsselmaterial unter Verwendung derselben Formel ab und verifiziert den HMAC über die Austauschparameter.
  • Dies erfordert ebenfalls nur die öffentlichen Konstanten des Satellitensicherheitsmoduls. Der öffentliche Schlüssel des Hauptsicherheitsmoduls muss jedoch spezifisch für das Hauptsicherheitsmodul sein und könnte entweder unter Verwendung eines Einmal-Schreibspeichers oder unter Verwendung von zwei Ebenen von RSA-Schlüsseln und einem Grundschlüssel (root key) bereitgestellt werden, die während der Herstellung geladen werden. Das Hauptsicherheitsmodul würde ein vom Grundschlüssel signiertes digitales Zertifikat bereitstellen, um den vertrauenswürdigen öffentlichen Schlüssel am Satellitensicherheitsmodul zu erstellen.
  • Dies ist sicher gegen MITM-Angriffe, jedoch nicht gegen Spoofing seitens eines Satellitensicherheitsmodulbetrügers. Darüber hinaus könnte das Hauptsicherheitsmodul unabsichtlich die KEKs zum Entschlüsseln der Sicherheitsassoziationen einem Angreifer offenbaren.
  • Bei einem wechselseitig authentifizierten Diffie-Hellman teilen das Hauptsicherheitsmodul und das Satellitensicherheitsmodul, wie vorstehend, das öffentliche Wissen eines Diffie-Hellman-Falles. Zur wechselseitigen Authentifizierung können sowohl das Hauptsicherheitsmodul als auch das Satellitensicherheitsmodul ein öffentliches/privates RSA-Schlüsselpaar aufweisen. Dasselbe Ergebnis kann jedoch auch unter Verwendung eines gemeinsamen Geheimnisses S erzielt werden. Tatsächlich wird S als "Passwort" zur Authentifizierung des Austausches verwendet.
    • 1. Der Initiator erzeugt eine zufällige Zahl xi und eine öffentliche Zahl yi = gxi mod p.
    • 2. Der Initiator sendet yi, zusammen mit einer Nonce Ni, an den Antwortenden.
    • 3. Der Antwortende erzeugt eine zufällige Zahl xr und eine öffentliche Zahl yr = gxr mod p.
    • 4. Der Antwortende erzeugt das gemeinsame Diffie-Hellman-Geheimnis. K = yixr mod p und die Nonce Nr.
    • 5. Der Antwortende erzeugt einen so großen Schlüsselmaterialstrom, wie bei Verwendung von HMAC(K, Ni ∥ Nr ∥ S ∥ i) nötig, wie vorstehend.
    • 6. Der Antwortende führt yr, zusammen mit der Nonce Nr und einem HMAC über die Austauschparameter, zum Initiator zurück. Der Antwortende verwendet den KEK aus dem Schlüsselmaterialstrom, um diesen Wert als HMAC(KEK, xi ∥ xr ∥ Ni ∥ Nr) zu berechnen.
    • 7. Der Initiator leitet das gemeinsame Schlüsselmaterial unter Verwendung derselben Formel ab und verifiziert den HMAC über die Austauschparameter.
  • Dies ist ein weit einfacheres Protokoll und es ist sicher gegen MITM und Spoofing, es erfordert jedoch ein vorab existierendes gemeinsames Geheimnis. Obgleich dieses während der Herstellung installiert werden könnte, kann ein unveränderbares Geheimnis in der Praxis mit der Zeit schwierig zu verwalten sein. Das gemeinsame Geheimnis wird zur Authentifizierung verwendet werden und nicht, um zur Schlüsselerstellung Entropie vorzusehen. Nichtsdestotrotz muss es ebenso vor Offenbarung geschützt werden, wie etwa eine PIN, und in der kryptographischen Grenze enthalten sein.
  • Bei einem Shared Secret ReKey teilen das Hauptsicherheitsmodul und das Satellitensicherheitsmodul nur einen Geheimniszeichenfolgewert S.
    • 1. Der Initiator erzeugt die Nonce Ni und sendet sie an den Antwortenden.
    • 2. Der Antwortende erzeugt die Nonce Nr und einen so großen Schlüsselmaterialstrom, wie bei Verwendung von HMAC(S, Ni ∥ Nr ∥ i) nötig, für I = 0, 1, 2 ...
    • 3. Der Antwortende führt Nr, zusammen mit einem HMAC über die Austauschparameter, zum Initiator zurück. Der Antwortende verwendet den KEK aus dem Schlüsselmaterialstrom, um HMAC(KEK, Ni ∥ Nr) zu berechnen.
    • 4. Der Initiator leitet das gemeinsame Schlüsselmaterial ab und verifiziert den HMAC.
  • Wenn ein gemeinsames Geheimnis verwendet werden soll, ist dies der einfachere Ansatz, der keine Diffie-Hellman-Konstanten oder Öffentliche-Schlüssel-Operationen benötigt. Die gesamte Entropie im gemeinsamen Schlüssel kommt jedoch ausschließlich von diesem Geheimnis.
  • Bevor der sichere Kanal eingerichtet worden ist, befindet sich das Satellitensicherheitsmodul in einem unsicheren Zustand. Ausgehend von diesem Zustand kann das Satellitensicherheitsmodul einen sicheren Kanal einrichten, über den es Schlüsselverwaltungsnachrichten erhalten kann, die KEKs und Zusatzparameter enthalten.
  • Das wechselseitig authentifizierte Diffie-Hellman-Protokoll kann dabei dazu verwendet werden, den sicheren Kanal einzurichten, obgleich auch andere Protokolle verwendet werden können. Bei dem wechselseitig authentifizierten Diffie-Hellman-Protokoll verfügt das Satellitensicherheitsmodul anfangs über: ein gemeinsames Geheimnis (S) mit dem Hauptsicherheitsmodul und die Diffie-Hellman-Parameter (p, g).
  • Zum Einrichten des sicheren Kanals muss das Hauptsicherheitsmodul mit dem gemeinsamen Geheimnis des Satellitensicherheitsmoduls initialisiert worden sein. Das gemeinsame Geheimnis muss in der kryptographischen Grenze geschützt werden, die anderen Konstanten können jedoch öffentlich sein. Das Schlüsselmaterial wird unter Verwendung von HMAC-SHA-1 abgeleitet und unter Verwendung einer Einrichtungsidentitätszeichenfolge und des gemeinsamen Geheimnisses verschlüsselt, wie vorstehend beschrieben. Dieses Schlüsselmaterial kann wie folgt verwendet werden: 16 Bytes für einen AES-Schlüssel, 20 Bytes für einen HMAC-Schlüssel.
  • Sobald der sichere Kanal eingerichtet ist, geht der Schlüsselagent in den "eingerichteten" Zustand über. Der Satellitensicherheitsmodul-Schlüsselagent ist dann bereit, eine Schlüsselverwaltungsnachricht vom Hauptsicherheitsmodul anzunehmen, wenn sie über den sicheren Kanal empfangen wird.
  • Die Schlüsselverwaltungsnachrichten können auf dieselbe Art und Weise wie bei IPsec ESP unter Verwendung von AES-CBC verschlüsselt und dann mit einem HMAC-SHA1-96 authentifiziert werden. Ein zufälliger Anfangsvektor wird für jede Nachricht erzeugt. Dies soll einer bestehenden IPsec-ESP-Implementierung mehr Einfluss verleihen und hat bekannte Sicherheitseigenschaften. Es kann jedoch auch ein einfacheres Nachrichtenform verwendet werden. Die Nachrichten können KEKs und andere Geheimnisse enthalten. Unterschiedliche KEKs können für verschiedene Zwecke verwendet werden. Es kann beispielsweise für private Schlüssel einen anderen KEK als für die Verkehrverschlüsselungsschlüssel geben, die bei IPsec oder SSL verwendet werden. Das Sicherheitsmodul behält typischerweise die KEKs im Einrichtungsspeicher. Die KEKs können in dem EEPROM oder einem anderen nichtflüchtigen Direktzugriffsspeicher ("NVRAM") gespeichert werden, sofern verfügbar. Nachrichten können außerdem Verwaltungsbefehle oder -anfragen enthalten, wie etwa: initiiere Eigentestsequenz, lese oder lösche Statuszähler, lösche alle Schlüssel und setze sicheren Kanal zurück.
  • Eine Ausführungsform der Erfindung verwendet zwei Hauptprogrammierungsdatenstrukturen zur Handhabung von IPsec-Befehlen. Die MCR-Struktur wird zum Senden eines oder mehrerer "Paket-Deskriptoren" an eine Einrichtung (z.B. einen Kryptographiebeschleuniger) verwendet. Jeder Paket-Deskriptor umfasst Zeiger zu einem Befehlskontext und einem Paar Eingangs- und Ausgangs-Chained-Entry-Deskriptor-Listen. Der erste Deskriptor in jeder Liste wird dem Paket-Deskriptor selbst zugeführt. Der Befehlskontext gibt die durchzuführende Operation an. Bei den meisten Operationen stellt er auch die Schlüssel und Geheimnisse bereit. 14 zeigt beispielsweise den Befehlskontext für IPsec unter Verwendung von 3DES und HMAC-SHA-1 oder HMAC-MD5.
  • Bei einer Ausführungsform der Erfindung wird der Schlüsselschutz unter Verwendung eines in einem Cache gespeicherten Befehlskontextverfahrens bereitgestellt. Dieses Verfahren stellt die Möglichkeit zum Laden eines Befehlskontextes in einen auf dem Chip befindlichen Speicher und zum Verwenden desselben für einen späteren Befehl bereit. Mit anderen Worten, die Sicherheitsassoziation würde eine vollständige Befehlskontextstruktur enthalten. Der Kryptographiebeschleuniger kann einen auf dem Chip befindlichen Speicher für den Cache bereitstellen, und zwar jeweils einen für jeden MCR-Typ (z.B. 96 Bytes für MCR1 und 648 Bytes für MCR2, genug für den AES-256Bit-Schlüssel-IPsec-Kontext oder den RSA-2048Bit-Privat-Schlüssel-Kontext). Der Kryptographiebeschleuniger kann einen zusätzlichen Befehlscode zum Laden und Entschlüsseln eines Befehlskontextes aufweisen. Der zu verwendende Cache und KEK würden durch das MCR bestimmt werden, über das der Befehl ausgegeben wurde. Ein in einem Cache gespeicherter Befehlskontext würde unter Verwendung eines Paket-Deskriptors mit einem Null-Befehlskontextzeiger aufgerufen werden.
  • Sicherheitsassoziationen könnten wie bei IPsec unter Verwendung von 3DES-CBC verschlüsselt werden. Der Anfangsvektor ("IV") wäre Teil des KEK. Sicherheitsassoziationen könnten unter Verwendung von HMAC-SHA-1-96 authentifiziert werden.
  • Typische Anwendungen, die SSL- oder TLS-RAS-Operationen verwenden, wie etwa Webserver, setzten pro virtuellen Server einen einzelnen RSA-Schlüssel ein. Derselbe Schlüssel wird wiederholt dazu verwendet, ausgetauschte Pre-Master-Geheimnisse für diesen Server zu entschlüsseln. Bei solchen Anwendungen wäre der Performance Impact (Leistungsbelastung) einer Entschlüsselung des privaten RSA-Schlüssels vernachlässigbar.
  • Bei anderen Operationen, insbesondere bei IPsec, kann der Gesamtaufwand der Entschlüsselung deutlich spürbar sein. Bei IPsec sollte die explizite IV-Variante verwendet werden, da der IV nicht Teil des Befehlskontextes sein sollte.
  • Nicht alte Befehlscodes benötigen verschlüsselte Schlüssel. Es ist beispielsweise nicht nötig, die Schlüssel für einen RSA-Betrieb mit öffentlichen Schlüsseln zu verschlüsseln. Die folgenden Betriebsarten wären geschützt:
    • – RSA mit privaten Schlüsseln (648 Bytes)
    • – DSA-Sign (308 Bytes)
    • – IPsec-3DES (80 Bytes)
    • – IPsec-AES (96 Bytes)
  • Der Schlüsselschutz muss bei ARCFOUR nicht verwendet werden, da dies ein Schreiben aus einem verschlüsselten Zustand erforderlich machen würde. Es sei darauf hingewiesen, dass ARCFOUR kein FIPS-genehmigter Algorithmus ist. SSL-3DES benötigt einen IV mit dem Befehlskontext. Diffie-Hellman wäre ausgeschlossen, da das Geheimnis als Datenfragment ein- oder ausgegeben wird.
  • Bei einer anderen Ausführungsform wird ein In-Line-Schlüsselverfahren zum Schutz der Schlüssel verwendet. Dabei werden Schlüssel mit geeigneten Befehlskontextlasten potentiell entschlüsselt. Dies kann einen größeren Performance Impact verursachen, es erweitert jedoch den Schutz weiter. Insbesondere die Datenpfade zum Entschlüsseln der Eingangs- und Ausgangsdaten für Diffie-Hellman könnten hinzugefügt werden.
  • Es versteht sich, dass sich die hierin beschriebene Erfindung auf zahlreiche unterschiedliche Protokolle und Standards sowie auf Modifikationen und Erweiterungen dieser Protokolle und Standards anwenden lässt und diese nutzen kann, welche beispielsweise IPsec, SSL und FCsec umfassen, jedoch nicht darauf beschränkt sind.
  • Darüber hinaus kann eine Vielzahl von Kryptographie- und Signaturalgorithmen sowie Modifikationen und Erweiterungen derselben verwendet werden, die beispielsweise RSA, Diffie-Hellman, elliptische Kurven und DSA umfassen, ohne jedoch darauf beschränkt zu sein.
  • Es versteht sich außerdem, dass die hierin beschriebene Erfindung unter Verwendung einer Vielzahl physischer Komponenten und Konfigurationen ausgeführt werden kann. Es kann beispielsweise eine Vielzahl von Hardware- und Software-Verarbeitungskomponenten zum Ausführen der Funktionen der Hauptsicherheitsmodule, Satellitensicherheitsmodule, Host-Prozessoren, Kryptographiebeschleuniger, Sicherheitsmodule, Netzwerksteuer- und Paketprozessoren verwendet werden. Die Netzwerksteuer- und Paketverarbeitungsfunktionen können typischerweise in einem Netzwerkprozessor ausgeführt werden. Diese Komponenten können auf einer oder mehreren integrierten Schaltungen kombiniert werden.
  • Darüber hinaus können die hierin beschriebenen Komponenten und Funktionen auf zahlreiche unterschiedliche Arten miteinander verbunden werden. Einige der durch die Anschlussleitungen in den Zeichnungen dargestellten Verbindungen können in einer integrierten Schaltung, auf einer Leiterplatte, über eine Backplane zu anderen Leiterplatten, über ein lokales Netz (LAN) und/oder ein Weitverkehrsnetz (WAN) (z.B. das Internet) hergestellt werden. Daher können sich einige der Komponenten in Bezug auf die anderen Komponenten an einer entfernten Stelle befinden. Eine oder mehrere der durch die Anschlussleitungen in den Zeichnungen (z.B. die Anschlussleitungen 240244 und 10501060 in den 2 und 10) dargestellten Verbindungen können beispielsweise ein Datennetzwerk umfassen. Darüber hinaus können diese Verbindungen z.B. mittels eines physischen Drahts, einer Glasfaser und/oder drahtloser Verbindungen hergestellt werden.
  • Einige der zwischen Komponenten hergestellten Verbindungen umfassen sichere Verbindungen (z.B. gemäß FIPS-140-2), während andere Verbindungen unsichere Verbindungen umfassen.
  • Es kann eine große Vielzahl an Einrichtungen zum Ausführen der hierin besprochenen Datenspeicher (z.B. der Datenbanken und nichtflüchtigen Speicher) verwendet werden. Ein Datenspeicher kann beispielsweise ein RAM, ein Diskettenlaufwerk, FLASH oder andere Arten der Datenspeicherung umfassen.
  • Bei einer Ausführungsform der Erfindung kann sich der nichtflüchtige Speicher auf derselben integrierten Schaltung wie der Schlüssel-Manager befinden. Diese Ausführungsform kann für mehr Sicherheit für einen KEK und/oder einen privaten Schlüssel sorgen.
  • Darüber hinaus kann der nichtflüchtige Speicher eine einmal programmierbare Schaltung zum Speichern beispielsweise eines Anfangswerts für einen KEK, eines privaten Schlüssels oder eines gemeinsamen Geheimnisses umfassen. Beispiele für einmal programmierbare Schaltungen sind den folgenden US-Patentanmeldungen zu entnehmen, die auf den Anmelder dieser Anmeldung übertragen wurden: US-Patentanmeldung Nr. 10/141,197 , eingereicht am 08.05.2002 mit dem Titel "USING AN ON-CHIP ONE-TIME PROGRAMMABLE NON-VOLATILE MEMORY (OPT NVM) FOR CONFIGURING DEVICE FEATURES", US-Patentanmeldung Nr. 10/141,599 , eingereicht am 08.05.2002 mit dem Titel "SYSTEM AND METHOD FOR PROGRAMMING NON-VOLATILE MEMORY". Der Inhalt dieser Anmeldungen wird hiermit durch Bezugnahme gewürdigt.
  • Ein nichtflüchtiger Speicher, wie etwa eine einmal programmierbare Schaltung kann bei jeder der hierin besprochenen Komponenten eingesetzt werden, einschließlich eines Kryptographiebeschleunigers oder eines Sicherheitsmoduls. Es könnte beispielsweise ein gemeinsames Geheimnis während der Herstellung in das Hauptsicherheitsmodul und die Satellitensicherheitsmodule geladen werden. Dieses gemeinsame Geheimnis könnte dann dazu verwendet werden, wechselseitig das Hauptsicherheitsmodul und das Satellitensicherheitsmodul zu authentifizieren.
  • Die Erfindung kann unter Verwendung unterschiedlicher Arten von Chiffriermaschinen in die Praxis umgesetzt werden. Bei einer Ausführungsform der Erfindung wird beispielsweise der KEK unter Verwendung einer Blockchiffriereinrichtung anstelle einer Stromchiffriereinrichtung entschlüsselt. Bei einer Ausführungsform der Erfindung kann dieselbe Hardware dazu verwendet werden, die Nachrichtenauthentifizierungs- und Entschlüsselungsoperationen durchzuführen. Sowohl die CVC-MAC- als auch die OFB-Routinen führen eine Triple-DES-Verschlüsselungsbetriebsart aus. Somit kann durch Steuern der Eingänge des Triple-DES, um unterschiedliche Anfangswerte und Schlüssel für den Triple-DES in Abhängigkeit davon bereitzustellen, welche Operation durchgeführt wird, eine erhebliche Reduzierung der Gate-Anzahl erreicht werden.
  • Bei einer Ausführungsform der Erfindung ermöglicht der Schlüssel-Manager anderen Komponenten im System Zugriff auf ungesicherte Abschnitte des EEPROM. Daher kann das System mit nur einem einzigen EEPROM konfiguriert werden.
  • Bei einer anderen Ausführungsform der Erfindung können mehrere Schlüssel-Manager das EEPROM gemeinsam benutzen. Dies stellt den Vorteil bereit, dass die Schlüssel-Manager denselben KEK benutzen können. Daher kann das System so konfiguriert werden, dass ein beliebiger von mehreren Kryptographiebeschleunigern ein gegebenes eingehendes Paket verarbeiten kann.
  • Zusammenfassend lehrt die hierin beschriebene Erfindung verbesserte Techniken zum Bereitstellen einer gesicherten Datenübertragung und zum Verwalten von Kryptographieschlüsseln. Obgleich bestimmte beispielhafte Ausführungsformen im Detail beschrieben und in den begleitenden Zeichnungen dargestellt worden sind, versteht es sich, dass solche Ausführungsform rein veranschaulichender Natur sind und den Schutzumfang der Erfindung nicht einschränken. Es ist daher ersichtlich, dass verschiedene Modifikationen an den dargestellten und anderen Ausführungsformen der vorstehend beschriebenen Erfindung durchgeführt werden können, ohne den Schutzumfang der Erfindung zu verlassen.

Claims (2)

  1. Gesichertes Datenübertragungssystem mit: – einem sicheren Kanal (1324), der über wenigstens einen Datenkanal eingerichtet wird, – einem Host-Prozessor (322), der an ein Netzwerk (324) angeschlossen ist, um Benutzeranwendungen zu kommunizieren, die über andere an das Netzwerk (324) angeschlossene Prozessoren laufen, – einem mit dem Host-Prozessor verbundenen Hauptsicherheitsmodul (1320) zum Senden von verschlüsselten privaten Schlüsseln eines asymmetrischen Verschlüsselungsschemas mit privaten und öffentlichen Schlüsseln, bei dem die privaten Schlüssel unter Verwendung wenigstens eines Schlüsselverschlüsselungsschlüssels verschlüsselt worden sind, wobei das Hauptsicherheitsmodul (1320) ferner dafür ausgelegt ist, die verschlüsselten privaten Schlüssel über den Datenkanal zu senden und den Schlüsselverschlüsselungsschlüssel über den sicheren Kanal (1324) zu senden, und wobei das Hauptsicherheitsmodul (1320) ein Sicherheitsmodul (320) umfasst, das dafür ausgelegt ist, Schlüsselerzeugungsoperationen und einen zugeordneten Datenspeicher (330) zu steuern, gekennzeichnet durch – wenigstens ein mit dem Host-Prozessor verbundenes Satellitenmodul (1322) zum Empfangen des wenigstens einen Schlüsselverschlüsselungsschlüssels nach der Übertragung über den sicheren Kanal (1324), zum Empfangen der verschlüsselten privaten Schlüssel nach der Übertragung über den Datenkanal, zum Entschlüsseln der privaten Schlüssel unter Verwendung des empfangenen Schlüsselverschlüsselungsschlüssels und zum Ver- oder Entschlüsseln von Daten unter Verwendung der entschlüsselten privaten Schlüssel, wobei das Satellitensicherheitsmodul (1322) einen Kryptographiebeschleuniger (326) umfasst, der einen Schlüssel-Manager (334), Anfangs-Parser-Einheiten (initial parsing units – IPUs) (422A, 422B), Chiffriermaschinen (424A, 424B) und einen nichtflüchtigen Datenspeicher, EEPROM, (336) aufweist, und dadurch gekennzeichnet, dass – der sichere Kanal (1324) durch den Host-Prozessor (322) eingerichtet wird und dafür ausgelegt ist, dazu verwendet zu werden, das wenigstens eine Satellitensicherheitsmodul (1322) zu initialisieren und zu steuern und die sichere Übertragung des Schlüsselverschlüsselungsschlüssels und von Management-Informationen zu erleichtern.
  2. Verfahren zum Bereitstellen einer gesicherten Datenübertragung, das die Schritte umfasst: – Erhalten eines Schlüsselverschlüsselungsschlüssels, – Verschlüsseln privater Schlüssel eines asymmetrischen Verschlüsselungsschemas mit privaten und öffentlichen Schlüsseln unter Verwendung des Schlüsselverschlüsselungsschlüssels, – Senden der verschlüsselten privaten Schlüssel, – Einrichten eines sicheren Kanals (1324) durch einen Host-Prozessor (322), – Einrichten einer Kommunikation über einen Datenkanal zwischen einem mit dem Host-Prozessor verbundenen Hauptsicherheitsmodul (1320) und einem mit dem Host-Prozessor verbundenen Satellitensicherheitsmodul (1322), wobei der sichere Kanal (1324) über den Datenkanal eingerichtet wird, – Senden der verschlüsselten privaten Schlüssel über den Datenkanal, – Senden des Schlüsselverschlüsselungsschlüssels über den sicheren Kanal (1324), – Entschlüsseln der gesendeten verschlüsselten privaten Schlüssel unter Verwendung des gesendeten Schlüsselverschlüsselungsschlüssels, – Ver- oder Entschlüsseln von Daten unter Verwendung der entschlüsselten privaten Schlüssel, dadurch gekennzeichnet, dass das Verfahren ferner die Schritte umfasst: – Erzeugen wenigstens eines Session-Keys (zufällig generierten Schlüssels) unter Verwendung wenigstens eines entschlüsselten privaten Schlüssels, – Verschlüsseln des wenigstens einen Session-Keys unter Verwendung des wenigstens einen Schlüsselverschlüsselungsschlüssels, – Speichern des wenigstens einen verschlüsselten Session-Keys, und – Entschlüsseln des gespeicherten wenigstens einen verschlüsselten Session-Keys unter Verwendung des wenigstens einen Schlüsselverschlüsselungsschlüssels, um einen Session-Key zum Ver- oder Entschlüsseln eines Datenpakets bereitzustellen, wobei: – die Übertragung über den sicheren Kanal (1324) durch das Hauptsicherheitsmodul (1320) initiiert wird durch: – Erzeugen einer Nachricht und Senden derselben an den Host-Prozessor (322), – Senden eines Befehls an das Satellitensicherheitsmodul (1322) durch den Host-Prozessor (322), – anschließendes Antworten mittels einer Antwort vom Satellitensicherheitsmodul (1322), und – Zurückleiten der Antwort an das Hauptsicherheitsmodul (1320) durch den Host-Prozessor.
DE60314060T 2002-07-08 2003-07-08 Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung Expired - Lifetime DE60314060T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/191,365 US7773754B2 (en) 2002-07-08 2002-07-08 Key management system and method
US191365 2002-07-08

Publications (2)

Publication Number Publication Date
DE60314060D1 DE60314060D1 (de) 2007-07-12
DE60314060T2 true DE60314060T2 (de) 2008-01-24

Family

ID=29999985

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60314060T Expired - Lifetime DE60314060T2 (de) 2002-07-08 2003-07-08 Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung

Country Status (3)

Country Link
US (2) US7773754B2 (de)
EP (1) EP1387236B1 (de)
DE (1) DE60314060T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015224300A1 (de) * 2015-12-04 2017-06-08 Siemens Aktiengesellschaft Speicherprogrammierbarer Baustein und Verfahren zur geschützten Übertragung von Daten auf einen speicherprogrammierbaren Baustein

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG105005A1 (en) * 2002-06-12 2004-07-30 Contraves Ag Device for firearms and firearm
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
AT412932B (de) * 2002-11-22 2005-08-25 Arc Seibersdorf Res Gmbh Kommunikationssystem mit quantenkryptographie
US7289632B2 (en) * 2003-06-03 2007-10-30 Broadcom Corporation System and method for distributed security
US7562213B1 (en) * 2003-09-16 2009-07-14 Cisco Technology, Inc. Approaches for applying service policies to encrypted packets
US7681046B1 (en) 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7694151B1 (en) * 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
US20050177713A1 (en) * 2004-02-05 2005-08-11 Peter Sim Multi-protocol network encryption system
US9020854B2 (en) 2004-03-08 2015-04-28 Proxense, Llc Linked account system using personal digital key (PDK-LAS)
US7543158B2 (en) * 2004-03-23 2009-06-02 Texas Instruments Incorporated Hybrid cryptographic accelerator and method of operation thereof
US8209537B2 (en) * 2004-03-30 2012-06-26 Hewlett-Packard Development Company, L.P. Secure information distribution between nodes (network devices)
EP1759296A4 (de) * 2004-06-14 2007-06-27 Research In Motion Ltd Verfahren und system zur sicherung von daten unter verwendung einer redundanten sicheren schlüsselspeicherung
US7646873B2 (en) * 2004-07-08 2010-01-12 Magiq Technologies, Inc. Key manager for QKD networks
US7526085B1 (en) * 2004-07-13 2009-04-28 Advanced Micro Devices, Inc. Throughput and latency of inbound and outbound IPsec processing
CA2586816C (en) * 2004-11-11 2013-03-26 Certicom Corp. Secure interface for versatile key derivation function support
AU2005319019A1 (en) 2004-12-20 2006-06-29 Proxense, Llc Biometric personal data key (PDK) authentication
US8200972B2 (en) * 2005-03-16 2012-06-12 International Business Machines Corporation Encryption of security-sensitive data by re-using a connection
US20060210071A1 (en) * 2005-03-16 2006-09-21 Chandran Gayathiri R Encryption of security-sensitive data
US8291224B2 (en) 2005-03-30 2012-10-16 Wells Fargo Bank, N.A. Distributed cryptographic management for computer systems
WO2006108181A2 (en) * 2005-04-06 2006-10-12 Broadcom Corporation Secure conditional access and digital rights management in multimedia processor
US8219129B2 (en) 2006-01-06 2012-07-10 Proxense, Llc Dynamic real-time tiered client access
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
GB2434947B (en) * 2006-02-02 2011-01-26 Identum Ltd Electronic data communication system
US20070214502A1 (en) * 2006-03-08 2007-09-13 Mcalister Donald K Technique for processing data packets in a communication network
US20080019517A1 (en) * 2006-04-06 2008-01-24 Peter Munguia Control work key store for multiple data streams
US7904718B2 (en) * 2006-05-05 2011-03-08 Proxense, Llc Personal digital key differentiation for secure transactions
US7774837B2 (en) * 2006-06-14 2010-08-10 Cipheroptics, Inc. Securing network traffic by distributing policies in a hierarchy over secure tunnels
WO2007149977A2 (en) * 2006-06-21 2007-12-27 Rf Code, Inc. Location-based security, privacy, access control and monitoring system
US20080222693A1 (en) * 2006-08-08 2008-09-11 Cipheroptics, Inc. Multiple security groups with common keys on distributed networks
US8082574B2 (en) * 2006-08-11 2011-12-20 Certes Networks, Inc. Enforcing security groups in network of data processors
US9241066B2 (en) * 2006-08-22 2016-01-19 Cisco Technology, Inc. Secure call analysis and screening of a secure connection
US8543808B2 (en) * 2006-08-24 2013-09-24 Microsoft Corporation Trusted intermediary for network data processing
US20080072281A1 (en) * 2006-09-14 2008-03-20 Willis Ronald B Enterprise data protection management for providing secure communication in a network
US20080072033A1 (en) * 2006-09-19 2008-03-20 Mcalister Donald Re-encrypting policy enforcement point
US8379638B2 (en) * 2006-09-25 2013-02-19 Certes Networks, Inc. Security encapsulation of ethernet frames
US8284943B2 (en) * 2006-09-27 2012-10-09 Certes Networks, Inc. IP encryption over resilient BGP/MPLS IP VPN
US8607301B2 (en) * 2006-09-27 2013-12-10 Certes Networks, Inc. Deploying group VPNS and security groups over an end-to-end enterprise network
US8127135B2 (en) * 2006-09-28 2012-02-28 Hewlett-Packard Development Company, L.P. Changing of shared encryption key
US8046820B2 (en) * 2006-09-29 2011-10-25 Certes Networks, Inc. Transporting keys between security protocols
US8104082B2 (en) * 2006-09-29 2012-01-24 Certes Networks, Inc. Virtual security interface
US9269221B2 (en) 2006-11-13 2016-02-23 John J. Gobbi Configuration of interfaces for a location detection system and application
US8341417B1 (en) * 2006-12-12 2012-12-25 Cisco Technology, Inc. Data storage using encoded hash message authentication code
US20080162922A1 (en) * 2006-12-27 2008-07-03 Swartz Troy A Fragmenting security encapsulated ethernet frames
US20090323971A1 (en) * 2006-12-28 2009-12-31 Munguia Peter R Protecting independent vendor encryption keys with a common primary encryption key
US8364975B2 (en) * 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
US8059819B2 (en) * 2007-01-17 2011-11-15 Panasonic Electric Works Co., Ltd. Systems and methods for distributing updates for a key at a maximum rekey rate
US7864762B2 (en) * 2007-02-14 2011-01-04 Cipheroptics, Inc. Ethernet encryption over resilient virtual private LAN services
US8312292B2 (en) * 2007-07-31 2012-11-13 Viasat, Inc. Input output access controller
US7970381B2 (en) * 2007-08-13 2011-06-28 General Motors Llc Method of authenticating a short message service (sms) message
JP5112812B2 (ja) * 2007-10-19 2013-01-09 パナソニック株式会社 遠隔医療システム
US8659427B2 (en) 2007-11-09 2014-02-25 Proxense, Llc Proximity-sensor supporting multiple application services
KR101421241B1 (ko) * 2007-11-16 2014-07-18 삼성전자주식회사 네트워크에서의 보안 시스템 및 방법
US8171528B1 (en) 2007-12-06 2012-05-01 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
WO2009079666A1 (en) 2007-12-19 2009-06-25 Proxense, Llc Security system and method for controlling access to computing resources
US8508336B2 (en) 2008-02-14 2013-08-13 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
US9071589B1 (en) * 2008-04-02 2015-06-30 Cisco Technology, Inc. Encryption key management for storage area network devices
US11120449B2 (en) 2008-04-08 2021-09-14 Proxense, Llc Automated service-based order processing
US7522723B1 (en) 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
US8281134B2 (en) * 2009-01-29 2012-10-02 Symbol Technologies, Inc. Methods and apparatus for layer 2 and layer 3 security between wireless termination points
US8437472B2 (en) * 2009-02-27 2013-05-07 Red Hat, Inc. Strengthened key schedule for arcfour
US20100228962A1 (en) * 2009-03-09 2010-09-09 Microsoft Corporation Offloading cryptographic protection processing
US8411867B2 (en) * 2009-04-06 2013-04-02 Broadcom Corporation Scalable and secure key management for cryptographic data processing
US8719593B2 (en) * 2009-05-20 2014-05-06 Harris Corporation Secure processing device with keystream cache and related methods
US8509448B2 (en) * 2009-07-29 2013-08-13 Motorola Solutions, Inc. Methods and device for secure transfer of symmetric encryption keys
US8498418B2 (en) * 2009-08-31 2013-07-30 International Business Machines Corporation Conversion of cryptographic key protection
US8412938B2 (en) * 2009-08-31 2013-04-02 Apple Inc. Zero-knowledge based authentication method, system, and apparatus
DE102009052456A1 (de) * 2009-11-09 2011-05-19 Siemens Aktiengesellschaft Verfahren und System zur beschleunigten Entschlüsselung von kryptographisch geschützten Nutzdateneinheiten
US8972745B2 (en) * 2009-12-15 2015-03-03 International Business Machines Corporation Secure data handling in a computer system
US8930713B2 (en) 2010-03-10 2015-01-06 Dell Products L.P. System and method for general purpose encryption of data
US8856550B2 (en) * 2010-03-10 2014-10-07 Dell Products L.P. System and method for pre-operating system encryption and decryption of data
US8312296B2 (en) 2010-03-10 2012-11-13 Dell Products L.P. System and method for recovering from an interrupted encryption and decryption operation performed on a volume
US9135471B2 (en) * 2010-03-10 2015-09-15 Dell Products L.P. System and method for encryption and decryption of data
US9418205B2 (en) 2010-03-15 2016-08-16 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US9141831B2 (en) 2010-07-08 2015-09-22 Texas Instruments Incorporated Scheduler, security context cache, packet processor, and authentication, encryption modules
US8918854B1 (en) 2010-07-15 2014-12-23 Proxense, Llc Proximity-based system for automatic application initialization
WO2012022992A2 (en) * 2010-08-16 2012-02-23 Kovacs Zoltan Encryption system for protecting phone calls
US20120069995A1 (en) * 2010-09-22 2012-03-22 Seagate Technology Llc Controller chip with zeroizable root key
US8630418B2 (en) * 2011-01-05 2014-01-14 International Business Machines Corporation Secure management of keys in a key repository
US8857716B1 (en) 2011-02-21 2014-10-14 Proxense, Llc Implementation of a proximity-based system for object tracking and automatic application initialization
US8843737B2 (en) * 2011-07-24 2014-09-23 Telefonaktiebolaget L M Ericsson (Publ) Enhanced approach for transmission control protocol authentication option (TCP-AO) with key management protocols (KMPS)
CN102315933B (zh) * 2011-10-18 2014-02-05 飞天诚信科技股份有限公司 一种更新密钥的方法及系统
EP2798777B1 (de) * 2011-12-27 2018-03-28 Intel Corporation Verfahren und system für verteilte offline-anmeldung mittels einmalig benutzbarer passwörter
CN103209202B (zh) * 2012-01-16 2016-03-02 联想(北京)有限公司 用于传输数据的方法和设备
US9390291B2 (en) * 2012-12-29 2016-07-12 Intel Corporation Secure key derivation and cryptography logic for integrated circuits
US8938072B2 (en) * 2013-01-25 2015-01-20 Freescale Semiconductor, Inc. Cryptographic key derivation device and method therefor
US9798899B1 (en) 2013-03-29 2017-10-24 Secturion Systems, Inc. Replaceable or removable physical interface input/output module
US9374344B1 (en) * 2013-03-29 2016-06-21 Secturion Systems, Inc. Secure end-to-end communication system
US9317718B1 (en) 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US9355279B1 (en) 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9524399B1 (en) 2013-04-01 2016-12-20 Secturion Systems, Inc. Multi-level independent security architecture
US9405898B2 (en) 2013-05-10 2016-08-02 Proxense, Llc Secure element as a digital pocket
US9948614B1 (en) * 2013-05-23 2018-04-17 Rockwell Collins, Inc. Remote device initialization using asymmetric cryptography
US9571274B2 (en) * 2013-06-27 2017-02-14 Infosec Global Inc. Key agreement protocol
US10433911B2 (en) * 2013-09-18 2019-10-08 iMIRGE Medical INC. Optical targeting and visualization of trajectories
US10291399B2 (en) * 2013-09-30 2019-05-14 Traid National Security, LLC Quantum-secured communications overlay for optical fiber communications networks
US9954848B1 (en) 2014-04-04 2018-04-24 Wells Fargo Bank, N.A. Central cryptographic management for computer systems
US9735967B2 (en) * 2014-04-30 2017-08-15 International Business Machines Corporation Self-validating request message structure and operation
US9438421B1 (en) * 2014-06-27 2016-09-06 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US9729319B2 (en) * 2014-12-15 2017-08-08 Nxp Usa, Inc. Key management for on-the-fly hardware decryption within integrated circuits
CN108604983B (zh) * 2015-02-14 2021-06-15 瓦利梅尔公司 通过域名服务对私钥的安全的委托分发的介质和方法
US9847980B2 (en) * 2015-06-17 2017-12-19 Microsoft Technology Licensing, Llc Protecting communications with hardware accelerators for increased workflow security
WO2016209939A1 (en) * 2015-06-22 2016-12-29 Cyphre, Llc Accelerated encryption and decryption of files with shared secret and method therefor
US9794064B2 (en) 2015-09-17 2017-10-17 Secturion Systems, Inc. Client(s) to cloud or remote server secure data or file object encryption gateway
US11283774B2 (en) 2015-09-17 2022-03-22 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
US10708236B2 (en) 2015-10-26 2020-07-07 Secturion Systems, Inc. Multi-independent level secure (MILS) storage encryption
EP3378235A4 (de) 2015-11-20 2019-05-01 Genetec Inc. Medienstreaming
JP6921075B2 (ja) 2015-11-20 2021-08-18 ジェネテック インコーポレイテッド データストリームの安全な階層暗号
AT518297B1 (de) * 2016-03-04 2019-07-15 Joachim Kalcher Dr Verfahren zum Austausch von verschlüsselten Nachrichten
US10846668B1 (en) 2016-04-12 2020-11-24 Wells Fargo Bank, N.A. Systems and methods for completing transactions via curbside service
US10615970B1 (en) 2017-02-10 2020-04-07 Wells Fargo Bank, N.A. Secure key exchange electronic transactions
US10615969B1 (en) 2017-02-10 2020-04-07 Wells Fargo Bank, N.A. Database encryption key management
US11316666B2 (en) * 2017-07-12 2022-04-26 Amazon Technologies, Inc. Generating ephemeral key pools for sending and receiving secure communications
US11082412B2 (en) 2017-07-12 2021-08-03 Wickr Inc. Sending secure communications using a local ephemeral key pool
CN107835071B (zh) * 2017-11-03 2020-02-21 中国人民解放军国防科技大学 一种提高键入-散列法运算速度的方法和装置
US10819515B1 (en) * 2018-03-09 2020-10-27 Wells Fargo Bank, N.A. Derived unique recovery keys per session
US11423161B1 (en) 2018-05-26 2022-08-23 Genetec Inc. System and media recording device with secured encryption
US11025413B2 (en) 2018-09-04 2021-06-01 International Business Machines Corporation Securing a storage network using key server authentication
US11038671B2 (en) 2018-09-04 2021-06-15 International Business Machines Corporation Shared key processing by a storage device to secure links
US11038698B2 (en) 2018-09-04 2021-06-15 International Business Machines Corporation Securing a path at a selected node
US11088829B2 (en) 2018-09-04 2021-08-10 International Business Machines Corporation Securing a path at a node
EP3695587B1 (de) * 2019-01-04 2022-05-04 Baidu.com Times Technology (Beijing) Co., Ltd. Bereitstellung sicherer kommunikationen zwischen einem host-system und einem datenverarbeitungsbeschleuniger
WO2020140257A1 (en) 2019-01-04 2020-07-09 Baidu.Com Times Technology (Beijing) Co., Ltd. Method and system for validating kernel objects to be executed by a data processing accelerator of a host system
WO2020140258A1 (en) 2019-01-04 2020-07-09 Baidu.Com Times Technology (Beijing) Co., Ltd. An attestation protocol between a host system and a data processing accelerator
WO2020140267A1 (en) 2019-01-04 2020-07-09 Baidu.Com Times Technology (Beijing) Co., Ltd. A data processing accelerator having a local time unit to generate timestamps
WO2020140269A1 (en) 2019-01-04 2020-07-09 Baidu.Com Times Technology (Beijing) Co., Ltd. Method and system for managing memory of data processing accelerators
US11374734B2 (en) * 2019-01-04 2022-06-28 Baidu Usa Llc Method and system for key distribution and exchange for data processing accelerators
EP3794444A4 (de) 2019-01-04 2022-01-12 Baidu.com Times Technology (Beijing) Co., Ltd. Verfahren und system zum schutz von durch datenverarbeitungsbeschleuniger verarbeiteten daten
CN112334902A (zh) * 2019-01-04 2021-02-05 百度时代网络技术(北京)有限公司 建立主机系统与数据处理加速器之间的安全信息交换信道的方法
EP3811557A4 (de) * 2019-01-04 2022-04-13 Baidu.com Times Technology (Beijing) Co., Ltd. Verfahren und system zur ableitung eines sitzungsschlüssels zur sicherung eines informationsaustauschkanals zwischen einem host-system und einem datenverarbeitungsbeschleuniger
WO2020140265A1 (en) 2019-01-04 2020-07-09 Baidu.Com Times Technology (Beijing) Co., Ltd. Data processing accelerator having security unit to provide root trust services
US11347870B2 (en) * 2019-03-29 2022-05-31 Intel Corporation Technologies for securely providing remote accelerators hosted on the edge to client compute devices
TWI705687B (zh) * 2019-09-09 2020-09-21 新唐科技股份有限公司 用於資料加解密的金鑰管理裝置及處理器晶片
EP3813291A1 (de) * 2019-10-25 2021-04-28 Siemens Aktiengesellschaft Vorrichtung und verfahren zum bereitstellen eines sitzungsschlüssels
US11489821B2 (en) 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11546137B2 (en) * 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11405215B2 (en) 2020-02-26 2022-08-02 International Business Machines Corporation Generation of a secure key exchange authentication response in a computing environment
US11652616B2 (en) * 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
KR20220052007A (ko) 2020-10-20 2022-04-27 삼성전자주식회사 전자 장치 및 그 제어 방법
FR3118504A1 (fr) * 2020-12-28 2022-07-01 Stmicroelectronics (Rousset) Sas Système électronique comprenant plusieurs microprocesseurs
US20220263866A1 (en) * 2021-02-12 2022-08-18 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing a network system under test communicating over a secure channel
TWI819516B (zh) * 2022-03-09 2023-10-21 瑞昱半導體股份有限公司 基於消息驗證的金鑰擴展的處理方法與電路

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4238854A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic file security for single domain networks
US5228084A (en) * 1991-02-28 1993-07-13 Gilbarco, Inc. Security apparatus and system for retail environments
US5457748A (en) * 1992-11-30 1995-10-10 Motorola, Inc. Method and apparatus for improved security within encrypted communication devices
US5809144A (en) * 1995-08-24 1998-09-15 Carnegie Mellon University Method and apparatus for purchasing and delivering digital goods over a network
US7801817B2 (en) * 1995-10-27 2010-09-21 Makoto Saito Digital content management system and apparatus
US5949881A (en) * 1995-12-04 1999-09-07 Intel Corporation Apparatus and method for cryptographic companion imprinting
JP2812312B2 (ja) * 1996-01-12 1998-10-22 三菱電機株式会社 暗号化システム
EP0856968A3 (de) * 1997-01-24 2000-12-06 Nec Corporation Vorrichtung zur Verarbeitung eines kryptographischen Schlüssels zur Aufnahme in einer Datenrückgewinnungseinrichtung oder einer Schlüsseleinstellungseinrichtung zur Erzeugung eines kryptographischen Schlüssels
US6101605A (en) * 1997-05-15 2000-08-08 Vlsi Technology, Inc. Method and apparatus for performing a secure operation
US6125185A (en) * 1997-05-27 2000-09-26 Cybercash, Inc. System and method for encryption key generation
US6003117A (en) * 1997-10-08 1999-12-14 Vlsi Technology, Inc. Secure memory management unit which utilizes a system processor to perform page swapping
US6246771B1 (en) * 1997-11-26 2001-06-12 V-One Corporation Session key recovery system and method
JP4273535B2 (ja) * 1998-05-12 2009-06-03 ソニー株式会社 データ伝送制御方法、データ伝送システム、データ受信装置及びデータ送信装置
JP4427693B2 (ja) * 1998-10-02 2010-03-10 ソニー株式会社 データ処理装置および方法、並びにデータ復号処理装置および方法
US6442690B1 (en) * 1998-10-23 2002-08-27 L3-Communications Corporation Apparatus and methods for managing key material in heterogeneous cryptographic assets
US6260132B1 (en) * 1999-02-01 2001-07-10 Vlsi Technology, Inc. Method and apparatus for secure address re-mapping
US7904951B1 (en) * 1999-03-16 2011-03-08 Novell, Inc. Techniques for securely accelerating external domains locally
JP2001053699A (ja) * 1999-08-11 2001-02-23 Hitachi Ltd デジタル放送システム、移動体端末および情報サービスステーション
WO2001029652A2 (en) * 1999-10-20 2001-04-26 Accelerated Encryption Processing Limited A cryptographic accelerator
US7079655B1 (en) * 1999-10-25 2006-07-18 Kabushiki Kaisha Toshiba Encryption algorithm management system
US6795555B1 (en) * 1999-12-30 2004-09-21 Nortel Networks Limited Encryption key exchange protocol
US6983366B1 (en) * 2000-02-14 2006-01-03 Safenet, Inc. Packet Processor
US6912285B2 (en) 2000-02-24 2005-06-28 Tumbleweed Communications Corp. Mechanism for efficient private bulk messaging
US7231517B1 (en) * 2000-03-03 2007-06-12 Novell, Inc. Apparatus and method for automatically authenticating a network client
US20010044905A1 (en) * 2000-05-15 2001-11-22 Recyfer, Inc. System and method for secure data communications
US7404084B2 (en) * 2000-06-16 2008-07-22 Entriq Inc. Method and system to digitally sign and deliver content in a geographically controlled manner via a network
US7051209B1 (en) * 2000-06-29 2006-05-23 Intel Corporation System and method for creation and use of strong passwords
JP2002024046A (ja) * 2000-07-11 2002-01-25 Mitsubishi Electric Corp マイクロコンピュータ及びそのメモリ内容変更システム並びにメモリ内容変更方法
JP4503794B2 (ja) * 2000-07-19 2010-07-14 株式会社日立製作所 コンテンツ提供方法及び装置
AU2002214676A1 (en) 2000-10-31 2002-05-15 Loudcloud, Inc. Method and apparatus for cryptographic acceleration in server firmware
US7711122B2 (en) * 2001-03-09 2010-05-04 Arcot Systems, Inc. Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
FI114180B (fi) * 2001-06-12 2004-08-31 Nokia Corp Parannettu menetelmä ja laitejärjestely tietojen siirron salaamiseksi radioverkon päätelaitteen sisältämässä rajapinnassa sekä radioverkon päätelaite
US7418344B2 (en) * 2001-08-02 2008-08-26 Sandisk Corporation Removable computer with mass storage
JP2003101570A (ja) * 2001-09-21 2003-04-04 Sony Corp 通信処理システム、通信処理方法、およびサーバー装置、並びにコンピュータ・プログラム
CA2358980A1 (en) * 2001-10-12 2003-04-12 Karthika Technologies Inc. Distributed security architecture for storage area networks (san)
US7334125B1 (en) * 2001-11-27 2008-02-19 Cisco Technology, Inc. Facilitating secure communications among multicast nodes in a telecommunications network
US7370194B2 (en) * 2002-06-10 2008-05-06 Microsoft Corporation Security gateway for online console-based gaming
US7773754B2 (en) 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
US7469338B2 (en) * 2002-07-29 2008-12-23 Broadcom Corporation System and method for cryptographic control of system configurations
US7392399B2 (en) * 2003-05-05 2008-06-24 Sun Microsystems, Inc. Methods and systems for efficiently integrating a cryptographic co-processor
US7243842B1 (en) * 2004-07-27 2007-07-17 Stamps.Com Inc. Computer-based value-bearing item customization security
KR100670010B1 (ko) * 2005-02-03 2007-01-19 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015224300A1 (de) * 2015-12-04 2017-06-08 Siemens Aktiengesellschaft Speicherprogrammierbarer Baustein und Verfahren zur geschützten Übertragung von Daten auf einen speicherprogrammierbaren Baustein

Also Published As

Publication number Publication date
US20040005061A1 (en) 2004-01-08
US20100290624A1 (en) 2010-11-18
US8340299B2 (en) 2012-12-25
EP1387236A1 (de) 2004-02-04
DE60314060D1 (de) 2007-07-12
US7773754B2 (en) 2010-08-10
EP1387236B1 (de) 2007-05-30

Similar Documents

Publication Publication Date Title
DE60314060T2 (de) Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung
DE60314402T2 (de) System und methode zum speichern sowie abrufen kryptographischer geheimnisse von unterschiedlichen kundenendgeräten in einem netzwerk
DE102009061045B4 (de) Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
DE112005001672B4 (de) Verfahren zum Liefern eines geheimen Direktnachweisschlüssels an Vorrichtungen unter Verwendung eines Onlinedienstes
DE102018216915A1 (de) System und Verfahren für sichere Kommunikationen zwischen Steuereinrichtungen in einem Fahrzeugnetzwerk
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
EP0903026B1 (de) Verfahren zur Aushandlung einer Sicherheitspolitik zwischen einer ersten Computereinheit und einer zweiten Computereinheit
DE19827659B4 (de) System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff
DE69433771T2 (de) Verfahren und Vorrichtung zur Geheimhaltung und Authentifizierung in einem mobilen drahtlosen Netz
DE60302276T2 (de) Verfahren zur ferngesteuerten Änderung eines Kommunikationspasswortes
EP1777907B1 (de) Vorrichtungen und Verfahren zum Durchführen von kryptographischen Operationen in einem Server-Client-Rechnernetzwerksystem
CH709936A2 (de) System und Verfahren für das kryptographische Suite-Management.
DE10392528T5 (de) Microcode-Patch-Authentifizierung
DE112005001666T5 (de) Verfahren zum Bereitstellen von privaten Direktbeweis-Schlüsseln in signierten Gruppen für Vorrichtungen mit Hilfe einer Verteilungs-CD
DE112006001151T5 (de) Computersicherheitssystem und -Verfahren
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
DE60203277T2 (de) Verfahren und system zur authentifizierung eines personal security device gegenüber mindestens einem fernrechnersystem
DE102010027586A1 (de) Verfahren zum kryptographischen Schutz einer Applikation
DE112015002927T5 (de) Generierung und Verwaltung geheimer Chiffrierschlüssel auf Kennwortgrundlage
EP3854022A1 (de) Verfahren und vorrichtung zum übertragen von daten in einem publish-subscribe-system
AT504634B1 (de) Verfahren zum transferieren von verschlüsselten nachrichten
EP3648430B1 (de) Hardware-sicherheitsmodul
DE102021130643A1 (de) Verbessertes umhüllen von schlüsselblöcken
DE10216396A1 (de) Verfahren zur Authentisierung
DE102004001490A1 (de) Verfahren zur Authentifizierung einer Nachricht

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M