CipherFlow: A Playground for Developing Privacy-Preserving IoT in Node-RED

The emergence of privacy breaches in IoT surges demands for embedding privacy-by-design into IoT systems. Decades of work on privacy-enhancing technologies have resulted in myriad ways to secure outsourcing computation with homomorphic encryption (HE) that allows the third party (e.g., cloud) computes over encrypted data. All of them are still yet far away from the rapid development of practical privacy-preserving IoT systems. Abstraction and flexibility in development are keys to accelerating privacy-preserving IoT deployment. Nevertheless, HE tools and compilers are primarily written in low-level languages like C++, posing a high entry barrier to IoT developers. This paper proposes CipherFlow, the HE node extension for Node-RED, a visually and flexibly programmable dataflow tool for rapid IoT development. CipherFlow offers three pipeline abstractions: 1) a playground of drag-and-drop HE nodes in Node-RED, 2) arithmetic operators, and 3) optimal parameter setting guidelines. As a result, IoT developers can create and verify their secured computing functions on data flows. We demonstrate the applicability and effectiveness of CipherFlow through the performance evaluation. Furthermore, our evaluation shows the performance and security trade-off depending on the HE parameters.