Hardware-Assisted Two-Party Secure Computation on Mobile Devices

This thesis focuses on the practical realization of general two-party Secure Function Evaluation in a mobile environment and the possibility of enhancing these techniques by the use of a trusted hardware token. Secure function evaluation allows multiple mutually distrusting parties to jointly compute a function on their private inputs without revealing anything but the function output. This technique is particularly interesting in the context of mobile electronics, such as smartphones, where typically highly sensitive user data is stored and processed. The protection of this data is desirable but very costly, due to the high complexity of secure computation protocols. Implementing Secure Function Evaluation schemes on smartphones is a challenging task due to their limitations in processing power, memory and battery-life. To address these issues, we extended an existing two-party secure function evaluation scheme by a trusted hardware token that allows to securely pre-generate data, used in the actual function evaluation phase for masking sensitive values. For the purpose of securely distributing data generated by the token, we designed and implemented a communication protocol based on TLS on the smart card. We present working demonstrators for managing the hardware token and running secure two-party function evaluation on Android smart phones making use of a microSD smart card. The use cases we implemented are private set intersection to find shared contacts and securely scheduling a meeting. Our implementation is benchmarked and its performance is analyzed.

[1]  Michael O. Rabin,et al.  How To Exchange Secrets with Oblivious Transfer , 2005, IACR Cryptol. ePrint Arch..

[2]  Tim Dierks,et al.  The Transport Layer Security (TLS) Protocol Version 1.2 , 2008 .

[3]  Benny Pinkas,et al.  Fairplay - Secure Two-Party Computation System (Awarded Best Student Paper!) , 2004 .

[4]  Vladimir Kolesnikov,et al.  Truly Efficient String Oblivious Transfer Using Resettable Tamper-Proof Tokens , 2010, TCC.

[5]  Donald Beaver,et al.  Precomputing Oblivious Transfer , 1995, CRYPTO.

[6]  Yan Huang,et al.  Privacy-Preserving Applications on Smartphones , 2011, HotSec.

[7]  Michael Zohner,et al.  GMW vs. Yao? Efficient Secure Two-Party Computation with Low Depth Circuits , 2013, Financial Cryptography.

[8]  Ahmad-Reza Sadeghi,et al.  Embedded SFE: Offloading Server and Network Using Hardware Tokens , 2010, Financial Cryptography.

[9]  Colin Boyd,et al.  Protocols for Authentication and Key Establishment , 2003, Information Security and Cryptography.

[10]  Jonathan Katz,et al.  Private Set Intersection: Are Garbled Circuits Better than Custom Protocols? , 2012, NDSS.

[11]  Jan Camenisch,et al.  Anonymous credentials on a standard java card , 2009, CCS.

[12]  A. Yao,et al.  Fair exchange with a semi-trusted third party (extended abstract) , 1997, CCS '97.

[13]  Yuval Ishai,et al.  Extending Oblivious Transfers Efficiently , 2003, CRYPTO.

[14]  Hugo Krawczyk,et al.  The Order of Encryption and Authentication for Protecting Communications (or: How Secure Is SSL?) , 2001, CRYPTO.

[15]  Duong,et al.  Here Come The ⊕ Ninjas Thai , 2011 .

[16]  Silvio Micali,et al.  How to play ANY mental game , 1987, STOC.

[17]  Donald Beaver,et al.  Efficient Multiparty Protocols Using Circuit Randomization , 1991, CRYPTO.

[18]  Jonathan Katz,et al.  Faster Secure Two-Party Computation Using Garbled Circuits , 2011, USENIX Security Symposium.

[19]  Moni Naor,et al.  Computationally Secure Oblivious Transfer , 2004, Journal of Cryptology.

[20]  Vandana Gunupudi,et al.  Generalized Non-Interactive Oblivious Transfer Using Count-Limited Objects with Applications to Secure Mobile Agents , 2008, Financial Cryptography.

[21]  Paolo Santi,et al.  An implementation of secure two-party computation for smartphones with application to privacy-preserving interest-cast , 2012, Mobicom '12.

[22]  M. Bellare,et al.  HMAC: Keyed-Hashing for Message Authentication, RFC 2104 , 2000 .

[23]  Bruce Schneier,et al.  Analysis of the SSL 3.0 protocol , 1996 .

[24]  Vladimir Kolesnikov,et al.  Improved Garbled Circuit: Free XOR Gates and Applications , 2008, ICALP.

[25]  Jonathan Katz,et al.  Secure Multi-Party Computation of Boolean Circuits with Applications to Privacy in On-Line Marketplaces , 2012, CT-RSA.

[26]  Abraham Waksman,et al.  A Permutation Network , 1968, JACM.

[27]  Ivan Visconti,et al.  On Efficient Non-Interactive Oblivious Transfer with Tamper-Proof Hardware , 2010, IACR Cryptol. ePrint Arch..

[28]  Bogdan Warinschi,et al.  A Modular Security Analysis of the TLS Handshake Protocol , 2008, ASIACRYPT.

[29]  Kenneth G. Paterson,et al.  Lucky Thirteen: Breaking the TLS and DTLS Record Protocols , 2013, 2013 IEEE Symposium on Security and Privacy.