Full-object checksum
A full-object checksum is an integrity value computed for an object's complete ordered byte sequence rather than for a list of its part checksums.
Amazon S3 calls this scope FULL_OBJECT, including for supported multipart uploads. S3 can derive a full-object CRC from part checksums by linearization without changing its byte-stream scope. [1]
Relations
- related
- checksum, composite-checksum, multipart-upload, entity-tag, object-storage, end-to-end-data-protection
Advantages
- For a fixed algorithm and unchanged object bytes, full-object verification does not require retaining the original multipart boundaries. [1]
Limitations
- Compare like with like: algorithm, digest encoding, object version and covered bytes must agree; a whole-object value does not directly validate an arbitrary downloaded range. [2, 4]
- Retrieving checksum metadata is not proof that a client validated the download: SDK validation depends on support and settings, and unsupported algorithms can be skipped. [3]
- Algorithm support depends on the operation: S3 Batch Operations can calculate full-object SHA-256 at rest, unlike its multipart-upload SHA-256 mode. [5]
Citations
- Amazon S3: Checking object integrity for data uploads, full-object and composite checksum types
- Amazon S3 API Reference: GetObject, checksum mode, checksum type and requested object version
- AWS SDKs and Tools Reference Guide: Data Integrity Protections for Amazon S3, response checksum validation
- Hesela: Object ETags, full-object checksum scope and download verification
- Amazon S3: Checking object integrity for data at rest, supported algorithms