Search over encrypted records: from academic dreams to production-ready tool
2019-05-17, 15:00–15:40, Main Hall

The search over encrypted data is the modern cryptographic engineering problem. We will talk about existing approaches (both well-known and modern), and concentrate on practical solution based on blind index technique to search data in databases. What’s inside: cryptographic and functional schemes, implementation details, practical security evaluation (risk modelling and potential attacks). We will show how theoretical models turn into real, usable, maintainable, security tools.


Lately most conscious companies store data in databases encrypted, but search over encrypted data is still a challenge. There are many existing academic solutions, proposed over the course of years, like CryptDB, Homomorphic/SSE, PEKS, Mylar. Unfortunately, most approaches are far from being production ready, usable and maintainable.

We will show the practical solution, that is based on a hardened version of blind indexing, a long-known technique that has several usability constraints and security caveats. There is an open source implementation CipherSweet, and cryptographically it’s pretty solid, but it stores keys on a client side, which may lead to potential problems during usage.

Our solution doesn't share this design approach, since the generation of index references and keys to them are stored in a separate node, away from all untrusted sides (client application, backend application, database). Also, our solution enforces several limitations on data, which is going to limit collision risks mentioned in the original technique.

We will explain in details how it works, show the functional and cryptographic schemes, and dig into implementation details. We will show to the attendees the process of building complex security tool from theoretical concepts (and mathematical models) to production-ready software.

Security software engineer at CossackLabs

An experienced security engineer, working at designing, building and auditing complex cryptographic systems. The author of numerous cryptographic research papers. Have experience in public speaking – teaching cryptography students for last four years and is leading software security training for mobile developers.
An active open source contributor and one of the BouncyCastle's contributor

References:
1) https://github.com/storojs72 [GitHub]
2) https://www.bouncycastle.org/contributors.html [BouncyCastle contributor]
3) http://er.nau.edu.ua:8080/bitstream/NAU/25171/1/dissert_Storozhuk.pdf [Ph.D dissertation]
4) https://www.dropbox.com/s/heqki1nh8td07un/split.avi?dl=0 [speaking video]
5) https://www.dropbox.com/s/pf34zhaqfslopf6/slides.ppt?dl=0 [slides]
6) ecobio.nau.edu.ua/index.php/ZI/article/download/8322/10057 [paper]
7) ecobio.nau.edu.ua/index.php/ZI/article/download/9532/11942 [paper]