Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use trusted device public keys to encrypt folder passwords for syncing #242

Closed
Tracked by #219
tmpfs opened this issue Dec 6, 2023 · 4 comments
Closed
Tracked by #219
Assignees

Comments

@tmpfs
Copy link
Collaborator

tmpfs commented Dec 6, 2023

No description provided.

@tmpfs tmpfs self-assigned this Dec 6, 2023
@tmpfs tmpfs mentioned this issue Dec 6, 2023
88 tasks
@tmpfs
Copy link
Collaborator Author

tmpfs commented Dec 6, 2023

@conduition there is an edge case with this we should consider.

If we have devices A, B and C. Devices A and B are paired, device B is offline and the owner creates a folder on device A. Now device C pairs with device B which does not yet have the delegated password for the folder (because it was offline) and it won't be able to decrypt the folder password in the account event log (when it syncs) as it wasn't paired with device A when the folder was created (the password was only encrypted using the public key of device B).

@conduition
Copy link
Contributor

conduition commented Dec 8, 2023

Now device C pairs with device B which does not yet have the delegated password for the folder (because it was offline)

How does device B pair with device C without itself coming online? Once Device B comes online, it can pull the new folder and accompanying password before pairing device C.

@conduition
Copy link
Contributor

Even if device B is out of sync, but somehow still manages to pair device C, there should be a way for device C to pull down the latest data, and decrypt everything locally using the vault password. As i noted in slack, there shouldn't need to be direct device-to-device P2P communication except for maybe a very small piece of data (like a key or signature communicated over QR code). Once paired, device C should pull the latest state from the backend server.

@tmpfs
Copy link
Collaborator Author

tmpfs commented Dec 9, 2023

Agreed, I think you are right, I need to focus the design around the untrusted intermediary server that is also responsible for managing the identity vaults which resolves this problem.

Closing this as it won't be relevant once the server also hosts the identity vault.

@tmpfs tmpfs closed this as completed Dec 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants