# Enterprise Security for the Internet of Things (IoT): Lightweight Bootstrapping with EAP-NOOB
## 3 Design Principles  
As is evident from our discussion in Section 2, many of the existing devices and standards currently do not use EAP methods for device authentication and bootstrapping. Instead, a common approach is to rely on a network-wide shared secret. For devices using the Thread stack, a network-wide shared secret is input by the user in the form of a passphrase. For devices using the Zigbee Light Link standard, a global shared secret is hard coded by the device manufacturer into all devices. Indeed, even larger appliances that use Wi-Fi networks rely on the Wi-Fi Protected Access 2 (WPA2)-Personal authentication mode, in which a single passphrase is provisioned to all of the devices.  
The attack shown by [PERSON] et al. [13] on Zigbee Light Link highlights that using a single network-wide shared secret makes the deployment extremely vulnerable. A single compromised device can reveal the secret and make the entire system prone to attacks. Large scale Denial of Service (DoS) attacks that originate from IoT devices have also led to a strong desire for individually identifying and authenticating each IoT device as well as potentially isolating them from each other and the rest of the network infrastructure.  
In this section, we identify and discuss four important design principles that guided our choice of a bootstrapping protocol for resource-constrained smart home and automation devices.  
1. _Principle 1--Centralized AAA infrastructure:_ initial home and small office networks were designed with the expectation that only a small number (3-5) of devices will be connected to each other and the Internet. Emergence of low-cost communication technologies, such as Zigbee and Bluetooth, along with embedded sensors has however increased the number of devices even in typical home and small office networks. The need for a central AAA server for monitoring attached devices is no longer exclusive to enterprise environments only. A centralized AAA server not only enables monitoring of all the connected devices, but also allows removing access of devices which are sold or infected.
2. _Principle 2--Fine-grained access control:_ as the number of devices in a network increases, there is naturally a need for isolating them. As an example, the Z-Wave S2 protocol divides the Z-Wave network into three dedicated security classes (\"S2 Access Control\", \"S2 Authenticated\", and \"S2 Unauthenticated\"), each of which have a unique network key. A bootstrapping protocol must supportindividual device authentication, key provisioning, and the isolation of devices from each other as well as the rest of the network after the initial bootstrapping.
3. _Principle 3--Cloud-hosted service:_ it is naturally unreasonable to expect average home owners to setup and maintain AAA servers. Outsourcing this functionality to the cloud will ensure better security and allow more frequent updates. A bootstrapping protocol should therefore support deployment of AAA servers on-site (for small enterprises) as well as in the cloud (for home environments).
4. _Principle 4--Flexibility of credentials:_ IoT devices are developed by a diverse set of manufacturers and they vary significantly in terms of their capabilities. While some IoT devices are comparable to general purpose computing devices, others may be resource limited. A bootstrapping protocol should ideally be able to scale up or down, depending on the device capabilities while also supporting different types of credentials that are be available.