Skip directly to content

Academic Foundation of Privly

on Wed, 04/03/2013 - 18:34

Privly's architecture has foundations in two academic projects. The following is an excerpt from a paper submitted to a security symposium. After Privly receives reviews from our double blind reviewers, we will publish the paper in its entirety.


Privly combines the paradigm Confidentiality as a Service (CaaS) [1] with the hyperlink-based cryptography of the browser extension Scramble! [2]. Fahl et al. [1] proposed CaaS as a means of increasing the usability of cryptographic systems. Content is shared with other Online Service Provider (OSP) users through a ciphertext string, which is keyed by an unaffiliated CaaS provider. The CaaS provider performs cryptographic services on behalf of the user and protects the user from key loss. In order to gain access to content, an adversary would need to gain access to both the CaaS provider's keys and the OSP's ciphertext. However, there are no protections from the collusion of the CaaS provider and OSP. Using OSPs and CaaS providers in different jurisdictions provides protection from governments.

By combining CaaS with the approach first introduced by Scramble! [2], CaaS can offer additional security guarantees. Scramble is a Firefox extension that allows users to cryptographically enforce access control lists (ACL) defined locally in the browser extension. The confidentiality and integrity of data is enforced using cryptographic techniques. The ciphertext is stored on a content server, referenced by a hyperlink shared via the OSP. By sharing the cryptographic content through a link, users without the Scramble extension can click the link and be prompted to install the extension. However, the extension-resident public key cryptography means that users cannot encrypt content for users who have not generated and pushed a public key. Scramble also relies on the user to manage their ACL, which poses usability challenges [3].

Neither Scramble nor the CaaS proof-of-concept implementation protect the plaintext from OSPs after it is decrypted. The plaintext is placed into the OSP's scripting environment, which an adversarial OSP could use to send all decrypted content back to the OSP thereby making the encryption meaningless. Privly injects content within an HTML iframe element, which the host page does not have access to due to the Same Origin Policy [4].

CaaS emphasizes usability as compared to Scramble [1], but Scramble offers stronger security guarantees by storing the keys locally. Privly supports both the usability of CaaS and the security of Scramble from a single codebase by abstracting the components of both models into an application stack.

From an architectural perspective, Privly can be viewed as a Greasemonkey for web security applications. The Greasemonkey browser extension is a framework upon which the browsing experience is selectively altered by installing community-contributed scripts. Such scripts are often developed to increase the accessibility of websites or modify site functionality. The Greasemonkey installation base is nearly three million users, and several privacy applications use Greasemonkey for their proof of concept implementations [5]. Privly brings Greasemonkey's approach of script development and management to the application level.

[1] Sascha Fahl, Marian Harbach, Thomas Muders, Matthew Smith(2012): Confidentiality as a Service – Usable Security for the Cloud,11th IEEE International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom-2012), link.

[2] Beato, F., Kohlweiss, M., & Wouters, K. (2011). Scramble! your social network data. Privacy Enhancing Technologies, 211–225, link

[3] Sascha Fahl, Marian Harbach, Thomas Muders, Uwe Sander and Matthew Smith(2012): Helping Johnny 2.0 to Encrypt His Facebook Conversations,Eighth Symposium On Usable Privacy and Security (SOUPS 2012), link.

[4] Barth, A., Jackson, C., & Mitchell, J. C. (2009). Securing frame communication in browsers. Communications of the ACM, 52(6), 83, link

[5] Fahl, S., Harbach, M., Muders, T., & Smith, M. (2012). TrustSplit : Usable Confidentiality for Social Network Messaging. Proceedings of the 23rd ACM conference on Hypertext and social media, 145–154, link.