[
https://issues.apache.org/jira/browse/HDDS-2015?focusedWorklogId=307312&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-307312
]
ASF GitHub Bot logged work on HDDS-2015:
----------------------------------------
Author: ASF GitHub Bot
Created on: 05/Sep/19 16:46
Start Date: 05/Sep/19 16:46
Worklog Time Spent: 10m
Work Description: anuengineer 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_r321370576
##########
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:
1. Should we make the key length by default to 128 bit instead of 256? That
way I don't need to Unlimited Strength.
2. When we get this error, say illegal key length, do you want to print out
this extra information, by looking at the key length. That is, if I have set it
to 32 bytes, you know it is 256 bits and just inform the user.
3. We can add this to the documentation and to the documentation of this
config key.
That way, the initial user experience is smooth; suppose someone does not
want to download and update Java security classes, it will still 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: 307312)
Time Spent: 4h 10m (was: 4h)
> 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 10m
> 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]