A Secure Searcher for End-To-End Encrypted Email Communication
Total Page:16
File Type:pdf, Size:1020Kb
A secure searcher for end-to-end encrypted email communication Balamaruthu Mani Dissertation 2015 Erasmus Mundus MSc in Dependable Software Systems Department of Computer Science National University of Ireland, Maynooth Co. Kildare, Ireland A dissertation submitted in partial fulfilment of the requirements for the Erasmus Mundus MSc Dependable Software Systems Head of Department: Dr Adam Winstanley Supervisor: Professor Barak A. Pearlmutter 8-June-2015 Word Count: 19469 1 Abstract Email has become a common mode of communication for confidential personal as well as business needs. There are different approaches to authenticate the sender of an email message at the receiver‟s client and ensure that the message can be read only by the intended recipient. A typical approach is to use an email encryption standard to encrypt the message on the sender‟s client and decrypt it on the receiver‟s client for secure communication. A major drawback of this approach is that only the encrypted email messages are stored in the mail servers and the default search does not work on encrypted data. This project details an approach that could be adopted for securely searching email messages protected using end-to-end encrypted email communication. This project proposes an overall design for securely searching encrypted email messages and provides an implementation in Java based on a cryptographically secure Bloom filter technique to create a secure index. The implemented library is then integrated with an open source email client to depict its usability in a live environment. The technique and the implemented library are further evaluated for security and scalability while allowing remote storage of the created secure index. The research in this project would enhance email clients that support encrypted email transfer with a full secure search functionality. Categories H.3 Information Storage and Retrieval H.3.3 Information Search and Retrieval E. Data E.3 Data Encryption General Terms Design, Documentation, Performance, Security Keywords Email encryption, Secure Index, Bloom filter, Secure Search, Searching Encrypted Email, Email client 2 Declaration The main text of this project report is approximately 19,469 words long, excluding the table of contents and appendices. The work was performed during the current academic year under the supervision of Professor Barak A. Pearlmutter. I hereby certify that this material, which I now submit for assessment on the program of study leading to the award of Master of Science in Dependable Software Systems, is entirely my own work and has not been taken from the work of others save and to the extent that such work has been cited and acknowledged within the text of my work. Signed: _____________ Balamaruthu Mani 3 Contents Abstract ......................................................................................................................................................... 2 Categories ................................................................................................................................................. 2 General Terms ........................................................................................................................................... 2 Keywords .................................................................................................................................................. 2 Declaration .................................................................................................................................................... 3 1. Introduction ........................................................................................................................................... 8 1.1 Overview ....................................................................................................................................... 8 1.2 Motivation ..................................................................................................................................... 8 1.3 Objectives ..................................................................................................................................... 9 1.3.1 Primary objectives................................................................................................................. 9 1.3.2 Secondary objectives............................................................................................................. 9 1.3.3 Tertiary objectives................................................................................................................. 9 1.4 Project outcome ............................................................................................................................ 9 1.5 Dissertation Organisation ............................................................................................................ 10 2 Context Survey .................................................................................................................................... 11 2.1 Background ................................................................................................................................. 11 2.1.1 Encryption basic techniques ................................................................................................ 11 2.1.2 End-to-End Encryption Techniques .................................................................................... 11 2.2 Related Work .............................................................................................................................. 12 2.2.1 End-to-End Email Encryption Tools ................................................................................... 13 2.2.2 Search Techniques on Encrypted data ................................................................................ 17 2.2.3 Email Client Integration ...................................................................................................... 20 3 Strategy ............................................................................................................................................... 23 3.1 Development strategy ................................................................................................................. 23 3.1.1 Technique selection............................................................................................................. 23 3.1.2 Implementation strategy ...................................................................................................... 23 3.2 Testing strategy ........................................................................................................................... 24 3.2.1 JUnit and Scenario based testing......................................................................................... 24 3.2.2 Performance ........................................................................................................................ 24 4 Design ................................................................................................................................................. 25 4.1 Solution Design ........................................................................................................................... 25 4.1.1 Core Technique ................................................................................................................... 25 4 4.1.2 Design Notation .................................................................................................................. 26 4.1.3 Logical View ....................................................................................................................... 26 4.1.4 Deployment View ............................................................................................................... 27 4.2 Library Design ............................................................................................................................ 32 4.2.1 Logical View ....................................................................................................................... 32 4.2.2 Runtime View ..................................................................................................................... 35 4.3 Integration Design ....................................................................................................................... 36 5 Implementation ................................................................................................................................... 38 5.1 Core Library Implementation...................................................................................................... 38 5.1.1 Indexer ................................................................................................................................ 38 5.1.2 Key Manager ....................................................................................................................... 40 5.1.3 Encryption Utilities ............................................................................................................. 40 5.1.4 Searcher ............................................................................................................................... 40 5.1.5 Data Manager ...................................................................................................................... 40 5.2 Integration Implementation ......................................................................................................... 41 5.2.1 Columba