Skip to main content

Prevent Requests to Buckets or Objects with Untrusted KMS Keys

CCC.ObjStor.CN01 · Encryption

Prevent any requests to object storage buckets or objects using untrusted KMS keys to protect against unauthorized data encryption, or sensitive data decryption.

Related Capabilities

IDTitleDescription
CCC.Core.CP05Signed URLsThe service can generate an ad hoc URL containing authentication information to enforce user-configured permissions for accessing a specific component or a child resource.
CCC.Core.CP06Access ControlThe service automatically enforces user configurations to restrict or allow access to a specific component or a child resource based on factors such as user identities, roles, groups, or attributes.
CCC.Core.CP23Network Access RulesThe service restricts access to child or networked resources based on user-defined network parameters such as IP address, protocol, port, or source.
CCC.Core.CP29Active IngestionWhile running, the service itself can fetch or reach out to some other service or external source to get data, inputs or commands for the service to process or operate on.
CCC.Core.CP33Public Access RestrictionThe service may be configured to deny all access to a child resource from the public internet, regardless of any resource-level permission that would otherwise grant it.
CCC.Core.CP11BackupThe service can generate copies of its data or configurations in the form of automated backups, snapshot-based backups, or incremental backups.
CCC.Core.CP18Resource VersioningThe service automatically assigns versions to child resources which can be used to preserve, retrieve, and restore past iterations.
CCC.Core.CP32Deletion ProtectionThe service may be configured to block the deletion of a child resource, or to retain a deleted child resource for a recovery window during which it can be restored.
CCC.Core.CP34Data Lifecycle PolicyThe service may be configured to automatically delete, archive, or transition data or child resources once a user-defined age or condition is reached.
CCC.Core.CP01Encryption in Transit Enabled by DefaultThe service automatically encrypts all data using industry-standard cryptographic protocols prior to transmission via a network interface.
CCC.Core.CP02Encryption at Rest Enabled by DefaultThe service automatically encrypts all data using industry-standard cryptographic protocols prior to being written to a storage medium.
CCC.Core.CP35Customer-Managed Encryption KeysThe service may be configured to encrypt data at rest using a key that the user creates and controls in a key management service, instead of a key managed by the provider.
CCC.ObjStor.CP05Store New ObjectsThe service always allows a user to store a new object in a bucket under a key that is not yet in use.
CCC.ObjStor.CP06Replace Stored ObjectsThe service always allows a user to replace an object in a bucket by writing a new object to the same key, overwriting the previous content unless versioning retains it.
CCC.ObjStor.CP14Customer-Provided Encryption KeysThe service can encrypt an object at rest with a key that the user supplies in each request and that the service does not retain, as distinct from a key referenced from a key management service, so the object can only be read by presenting the same key again.

Related Threats

IDTitleDescription
CCC.Core.TH01Access is Granted to Unauthorized UsersLogic designed to give different permissions to different entities may be misconfigured or manipulated, allowing unauthorized entities to access restricted parts of the service, its data, or its child resources. This could result in a loss of data confidentiality or tolerance of unauthorized actions which impact the integrity and availability of resources and data.
CCC.Core.TH06Data is Lost or CorruptedServices that rely on accurate data are susceptible to disruption in the event of data loss or corruption. Any actions that lead to the unintended deletion, alteration, or limited access to data can impact the availability of the service and the system it is part of.
CCC.Core.TH18Encryption Key is MisusedEncryption keys may be used by an unauthorized entity due to inadequate key management practices or the compromise of a connected system. This could lead to the decryption of sensitive data, impacting its confidentiality and integrity.
CCC.ObjStor.TH04Objects are Encrypted with Keys Outside Organizational ControlAn identity with write access may store or re-encrypt objects using a customer-provided key that the service does not retain, or a key held in a key management service outside the organization's control. The service then holds ciphertext it cannot decrypt on the organization's behalf, so the plaintext is available only to the holder of the foreign key. This results in a loss of availability of the affected data and, where the key holder is external, a loss of confidentiality.

Assessment Requirements

IDTextApplicability
CCC.ObjStor.CN01.AR01When a request is made to read a bucket, the service MUST prevent any request using KMS keys not listed as trusted by the organization.tlp-amber, tlp-red
CCC.ObjStor.CN01.AR02When a request is made to read an object, the service MUST prevent any request using KMS keys not listed as trusted by the organization.tlp-amber, tlp-red
CCC.ObjStor.CN01.AR03When a request is made to write to a bucket, the service MUST prevent any request using KMS keys not listed as trusted by the organization.tlp-clear, tlp-green, tlp-amber, tlp-red
CCC.ObjStor.CN01.AR04When a request is made to write to an object, the service MUST prevent any request using KMS keys not listed as trusted by the organization.tlp-clear, tlp-green, tlp-amber, tlp-red

Guideline Mappings

FrameworkIDRemarks
CCMIAM-01IAM Policy and Procedures
CCMIAM-03Identity Inventory (system identities and level of access)
CCMDSP-17Sensitive Data Protection