Introduction
We introduced CamPUF, an image sensor-based physically unclonable function (PUF), that exploits the uniqueness of dark signal non-uniformity (DSNU) between image sensors [1] for the fingerprinting of individual mobile devices. DSNU is mainly caused by the variations of dark current (current flowing in a photodiode even when there is no incident illumination) and is dominant in dark images. DSNU is one of the sources of fixed pattern noise (FPN), and thus it can be used distinguish individual sensors from each other. This dataset contains raw and JPEG images we used in [1].
Dataset Description
Image sensor types and counts
This dataset includes images captured using two different models, five sensors for each model (ten sensors in total)
- Five Sony IMX337 (Rear camera of Google Nexus 5X) #1 to #5
- Five Sony IMX179 (Rear camera of Google Nexus 5) #1 to #5
Image formats and contents
Images are either in raw format or JPEG format. See the CamPUF Dataset Description for more details. All images are in portrait format (taller than it is wide).
- Raw images are dark images, captured with the lens covered completely.
- Raw images are stored as 16-bit unsigned integers. Use fread() to read files.
- Although it is hard to tell from the dark images, raw images are flipped, either vertically (IMX377) or laterally (IMX179). See the Flip Direction column in the dataset description document.
- Raw images have margins that need to be cropped. See the Image Offset column in the dataset description document. For example, if the column margin (front/back) is 2/2, drop first two and last two columns. Flip first before cropping.
- JPEG images are natural images of natural objects, such as a white plain wall, the night sky, a classroom, and a desktop.
- JPEG images can be simply read using imread().
- JPEG images are not flipped.
- JPEG images do not have margins.
Directory structure
- CamPUF_dataset: root directory
- CamPUF_dataset/raw: raw images
- CamPUF_dataset/raw/set-xx: raw image set xx (xx: 01–04)
- CamPUF_dataset/raw/set-xx/sensor-yy: sensor #yy of raw image set xx (yy: 01 or 01–05)
- img-zz.raw: raw image zz of sensor #yy of raw image set xx (zz: 01–50 or 01–20)
- CamPUF_dataset/raw/set-xx/sensor-yy: sensor #yy of raw image set xx (yy: 01 or 01–05)
- CamPUF_dataset/raw/set-xx: raw image set xx (xx: 01–04)
- CamPUF_dataset/jpeg: JPEG images
- CamPUF_dataset/jpeg/set-xx: JPEG image set xx (xx: 01–12)
- CamPUF_dataset/jpeg/set-xx/sensor-yy: sensor #yy of JPEG image set xx (yy: 01 or 01–05)
- img-zz.jpg: JPEG image zz of sensor #yy of raw image set xx (zz: 01–50)
- CamPUF_dataset/jpeg/set-xx/sensor-yy: sensor #yy of JPEG image set xx (yy: 01 or 01–05)
- CamPUF_dataset/jpeg/set-xx: JPEG image set xx (xx: 01–12)
- CamPUF_dataset/raw: raw images
Not all sensors are used to capture the same image. For example, raw image set 01 includes images captured by all five IMX337’s (#1 to #5), but raw image set #02 has images captured by only one IMX337 (#1).
Selecting image sets to use
- To generate keys from different sensors, use (i) sensor #01–#05 in raw image set 01 (IMX377) or (ii) sensor #01–#05 in raw image set 04 (IMX179)
- To see how the noise varies by temperature, use sensor #01 in raw image sets 01, 02, and 03.
- To generate keys from JPEG image, use sensor #01 in JPEG image sets 01–12. Each set is of different objects or quality factors (QF).
Source code
We used Matlab for signal processing, but the source code is not included in the released dataset.
Download
Download CamPUF Dataset Description Document
Download CamPUF Dataset (CamPUF_dataset.zip, 4.62 GB, MD5: d51943a770addbfd9b31d3ba46e7dba2)
Contact
Please contact Yongwoo Lee or Younghyun Kim for any questions.
Citation
Please cite our CamPUF paper [1] if you find the dataset useful:
@inproceedings{Kim-DAC18-CamPUF,
author = {Kim, Younghyun and Lee, Yongwoo},
title = {{CamPUF}: Physically Unclonable Function Based on {CMOS} Image Sensor Fixed Pattern Noise},
booktitle = {Proceedings of the Design Automation Conference (DAC)},
year = {2018},
pages = {66:1–66:6},
doi = {10.1145/3195970.3196005}
}
Acknowledgement
The work has been supported in part by the National Science Foundation (NSF) under Grant No. CNS-1719336.
Reference
- CamPUF: Physically Unclonable Function based on CMOS Image Sensor Fixed Pattern Noise
Younghyun Kim, Yongwoo Lee
DAC (Design Automation Conference), San Francisco, CA, 2018
[doi.org/10.1145/3195970.3196005]