Most consumer IoT devices are vertically integrated with cloud-side infrastructure. Such architectures present enormous risk to user data, exacerbated by vendor heterogeneity and the inability for users to audit cloud-side activity. A more promising approach would be to leverage local hardware, providing users control over how their data is processed and why it can be shared with other devices or the Internet. Karl is a new smart-home framework designed to host IoT computation and storage on user-chosen devices. A key insight in Karl's modular programming model is that a familiar interface (inspired by serverless) can capture most modern cloud-side IoT components under a single framework, which executes modules agnostic of hardware location. While local hosting eliminates many flows, modularity enables all remaining flows to be justified using fine-grained primitives. We introduce two IoT security mechanisms: pipeline permissions that permit device data to be shared given some justification and exit policies that block flows unless specific conditions are met. We evaluate Karl through two end-to-end applications.
翻译:多数消费者的IoT设备与云端基础设施垂直融合。 这种结构给用户数据带来巨大的风险,而供应商的异质性和用户无法审计云端活动又加剧了这种风险。 更有希望的方法是利用本地硬件,为用户提供对如何处理其数据以及为什么可以与其他设备或互联网共享这些数据的控制。 Karl是一个新的智能家庭框架,旨在将IoT计算和存储安装在用户选择的装置上。 Karl模块编程模型中的一个关键洞察力是,一个熟悉的界面(不受服务器的影响)可以在一个单一框架内捕获大多数现代的云端IoT组件,这个框架可以执行模块对硬件位置的不可知性。 虽然本地托管消除许多流动,但模块化使得所有剩余流动都能够使用精细的原始设备来证明合理。 我们引入了两个IoT安全机制:允许共享设备数据的管道许可,根据某些理由和退出政策进行共享,除非满足特定条件。 我们通过两个端到端应用程序对Karl进行评估。