Zone key configurations
Previously, cryptographic parameters for zone key handling were heavily hard-coded. This parameter model introduces a hierarchical inheritance structure where zone keys automatically adapt and mirror the master key's underlying cryptographic configuration. However, to provide precise control over high-volume data encryption keys, the framework allows selective configuration overrides for zone keys.
Zone key default configurations
Zone keys are wrapped using a password-based encryption
approach (via the SealedObject API). By default, the zone key implementation
inherits the master key's cryptographic parameters with a few legacy configuration
overrides:
-
Key Generation Algorithm:
AES -
Key Size:
256bit -
Key Derivation Function (KDF): Inherits the master key's KDF (
PBKDF2WithHmacSHA256). -
Cipher Transformation: Inherits the master key's cipher (
AES/CTR/NoPadding). -
Iteration Count: Default value is
20(retained for backward compatibility). -
Salt Size: Inherits the master key’s salt size.
Zone key configurable properties
dbks-site.xml file in :| Parameter | Configuration Property Name | Configurable Options |
|---|---|---|
| Key Derivation Algorithm | ranger.kms.service.zonekey.encryption.algorithm | Accepts any KDF supported by the master key, which are as follows:
|
| Cipher | ranger.kms.service.zonekey.encryption.cipher | Accepts any cipher transformation available to the master key, which are as follows:
|
| Iteration Count | ranger.kms.service.zonekey.iteration.count | Custom integer count value to optimize wrapping complexity. |
| Salt Size | ranger.kms.service.zonekey.salt.size | Custom byte size setting for generating unique zone key salts. |
