Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'd love to use Ubuntu One or Dropbox features, like file storage and so on, but I don't want anyone else to access my data, USA Patriot act etc.. I want things to be encrypted so that the only place where info is decrypted is only my devices. Is that possible with Ubuntu One or Dropbox?

share|improve this question
1  
One of Ubuntu One's purpose is to provide access to one's data from anywhere, any time. With encryption, that will not be possible. But I think making this encryption optional would be the way to do it. –  rigved Nov 4 '11 at 10:12
add comment

8 Answers 8

Yes it is possible. The best way to archive this with a per file encryption is with encfs:

The general principle is that you have a (optionally hidden) encrypted folder inside UbuntuOne/Dropbox where your files are stored, but you access them though another folder, where the decrypted files are shown. Any File you add to the decrypted folder will be encrypted and put into the encrypted folder:

Decrypted folder ←encfs→ Encrypted Folder (inside UbuntuOne/Dropbox)

On another computer the encrypted folder is synced by UbuntuOne/Dropbox and can also be decrypted on the fly.

Installation:

  • Install encfs version 1.7 or greater

    sudo apt-get install encfs
    
  • install gnome-encfs-manager:

    sudo add-apt-repository ppa:gencfsm/ppa
    sudo apt-get update && sudo apt-get install gnome-encfs-manager
    

Setting up the Drive on the first computer:

  • Create a (hidden) directory inside Dropbox/Ubuntu One to use as for the encrypted files
  • Start gnome-encfs-manager and set up a new stash (click on the plus sign)
  • Set the directory to encrypt to a (hidden) folder inside your Dropbox/Ubuntu one folder
  • Set the mount directory wherever you want (default is fine)
  • enter a good password (30 random chars...) and click "Create"
  • edit the new stash so it is mounted on startup and the password is saved in the gnome keyring

You should now have your encrypted drive mounted (it will be displayed like a mounted usb-drive)

Importing the drive on other computers:

  • Wait for all files to sync
  • Start gnome-encfs-manager and set up a new stash
  • Set the directory to the previously created folder inside your Dropbox/Ubuntu
  • encfs-manager will detect the drive and import it
  • Set the mount directory wherever you want (default is fine) and click "Import"
  • edit the new stash as desdribed above
  • you will be asked for your password on first mount

Cross Platform compatibility:

  • This is cross compatible with Android when using Encdroid (open source, recommended) or Cryptonite (open source). Both Android Apps support Dropbox and should also work with UbuntuOne using local folder decryption (in combination with an UbuntuOne client which syncs your files onto the SD Card)
  • This is probably also compatible with windows using encfs4win or other software, please comment or edit if you tested this.
share|improve this answer
    
This is awesome, thanks a lot! –  HappyDeveloper May 23 '12 at 15:22
    
This works well and should be marked as the accepted answer. The only downside when using this with Ubuntu One (not sure about DropBox) is that notifications and file syncing/checked icons don't appear so it's difficult to know when files have finished syncing to Ubuntu One. –  Joseph Apr 2 '13 at 7:33
    
With dropbox the syncing-icon works when using this method ;-) –  Uli Apr 5 '13 at 13:24
    
Do you know why EncFS has slow write performance? It's much slower than ecryptfs or truecrypt. lists.fedorahosted.org/pipermail/cloudfs-devel/2011-June/… –  gsedej Apr 11 '13 at 12:52
    
@gsedej I have no Idea, but it is more than fast enough for my purposes –  Uli Apr 13 '13 at 13:51
show 1 more comment

The only good way to do this is to first encrypt the files locally, then move them to the Ubuntu One folder. If you make an encrypted partition or container and then choose to sync that with Ubuntu One, you risk syncing the unencrypted data. See here for one approach using encFS. It has it's limitations though.

An alternative is SpiderOak, which works like Ubuntu One but encrypts everything before it leaves your machine. They claim they have no way to recover your data if you forget your password, and it even has two-factor authentication. Last I tried it, it would slow down my machine for several minutes after booting while it scanned my drive, but this may have been fixed by now. Also, it's 2GB free vs Ubuntu One's free 5GB.

This is a great question though, and I hope Ubuntu One can have very robust encryption for files stored online soon. Many people have already requested the feature. This is another Ask Ubuntu post detailing some of the issues you raise.

share|improve this answer
add comment

You could possibly make use of EncFS (http://www.arg0.net/encfs). Use the Ubuntu One directory to store the encrypted file system, while mounting it somewhere else. For example, using the following setup.

  • ~/Ubuntu One/.encrypted - the hidden encrypted files
  • ~/Ubuntu One (encrypted)/ - the visible decrypted files

This however will make the number of files, directory and file structure, and their sizes visible, so it's not an ultimate solution.

Read here for more details of how to set it up, and here for some basic information about advantages and disadvantages.

share|improve this answer
add comment

I can propose you the Wuala service here: http://www.wuala.com/en as an alternative to Spideroak. Almost same functionalities.

But, if you really want to control the encryption yourself, I can propose you to use Ubuntu One and Déjà-Dup (backup tool) together. You use the server space of Ubuntu One for your data, but you upload the data through Déjà-Dup using a password. Déjà-Dup will encrypt the data with your password. I think this is the best solution: simple and secure.

share|improve this answer
add comment

Thank you very mutch !

I tried SpiderOak.

Pros: "Zero knowledge" concept built in from the ground, exactly what I was looking for.

Super easy setup on Ubuntu and Android phone.

Concurrent file access AND encryption is there by design. 

Cons: Closed source client. I trust open source more, when it comes to security.

Cannot synchronize mobile phone directories to the cloud. Con only read
what is stored, by downloading every file on demand.

I chose to go with UbuntuOne + EncFs, since encryption layer is open source.

Still would very appreciate if UbuntuOne would implement "Zero Knowledge" concept out of the box.

Now I'm using SSHFS against own server to access large files like photo / video collection.

pros: No need to duplicate every file on every computer.

No monthly fees for keeping terabytes of data on the network.
(because it's all on my once bought hardware)

cons: Useless on slow network connections or when offline.

And I use GIT + GITCOLA for document registry.

pros: Can work offline.

Have history on previous directory/files states.

cons: Doesn't work well on binary files above 1 GB.

Space is consumed by local git repository AND checked out copy of files,
so not good for huge video / photo collections.

And I use UbuntuOne + EncFS for a few gigabytes of fast changing and temporary files, like Desktop directory. This way I can conveniently switch computers and continue working on the same in-progress files, even sometimes offline and without quickly growing GIT repository.

share|improve this answer
add comment

I am currently using SecretSync to ecrypt data stored in Ubuntu One and DropBox.

SecretSync encrypts files locally on your PC and works with any sync platform (U1, Dropbox, Sugarsync etc etc)

http://secretsync.com/ss/

share|improve this answer
add comment

You can also use truecrypt.

Below is a short summary of how can you use truecrypt (sources for detailed instructions are provided below):

  • Download truecrypt from http://www.truecrypt.org/downloads and install it.
  • Open truecrypt and go to Volumes > Create New Volume.
  • Choose Create an encrypted file container.
  • Configure the container: place to store the file container, hashing and encryption algorithm, size of the container, passwords/keyfiles etc, and format the container.
  • From the main truecrypt window, select File button to locate the file you've created and press Mount.
  • Provide your password/keyfiles.
  • Now you can see file mounted in nautilus or any other file explorer.
  • After you're done dismount the volume.

Now, you can upload this volume container to your Ubuntu One account.

Sources and further information:


This answer was not intended to be a comparison but below I'm mentioning advantages/disadvantages of using truecrypt for reference.

The advantages of using truecrypt (over encfs) are as follows:

  • truecrypt is cross-platform. It is available for Windows, Linux, and Mac.

  • encfs uses FUSE to mount an encrypted directory onto another directory and thus file transfer is relatively slow.

  • encfs is file based. This means that everyone can actually see the number of files, permissions, approximate size, and the last time they were accessed or modified.

The disadvantages are:

  • The encrypted volume is a fixed size volume, so the file would always occupy the maximum space. Whereas encfs uses space when you copy files.

  • ONE BIG DISADVANTAGE: Whenever you modify the encrypted volume, you'd have to download/upload the complete file to sync your Ubuntu One account.

share|improve this answer
add comment

You might want to take a look at the Gnome Encfs Manager project.

It implements an easy GUI way to organize one or multiple EncFS volumes (which you then can sync via Ubuntu One, Dropbox and similar services; maybe WebDAV also works).

Look at Uli's answer for the details:

Yes it is possible. The best way to archieve this with a per file encryption is way is with encfs:

The general principle is that you have a (hidden) encrypted folder inside UbuntuOne/Dropbox where your files are stored, but you access them though another folder, where the decrypted files are shown. Any File you add to the decrypted folder will be encrypted and put into the encrypted folder:

Decrypted folder ←encfs→ Encrypted Folder (inside UbuntuOne/Dropbox)

On another computer the encrypted folder is synced by UbuntuOne/Dropbox and can also be decrypted on the fly.

I think, it's the way you have to think the least. Plus, it is open source.

share|improve this answer
    
Thanks for the heads up! Gnome Encfs Manager works great and is certainly easier to use. I updated my answer accordingly and also updated the cross platform section to include compatible android apps. –  Uli Apr 13 '13 at 13:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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