as denoising and debanding, which may be attempted by
attackers. For denoising, we use the Haar-wavelet thresholding, non-local-means (NLmeans), and BM3D, which are
among the most popular algorithms. 14 As for debanding, we
use the Banding Denoise and Unstrip in the G’MIC plugin.
Metrics. Small displacement and vibration of the camera
are inevitable in physical environment, which is known to
affect the SSIM. Thus, we quantify the image quality degradation with the enhanced CW-SSIM, 13 which is insensitive
under such translations. PSNR shows similar trends with
SSIM. Besides, we employ the CIEDE20009 to compute the
degradation of the images’ color quality when the RGB LED
6. EXPERIMENTAL EVALUATION
6. 1. Effectiveness of physical scene disruption
Impact of scenes and device heterogeneity. We first verify
LiShield’s basic protection scheme (Section 2) with five
static scenes, monochrome LEDs, and OOK waveform without frequency randomization, although the attacker’s camera uses auto-exposure. Without LiShield, the measured
image quality stays high, with PSNR > 30 dB and CW-SSIM
> 0.9 (slightly lower than simulation results due to digital
noises in real cameras). LiShield degrades the image quality to 3–10 dB for PSNR and 0.25–0.6 for CW-SSIM (Figure 5).
We cross-validate the impact of LiShield on 10 common
mobile cameras. Although the image quality varies slightly
due to different sampling rates across devices, the quality
remains at an intolerably low level across devices. Thus
LiShield’s protection mechanism works across typical smartphone camera models. As a visual quality benchmark, Figure 6
plots the same scene with different qualities under flickering (Figure 7).
We also notice that the quality worsens slightly as flickering frequency decreases from 500 Hz to 100 Hz (CW-SSIM
decreases by ≈0.1), as the image sensor has higher analog
gain at lower flickering frequencies. 20
Impact of RGB color distortion. When the RGB flickering is turned on, the quality degradation is stronger if the RGB
LED has the same average intensity with monochrome LED.
Besides, the color distortion makes an additional independent impact. The corresponding CIEDE2000 metric escalates up to 45, way beyond the human-tolerable threshold 6. 9
This implies the scene is no longer considered acceptable by
Smart LED modules. Commercial-of-the-shelf (COTS)
household LED bulbs rely on integrated drivers to regulate
LED’s current. A dimming input is usually available on these
drivers for controlling the current dynamically. We build our
smart bulb based on the same topology as these COTS LED
bulbs. We use 19V DC laptop power supplies and NCL30160
LED drivers, which allow dimming at nearly 100 kHz with
arbitrary OOK waveform. The smart bulb has built-in independent RGB/white channels for controlling color/intensity.
Each channel can be controlled by a separate waveform,
with four LED chips in series, at driving current of 800 mA.
In total, the three channels consume approximately 25 W
peak power, close to common office LED troffer fixtures.
However, since LiShield’s OOK waveform has a duty cycle
much lower than one (Section 2), the actual perceptible
brightness is significantly lower.
The dimming input signals of each channel are controlled by an STM32 microcontroller unit (MCU), which
generates the OOK waveform as specified by LiShield. For
flexible reconfiguration, we generate digitized waveforms
in MATLAB on a laptop or Android app on a smartphone
instead, which are then passed to the MCU via USB.
Android app for normal, authorized and attacker’s
cameras. Unless otherwise noted, we use Nexus 5 with stock
ROM as our benchmark device. We assume that normal users
use the stock camera app with default settings (such as auto
exposure), whereas a malicious attacker can manually tune
the camera parameters (e.g., using the Open Camera app). By
default, the camera ISO is set to the lowest value (100), since
it is most beneficial for attackers, as it allows longer exposure
to smooth out the stripes without causing overexposure. To
implement the authorization mechanism (Section 3), we
develop a specialized app for the authorized smartphone,
which uses Android’s Camera2 API5 to precisely control the
exposure time, as well as communicating with the smart
LED’s MCU via USB. Since current Android camera APIs do
not support precise frame timing, the app requests the smart
LED to synchronize with the camera by altering its waveform.
Attacker’s image processing. We have implemented the
attacking algorithms in Section 2. 2, which are specifically
designed to combine/process the captured image, aiming
to eliminate LiShield’s stripe distortion. In addition, we
implement classical image processing techniques, such
Smart LED with
Figure 4. Experimental setup of LiShield.
Figure 5. Quality with autoexposure camera. Error bars show std.
across OOK waveforms with different frequencies (100–500 Hz)