2

I would like to sync my files, as dropbox does for example. However, I want my files to be very secure. The main things I want are for it to be secure, 'just work' without hassle, and reasonably fast.

Options I am considering:

  • Local encryption such as Veracrypt/Truecrypt with Dropbox sync or equivalent.
  • Rclone encrypted sync to unencrypted cloud such as Dropbox.
  • mega.io, icedrive.net, tresorit.com

My constraints are:

  1. Content is "large" in that I cannot resync the whole content every change.
  2. I am using Linux.
  3. It must be a cloud service available over the public internet (I don't want to host / maintain my own service / hardware).
  4. The files will be synced to multiple computers I own.
  5. The files should be continually automatically synced to minimize conflicts (ie. not manually triggered).
  6. Any installed software is open source.
  7. I don't trust the cloud storage provider to keep stored data private on their systems.
  8. The solution should not require the local files be stored encrypted (ie. if the password is lost or software breaks local files are still accessible).

Bonus nice to have constraints:

  1. Ideally I would like good OS integration. ie. Sync starts on system start, standard packages with provided updates, so I don't have to write my own scripts which may get out of date and break.
  2. Occasionally I edit files in offline locations leading to conflicts. The system should be able to handle this. Software I have used in the past renames one of the files to indicate the conflict and that is a good solution.
  3. Some files are "large" in that I would prefer not to resync the whole file if a small change is made.

From what I have read, there is no perfect answer today. To make this question more answerable, just saying which of the options I have listed is best (or worst) for my requirements would be a great answer. For example, if the answer is none are truly secure, but mega.io security is at least as good as any other option, plus it has change conflict handling, then I would use mega.io.

I think local encrypted volume, unencrypted cloud is not so good for handling change conflicts?

I don't mind paying for the service. The things I am storing are things like business information. I won't die if they get stolen.

Related questions:

8
  • You said it yourself, once you say "I don't trust the cloud provider", there will be no answer for you. I'm voting up anyway since I'd like to have other's views on that. Have you looked into Nextcloud? You can get VPS instances with Nextcloud preinstalled or set it up on a VPS yourself.
    – Sebastian
    Commented Sep 3, 2021 at 20:31
  • @Sebastian, thank you for the upvote! Regarding "no answer", I think in theory at least, you can have solutions without requiring trust? For example HTTPS allows you to communicate securely without trusting the network. Also, if there is no full solution, I am happy to to have an answer just on what is the best solution (or which don't work). Regarding Nextcloud, I have tried it, but I found the performance poor. I used Seafile which is quite good, but it fails "I don't want to host my own service / hardware". Unless it is managed, then it fails "I don't trust the cloud storage provider."
    – user82912
    Commented Sep 4, 2021 at 7:35
  • @Sebastian updated my question to make it clearer!
    – user82912
    Commented Sep 4, 2021 at 7:36
  • Your criteria are contradictory actually. If you don't trust anybody else to provide that service to you, you will have to do it on your own I'm afraid, i.e. hosting your own service, on your own hardware, on your own network. Saying which option is best is also impossible I'm afraid if you don't tell which constraints are more or less important to you, since you will have to make a compromise.
    – Sebastian
    Commented Sep 4, 2021 at 10:27
  • @Sebastian thanks for the comment. I think I wasn't precise enough in the question. I don't trust the cloud provider to respect privacy. I trust them to keep the data available. (In fact rather than trust them, I will do separate backups, and if they lose the data, I will recover, I don't mind doing that). I trust the provider to provide a reliable storage service, just not a secure (private) one (in any parts that are closed source). I think you can build a secure storage system on top of an insecure one.
    – user82912
    Commented Sep 4, 2021 at 10:53

2 Answers 2

1

Check out Cryptomator. I'm not sure if it's suitable for large files, but from a security perspective, the program seems pretty good.

3
  • Thank you, this looks fantastic. It even handles conflicts safely!
    – user82912
    Commented Oct 17, 2021 at 14:01
  • I tried this out and realised it means you have to store the local files in an encrypted volume. Given the software is so new and I encountered some (minor) bugs straight away I am not confident using it like that. So I am reopening (and clarifying) the question. Sorry for moving the goalposts. Very nice project and suggestion though.
    – user82912
    Commented Oct 23, 2021 at 9:54
  • I've used it with files larger than 2GB and it works well.
    – Stücke
    Commented Apr 5, 2023 at 8:22
0

Check out SyncThing. Although you mentioned Linux, if you (or anyone who will be reading this) will need to run it on a Windows machine, use this packaging of it, which make things much easier to setup: SyncTrayzor.

I believe it will check all of your boxes:

  • #1 syncs only blocks that have changed.
  • #2 Multi-platform, basically runs on everything mobile, pc etc.
  • #4 The more computers you have, the better bandwidth you'll have - as it uses a bittorrent-like protocol
  • #5 Once the deamon is running, it syncs all endpoints continually.
  • #6 Completely open-source

Note that #3 and #7 are somewhat contradictory in your requirements, but I still think this is the solution you are looking for:

  • #3 you can run this on any VPS and setup is rather easy, especially if using a dockerised option
  • #7 you DON'T need a cloud provider here, as there is no server involved, unless you want one (#3). The clients will sync between themselves without involving 'a server'.

Hope you find this helpful.

1
  • 1
    Thanks. Not a kind of solution I had been considering, but it looks very good. I'll check it out some more.
    – user82912
    Commented Sep 7, 2021 at 9:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.