Using Trusted Execution Environments for Secure Stream Processing of Medical Data - (Case Study Paper)

Processing sensitive data, such as those produced by body sensors, on third-party untrusted clouds is particularly challenging without compromising the privacy of the users generating it. Typically, these sensors generate large quantities of continuous data in a streaming fashion. Such vast amount of data must be processed efficiently and securely, even under strong adversarial models. The recent introduction in the mass-market of consumer-grade processors with Trusted Execution Environments (TEEs), such as Intel SGX, paves the way to implement solutions that overcome less flexible approaches, such as those atop homomorphic encryption. We present a secure streaming processing system built on top of Intel SGX to showcase the viability of this approach with a system specifically fitted for medical data. We design and fully implement a prototype system that we evaluate with several realistic datasets. Our experimental results show that the proposed system achieves modest overhead compared to vanilla Spark while offering additional protection guarantees under powerful attackers and threat models.

[1]  Carlos V. Rozas,et al.  Innovative instructions and software model for isolated execution , 2013, HASP '13.

[2]  Jinjun Chen,et al.  DPBSV -- An Efficient and Secure Scheme for Big Sensing Data Stream , 2015, 2015 IEEE Trustcom/BigDataSE/ISPA.

[3]  Craig Gentry,et al.  Homomorphic Evaluation of the AES Circuit , 2012, IACR Cryptol. ePrint Arch..

[4]  Pascal Paillier,et al.  Public-Key Cryptosystems Based on Composite Degree Residuosity Classes , 1999, EUROCRYPT.

[5]  Scott Shenker,et al.  Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters , 2012, HotCloud.

[6]  Valerio Schiavoni,et al.  SecureStreams: A Reactive Middleware Framework for Secure Data Stream Processing , 2017, DEBS.

[7]  Olivier Chételat,et al.  Classification of Cardiac Arrhythmias from Single Lead ECG with a Convolutional Recurrent Neural Network , 2019, BIOSIGNALS.

[8]  Adrian Tarniceriu,et al.  Evaluation of the beat-to-beat detection accuracy of PulseOn wearable optical heart rate monitor , 2015, 2015 37th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC).

[9]  Valerio Schiavoni,et al.  Introducing SECURESTREAMS: Scalable Middleware for Reactive and Secure Data Stream Processing , 2017, 2017 IEEE International Conference on Cloud Engineering (IC2E).

[10]  Fahimuddin Shaik,et al.  Signal and Image Processing in Medical Applications , 2016 .

[11]  Shay Gueron,et al.  Memory Encryption for General-Purpose Processors , 2016, IEEE Security & Privacy.

[12]  Reynold Xin,et al.  Structured Streaming: A Declarative API for Real-Time Applications in Apache Spark , 2018, SIGMOD Conference.

[13]  Alexander L. Wolf,et al.  SABER: Window-Based Hybrid Stream Processing for Heterogeneous Architectures , 2016, SIGMOD Conference.

[14]  M. Nash,et al.  ECG signal classification for the detection of cardiac arrhythmias using a convolutional recurrent neural network , 2018, Physiological measurement.

[15]  Brigitte Leeners,et al.  Respiratory and cardiac monitoring at night using a wrist wearable optical system , 2017, 2018 40th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC).

[16]  Valerio Schiavoni,et al.  Security, Performance and Energy Trade-Offs of Hardware-Assisted Memory Protection Mechanisms , 2018, 2018 IEEE 37th Symposium on Reliable Distributed Systems (SRDS).

[17]  Stefan Mangard,et al.  Malware Guard Extension: Using SGX to Conceal Cache Attacks , 2017, DIMVA.

[18]  Srinivas Devadas,et al.  Intel SGX Explained , 2016, IACR Cryptol. ePrint Arch..

[19]  Ali Ghodsi,et al.  Drizzle: Fast and Adaptable Stream Processing at Scale , 2017, SOSP.

[20]  Craig Gentry,et al.  Fully homomorphic encryption using ideal lattices , 2009, STOC '09.

[21]  G. Breithardt,et al.  Heart rate variability: standards of measurement, physiological interpretation and clinical use. Task Force of the European Society of Cardiology and the North American Society of Pacing and Electrophysiology. , 1996 .

[22]  A. Malliani,et al.  Heart rate variability. Standards of measurement, physiological interpretation, and clinical use , 1996 .

[23]  Scott Shenker,et al.  Spark: Cluster Computing with Working Sets , 2010, HotCloud.

[24]  Patrick Th. Eugster,et al.  STYX: Stream Processing with Trustworthy Cloud-based Execution , 2016, SoCC.

[25]  Valerio Schiavoni,et al.  SAFETHINGS: Data Security by Design in the IoT , 2017, 2017 13th European Dependable Computing Conference (EDCC).

[26]  Reynold Xin,et al.  Apache Spark , 2016 .

[27]  Hongyu Miao,et al.  StreamBox: Modern Stream Processing on a Multicore Machine , 2017, USENIX Annual Technical Conference.

[28]  Thomas F. Wenisch,et al.  Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution , 2018, USENIX Security Symposium.

[29]  Shay Gueron,et al.  A Memory Encryption Engine Suitable for General Purpose Processors , 2016, IACR Cryptol. ePrint Arch..

[30]  Rupak Majumdar,et al.  MrCrypt: static analysis for secure cloud computations , 2013, OOPSLA.

[31]  Joseph K. Bradley,et al.  Spark SQL: Relational Data Processing in Spark , 2015, SIGMOD Conference.

[32]  F. Shaffer,et al.  An Overview of Heart Rate Variability Metrics and Norms , 2017, Front. Public Health.