In the context of distributed computer systems, popularly referred to as Cloud-based computing environments,
zero knowledge privacy refers to client-server relationships where a server or service is incapable of viewing a client’s “plain-text data” (i.e., unencrypted data) even in those circumstances where the server persistently stores an encrypted version of the the client’s plain-text data.
Theory vs. Practice: The theoretical basis for the soundness of zero-based privacy algorithms is based on rigorous cryptographic methods for
zero-knowledge proofs. The practical applications for zero-based privacy algorithms include secure file synchronization and sharing and secure email systems. In the case of secure file synchronization and sharing systems, the client’s seeks to securely store plain-text data on a server so that the data can be shared and data updates synchronized across multiple distributed devices (e.g., desktop, notebook, tablet, smart phone). As long as the client encrypts its plain-text data before it uploads via a secure communication protocol (e.g., IPS/TLS) it relative straightforward to implement zero-knowledge privacy between the data server. (Note: that even though many file synchronization and sharing vendors claim “end-to-end encryption” of data they fall short of zero-knowledge privacy because they don’t ensure that client data is encrypted before it is uploaded to their servers.)
Note that the difficulty of implementing zero-knowledge privacy is significantly increased when the client seeks to securely share data with a third party. Although it is relatively well understood how to resolve this problem using recursive design techniques, a further discussion of theoretical and practical solutions to the third-party sharing problem is outside the scope of this FAQ. (Contact us if you seek further information about this advanced topic.)