chibenwa opened a new pull request #342:
URL: https://github.com/apache/james-project/pull/342


   Users might not wish to administrate themselves a S3 compatible blobStore 
and might rely on a third arty to do so. As such, in order to avoid a third 
party compromission to escalate to a data leak, a good practice is to encrypt 
the data symmetrically, the secret key generation secrets being stored on the 
application server.
   
   Such a mechanism prevents data leak for a third party compromission, but do 
not deend against an application server compromission (as the attacker would 
then know the private key).
   
   As part of his work on a Swift compatible blob store [1] , Jean Helou 
contributed an AES encryption mechanism for that very blob store [2]. However, 
changes in the blobStore design, dropping of the (non-reactive) JCloud driver, 
rewrite on top of S3 API, as well as modularization of the blobStore 
(extraction of the BlobStoreDAO, PassThough VS Deduplicating blobStore) [3] 
lead to this work being dropped, for the sake of simplicity in an effort to 
finish a long lasting refactoring.
   
   Note that:
   - Needs to encrypt blob payload had been requested on top of the Cassandra 
blob store [4] in order to prevents (full) data leaks from a Cassandra DB 
compromission.
    - Some optimizations (prior [3]) of the object storage when using S3 were 
incompatible with payload encryption [5]
   
   By adoption design proposed in [3], reusing the job made by Jean in [2] we 
can write a generic AESBlobStoreDAO that wraps any other BlobStoreDAO, adding a 
security layer. Using the BlobStoreChooser, we then can re-enable this 
capability on top of the Distributed James server.
   
   This pull request contributes the first part of this work.
   
   [1] https://issues.apache.org/jira/browse/JAMES-2525
   [2] https://github.com/linagora/james-project/pull/1865 & 
https://github.com/linagora/james-project/pull/1975 & 
https://issues.apache.org/jira/browse/JAMES-2589
   [3] https://issues.apache.org/jira/browse/JAMES-3028
   [4] https://issues.apache.org/jira/browse/JAMES-3023
   [5] https://issues.apache.org/jira/browse/JAMES-2692


-- 
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]



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

Reply via email to