Confidentiality and Tamper-­‐Resistance of Embedded Databases

As the amount of personal data collected by governments, institutions and companies increase, centralized data suffer from privacy violations arising from negligence, abusive use, internal and external attacks. Therefore, we envision a radically different, fully decentralized vision of personal data managed within a Personal Data Server (PDS) where the data is let under the control of its owner. The PDS approach resorts to Secure Portable Token (SPT), a new device which combines the tamper resistance of a smart card microcontroller with the mass storage capacity of NAND Flash. The data will be stored, accessed and its access rights controlled using such devices. To support powerful PDS application requirements, a full-fledged DBMS engine is embedded in the device. In order to cope with the SPT’s hardware constraints, new database techniques have been introduced, based on pure sequential data structures to store the raw data, and also indexes, buffers, transaction logs, etc. To reach high scalability limits, the data structures must timely be stratified, i.e., reorganized into more efficient (but still sequential) data structures. In this novel context, the current thesis addresses the security techniques required to take full benefits of such a decentralized vision. Indeed, only the microcontroller of the SPT is secured. The database stored on the NAND Flash linked to the controller by a bus, remains outside the security perimeter of the microcontroller. As such, it may still suffer from confidentiality and integrity attacks. Moreover, PDS also relies on external supporting servers to provide data durability, availability, or other global processing functionalities. In the study, we consider the supporting servers as Honest-but-Curious, i.e., they correctly provide the services that are expected from them (typically serve store, retrieve, and delete data requests), but they may try to breach the confidentiality of any data that is stored locally. Therefore, appropriate secure protocols must be devised to achieve the services delegated to the supporting servers without breach. This thesis aims at providing security solutions to ensure the security of personal data by relying on cryptography techniques, without incurring large overhead to the existing system. More precisely, (i) we propose a set of light-weight, secure crypto-protection building blocks by considering hardware constraints and PDS engine’s features, to fight against confidentiality and integrity attacks on Flash. (ii) We propose a preliminary design for the communication protocols between PDSs and supporting servers, such that the latter can serve requests correctly and securely (store, retrieve or delete data). (iii) Finally, we do a set of experiments with synthetic data and SPT simulator to evaluate the impact of the designed building blocks on the performance of PDS engine. The results show the effectiveness of our proposals. The proposed solutions can be reusable in other (more general) context or provide more opportunities for the coming works combining database security and cryptography. For example, smart selection enable selections on encrypted data by using traditional encryption algorithms in a novel way, thus it opens a different direction for executing queries on encrypted database (e.g., traditional centralized DBMS).