SafeMonk uses a combination of encryption and key management algorithms and techniques to provide a hostproof solution for Dropbox.
This means that our service and the data that is stored on our networks is not capable of discovering your keys. Your Dropbox data is secure from decryption so long as you use the system in the designed manner. The loss of data from our servers - if our servers were to be attacked - would not result in the exposure of any sensitive key material that could be used to decrypt your data. Even if we really really wanted to decrypt your Dropbox data - we could not do it based on any of the information stored on our service.
The process of converting Plain Text to Cipher Text. Encrypting a file results in it being unreadable until it is decrypted.
File Encryption Key. Each file has its own FEK. The FEK is used to encrypt/decrypt the file. The FEK is encrypted with different keys (DEK) that the owner has access to - or anyone the owner shares it with. The encrypted FEK is attached to the Cipher Text version of the file and travels with the file as part of the normal Dropbox synching process
Directory Encryption Key. Each key associated with each item in a directory is encrypted with the DEK of that directory. When you share a folder in Dropbox - SafeMonk securely delivers the correct DEK to the shared party - thus enabling the shared party to access that folders contents.
User Public Key. Part of a Private/Public Key Pair the Public Key is stored on the SafeMonk servers and is used when receiving a share from another 3rd party. When a share is made - the sharer retrieves the recipients Public Key and encrypts the relevant key (i.e. the DEK). This is then posted back to the server for later retrieval by the user.
User Key Private. The other half of a key pair. This key lives on both the users client machines as well as the SafeMonk server. When stored on the server - these keys are encrypted by various recovery keys and key derivations of the users password.
When the user creates a password for his or her account - the client creates a hash of the password - and only the hash is stored on the SafeMonk server. Whether authenticating from the client software or from the browser - only the hash of the password is ever sent to the server for authentication. A Hash is an irreversable mapping of the password to some value. It is not possible to determine a password when knowing only the corresponding hash value.
The password used to authenticate to the service. While the service places some restrictions on the size and complexity of the password chosen by the user - it always makes good sense to choose long passwords that mix letters, numbers and other symbols. When creating a password - the application provide hints to the user as to the suitability of the password.
This is a one time code presented to the user the very first time they log in to the service from a downloaded client application. Subsequent installs of the client on other machines do not generate a recovery code - and the recovery code is unique to that user. While the service supports password changes and resets without the need for a recovery code - it is conceivable that the user may get in to a situation where only the recovery code can be used to recover an account. It is important to keep the recovery code safe - since without it a user may lose access to his or her encrypted data in Dropbox. The SafeMonk servers do not store the recovery code.