You are browsing as a guest. Sign up (or log in) to start making projects!

39m 5s logged

Okay guys, big problem. I realized I haven’t solved my problem with sharing files. I actually made things worse.

Now each user has one DEK that is used for encryption of all their files.
Two issues: the server is able to read the key (it decrypts shared files, thus E2EE is not provided), and when you give a person access to one file, you give the person access to all files.

The solution I need to implement: the master DEK will not be used for encrypting the files anymore, but will become a wrapping key, each file will have its own DEK which encrypts data in this particular file, and this DEK will be wrapped by the master DEK.

Each user should also have a key pair for RSA encryption: the public part of the key will be in cleartext, while the private part will be wrapped by the master DEK.

When a user shares a file, they encrypt only the DEK of this file with the recipient’s public RSA key, the recipient decrypts it with the private RSA key, and the server does not see any key in cleartext.

Wrapping the private key with the master DEK (not the password) means it’s recovered for free via the recovery key and survives password resets, so the existing login/recovery code stays untouched.

I hope to be able to fix this problem in reasonable time. I’ll stay in touch for further clarification and devlogs

P.S. in the screen you can see the DEK, proof for my thesis.

0
1

Comments 0

No comments yet. Be the first!