Skip to main content

Database

The Transaction Security Broker (TSB) uses a relational database as its persistence layer. It stores the HSM User Secret, certificate metadata (for filtering and fast lookup), and the workflow state for SKA requests. Depending on the configured application profile, the database may also be used for multi-tenancy information or as an external keystore for persistent encrypted key objects.

This page describes:

  • Which database systems are supported
  • What the TSB database is used for
  • Which tables exist and what type of information they store (including data classification)

Supported Databases

TSB supports the following relational database systems:

  • MySQL
  • MariaDB
  • PostgreSQL
production usage

To ensure compatibility and stability of your production environment, use an LTS version that is still maintained by the respective database vendor.

Core Tables (Always Used)

TSB always requires the following information, regardless of mode:

  • Encrypted HSM user secrets (permanent secret / Partition user secret)
  • Certificate and public-key metadata
  • Database schema and migration versioning
Table / AreaInformation TypeUsedExamples / FieldsContains Secrets/PII?
tskac_configurationEncrypted HSM access credentials (permanent user secret, Partition configuration)Yesuser.secret.encrypted, init_vector, saltSecrets (AES/GCM encrypted, PBKDF2-HMAC-SHA512)
tskac_request_signatureOptional request-signature authentication; typically not used because mTLS is preferredOpt.digest_algorithm, public_key, signatureNo secrets (public keys only)
tskac_keysCertificate & public-key metadata (subject, issuer, algorithm, validity, etc.)YesDN fields, raw_certificate, sha1/sha256 fingerprints, SAN, KU, EKUNo secrets (public keys only).
PII possible (DN data)
schema_versionFlyway migration & schema versioningYesversion, script_name, checksum, successNo

Application Modes

TSB can operate in several modes. Each mode determines which database tables are used and how to classify the stored information.

ModeDescription
Single-Tenant1:1 relation (1 TSB ↔ 1 HSM Partition). mTLS authentication.
Smart Key Attributes (Workflow Engine)Enables quorum-based key operations via the SKA workflow engine.
Multi-Tenant1:N relation (1 TSB ↔ N HSM Partitions). JWT authentication.
External KeyStorePersistent storage of encrypted key material using the HSM Partition key.

The different modes are also explained in the REST API Configuration chapter.

Single-Tenant Tables

No additional tables are used in Single-Tenant mode, beyond the Core Tables set.

SKA Workflow Engine Tables

Used when:

  • The Smart Key Attributes (SKA) workflow engine is enabled or the TSB_ENGINE license is active
  • The Approver Management API is used for onboarding and managing approvers

In addition to the Core Tables, this mode stores SKA request metadata and states, and approval tasks and temporary workflow data.

Table / AreaInformation TypeExamples / FieldsContains Secrets/PII?
tskac_requestsSKA workflow requests; includes sign/decrypt/unwrap operations. Automatically cleaned via cron job.payload, encrypted_payload, raw_request, metadata, crypto parametersSecrets possible; PII possible
tskac_taskApproval tasks for SKA workflowauthorization_token, public_key_hash, link to tskac_requestsSecrets (approval token)
shedlockTechnical lock management for workflow executionlock_until, locked_byNo
tskac_attributesTemporary key attributes during unwrap operationssign, decrypt, extractable, wrapNo
csrsignrequest_*CSR KU/EKU attributesextended_key_usage, key_usageNo
tskac_standard_certificate_attributesCSR DN subject attributescommon_name, email, organization, surname, …PII
tskac_partition_access_allowed_*Allowed signing certificates (fingerprints)certificate_fingerprintNo
tskac_approver_managementApprover onboarding & encrypted key materialis_onboarded, one_time_password, pkcs12_data_encrypted, wrapped_decryption_key, certificate dataSecrets & PII

Multi-Tenant Tables

Used when TSB runs in Multi-Tenant mode, using JWT-based tenant identity and authorization.

Stored information includes:

  • Tenant-specific HSM access credentials
  • JWT payload hashes and expiration data
  • API access keys and role assignments
Table / AreaInformation TypeExamples / FieldsContains Secrets/PII?
tskac_partiton_accessHSM access credentials (encrypted) per tenant; JWT authenticationhostname, partition_name, user_secret, proxy_password, jwt_payload_hashSecrets
tskac_api_access_keysAPI key authentication for role separation at TSB level*_api_key, enabledSecrets

External KeyStore Tables

Used when TSB is configured as an external keystore, allowing cryptographic objects to be stored persistently in the database, encrypted (wrapped) using the HSM-internal Partition key.

Table / AreaInformation TypeExamples / FieldsContains Secrets/PII?
tskac_external_objectsEncrypted cryptographic objects (external keys, certificates)external_object_data, certificate_data, algorithm, primus_key_typeEncrypted key material
Get started withCloudHSM for free.
Other questions?Ask Sales.
Feedback
Need help?