OKAPI: In Support of Application Correctness in Smart Home Environments

OKAPI: In Support of Application Correctness in Smart Home Environments
复制标题

DOI:
10.1109/fmec.2019.8795349
复制
发表时间:
2019-06
期刊:
2019 Fourth International Conference on Fog and Mobile Edge Computing (FMEC)
影响因子:
--
通讯作者:
T. Melissaris;K. Shaw;M. Martonosi
T. Melissaris;K. Shaw;M. Martonosi
中科院分区:
其他
文献类型:
--
作者:
T. Melissaris;K. Shaw;M. Martonosi

文献摘要

相似文献

典型的物联网 (IoT) 和智能家居环境由智能设备组成,这些设备由在云中开发和运行的应用程序控制和编排。正确性对于这些应用程序非常重要,因为它们控制着家庭的物理安全(即门锁)和系统(即 HVAC)。不幸的是,许多智能家居应用和系统表现出较差的安全特性和不足的系统支持。相反,它们迫使应用程序开发人员对复杂场景(异步事件和分布式设备)的组合进行推理。本文表明,现有的基于云的智能家居平台对应用程序正确处理并发和数据一致性问题的支持不足。这些弱点暴露了影响系统正确性和安全性的平台漏洞(例如,智能锁被错误解锁)。为了解决这个问题,我们提出了 OKAPI,这是一个提供严格原子性和事件排序的应用程序级 API。我们使用 Samsung SmartThings 智能家居设备、集线器和云基础设施评估我们的工作。除了识别基于云的智能家居平台的不足之外,我们还提出了设计指南,以使应用程序开发人员忘记智能家居平台的一致性和并发性的复杂性。
Typical Internet of Things (IoT) and smart home environments are composed of smart devices that are controlled and orchestrated by applications developed and run in the cloud. Correctness is important for these applications, since they control the home’s physical security (i.e. door locks) and systems (i.e. HVAC). Unfortunately, many smart home applications and systems exhibit poor security characteristics and insufficient system support. Instead they force application developers to reason about a combination of complicated scenarios—asynchronous events and distributed devices. This paper demonstrates that existing cloud-based smart home platforms provide insufficient support for applications to correctly deal with concurrency and data consistency issues. These weaknesses expose platform vulnerabilities that affect system correctness and security (e.g. a smart lock erroneously unlocked). To address this, we present OKAPI, an application-level API that provides strict atomicity and event ordering. We evaluate our work using the Samsung SmartThings smart home devices, hub, and cloud infrastructure. In addition to identifying shortfalls of cloud-based smart home platforms, we propose design guidelines to make application developers oblivious of smart home platforms’ consistency and concurrency intricacies.