A key may be created without a usage restriction, or with a restriction that permits both encryption and signing operations. The same key material is then exposed through two different cryptographic protocols, enabling cross-protocol attacks in which an oracle from one operation reveals information about the other. Confidentiality of data encrypted with the key and integrity of signatures produced with it are both weakened.
A Single Key is Used for Multiple Cryptographic Purposes
CCC.KeyMgmt.TH08
Related Capabilities
| ID | Title | Description |
|---|---|---|
| CCC.KeyMgmt.CP25 | Key Usage Restriction | The service may be configured to restrict a key to a declared set of operations, such as encrypt and decrypt or sign and verify, and rejects requests for operations outside that set. |
| CCC.KeyMgmt.CP02 | RSA-2048 | The service can create and use RSA keys with a 2048-bit modulus for encryption and digital signatures. |
| CCC.KeyMgmt.CP03 | RSA-3072 | The service can create and use RSA keys with a 3072-bit modulus for encryption and digital signatures. |
| CCC.KeyMgmt.CP04 | RSA-4096 | The service can create and use RSA keys with a 4096-bit modulus for encryption and digital signatures. |
| CCC.KeyMgmt.CP09 | Encrypt Data | The service can encrypt data submitted by a user with a managed key and return the ciphertext without exposing the key material. |
| CCC.KeyMgmt.CP11 | Create Digital Signature | The service can generate a digital signature over data or a digest submitted by a user with a managed asymmetric key. |
Related Controls
| ID | Title | Description |
|---|---|---|
| CCC.KeyMgmt.CN09 | Bind Each Key to a Single Cryptographic Purpose | Ensure that no key is exposed through more than one cryptographic protocol. |