IEEE Consumer Electronics Magazine - July 2015 - 53
This article will examine API access control, focusing
on OAuth. We will examine the most common OAuth
flows in detail and discuss how they work, why they are
secure, and when and when not to use them. We will also
evaluate the applicability of OAuth to connected devices,
look at OAuth techniques for consumer electronics, and
explore emerging standards for access control on the Internet of Things (IoT).
If you are anything like me, you have got a collection of
connected devices-everything from Hue lightbulbs to Nest
thermostats. The problem with all these devices-and the thing
that keeps me from saying that they are part of the IoT-is that
they are all quite antisocial. That is, they do not easily talk to
each other.
Almost every connected device currently for sale uses the
same model.
▼ Download the mobile app.
▼ Create an account on the manufacturer's server.
▼ Connect your new device to your account.
The last step is accomplished in different ways, depending on
how the device actually connects (i.e., via Bluetooth, Wi-Fi,
ZigBee, and so on). Regardless, in the end, I have a device
that I can control with my phone. That's great the first few
times, but eventually the novelty wears off, and I just want a
light switch to turn on the lights. What's more, the Hue lights
are not the only connected lights I have, and opening two
apps to turn on the lights is beyond my endurance.
Most current IoT business models focus on cloud-based
strategies that place the vendor at the heart of the data architecture. Clearly, if the IoT is going to come to fruition, we are
going to need better ways of connecting devices. Merely connecting them to a network and then to an account controlled by
the manufacturer is not enough. Devices need to be connected
to each other and to the services used by the owner. Owners
want to coordinate their interactions, and this requires more
than just having devices connect to their maker.
Devices need rich connections because of
▼ discovery of contextual and other data such as weather or
price data through Internet-based APIs
▼ coordination with other devices and systems to achieve
a goal such as reducing the peak electric power usage in
a home
▼ integration with systems that can automatically represent
the owner's intent such as reducing the thermostat only if
the house will be unoccupied for more than 8 h.
Richer connections will allow us to move from the current
manufacturer-centric connected device ecosystem to one that
is a true IoT. Making these interactions secure and protecting
owner privacy will require more sophisticated access control
methods than are currently employed.
of a person's life. The best way to ensure that systems protect
people's personal data and respect their wishes is to make
people a part of the process.
As illustrated in Figure 1, the IoT creates many relationships between sensors and other connected devices, cloudbased accounts, gateways, hubs, mobile devices, and other
resources. Each of these interactions might carry personal
data that the owner wishes to keep private, implying a need
for a secure, authenticated channel. More importantly,
doing this conveniently and dependably requires that service operators are trustworthy and working with the owners' interests in mind.
Sometimes, the device will be connected to a cloud-based
service that proxies the data and potentially provides other services. At other times, the device will be proxied by a mobile
phone. Often, simple devices will have a smart hub that serves
as their proxy. At present, at least, most devices are too low
powered to support direct connections from arbitrary clients. In
addition, the proxies need connections to the owners and the
other resources they control and, often, to each other.
Last October, I launched a connected car project called
Fuse. Fuse uses a cellular device that plugs into the OBD-II
port on any car. The device is from a company called Carvoyant. Carvoyant also provides a service that proxies the device
and gives it a cloud-based API. This model fits the top-most
path in Figure 1, where the device uses a cloud-based proxy to
provide an API for the client. Later, we will return to Fuse and
discuss how authentication worked on the paths between the
device and cloud-based API and the API and client, in turn.
Supporting the connections with devices and ensuring that
their owner is in control of the data associated with them
assumes we can do at least the following [1]:
1) ensure that the device has a unique identifier
2) register the device over a secure channel
3) authenticate the device
4) create an association or relationship between the user and
the device.
There are various ways we could implement a system
that fulfills these requirements. OAuth is a viable mechanism for the last two. Over the past several years, as APIs
for personal data have become more widely used, OAuth
ACCESS CONTROL FOR DEVICES
Securely connecting devices to each other, to APIs, and to
owner systems is not an easy task. Connected devices carry
personal information, and, as they become more ubiquitous,
the aggregation of that data can represent significant elements
FIGURE 1. The IoT creates numerous authenticated relationships.
july 2015
^
IEEE ConsumEr ElECtronICs magazInE
53
Table of Contents for the Digital Edition of IEEE Consumer Electronics Magazine - July 2015
IEEE Consumer Electronics Magazine - July 2015 - Cover1
IEEE Consumer Electronics Magazine - July 2015 - Cover2
IEEE Consumer Electronics Magazine - July 2015 - 1
IEEE Consumer Electronics Magazine - July 2015 - 2
IEEE Consumer Electronics Magazine - July 2015 - 3
IEEE Consumer Electronics Magazine - July 2015 - 4
IEEE Consumer Electronics Magazine - July 2015 - 5
IEEE Consumer Electronics Magazine - July 2015 - 6
IEEE Consumer Electronics Magazine - July 2015 - 7
IEEE Consumer Electronics Magazine - July 2015 - 8
IEEE Consumer Electronics Magazine - July 2015 - 9
IEEE Consumer Electronics Magazine - July 2015 - 10
IEEE Consumer Electronics Magazine - July 2015 - 11
IEEE Consumer Electronics Magazine - July 2015 - 12
IEEE Consumer Electronics Magazine - July 2015 - 13
IEEE Consumer Electronics Magazine - July 2015 - 14
IEEE Consumer Electronics Magazine - July 2015 - 15
IEEE Consumer Electronics Magazine - July 2015 - 16
IEEE Consumer Electronics Magazine - July 2015 - 17
IEEE Consumer Electronics Magazine - July 2015 - 18
IEEE Consumer Electronics Magazine - July 2015 - 19
IEEE Consumer Electronics Magazine - July 2015 - 20
IEEE Consumer Electronics Magazine - July 2015 - 21
IEEE Consumer Electronics Magazine - July 2015 - 22
IEEE Consumer Electronics Magazine - July 2015 - 23
IEEE Consumer Electronics Magazine - July 2015 - 24
IEEE Consumer Electronics Magazine - July 2015 - 25
IEEE Consumer Electronics Magazine - July 2015 - 26
IEEE Consumer Electronics Magazine - July 2015 - 27
IEEE Consumer Electronics Magazine - July 2015 - 28
IEEE Consumer Electronics Magazine - July 2015 - 29
IEEE Consumer Electronics Magazine - July 2015 - 30
IEEE Consumer Electronics Magazine - July 2015 - 31
IEEE Consumer Electronics Magazine - July 2015 - 32
IEEE Consumer Electronics Magazine - July 2015 - 33
IEEE Consumer Electronics Magazine - July 2015 - 34
IEEE Consumer Electronics Magazine - July 2015 - 35
IEEE Consumer Electronics Magazine - July 2015 - 36
IEEE Consumer Electronics Magazine - July 2015 - 37
IEEE Consumer Electronics Magazine - July 2015 - 38
IEEE Consumer Electronics Magazine - July 2015 - 39
IEEE Consumer Electronics Magazine - July 2015 - 40
IEEE Consumer Electronics Magazine - July 2015 - 41
IEEE Consumer Electronics Magazine - July 2015 - 42
IEEE Consumer Electronics Magazine - July 2015 - 43
IEEE Consumer Electronics Magazine - July 2015 - 44
IEEE Consumer Electronics Magazine - July 2015 - 45
IEEE Consumer Electronics Magazine - July 2015 - 46
IEEE Consumer Electronics Magazine - July 2015 - 47
IEEE Consumer Electronics Magazine - July 2015 - 48
IEEE Consumer Electronics Magazine - July 2015 - 49
IEEE Consumer Electronics Magazine - July 2015 - 50
IEEE Consumer Electronics Magazine - July 2015 - 51
IEEE Consumer Electronics Magazine - July 2015 - 52
IEEE Consumer Electronics Magazine - July 2015 - 53
IEEE Consumer Electronics Magazine - July 2015 - 54
IEEE Consumer Electronics Magazine - July 2015 - 55
IEEE Consumer Electronics Magazine - July 2015 - 56
IEEE Consumer Electronics Magazine - July 2015 - 57
IEEE Consumer Electronics Magazine - July 2015 - 58
IEEE Consumer Electronics Magazine - July 2015 - 59
IEEE Consumer Electronics Magazine - July 2015 - 60
IEEE Consumer Electronics Magazine - July 2015 - 61
IEEE Consumer Electronics Magazine - July 2015 - 62
IEEE Consumer Electronics Magazine - July 2015 - 63
IEEE Consumer Electronics Magazine - July 2015 - 64
IEEE Consumer Electronics Magazine - July 2015 - 65
IEEE Consumer Electronics Magazine - July 2015 - 66
IEEE Consumer Electronics Magazine - July 2015 - 67
IEEE Consumer Electronics Magazine - July 2015 - 68
IEEE Consumer Electronics Magazine - July 2015 - 69
IEEE Consumer Electronics Magazine - July 2015 - 70
IEEE Consumer Electronics Magazine - July 2015 - 71
IEEE Consumer Electronics Magazine - July 2015 - 72
IEEE Consumer Electronics Magazine - July 2015 - 73
IEEE Consumer Electronics Magazine - July 2015 - 74
IEEE Consumer Electronics Magazine - July 2015 - 75
IEEE Consumer Electronics Magazine - July 2015 - 76
IEEE Consumer Electronics Magazine - July 2015 - 77
IEEE Consumer Electronics Magazine - July 2015 - 78
IEEE Consumer Electronics Magazine - July 2015 - 79
IEEE Consumer Electronics Magazine - July 2015 - 80
IEEE Consumer Electronics Magazine - July 2015 - 81
IEEE Consumer Electronics Magazine - July 2015 - 82
IEEE Consumer Electronics Magazine - July 2015 - 83
IEEE Consumer Electronics Magazine - July 2015 - 84
IEEE Consumer Electronics Magazine - July 2015 - 85
IEEE Consumer Electronics Magazine - July 2015 - 86
IEEE Consumer Electronics Magazine - July 2015 - 87
IEEE Consumer Electronics Magazine - July 2015 - 88
IEEE Consumer Electronics Magazine - July 2015 - 89
IEEE Consumer Electronics Magazine - July 2015 - 90
IEEE Consumer Electronics Magazine - July 2015 - 91
IEEE Consumer Electronics Magazine - July 2015 - 92
IEEE Consumer Electronics Magazine - July 2015 - 93
IEEE Consumer Electronics Magazine - July 2015 - 94
IEEE Consumer Electronics Magazine - July 2015 - 95
IEEE Consumer Electronics Magazine - July 2015 - 96
IEEE Consumer Electronics Magazine - July 2015 - 97
IEEE Consumer Electronics Magazine - July 2015 - 98
IEEE Consumer Electronics Magazine - July 2015 - 99
IEEE Consumer Electronics Magazine - July 2015 - 100
IEEE Consumer Electronics Magazine - July 2015 - 101
IEEE Consumer Electronics Magazine - July 2015 - 102
IEEE Consumer Electronics Magazine - July 2015 - 103
IEEE Consumer Electronics Magazine - July 2015 - 104
IEEE Consumer Electronics Magazine - July 2015 - Cover3
IEEE Consumer Electronics Magazine - July 2015 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20240102
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20231112
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20230910
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20230708
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20230506
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20230304
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20230102
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20221112
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20220910
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20220708
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20220506
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20220304
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20220102
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20211112
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20210910
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20210708
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20210506
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_20210304
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_202010
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_202009
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_202007
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_202004
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_202003
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_202001
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201910
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201909
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201907
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201905
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201903
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201901
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201811
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201809
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201807
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201805
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_201803
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_july2017
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_april2017
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_january2017
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_october2016
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_july2016
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_april2016
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_january2016
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_october2015
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_july2015
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_april2015
https://www.nxtbook.com/nxtbooks/ieee/consumerelectronics_january2015
https://www.nxtbookmedia.com