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

Implement state binding for cryptography #22

Open
elagergren-spideroak opened this issue Jan 7, 2025 · 0 comments
Open

Implement state binding for cryptography #22

elagergren-spideroak opened this issue Jan 7, 2025 · 0 comments
Labels
crypto (hopefully) really difficult math

Comments

@elagergren-spideroak
Copy link
Member

@mooreoak wrote

There is an possible attack that looks as fallows:

Given the network graph syncing: A <-> C <-> B. But a different topology for Fast channels: A <-> B and B <-> C. It could be the case that C used to have access to some class of data but lost it while A and B still maintain that access. C can prevent B from learning of the removal of C's access; but in this case B can still receive controlled information from A and then B could pass it on to C not knowing about the revocation of access.

In this way C could maintain access to the privileged information.

To fix this we could allow for an API to mix in information from the factDB in to keys used for fast channels. This way if B was too out of date from A it could not decrypt data from A and therefor not be able to pass it to C. This approach for binding authority state into key agreement would be useful anytime we want to move data off graph.

I think this API should be driven by policy and not hard coded to something like "you must have the head I have to talk with me" as that might require a graph sync before every data plane message. (Thou that is good is some cases)

@elagergren-spideroak elagergren-spideroak added the crypto (hopefully) really difficult math label Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crypto (hopefully) really difficult math
Projects
None yet
Development

No branches or pull requests

1 participant