> In cryptography, a zero-knowledge proof or zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that a given statement is true, without conveying any information apart from the fact that the statement is indeed true.
z.cash is a zero knowledge system and has a good definition of it on its FAQ:
> Zero knowledge proofs are a scientific breakthrough in the field of cryptography: they allow you to prove knowledge of some facts about hidden information without revealing that information. The property of allowing both verifiability and privacy of data makes for a strong use case in all kinds of transactions, and we’re integrating this concept into a block chain for encrypting the sender address, the recipient address, and the amount. A block chain that encrypts transaction data (making it private) and lacks zero-knowledge proofs also lacks the assurance that all the transactions are valid. This is because the nodes in the network can’t determine whether the sender really had that money or whether they previously sent it to someone else, or never had it in the first place. The encrypted data becomes unverifiable by network nodes.
This seems to be an abuse of the motte and bailey kind: they use a word which everyone believes means one thing, but when questioned they resort to a less commok definition because they 'didn't mean it that way.'
A few cryptographers have noticed SpiderOak's marketing term Zero Knowledge is inconsistent with the academic definition. Maybe it doesn't mean what we think it means? SpiderOak was one of the first companies to use this phrase commercially and the need has only grown stronger.
At the heart of the issue is the difficulty for end users to decipher the terms cloud vendors use to describe their security. Doing so would require discrimination between transport encryption, data encryption, meta data encryption, encryption at rest vs. in motion, and then most importantly evaluate key management and access. This vocabulary is foreign to most folks. Vendors often exploit the inaccessibility of these topics to make a series of statements that, while often factually correct individually, together create a false sense of privacy.
SpiderOak launched a online backup product for Linux, Mac, and Windows in 2007. The competitors were companies like Xdrive, Mozy, Carbonite and SugarSync. Each claimed that customer data was fully encrypted. Even the most credible journalists writing for well funded publications with fact checking budgets were fooled and repeated these misleading claims to end users. 
In 2009 when Dropbox launched, they made misleading claims about the encryption of customer files and their internal ability to access customer's data or provide that data to 3rd parties, leading to a well publicized FTC deceptive trade practices complaint.  The deception had been so effective that leading software engineers were shocked to discover Dropbox had full access to the data they had stored online. 
In response to customer requests on one of their forums, Mozy explained why it would be "impossible" for a storage service to protect users' privacy by encrypting the file and folder names customers store in a way Mozy could not read. SpiderOak customers had benefited from the impossible for years.
Recently Slack made the unbelievable claim on Twitter that their service includes end to end encryption (it doesn't.) Perhaps they mean from your end to their end?
Lately there's a new phrase "customer managed keys" used by cloud providers, which sounds really great, but is typically just elaborate hand waving that ultimately allows the vendor and their staff the same level of data access as if it were not encrypted.
In 2007 we found ourselves frequently explaining "we don't know the names of your files, the names of your folders, the date they were created or last modified or accessed, their size, their checksums or hashes... in short we know nothing about your data except how much you store." We started using the phrase Zero Knowledge as a headline to this long explanation.
It's important to recognize that cryptographers already understand encryption and the terminology is intended for everyday folks. When I'm speaking with a technologist about how SpiderOak products work, I would typically use the phrase end to end encryption.
If we want to end mass surveillance, the only way this can happen is through viral adoption of end to end encrypted products and services. Great UX, education, and terminology are powerful tools, and unlike phrases involving the word "encryption", to my knowledge no company has yet been shameless enough to deceptively use the term Zero Knowledge.
"This vocabulary is foreign to most folks."
Please, please keep taking these customers. Can we send you leads directly from our pre-sales inbox ?
"If we want to end mass surveillance, the only way this can happen is through viral adoption of end to end encrypted products and services."
Actually, what we need to do is throw some money at the guy writing borg. Or maybe sponsor a code audit. I think I am going to put that on our to-do list for this spring ...
> no company has yet been shameless enough to deceptively use the term Zero Knowledge.
Except you guys? Why use the phrase "zero knowledge" when you fully know that it has a predefined meaning? Call it no information, no leakage, zero leakage, whatever, but why the one term that is already used to refer to a different concept?
I get that it's a sexy name, but that's why cryptographers use it to refer to a much cooler concept than mere encryption.
I am actually not even sure whether zero-knowledge is not technically correct here. Terms like zero-knowledge proof or zero-knowledge protocol have very specific meanings and certainly do not apply here, but is zero-knowledge on its own really used for something more specific or other than not leaking knowledge? I also immediately thought of zero-knowledge proofs and protocols but nothing like that is mentioned anywhere, at least as far as I can tell, so it was kind if my mistake to read something into it that was not actually there.
EDIT: Zero-knowledge seems to indeed have a very specific technical meaning on its own , at least in the context of zero-knowledge proofs.
We prioritized making the explanation clear to non-experts vs. to the community of cryptographers.
You're thinking along the right lines. I think variations of the words safe and vault have worked for other companies, too, given people understand what they do. "Your data is in a locked vault that we hold for you while you keep the keys or combination." That sort of thing.
(Or "Jon Snow", for short, if they can get away with it without being sued - "Jon S. crypto, we dont know nuthing" ;-)
This seems like a case of perfect being the enemy of good.
Until you come up with some other cool-sounding term for end-to-end encrypted storage, every time your product is discussed in a forum that includes people familiar with cryptography, the discussion is going to be dominated with threads about how your product doesn't do what its name claims it does.
If it were me, I would think of this as a very suboptimal situation; sort of the worst case for what a product name can do.
Business 101 if goal is max adoption & profit.
Have you considered licensing your stuff using the BSL: http://monty-says.blogspot.com/2016/08/applying-business-sou...
This would let me pay you to continue your (very important!) work, and let me recommend your service to others.
[edit: For people not familiar with the BSL: It makes it easy to say things like:
"This release of the software is free for the first 100MB, then $10/TB after that. Licensing the software gives you non-transferrable rights similar to a BSD license. On Jan 2, 2027, the above usage restriction will expire, leaving the software with a BSD-style license"
You bump the expiry date on each release, so cheapskates have to wait 10 years for new features, and the developers have to continuously improve the software to maintain a revenue stream.]
For what it's worth, everything we've built since 2008 has published source code. Most recently that's Semaphor, which is written in Go and React.
I think it's very important that products have what Zooko calls an "economic feedback loop" to be successful. As just one example, volunteer projects rarely have staff that do the grinding but necessary work of testing that each release works well on every version of all support operating systems and platforms, because it isn't fun. I think this is why although some teams publish their client source code, very few service providers publish their server source code. It would make it too easy for competitors to emerge and undercut on price while giving little back (the biggest cost is the often the development work itself.)
That said, we've been in business for 10 years and are not going away! Thanks for your feedback.
Anyway, I'd love to hear your thoughts on the licensing model, even if you're not considering it at spideroak.
Ideally it would be a phrase that's adopted by many sites, the press, etc. (as Zero Knowledge has been, for better or worse.) It should accurately convey the situation that 1) the data is meaningfully encrypted 2) the meta data is meaningfully encrypted and 3) only the customer has access to the encryption keys.
I've had my reservations about companies that make such bold claims as yours but I will look into your platform more and give the free trial a whirl.
Do end users talk about the services they purchase using the word "provider"? Is for example, Facebook or Twitter commonly referred to as a social media "provider?" The most common example I can think of is ISP, but I rarely hear non technical people say "ISP". They say something like "I get Internet from Time Warner" instead.
Is "obscured" a commonly used, highly accessible word? Can you think of a few popular movies or books with that word in the title? Is it commonly used in news headlines?
So the proposal is a hyphenated phrase of these two uncommon words. I think it's likely "Zero Knowledge" would crush "Provider-Obscured" in an A/B test. Ditto for "Homomorphic."
Seeing highly technical terms in headings makes non technical people believe that the software is complex and hard to use, and is therefore not for them. IMO, this is one of the classic failings of security products in general. It needs more study.
With that said, what about "opaque" instead of "obscured" and "host" or "cloud" instead of "provider"?
Host-Opaque Cloud Storage
Cloud-Obscured Cloud Storage (okay, bad acronym)
(And I know it's kind of late for a name change anyway.)
I have no problem with your use of the phrase zero knowledge, but I understand the complaints.
I strongly disagree. The "only" way mass surveillance will end is when is made illegal and the entities that practice it are treated as pariahs by civilized humanity.
It is purely a political issue.
If "zero-knowledge" implicitly meant "zero-knowledge proof", there would be no reason to ever use the latter phrase. Zero-knowledge is an adjective. It's a modifier. It's the "proof" part in "zero-knowledge proof" that's important in describing what it is. "Zero-knowledge" is a property of the method employed.
The irony is that, wrt the original comment, it's end-to-end encryption that would be a misleading and misapplied label.
I'm not affiliated with this company and I've never even used this service before, and yet it's immediately clear what zero-knowledge means in the context of a cloud storage provider: you never need divulge your keys, so the question of whether you trust your provider or not is moot.
Back when Firefox Sync first launched, I was chasing the idea of referring to it and any similar service as "zero-trust" systems. But building a service and referring to it as "zero-knowledge cloud storage" is totally acceptable.
Developer me would certainly prefer technical accuracy but we all know that users certainly could not care less what is the technically correct name for the thing. So I don't care at all whether they call it zero-knowledge or not, they are not trying to trick anybody into believing they are doing zero-knowledge stuff in the cryptographic sense. I actually like zero-trust but I can see how this could easily be interpreted in the wrong way, should or must not be trusted instead of need not be trusted.
Either way, this system isn't "zero knowledge", even if that term were well defined for this situation; you leak file sizes and access patterns.
Not surprisingly, the link you've given is about a phrase with 3 words in it, not 2.
And while I've always been annoyed about overloads of "open source", at least that's a words association that you won't hear from non-technical folks and that wasn't in use before OSI happened. And even so, note that OSI couldn't trademark it.
The usage of the term matters when it'll be cryptographers reviewing the work; almost every thread about SpiderOak I've seen calls them out on misleading marketing. Hardly good for PR.
Passing encrypted data through a storage device isn't a "zero-knowledge protocol" in a cryptographic sense, it's just normal cryptography.
Anyone any idea what the issue is or was? What would prevents you from doing PBKDF2, RSA and AES  on a mobile device?
However for Semaphor, our encrypted group chat and file sharing tool (akin to IRC, to Slack or HipChat) the internals are written in Go and it's the same code base on all platforms, including mobile. That source code is also published for security review. We plan to migrate SpiderOakONE to use that same stack so the mobile experience is the same as desktop.
The one thing that makes their privacy weak is: The software involved in the encryption/password handling is not open source. We have only their word for it that they are not snooping or letting anyone else snoop.
If you're willing to do the extra work, you can get a cloud service like Dream Objects, and use software like duply/duplicity to store your files online and encrypted. You may lose some flexibility, though.
I encourage you to look into borg backup which appears to have replaced duplicity as the de facto standard for "robust backups that the provider knows nothing about".
This is really the direction you look for providers to go in - giving you a blank slate to write whatever bits you want to and allowing you to control the encryption with your own tools.
If you point borg (or duplicity) at even the most privacy-antagonistic provider, they still have nothing but gibberish.
Rsync.net have also been very good and competitively priced, as per the above link. I can recommend them as well. (no affiliation with either product).
I've been using SpiderOak for years without noticing any bloat or performance issues with the background service. On the contrary, I was often surprised how little space I'm using in spite of the fact that they store multiple versions of my files. It doesn't hog memory or bandwidth or CPU at all.
The UI is indeed a bit weird and its performance can be erratic sometimes, but it gets the job done and has a lot of useful features.
Most importantly, SpiderOak has reliably protected me from losing data and I don't have to babysit it. It just works.
(I'm a happy paying customer. No affiliation with them whatsoever)
Then, one day, my account got full, and I couldn't delete anything unless I got some more free space first (see the problem?). I believe support gave me a few extra GB just for the deletion, but that didn't work either and I decided to stop using the whole thing. That's when I switched to attic/borg, which is much superior for my use case (backups).
FYI, the SpiderOakONE app and the backend storage service received a refresh in 2016, and another one is underway right now (now all needed libraries are Python3 compatible!)
The existing UI is oriented toward power users, and is a bit complex for most people. The upcoming refresh simplifies many things while retaining the flexibility under "advanced" settings.
EDIT: I only use the free version though, so maybe the paid plans have better speeds.
Now they also have a galaxy of related products (IM, collab, etc) which more or less integrate with ONE, although I haven't really used them.
No it was actually a couple of years ago, more than 3
I might give it a try.
My only experiences with them have been horrible. Their client is buggy, slow and horrible and their support left tickets for literally months until they basically gave up and gave me a refund.
In February SpiderOak dropped its pricing to $12/month for 1TB of data. Having several hundred gigabytes of photos to backup I took advantage and bought a year long subscription ($129). I had access to a symmetric gigabit fibre connection so I connected, set up the SpiderOak client and started uploading.
However I noticed something odd. According to my Mac's activity monitor, SpiderOak was only uploading in short bursts  of ~2MB/s. I did some test uploads to other services (Google Drive, Amazon) to verify that things were fine with my connection (they were) and then contacted support (Feb 10).
What followed was nearly __6 months__ of "support", first claiming that it might be a server side issue and moving me "to a new host" (Feb 17) then when that didn't resolve my issue, they ignored me for a couple of months then handed me over to an engineer (Apr 28) who told me:
"we may have your uploads running at the maximum speed we can offer you at the moment. Additional changes to storage network configuration will not improve the situation much. There is an overhead limitation when the client encrypts, deduplicates, and compresses the files you are uploading"
At this point I ran a basic test (cat /dev/urandom | gzip -c | openssl enc -aes-256-cbc -pass pass:spideroak | pv | shasum -a 256 > /dev/zero) that showed my laptop was easily capable of hashing and encrypting the data much faster than SpiderOak was handling it (Apr 30) after which I was simply ignored for a full month until I opened another ticket asking for a refund (Jul 9).
I really love the idea of secure, private storage but SpiderOak's client is barely functional and their customer support is rather bad.
Indeed it seems that they are moving to another products...
SO has no UI means to control version history. In order to limit version history (for example, to hourly versions per day, then 1 per day for a month, then 1 per week indefinitely), I need to run a script to close SO and run SO with some command line arguments. Having this functionality available in the UI would be nice.
The SO UI is slow to use. Over 6 years I have accumulated a lot of files and whenever I goto the manage tab to browse my files, it can take several seconds each time I expand tree nodes. The UI also becomes unresponsive, making browsing files take a while.
Manually deleting files/folders/version history is an absolute pain. Often, when deleting a folder in SO, only some of the contents are deleted, taking multiple attempts to delete. In some cases the contents of the folder disappear, but it shows root locations of drives as contents of the folder. When deleting anything, the UI becomes unresponsive for upwards of 30s, often significantly more for large folders or many version histories. Even selecting multiple files can take several seconds where the UI is unresponsive, the more files you select, the longer it becomes unresponsive. This makes file management take forever.
If I move a file temporarily, SO assumes it has been deleted and moves it to the 'Deleted items' folder. However, when I move the file back, SO create a new version of that file, leaving all version history in the deleted folder. It does not recognise the files are the same. This means that if a file is created and deleted numerous times (compiling pdf, or binary), hundreds of files with the same name are added to the 'Deleted items' folder. SO should be able to recognise the files are linked (perhaps checking the similarity of the files, only rejecting a link if they are more than 75% different) and create version histories instead of new files.
There is also no way to delete items in the 'Deleted items' folder after a period of time (2 years for example). The only way to delete items is to manually do it or clear everything, which I don't want to do as there are version histories that should be linked to currently existing files in the 'Deleted items' folder. I have had to resort to once a year putting a movie on and just manually going through folders for a few hours.
I really like the idea of SpiderOak, but it really is a poor implementation and just an all round pain to use. In the past I havn't minded waiting for new features and fixes, but its been 1.5 years since the new UI and nothing much has changed.
EDIT: And just to prove my point, I just tried to deleted a folder in the 'Deleted items' folder. The first attempt deleted everything within the folder, but a 'c:/' item appeared inside it. So I deleted the folder again. Half the contents of the folder a level above it just disappeared. This has happened before.
I think I give up.
On that note, once I gave up on SpiderOak I went looking for alternatives and they actually exist:
- Syncany: https://www.syncany.org/ - Java based, works on Windows and *NIX, uses S3, Dropbox, Flickr, FTP, Openstack Swift, SFTP and WebDAV as backends.
- Rclone: http://rclone.org - Go based, works on everything Go supports, uses Google Drive, S3, Swift, Dropbox, Google Cloud Storage, Amazon Drive, OneDrive, hubiC, Backblaze B2 and Yandex.Disk.
Syncany at least supports limited file versioning but not as granular as you seem to be after. The upside is that unlike SpiderOak, Syncany is open source and you can contribute features you want. If you're only after backup, there's also Borg which might work for you: https://borgbackup.readthedocs.io/en/stable/.
> The core team of Syncany is on hiatus for an indefinite amount of time. Feel free to do with the code what the license allows and encourages, but please don't expect any maintenance. The team thanks everyone who has contributed to Syncany in one way or another.
rclone doesn't really have the features i'm looking for.
I have however found Duplicati: http://www.duplicati.com, which looks like it might serve my needs.
We haven't yet determined the priority of this vs. other projects in 2017. If you haven't already, please signal your interest below.
So far it is a prototype, although it is based on the already proven code used in Semaphor, our encrypted group chat and file sharing application, so it's "just" a bunch of UI work now :-)
From a business perspective you can get the money that I give to Evernote and Dropbox if Spideroak offers competing products. And for me the advantage is that my data is more secure because of the zero knowledge(1) idea and I do not need to worry about wild ideas from companies think about employees reading my notes "to make my experience better". Yes I'm looking at you Evernote.
(1) until 10 minutes ago I did not know that zero knowledge had a specific technical meaning that is different than what Spideroak implements. And I even have Bruce Schneiers Applied Cryptography on my bookself. I'll need to read that again. Maybe it should be called "Full stack encryption" because it covers everything from data transport, to storage, to metadata encryption, etc...
Just as a data point for comparison, Dropbox charges $100/year for 1000 GB, but they don't do meaningful encryption, and therefore can de-duplicate your files vs. the files of all their other customers, which significantly reduces their storage costs (and allows for some entertaining information leakages!)
SpiderOak charges $120/year for 1000 GB.
Edit to add: SpiderOak deduplicates files within a single user's account (i.e. copies are free, and if you add another layer to a photoshop file and re-save, it won't take up the full space to archive both versions) but it is not possible  for us to deduplicate data across multiple users.
Here's an explanation of the architecture I wrote in 2009: https://spideroak.com/articles/why--how-spideroak-architectu...
Can I sign up for 100GB first and then later upgrade to a higher plan seamlessly?
I recently stopped renewing my Dropbox on an annual license and will switch once I find a good alternative..
Their servers are slow compared to other cloud providers.
You can't upload files using their ios or Android clients, they are read only.
Any word if they're going to hook up a "import from Box/Dropbox" feature here?
As part of ensuring that our business clients have access to secured cloud storage services, we have initiated enlisting with Tresorit as Resellers and will be passing on discounts* to our clients.
Interested individuals can procure the service at a discounted rate subject to the total number of individuals registering and converting as a paid users is 250 or above
Please leave your email id and we will contact you if we area able to enlist the required number of individuals
SPIDER OAK ONE PRICES
100GB - $5 monthly ($59/y)
250GB - $9 monthly ($99/y)
1TB - $12 monthly ($129/y)