Siyao Meng created HDDS-17562:
---------------------------------

             Summary: Use a separate encryption IV for each multipart upload 
part
                 Key: HDDS-17562
                 URL: https://issues.apache.org/jira/browse/HDDS-17562
             Project: Apache Ozone
          Issue Type: Improvement
          Components: Ozone Manager, Ozone Client
            Reporter: Siyao Meng
            Assignee: Siyao Meng


In an encrypted bucket, every part of a multipart upload is encrypted with the 
IV of the upload's {{FileEncryptionInfo}}, which is created when the upload is 
initiated.

This change gives each part its own random IV:
* OM generates the IV for each part in CreateKey {{preExecute}} and stores it 
in the open part key ({{KeyInfo.partIv}}). Commit part copies it onto the 
part's blocks ({{KeyLocation.partIv}}). The upload's {{FileEncryptionInfo}} 
(EDEK and its IV) is unchanged.
* The client encrypts a part with its IV, and decrypts each part with the IV 
stored on its blocks, falling back to the key IV.
* New OM setting {{ozone.om.mpu.part.encryption.iv.enabled}} (default {{true}}) 
turns this off.

Compatibility:
* New {{OzoneManagerVersion.MULTIPART_PART_IV}} and 
{{ClientVersion.MULTIPART_PART_IV_SUPPORT}}. OM sets part IVs only after it is 
finalized and only for clients that support them.
* Older clients, including older S3 Gateways and {{ozone sh}}, get 
{{NOT_SUPPORTED_OPERATION}} from LookupKey, GetKeyInfo and LookupFile for keys 
that have part IVs. Upgrade S3 Gateways and other clients before finalizing OM.
* Existing keys, regular keys and keys in unencrypted buckets are read as 
before.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to