[
https://issues.apache.org/jira/browse/HDDS-2015?focusedWorklogId=307392&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-307392
]
ASF GitHub Bot logged work on HDDS-2015:
----------------------------------------
Author: ASF GitHub Bot
Created on: 05/Sep/19 18:57
Start Date: 05/Sep/19 18:57
Worklog Time Spent: 10m
Work Description: dineshchitlangia commented on pull request #1386:
HDDS-2015. Encrypt/decrypt key using symmetric key while writing/reading
URL: https://github.com/apache/hadoop/pull/1386#discussion_r321428987
##########
File path:
hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
##########
@@ -1099,6 +1126,23 @@ private OzoneOutputStream
createOutputStream(OpenKeySession openKey,
decrypted.getMaterial(), feInfo.getIV());
return new OzoneOutputStream(cryptoOut);
} else {
+ try{
+ GDPRSymmetricKey gk;
+ Map<String, String> openKeyMetadata =
+ openKey.getKeyInfo().getMetadata();
+ if(Boolean.valueOf(openKeyMetadata.get(OzoneConsts.GDPR_FLAG))){
+ gk = new GDPRSymmetricKey(
+ openKeyMetadata.get(OzoneConsts.GDPR_SECRET),
+ openKeyMetadata.get(OzoneConsts.GDPR_ALGORITHM)
+ );
+ gk.getCipher().init(Cipher.ENCRYPT_MODE, gk.getSecretKey());
Review comment:
@anuengineer Agreed.
1. Made default to 128 bit (16 char) so that users are not forced to have
JCE policy jars.
2. Added the log message with more details in case it hits the
invalidKeyException
3. We have HDDS-2059 logged, which would allow users to specify random
secret, so we can tackle the documentation aspect during that work.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 307392)
Time Spent: 4h 50m (was: 4h 40m)
> Encrypt/decrypt key using symmetric key while writing/reading
> -------------------------------------------------------------
>
> Key: HDDS-2015
> URL: https://issues.apache.org/jira/browse/HDDS-2015
> Project: Hadoop Distributed Data Store
> Issue Type: Sub-task
> Reporter: Dinesh Chitlangia
> Assignee: Dinesh Chitlangia
> Priority: Major
> Labels: pull-request-available
> Time Spent: 4h 50m
> Remaining Estimate: 0h
>
> *Key Write Path (Encryption)*
> When a bucket metadata has gdprEnabled=true, we generate the GDPRSymmetricKey
> and add it to Key Metadata before we create the Key.
> This ensures that key is encrypted before writing.
> *Key Read Path(Decryption)*
> While reading the Key, we check for gdprEnabled=true and they get the
> GDPRSymmetricKey based on secret/algorithm as fetched from Key Metadata.
> Create a stream to decrypt the key and pass it on to client.
> *Test*
> Create Key in GDPR Enabled Bucket -> Read Key -> Verify content is as
> expected -> Update Key Metadata to remove the gdprEnabled flag -> Read Key ->
> Confirm the content is not as expected.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]