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

Document and mitigate proof-of-file-ownership attack #186

Open
geek-merlin opened this issue Jan 6, 2021 · 5 comments
Open

Document and mitigate proof-of-file-ownership attack #186

geek-merlin opened this issue Jan 6, 2021 · 5 comments

Comments

@geek-merlin
Copy link

As i get it, the private key used to restore can have a passphrese, but the public key used to backup can not.

If i get it right, this is deterministic encryption. So, given the remote repo contains the config.yml file (which i need to do GC there), and given an attacker has access to my remote repo (and my backup strategy, it's open source), they can prove that i own a specific file, simply by adding it to the repo and seeing no or few new chunks.

If yes,

  • this attack should be added to the docs to make data hoarders aware of
  • there should be an option that prevents that attack, e.g. an optional pubkey passphrase
@dpc
Copy link
Owner

dpc commented Jan 7, 2021

The core issue is that chunks of data are named as a hash of plaintext data they contain. I guess it might be possible to name them after the hash of the cyphertext, if the encryption is deterministic, but I'm not sure if it doesn't introduce any other issues.

Note: IIRC symmetric encryption support is available, but it comes with a downside that it requires passphrase to unlock the repo for writing. In case of symmetric encryption determinism should be easy to achieve in all cases.

@geek-merlin
Copy link
Author

I guess it might be possible to name them after the hash of the cyphertext

That would not disable the attack. But interesting idea.

@geek-merlin
Copy link
Author

How difficult would an optional pubkey passphrase be?

@dpc
Copy link
Owner

dpc commented Jan 14, 2021

Optional pubkey passphrase defeats the purpose. Might as well use symmetric encryption (probably even faster).

@dpc
Copy link
Owner

dpc commented Jan 14, 2021

But if there are good reasons for it - it should be fairly straighforward.

(I have little time today, so I can't respond to other threads today, sorry!)

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