Managing Protection Policy
Protection policy defines a set of rules that govern the cryptographic operations to be performed in the application data protection. A protection policy includes entities such as algorithm, key, character set, access policy and so on.
Protection policy specifications
Supported key types
Symmetric AES keys are supported.
The keys must be marked exportable on CipherTrust Manager. The key to be used in the protection policy must be added to a group with Read, Encrypt, Decrypt, and Export permissions. One such example of group is Application Data Protection Clients.
Note
While adding an application on CipherTrust Manager, in the Client Groups field, select the group with which the key to be used in the protection policy was associated (for example, Application Data Protection Clients).
Supported algorithms and their specifications
Important Notes
-
It is recommended to use FPE/FF1v2 over other FPE algorithms.
-
AES-GCM, being more secure, is recommended over AES-CBC and AES-ECB.
-
It is recommended to use random nonce wherever applicable.
-
Random2 has a known limitation–small variations in the input plaintext produce only small variations in the output ciphertext.
FPE/AES
| IV | The IV length is dependent on the cardinality of the character set. To know the required IV length, click here. |
| Random Nonce | Supported types are internal, external, and disabled. For more details, click here. It is recommended to use random nonce for higher security. |
| Cardinality | Unicode. |
| Key Size | 128, 192, and 256. |
| Tweak Algorithm | Hashing algorithm to be applied to the specified tweak data beforehand. Possible options are: — SHA1 — SHA256 — NONE — NULL Tweak algorithms and tweak data are only applicable when random nonce is disabled. |
| Tweak | It uses the tweakable cipher concept to protect against statistical attacks due to potentially small input/output space. To know the required size of tweak data for FPE and tweak algorithms, click here. |
| Minimum supported input value | 2 characters. |
FPE/FF1v2
| Random Nonce | Supported types are internal, external, and disabled. For more details, click here. It is recommended to use random nonce for higher security. |
| Cardinality | Unicode. |
| Key Size | 128, 192, and 256. |
| Tweak Algorithm | Hashing algorithm to be applied to specified tweak data beforehand. Possible options are: — SHA1 — SHA256 — NONE — NULL Tweak algorithms and tweak data are only applicable when random nonce is disabled. |
| Tweak | It uses the tweakable cipher concept to protect against statistical attacks due to potentially small input/output space. To know the required size of tweak data for FPE and tweak algorithms, click here. |
| Minimum supported input value | 2 characters. |
FPE/FF3
| Random Nonce | Supported types are internal, external, and disabled. For more details, click here. It is recommended to use random nonce for higher security. |
| Cardinality | Unicode. |
| Key Size | 128, 192, and 256. |
| Tweak Algorithm | Hashing algorithm to be applied to specified tweak data beforehand. Possible options are: — SHA1 — SHA256 — NONE Tweak algorithms and tweak data are only applicable when random nonce is disabled. |
| Tweak | It uses the tweakable cipher concept to protect against statistical attacks due to potentially small input/output space. To know the required size of tweak data for FPE and tweak algorithms, click here. |
| Minimum supported input value | 2 characters. |
FPE/FF3-1
Note
- For FF3-1, the maximum supported data length to be protected is dependent on the cardinality of the character set. The input data length must be <= the block-size.
| Random Nonce | Supported types are internal, external, and disabled. For more details, click here. It is recommended to use random nonce for higher security. |
| Cardinality | Unicode. |
| Key Size | 128, 192, and 256. |
| Tweak Algorithm | Hashing algorithm to be applied on specified tweak data beforehand. Possible options are: — SHA1 — SHA256 — NONE Tweak algorithms and tweak data are only applicable when random nonce is disabled. |
| Tweak | It uses the tweakable cipher concept to protect against statistical attacks due to potentially small input/output space. To know the required size of tweak data for FPE and tweak algorithms, click here. |
| Minimum supported input value | 2 characters. |
AES
| Random Nonce | Supported types are internal, external, and disabled. For more details, click here. It is recommended to use random nonce for higher security. |
| Modes | Supported modes are: — CBC — ECB |
| Padding Schemes | — PKCS5Padding — NoPadding When using AES with NoPadding in CBC or ECB mode, then you must supply the input in multiples of 16 bytes (any UTF-8 input character). |
| IV | CBC mode accepts a 16-byte IV (can be any UTF-8 character input). For ECB mode, IV is not supported. It is mandatory to specify IV when random nonce is disabled. |
| Key Size | 128, 192, and 256. |
| Identifier Strings | — AES/CBC/NoPadding — AES/CBC/PKCS5Padding — AES/ECB/NoPadding — AES/ECB/PKCS5Padding |
AES/GCM
| Random Nonce | Supported types are internal, external, and disabled. For more details, click here. It is recommended to use random nonce for higher security. |
| Modes | GCM |
| Padding Schemes | NoPadding |
| IV | 1 to 16 byte (any UTF-8 input character) It is mandatory to specify IV when random nonce is disabled. |
| Key Size | 128, 192, and 256 |
| Identifier Strings | AES/GCM |
| Additional Authenticated Data (AAD) | (Optional.) AAD is additional data that is authenticated but not encrypted during the AES-GCM operation. It ensures the integrity of the data and data tampering with AAD can be detected. |
| Tag Length(TagLen) | (Optional.) The TagLength refers to the size of the authentication tag, also known as Message Authentication Code (MAC), generated by AES-GCM. It can be in the range of 32-128 (should be multiple of 8). For example, 32,40,48 ... 120,128 |
AES/CTR
| Random Nonce | Supported types are internal, external, and disabled. For more details, click here. It is recommended to use random nonce for higher security. |
| Modes | CTR |
| IV | AES/CTR accepts 16 byte (any UTF-8 input character) IV. It is mandatory to specify IV when random nonce is disabled. |
| Key Size | 128, 192, and 256 |
| Identifier Strings | AES/CTR |
Random2
| Nonce | Required to increase the randomness in data protection. Click here for details. |
| Key Size | 128, 192, and 256 |
| Identifier Strings | Random2 |
| Cardinality | Unicode |
| Minimum supported input value | 1 character |
Supported character set
For format preserving algorithms (FPE and Random2), the Application Data Protection supports configurable character sets.
Note
-
FPE requires minimum two characters from the character set to perform crypto operations.
-
Random2 requires minimum one character from the character set to perform crypto operations.
Protection policy versioning
Application protection policies are versioned. Whenever a protection policy is modified, the version increases by one. The versioning helps track changes and updates made to a protection policy.
Refer to Protection Policy Versioning Details for more information on protection policy versioning.
What's Next
In this article you will learn how to: