Skip to main content

Cryptography Provider

Overview

Cryptography Provider has capability of cryptographic token management and cryptographic key operations that is connected with specific technology like hardware security module, security vault, etc. Cryptographic keys that are created and used in the context of Cryptography Provider are managed by the implementation of Connector and can be used in the platform to execute cryptographic operation with the key.

Entity Provider key management

The Entity Provider Connectors are also capable of key management operations that allow to create private key and sign CSR. These capabilities are available only for the entities managed by the Entity Provider Connector. The Crypto Provider brings key management capabilities for the entire platform.

Using Cryptography Provider, the platform can generate new key pairs, sign the certification signing request, decrypt incoming requests to issue certificate, and many more.

How it works

Cryptography Provider implements specific technology capable of managing and using cryptographic keys. Independently of the connected technology, it provides interfaces to manage cryptographic tokens and cryptographic keys in a consistent way. The token is considered to be logical unit maintaining its cryptographic keys and there can be as many tokens as required with proper authentication or activation data.

When there is a need to use cryptographic key, platform can request operation on top of some specific key and the operation will be executed in the technology through the Cryptography Provider implementation. Supported operations are:

  • Create / Destroy Key
  • Encrypt / Decrypt
  • Sign / Verify
  • Generate random data

Provider objects

Token

Token represents the logical separation of cryptographic keys. One token can contain multiple cryptographic keys. Each Cryptography Provider connector can have multiple tokens. The token is identified by its name and it is unique within the Cryptography Provider connector. Tokens can be managed in the platform.

Token can have the following status:

StatusDescription
ACTIVEToken is active and can be used for key management cryptographic operations
INACTIVEToken is inactive and should be activated before any key management or cryptographic operations is executed
WARNINGToken seems to be connected and activated, however, something might be wrong, see more details
CONNECTEDToken is connected but cannot be activated
DISCONNECTEDToken is disconnected from the technology and cannot be used
UNKNONWUnknown state, see logs or details of the Connector

Token Profile

Token Profile represents key management and cryptographic operations service that can be consumed by clients and users. Each Token Profile can be associated with only one Token, but multiple Token Profiles can be assigned with the same Token. Token Profile consists of additional management, compliance, and security rules that apply for the service, like key management interface (PKCS#11, KMIP), or key usage policy (signing, encryption, etc.). Token Profile is identified by its name and it is unique within the platform.

Inventory of Keys

Every Key that is created is stored in the inventory of cryptographic keys. Inventory of cryptographic keys is a list of all keys that are created in the platform. The inventory is used to track the keys and their usage. Attributes of the Keys are managed consistently in the platform and each Key is associated with the Token Profile that is used to manage it.

The following diagram shows the relationship between Token, Token Profile, and Keys in the inventory.

Processes

The following processes are associated with the Cryptography Provider and management of the Token and Key objects.

Token instance management

Create Token instance

Get Token instance details

Update Token instance

Remove Token instance

When the Token is removed, it does not necessarily mean that it was removed from the Connector and all Keys were destroyed.

Get Token instance status

Status of the Token can be regularly checked by the platform. See the list of possible states of the Token.

Activate Token instance

Token can be activated when is in the CONNECTED or INACTIVE state. Activation of the Token is required before any key management and cryptographic operations can be performed.

Deactivate Token instance

Key management

Following are supported processes for key management operations.

Create Key

Destroy Key

Cryptographic operations

The following processes are associated with the operations that are performed with cryptographic Key.

Encrypt data with Key

Decrypt data with Key

Sign data with Key

Verify data with Key

Generate random data

Specification and example

The Cryptography Provider implements Common Interfaces and the following additional interfaces:

The OpenAPI specification of the Cryptography Provider can be found here: Connector API - Cryptography Provider.