Mylar

Mylar is an experimental research platform for building web applications with end-to-end encryption. Mylar encrypts data fields indicated as sensitive by a developer.

Web applications rely on servers to store and process confidential information. However, anyone who gains access to the server (e.g., an attacker, a curious administrator, or a government) can obtain all of the data stored there.

Mylar stores sensitive data encrypted on the server, and decrypts that data only in users' browsers. Mylar addresses three challenges in making this approach work. First, Mylar allows the server to perform keyword search over encrypted documents, even if the documents are encrypted with different keys. Second, Mylar allows users to share keys and encrypted data securely in the presence of an active adversary. Finally, Mylar ensures that client-side application code is authentic, even if the server is malicious. Results with a prototype of Mylar built on top of the Meteor framework are promising: porting 6 applications required changing just 36 lines of code on average, and the performance overheads are modest, amounting to a 17% throughput loss and a 50 ms latency increase for sending a message in a chat application

People Publications Security Software Applications

People

Publications

Security guarantees & use cases

We discuss here the security guarantees Mylar provides and the use cases they entail.

Software

Disclaimer: Mylar's code is an experimental research prototype and not a product. The released version is for a passive attacker (the active attacker version is not ready for release). We do not guarantee that the implementation faithfully implements the system design, and there might be bugs or incomplete features, so please use the paper as a reference. We release it in the hope that you will contribute to it and make it better!

Play with Mylar! Download it using git, and then follow the instructions in README.md.

git clone -b public git://g.csail.mit.edu/mylar

Our initial software (above) is based on an old version of Meteor, and hasn't been updated to Meteor's latest release. Thomas Steinhauer has ported Mylar to recent Meteor releases, which you can obtain below. Note that we did not validate these.

https://github.com/strikeout/mylar

Contact

For more information on Mylar, contact mylar AT mit DOT edu.

Applications

Mylar is an experimental research prototype and not a product.

We don't have Mylar deployed in a real setting currently, but we tested Mylar using existing applications including a medical application (performing a survey of patients suffering from endometriosis) led by surgeons from Newton-Wellesley hospital. This medical application does not use search, but uses the other features of Mylar. This application bundled with Mylar received IRB approval and was used temporarily. We also tested Mylar on an existing chat application and on a class assignment submission website (for the MIT class 6.858), as well as on experimental prototypes of a calendar, a forum application and a photo sharing application. We found that these applications can be ported to Mylar with minimal annotations and incurs a modest overhead.

Mylar's core has inspired some ideas in a startup PreVeil, but PreVeil aims at a different problem space, where it provides a more complete set of security properties than Mylar aimed at: it encrypts all the data at the server including metadata, it supports user access revocation, it protects against active attacks, it provides user accountability, and provides a different search protocol with stronger security.


App photo     App photo