DE202018101136U1 - Token-translated hardware security modules - Google Patents

Token-translated hardware security modules Download PDF

Info

Publication number
DE202018101136U1
DE202018101136U1 DE202018101136.7U DE202018101136U DE202018101136U1 DE 202018101136 U1 DE202018101136 U1 DE 202018101136U1 DE 202018101136 U DE202018101136 U DE 202018101136U DE 202018101136 U1 DE202018101136 U1 DE 202018101136U1
Authority
DE
Germany
Prior art keywords
request
hsm
cryptographic
authorization token
cryptographic operation
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.)
Active
Application number
DE202018101136.7U
Other languages
German (de)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to DE202018101136.7U priority Critical patent/DE202018101136U1/en
Publication of DE202018101136U1 publication Critical patent/DE202018101136U1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

Ein oder mehrere nichttransitorische computerlesbare Speichermedien, die Anweisungen umfassen, die, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, die eine oder die mehreren Computervorrichtungen veranlassen, Operationen auszuführen, die umfassen:Empfangen an einem Hardware-Sicherheitsmodul (HSM) (200) einer Anforderung (250) einer kryptographischen Operation, die einen kryptographischen Schlüssel (120) und wenigstens ein Autorisierungs-Token (220) umfasst;Bestimmen durch das HSM (200), ob eine Zugriffssteuerliste (ACL) (214), die dem kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) zu steuern; undValidieren durch das HSM (200) des wenigstens einen Autorisierungs-Tokens (220); und,wenn das wenigstens eine Autorisierungs-Token (220) gültig ist und die ACL (214) autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zu steuern, Verarbeiten der Anforderung (250) einer kryptographischen Operation durch das HSM (200).One or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more computing devices, cause the one or more computer devices to perform operations that include: receiving at a hardware security module (HSM) (200) Requesting (250) a cryptographic operation comprising a cryptographic key (120) and at least one authorization token (220); determining, by the HSM (200), whether an access control list (ACL) (214) associated with the cryptographic key (120 ) associated with the request (250) for a cryptographic operation, is authorized to control access to the cryptographic key (120); and validating by the HSM (200) the at least one authorization token (220); and if the at least one authorization token (220) is valid and the ACL (214) is authorized to control access to the cryptographic key (120) of the request (250) of a cryptographic operation, processing the request (250) cryptographic operation by the HSM (200).

Description

TECHNISCHES GEBIETTECHNICAL AREA

Diese Offenbarung bezieht sich auf Hardware-Sicherheitsmodule.This disclosure relates to hardware security modules.

HINTERGRUNDBACKGROUND

Daten können für die sichere Speicherung in einem computerlesbaren/-beschreibbaren Medium verschlüsselt werden und dann, wenn für die Verwendung auf sie zugegriffen wird, entschlüsselt werden. Für eine relativ schnelle Verwendung können die tatsächliche Verschlüsselung und Entschlüsselung durch ein kryptographisches Computerprogramm ausgeführt werden, das in einem Universalcomputer gespeichert ist. Das kryptographische Computerprogramm muss auf einen oder mehrere kryptographische Schlüssel zugreifen, um die Daten zu verschlüsseln und zu entschlüsseln. Die Speicherung der kryptographischen Schlüssel in einer Datei in einem Dateisystem oder im Speicher des Universalcomputers kann relativ unsicher sein. Stattdessen kann ein Hardware-Sicherheitsmodul (HSM), das eine Hardware-Vorrichtung innerhalb des Universalcomputers sein kann oder eine mit dem Universalcomputer verbundene Hardware-Vorrichtung sein kann, die kryptographischen Schlüssel erzeugen und/oder speichern. Das Hardware-Sicherheitsmodul kann mit der gleichen Geschwindigkeit wie der Computer arbeiten und seine Inhalte schützen und den Inhalt in einer nicht verschlüsselten Form niemals dem Host-Computer enthüllen. Überdies kann der Host-Computer nicht auf den Speicher des Hardware-Sicherheitsmoduls zugreifen oder irgendetwas des Speichers des Hardware-Sicherheitsmoduls adressieren.Data may be encrypted for secure storage in a computer readable / writable medium and then decrypted when accessed for use. For relatively quick use, the actual encryption and decryption may be performed by a cryptographic computer program stored in a general-purpose computer. The cryptographic computer program must access one or more cryptographic keys to encrypt and decrypt the data. The storage of the cryptographic keys in a file in a file system or in the memory of the general-purpose computer can be relatively uncertain. Instead, a hardware security module (HSM), which may be a hardware device within the general-purpose computer or may be a hardware device connected to the general purpose computer, may generate and / or store the cryptographic keys. The hardware security module can operate at the same speed as the computer and protect its contents and never reveal the content in an unencrypted form to the host computer. Moreover, the host computer can not access the memory of the hardware security module or address any of the memory of the hardware security module.

ZUSAMMENFASSUNGSUMMARY

In Übereinstimmung mit den Anforderungen des Gebrauchsmustergesetzes sind nur Vorrichtungen, wie sie in den beigefügten Ansprüchen definiert sind, aber keine Verfahren durch das Gebrauchsmuster zu schützen und der Gegenstand des Gebrauchsmusters. Falls in der Beschreibung auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich dazu, die Vorrichtung oder die Vorrichtungen, für die mit den beigefügten Ansprüchen Schutz gesucht wird, zu veranschaulichen. Ein Aspekt der Offenbarung schafft ein Verfahren zum Verarbeiten einer Anforderung einer kryptographischen Operation. Das Verfahren enthält das Empfangen an einem Hardware-Sicherheitsmodul (HSM) einer Anforderung einer kryptographischen Operation, die einen kryptographischen Schlüssel und wenigstens ein Autorisierungs-Token umfasst, das Bestimmen durch das HSM, ob eine Zugriffssteuerliste (ACL), die dem kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel zu steuern, und das Validieren durch das HSM des wenigstens einen Autorisierungs-Tokens. Wenn das wenigstens eine Autorisierungs-Token gültig ist und die ACL autorisiert ist, den Zugriff auf den kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zu steuern, enthält das Verfahren das Verarbeiten der Anforderung einer kryptographischen Operation durch das HSM.In accordance with the requirements of the Utility Model Law, only devices as defined in the appended claims are to be protected by the utility model and are not the subject of the utility model. If reference is made in the description to methods, these references are merely illustrative of the device or devices sought for protection with the appended claims. One aspect of the disclosure provides a method for processing a request for a cryptographic operation. The method includes receiving at a hardware security module (HSM) a request for a cryptographic operation comprising a cryptographic key and at least one authorization token, determining by the HSM whether an access control list (ACL) corresponds to the cryptographic key of the request associated with a cryptographic operation, is authorized to control access to the cryptographic key, and validated by the HSM of the at least one authorization token. If the at least one authorization token is valid and the ACL is authorized to control access to the cryptographic key of the request for a cryptographic operation, the method includes processing the request for a cryptographic operation by the HSM.

Die Implementierungen der Offenbarung können eines oder mehrere der folgenden optionalen Merkmale enthalten. In einigen Implementierungen ist das wenigstens eine Autorisierungs-Token gültig, wenn wenigstens eines des Folgenden gilt: das wenigstens eine Autorisierungs-Token ist durch einen Autorisiererschlüssel signiert; das HSM hat das wenigstens eine Autorisierungs-Token innerhalb eines durch das wenigstens eine Autorisierungs-Token definierten Autorisierungszeitraums empfangen; oder das HSM hat das wenigstens eine Autorisierungs-Token weniger oft als eine durch das wenigstens eine Autorisierungs-Token definierte Grenzanzahl empfangen. Wenn der kryptographische Schlüssel der Anforderung einer kryptographischen Operation mit dem entsprechenden kryptographischen Schlüssel der ACL übereinstimmt, kann das Verfahren das Bestimmen durch das HSM enthalten, ob eine durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist. Wenn die durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist, kann das Verfahren das Verarbeiten der Anforderung einer kryptographischen Operation enthalten.The implementations of the disclosure may include one or more of the following optional features. In some implementations, the at least one authorization token is valid if at least one of the following applies: the at least one authorization token is signed by an authorizer key; the HSM has received the at least one authorization token within an authorization period defined by the at least one authorization token; or the HSM has received the at least one authorization token less often than a limit number defined by the at least one authorization token. If the cryptographic key of the request for a cryptographic operation matches the corresponding cryptographic key of the ACL, the method may include determining by the HSM whether a cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL. If the cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL, the method may include processing the request for a cryptographic operation.

In einigen Beispielen enthält das Verfahren das Empfangen einer Herausforderungsanforderung von einem Eigentümer des kryptographischen Schlüssels an dem HSM und das Ausgeben eines entsprechenden Autorisierungs-Tokens von dem HSM an den Eigentümer des kryptographischen Schlüssels. Das entsprechende Autorisierungs-Token kann Daten, die das HSM identifizieren, und eine kryptographische Signatur des HSM enthalten. Das entsprechende Autorisierungs-Token kann außerdem einen Autorisierungszeitraum und/oder eine Grenzanzahl, die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens begrenzt, definieren. Der kryptographische Schlüssel der Anforderung einer kryptographischen Operation kann eingewickelt sein.In some examples, the method includes receiving a challenge request from an owner of the cryptographic key at the HSM and issuing a corresponding authorization token from the HSM to the owner of the cryptographic key. The corresponding authorization token may include data identifying the HSM and a cryptographic signature of the HSM. The corresponding authorization token may also define an authorization period and / or a limit number that limits a number of uses of the corresponding authorization token. The cryptographic key of the request for a cryptographic operation may be wrapped.

Ein weiterer Aspekt der Offenbarung schafft ein HSM, das Datenverarbeitungs-Hardware und Speicher-Hardware, die mit der Datenverarbeitungs-Hardware in Verbindung steht, enthält. Die Speicher-Hardware speichert Anweisungen, die, wenn sie in der Datenverarbeitungs-Hardware ausgeführt werden, die Datenverarbeitungs-Hardware veranlassen, Operationen auszuführen. Die Operationen enthalten das Empfangen einer Anforderung einer kryptographischen Operation, die einen kryptographischen Schlüssel und wenigstens ein Autorisierungs-Token umfasst, das Bestimmen, ob eine Zugriffssteuerliste (ACL), die dem kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel zu steuern, und das Validieren des wenigstens einen Autorisierungs-Tokens. Wenn das wenigstens eine Autorisierungs-Token gültig ist und die ACL autorisiert ist, den Zugriff auf den kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zu steuern, enthalten die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation.Another aspect of the disclosure provides an HSM that includes data processing hardware and memory hardware associated with the computing hardware. The memory Hardware stores instructions that, when executed in the computing hardware, cause the computing hardware to perform operations. The operations include receiving a request for a cryptographic operation comprising a cryptographic key and at least one authorization token, determining whether an access control list (ACL) associated with the cryptographic key of the request for a cryptographic operation is authorized access to control the cryptographic key, and to validate the at least one authorization token. If the at least one authorization token is valid and the ACL is authorized to control access to the cryptographic key of the request for a cryptographic operation, the operations include processing the request for a cryptographic operation.

Dieser Aspekt kann ein oder mehrere der folgenden optionalen Merkmale enthalten. In einigen Implementierungen ist das wenigstens eine Autorisierungs-Token gültig, wenn wenigstens eines des Folgenden gilt: das wenigstens eine Autorisierungs-Token ist durch einen Autorisiererschlüssel signiert; die Datenverarbeitungs-Hardware hat das wenigstens eine Autorisierungs-Token innerhalb eines durch das wenigstens eine Autorisierungs-Token definierten Autorisierungszeitraums empfangen; oder die Datenverarbeitungs-Hardware hat das wenigstens eine Autorisierungs-Token weniger oft als eine durch das wenigstens eine Autorisierungs-Token definierte Grenzanzahl empfangen. Wenn der kryptographische Schlüssel der Anforderung einer kryptographischen Operation mit dem entsprechenden kryptographischen Schlüssel der ACL übereinstimmt, können die Operationen das Bestimmen enthalten, ob eine durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist. Wenn die durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist, können die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation enthalten. Die Operationen können ferner das Empfangen einer Herausforderungsanforderung von einem Eigentümer des kryptographischen Schlüssels und das Ausgeben eines entsprechenden Autorisierungs-Tokens an den Eigentümer des kryptographischen Schlüssels enthalten.This aspect may include one or more of the following optional features. In some implementations, the at least one authorization token is valid if at least one of the following applies: the at least one authorization token is signed by an authorizer key; the data processing hardware has received the at least one authorization token within an authorization period defined by the at least one authorization token; or the data processing hardware has received the at least one authorization token less often than a limit number defined by the at least one authorization token. If the cryptographic key of the request for a cryptographic operation matches the corresponding cryptographic key of the ACL, the operations may include determining whether a cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL. If the cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL, the operations may include processing the request for a cryptographic operation. The operations may further include receiving a challenge request from an owner of the cryptographic key and issuing a corresponding authorization token to the owner of the cryptographic key.

In einigen Beispielen enthält das entsprechende Autorisierungs-Token Daten, die das HSM identifizieren, und eine kryptographische Signatur des HSM. Das entsprechende Autorisierungs-Token kann einen Autorisierungszeitraum und/oder eine Grenzanzahl, die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens begrenzt, definieren. Der kryptographische Schlüssel der Anforderung einer kryptographischen Operation kann eingewickelt sein.In some examples, the corresponding authorization token includes data identifying the HSM and a cryptographic signature of the HSM. The corresponding authorization token may define an authorization period and / or a limit number that limits a number of uses of the corresponding authorization token. The cryptographic key of the request for a cryptographic operation may be wrapped.

Ein noch weiterer Aspekt der Offenbarung schafft ein zweites Verfahren zum Verarbeiten einer Anforderung einer kryptographischen Operation. Das Verfahren enthält das Empfangen an einem verteilten System einer Anforderung einer kryptographischen Operation von einem Anwender. Die Anforderung einer kryptographischen Operation enthält einen kryptographischen Schlüssel und wenigstens ein Autorisierungs-Token. Das Verfahren enthält außerdem das Senden durch das verteilte System der Operationsanforderung an ein HSM, das konfiguriert ist, um Operationen auszuführen. Die Operationen enthalten das Bestimmen, ob eine Zugriffssteuerliste (ACL), die dem kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel zu steuern, und das Validieren des wenigstens einen Autorisierungs-Tokens. Wenn das wenigstens eine Autorisierungs-Token gültig ist und die ACL autorisiert ist, den Zugriff auf den kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zu steuern, enthalten die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation. Das Verfahren enthält ferner das Empfangen einer Antwort von dem HSM an dem verteilten System, wobei, wenn das HSM die Anforderung einer kryptographischen Operation verarbeitet, die Antwort ein Ergebnis der kryptographischen Operation enthält. Das Verfahren enthält außerdem das Senden der Antwort von dem verteilten System an den Anwender.Yet another aspect of the disclosure provides a second method of processing a request for a cryptographic operation. The method includes receiving at a distributed system a request for a cryptographic operation from a user. The request for a cryptographic operation includes a cryptographic key and at least one authorization token. The method also includes sending by the distributed system the operation request to an HSM configured to perform operations. The operations include determining whether an access control list (ACL) associated with the cryptographic key of the request for a cryptographic operation is authorized to control access to the cryptographic key, and validating the at least one authorization token. If the at least one authorization token is valid and the ACL is authorized to control access to the cryptographic key of the request for a cryptographic operation, the operations include processing the request for a cryptographic operation. The method further includes receiving a response from the HSM to the distributed system, wherein if the HSM processes the request for a cryptographic operation, the response includes a result of the cryptographic operation. The method also includes sending the response from the distributed system to the user.

Dieser Aspekt kann ein oder mehrere der folgenden optionalen Merkmale enthalten. In einigen Implementierungen ist das wenigstens eine Autorisierungs-Token gültig, wenn wenigstens eines des Folgenden gilt: das wenigstens eine Autorisierungs-Token ist durch einen Autorisiererschlüssel signiert; das HSM hat das wenigstens eine Autorisierungs-Token innerhalb eines durch das wenigstens eine Autorisierungs-Token definierten Autorisierungszeitraums empfangen; oder das HSM hat das wenigstens eine Autorisierungs-Token weniger oft als eine durch das wenigstens eine Autorisierungs-Token definierte Grenzanzahl empfangen. Wenn der kryptographische Schlüssel der Anforderung einer kryptographischen Operation mit dem entsprechenden kryptographischen Schlüssel der ACL übereinstimmt, können die Operationen das Bestimmen enthalten, ob eine durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist. Wenn die durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist, können die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation enthalten.This aspect may include one or more of the following optional features. In some implementations, the at least one authorization token is valid if at least one of the following applies: the at least one authorization token is signed by an authorizer key; the HSM has received the at least one authorization token within an authorization period defined by the at least one authorization token; or the HSM has received the at least one authorization token less often than a limit number defined by the at least one authorization token. If the cryptographic key of the request for a cryptographic operation matches the corresponding cryptographic key of the ACL, the operations may include determining whether a cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL. If the cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL, the operations may include processing the request for a cryptographic operation.

In einigen Beispielen enthält das Verfahren das Empfangen einer Herausforderungsanforderung von einem Eigentümer des kryptographischen Schlüssels an dem verteilten System und das Senden der Herausforderungsanforderung an das HSM, wobei das HSM konfiguriert ist, um ein entsprechendes Autorisierungs-Token an den Eigentümer des kryptographischen Schlüssels auszugeben. Das entsprechende Autorisierungs-Token kann Daten, die das HSM identifizieren, und eine kryptographische Signatur des HSM enthalten. Das entsprechende Autorisierungs-Token kann außerdem einen Autorisierungszeitraum und/oder eine Grenzanzahl, die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens begrenzt, definieren. Der kryptographische Schlüssel der Anforderung einer kryptographischen Operation kann eingewickelt sein. In some examples, the method includes receiving a challenge request from an owner of the cryptographic key at the distributed system and sending the challenge request to the HSM, wherein the HSM is configured to issue a corresponding authorization token to the owner of the cryptographic key. The corresponding authorization token may include data identifying the HSM and a cryptographic signature of the HSM. The corresponding authorization token may also define an authorization period and / or a limit number that limits a number of uses of the corresponding authorization token. The cryptographic key of the request for a cryptographic operation may be wrapped.

Ein noch weiterer Aspekt der Offenbarung schafft ein System, das Datenverarbeitungs-Hardware und Speicher-Hardware, die mit der Datenverarbeitungs-Hardware in Verbindung steht, enthält. Die Speicher-Hardware speichert Anweisungen, die, wenn sie in der Datenverarbeitungs-Hardware ausgeführt werden, die Datenverarbeitungs-Hardware veranlassen, Operationen auszuführen. Die Operationen enthalten das Empfangen einer Anforderung einer kryptographischen Operation von einem Anwender, wobei die Anforderung einer kryptographischen Operation einen kryptographischen Schlüssel und wenigstens ein Autorisierungs-Token umfasst, und das Senden der Operationsanforderung an ein HSM, das konfiguriert ist, um Operationen auszuführen. Die Operationen enthalten das Bestimmen, ob eine Zugriffssteuerliste (ACL), die dem kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel zu steuern, und das Validieren des wenigstens einen Autorisierungs-Tokens. Wenn das wenigstens eine Autorisierungs-Token gültig ist und die ACL autorisiert ist, den Zugriff auf den kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zu steuern, enthalten die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation. Die Operationen enthalten ferner das Empfangen einer Antwort von dem HSM, wobei, wenn das HSM die Anforderung einer kryptographischen Operation verarbeitet, die Antwort ein Ergebnis der kryptographischen Operation enthält, und das Senden der Antwort von dem verteilten System an den Anwender.Yet another aspect of the disclosure provides a system that includes data processing hardware and storage hardware associated with the computing hardware. The storage hardware stores instructions that, when executed in the computing hardware, cause the computing hardware to perform operations. The operations include receiving a request for a cryptographic operation from a user, the request for a cryptographic operation comprising a cryptographic key and at least one authorization token, and sending the operation request to an HSM configured to perform operations. The operations include determining whether an access control list (ACL) associated with the cryptographic key of the request for a cryptographic operation is authorized to control access to the cryptographic key, and validating the at least one authorization token. If the at least one authorization token is valid and the ACL is authorized to control access to the cryptographic key of the request for a cryptographic operation, the operations include processing the request for a cryptographic operation. The operations further include receiving a response from the HSM, wherein when the HSM processes the request for a cryptographic operation, the response includes a result of the cryptographic operation, and sending the response from the distributed system to the user.

Dieser Aspekt kann ein oder mehrere der folgenden optionalen Merkmale enthalten. In einigen Implementierungen ist das wenigstens eine Autorisierungs-Token gültig, wenn das wenigstens eine Autorisierungs-Token durch einen Autorisiererschlüssel signiert ist. Das wenigstens eine Autorisierungs-Token kann gültig sein, wenn das HSM das wenigstens eine Autorisierungs-Token innerhalb eines durch das wenigstens eine Autorisierungs-Token definierten Autorisierungszeitraums empfangen hat. Das wenigstens eine Autorisierungs-Token kann außerdem gültig sein, wenn das HSM das wenigstens eine Autorisierungs-Token weniger oft als eine durch das wenigstens eine Autorisierungs-Token definierte Grenzanzahl empfangen hat.This aspect may include one or more of the following optional features. In some implementations, the at least one authorization token is valid if the at least one authorization token is signed by an authorizer key. The at least one authorization token may be valid if the HSM has received the at least one authorization token within an authorization period defined by the at least one authorization token. The at least one authorization token may also be valid if the HSM has received the at least one authorization token less often than a limit number defined by the at least one authorization token.

In einigen Beispielen enthalten die Operationen das Bestimmen, ob eine durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist, wenn der kryptographische Schlüssel der Anforderung einer kryptographischen Operation mit dem entsprechenden kryptographischen Schlüssel der ACL übereinstimmt. Wenn die durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist, können die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation enthalten. Die Operationen können ferner das Empfangen einer Herausforderungsanforderung von einem Eigentümer des kryptographischen Schlüssels und das Senden der Herausforderungsanforderung an das HSM enthalten. Das HSM kann konfiguriert sein, um ein entsprechendes Autorisierungs-Token an den Eigentümer des kryptographischen Schlüssels auszugeben. Das entsprechende Autorisierungs-Token kann Daten, die das HSM identifizieren, und eine kryptographische Signatur des HSM enthalten. Das entsprechende Autorisierungs-Token kann einen Autorisierungszeitraum und/oder eine Grenzanzahl, die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens begrenzt, definieren. Der kryptographische Schlüssel der Anforderung einer kryptographischen Operation kann eingewickelt sein.In some examples, the operations include determining whether a cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL if the cryptographic key of the request for a cryptographic operation matches the corresponding cryptographic key of the ACL. If the cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL, the operations may include processing the request for a cryptographic operation. The operations may further include receiving a challenge request from an owner of the cryptographic key and sending the challenge request to the HSM. The HSM may be configured to issue a corresponding authorization token to the owner of the cryptographic key. The corresponding authorization token may include data identifying the HSM and a cryptographic signature of the HSM. The corresponding authorization token may define an authorization period and / or a limit number that limits a number of uses of the corresponding authorization token. The cryptographic key of the request for a cryptographic operation may be wrapped.

Ein noch weiterer Aspekt der Offenbarung schafft ein drittes Verfahren zum Verarbeiten einer Anforderung einer kryptographischen Operation. Das Verfahren enthält das Empfangen an einem verteilten System einer Anforderung einer kryptographischen Operation von einem Anwender. Die Anforderung einer kryptographischen Operation enthält einen kryptographischen Schlüssel. Das Verfahren enthält außerdem das Erhalten durch das verteilte System wenigstens eines Autorisierungs-Tokens und das Senden durch das verteilte System der Operationsanforderung und des wenigstens einen Autorisierungs-Tokens an ein HSM, das konfiguriert ist, um Operationen auszuführen. Die Operationen enthalten das Bestimmen, ob eine Zugriffssteuerliste (ACL), die dem kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel zu steuern, und das Validieren des wenigstens einen Autorisierungs-Tokens. Wenn das wenigstens eine Autorisierungs-Token gültig ist und die ACL autorisiert ist, den Zugriff auf den kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zu steuern, enthalten die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation. Das Verfahren enthält außerdem das Empfangen einer Antwort von dem HSM an dem verteilten System, wobei, wenn das HSM die Anforderung einer kryptographischen Operation verarbeitet, die Antwort ein Ergebnis der kryptographischen Operation enthält, und das Senden der Antwort von dem verteilten System an den Anwender.Yet another aspect of the disclosure provides a third method of processing a request for a cryptographic operation. The method includes receiving at a distributed system a request for a cryptographic operation from a user. The request for a cryptographic operation contains a cryptographic key. The method also includes obtaining, by the distributed system of at least one authorization token, and sending by the distributed system the operation request and the at least one authorization token to an HSM configured to perform operations. The operations include determining whether an access control list (ACL) associated with the cryptographic key of the request for a cryptographic operation is authorized to control access to the cryptographic key, and validating the at least one authorization token. If the at least one authorization token is valid and the ACL is authorized to access the cryptographic key of the request To control the cryptographic operation, the operations include processing the request for a cryptographic operation. The method also includes receiving a response from the HSM to the distributed system, wherein if the HSM processes the request for a cryptographic operation, the response includes a result of the cryptographic operation, and sending the response from the distributed system to the user.

Die Implementierungen der Offenbarung können eines oder mehrere der folgenden optionalen Merkmale enthalten. In einigen Implementierungen ist das wenigstens eine Autorisierungs-Token gültig, wenn wenigstens eines des Folgenden gilt: das wenigstens eine Autorisierungs-Token ist durch einen Autorisiererschlüssel signiert; das HSM hat das wenigstens eine Autorisierungs-Token innerhalb eines durch das wenigstens eine Autorisierungs-Token definierten Autorisierungszeitraums empfangen; oder das HSM hat das wenigstens eine Autorisierungs-Token weniger oft als eine durch das wenigstens eine Autorisierungs-Token definierte Grenzanzahl empfangen. Wenn der kryptographische Schlüssel der Anforderung einer kryptographischen Operation mit dem entsprechenden kryptographischen Schlüssel der ACL übereinstimmt, können die Operationen das Bestimmen enthalten, ob eine durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist. Wenn die durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist, können die Operationen außerdem das Verarbeiten der Anforderung einer kryptographischen Operation enthalten.The implementations of the disclosure may include one or more of the following optional features. In some implementations, the at least one authorization token is valid if at least one of the following applies: the at least one authorization token is signed by an authorizer key; the HSM has received the at least one authorization token within an authorization period defined by the at least one authorization token; or the HSM has received the at least one authorization token less often than a limit number defined by the at least one authorization token. If the cryptographic key of the request for a cryptographic operation matches the corresponding cryptographic key of the ACL, the operations may include determining whether a cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL. In addition, when the cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL, the operations may include processing the request for a cryptographic operation.

In einigen Beispielen enthält das Verfahren das Empfangen einer Herausforderungsanforderung von einem Eigentümer des kryptographischen Schlüssels an dem verteilten System und das Senden der Herausforderungsanforderung an das HSM, wobei das HSM konfiguriert ist, um ein entsprechendes Autorisierungs-Token an den Eigentümer des kryptographischen Schlüssels auszugeben. Das entsprechende Autorisierungs-Token kann Daten, die das HSM identifizieren, und eine kryptographische Signatur des HSM enthalten. Das entsprechende Autorisierungs-Token kann außerdem einen Autorisierungszeitraum und/oder eine Grenzanzahl, die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens begrenzt, definieren. Der kryptographische Schlüssel der Anforderung einer kryptographischen Operation kann eingewickelt sein.In some examples, the method includes receiving a challenge request from an owner of the cryptographic key at the distributed system and sending the challenge request to the HSM, wherein the HSM is configured to issue a corresponding authorization token to the owner of the cryptographic key. The corresponding authorization token may include data identifying the HSM and a cryptographic signature of the HSM. The corresponding authorization token may also define an authorization period and / or a limit number that limits a number of uses of the corresponding authorization token. The cryptographic key of the request for a cryptographic operation may be wrapped.

Ein noch weiterer Aspekt der Offenbarung schafft ein System, das Datenverarbeitungs-Hardware und Speicher-Hardware, die mit der Datenverarbeitungs-Hardware in Verbindung steht, enthält. Die Speicher-Hardware speichert Anweisungen, die, wenn sie in der Datenverarbeitungs-Hardware ausgeführt werden, die Datenverarbeitungs-Hardware veranlassen, Operationen auszuführen. Die Operationen enthalten das Empfangen einer Anforderung einer kryptographischen Operation von einem Anwender, wobei die Anforderung einer kryptographischen Operation einen kryptographischen Schlüssel umfasst, das Erhalten wenigstens eines Autorisierungs-Tokens und das Senden der Operationsanforderung und des wenigstens einen Autorisierungs-Tokens an ein HSM, das konfiguriert ist, um Operationen auszuführen. Die Operationen enthalten das Bestimmen, ob eine Zugriffssteuerliste (ACL), die dem kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel zu steuern, und das Validieren des wenigstens einen Autorisierungs-Tokens. Wenn das wenigstens eine Autorisierungs-Token gültig ist und die ACL autorisiert ist, den Zugriff auf den kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zu steuern, enthalten die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation. Die Operationen enthalten außerdem das Empfangen einer Antwort von dem HSM, wobei, wenn das HSM die Anforderung einer kryptographischen Operation verarbeitet, die Antwort ein Ergebnis der kryptographischen Operation umfasst, und das Senden der Antwort an den Anwender.Yet another aspect of the disclosure provides a system that includes data processing hardware and storage hardware associated with the computing hardware. The storage hardware stores instructions that, when executed in the computing hardware, cause the computing hardware to perform operations. The operations include receiving a request from a user for a cryptographic operation, the request for a cryptographic operation comprising a cryptographic key, obtaining at least one authorization token, and sending the operation request and the at least one authorization token to an HSM that configures is to perform operations. The operations include determining whether an access control list (ACL) associated with the cryptographic key of the request for a cryptographic operation is authorized to control access to the cryptographic key, and validating the at least one authorization token. If the at least one authorization token is valid and the ACL is authorized to control access to the cryptographic key of the request for a cryptographic operation, the operations include processing the request for a cryptographic operation. The operations also include receiving a response from the HSM, wherein when the HSM processes the request for a cryptographic operation, the response comprises a result of the cryptographic operation, and sending the response to the user.

Dieser Aspekt kann ein oder mehrere der folgenden optionalen Merkmale enthalten. In einigen Implementierungen ist das wenigstens eine Autorisierungs-Token gültig, wenn das wenigstens eine Autorisierungs-Token durch einen Autorisiererschlüssel signiert ist. Das wenigstens eine Autorisierungs-Token kann gültig sein, wenn die Anforderung einer kryptographischen Operation innerhalb eines durch das wenigstens eine Autorisierungs-Token definierten Autorisierungszeitraums durch das HSM empfangen wird. Das wenigstens eine Autorisierungs-Token kann außerdem gültig sein, wenn das HSM die Anforderung einer kryptographischen Operation weniger oft als eine durch das wenigstens eine Autorisierungs-Token definierte Grenzanzahl empfangen hat.This aspect may include one or more of the following optional features. In some implementations, the at least one authorization token is valid if the at least one authorization token is signed by an authorizer key. The at least one authorization token may be valid if the request for a cryptographic operation is received by the HSM within an authorization period defined by the at least one authorization token. The at least one authorization token may also be valid if the HSM has received the request for a cryptographic operation less often than a limit number defined by the at least one authorization token.

In einigen Beispielen enthalten die Operationen das Bestimmen, ob eine durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist, wenn der kryptographische Schlüssel der Anforderung einer kryptographischen Operation mit dem entsprechenden kryptographischen Schlüssel der ACL übereinstimmt. Wenn die durch die Anforderung einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL erlaubt ist, können die Operationen das Verarbeiten der Anforderung einer kryptographischen Operation enthalten. Die Operationen können außerdem das Empfangen einer Herausforderungsanforderung von einem Eigentümer des kryptographischen Schlüssels und das Senden der Herausforderungsanforderung an das HSM enthalten, wobei das HSM konfiguriert ist, um ein entsprechendes Autorisierungs-Token an den Eigentümer des kryptographischen Schlüssels auszugeben. Das entsprechende Autorisierungs-Token kann Daten, die das HSM identifizieren, und eine kryptographische Signatur des HSM enthalten. Das entsprechende Autorisierungs-Token kann einen Autorisierungszeitraum und/oder eine Grenzanzahl, die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens begrenzt, definieren. Der kryptographische Schlüssel der Anforderung einer kryptographischen Operation kann eingewickelt sein.In some examples, the operations include determining whether a cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL if the cryptographic key of the request for a cryptographic operation matches the corresponding cryptographic key of the ACL. If the cryptographic operation requested by the request for a cryptographic operation is allowed by the ACL, the operations may include processing the request for a cryptographic operation. The operations may also include receiving a challenge request from an owner of the cryptographic key and sending the challenge request to the HSM, wherein the HSM is configured to issue a corresponding authorization token to the owner of the cryptographic key. The corresponding authorization token may include data identifying the HSM and a cryptographic signature of the HSM. The corresponding authorization token may define an authorization period and / or a limit number that limits a number of uses of the corresponding authorization token. The cryptographic key of the request for a cryptographic operation may be wrapped.

Die Einzelheiten einer oder mehrerer Implementierungen der Offenbarung werden in den beigefügten Zeichnungen und in der Beschreibung im Folgenden dargelegt. Andere Aspekte, Merkmale und Vorteile werden aus der Beschreibung und den Zeichnungen und aus den Ansprüchen offensichtlich.The details of one or more implementations of the disclosure are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will be apparent from the description and drawings, and from the claims.

Figurenlistelist of figures

  • 1 ist eine schematische Ansicht eines beispielhaften kryptographischen Systems zum Verarbeiten einer Anforderung einer kryptographischen Operation, die wenigstens ein Fähigkeits-Token enthält. 1 FIG. 12 is a schematic view of an exemplary cryptographic system for processing a cryptographic operation request that includes at least one capability token.
  • 2 ist eine schematische Ansicht eines beispielhaften Hardware-Sicherheitsmoduls, das in Reaktion auf das Empfangen einer Herausforderungsanforderung von einem Eigentümer eines kryptographischen Schlüssels ein Autorisierungs-Token ausgibt. 2 Figure 13 is a schematic view of an exemplary hardware security module issuing an authorization token from a cryptographic key owner in response to receiving a challenge request.
  • 3 zeigt eine schematische Ansicht der durch eine Anwendervorrichtung und ein Hardware-Sicherheitsmodul ausgeführten beispielhaften Operationen, um einen kryptographischen Schlüssel zu erzeugen. 3 FIG. 12 is a schematic view of exemplary operations performed by a user device and a hardware security module to generate a cryptographic key. FIG.
  • 4 zeigt eine schematische Ansicht der durch ein Hardware-Sicherheitsmodul ausgeführten beispielhaften Operationen, um eine Anforderung einer kryptographischen Operation von einem Anwender auszuführen. 4 FIG. 12 is a schematic view of the exemplary operations performed by a hardware security module to perform a cryptographic operation request from a user.
  • 5 zeigt eine schematische Ansicht der durch ein Hardware-Sicherheitsmodul ausgeführten beispielhaften Operationen, um eine Anforderung einer kryptographischen Operation von einem durch einen Eigentümer eines kryptographischen Schlüssels bevollmächtigten bevollmächtigten Autorisierer zu verarbeiten. 5 FIG. 12 is a schematic view of the exemplary operations performed by a hardware security module to process a request for a cryptographic operation from an authorized authorizer authorized by a cryptographic key owner. FIG.
  • 6 zeigt eine schematische Ansicht der durch ein Hardware-Sicherheitsmodul ausgeführten beispielhaften Operationen, um einen Eintrag in einem Prüfprotokoll für die durch das Hardware-Sicherheitsmodul verarbeiteten kryptographischen Operationen zu protokollieren. 6 12 shows a schematic view of the exemplary operations performed by a hardware security module to log an entry in a verification log for the cryptographic operations processed by the hardware security module.
  • 7 ist ein Blockschaltplan einer beispielhaften Implementierung der Komponenten eines beispielhaften Autorisierungssystems zum Autorisieren von Anforderungen einer kryptographischen Operation. 7 FIG. 10 is a block diagram of an example implementation of the components of an example authorization system for authorizing requests for a cryptographic operation. FIG.
  • 8 ist ein Ablaufplan eines beispielhaften Verfahrens zum Verarbeiten einer Anforderung einer kryptographischen Operation. 8th FIG. 10 is a flowchart of an example method for processing a request for a cryptographic operation.
  • 9 ist eine schematische Ansicht einer beispielhaften Computervorrichtung, die den Manager des Hardware-Sicherheitsmoduls nach 1 ausführt. 9 FIG. 12 is a schematic view of an example computing device that detects the hardware security module manager 1 performs.

Gleiche Bezugszeichen in den verschiedenen Zeichnungen geben gleiche Elemente an.Like reference numerals in the various drawings indicate like elements.

AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION

Hardware-Sicherheitsmodule ermöglichen es den Anwendern, kryptographische Geheimnisse einzukapseln und zu autorisieren, welchen Anwendern es erlaubt ist, kryptographische Operationen an den kryptographischen Geheimnissen auszuführen. Wenn Hardware-Sicherheitsmodule innerhalb einer Cloud-Umgebung (z. B. eines verteilten Systems) integriert sind und die Anwender ihre kryptographischen Schlüssel in der Cloud-Umgebung speichern, weist der Anbieter der Cloud-Umgebung unzulässig die vollen Privilegien über alle im Namen der Anwender gespeicherten kryptographischen Schlüssel auf, wobei er folglich den Zweck der Verwendung von Hardware-Sicherheitsmodulen beim Steuern und Begrenzen des Zugriffs auf die kryptographischen Schlüssel untergräbt. Die Implementierungen sind hier darauf gerichtet, es zu erfordern, dass ein Anwender, der ein in der Cloud-Umgebung integriertes Hardware-Sicherheitsmodul auffordert, eine kryptographische Operation zu verarbeiten, zusätzlich zu wenigstens einem Autorisierungs-Token, das durch das Hardware-Sicherheitsmodul erzeugt wird und durch einen Autorisiererschlüssel digital signiert wird, einen eingewickelten kryptographischen Schlüssel bereitzustellen. Das Hardware-Sicherheitsmodul kann verifizieren, dass das Hardware-Sicherheitsmodul das Autorisierungs-Token erzeugt und signiert hat. Das Hardware-Sicherheitsmodul validiert ferner das Autorisierungs-Token, um zu bestimmen, ob der Anwender, der die kryptographische Operation anfordert, autorisiert ist, auf einen entsprechenden kryptographischen Schlüssel, dem eine Zugriffsteuerliste zugeordnet ist, zum Ausführen der kryptographischen Operation zuzugreifen.Hardware security modules enable users to encapsulate cryptographic secrets and authorize which users are allowed to perform cryptographic operations on the cryptographic secrets. When hardware security modules are integrated within a cloud environment (such as a distributed system) and users store their cryptographic keys in the cloud environment, the cloud environment provider inadmissibly grants full privileges over all on behalf of the users stored cryptographic keys, thus undermining the purpose of using hardware security modules in controlling and limiting access to the cryptographic keys. The implementations herein are directed to requiring that a user requesting a hardware security module integrated in the cloud environment to process a cryptographic operation in addition to at least one authorization token generated by the hardware security module and digitally signed by an authorization key to provide a wrapped cryptographic key. The hardware security module can verify that the hardware security module has created and signed the authorization token. The hardware security module further validates the authorization token to determine whether the user requesting the cryptographic operation is authorized to access a corresponding cryptographic key associated with an access control list to perform the cryptographic operation.

In den 1 und 2 enthält in einigen Implementierungen ein kryptographisches System 100 eine Anwendervorrichtung 110, 110a-n, die einem Anwender 10 zugeordnet ist, der über ein Netz 130 mit einem entfernten System 140 kommunizieren kann. Das entfernte System 140 kann ein verteiltes System (z. B. eine Cloud-Umgebung) sein, das skalierbare/elastische Betriebsmittel 142 aufweist. Die Betriebsmittel 142 enthalten Rechenbetriebsmittel 144 und/oder Speicherbetriebsmittel 146. Das System 100 enthält ferner ein Hardware-Sicherheitsmodul (HSM) 200, das mit den Betriebsmitteln 142 des verteilten Systems 140 in Verbindung steht. Spezifisch ist das HSM 200 ein Teil einer Hardware, der Software/Firmware zugeordnet ist, die mit der Schaltungsanordnung der Betriebsmittel (d. h., der Rechenbetriebsmittel 144) verbunden ist, um eine oder mehrere kryptographische Funktionen zu schaffen. Andere Namen für ein Hardware-Sicherheitsmodul enthalten ein Personalcomputer-Sicherheitsmodul (PCSM), ein sicheres Anwendungsmodul (SAM), eine kryptographische Hardware-Vorrichtung oder ein kryptographisches Hardware-Modul. In einigen Implementierungen führt das verteilte System 140 einen HSM-Manager 150 aus, der die Kommunikation zwischen einer oder mehreren Anwendervorrichtungen 110 und dem HSM 200 fördert.In the 1 and 2 contains a cryptographic system in some implementations 100 a user device 110 . 110a-n that a user 10 is assigned, over a network 130 with a remote system 140 can communicate. The remote system 140 may be a distributed system (eg, a cloud environment), the scalable / resilient resource 142 having. The resources 142 contain computing resources 144 and / or memory resources 146 , The system 100 also includes a hardware security module (HSM) 200 that with the resources 142 of the distributed system 140 communicates. Specific is the HSM 200 a piece of hardware associated with software / firmware associated with the circuitry of the resources (ie, the computing resources 144 ) to provide one or more cryptographic functions. Other names for a hardware security module include a personal computer security module (PCSM), a secure application module (SAM), a cryptographic hardware device, or a cryptographic hardware module. In some implementations, the distributed system performs 140 an HSM manager 150 off, the communication between one or more user devices 110 and the HSM 200 promotes.

In einigen Implementierungen enthält das HSM 200 einen sicheren Verschlüsselungsprozessor 210 (d. h., eine Datenverarbeitungs-Hardware 210) und einen sicheren Verschlüsselungsspeicher 212 (d. h., eine Speicher-Hardware 212), die mit dem Verschlüsselungsprozessor 210 in Verbindung steht. Der Verschlüsselungsprozessor 210 kann (a) eine integrierte sichere Erzeugung; (b) eine integrierte sichere Speicherung; (c) die Verwendung kryptographischer und sensibler Daten; und/oder (d) das Entlasten der Anwendungs-Server für eine vollständige asymmetrische und symmetrische Kryptographie bereitstellen. In einigen Beispielen handhabt das HSM 200 asymmetrische Schlüsselpaare (und Zertifikate), die in der Kryptographie mit öffentlichem Schlüssel verwendet werden, und/oder symmetrische Schlüssel und andere beliebige Daten. Das HSM 200 kann über den Verschlüsselungsprozessor 210 einen eingewickelten kryptographischen Schlüssel 120 erzeugen, wobei eine dem kryptographischen Schlüssel 120 zugeordnete Zugriffssteuerliste (ACL) 214 eine Liste von Anwendern enthalten kann, die Zugriffsrechte auf die durch das HSM 200 gemanagten kryptographischen und sensiblen Daten aufweisen. Die dem kryptographischen Schlüssel 120 zugeordnete ACL 214 kann ein oder mehrere Autorisierungs-Token 220 spezifizieren, die ein autorisierter Anwender 10 des kryptographischen Schlüssels 120 bereitstellen muss, damit das HSM 200 eine Operation an dem kryptographischen Schlüssel 120 ausführt. Die ACL 214 kann ferner spezifizieren, welche kryptographischen Operationen (z. B. Signieren, Verschlüsseln und/oder Entschlüsseln) das HSM 200 verarbeiten darf. In einigen Beispielen ist die dem kryptographischen Schlüssel 120 zugeordnete ACL 214 als eine intrinsische Eigenschaft des kryptographischen Schlüssels 120 enthalten. In anderen Beispielen ist die dem kryptographischen Schlüssel 120 zugeordnete ACL 214 keine intrinsische Eigenschaft des kryptographischen Schlüssels 210, wobei sie durch das Autorisierungs-Token 220 bereitgestellt werden kann. Die ACL 214 kann z. B. in dem Autorisierungs-Token 220 codiert sein. In diesen Beispielen kann der Anwender 10 dem HSM 200 das Autorisierungs-Token 220 bereitstellen, wobei das HSM 200 autorisierten kann, dass die ACL 214 den Zugriff auf den kryptographischen Schlüssel 120 steuert. Die durch das Autorisierungs-Token 220 bereitgestellte ACL 214 kann spezifizieren, welche Autorisierungssignaturen durch das HSM 200 zur Verwendung des kryptographischen Schlüssels 120, um die Anforderung 250 zu verarbeiten, benötigt werden. Das HSM 200 kann außerdem einen internen Takt 210 enthalten. Der Verschlüsselungsspeicher 212 speichert Anweisungen, die, wenn sie durch den Verschlüsselungsprozessor 210 ausgeführt werden, den Verschlüsselungsprozessor 210 veranlassen, kryptographische Operationen auszuführen. Die durch den Verschlüsselungsprozessor 210 ausführbaren kryptographischen Operationen können z. B. eine Verschlüsselung, eine Entschlüsselung, die Erzeugung eines kryptographischen Schlüssels, die Erzeugung eines Autorisierungs-Tokens, eine Hash-Codierung, eine Signierung und/oder eine Verifikation enthalten, sind aber nicht darauf eingeschränkt. Der Verschlüsselungsspeicher 212 kann zusätzlich einen oder mehrere Zähler 213, 213a-n enthalten, wobei jeder jedes Mal inkrementiert wird, wenn ein entsprechendes Autorisierungs-Token 220 verwendet wird, um durch das HSM 200 ausgeführt zu werden, um eine kryptographische Operation auszuführen.In some implementations, the HSM contains 200 a secure encryption processor 210 (ie, a computing hardware 210 ) and secure encryption memory 212 (ie, a storage hardware 212 ) using the encryption processor 210 communicates. The encryption processor 210 can (a) an integrated secure generation; (b) integrated secure storage; (c) the use of cryptographic and sensitive data; and / or (d) provide relieving of the application servers for full asymmetric and symmetric cryptography. In some examples, the HSM handles 200 asymmetric key pairs (and certificates) used in public-key cryptography and / or symmetric keys and other arbitrary data. The HSM 200 can through the encryption processor 210 a wrapped cryptographic key 120 generate one being the cryptographic key 120 associated access control list (ACL) 214 A list of users may include access rights to those through the HSM 200 have managed cryptographic and sensitive data. The cryptographic key 120 associated ACL 214 can have one or more authorization tokens 220 specify who an authorized user 10 the cryptographic key 120 must provide for the HSM 200 an operation on the cryptographic key 120 performs. The ACL 214 may also specify which cryptographic operations (eg, signing, encrypting, and / or decrypting) the HSM 200 may process. In some examples, this is the cryptographic key 120 associated ACL 214 as an intrinsic property of the cryptographic key 120 contain. In other examples, this is the cryptographic key 120 associated ACL 214 no intrinsic property of the cryptographic key 210 , passing through the authorization token 220 can be provided. The ACL 214 can z. In the authorization token 220 be coded. In these examples, the user can 10 the HSM 200 the authorization token 220 provide, with the HSM 200 authorized that the ACL 214 access to the cryptographic key 120 controls. The through the authorization token 220 provided ACL 214 can specify which authorization signatures through the HSM 200 to use the cryptographic key 120 to process the request 250 may be needed. The HSM 200 also has an internal clock 210 contain. The encryption store 212 stores instructions that, when passed through the encryption processor 210 are executed, the encryption processor 210 cause to perform cryptographic operations. The through the encryption processor 210 executable cryptographic operations can z. Encryption, decryption, cryptographic key generation, authorization token generation, hash coding, signing, and / or verification, but are not limited thereto. The encryption store 212 can also have one or more counters 213 . 213a-n each incremented each time a corresponding authorization token 220 is used to pass through the HSM 200 to be executed to perform a cryptographic operation.

Der Anwender 10 kann einem Eigentümer eines eingewickelten kryptographischen Schlüssels 120 zugeordnet sein, wobei der Anwender 10 die vollständige Steuerung darüber aufweisen kann, wie der kryptographische Schlüssel 120 zum Verarbeiten der entsprechenden kryptographischen Operationen in dem HSM 200 verwendet und gemanagt wird. Der eingewickelte kryptographische Schlüssel 120 kann durch das HSM 200 verschlüsselt und signiert werden und kann sowohl das durch das HSM 200 erzeugte Material des geheimen Schlüssels als auch öffentliche Teile eines Autorisiererschlüssels (der Autorisiererschlüssel) 118 (3), der (die) dem Anwender 10 und irgendwelchen bevollmächtigten Autorisierern 234 (die 5 und 6) zugeordnet ist (sind), enthalten. In einigen Beispielen entspricht der Anwender 10 einer Person, die durch den Eigentümer des kryptographischen Schlüssels 120 autorisiert ist, auf den kryptographischen Schlüssel 120 zuzugreifen. In einigen Implementierungen erzeugt/generiert der Eigentümer des kryptographischen Schlüssels 120 ein durch den Autorisiererschlüssel 118 signiertes Autorisierungs-Token 220 innerhalb des entsprechenden kryptographischen Schlüssels 120, den das HSM 200 vor der Verarbeitung einer entsprechenden Anforderung 250 einer kryptographischen Operation von dem Anwender 10 validieren muss. Das HSM 200 kann z. B. das Autorisierungs-Token 220 validieren, wenn das HSM 200 die Anforderung 250 innerhalb eines durch das Autorisierungs-Token 220 definierten Autorisierungszeitraums empfängt und/oder wenn das HSM 200 die Anforderung 250 weniger oft als eine durch das wenigstens eine Autorisierungs-Token definierte Grenzanzahl empfangen hat. Das Autorisierungs-Token 220, wie es hier verwendet wird, kann einen Satz von „Einschränkungen“ definieren, die die Verwendung des Autorisierungs-Tokens 220 zum Autorisierten einer Anforderung 250 einer kryptographischen Operation einschränken. Das Autorisierungs-Token 220 ist durch den Autorisiererschlüssel 118 des Anwenders 10 signiert, der in dem eingewickelten kryptographischen Schlüssel 120 enthalten ist. In einigen Beispielen werden der kryptographische Schlüssel 120 und das Autorisierungs-Token 220 gleichzeitig erzeugt/generiert und zusammengebunden. Das Autorisierungs-Token 220 kann ferner spezifizieren, welche Signaturen (z. B. welche Autorisiererschlüssel 118) für die Verwendung des kryptographischen Schlüssels 120 für die Verarbeitung der Anforderung 250 einer kryptographischen Operation erforderlich sind.The user 10 can be an owner of a wrapped cryptographic key 120 be assigned, the user 10 may have complete control over it, such as the cryptographic key 120 for processing the corresponding cryptographic operations in the HSM 200 used and managed. The wrapped cryptographic key 120 can through the HSM 200 can be encrypted and signed and can be both through the HSM 200 generated material of the secret key as well as public parts of an authorizer key (the authorization key) 118 (FIG. 3 ), the (the) the user 10 and any authorized authorizers 234 (the 5 and 6 ) is assigned. In some examples, the user corresponds 10 a person authorized by the owner of the cryptographic key 120 to the cryptographic key 120 access. In some implementations, the owner of the cryptographic key generates / generates 120 one by the authorization key 118 signed authorization token 220 within the corresponding cryptographic key 120 that the HSM 200 before processing a corresponding request 250 a cryptographic operation by the user 10 must validate. The HSM 200 can z. For example, the authorization token 220 validate if the HSM 200 the request 250 within one through the authorization token 220 defined authorization period receives and / or if the HSM 200 the request 250 less often than a limit number defined by the at least one authorization token. The authorization token 220 as used herein, may define a set of "restrictions" that include the use of the authorization token 220 to authorize a request 250 restrict a cryptographic operation. The authorization token 220 is through the authorization key 118 of the user 10 Signed in the wrapped cryptographic key 120 is included. In some examples, the cryptographic key 120 and the authorization token 220 simultaneously generated / generated and bound together. The authorization token 220 can also specify which signatures (e.g., which authorization keys 118 ) for the use of the cryptographic key 120 for processing the request 250 a cryptographic operation are required.

In einigen Implementierungen empfängt das HSM 200 eine Anforderung 250 einer kryptographischen Operation, die einen kryptographischen Schlüssel 120, wenigstens ein Autorisierungs-Token 220 und eine ACL 214, die dem kryptographischen Schlüssel 120 oder dem wenigstens einen Autorisierungs-Token 220 zugeordnet ist, enthält, wobei es dann bestimmt, ob die ACL 214 autorisiert ist, den Zugriff auf den kryptographischen Schlüssel 120 zu steuern, und das wenigstens ein Autorisierungs-Token 220 validiert. Folglich kann die ACL 214, die dem kryptographischen Schlüssel 120 (oder dem wenigstens einen Autorisierungs-Token 220) der empfangenen Anforderung 250 einer kryptographischen Operation zugeordnet ist, ein oder mehrere Autorisierungs-Token 220 spezifizieren, die für die Validierung durch das HSM 200 erforderlich sind, bevor das HSM 200 den kryptographischen Schlüssel 120 entschlüsselt/auswickelt und die entsprechende Anforderung 250 einer kryptographischen Operation verarbeitet. Wenn das HSM 200 die ACL 214 autorisiert, die den Zugriff auf den kryptographischen Schlüssel 120 der Anforderung 250 steuert, und das wenigstens eine Autorisierungs-Token 220 validiert, verarbeitet das HSM 200 die Anforderung 250 einer kryptographischen Operation, wobei es ein Ergebnis 260 der kryptographischen Operation zurück zu der Anwendervorrichtung 110 bereitstellt. In einigen Beispielen bestimmt das HSM 200 ferner, ob die durch die Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL 214 erlaubt ist. Wenn in diesen Beispielen die kryptographische Operation durch die ACL 214 erlaubt ist, verarbeitet das HSM 200 die Anforderung 250 einer kryptographischen Operation, wobei es das entsprechende Ergebnis 260 zurück zu der Anwendervorrichtung 110 bereitstellt. Wenn die ACL 214 eine durch eine Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation nicht erlaubt, entschlüsselt das HSM 200 folglich den kryptographischen Schlüssel 120 nicht/wickelt das HSM 200 folglich den kryptographischen Schlüssel 120 nicht aus, wobei es deshalb die Anforderung 250 einer kryptographischen Operation nicht verarbeitet. Die kryptographische Operation kann eine Verschlüsselungsoperation, eine Entschlüsselungsoperation oder eine Signierungsoperation enthalten.In some implementations, the HSM receives 200 a cryptographic operation request 250, which is a cryptographic key 120 , at least one authorization token 220 and an ACL 214 that the cryptographic key 120 or the at least one authorization token 220 it then determines whether the ACL 214 is authorized to access the cryptographic key 120 and at least one authorization token 220 validated. Consequently, the ACL 214 that the cryptographic key 120 (or the at least one authorization token 220 ) of the request received 250 associated with a cryptographic operation, one or more authorization tokens 220 specify for validation by the HSM 200 are required before the HSM 200 the cryptographic key 120 decrypted / unwrapped and the corresponding requirement 250 a cryptographic operation processed. If the HSM 200 the ACL 214 authorized access to the cryptographic key 120 the request 250 controls, and the at least one authorization token 220 validates, processes the HSM 200 the request 250 a cryptographic operation, where there is a result 260 the cryptographic operation back to the user device 110 provides. In some examples, the HSM determines 200 furthermore, whether by the requirement 250 a cryptographic operation requested by the ACL 214 allowed is. If, in these examples, the cryptographic operation is by the ACL 214 allowed, processes the HSM 200 the request 250 a cryptographic operation, with the corresponding result 260 back to the user device 110 provides. If the ACL 214 one by one request 250 does not allow a cryptographic operation requested by a cryptographic operation, decrypts the HSM 200 hence the cryptographic key 120 not / wraps the HSM 200 hence the cryptographic key 120 therefore does not process the request 250 of a cryptographic operation. The cryptographic operation may include an encryption operation, a decryption operation, or a signing operation.

In 2 erzeugt in einigen Implementierungen die Anwendervorrichtung 110, die dem Eigentümer 10 des kryptographischen Schlüssels 120 zugeordnet ist, ein Autorisierungs-Token 220 durch das Senden einer Herausforderungsanforderung an das HSM 200 und gibt das HSM 200 ein entsprechendes Autorisierungs-Token 220 an den Eigentümer 10 des kryptographischen Schlüssels 120 aus. Die Anwendervorrichtung 110 kann eine Anwenderschnittstelle 112 ausführen, um die Herausforderungsanforderung 270 zu dem HSM 200 zu übertragen. In einigen Beispielen empfängt der HSM-Manager 150, der in dem verteilten System 140 ausgeführt wird, die Herausforderungsanforderung 270 von der Anwendervorrichtung 110, wobei er die Herausforderungsanforderung 270 an das HSM 200 sendet. In einigen Konfigurationen kann die Anwendervorrichtung 102 das Autorisierungs-Token 220 lokal einfach durch das Signieren des Autorisierungs-Tokens 220 mit einem Autorisiererschlüssel 118 innerhalb des kryptographischen Schlüssels 120 erzeugen, ohne den kryptographischen Schlüssel 120 über das Netz 100 dem HSM 200 aufzudecken. In diesen Konfigurationen kann die Anwendervorrichtung 110 ein lokales HSM zum Speichern des kryptographischen Schlüssels 120 und zum lokalen Erzeugen des Autorisierungs-Tokens 220 enthalten.In 2 In some implementations, generates the user device 110 that belongs to the owner 10 the cryptographic key 120 associated with an authorization token 220 by sending a challenge request to the HSM 200 and gives the HSM 200 a corresponding authorization token 220 to the owner 10 the cryptographic key 120 out. The user device 110 can be a user interface 112 to complete the challenge request 270 to the HSM 200 transferred to. In some examples, the HSM manager receives 150 that in the distributed system 140 is executed, the challenge request 270 from the user device 110, receiving the challenge request 270 to the HSM 200 sends. In some configurations, the user device may 102 the authorization token 220 locally simply by signing the authorization token 220 with an authorization key 118 within the cryptographic key 120 generate without the cryptographic key 120 over the net 100 the HSM 200 uncover. In these configurations, the user device 110 a local HSM for storing the cryptographic key 120 and for locally generating the authorization token 220 contain.

Der Eigentümer 10 kann in der Herausforderungsanforderung 270 wenigstens eines von einem Autorisierungszeitraum 226 zum Validieren des Autorisierungs-Tokens 220, einer Grenzanzahl 228 zum Begrenzen der Anzahl der Verwendungen des Autorisierungs-Tokens 220, einem Typ 232 der kryptographischen Operation, der dem Autorisierungs-Token 220 zugeordnet ist, oder einem durch den Eigentümer 10 bevollmächtigten zusätzlichen bevollmächtigten Autorisierer 234 spezifizieren, um das Autorisierungs-Token 220 zu verwenden. Die bevollmächtigten Autorisierer 234 können in der Form eines oder mehrerer zusätzlicher Autorisierungs-Token bevollmächtigt sein, die diese Autorisierer dem HSM 200 in der Anforderung 250 einer kryptographischen Operation bereitstellen müssen. Die bevollmächtigten Autorisierer 234 können jedes Autorisierungs-Token 220 unter Verwendung ihrer eigenen Autorisiererschlüssel 118 signieren.The owner 10 can in the challenge request 270 at least one of an authorization period 226 to validate the authorization token 220 , a limit number 228 to limit the number of uses of the authorization token 220 a guy 232 the cryptographic operation of the authorization token 220 is assigned, or one by the owner 10 authorized additional authorized authoriser 234 specify the authorization token 220 to use. The authorized authorizers 234 may be authorized in the form of one or more additional authorization tokens that these authorizers assign to the HSM 200 in the requirement 250 need to provide a cryptographic operation. The authorized authorizers 234 can any authorization token 220 using their own authorization keys 118 sign.

In Reaktion auf das Empfangen der Herausforderungsanforderung 270 gibt das HSM 200 das entsprechende Autorisierungs-Token 220 an den Eigentümer 10 des kryptographischen Schlüssels 120 aus. In dem gezeigten Beispiel enthält das Autorisierungs-Token 220 eine HSM-Kennung 222, die den Daten zugeordnet ist, die das HSM 200 identifizieren, das das Autorisierungs-Token 220 ausgibt, und eine kryptographische Signatur 224 des HSM 200. Das Autorisierungs-Token 220 kann ferner Fähigkeitseinschränkungen enthalten, die dem Autorisierungs-Token 220 zugeordnet sind. Das Autorisierungs-Token 220 kann z. B. den Autorisierungszeitraum 226, während dessen das entsprechende Autorisierungs-Token 220 gültig ist, und/oder die Grenzanzahl 228, die die Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens 220 begrenzt, definieren. Das Autorisierungs-Token 220 kann ferner den Typ 232 der kryptographischen Operation für das entsprechende Autorisierungs-Token 220 und/oder irgendwelche durch den Eigentümer 10 des kryptographischen Schlüssels 10 bevollmächtigte bevollmächtigte Autorisierer 234 (d. h., bevollmächtigte Anwender/Entitäten) definieren, um das Token 220 vor dem Senden einer Anforderung 250 an das HSM 200 weiter zu validieren. Ein bevollmächtigter Autorisierer 234 kann sich auf eine Autorisierungsautorität, wie z. B. eine Entität, eine Person oder irgendeinen Cloud-Dienst (z. B. eine virtuelle Maschine des Kunden), der in dem verteilten System 140 ausgeführt wird, beziehen. In dem gezeigten Beispiel enthält das Autorisierungs-Token 220 ferner eine digitale Signatur 230 durch den Autorisiererschlüssel 118 des Eigentümers 10. Wenn das Autorisierungs-Token 220 einen bevollmächtigten Autorisierer 234 definiert, ist es erforderlich, dass der bevollmächtigte Autorisierer 234 das Autorisierungs-Token 220 unter Verwendung eines entsprechenden Autorisiererschlüssels 118, der dem bevollmächtigten Autorisierer 234 zugeordnet ist, signiert.In response to receiving the challenge request 270 gives the HSM 200 the corresponding authorization token 220 to the owner 10 the cryptographic key 120 out. In the example shown, the authorization token contains 220 an HSM identifier 222 that is associated with the data that the HSM 200 identify the authorization token 220 and a cryptographic signature 224 of the HSM 200 , The authorization token 220 may also include capability restrictions associated with the authorization token 220 assigned. The authorization token 220 can z. B. the authorization period 226 during which the corresponding authorization token 220 is valid, and / or the limit number 228 indicating the number of uses of the corresponding authorization token 220 limited, define. The authorization token 220 can also be the type 232 the cryptographic operation for the corresponding authorization token 220 and / or any by the owner 10 the cryptographic key 10 empowered authorized authorizers 234 (ie, authorized users / entities) to define the token 220 before sending a request 250 to the HSM 200 continue to validate. An authorized authoriser 234 can refer to an authorization authority such. An entity, a person, or any cloud service (eg, a customer's virtual machine) operating in the distributed system 140 is executed, relate. In the example shown, the authorization token contains 220 also a digital signature 230 through the authorization key 118 of the owner 10 , If the authorization token 220 an authorized authoriser 234 defined, it is required that the authorized author 234 the authorization token 220 using an appropriate authorizer key 118 , the authorized author 234 is assigned, signed.

3 stellt eine graphische Darstellung 300 bereit, die beispielhafte Operationen veranschaulicht, die durch die Anwendervorrichtung 110 und das HSM 200 ausgeführt werden, um den kryptographischen Schlüssel 120 zu erzeugen. Die Anwendervorrichtung 110 kann einem Anwender 10 zugeordnet sein, der einem Kunden eines Dienstes entspricht, der in dem verteilten System 140 ausgeführt wird. Die graphische Darstellung 300 kann bezüglich des kryptographischen Systems 100 nach den 1 und 2 beschrieben werden. Die vertikale y-Achse gibt die von oben nach unten zunehmende Zeit an. Zum Zeitpunkt 1 erzeugt die Anwendervorrichtung 110 ein Paar von Autorisiererschlüsseln 118, wie z. B. asymmetrische oder symmetrische Schlüsselpaare, für die Verwendung beim Ausführen kryptographischer Operationen in dem HSM 200. Wenn das Paar von Autorisiererschlüsseln 118 asymmetrische Schlüssel enthält, können die asymmetrischen Schlüssel 118 einen nichtöffentlichen Autorisiererschlüssel 118a (z. B. einen Entschlüsselungsschlüssel oder einen Signierungsschlüssel) und einen öffentlichen Autorisiererschlüssel 118b (z. B. einen Verschlüsselungsschlüssel oder einen Verifikationsschlüssel) enthalten. Hier gehört der nichtöffentliche Autorisiererschlüssel 118a dem Kunden 10 und wird vordem HSM 200 in dem verteilten System 140 geheim gehalten, während der öffentliche Autorisiererschlüssel 118b die öffentlichen Teile des nichtöffentlichen Autorisiererschlüssels 118a enthält. Zum Zeitpunkt 2 sendet die Anwendervorrichtung 110 eine Erzeuge-Schlüssel-Operation (CreateKey(AK)) 320 durch das Senden des öffentlichen Autorisiererschlüssels 118a an das HSM 200 in dem verteilten System 140. Die Anwenderschnittstelle 112, die in der Anwendervorrichtung 110 ausgeführt wird, kann es der Anwendervorrichtung 110 erlauben, das Paar von Autorisiererschlüsseln 118 zu erzeugen und die CreateKey(AK) 320 zu senden. Die Anwenderschnittstelle 112 kann es dem Kunden 10 z. B. erlauben, auf eine Client-Bibliothek oder ein Befehlszeilenwerkzeug zuzugreifen, das Paar von Autorisiererschlüsseln 118 manuell zu erzeugen und eine Anrufanwendungs-Programmierschnittstelle (Anrufanwendungs-API) zu verwenden, um den öffentlichen Autorisiererschlüssel 118b an das HSM 200 zu senden, oder einfach eine API bereitstellen, die es dem HSM-Manager 150 oder einem anderen Dienst, der in dem verteilten System ausgeführt wird, erlaubt, die Autorisiererschlüssel 118 zu erzeugen. Zwischen den Zeitpunkten 2 und 3 entspricht die CreateKey(AK) einer verkäuferneutralen CreateKey(AK) 320 des HSM. 3 represents a graphical representation 300 ready to illustrate the exemplary operations performed by the user device 110 and the HSM 200 be executed to the cryptographic key 120 to create. The user device 110 can be a user 10 associated with a customer of a service operating in the distributed system 140 is performed. The graphic representation 300 with respect to the cryptographic system 100 according to the 1 and 2 to be discribed. The vertical y-axis indicates the time increasing from top to bottom. At the time 1 generates the user device 110 a pair of authorizer keys 118 , such as Asymmetric or symmetric key pairs for use in performing cryptographic operations in the HSM 200 , If the pair of authorization keys 118 contains asymmetric keys, the asymmetric keys can 118 a non-public authorization key 118a (eg a decryption key or a signing key) and a public authorization key 118b (eg an encryption key or a verification key). Here belongs the non-public authorization key 118a the customer 10 and will be in front of the HSM 200 in the distributed system 140 kept secret while the public authorizer key 118b the public parts of the non-public authorizer key 118a contains. At the time 2 sends the user device 110 a create key operation (CreateKey (AK)) 320 by sending the public authorizer key 118a to the HSM 200 in the distributed system 140 , The user interface 112 that in the user device 110 is executed, it may be the user device 110 allow the pair of authorization keys 118 to generate and send the CreateKey (AK) 320. The user interface 112 it can be the customer 10 z. For example, to allow access to a client library or command line tool, the pair of authorizer keys 118 to manually generate and use a call application programming interface (call application API) to obtain the public authorization key 118b to the HSM 200 to send, or simply provide an API to the HSM manager 150 or another service running in the distributed system allows the authorization keys 118 to create. Between the times 2 and 3 The CreateKey (AK) corresponds to a vendor-neutral CreateKey (AK) 320 of the HSM.

Zum Zeitpunkt 3 kann der HSM-Manager 150 die Erzeuge-Schlüssel-Operation 320, die den öffentlichen Autorisiererschlüssel 118 enthält, empfangen und an das HSM 200 senden. Die CreateKey(AK) 320 kann einer verkäuferspezifischen CreateKey(AK) 320 des HSM 200 entsprechen. Zum Zeitpunkt 4 zeichnet das HSM 200 in Reaktion auf das Empfangen der CreateKey(AK) 320 den öffentlichen Autorisiererschlüssel 118 (d. h., die öffentlichen Teile des nichtöffentlichen Autorisiererschlüssels 118) auf, während das HSM 200 zum Zeitpunkt 5 den kryptographischen Schlüssel 120 erzeugt und einwickelt. Hier wird der eingewickelte kryptographische Schlüssel 120 durch das HSM 200 verschlüsselt und signiert, wobei er die öffentlichen Teile der Autorisiererschlüssel 118 und die zugeordnete ACL 214 enthalten kann. Wie es hier verwendet wird, signiert das HSM 200 den eingewickelten kryptographischen Schlüssel 120 mit einem signierten Statement, das die Attribute der entsprechenden öffentlichen Teile des Autorisiererschlüssels 118 enthält. Wie offensichtlich wird, kann nur das HSM 200 Operationen an dem eingewickelten kryptographischen Schlüssel 120 ausführen, wenn die autorisierten Anwender 10 den eingewickelten kryptographischen Schlüssel 120 und das wenigstens eine durch die dem eingewickelten kryptographischen Schlüssel 120 zugeordnete ACL 214 spezifizierte Autorisierungs-Token 220 vorlegen. In einigen Szenarios stellt das Autorisierungs-Token 220 der Anforderung 250 einer kryptographischen Operation die ACL 214 dem HSM 200 bereit. Zum Zeitpunkt 6 sendet das HSM 200 den eingewickelten kryptographischen Schlüssel 120 an den HSM-Manager 150, wobei zum Zeitpunkt 7 der HSM-Manager 150 den eingewickelten kryptographischen Schlüssel 120 empfängt und an die Anwendervorrichtung 110 sendet. Zwischen den Zeitpunkten 6 und 7 kann der eingewickelte kryptographische Schlüssel 120 ein verkäuferspezifisches Format des HSM enthalten, wohingegen der eingewickelte kryptographische Schlüssel 120 zum Zeitpunkt 7 ein verkäuferneutrales Format enthalten kann, wenn der HSM-Manager 150 den Schlüssel 120 an die Anwendervorrichtung 110 sendet.At the time 3 can the HSM manager 150 the create key operation 320 that the public authorizer key 118 contains, received and sent to the HSM 200 send. The CreateKey (AK) 320 may be a vendor-specific CreateKey (AK) 320 of the HSM 200 correspond. At the time 4 HSM 200 records the public authorization key in response to receiving CreateKey (AK) 320 118 (ie, the public parts of the non-public authorizer key 118 ) while the HSM 200 at the time 5 the cryptographic key 120 generated and wrapped. Here is the wrapped cryptographic key 120 through the HSM 200 encrypted and signed, taking the public parts of the authorization keys 118 and the associated ACL 214 may contain. As used herein, the HSM signs 200 the wrapped cryptographic key 120 with a signed statement showing the attributes of the corresponding public Parts of the authorizer key 118 contains. As it becomes obvious, only the HSM can 200 Operations on the wrapped cryptographic key 120 perform when authorized users 10 the wrapped cryptographic key 120 and the at least one through the wrapped cryptographic key 120 associated ACL 214 specified authorization tokens 220 submit. In some scenarios, the authorization token represents 220 the requirement 250 a cryptographic operation the ACL 214 the HSM 200 ready. At the time 6 sends the HSM 200 the wrapped cryptographic key 120 to the HSM manager 150 , at the time 7 the HSM manager 150 the wrapped cryptographic key 120 receives and to the user device 110 sends. Between the times 6 and 7 Can the wrapped cryptographic key 120 contain a vendor-specific format of the HSM, whereas the wrapped cryptographic key 120 at the time 7 may include a vendor-neutral format if the HSM manager 150 the key 120 to the user device 110 sends.

4 stellt eine graphische Darstellung 400 bereit, die die durch das HSM 200 ausgeführten beispielhaften Operationen veranschaulicht, um eine Anforderung 250 einer kryptographischen Operation von der Anwendervorrichtung 110, die einem Eigentümer des kryptographischen Schlüssels 120 zugeordnet ist, zu verarbeiten. Die graphische Darstellung 400 kann bezüglich des kryptographischen Systems 100 nach den 1 und 2 beschrieben werden. Die vertikale y-Achse gibt die von oben nach unten zunehmende Zeit an. Zum Zeitpunkt 1 erzeugt die Anwendervorrichtung 110 ein Autorisierungs-Token 220, das den Zugriff auf den kryptographischen Schlüssel 120 für die Verwendung beim Ausführen einer entsprechenden kryptographischen Operation an dem HSM 200 autorisiert. Die Anwendervorrichtung 110 kann das Autorisierungs-Token 220 durch das Senden der Herausforderungsanforderung 270 erzeugen, um das HSM 220 zu veranlassen, das entsprechende Autorisierungs-Token 220 zu dem Eigentümer 10 des kryptographischen Schlüssels 120 auszugeben, wie oben bezüglich 2 beschrieben worden ist. In einigen Implementierungen erzeugt die Anwendervorrichtung 110 das Autorisierungs-Token 220 zum Zeitpunkt der Erzeugung des kryptographischen Schlüssels 120. 4 represents a graphical representation 400 which illustrates the exemplary operations performed by the HSM 200 to be a request 250 a cryptographic operation from the user device 110 who owns the cryptographic key 120 is assigned to process. The graphic representation 400 can with respect to the cryptographic system 100 after the 1 and 2 to be discribed. The vertical y-axis indicates the time increasing from top to bottom. At the time 1 generates the user device 110 an authorization token 220 that access to the cryptographic key 120 for use in performing a corresponding cryptographic operation on the HSM 200 authorized. The user device 110 can the authorization token 220 by sending the challenge request 270 generate to the HSM 220 to initiate the appropriate authorization token 220 to the owner 10 the cryptographic key 120 as above regarding 2 has been described. In some implementations, the user device generates 110 the authorization token 220 at the time of generation of the cryptographic key 120.

Zum Zeitpunkt 2 sendet die Anwendervorrichtung 110 die Anforderung 250 einer kryptographischen Operation, die den eingewickelten kryptographischen Schlüssel 120 und das Autorisierungs-Token 220 enthält, an das HSM 200. Der eingewickelte kryptographische Schlüssel 120 kann durch das HSM 200 unter Verwendung des Autorisiererschlüssels 118 des Anwenders 10 erzeugt werden, wie oben bezüglich 3 beschrieben worden ist. In einigen Beispielen enthält die durch die Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation eine Verschlüsselungsoperation. Hier fordert die Anforderung 250 einer kryptographischen Operation das HSM 200 auf, die Verschlüsselungsoperation unter Verwendung des eingewickelten kryptographischen Schlüssels 120 und des Autorisierungs-Tokens 220 an Klartext zu verarbeiten. Folglich kann die Anforderung 250 einer kryptographischen Operation Klartext enthalten, den der Anwender 10 über den kryptographischen Schlüssel 120 verschlüsseln will. Wenn die kryptographische Operation eine Entschlüsselungsoperation enthält, kann die Anforderung 250 einer kryptographischen Operation verschlüsselten Text enthalten, den der Anwender 10 über den kryptographischen Schlüssel 120 entschlüsseln will. Wenn andererseits die kryptographische Operation eine Signierungsoperation enthält, kann die Anforderung 250 einer kryptographischen Operation eine digitale Signatur über den kryptographischen Schlüssel 120 durch den Anwender 10 enthalten. Die Anwenderschnittstelle 112, die in der Anwendervorrichtung 110 ausgeführt wird, kann es der Anwendervorrichtung 110 erlauben, das Autorisierungs-Token 220 zu erzeugen und die Anforderung 250 einer kryptographischen Operation, die den kryptographischen Schlüssel 120 und das Autorisierungs-Token 220 enthält, an das HSM 200 zu senden. Die Anwenderschnittstelle 112 kann es dem Anwender 10 z. B. erlauben, auf eine Client-Bibliothek oder ein Befehlszeilenwerkzeug zuzugreifen, um das Autorisierungs-Token 220 zu erzeugen, eine API bereitstellen, um es dem Anwender 10 zu erlauben, das Autorisierungs-Token 220 manuell zu erzeugen, und/oder eine Anruf-API verwenden, um die Anforderung 250 einer kryptographischen Operation an das HSM 200 zu senden. Zum Zeitpunkt 3 kann der HSM-Manager 150 die Anforderung 250 einer kryptographischen Operation, die den kryptographischen Schlüssel 120 und das Autorisierungs-Token 220 enthält, empfangen und an das HSM 200 senden.At the time 2 sends the user device 110 the request 250 a cryptographic operation containing the wrapped cryptographic key 120 and the authorization token 220 contains, to the HSM 200 , The wrapped cryptographic key 120 can through the HSM 200 using the authorizer key 118 of the user 10 as described above 3 has been described. In some examples, this is included by the requirement 250 cryptographic operation requested by a cryptographic operation, an encryption operation. Here, the request 250 of a cryptographic operation requests the HSM 200 on, the encryption operation using the wrapped cryptographic key 120 and the authorization token 220 to process in plain text. Consequently, the requirement may be 250 A plain-text cryptographic operation included by the user 10 over the cryptographic key 120 wants to encrypt. If the cryptographic operation contains a decryption operation, the request may 250 a cryptographic operation containing encrypted text that the user 10 over the cryptographic key 120 wants to decode. On the other hand, if the cryptographic operation contains a signing operation, the request may 250 a cryptographic operation a digital signature on the cryptographic key 120 by the user 10 contain. The user interface 112 that in the user device 110 is executed, it may be the user device 110 allow the authorization token 220 to generate and the requirement 250 a cryptographic operation containing the cryptographic key 120 and the authorization token 220 contains, to the HSM 200 to send. The user interface 112 it can be the user 10 z. For example, you can access a client library or command-line tool to obtain the authorization token 220 to generate an API to give it to the user 10 to allow the authorization token 220 manually generate and / or use a call API to request 250 a cryptographic operation to the HSM 200 to send. At the time 3 can the HSM manager 150 the request 250 a cryptographic operation containing the cryptographic key 120 and the authorization token 220 contains, received and sent to the HSM 200 send.

Zum Zeitpunkt 4 authentifiziert und autorisiert das HSM 200 die von der Anwendervorrichtung 110 empfangene Anforderung 250 einer kryptographischen Operation. Hier kann das HSM 200 bestimmen, ob die ACL 214, die dem kryptographischen Schlüssel 120 (z. B. dem Verschlüsselungsschlüssel) der Anforderung 250 einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den eingewickelten kryptographischen Schlüssel 120 zu steuern. Durch das Autorisieren der Zuordnung der ACL 214 zu dem eingewickelten kryptographischen Schlüssel 120 verhindert das HSM 200, das nicht autorisierte ACLs versuchen, das HSM 200 zu verwirren und dadurch nicht autorisierten Zugriff auf das HSM 200 zu erlangen. Die ACL 214, die dem kryptographischen Schlüssel 120 der Anforderung 250 zugeordnet ist, kann durch das Autorisierungs-Token 220 bereitgestellt werden (das Autorisierungs-Token 220 funktioniert z. B. als die ACL 214). In einigen Beispielen bestimmt das HSM 200 ferner, ob die durch die Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation (z. B. die Verschlüsselungsoperation) durch die ACL 214 erlaubt ist. Das HSM 200 validiert ferner das Autorisierungs-Token 220 der Anforderung 250 einer kryptographischen Operation. Im Allgemeinen validiert das HSM 200 das wenigstens eine in der Anforderung 250 enthaltene Autorisierungs-Token 220 durch das Sicherstellen, dass jedes Autorisierungs-Token 220 der ACL 214 für die durch die Anforderung 250 einer kryptographischen Operation angeforderte entsprechende kryptographische Operation entspricht. Mit anderen Worten, der Anwender 10 muss die durch die ACL 214 für die entsprechende kryptographische Operation spezifizierten richtigen Autorisierungs-Token 220 bereitstellen. Das Autorisierungs-Token 220 kann z. B. gültig sein, wenn das Autorisierungs-Token 220 durch den Autorisiererschlüssel 118 signiert ist, d. h., das Autorisierungs-Token 220 die durch den Autorisiererschlüssel 118 signierte digitale Signatur 230 (2) enthält. Das Autorisierungs-Token 220 kann außerdem gültig sein, wenn das HSM 200 das Autorisierungs-Token 220 innerhalb des Autorisierungszeitraums 226 (2) empfängt, der durch das Autorisierungs-Token 220 definiert ist. Das HSM 200 kann z. B. auf den internen Takt 211 Bezug nehmen, um den Zeitpunkt zu bestimmen, zu dem das Autorisierungs-Token 220 der Anforderung 250 einer kryptographischen Operation empfangen wurde. At the time 4 authenticates and authorizes the HSM 200 that of the user device 110 received request 250 a cryptographic operation. Here is the HSM 200 determine if the ACL 214 that the cryptographic key 120 (eg the encryption key) associated with request 250 of a cryptographic operation is authorized to access the wrapped cryptographic key 120 to control. By authorizing the assignment of the ACL 214 to the wrapped cryptographic key 120 prevents the HSM 200 Unauthorized ACLs try the HSM 200 confuse and thereby unauthorized access to the HSM 200 to get. The ACL 214 that the cryptographic key 120 associated with request 250 may be through the authorization token 220 be provided (the authorization token 220 works z. As the ACL 214 ). In some examples, the HSM determines 200 furthermore, whether by the requirement 250 cryptographic operation requested by a cryptographic operation (e.g., the encryption operation) by the ACL 214 allowed is. The HSM 200 also validates the authorization token 220 the requirement 250 a cryptographic operation. In general, the HSM validates 200 the at least one in the requirement 250 included authorization tokens 220 by ensuring that each authorization token 220 the ACL 214 for by the requirement 250 corresponds to a corresponding cryptographic operation requested by a cryptographic operation. In other words, the user 10 must have the correct authorization tokens specified by the ACL 214 for the corresponding cryptographic operation 220 provide. The authorization token 220 can z. B. valid if the authorization token 220 through the authorization key 118 is signed, ie, the authorization token 220 the digital signature signed by the authorization key 118 230 ( 2 ) contains. The authorization token 220 can also be valid if the HSM 200 the authorization token 220 within the authorization period 226 ( 2 ) received by the authorization token 220 is defined. The HSM 200 can z. B. on the internal clock 211 Referring to determine the time at which the authorization token 220 of the request 250 a cryptographic operation was received.

Das Autorisierungs-Token 220 kann zusätzlich oder alternativ gültig sein, wenn das HSM 200 das Autorisierungs-Token weniger oft als die durch das Autorisierungs-Token 220 definierte Grenzanzahl 228 (2) empfängt. Das HSM 200 kann z. B. auf den Zähler 213 Bezug nehmen, um zu bestimmen, wie oft das Autorisierungs-Token 220 durch das HSM 200 empfangen worden ist. Wenn der Wert des Zählers 213 kleiner als die Grenzanzahl 228 ist, kann das HSM 200 den Zähler 213 inkrementieren. Da das HSM 200 viele verschiedene kryptographische Operationen ausführen kann, kann das HSM 200 einen entsprechenden Zähler 213 implementieren, der jeder der verschiedenen kryptographischen Operationen zugeordnet ist, die zu einem gegebenen Zeitpunkt durch das HSM 200 ausgeführt werden können.The authorization token 220 may additionally or alternatively be valid if the HSM 200 the authorization token less often than the authorization token 220 defined limit number 228 ( 2 ) receives. The HSM 200 can z. B. on the counter 213 Refer to to determine how many times the authorization token 220 through the HSM 200 has been received. When the value of the counter 213 is smaller than the limit number 228 is, the HSM can 200 the counter 213 increment. Because the HSM 200 can perform many different cryptographic operations, the HSM 200 a corresponding counter 213 which is associated with each of the various cryptographic operations performed by the HSM at any given time 200 can be executed.

Wenn das Autorisierungs-Token 220 gültig ist und die Zuordnung der ACL 214 zu dem eingewickelten kryptographischen Schlüssel 120, der in der Anforderung 250 einer kryptographischen Operation enthalten ist, autorisiert ist, verarbeitet das HSM 200 zum Zeitpunkt 5 die Anforderung 250 einer kryptographischen Operation. Das Autorisierungs-Token 220 der Anforderung 250 einer kryptographischen Operation kann die ACL 214 enthalten. Weil das HSM 200 bestimmt, dass diese beiden Bedingungen erfüllt sind, kann das HSM 200 fortfahren, um den kryptographischen Schlüssel 120 auszuwickeln, um die durch die Anforderung 250 einer kryptographischen Operation angeforderte Operation auszuführen. Wenn die durch die Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation z. B. die Verschlüsselungsoperation enthält, führt das HSM 200 die Verschlüsselungsoperation unter Verwendung des kryptographischen Schlüssels 120 an Klartext aus. Hier enthält die Anforderung 250 zusätzlich den Klartext zur Verschlüsselung. Zum Zeitpunkt 6 sendet das HSM 200 eine Antwort, die das Ergebnis 260 der kryptographischen Operation enthält. Das Ergebnis 260 der kryptographischen Operation kann z. B. den verschlüsselten Text enthalten, der durch das HSM 200 an dem in der Anforderung 250 einer kryptographischen Operation bereitgestellten Klartext berechnet worden ist. In den Szenarios, in denen die kryptographische Operation einer Signierungsoperation entspricht, kann die Signierungsoperation eine digitale Signatur enthalten, um einen Ursprung eines elektronischen Dokuments zu verifizieren und/oder einen Status des elektronischen Dokuments bereitzustellen. Der HSM-Manager 150 kann zum Zeitpunkt 7 den eingewickelten Schlüssel 120 und das signierte Statement empfangen und an die Anwendervorrichtung 110 senden.If the authorization token 220 is valid and the assignment of the ACL 214 to the wrapped cryptographic key 120 that in the request 250 a cryptographic operation is authorized, processes the HSM 200 at the time 5 the request 250 a cryptographic operation. The authorization token 220 the requirement 250 a cryptographic operation, the ACL 214 contain. Because the HSM 200 determines that these two conditions are met, the HSM 200 proceed to the cryptographic key 120 unwrap by the requirement 250 perform a cryptographic operation requested operation. If by the requirement 250 a cryptographic operation requested by a cryptographic operation e.g. B. contains the encryption operation, performs the HSM 200 the encryption operation using the cryptographic key 120 in plain text. Here contains the request 250 In addition, the plaintext for encryption. At the time 6 sends the HSM 200 an answer that the result 260 contains the cryptographic operation. The result 260 the cryptographic operation can z. For example, the encrypted text contained by the HSM 200 at the in the request 250 a plaintext provided by a cryptographic operation. In the scenarios where the cryptographic operation corresponds to a signing operation, the signing operation may include a digital signature to verify an origin of an electronic document and / or to provide a status of the electronic document. The HSM manager 150 can at the time 7 the wrapped key 120 and receive the signed statement and to the user device 110 send.

In einigen Konfigurationen kann die Anwendervorrichtung 110 das Autorisierungs-Token 220 erzeugen und den HSM-Manager 150 auffordern, das Autorisierungs-Token 220 in dem verteilten System 140 (z. B. innerhalb der Speicherbetriebsmittel 146) zu speichern. Hier kann das Autorisierungs-Token 220 langlebig sein. In einigen Beispielen enthält das verteilte System 140 ein Archiv, das die Autorisierungs-Token speichert. Die Anwendervorrichtung 110 kann dann eine Anforderung 250 einer kryptographischen Operation, die nur die kryptographische Operation (z. B. eine Verschlüsselungsoperation) und den kryptographischen Schlüssel 120 enthält, an den HSM-Manager 150 senden, wobei der HSM-Manager 150 das Autorisierungs-Token 220 für die Einbeziehung in die Anforderung 250 einer kryptographischen Operation für den HSM 200 wiedergewinnen kann.In some configurations, the user device may 110 the authorization token 220 generate and the HSM manager 150 prompt for the authorization token 220 in the distributed system 140 (eg within the memory resources 146 ) save. Here is the authorization token 220 be durable. In some examples, the distributed system includes 140 an archive that stores the authorization tokens. The user device 110 can then make a request 250 a cryptographic operation containing only the cryptographic operation (eg, an encryption operation) and the cryptographic key 120 to the HSM manager 150 send, with the HSM manager 150 the authorization token 220 for inclusion in the requirement 250 a cryptographic operation for the HSM 200 can regain.

5 stellt eine graphische Darstellung 500 bereit, die die durch das HSM 200 ausgeführten beispielhaften Operationen veranschaulicht, um eine Anforderung 250 einer kryptographischen Operation von einem durch den Eigentümer 10 des kryptographischen Schlüssels 120 bevollmächtigten bevollmächtigten Autorisierer 234 zu verarbeiten. Die graphische Darstellung 500 kann bezüglich des kryptographischen Systems 100 nach den 1 und 2 beschrieben werden. Die vertikale y-Achse gibt die von oben nach unten zunehmende Zeit an. Zum Zeitpunkt 1 erzeugt die dem Eigentümer 10 zugeordnete Anwendervorrichtung 110 ein erstes Autorisierungs-Token (T1) 220a zur Verwendung beim Ausführen einer entsprechenden kryptographischen Operation in dem HSM 200. In dem gezeigten Beispiel definiert das erste Autorisierungs-Token 220a einen oder mehrere durch den Eigentümer 10 bevollmächtigte bevollmächtigte Autorisierer 234, um das erste Autorisierungs-Token 220a zu validieren, bevor die Anforderung 250 einer kryptographischen Operation an das HSM 200 gesendet wird. 5 represents a graphical representation 500 which illustrates the exemplary operations performed by the HSM 200 to be a request 250 a cryptographic operation of one by the owner 10 the cryptographic key 120 Authorized Authorized Authoriser 234 to process. The graphic representation 500 can with respect to the cryptographic system 100 after the 1 and 2 to be discribed. The vertical y-axis indicates the time increasing from top to bottom. At the time 1 creates the owner 10 assigned user device 110 a first authorization token (T 1 ) 220a for use in performing a corresponding cryptographic operation in the HSM 200 , In the example shown, the first authorization token defines 220a one or more by the owner 10 empowered authorized authorizers 234 to the first authorization token 220a to validate before the request 250 a cryptographic operation to the HSM 200 is sent.

Zum Zeitpunkt 2 sendet die Anwendervorrichtung 110 eine Bevollmächtigungsanforderung 450, die das erste Autorisierungs-Token 220a enthält, an jeden bevollmächtigten Autorisierer 234, die jeden bevollmächtigten Autorisierer 234 auffordert, vor dem Senden der Anforderung 250 einer kryptographischen Operation an das HSM 200 das erste Autorisierungs-Token 220a zu validieren und zu signieren. In einigen Beispielen ist das erste Autorisierungs-Token 220a langlebig und in dem verteilten System 140 (d. h., innerhalb der Speicherbetriebsmittel 146) gespeichert. Die Bevollmächtigungsanforderung 450 kann an mehrere durch das erste Autorisierungs-Token 220a definierte bevollmächtigte Autorisierer 234 gesendet werden. Durch das Validieren und Signieren des ersten Autorisierungs-Tokens 220a kann der bevollmächtigte Autorisierer 234 zusätzliche Validierungsverfahren ausführen und eine dem bevollmächtigten Autorisierer 234 zugeordnete interne Autorisierungsstruktur (z. B. einen Cloud-Dienst) in eine durch das HSM 200 verständliche Autorisierungsstruktur übersetzen. Entsprechend erzeugt zum Zeitpunkt 3 der bevollmächtigte Autorisierer 234 ein zweites Autorisierungs-Token (T2) 220b, das eine durch einen Autorisierungsschlüssel 118 des bevollmächtigten Autorisierers 234 signierte entsprechende digitale Signatur enthält. Dem HSM-Manager 150 kann eine öffentliche Schnittstelle für einen Cluster von HSMs 200 in dem verteilten System 140 zugeordnet sein.At the time 2 sends the user device 110 an authorization request 450 that's the first authorization token 220a to any authorized authoriser 234 who have each authorized author 234 prompts before sending the request 250 a cryptographic operation to the HSM 200 the first authorization token 220a to validate and sign. In some examples, the first authorization token is 220a durable and in the distributed system 140 (ie, within the memory resources 146 ) saved. The authorization request 450 can connect to multiple through the first authorization token 220a defined authorized authorizers 234 be sent. By validating and signing the first authorization token 220a may be the authorized author 234 carry out additional validation procedures and an authorized authoriser 234 associated internal authorization structure (eg, a cloud service) into one through the HSM 200 translate understandable authorization structure. Generated accordingly at the time 3 the authorized authoriser 234 a second authorization token (T 2 ) 220b, one by an authorization key 118 of the authorized authorizer 234 contains corresponding digital signature. The HSM manager 150 can be a public interface for a cluster of HSMs 200 in the distributed system 140 be assigned.

Zum Zeitpunkt 4 sendet der bevollmächtigte Autorisierer 234 die Anforderung 250 einer kryptographischen Operation, die den kryptographischen Schlüssel 120, das erste Autorisierungs-Token T1 220a und das zweite Autorisierungs-Token T2 220b enthält, an das HSM 200. In dem gezeigten Beispiel sind das erste und das zweite Autorisierungs-Token 220a, 220b innerhalb der Anforderung 250 einer kryptographischen Operation aneinandergebunden. Der kryptographische Schlüssel 120 des bevollmächtigten Autorisierers 234 ist eingewickelt, so dass er die öffentlichen Teile des Autorisiererschlüssels 118 des bevollmächtigten Autorisierers 234 zum Signieren beider Autorisierungs-Token 220a, 220b enthält. In anderen Beispielen bettet der bevollmächtigte Autorisierer 234 das erste Autorisierungs-Token 220a in das zweite Autorisierungs-Token 220b ein, wobei er die eingebetteten Autorisierungs-Token 220 zusammen mit dem kryptographischen Schlüssel 120 in die Anforderung 250 einer kryptographischen Operation bündelt.At the time 4 sends the authorized authorizer 234 the request 250 a cryptographic operation containing the cryptographic key 120, the first authorization token T 1 220a and the second authorization token T 2 220b to the HSM 200 , In the example shown, the first and second authorization tokens are 220a . 220b within the requirement 250 a cryptographic operation linked together. The cryptographic key 120 of the authorized authorizer 234 is wrapped up so that he has the public parts of the authorization key 118 of the Authorized Authorizer 234 to sign both authorization tokens 220a . 220b contains. In other examples, the authorized authorizer embeds 234 the first authorization token 220a in the second authorization token 220b where it contains the embedded authorization tokens 220 along with the cryptographic key 120 in the requirement 250 a cryptographic operation bundles.

In einigen Beispielen enthält die durch die Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation eine Verschlüsselungsoperation. Hier fordert die Anforderung 250 einer kryptographischen Operation das HSM 200 auf, die Verschlüsselungsoperation unter Verwendung des nichtöffentlichen kryptographischen Schlüssels 120, des ersten Autorisierungs-Tokens T1 220a und des zweiten Autorisierungs-Tokens T2 220b an dem Klartext zu verarbeiten. Folglich kann die Anforderung 250 einer kryptographischen Operation Klartext enthalten, der eine Verschlüsselung über den kryptographischen Schlüssel 120 erfordert. Wenn die kryptographische Operation eine Entschlüsselungsoperation enthält, kann die Anforderung 250 einer kryptographischen Operation verschlüsselten Text enthalten, der die Entschlüsselung über den kryptographischen Schlüssel 120 erfordert. In anderen Beispielen kann die kryptographische Operation eine Signierungsoperation enthalten, die das Signieren über die Inhalte des kryptographischen Schlüssels 120 erfordert.In some examples, this is included by the requirement 250 cryptographic operation requested by a cryptographic operation, an encryption operation. Here demands the request 250 a cryptographic operation the HSM 200 on, the encryption operation using the non-public cryptographic key 120 , the first authorization token T 1 220a and the second authorization token T 2 220b to be processed on the plaintext. Consequently, the requirement may be 250 a plaintext cryptographic operation containing encryption over the cryptographic key 120 requires. If the cryptographic operation contains a decryption operation, the request may 250 a cryptographic operation containing encrypted text that decrypted the cryptographic key 120 requires. In other examples, the cryptographic operation may include a signing operation that signifies the contents of the cryptographic key 120 requires.

Zum Zeitpunkt 5 authentifiziert und autorisiert das HSM 200 die von dem bevollmächtigten Autorisierer 234 empfangene Anforderung 250 einer kryptographischen Operation. In einigen Beispielen kann das HSM 200 ferner bestimmen, ob die durch die Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation (z. B. die Verschlüsselungsoperation) durch die dem kryptographischen Schlüssel 120 zugeordnete ACL 214 erlaubt ist. Wenigstens eines der Autorisierungs-Token 220 kann die ACL 214 bereitstellen, so dass eine Zugriffsstrategie auf das HSM 200 verfeinert werden kann, ohne sich auf eine in dem HSM 200 gespeicherte Master-ACL stützen zu müssen. Die ACL 214 kann spezifizieren, welche und wie viele Autorisierungs-Token 220, 220a-b benötigt werden, um die Anforderung 250 einer kryptographischen Operation zu verarbeiten. Das HSM 200 validiert ferner die Autorisierungs-Token 220a, 220b der Anforderung 250 einer kryptographischen Operation. Das Autorisierungs-Token 220 kann z. B. gültig sein, wenn beide Autorisierungs-Token 220a, 220b durch die Autorisiererschlüssel 118 des Anwenders 10 und den bevollmächtigten Autorisierer 234 signiert sind, d. h., die Autorisierungs-Token 220a, 220b die durch die Autorisiererschlüssel 118 signierte digitale Signatur 230 (2) enthalten. In einigen Beispielen ist das erste Autorisierungs-Token 220a langlebig und ist das zweite Autorisierungs-Token 220b gültig, wenn das HSM 200 das zweite Autorisierungs-Token 220b innerhalb eines durch das zweite Autorisierungs-Token 220b definierten Autorisierungszeitraums 226 (2) empfängt. Das HSM 200 kann z. B. auf den internen Takt 211 Bezug nehmen, um den Zeitpunkt zu bestimmen, zu dem das zweite Autorisierungs-Token 220b der Anforderung 250 einer kryptographischen Operation empfangen wurde. Zusätzlich oder alternativ kann das Autorisierungs-Token 220 gültig sein, wenn das HSM 200 die Autorisierungs-Token 220a, 220b weniger oft als eine durch die Autorisierungs-Token 220a, 220b definierte Grenzanzahl 228 (2) empfängt. Das HSM 200 kann z. B. auf den Zähler 213 Bezug nehmen, um zu bestimmen, wie oft die Autorisierungs-Token 220a, 220b durch das HSM 200 empfangen worden sind. Wenn der Wert des Zählers 213 kleiner als die Grenzanzahl 228 ist, kann das HSM 200 den Zähler 213 inkrementieren. Eines oder beide der Autorisierungs-Token 220a, 220b können eine entsprechende Grenzanzahl 228 definieren. Wenn beide Autorisierungs-Token 220a, 220b die Grenzanzahlen 228 definieren, kann die einem der Token 220a, 220b entsprechende Grenzanzahl 228 die gleiche wie die Grenzanzahl 228 sein oder von der Grenzanzahl 228 verschieden sein, die dem anderen der Token 220a, 220b entspricht.At the time 5 authenticates and authorizes the HSM 200 that of the authorized author 234 received request 250 a cryptographic operation. In some examples, the HSM 200 further determine whether by the requirement 250 a cryptographic operation requested by a cryptographic operation (e.g., the encryption operation) by the cryptographic key 120 associated ACL 214 allowed is. At least one of the authorization tokens 220 can the ACL 214 deploy, giving an access strategy to the HSM 200 can be refined without relying on one in the HSM 200 to store stored master ACL. The ACL 214 can specify which and how many authorization tokens 220 . 220a-b needed to meet the requirement 250 to process a cryptographic operation. The HSM 200 also validates the authorization tokens 220a . 220b the request 250 of a cryptographic operation. The authorization token 220 can z. For example, if both authorization tokens 220a . 220b through the authorization keys 118 of the user 10 and the Authorized Authorizer 234 are signed, that is, the authorization tokens 220a . 220b the digital signature signed by the authorization keys 118 230 ( 2 ) contain. In some examples, the first authorization token is 220a durable and the second authorization token 220b is valid if the HSM 200 the second authorization token 220b within one by the second authorization token 220b defined authorization period 226 ( 2 ) receives. The HSM 200 can z. B. on the internal clock 211 Reference to determine the time at which the second authorization token 220b the requirement 250 a cryptographic operation was received. Additionally or alternatively, the authorization token 220 be valid if the HSM 200 the authorization tokens 220a . 220b less often than one through the authorization tokens 220a . 220b defined limit number 228 ( 2 ) receives. The HSM 200 can z. B. on the counter 213 Make reference to determine how often the authorization tokens 220a . 220b through the HSM 200 have been received. If the value of the counter 213 less than the limit number 228 is, the HSM can 200 the counter 213 increment. One or both of the authorization tokens 220a . 220b can have a corresponding limit number 228 define. If both authorization tokens 220a . 220b the marginal numbers 228 can define one of the tokens 220a . 220b corresponding limit number 228 the same as the limit number 228 his or her limit number 228 be different to the other of the tokens 220a . 220b equivalent.

Wenn die Autorisierungs-Token 220a, 220b gültig sind und der kryptographische Schlüssel 120 der Anforderung 250 einer kryptographischen Operation authentifiziert wird, verarbeitet das HSM 200 zum Zeitpunkt 6 die Anforderung 250 einer kryptographischen Operation. Wenn die durch die Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation z. B. die Verschlüsselungsoperation enthält, führt das HSM 200 die Verschlüsselungsoperation unter Verwendung des kryptographischen Schlüssels 120 an dem Klartext aus. Hier enthält die Anforderung 250 zusätzlich den Klartext zur Verschlüsselung. Zum Zeitpunkt 7 sendet das eine Antwort, die das Ergebnis 260 der kryptographischen Operation enthält, an den (die) bevollmächtigten Autorisierer 234. Das Ergebnis 260 einer Verschlüsselungsoperation kann z. B. den durch das HSM 200 an dem in der Anforderung 250 einer kryptographischen Operation bereitgestellten Klartext berechneten verschlüsselten Text enthalten.If the authorization tokens 220a . 220b are valid and the cryptographic key 120 the requirement 250 Authenticated to a cryptographic operation, the HSM processes 200 at the time 6 the request 250 a cryptographic operation. If by the requirement 250 a cryptographic operation requested by a cryptographic operation e.g. B. contains the encryption operation, performs the HSM 200 the encryption operation using the cryptographic key 120 on the plaintext. Here contains the request 250 In addition, the plaintext for encryption. At time 7, it sends a response indicating the result 260 the cryptographic operation to the authorized author (s) 234 , The result 260 an encryption operation can e.g. As by the HSM 200 at the in the request 250 a cryptographic operation provided plaintext computed encrypted text.

6 stellt eine graphische Darstellung 600 bereit, die beispielhafte Operationen veranschaulicht, die durch das HSM 200 ausgeführt werden, um einen Eintrag 662 in einem Prüfprotokoll 660 für jede durch das HSM 200 verarbeitete kryptographische Operation zu protokollieren. Die graphische Darstellung 600 kann bezüglich des kryptographischen Systems 100 nach den 1 und 2 und der graphischen Darstellung 500 nach 5 beschrieben werden. Die vertikale y-Achse gibt die von oben nach unten zunehmende Zeit an. Zum Zeitpunkt 1 erzeugt die einem Eigentümer eines kryptographischen Schlüssels 120 zugeordnete Anwendervorrichtung 110 ein Autorisierungs-Token 220, wobei sie zum Zeitpunkt 2 eine Bevollmächtigungsanforderung 450, die das Autorisierungs-Token 220 enthält, an wenigstens einen durch das Autorisierungs-Token 220 definierten bevollmächtigten Autorisierer 234 sendet. In einigen Beispielen definiert das Autorisierungs-Token 220 ferner eine Grenzanzahl 228, die die Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens 220 begrenzt. Das Autorisierungs-Token 220 kann z. B. nur für zwei durch das HSM 200 verarbeitete kryptographische Operationen gültig sein. Der bevollmächtigte Autorisierer 234 kann das Autorisierungs-Token 220 unter Verwendung eines nichtöffentlichen kryptographischen Schlüssels 120 des bevollmächtigten Autorisierers 234 validieren und signieren. Der bevollmächtigte Autorisierer 234 kann außerdem ein zweites Autorisierungs-Token 220 erzeugen, das durch den bevollmächtigten Autorisierer 234 (d. h., unter Verwendung eines dem bevollmächtigten Autorisierer 234 zugeordneten entsprechenden Autorisiererschlüssels 118) digital signiert ist, und danach das durch den Eigentümer/Kunden 10 erzeugte erste Autorisierungs-Token an das durch den bevollmächtigten Autorisierer 234 erzeugte zweite Autorisierungs-Token 220 binden oder die beiden Autorisierungs-Token 220 gemeinsam einbetten, wie oben bezüglich der graphischen Darstellung 500 nach 5 erörtert worden ist. 6 represents a graphical representation 600 ready to illustrate the exemplary operations performed by the HSM 200 be executed to an entry 662 in a test report 660 for each through the HSM 200 to process processed cryptographic operation. The graphic representation 600 can with respect to the cryptographic system 100 after the 1 and 2 and the graphic representation 500 to 5 to be discribed. The vertical y-axis indicates the time increasing from top to bottom. At the time 1 creates the one owner of a cryptographic key 120 assigned user device 110 an authorization token 220 At the time 2 an authorization request 450 that the authorization token 220 to at least one through the authorization token 220 defined authorized authoriser 234 sends. In some examples, the authorization token 220 further defines a limit count 228 indicating the number of uses of the corresponding authorization token 220 limited. The authorization token 220 can z. B. only for two by the HSM 200 processed cryptographic operations to be valid. The authorized authorizer 234 For example, the authorization token 220 may be using a non-public cryptographic key 120 of the Authorized Authorizer 234 validate and sign. The authorized authorizer 234 can also have a second authorization token 220 generated by the authorized author 234 (ie, using an authorized authoriser 234 corresponding corresponding authorizer key 118 ) is digitally signed, and then by the owner / customer 10 generated first authorization token by the authorized authorizer 234 generated second authorization tokens 220 bind or the two authorization tokens 220 embed together as above with respect to the graph 500 to 5 has been discussed.

Zum Zeitpunkt 3 sendet der bevollmächtigte Autorisierer 234 eine erste Anforderung 250, 250a einer kryptographischen Operation, die das Autorisierungs-Token 220 enthält, an das HSM 200. Für die Klarheit sind der kryptographische Schlüssel 120 und irgendwelche zusätzlichen Autorisierungs-Token 220, die der bevollmächtigte Autorisierer 234 erzeugt haben kann, nicht gezeigt. Zum Zeitpunkt 4 verarbeitet das HSM 200 die erste Anforderung 250a einer kryptographischen Operation nach dem Authentifizieren und Autorisieren der von dem bevollmächtigten Autorisierer 234 empfangenen ersten Anforderung 250a einer kryptographischen Operation. In dem gezeigten Beispiel bestimmt das HSM 200, dass der kryptographische Schlüssel 200 und die zugeordnete ACL 214 der Anforderung 250a authentisch sind, wobei er das Autorisierungs-Token 220 validiert. Das Autorisierungs-Token 220 kann gültig sein, wenn das HSM 200 das Autorisierungs-Token weniger oft als die durch das Autorisierungs-Token 220 definierte Grenzanzahl 228 (2) empfängt. Wenn die Grenzanzahl 228 z. B. gleich zwei („2“) ist, kann das HSM 200 auf den Zähler 213 Bezug nehmen, um zu bestimmen, wie oft das Autorisierungs-Token 220 durch das HSM 200 empfangen worden ist. Wenn der Wert des Zählers 213 kleiner als die Grenzanzahl 228 (z. B. 2) ist, kann das HSM 200 den Zähler 213 inkrementieren und die Anforderung 250 einer kryptographischen Operation verarbeiten. In dem gezeigten Beispiel inkrementiert das HSM den Zähler 213, so dass er nach der Verarbeitung der ersten Anforderung 250a einer kryptographischen Operation einen Wert aufweist, der gleich eins „1“ ist. Die dem kryptographischen Schlüssel 120 zugeordnete ACL 214 kann das Autorisierungs-Token 220 spezifizieren, das validiert werden muss, um die Anforderung 250 einer kryptographischen Operation zu verarbeiten.At the time 3 sends the authorized authorizer 234 a first requirement 250 . 250a a cryptographic operation that uses the authorization token 220 contains, to the HSM 200 , For clarity, the cryptographic key 120 and any additional authorization tokens 220 who is the authorized author 234 may have produced, not shown. At time 4, the HSM processes 200 the first requirement 250a a cryptographic operation after authenticating and authorizing the authorization of the authorized author 234 received first request 250a a cryptographic operation. In the example shown, the HSM determines 200 that the cryptographic key 200 and the associated ACL 214 the requirement 250a authentic, being the authorization token 220 validated. The authorization token 220 may be valid if the HSM 200 the authorization token less often than the authorization token 220 defined limit number 228 ( 2 ) receives. If the limit number 228 z. B. is two ("2"), the HSM 200 on the counter 213 Refer to to determine how many times the authorization token 220 through the HSM 200 has been received. If the value of the counter 213 less than the limit number 228 (eg 2), the HSM 200 the counter 213 increment and the request 250 a cryptographic operation. In the example shown, the HSM increments the counter 213 so that it does after processing the first request 250a a cryptographic operation has a value equal to one "1". The the cryptographic key 120 associated ACL 214 can specify the authorization token 220 that must be validated to meet the requirement 250 to process a cryptographic operation.

In einigen Implementierungen erzeugt das HSM 200 einen entsprechenden Prüfprotokolleintrag 662 in dem Prüfprotokoll 660 für jede durch das HSM 200 verarbeitete Anforderung 250 einer kryptographischen Operation. Das HSM 200 kann jeden Prüfprotokolleintrag 662 unter Verwendung des Autorisiererschlüssels 118 des bevollmächtigten Autorisierers 234 signieren, der in dem entsprechenden eingewickelten kryptographischen Schlüssel 120 enthalten ist. Jeder Prüfprotokolleintrag 662 kann außerdem jedes Autorisierungs-Token 220 enthalten, das das HSM 200 validiert, um die Anforderung 250 einer kryptographischen Operation zu verarbeiten. Zum Zeitpunkt 5 sendet das HSM 200 eine Antwort, die das Ergebnis 260 der durch das HSM 200 verarbeiteten ersten Anforderung 250a einer kryptographischen Operation enthält, zurück an den bevollmächtigten Autorisierer 234. Für eine Verschlüsselungsoperation kann das Ergebnis 260 verschlüsselten Text enthalten. Zusätzlich stellt das HSM 200 das Prüfprotokoll 660, das einen ersten Prüfprotokolleintrag 662, 662a für die durch das HSM 200 verarbeitete erste Anforderung 250a einer kryptographischen Operation enthält, dem HSM-Manager 150 bereit. In einigen Beispielen stellt das HSM 200 einfach den ersten Prüfprotokolleintrag 662a dem HSM-Manager 150 bereit, wobei der HSM-Manager 150 den Eintrag 662a in dem Prüfprotokoll 660 aufzeichnet, das innerhalb der Speicherbetriebsmittel 146 des verteilten Systems 140 gespeichert ist.In some implementations, the HSM generates 200 a corresponding test log entry 662 in the test report 660 for each through the HSM 200 processed requirement 250 a cryptographic operation. The HSM 200 can any audit log entry 662 using the authorizer key 118 of the Authorized Authorizer 234 sign in the corresponding wrapped cryptographic key 120 is included. Each test log entry 662 can also use any authorization token 220 included the HSM 200 validated to the requirement 250 to process a cryptographic operation. At the time 5 sends the HSM 200 an answer that the result 260 by the HSM 200 processed first request 250a a cryptographic operation, back to the authorized authorizer 234 , For an encryption operation, the result may be 260 contain encrypted text. In addition, the HSM provides 200 the test report 660 , the first test log entry 662 . 662a for those through the HSM 200 processed first request 250a includes a cryptographic operation, the HSM manager 150 ready. In some examples, the HSM 200 simply the first test log entry 662a the HSM manager 150 ready, being the HSM manager 150 the entry 662a in the test report 660 records that within the storage resources 146 of the distributed system 140 is stored.

Zum Zeitpunkt 6 sendet der bevollmächtigte Autorisierer 234 eine zweite Anforderung 250, 250b einer kryptographischen Operation, die das Autorisierungs-Token 220 enthält, an das HSM 200, wobei das HSM 200 zum Zeitpunkt 7 die von dem bevollmächtigten Autorisierer 234 empfangene zweite Anforderung 250 einer kryptographischen Operation authentifiziert und autorisiert, wie oben zum Zeitpunkt 4 erörtert worden ist. Hier validiert das HSM 200 das Autorisierungs-Token 220 der zweiten Anforderung 250b einer kryptographischen Operation durch Bezugnahme auf den Zähler 213 und das Bestimmen, dass der Wert (z. B. 1) des Zählers 213 kleiner als der Wert (z. B. 2) der durch das Autorisierungs-Token 220 definierten Grenzanzahl 228 ist. Danach inkrementiert das HSM 200 den Zähler 213 zu einem Wert von zwei („2“), so dass alle anschließende Anforderungen 250 einer kryptographischen Operation unter Verwendung des Autorisierungs-Tokens 220 abgelehnt werden, weil der Autorisierungsschlüssel 220 für ungültig gehalten wird.At the time 6 sends the authorized authorizer 234 a second request 250 . 250b a cryptographic operation that uses the authorization token 220 contains, to the HSM 200 , where the HSM 200 at the time 7 that of the authorized author 234 received second request 250 a cryptographic operation is authenticated and authorized, as discussed above at time 4. Here the HSM validates 200 the authorization token 220 the second request 250b a cryptographic operation by reference to the counter 213 and determining that the value (eg, 1) of the counter 213 less than the value (eg, 2) of the authorization token 220 defined limit number 228 is. Then the HSM increments 200 the counter 213 to a value of two ("2"), so all subsequent requirements 250 a cryptographic operation using the authorization token 220 be rejected because of the authorization key 220 is considered invalid.

Zum Zeitpunkt 8 sendet das HSM 200 eine Antwort, die das Ergebnis 260 der durch das HSM 200 verarbeiteten zweiten Anforderung 250b einer kryptographischen Operation enthält, zurück zu dem bevollmächtigten Autorisierer 234. Für eine Verschlüsselungsoperation kann das Ergebnis 260 verschlüsselten Text enthalten. Zusätzlich stellt das HSM 200 das Prüfprotokoll 660, das den zweiten Prüfprotokolleintrag 662, 662b für die durch das HSM 200 verarbeitete zweite Anforderung 250b einer kryptographischen Operation enthält, dem HSM-Manager 150 bereit. In einigen Beispielen stellt das HSM 200 den zweiten Prüfprotokolleintrag 662b einfach dem HSM-Manager 150 bereit, wobei der HSM-Manager 150 den Eintrag 662b in dem Prüfprotokoll 660 aufzeichnet, das innerhalb der Speicherbetriebsmittel 146 des verteilten Systems 140 gespeichert ist.At the time 8th sends the HSM 200 an answer that the result 260 by the HSM 200 processed second request 250b a cryptographic operation, back to the authorized authorizer 234 , For an encryption operation, the result may be 260 contain encrypted text. In addition, the HSM provides 200 the test report 660 containing the second audit log entry 662 . 662b for those through the HSM 200 processed second request 250b a cryptographic operation, the HSM manager 150 ready. In some examples, the HSM 200 the second test log entry 662b just the HSM manager 150 ready, being the HSM manager 150 entry 662b in the audit log 660 within the memory resources 146 of the distributed system 140 is stored.

Zum Zeitpunkt 9 empfängt die dem Eigentümer 10 zugeordnete Client-Vorrichtung das Prüfprotokoll 660, das den ersten und den zweiten Prüfprotokolleintrag 662a, 662b enthält. Zum Zeitpunkt 10 kann der Eigentümer 10 das Prüfprotokoll 660 validieren, um allen autorisierten kryptographischen Operationen Rechnung zu tragen. In einigen Beispielen kann der Eigentümer 10 das Prüfprotokoll 660 validieren, wenn die Anzahl der Prüfprotokolleinträge 662 mit der Anzahl (d. h., der Grenzanzahl 228) der durch den Eigentümer 10 autorisierten kryptographischen Operationen übereinstimmt. Der Eigentümer 10 kann z. B. imstande sein, schnell zu bestimmen, dass das Autorisierungs-Token 220 missbraucht worden ist, wenn die Anzahl der Protokolleinträge 662 die durch das Autorisierungs-Token 220 definierte Grenzanzahl 228 übersteigt. Die Client-Vorrichtung 110 kann jederzeit den HSM-Manager 150 auffordern, das Prüfprotokoll 660 zu senden.At the time 9 Receives the owner 10 associated client device the audit trail 660 including the first and second test log entries 662a, 662b. At the time 10 can the owner 10 the test report 660 validate to account for all authorized cryptographic operations. In some examples, the owner may 10 the test report 660 validate when the number of audit log entries 662 with the number (ie, the limit number 228 ) by the owner 10 authorized cryptographic operations. The owner 10 can z. B. be able to quickly determine that the authorization token 220 has been abused when the number of log entries 662 through the authorization token 220 defined limit number 228 exceeds. The client device 110 can anytime the HSM manager 150 prompt the test report 660 to send.

7 ist ein Blockschaltplan einer beispielhaften Implementierung der Komponenten eines beispielhaften Autorisierungssystems 700 zum Autorisieren von Anforderungen 250 einer kryptographischen Operation, die wenigstens ein Autorisierungs-Token 220 enthalten und von einem Kunden/Autorisierer 10 an ein HSM 200 des verteilten Systems 140 gesendet werden. Eine Kundenvorrichtung 710, die dem Kunden/Autorisierer 10 zugeordnet ist, kann über das Netz 130 nach 1 mit dem verteilten System 140 kommunizieren. Das verteilte System 140 enthält eine virtuelle Maschine (VM) 720 des Kunden, einen oder mehrere bevollmächtigte Autorisierer 234 und das HSM 200. Jeder bevollmächtigte Autorisierer 234 kann eine unabhängige Entität sein, die durch den Kunden/Autorisierer 10 bevollmächtigt ist, den Anforderungen 250 einer kryptographischen Operation zugeordnete Autorisierungsentscheidungen zu treffen. 7 FIG. 10 is a block diagram of an example implementation of the components of an example authorization system. FIG 700 to authorize requests 250 a cryptographic operation containing at least one authorization token 220 included and by a customer / authoriser 10 to an HSM 200 of the distributed system 140 be sent. A customer device 710 serving the customer / authorizer 10 can be assigned over the network 130 to 1 with the distributed system 140 communicate. The distributed system 140 Contains a virtual machine (VM) 720 of the customer, one or more authorized authorizers 234 and the HSM 200 , Each Authorized Authorizer 234 can be an independent entity, by the customer / author 10 is empowered to the requirements 250 make an authorization decision associated with a cryptographic operation.

In dem gezeigten Beispiel enthalten die bevollmächtigten Autorisierer 234 einen Sicherheitsstrategiedienst, einen Schlüsselmanagementdienst und einen Anwendungsdienst, die in dem verteilten System ausgeführt werden. Der Sicherheitsstrategiedienst schafft eine durch den Kunden/Autorisierer 10 festgelegte Sicherheitsstrategie zum Managen der Bewilligungen der dem Kunden/Autorisierer 10 gehörenden Betriebsmittel. Der Schlüsselmanagementdienst kann es dem Kunden/Autorisierer 10 erlauben, die kryptographischen Operationen für die in dem verteilten System ausgeführten Dienste zu managen. Der Schlüsselmanagementdienst kann z. B. mit dem Sicherheitsstrategiedienst integriert sein, um die Bewilligungen spezifischer kryptographischer Schlüssel 120 zu managen, die dem Kunden/Autorisierer 10 gehören und vor dem verteilten System 140 geheim gehalten werden. Der Anwendungsdienst kann einem Dokumentendienst, einem E-Mail-Dienst, einem Kalenderdienst oder einem anderen in dem verteilten System ausgeführten Dienst entsprechen.In the example shown, the authorized authorizers included 234 one Security policy service, a key management service, and an application service running in the distributed system. The security policy service creates one by the customer / authorizer 10 established security strategy for managing the authorizations of the client / author 10 belonging resources. The key management service can do it to the customer / authorizer 10 allow to manage the cryptographic operations for the services running in the distributed system. The key management service can, for. B. with the security strategy service to the grants of specific cryptographic keys 120 to manage the client / authorizer 10 belong and before the distributed system 140 be kept secret. The application service may correspond to a document service, an e-mail service, a calendar service, or another service running in the distributed system.

Der Kunde/Autorisierer 10 kann eine Anforderung 250 einer kryptographischen Operation, die das HSM 200 auffordert, eine entsprechende kryptographische Operationen 250 (z. B. eine Verschlüsselungsoperation) zu verarbeiten, senden. In dem gezeigten Beispiel empfängt die Client-VM 720 des verteilten Systems 140 die Anforderung 250 einer kryptographischen Operation, die einen kryptographischen Schlüssel 120, der dem Kunden/Autorisierer 10 gehört, und ein erstes Autorisierungs-Token 220a enthält. Das erste Autorisierungs-Token 220a kann Fähigkeitseinschränkungen definieren, wie z. B. den Autorisierungszeitraum 226, während dessen das Token 220a gültig ist, und/oder die Grenzanzahl 228, die die Anzahl der Verwendungen des entsprechenden Tokens 220a begrenzt. Das erste Autorisierungs-Token 220a kann ferner einen oder mehrere durch die Autorisierer/Kunden 10 bevollmächtigte bevollmächtigte Autorisierer 234 definieren, um das Token 220 vor dem Senden der Anforderung 250 an das HSM 200 weiter zu validieren. In dem gezeigten Beispiel kann das erste Autorisierungs-Token 220a jeden des Sicherheitsstrategiedienstes, des Schlüsselmanagementdienstes und des Anwendungsdienstes als die bevollmächtigten Autorisierer 234 definieren.The customer / authoriser 10 can be a requirement 250 a cryptographic operation involving the HSM 200 requests an appropriate cryptographic operations 250 (eg, an encryption operation). In the example shown, the client VM receives 720 Distributed system 140 the request 250 a cryptographic operation that is a cryptographic key 120 who is the customer / authorizer 10 and a first authorization token 220a contains. The first authorization token 220a can define capability constraints, such as B. the authorization period 226 during which the token 220a is valid, and / or the limit number 228 indicating the number of uses of the corresponding token 220a limited. The first authorization token 220a may also include one or more by the authorisers / customers 10 empowered authorized authorizers 234 define the token 220 before sending the request 250 to the HSM 200 continue to validate. In the example shown, the first authorization token 220a each of the security strategy service, the key management service and the application service as the authorized authorizers 234 define.

In einigen Implementierungen können einer oder mehrere der bevollmächtigten Autorisierer 234 ein entsprechendes Autorisierungs-Token 220b erzeugen, das an das erste Autorisierungs-Token 220a gebunden ist, falls bestimmte Bedingungen erfüllt sind. Der Sicherheitsstrategiedienst kann z. B. ein entsprechendes Autorisierungs-Token 220 erzeugen, falls der Autorisierer/Eigentümer 10 basierend auf den in der Sicherheitsstrategie dargelegten Erlaubnissen autorisiert ist, auf den kryptographischen Schlüssel 120 zuzugreifen. Der Anwendungsdienst kann ein entsprechendes Autorisierungs-Token 220b erzeugen, falls der Kunde/Eigentümer 10 den kryptographischen Schlüssel 120 verwendet, um alle dem Anwendungsdienst zugeordneten Daten zu verschlüsseln/zu entschlüsseln. Der Anwendungsdienst kann z. B. das Autorisierungs-Token 220a der von dem Kunden/Eigentümer 10 empfangenen Anforderung einer kryptographischen Operation unter Verwendung eines nichtöffentlichen Schlüssels, der dem Anwendungsdienst zugeordnet ist, signieren. Danach kann der Schlüsselmanagementdienst die Fähigkeitsanforderung 250, die das erste Autorisierungs-Token 220a enthält, das durch den Autorisiererschlüssel 118 signiert ist, der in dem eingewickelten kryptographischen Schlüssel 120 gebündelt ist, der dem Eigentümer/Kunden zugeordnet ist, und das durch einen Autorisiererschlüssel, der dem Anwendungsdienst zugeordnet ist, signierte zweite Autorisierungs-Token 220b enthält, senden. Das zweite Autorisierungs-Token 220b kann einen Autorisierungszeitraum 226 definieren, der anders als der durch das erste Autorisierungs-Token definierte Autorisierungszeitraum 226 ist. Das HSM 200 kann die Anforderung 250 einer kryptographischen Operation verarbeiten, wenn jedes der Autorisierungs-Token 220a, 220b gültig ist und das HSM 200 die Zuordnung der ACL 214 zu dem kryptographischen Schlüssel 120 der Anforderung 250 einer kryptographischen Operation autorisiert. Das HSM 200 kann ein Authentifizierungs-/Autorisierungsmodul 730 enthalten, das den internen Takt 211, den (die) Zähler 213 und die ACL 214 nach 1 enthält.In some implementations, one or more of the authorized authorizers 234 a corresponding authorization token 220b generate the first authorization token 220a is bound if certain conditions are met. The security strategy service can, for. B. a corresponding authorization token 220 generate if the authorizer / owner 10 based on the permissions set forth in the security policy, on the cryptographic key 120 access. The application service can provide a corresponding authorization token 220b generate if the customer / owner 10 the cryptographic key 120 used to encrypt / decrypt all data associated with the application service. The application service can, for. For example, the authorization token 220a that of the customer / owner 10 received request a cryptographic operation using a non-public key that is associated with the application service sign. Thereafter, the key management service may request the capability request 250, which is the first authorization token 220a contains, by the authorizer key 118 that is bundled in the wrapped cryptographic key 120 associated with the owner / customer and the second authorization token signed by an authorizer key associated with the application service 220b contains, send. The second authorization token 220b can an authorization period 226 which is different than the authorization period defined by the first authorization token 226 is. The HSM 200 can the requirement 250 a cryptographic operation when each of the authorization tokens 220a . 220b is valid and the HSM 200 the assignment of the ACL 214 to the cryptographic key 120 the requirement 250 authorized a cryptographic operation. The HSM 200 can be an authentication / authorization module 730 contain the internal clock 211 , the counter (s) 213 and the ACL 214 to 1 contains.

Indem dem Kunden/Autorisierer 10 erlaubt wird, die dem verteilten System 140 zugeordneten bevollmächtigten Autorisierer 234 in dem Autorisierungs-Token 220 zu definieren, können die bevollmächtigten Autorisierer 234 zusätzliche Validierungsverfahren ausführen und eine den bevollmächtigten Autorisierern 234 zugeordnete interne Autorisierungsstruktur in eine durch das HSM 200 verständliche Autorisierungsstruktur übersetzen. Entsprechend muss der Kunde/Autorisierer 10 keinen entsprechenden öffentlichen Schlüssel für jeden bevollmächtigten Autorisierer 234, der in dem verteilten System 140 ausgeführt wird, aufbieten. Zusätzlich muss der Kunde/Autorisierer kein bei dem HSM 200 aufgebautes Konto aufweisen oder keinen direkten Steuerkanal zu dem HSM 200 aufbauen.By the customer / author 10 allowed to the distributed system 140 associated with the authorized author 234 in the authorization token 220, the authorized authorizers 234 perform additional validation procedures and an authorized authorizer 234 assigned internal authorization structure in one by the HSM 200 translate understandable authorization structure. Accordingly, the customer / authorizer must 10 no corresponding public key for each authorized authoriser 234 that in the distributed system 140 is carried out. In addition, the customer / authorizer does not have to contact the HSM 200 or have no direct control channel to the HSM 200 build up.

8 veranschaulicht ein Verfahren 800 zum Verarbeiten einer Anforderung 250 einer kryptographischen Operation. Im Block 802 enthält das Verfahren 800 das Empfangen an einem Hardware-Sicherheitsmodul (HSM) 200 der Anforderung 250 einer kryptographischen Operation, die einen kryptographischen Schlüssel 120 und wenigstens ein Autorisierungs-Token 220 enthält. Das HSM 200 kann z. B. die Anforderung 250 von einer Anwendervorrichtung 110 empfangen, die einem Eigentümer 10 des kryptographischen Schlüssels 120 zugeordnet ist. Alternativ kann das HSM 200 die Anforderung 250 von einem durch den Eigentümer 10 des kryptographischen Schlüssels 120 bevollmächtigten bevollmächtigten Autorisierer 234 empfangen, um das wenigstens eine Autorisierungs-Token 220 zu verwenden. Der kryptographische Schlüssel 120 kann eingewickelt sein. Im Block 804 enthält das Verfahren 800 das Bestimmen durch das HSM 200, ob eine Zugriffssteuerliste (ACL) 214, die dem kryptographischen Schlüssel 120 der Anforderung 250 einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf kryptographischen Schlüssel 120 zu steuern. 8th illustrates a method 800 to process a request 250 a cryptographic operation. In the block 802 method 800 includes receiving at a hardware security module (HSM) 200 the requirement 250 a cryptographic operation that is a cryptographic key 120 and at least one authorization token 220 contains. The HSM 200 can z. For example, the requirement 250 from a user device 110 received, the one owner 10 the cryptographic key 120 assigned. Alternatively, the HSM 200 the request 250 from one by the owner 10 of cryptographic key 120 Authorized Authorized Authoriser 234 receive the at least one authorization token 220 to use. The cryptographic key 120 can be wrapped. In the block 804 contains the procedure 800 determining by the HSM 200 Whether an Access Control List (ACL) 214 that the cryptographic key 120 the request 250 is associated with a cryptographic operation authorized access to cryptographic keys 120 to control.

Im Block 806 enthält das Verfahren 800 das Validieren durch das HSM 200 des wenigstens einen Autorisierungs-Tokens 220. Das Autorisierungs-Token 220 kann z. B. gültig sein, wenn wenigstens eines der Token 220a durch den Autorisiererschlüssel 118 des Eigentümers 10 signiert ist, das HSM 200 das Token 200 innerhalb eines durch das Token 220 definierten Autorisierungszeitraums 226 empfangen hat oder das HSM das Token 220 weniger oft als eine durch das Token 220 definierte Grenzanzahl 228 empfangen hat.In the block 806 contains the procedure 800 validation by the HSM 200 of the at least one authorization token 220 , The authorization token 220 can z. B. valid if at least one of the tokens 220a by the authorizer key 118 of the owner 10 is signed, the HSM 200 the token 200 within one through the token 220 defined authorization period 226 has received or the HSM the token 220 less often than one through the token 220 defined limit number 228 has received.

Im Block 808 enthält das Verfahren das Verarbeiten durch das HSM 200 der Anforderung 250 einer kryptographischen Operation, wenn das wenigstens eine Autorisierungs-Token 220 gültig ist und der kryptographische Schlüssel 120 der Anforderung 250 einer kryptographischen Operation authentisch ist. In einigen Beispielen verarbeitet das HSM 200 die Anforderung 250 nur, wenn die durch die Anforderung 250 einer kryptographischen Operation angeforderte kryptographische Operation durch die ACL 214 erlaubt ist. Nach dem Verarbeiten der Anforderung 250 kann das HSM 200 eine Antwort, die ein Ergebnis der kryptographischen Operation enthält, zurück zu der Anwendervorrichtung 110 senden, die dem Eigentümer des kryptographischen Schlüssels 120 zugeordnet ist. Hier kann das Ergebnis 260 einen verschlüsselten Text enthalten, wenn die kryptographische Operation eine Verschlüsselungsoperation ist.In the block 808 the method includes processing by the HSM 200 the requirement 250 a cryptographic operation, if the at least one authorization token 220 is valid and the cryptographic key 120 the requirement 250 a cryptographic operation is authentic. In some examples, the HSM processes 200 the request 250 only if by the requirement 250 a cryptographic operation requested by the ACL 214 allowed is. After processing the request 250, the HSM 200 a response containing a result of the cryptographic operation back to the user device 110 send to the owner of the cryptographic key 120 assigned. Here is the result 260 contain an encrypted text if the cryptographic operation is an encryption operation.

Eine Software-Anwendung (d. h., ein Software-Betriebsmittel) kann sich auf Computer-Software beziehen, die eine Computervorrichtung veranlasst, eine Aufgabe auszuführen. In einigen Beispielen kann eine Software-Anwendung als eine „Anwendung“, eine „App“ oder ein „Programm“ bezeichnet werden. Beispielhafte Anwendungen enthalten, sind aber nicht eingeschränkt auf Systemdiagnoseanwendungen, Systemmanagementanwendungen, Systemwartungsanwendungen, Textverarbeitungsanwendungen, Tabellenkalkulationsanwendungen, Nachrichtenübermittlungsanwendungen, Medien-Streaming-Anwendungen, Anwendungen sozialer Netze und Spielanwendungen.A software application (i.e., a software resource) may refer to computer software that causes a computing device to perform a task. In some examples, a software application may be referred to as an "application," "app," or "program." Exemplary applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.

Der nichttransitorische Speicher kann aus physischen Vorrichtungen bestehen, die verwendet werden, um Programme (z. B. Folgen von Anweisungen) oder Daten (z. B. Programmzustandsinformationen) auf einer vorübergehenden oder permanenten Basis für die Verwendung durch eine Computervorrichtung zu speichern. Der nichttransitorische Speicher kann ein flüchtiger und/oder nichtflüchtiger adressierbarer Halbleiterspeicher sein. Beispiele eines nichtflüchtigen Speichers enthalten, sind aber nicht eingeschränkt auf Flash-Speicher und Festwertspeicher (ROM)/programmierbaren Festwertspeicher (PROM)/löschbaren programmierbaren Festwertspeicher (EPROM)/elektronisch löschbaren programmierbaren Festwertspeicher (EEPROM) (der z. B. typischerweise für Firmware, wie z. B. Urladeprogramme, verwendet wird). Beispiele des flüchtigen Speichers enthalten, sind aber nicht eingeschränkt auf sowohl Schreib-Lese-Speicher (RAM), dynamischen Schreib-Lese-Speicher (DRAM), statischen Schreib-Lese-Speicher (SRAM), Phasenänderungsspeicher (PCM) als auch Platten oder Bänder.The non-transitory memory may consist of physical devices used to store programs (e.g., sequences of instructions) or data (e.g., program state information) on a temporary or permanent basis for use by a computing device. The non-transitory memory may be a volatile and / or nonvolatile semiconductor addressable memory. Nonvolatile memory examples include, but are not limited to, flash memory and read only memory (ROM) / programmable read only memory (PROM) / erasable programmable read only memory (EPROM) / electronically erasable programmable read only memory (EEPROM) (typically used, for example, for firmware, such as bootstrap programs). Examples of volatile memory include, but are not limited to, both random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and disks ,

9 ist eine schematische Ansicht einer beispielhaften Computervorrichtung 900, die verwendet werden kann, um die in diesem Dokument beschriebenen Systeme und Verfahren zu implementieren. Die Computervorrichtung 900 ist vorgesehen, verschiedene Formen digitaler Computer, wie z. B. Laptops, Desktops, Arbeitsplatzrechner, persönliche digitale Assistenten, Server, Blade-Server, Großrechner oder andere geeignete Computer, zu repräsentieren. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen sind lediglich beispielhaft gemeint und nicht gemeint, um die Implementierungen der in diesem Dokument beschriebenen und/oder beanspruchten Erfindungen einzuschränken. 9 FIG. 10 is a schematic view of an exemplary computing device. FIG 900 , which can be used to implement the systems and methods described in this document. The computer device 900 is provided, various forms of digital computers, such. Laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes or other suitable computers. The components shown herein, their connections and relationships and their functions are intended to be illustrative only and not intended to limit the implementations of the inventions described and / or claimed in this document.

Die Computervorrichtung 900 enthält einen Prozessor 910, einen Speicher 920, eine Speichervorrichtung 930, eine Hochgeschwindigkeitsschnittstelle/einen Hochgeschwindigkeits-Controller 940, die/der mit dem Speicher 920 und den Hochgeschwindigkeits-Erweiterungsanschlüssen 950 verbunden ist, und eine Schnittstelle/einen Controller 960 mit geringer Geschwindigkeit, die/der mit einem Bus 970 mit geringer Geschwindigkeit und einer Speichervorrichtung 930 verbunden ist. Alle Komponenten 910, 920, 930, 940, 950 und 960 sind unter Verwendung verschiedener Busse miteinander verbunden und können gegebenenfalls auf einer gemeinsamen Hauptplatine oder in anderen Weisen angebracht sein. Der Prozessor 910 (z. B. die Datenverarbeitungs-Hardware) kann Anweisungen für die Ausführung innerhalb der Computervorrichtung 900, einschließlich der in dem Speicher 920 (z. B. der Speicher-Hardware) oder in der Speichervorrichtung 930 gespeicherten Anweisungen, verarbeiten, um graphische Informationen für eine graphische Anwenderschnittstelle (GUI) auf einer äußeren Eingabe-/Ausgabevorrichtung, wie z. B. einer Anzeige 980, die an die Hochgeschwindigkeits-Schnittstelle 940 gekoppelt ist, anzuzeigen. In anderen Implementierungen können gegebenenfalls mehrere Prozessoren und/oder mehrere Busse zusammen mit mehreren Speichern und Typen des Speichers verwendet werden. Außerdem können mehrerer Computervorrichtungen 900 verbunden sein, wobei jede Vorrichtung Anteile der notwendigen Operationen (z. B. als eine Server-Bank, eine Gruppe von Blade-Servern oder ein Mehrprozessorsystem) bereitstellt.The computer device 900 contains a processor 910 a memory 920, a memory device 930 , a high speed interface / high speed controller 940 that with the memory 920 and the high-speed expansion ports 950 connected, and an interface / a controller 960 at low speed, the one with a bus 970 at low speed and a storage device 930 connected is. All components 910 . 920 . 930 . 940 . 950 and 960 are interconnected using different buses and may be mounted on a common motherboard or in other ways, if desired. The processor 910 (eg, the computing hardware) may have instructions for execution within the computing device 900 including in the store 920 (eg, the storage hardware) or in the storage device 930 stored instructions, graphic information for a graphical user interface (GUI) on an external input / output device, such. B. a display 980 that on the high-speed interface 940 is coupled to display. In other implementations, multiple processors and / or multiple buses may optionally be used along with multiple memories and types of memory. In addition, multiple computing devices 900 may be connected, with each device providing portions of the necessary operations (eg, as a server bank, a group of blade servers, or a multiprocessor system).

Der Speicher 920 (z. B. die Speicher-Hardware) speichert Informationen nichttransitorisch in der Computervorrichtung 900. Der Speicher 920 kann ein computerlesbares Medium, eine flüchtige Speichereinheit(en) oder eine nichtflüchtige Speichereinheit(en) sein. Der nichttransitorische Speicher 920 kann aus physischen Vorrichtungen bestehen, die verwendet werden, um Programme (z. B. Folgen von Anweisungen) oder Daten (z. B. Programmzustandsinformationen) auf einer vorübergehenden oder permanenten Basis für die Verwendung durch die Computervorrichtung 900 zu speichern. Beispiele des nichtflüchtigen Speichers enthalten, sind aber nicht eingeschränkt auf Flash-Speicher und Festwertspeicher (ROM)/programmierbaren Festwertspeicher (PROM)/löschbaren programmierbaren Festwertspeicher (EPROM)/elektronisch löschbaren programmierbaren Festwertspeicher (EEPROM) (der z. B. typischerweise für Firmware, wie z. B. Urladeprogramme, verwendet wird). Beispiele des flüchtigen Speichers enthalten, sind aber nicht eingeschränkt auf sowohl Schreib-Lese-Speicher (RAM), dynamischen Schreib-Lese-Speicher (DRAM), statischen Schreib-Lese-Speicher (SRAM), Phasenänderungsspeicher (PCM) als auch Platten oder Bänder.The memory 920 (eg, the storage hardware) stores information non-transitorily in the computing device 900 , The memory 920 may be a computer readable medium, a volatile storage device (s) or a nonvolatile storage device (s). The non-transitory memory 920 may consist of physical devices used to program (e.g., follow instructions) or data (e.g., program state information) on a temporary or permanent basis for use by the computing device 900 save. Examples of nonvolatile memory include, but are not limited to, flash memory and read only memory (ROM) / programmable read only memory (PROM) / erasable programmable read only memory (EPROM) / electronically erasable programmable read only memory (EEPROM) (typically used, for example, for firmware, such as bootstrap programs). Examples of volatile memory include, but are not limited to, both random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and disks ,

Die Speichervorrichtung 930 kann einen Massenspeicher für die Computervorrichtung 900 bereitstellen. In einigen Implementierungen ist die Speichervorrichtung ein computerlesbares Medium. In verschiedenen unterschiedlichen Implementierungen kann die Speichervorrichtung 930 eine Diskettenvorrichtung, eine Festplattenvorrichtung, eine Vorrichtung optischer Platten oder eine Bandvorrichtung, ein Flash-Speicher oder eine andere ähnliche Halbleiterspeichervorrichtung oder eine Anordnung von Vorrichtungen, einschließlich der Vorrichtungen in einem Speicherbereichsnetz oder anderer Konfigurationen, sein. In zusätzlichen Implementierungen ist ein Computerprogrammprodukt greifbar in einem Informationsträger verkörpert. Das Computerprogrammprodukt enthält Anweisungen, die, wenn sie ausgeführt werden, ein oder mehrere Verfahren, wie z. B. jene, die oben beschrieben worden sind, ausführen. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. der Speicher 920, die Speichervorrichtung 930 oder ein Speicher in dem Prozessor 910.The storage device 930 can be a mass storage device for the computing device 900 provide. In some implementations, the storage device is a computer readable medium. In various different implementations, the memory device 930 a floppy disk device, hard disk device, optical disk device or tape device, flash memory or other similar semiconductor memory device, or an array of devices, including devices in a storage area network or other configurations. In additional implementations, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, may include one or more methods, such as the following: For example, those described above. The information carrier is a computer- or machine-readable medium, such. B. the memory 920 , the storage device 930 or a memory in the processor 910 ,

Der Hochgeschwindigkeits-Controller 940 managt die bandbreitenintensiven Operationen für die Computervorrichtung 900, während der Controller 960 mit geringer Geschwindigkeit die weniger bandbreitenintensiven Operationen managt. Eine derartige Zuweisung der Pflichten ist lediglich beispielhaft. In einigen Implementierungen ist der Hochgeschwindigkeits-Controller 940 an den Speicher 920, die Anzeige 980 (z. B. durch einen Graphikprozessor oder einen Graphikbeschleuniger) und an die Hochgeschwindigkeits-Erweiterungsanschlüsse 950, die verschiedene (nicht gezeigte) Erweiterungskarten akzeptieren können, gekoppelt. In einigen Implementierungen ist der Controller 960 mit geringer Geschwindigkeit an die Speichervorrichtung 930 und einen Erweiterungsanschluss 990 mit geringer Geschwindigkeit gekoppelt. Der Erweiterungsanschluss 990 mit geringer Geschwindigkeit, der verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) enthalten kann, kann an eine oder mehrere Eingabe-/Ausgabevorrichtungen, wie z. B. eine Tastatur, eine Anzeigevorrichtung, einen Scanner oder eine Vernetzungsvorrichtung, wie z. B. einen Switch oder einen Router, z. B. durch einen Netzadapter, gekoppelt sein.The high-speed controller 940 manages the bandwidth-intensive operations for the computing device 900 while the controller 960 at low speed manages the less bandwidth intensive operations. Such assignment of duties is merely exemplary. In some implementations, the high-speed controller is 940 to the store 920 , the ad 980 (eg, by a graphics processor or graphics accelerator) and to the high-speed expansion ports 950 that can accept various expansion cards (not shown). In some implementations, the controller is 960 at low speed to the storage device 930 and an expansion port 990 coupled with low speed. The expansion port 990 At low speed, which may include various communication ports (eg, USB, Bluetooth, Ethernet, wireless Ethernet) may be connected to one or more input / output devices, such as a wireless device. As a keyboard, a display device, a scanner or a networking device, such. As a switch or a router, z. B. be coupled by a network adapter.

Die Computervorrichtung 900 kann in einer Anzahl verschiedener Formen implementiert sein, wie in der Figur gezeigt ist. Sie kann z. B. als ein Standard-Server 900a oder mehrmals in einer Gruppe derartiger Server 900a, als ein Laptop-Computer 900b oder als ein Teil eines Rack-Server-Systems 900c implementiert sein.The computer device 900 can be implemented in a number of different forms, as shown in the figure. You can z. As a standard server 900a or several times in a group of such servers 900a as a laptop computer 900b or as part of a rack server system 900c be implemented.

Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in einer digitalen elektronischen und/oder optischen Schaltungsanordnung, einer integrierten Schaltungsanordnung, spezifisch entworfenen ASICs (anwendungsspezifischen integrierten Schaltungen), Computer-Hardware, Firmware, Software und/oder Kombinationen daraus verwirklicht sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen enthalten, die in einem programmierbaren System, das wenigstens einen programmierbaren Prozessor enthält, der speziell oder universell, angeschlossen, um Daten und Anweisungen von einem Speichersystem, wenigstens einer Eingabevorrichtung und wenigstens einer Ausgabevorrichtung zu empfangen und Daten und Anweisungen an ein Speichersystem, wenigstens eine Eingabevorrichtung und wenigstens eine Ausgabevorrichtung zu senden, sein kann, ausführbar und/oder interpretierbar sind.Various implementations of the systems and techniques described herein may be implemented in digital electronic and / or optical circuitry, integrated circuitry, specifically designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementation in one or more computer programs included in a programmable system including at least one programmable processor, special or universal, for receiving data and instructions from a memory system, at least one input device, and at least one output device and send, execute, and / or interpret data and instructions to a storage system, at least one input device, and at least one output device.

Diese Computerprogramme (die außerdem als Programme, Software, Software-Anwendungen oder Code bekannt sind) enthalten Maschinenanweisungen für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder einer Assembler-/Maschinensprache implementiert sein. Die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“, wie sie hier verwendet werden, beziehen sich auf irgendein Computerprogrammprodukt, ein nichttransitorisches computerlesbares Medium, ein Gerät und/oder eine Vorrichtung (z. B. Magnetplatten, optische Platten, Speicher, programmierbare Logikvorrichtungen (PLDs)), die verwendet werden, um Maschinenanweisungen und/oder Daten einem programmierbaren Prozessor bereitzustellen, einschließlich eines maschinenlesbaren Mediums, das die Maschinenanweisungen als ein maschinenlesbares Signal empfängt. Der Begriff „maschinenlesbares Signal“ bezieht sich auf irgendein Signal, das verwendet wird, um Maschinenanweisungen und/oder Daten einem programmierbaren Prozessor bereitzustellen.These computer programs (also known as programs, software, software applications or code) contain machine instructions for a programmable processor and can be used in a higher procedural and / or or object-oriented programming language and / or an assembler / machine language. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or apparatus (eg, magnetic disks, optical disks, memory, programmable logic devices (PLDs)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives the machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

Die in dieser Beschreibung beschriebenen Prozesse und Logikabläufe können durch einen oder mehrere programmierbare Prozessoren ausgeführt werden, die ein oder mehrere Computerprogramme ausführen, um die Funktionen durch das Wirken auf die Eingangsdaten und das Erzeugen einer Ausgabe auszuführen. Die Prozesse und die Logikabläufe können außerdem durch eine Spezial-Logikschaltungsanordnung, z. B. eine FPGA (eine feldprogrammierbare Gatteranordnung) oder eine ASIC (eine anwendungsspezifische integrierte Schaltung), ausgeführt werden. Die für die Ausführung eines Computerprogramms geeigneten Prozessoren enthalten beispielhaft sowohl Universal- als auch Spezialmikroprozessoren und irgendeinen oder mehrere Prozessoren irgendeiner Art eines digitalen Computers. Im Allgemeinen empfängt ein Prozessor Anweisungen und Daten von einem Festwertspeicher oder einem Schreib-Lese-Speicher oder beiden. Die wesentlichen Elemente eines Computers sind ein Prozessor zum Ausführen von Anweisungen und ein oder mehrere Speichervorrichtungen zum Speichern von Anweisungen und Daten. Im Allgemeinen enthält ein Computer außerdem eine oder mehrere Massenspeichervorrichtungen zum Speichern von Daten, z. B. magnetische, magnetooptische oder optische Platten, oder ist ein Computer außerdem betriebstechnisch an eine oder mehrere Massenspeichervorrichtungen zum Speichern von Daten, z. B. magnetische, magnetooptische oder optische Platten, gekoppelt, um Daten von diesen zu empfangen oder Daten zu diesen zu übertragen oder beides. Ein Computer muss jedoch derartige Vorrichtungen nicht aufweisen. Die computerlesbaren Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, enthalten alle Formen nichtflüchtigen Speichers, Medien und Speichervorrichtungen, einschließlich beispielhaft Halbleiterspeichervorrichtungen, z. B. EPROM-, EEPROM- und Flash-Speichervorrichtungen; Magnetplatten, z. B. interne Festplatten oder abnehmbare Platten; magnetooptische Platten; und CD-ROM und DVD-ROM-Platten. Der Prozessor und der Speicher können durch eine Spezial-Logikschaltungsanordnung ergänzt sein oder in einer Spezial-Logikschaltungsanordnung enthalten sein.The processes and logic operations described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform the functions by manipulating the input data and generating an output. The processes and logic operations may also be implemented by special logic circuitry, e.g. An FPGA (a field programmable gate array) or an ASIC (an application specific integrated circuit). The processors suitable for executing a computer program include, by way of example, both general purpose and special purpose microprocessors and any one or more processors of any type of digital computer. In general, a processor receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. In general, a computer also includes one or more mass storage devices for storing data, e.g. Magnetic, magneto-optical or optical disks, or is a computer also operatively connected to one or more mass storage devices for storing data, e.g. As magnetic, magneto-optical or optical disks, coupled to receive data from these or transmit data to these or both. However, a computer need not have such devices. The computer readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including, by way of example, semiconductor memory devices, e.g. EPROM, EEPROM and flash memory devices; Magnetic disks, z. Internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM discs. The processor and memory may be supplemented by special logic circuitry or included in special purpose logic circuitry.

Um eine Wechselwirkung mit einem Anwender zu schaffen, können ein oder mehrere Aspekte der Offenbarung in einem Computer implementiert sein, der eine Anzeigevorrichtung, z. B. einen CRT- (Kathodenstrahlröhren-), einen LCD-(Flüssigkristall-) Monitor oder einen Berührungsschirm zum Anzeigen von Informationen für den Anwender, und optional eine Tastatur und eine Zeigevorrichtung, z. B. eine Maus oder eine Rollkugel, durch die der Anwender dem Computer eine Eingabe bereitstellen kann, aufweist. Es können ebenso andere Arten von Vorrichtungen verwendet werden, um eine Wechselwirkung mit einem Anwender zu schaffen; eine dem Anwender bereitgestellte Rückkopplung kann z. B. irgendeine Form einer sensorischen Rückkopplung, z. B. eine visuelle Rückkopplung, eine akustische Rückkopplung oder eine taktile Rückkopplung, sein; und eine Eingabe von dem Anwender kann in irgendeiner Form, einschließlich einer akustischen, Sprach- oder taktilen Eingabe, empfangen werden. Zusätzlich kann ein Computer mit einem Anwender durch das Senden von Dokumenten an eine und das Empfangen von Dokumenten von einer Vorrichtung, die durch den Anwender verwendet wird, in Wechselwirkung treten; z. B. durch das Senden von Web-Seiten an einen Web-Browser in einer Client-Vorrichtung des Anwenders in Reaktion auf von dem Web-Browser empfangene Anforderungen.To create an interaction with a user, one or more aspects of the disclosure may be implemented in a computer having a display device, e.g. A CRT (cathode ray tube), LCD (liquid crystal) monitor or touch screen for displaying information to the user, and optionally a keyboard and pointing device, e.g. As a mouse or a trackball through which the user can provide input to the computer has. Other types of devices may also be used to interact with a user; a user-provided feedback can, for. For example, some form of sensory feedback, e.g. A visual feedback, an acoustic feedback, or a tactile feedback; and an input from the user may be received in any form, including auditory, voice or tactile input. In addition, a computer may interact with a user by sending documents to and receiving documents from a device used by the user; z. By sending web pages to a web browser in a client device of the user in response to requests received from the web browser.

Es ist eine Anzahl von Implementierungen beschrieben worden. Dennoch wird erkannt, dass verschiedene Modifikationen vorgenommen werden können, ohne vom Erfindungsgedanken und Schutzumfang der Offenbarung abzuweichen. Entsprechend befinden sich andere Implementierungen innerhalb des Schutzumfangs der folgenden Ansprüche.A number of implementations have been described. Nevertheless, it will be appreciated that various modifications can be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.

Ein Verfahren zum Verarbeiten einer Anforderung (250) einer kryptographischen Operation enthält das Empfangen an einem Hardware-Sicherheitsmodul (HSM) (200) der Anforderung einer kryptographischen Operation, die einen kryptographischen Schlüssel (120) und wenigstens ein Autorisierungs-Token (220) umfasst, das Bestimmen durch das HSM, ob eine Zugriffssteuerliste (ACL) (214), die dem kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel zu steuern, und das Validieren durch das HSM des wenigstens einen Autorisierungs-Tokens. Wenn das wenigstens eine Autorisierungs-Token gültig ist und die ACL autorisiert ist, den Zugriff auf den kryptographischen Schlüssel der Anforderung einer kryptographischen Operation zu steuern, enthält das Verfahren das Verarbeiten der Anforderung einer kryptographischen Operation durch das HSM.A method for processing a request ( 250 ) of a cryptographic operation involves receiving at a hardware security module (HSM) ( 200 ) the request for a cryptographic operation that contains a cryptographic key ( 120 ) and at least one authorization token ( 220 ), determining by the HSM whether an access control list (ACL) ( 214 ) associated with the cryptographic key requesting a cryptographic operation, is authorized to control access to the cryptographic key, and validating by the HSM of the at least one authorization token. If the at least one authorization token is valid and the ACL is authorized to control access to the cryptographic key of the request for a cryptographic operation, the method includes processing the request for a cryptographic operation by the HSM.

Claims (28)

Ein oder mehrere nichttransitorische computerlesbare Speichermedien, die Anweisungen umfassen, die, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, die eine oder die mehreren Computervorrichtungen veranlassen, Operationen auszuführen, die umfassen: Empfangen an einem Hardware-Sicherheitsmodul (HSM) (200) einer Anforderung (250) einer kryptographischen Operation, die einen kryptographischen Schlüssel (120) und wenigstens ein Autorisierungs-Token (220) umfasst; Bestimmen durch das HSM (200), ob eine Zugriffssteuerliste (ACL) (214), die dem kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) zu steuern; und Validieren durch das HSM (200) des wenigstens einen Autorisierungs-Tokens (220); und, wenn das wenigstens eine Autorisierungs-Token (220) gültig ist und die ACL (214) autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zu steuern, Verarbeiten der Anforderung (250) einer kryptographischen Operation durch das HSM (200).One or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform operations that include: Receiving at a hardware security module (HSM) (200) a request (250) of a cryptographic operation comprising a cryptographic key (120) and at least one authorization token (220); Determining, by the HSM (200), whether an access control list (ACL) (214) associated with the cryptographic key (120) of the request (250) of a cryptographic operation is authorized to control access to the cryptographic key (120) ; and Validating by the HSM (200) the at least one authorization token (220); and, if the at least one authorization token (220) is valid and the ACL (214) is authorized to control access to the cryptographic key (120) of the request (250) of a cryptographic operation, processing the request (250) of a cryptographic operation through the HSM (200). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 1, wobei das wenigstens eine Autorisierungs-Token (220) gültig ist, wenn wenigstens eines des Folgenden gilt: das wenigstens eine Autorisierungs-Token (220) ist durch einen Autorisiererschlüssel (118) signiert; die Anforderung (250) einer kryptographischen Operation ist durch das HSM (200) innerhalb eines durch das wenigstens eine Autorisierungs-Token (220) definierten Autorisierungszeitraums (226) empfangen worden; oder das HSM (200) hat die Anforderung (250) einer kryptographischen Operation weniger oft als eine durch das wenigstens eine Autorisierungs-Token (220) definierte Grenzanzahl (228) empfangen.One or more non-transitory computer-readable storage media Claim 1 wherein the at least one authorization token (220) is valid if at least one of the following applies: the at least one authorization token (220) is signed by an authorization key (118); the request (250) of a cryptographic operation has been received by the HSM (200) within an authorization period (226) defined by the at least one authorization token (220); or the HSM (200) has received the request (250) of a cryptographic operation less often than a limit number (228) defined by the at least one authorization token (220). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 1 oder 2, die ferner umfassen: wenn die ACL (214) autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zu steuern, Bestimmen durch das HSM (200), ob die durch die Anforderung (250) einer kryptographischen Operation angeforderte kryptographische Operation (260) durch die ACL (214) erlaubt ist; und wenn die durch die Anforderung (250) einer kryptographischen Operation angeforderte kryptographische Operation (260) durch die ACL (214) erlaubt ist, Verarbeiten der Anforderung (250) einer kryptographischen Operation.One or more non-transitory computer-readable storage media Claim 1 or 2 further comprising: if the ACL (214) is authorized to control the access to the cryptographic key (120) of the request (250) of a cryptographic operation, determining by the HSM (200) whether the requests made by the request (250) a cryptographic operation (260) requested by the ACL (214); and if the cryptographic operation (260) requested by the request (250) of a cryptographic operation is allowed by the ACL (214), processing the request (250) of a cryptographic operation. Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach einem der Ansprüche 1-3, die ferner umfassen: Empfangen an dem HSM (200) einer Herausforderungsanforderung (270) von einem Eigentümer (10) des kryptographischen Schlüssels (120); und Ausgeben von dem HSM (220) eines entsprechenden Autorisierungs-Tokens (220) an den Eigentümer (10) des kryptographischen Schlüssels (120).One or more non-transitory computer readable storage media according to any one of Claims 1 - 3 further comprising: receiving at the HSM (200) a challenge request (270) from an owner (10) of the cryptographic key (120); and issuing from the HSM (220) a corresponding authorization token (220) to the owner (10) of the cryptographic key (120). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 4, wobei das entsprechende Autorisierungs-Token (220) Daten, die das HSM (200) identifizieren, und eine kryptographische Signatur (224) des HSM (200) umfasst.One or more non-transitory computer-readable storage media Claim 4 wherein the corresponding authorization token (220) comprises data identifying the HSM (200) and a cryptographic signature (224) of the HSM (200). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 4, wobei das entsprechende Autorisierungs-Token (220) einen Autorisierungszeitraum (226) und/oder eine Begrenzungsanzahl (228), die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens (220) begrenzt, definiert.One or more non-transitory computer-readable storage media Claim 4 wherein the corresponding authorization token (220) defines an authorization period (226) and / or a limit number (228) that limits a number of uses of the corresponding authorization token (220). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach einem der Ansprüche 1-6, wobei der kryptographische Schlüssel (120) der Anforderung (250) einer kryptographischen Operation eingewickelt ist.One or more non-transitory computer readable storage media according to any one of Claims 1 - 6 , where the cryptographic key (120) the request (250) of a cryptographic operation is wrapped. Hardware-Sicherheitsmodul (HSM) (200), das umfasst: Datenverarbeitungs-Hardware (210); und Speicher-Hardware (212), die mit der Datenverarbeitungs-Hardware (210) in Verbindung steht, wobei die Speicher-Hardware (212) Anweisungen speichert, die, wenn sie in der Datenverarbeitungs-Hardware (210) ausgeführt werden, die Datenverarbeitungs-Hardware (210) veranlassen, Operationen auszuführen, die umfassen: Empfangen einer Anforderung (250) einer kryptographischen Operation, die einen kryptographischen Schlüssel (120) und wenigstens ein Autorisierungs-Token (220) umfasst; Bestimmen, ob eine Zugriffssteuerliste (ACL) (214), die dem kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) zu steuern; Validieren des wenigstens einen Autorisierungs-Tokens (220); und wenn das wenigstens eine Autorisierungs-Token (220) gültig ist und die ACL (214) autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zu steuern, Verarbeiten der Anforderung (250) einer kryptographischen Operation.Hardware security module (HSM) (200), comprising: Data processing hardware (210); and Storage hardware (212) in communication with the computing hardware (210), the storage hardware (212) storing instructions that, when executed in the computing hardware (210), comprise the computing hardware (210) to perform operations that include: Receiving a request (250) of a cryptographic operation comprising a cryptographic key (120) and at least one authorization token (220); Determining whether an access control list (ACL) (214) associated with the cryptographic key (120) of the request (250) of a cryptographic operation is authorized to control access to the cryptographic key (120); Validating the at least one authorization token (220); and if the at least one authorization token (220) is valid and the ACL (214) is authorized to control access to the cryptographic key (120) of the request (250) of a cryptographic operation, processing the request (250) of a cryptographic operation , HSM (200) nach Anspruch 8, wobei das wenigstens eine Autorisierungs-Token (220) gültig ist, wenn wenigstens eines des Folgenden gilt: das wenigstens eine Autorisierungs-Token (220) ist durch einen Autorisiererschlüssel (118) signiert; die Anforderung (250) einer kryptographischen Operation ist durch das HSM (200) innerhalb eines durch das wenigstens eine Autorisierungs-Token (220) definierten Autorisierungszeitraums (226) empfangen worden; oder das HSM (200) hat die Anforderung (250) einer kryptographischen Operation weniger oft als eine durch das wenigstens eine Autorisierungs-Token (220) definierte Grenzanzahl (228) empfangen.HSM (200) after Claim 8 wherein the at least one authorization token (220) is valid if at least one of the following applies: the at least one authorization token (220) is signed by an authorization key (118); the request (250) of a cryptographic operation has been received by the HSM (200) within an authorization period (226) defined by the at least one authorization token (220); or the HSM (200) has received the request (250) of a cryptographic operation less often than a limit number (228) defined by the at least one authorization token (220). HSM (200) nach Anspruch 8 oder 9, wobei die Operationen ferner umfassen: wenn die ACL (214) autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zu steuern, Bestimmen, ob die durch die Anforderung (250) einer kryptographischen Operation angeforderte kryptographische Operation (260) durch die ACL (214) erlaubt ist; und wenn die durch die Anforderung (250) einer kryptographischen Operation angeforderte kryptographische Operation (260) durch die ACL (214) erlaubt ist, Verarbeiten der Anforderung (250) einer kryptographischen Operation.HSM (200) after Claim 8 or 9 wherein the operations further comprise: if the ACL (214) is authorized to control access to the cryptographic key (120) of the request (250) of a cryptographic operation, determining whether requested by the request (250) of a cryptographic operation cryptographic operation (260) is allowed by the ACL (214); and if the cryptographic operation (260) requested by the request (250) of a cryptographic operation is allowed by the ACL (214), processing the request (250) of a cryptographic operation. HSM (200) nach einem der Ansprüche 8-10, wobei die Operationen ferner umfassen: Empfangen einer Herausforderungsanforderung (270) von einem Eigentümer (10) des kryptographischen Schlüssels (120); und Ausgeben eines entsprechenden Autorisierungs-Tokens (220) an den Eigentümer (10) des kryptographischen Schlüssels (120).HSM (200) after one of the Claims 8 - 10 wherein the operations further comprise: receiving a challenge request (270) from an owner (10) of the cryptographic key (120); and issuing a corresponding authorization token (220) to the owner (10) of the cryptographic key (120). HSM (200) nach Anspruch 11, wobei das entsprechende Autorisierungs-Token (220) Daten, die das HSM (200) identifizieren, und eine kryptographische Signatur (224) des HSM (200) umfasst.HSM (200) after Claim 11 wherein the corresponding authorization token (220) comprises data identifying the HSM (200) and a cryptographic signature (224) of the HSM (200). HSM (200) nach Anspruch 11, wobei das entsprechende Autorisierungs-Token (220) einen Autorisierungszeitraum (226) und/oder eine Begrenzungsanzahl (228), die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens (220) begrenzt, definiert.HSM (200) after Claim 11 wherein the corresponding authorization token (220) defines an authorization period (226) and / or a limit number (228) that limits a number of uses of the corresponding authorization token (220). HSM (200) nach einem der Ansprüche 8-13, wobei der kryptographische Schlüssel (120) der Anforderung (250) einer kryptographischen Operation eingewickelt ist.HSM (200) after one of the Claims 8 - 13 wherein the cryptographic key (120) is wrapped in the request (250) of a cryptographic operation. Ein oder mehrere nichttransitorische computerlesbare Speichermedien, die Anweisungen umfassen, die, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, die eine oder die mehreren Computervorrichtungen veranlassen, Operationen auszuführen, die umfassen: Empfangen an einem verteilten System (100) einer Anforderung (250) einer kryptographischen Operation von einem Anwender (10), wobei die Anforderung (250) einer kryptographischen Operation einen kryptographischen Schlüssel (120) und wenigstens ein Autorisierungs-Token (220) umfasst; Senden durch das verteilte System (100) der Anforderung (250) einer kryptographischen Operation an ein Hardware-Sicherheitsmodul (HSM) (200), das konfiguriert ist, um Operationen auszuführen, die umfassen: Bestimmen, ob eine Zugriffssteuerliste (ACL) (214), die dem kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) zu steuern; Validieren des wenigstens einen Autorisierungs-Tokens (220); und wenn das wenigstens eine Autorisierungs-Token (220) gültig ist und die ACL (214) autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) der Anforderung einer kryptographischen Operation (250) zu steuern, Verarbeiten der Anforderung (250) einer kryptographischen Operation; Empfangen einer Antwort von dem HSM (200) an dem verteilten System (100), wobei, wenn das HSM (200) die Anforderung (250) einer kryptographischen Operation verarbeitet, die Antwort ein Ergebnis (260) der kryptographischen Operation umfasst; und Senden der Antwort von dem verteilten System (100) an den Anwender (10).One or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform operations that include: Receiving at a distributed system (100) a request (250) of a cryptographic operation from a user (10), the request (250) of a cryptographic operation comprising a cryptographic key (120) and at least one authorization token (220); Sending, by the distributed system (100), the request (250) of a cryptographic operation to a hardware security module (HSM) (200) configured to perform operations including: Determining whether an access control list (ACL) (214) associated with the cryptographic key (120) of the request (250) of a cryptographic operation is authorized to control access to the cryptographic key (120); Validating the at least one authorization token (220); and if the at least one authorization token (220) is valid and the ACL (214) is authorized to control access to the cryptographic key (120) of the request for a cryptographic operation (250), processing the request (250) of a cryptographic operation ; Receiving a response from the HSM (200) at the distributed system (100), wherein when the HSM (200) processes the request (250) of a cryptographic operation, the response comprises a result (260) of the cryptographic operation; and Sending the response from the distributed system (100) to the user (10). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 15, wobei das wenigstens eine Autorisierungs-Token (220) gültig ist, wenn wenigstens eines des Folgenden gilt: das wenigstens eine Autorisierungs-Token (220) ist durch einen Autorisiererschlüssel (118) signiert; die Anforderung (250) einer kryptographischen Operation ist durch das HSM (200) innerhalb eines durch das wenigstens eine Autorisierungs-Token (220) definierten Autorisierungszeitraums (226) empfangen worden; oder das HSM (200) hat die Anforderung (250) einer kryptographischen Operation weniger oft als eine durch das wenigstens eine Autorisierungs-Token (220) definierte Grenzanzahl (228) empfangen.One or more non-transitory computer-readable storage media Claim 15 wherein the at least one authorization token (220) is valid if at least one of the following applies: the at least one authorization token (220) is signed by an authorization key (118); the request (250) of a cryptographic operation has been received by the HSM (200) within an authorization period (226) defined by the at least one authorization token (220); or the HSM (200) has received the request (250) of a cryptographic operation less often than a limit number (228) defined by the at least one authorization token (220). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 15 oder 16, wobei die Operationen des HSM (200) ferner umfassen: wenn die ACL (214) autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zu steuern, Bestimmen, ob die durch die Anforderung (250) einer kryptographischen Operation angeforderte kryptographische Operation (260) durch die ACL (214) erlaubt ist; und wenn die durch die Anforderung (250) einer kryptographischen Operation angeforderte kryptographische Operation (260) durch die ACL (214) erlaubt ist, Verarbeiten der Anforderung (250) einer kryptographischen Operation.One or more non-transitory computer-readable storage media Claim 15 or 16 wherein the operations of the HSM (200) further comprise: if the ACL (214) is authorized, access to the cryptographic key (120) of the request (250) controlling a cryptographic operation, determining whether the cryptographic operation (260) requested by the request (250) of a cryptographic operation is allowed by the ACL (214); and if the cryptographic operation (260) requested by the request (250) of a cryptographic operation is allowed by the ACL (214), processing the request (250) of a cryptographic operation. Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach einem der Ansprüche 15-17, die ferner umfassen: Empfangen an dem verteilten System (100) einer Herausforderungsanforderung (270) von einem Eigentümer (10) des kryptographischen Schlüssels (120); und Senden der Herausforderungsanforderung (270) an das HSM (200), wobei das HSM (200) konfiguriert ist, ein entsprechendes Autorisierungs-Token (220) an den Eigentümer (10) des kryptographischen Schlüssels (120) auszugeben.One or more non-transitory computer readable storage media according to any one of Claims 15 - 17 method further comprising: receiving at the distributed system (100) a challenge request (270) from an owner (10) of the cryptographic key (120); and sending the challenge request (270) to the HSM (200), wherein the HSM (200) is configured to issue a corresponding authorization token (220) to the owner (10) of the cryptographic key (120). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 18, wobei das entsprechende Autorisierungs-Token (220) Daten, die das HSM (200) identifizieren, und eine kryptographische Signatur (224) des HSM (200) umfasst.One or more non-transitory computer-readable storage media Claim 18 wherein the corresponding authorization token (220) comprises data identifying the HSM (200) and a cryptographic signature (224) of the HSM (200). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 18, wobei das entsprechende Autorisierungs-Token (220) einen Autorisierungszeitraum (226) und/oder eine Begrenzungsanzahl (228), die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens (220) begrenzt, definiert.One or more non-transitory computer-readable storage media Claim 18 wherein the corresponding authorization token (220) defines an authorization period (226) and / or a limit number (228) that limits a number of uses of the corresponding authorization token (220). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach einem der Ansprüche 15-20, wobei der kryptographische Schlüssel (120) der Anforderung (250) einer kryptographischen Operation eingewickelt ist.One or more non-transitory computer readable storage media according to any one of Claims 15 - 20 wherein the cryptographic key (120) is wrapped in the request (250) of a cryptographic operation. Ein oder mehrere nichttransitorische computerlesbare Speichermedien, die Anweisungen umfassen, die, wenn sie durch eine oder mehrere Computervorrichtungen ausgeführt werden, die eine oder die mehreren Computervorrichtungen veranlassen, Operationen auszuführen, die umfassen: Empfangen an einem verteilten System (100) einer Anforderung (250) einer kryptographischen Operation von einem Anwender (10), wobei die Anforderung (250) einer kryptographischen Operation einen kryptographischen Schlüssel (120) umfasst; Erhalten durch das verteilte System (100) wenigstens eines Autorisierungs-Tokens (220); Senden durch das verteilte System (100) der Operationsanforderung und des wenigstens einen Autorisierungs-Tokens (220) an ein Hardware-Sicherheitsmodul (HSM) (200), das konfiguriert ist, um Operationen auszuführen, die umfassen: Bestimmen, ob eine Zugriffssteuerliste (ACL) (214), die dem kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zugeordnet ist, autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) zu steuern; Validieren des wenigstens einen Autorisierungs-Tokens (220); und wenn das wenigstens eine Autorisierungs-Token (220) gültig ist und die ACL (214) autorisiert ist, den Zugriff auf den kryptographischen Schlüssel (120) der Anforderung (250) einer kryptographischen Operation zu steuern, Verarbeiten der Anforderung (250) einer kryptographischen Operation; Empfangen einer Antwort von dem HSM (200) an dem verteilten System (100), wobei, wenn das HSM (200) die Anforderung (250) einer kryptographischen Operation verarbeitet, die Antwort ein Ergebnis (260) der kryptographischen Operation umfasst; und Senden der Antwort von dem verteilten System (100) an den Anwender (10).One or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform operations that include: Receiving at a distributed system (100) a request (250) of a cryptographic operation from a user (10), the request (250) of a cryptographic operation comprising a cryptographic key (120); Obtained by the distributed system (100) of at least one authorization token (220); Sending, by the distributed system (100), the operation request and the at least one authorization token (220) to a hardware security module (HSM) (200) configured to perform operations including: Determining whether an access control list (ACL) (214) associated with the cryptographic key (120) of the request (250) of a cryptographic operation is authorized to control access to the cryptographic key (120); Validating the at least one authorization token (220); and if the at least one authorization token (220) is valid and the ACL (214) is authorized to control access to the cryptographic key (120) of the request (250) of a cryptographic operation, processing the request (250) of a cryptographic operation ; Receiving a response from the HSM (200) at the distributed system (100), wherein when the HSM (200) processes the request (250) of a cryptographic operation, the response comprises a result (260) of the cryptographic operation; and Sending the response from the distributed system (100) to the user (10). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 22, wobei das wenigstens eine Autorisierungs-Token (220) gültig ist, wenn wenigstens eines des Folgenden gilt: das wenigstens eine Autorisierungs-Token (220) ist durch einen Autorisiererschlüssel (118) signiert; die Anforderung (250) einer kryptographischen Operation ist durch das HSM (200) innerhalb eines durch das wenigstens eine Autorisierungs-Token (220) definierten Autorisierungszeitraums (226) empfangen worden; oder das HSM (200) hat die Anforderung (250) einer kryptographischen Operation weniger oft als eine durch das wenigstens eine Autorisierungs-Token (220) definierte Grenzanzahl (228) empfangen.One or more non-transitory computer-readable storage media Claim 22 wherein the at least one authorization token (220) is valid if at least one of the following applies: the at least one authorization token (220) is signed by an authorization key (118); the request (250) of a cryptographic operation has been received by the HSM (200) within an authorization period (226) defined by the at least one authorization token (220); or the HSM (200) has received the request (250) of a cryptographic operation less often than a limit number (228) defined by the at least one authorization token (220). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 22 oder 23, wobei die Operationen des HSM (200) ferner umfassen: wenn der kryptographische Schlüssel (120) der Anforderung (250) einer kryptographischen Operation mit dem entsprechenden kryptographischen Schlüssel (120) der ACL (214) übereinstimmt, Bestimmen, ob eine durch die Anforderung (250) einer kryptographischen Operation angeforderte kryptographische Operation (260) durch die ACL (214) erlaubt ist; und wenn die durch die Anforderung (250) einer kryptographischen Operation angeforderte kryptographische Operation (260) durch die ACL (214) erlaubt ist, Verarbeiten der Anforderung (250) einer kryptographischen Operation. One or more non-transitory computer-readable storage media Claim 22 or 23 wherein the operations of the HSM (200) further comprise: if the cryptographic key (120) of the request (250) of a cryptographic operation matches the corresponding cryptographic key (120) of the ACL (214), determining whether a request by ( 250) a cryptographic operation (260) requested by a cryptographic operation is allowed by the ACL (214); and if the cryptographic operation (260) requested by the request (250) of a cryptographic operation is allowed by the ACL (214), processing the request (250) of a cryptographic operation. Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach einem der Ansprüche 22-24, die ferner umfassen: Empfangen an dem verteilten System (100) einer Herausforderungsanforderung (270) von einem Eigentümer (10) des kryptographischen Schlüssels (120); und Senden der Herausforderungsanforderung (270) an das HSM (200), wobei das HSM (200) konfiguriert ist, ein entsprechendes Autorisierungs-Token (220) an den Eigentümer (10) des kryptographischen Schlüssels (120) auszugeben.One or more non-transitory computer readable storage media according to any one of Claims 22 - 24 which further comprise: Receiving at the distributed system (100) a challenge request (270) from an owner (10) of the cryptographic key (120); and sending the challenge request (270) to the HSM (200), wherein the HSM (200) is configured to issue a corresponding authorization token (220) to the owner (10) of the cryptographic key (120). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 25, wobei das entsprechende Autorisierungs-Token (220) Daten, die das HSM (200) identifizieren, und eine kryptographische Signatur (224) des HSM (200) umfasst.One or more non-transitory computer-readable storage media Claim 25 wherein the corresponding authorization token (220) comprises data identifying the HSM (200) and a cryptographic signature (224) of the HSM (200). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach Anspruch 25, wobei das entsprechende Autorisierungs-Token (220) einen Autorisierungszeitraum (226) und/oder eine Begrenzungsanzahl (228), die eine Anzahl der Verwendungen des entsprechenden Autorisierungs-Tokens (220) begrenzt, definiert.One or more non-transitory computer-readable storage media Claim 25 wherein the corresponding authorization token (220) defines an authorization period (226) and / or a limit number (228) that limits a number of uses of the corresponding authorization token (220). Ein oder mehrere nichttransitorische computerlesbare Speichermedien nach einem der Ansprüche 22-27, wobei der kryptographische Schlüssel (120) der Anforderung (250) einer kryptographischen Operation eingewickelt ist.One or more non-transitory computer readable storage media according to any one of Claims 22 - 27 wherein the cryptographic key (120) is wrapped in the request (250) of a cryptographic operation.
DE202018101136.7U 2018-03-01 2018-03-01 Token-translated hardware security modules Active DE202018101136U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202018101136.7U DE202018101136U1 (en) 2018-03-01 2018-03-01 Token-translated hardware security modules

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE202018101136.7U DE202018101136U1 (en) 2018-03-01 2018-03-01 Token-translated hardware security modules

Publications (1)

Publication Number Publication Date
DE202018101136U1 true DE202018101136U1 (en) 2018-05-09

Family

ID=62251477

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202018101136.7U Active DE202018101136U1 (en) 2018-03-01 2018-03-01 Token-translated hardware security modules

Country Status (1)

Country Link
DE (1) DE202018101136U1 (en)

Similar Documents

Publication Publication Date Title
DE102018104679A1 (en) In Tonken translated hardware security modules
DE19827659B4 (en) System and method for storing data and protecting the data against unauthorized access
DE112010004930B4 (en) Secure Kerberized Access to an Encrypted File System
EP3195556B1 (en) Distributed data storage by means of authorisation token
DE112005001672B4 (en) A method of providing a secret direct-proof key to devices using an online service
IE20180051A2 (en) Tokenized hardware security modules
DE60301177T2 (en) Program, procedure and device for data protection
DE602005001613T2 (en) SET UP A SECURE CONTEXT FOR TRANSMITTING MESSAGES BETWEEN COMPUTER SYSTEMS
DE69819485T2 (en) METHOD AND DEVICE FOR THE SAFE PROCESSING OF CRYPTOGRAPHIC KEYS
DE112012002741T5 (en) Identity and authentication procedures for the security of a cloud computing platform
DE102013203126B4 (en) System, method and program product for transparent access to encrypted non-relational data in real time
DE102009001718A1 (en) Method for providing cryptographic key pairs
DE112014000584T5 (en) Achieving storage efficiency with end-to-end encryption using downstream (downstream) decryptors
DE602005003631T2 (en) Exclusion of password detection for attribute certificate output
US20220255947A1 (en) Gradual Credential Disablement
EP4016338A1 (en) Access control for data stored on the cloud
EP3876127A1 (en) Remote device maintenance based on distributed data storage
CN111414634B (en) Information processing method and device
AT519025B1 (en) Procedure for exchanging data fields of certified documents
DE202018101136U1 (en) Token-translated hardware security modules
DE112019003808B4 (en) Purpose-specific access control based on data encryption
EP3407237B1 (en) Class-based encryption method
EP2491513A1 (en) Method and system for making edrm-protected data objects available
WO2011147693A1 (en) Method for providing edrm-protected (enterprise digital rights management) data objects
DE102008013079B4 (en) Method and arrangement for managing digital identities via a single interface

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years