The Internet of Things (IoT) brings about benefits through interaction with humans and the physical world using a variety of technologies, including sensors, actuators, controls, mobile devices and cloud computing. However, these benefits can be hampered by malicious interventions of attackers when the IoT is not protected properly.
Recent security incidents, including the cyber attack on the Ukrainian power grid (2015) and the Mirai botnet (2016 - current), show the risks of connecting IoT devices, for example, home appliances, monitoring cameras, and even vehicles, to the Internet, a wilderness full of adversaries and restless break-in attempts. State-of-the-art IoT devices such as smart door locks (2019) or security cameras (2021) are under the threat of attacks.
However, building secure and robust IoT systems is not a trivial problem. Heterogeneity, scalability, and operation in open environments are some of the major challenges that need to be addressed to make the IoT secure. Our research team carries out research projects to design and implement IoT systems resilient against different types of attacks.
Secure Swarm Toolkit (SST) is an open-source software toolkit for construction and deployment of an authentication and authorization service infrastructure for the IoT, available on a GitHub repository. SST takes an locally centralized, globally distributed approach to provide security services for the Things (IoT devices).
Auth, the key component of SST is a software written in Java, to be deployed on edge-computing devices or gateway devices such as Intel's IoT Gateways. Auth functions as a trust center for authenticating and authorizing Things in the local network, while communicating with other Auths as one of the distributed nodes in the global Internet.
SST provides various security configurations with different level of resource overhead and security guarantees to support heterogeneous IoT environments. SST scales well with the increasing number of IoT devices and dynamically changing environment by leveraging the edge computing architeture. SST also provides software components for programming IoT nodes.
An emerging type of network architecture called edge computing has the potential to improve the availability and resilience of IoT services under anomalous situations such as network failures or denial-of-service (DoS) attacks. However, relatively little has been explored on the problem of ensuring availability even when edge computers that provide key security services (e.g., authentication and authorization) become unavailable themselves. SST supports a resilient authentication and authorization framework to enhance the availability of IoT services under DoS attacks or failures. This approach leverages a technique called secure migration, which allows an IoT device to migrate to another trusted edge computer when its own local authorization service becomes unavailable.
Specifically, the design of a secure migration framework and its supporting mechanisms include (1) automated migration policy construction and (2) protocols for preparing and executing the secure migration. The secure migration policy construction is formulized as an integer linear programming (ILP) problem and show its effectiveness using a case study on smart buildings, where the proposed solution achieves significantly higher availability under simulated attacks on authorization services. Experiments have been carried out to demonstrate the effectiveness of the proposed migration approach for maintaining availability. As an experimental scenario, door controllers and door opening applications are used in a smart building. This setup is inspired by a prototype door controller deployed on the fifth floor of Cory Hall at UC Berkeley as shown in the diagram here.
Due to the interactions with humans and the physical world, many IoT and embedded applications require timely computation and communications. We recognize this as a research opportunity and try to design and build IoT and embedded systems ensuring real-time behavior.