This page covers security hardening for validator and SV nodes, focusing on key management with external KMS providers and operational security practices.Documentation Index
Fetch the complete documentation index at: https://cantonfoundation-issue-365-details-history.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Key Management Overview
By default, Canton participants generate and store cryptographic keys in their regular PostgreSQL database. For production deployments, you should use an external Key Management System (KMS) to improve key security. Canton supports the External Key Storage mode, where the KMS generates and stores keys while Canton uses them through the KMS API. Supported KMS providers:- Google Cloud KMS
- Amazon Web Services KMS
Both GCP and AWS KMS drivers are available for general use.
Validator Security Hardening
Using an External KMS
To configure a validator’s participant keys with an external KMS, you must use the Helm-based deployment. KMS is not currently supported for Docker Compose deployments. Migrating an existing validator to KMS requires deploying a fresh validator:- Set up a fresh validator from scratch with KMS configuration
- Transfer all assets from the existing validator to the new KMS-enabled validator
- Retire the non-KMS validator
kms section of the participant Helm chart. Values are mapped to Canton’s crypto.kms config, so all Canton-supported configuration keys work. Use .additionalEnvVars, .extraVolumeMounts, and .extraVolumes in the Splice participant Helm chart to configure KMS authentication.
Network Security Best Practices
- TLS everywhere — All API endpoints must use TLS 1.2+
- Admin API isolation — Never expose the Admin API to the public internet. Use VPN or private networks.
- Firewall rules — Allowlist-based access control for all inbound and outbound traffic
- Network segmentation — Separate management and data planes
- DDoS protection — Recommended for publicly exposed endpoints
Access Control
- SSH and console access: key-based authentication with MFA
- Database access: network-restricted with strong credentials
- API access: JWT-based authentication via your OIDC provider
- Secrets management: use Vault, AWS Secrets Manager, or GCP Secret Manager for credentials
SV Node Security Hardening
Third-Party Daml Apps
SV operators must review any Daml code (DARs) installed on their participant node. Third-party Daml apps running on the same participant can interact with the Splice Daml models and potentially trigger unintended behavior. Only install DARs from trusted sources and audit all third-party code before deployment.External KMS for SV Participants
Configuring KMS for an SV participant follows the same principles as for validators, with one additional consideration: the CometBFT governance key. By default, the SV app manages the CometBFT governance key using the participant for key generation and storage. This mechanism is not supported with KMS-enabled participants, so SV operators using KMS must manage the CometBFT governance key externally. Migrating an existing SV to KMS:- Set up a fresh SV with KMS configuration. Coordinate with other SVs to onboard it with weight 0.
- Coordinate with other SVs to move your reward weight to the new SV (set old SV weight to 0).
- Transfer all assets from the old SV to the new KMS-enabled SV.
- Coordinate with other SVs to offboard the old SV.
- Retire the old SV.
cometBFT.externalGovernanceKey to true in the splice-sv-node Helm chart.
Credential Rotation
Rotate the following credentials on a regular schedule:- OIDC client secrets — Rotate according to your OIDC provider’s recommendations
- Database credentials — Rotate at least quarterly
- TLS certificates — Automate renewal before expiration (use cert-manager in Kubernetes)
- SV identity keys — The SV EC keypair is long-lived and stable across deployments; rotate only if compromised
Next Steps
- Backup and Recovery — Backup procedures and disaster recovery
- Upgrade Procedures — Upgrade processes for validators and SVs
- Infrastructure Requirements — Hardware and network security requirements