
Passwords in the Air: Harvesting Wi-Fi Credentials from SmartCfg Provisioning WiSec ’18, June 18–20, 2018, Stockholm, Sweden
interactive UI (e.g., a smartphone or a tablet). This provisioning
procedure is a new application scenario and thus may introduce
new attack vectors.
2.2 SmartCfg Provisioning
2.2.1 Overview. First introduced by Texas Instruments (TI) in
2012 [15], SmartCfg is a provisioning technology designed to pro-
vide Wi-Fi credentials for smart devices without an interactive UI
(e.g., plug, washer, refrigerator). After ve years of development,
it is widely accepted by various wireless solution providers. Wire-
less chip manufacturers such as Realtek, MediaTek, MXCHIP, and
Espressif have also implemented their variants. In this paper we
use SmartCfg to refer to all those variants.
A SmartCfg provisioning is used to congure a smart device
and help it connect to the wireless network. Typically, a SmartCfg
solution possesses three typical features: First, it relies on a mobile
app to encode and send authentication credentials to the smart
devices through broadcasting. Second, smart devices passively lis-
ten to the encoded information without knowing the identity of
the sender. Third, the credentials (e.g., passwords) are encoded as
part of the metadata of 802.11 packet (e.g., packet length) rather
than the content of the packet. As a result, even though the data
eld in the 802.11 packet frame is encrypted with either WEP or
WPA2 [
30
], devices listening to the data in the air could intercept
the information of metadata regardless of the actual data content.
2.2.2 Provisioning Process. One typical process of SmartCfg
provisioning is illustrated in Figure 2. Before the provisioning, a
smart device in promiscuous mode continuously captures all the
packets in the network. When a provisioning procedure starts,
the mobile app encodes the Wi-Fi credentials (both
SSID
and pass-
word) into several packets and broadcasts those packets. Once those
packets are captured and decoded by the smart device, it uses this
information to connect to the wireless network
(1)
A smart device that supports SmartCfg technology enters its
SmartCfg state, in which the Wi-Fi module of the device is
enabled in a snier mode to receive broadcast information.
(2)
A user use the smart home app on a smart phone to input
the credentials (i.e., passwords). Then the smart home app
encodes the
SSID
and password as 802.11 packets of special
format, and sends them into the wireless network it connects.
(3)
The Wi-Fi module of smart device captures all 802.11 data
packets in a few seconds and tries to decode them using
certain algorithm to obtain the
SSID
and password. After
obtaining Wi-Fi credentials, the device then connects to the
wireless network.
2.2.3 Data Encoding Mode of SmartCfg. SmartCfg solutions
encode the credentials into the metadata of 802.11 packets. However,
dierent solutions adopt dierent encoding modes. In general, there
are three popular encoding modes as Table 1 illustrates:
s
• Data in Multicast Addresses (DMA)
In this mode, the in-
formation is encoded into the last 23 bits of the Destination
Address eld of the packets. The DMA row of Table 1 gives
a concrete example. In this example every two bytes of the
payload are encoded into the last 2 bytes of the destination
Table 1: Examples of dierent types of SmartCfg
Mode Source Address Destination Address Length
DMA
00:90:4c:17:1a:9b 01:00:5e:01:49:6f 43
00:90:4c:17:1a:9b 01:00:5e:02:54:36 43
00:90:4c:17:1a:9b 01:00:5e:03:36:36 43
00:90:4c:17:1a:9b 01:00:5e:04:37:38 43
00:90:4c:17:1a:9b 01:00:5e:05:39:cc 43
DPL
00:90:4c:17:1a:9b FF:FF:FF:FF:FF:FF 47
00:90:4c:17:1a:9b FF:FF:FF:FF:FF:FF 67
00:90:4c:17:1a:9b FF:FF:FF:FF:FF:FF 47
00:90:4c:17:1a:9b FF:FF:FF:FF:FF:FF 67
00:90:4c:17:1a:9b FF:FF:FF:FF:FF:FF 96
Hybrid
00:90:4c:17:1a:9b 01:00:5e:01:01:01 556
00:90:4c:17:1a:9b 01:00:5e:02:02:02 555
00:90:4c:17:1a:9b 01:00:5e:03:03:03 554
00:90:4c:17:1a:9b 01:00:5e:04:04:04 291
00:90:4c:17:1a:9b 01:00:5e:05:05:05 338
00:90:4c:17:1a:9b 01:00:5e:06:06:06 198
address, while the ante-penultimate byte of the address is
used as the index.
• Data in Packet Length (DPL)
In this mode, the informa-
tion is encoded into the length eld of each packet (the
content is randomly lled). As illustrated in the DPL row
of the Table 1, messages are encoded into the length of the
packet sequence and then are broadcasted.
• Hybrid
In this mode, both the Destination Address eld and
the packet length are used to encode the information. The
Destination Address is usually used as the index and the
message is often stored at the length eld. The advantage of
Hybrid mode is that one packet contains more information
and it is thus more ecient.
According to our observation, one important feature of SmartCfg
data encoding is that it introduces a preamble. A preamble is a
sequence of packets (e.g., three packets) with same length and
content. The purpose of this preamble is to help devices locate the
data payload. We nd that in most provisioning procedures the app
will rst issue a preamble (or synchronization code) to the network.
The advantage of sending the preamble sequence rst is that the
device could locate, by the preamble, the beginning of a series of
packets that matches a particular protocol. Then it is able to extract
data from these packets.
Another usage of the preamble is to help measure the padding
length introduced by the encryption. Since the app does not know
what is the exact length of an encrypted data packet of WPA or
WPA2, it can only prepare a set of preamble packets and broadcast
them. Then the device capturing and identifying the preamble could
calculate the length of padding data. Therefore, the use of preamble
helps devices adjust the packet length.
3 SECURITY ANALYSIS OF SMARTCFG
In this section, we highlight the security analysis against SmartCfg
provisioning solutions with a focus on their Wi-Fi credential encod-
ing schemes. Before introducing the concrete analysis procedure,
we rst illustrate the threat model and challenges. Then we detail