Your privacy is one of the main concerns of this project. For this we will inform you about all data the CamFinger will transmit.
On the Webpage
Apart from the data usually transmitted during navigation, we do not access nor save any data.
In the App
When starting the App for the first time, the App will automatically generate a token that is used by the server to map uploaded images by this phone to the pattern generated later.
At the same time, the minimal necessary information about the device and installed os is transmitted.
The images taken in this app are uploaded to the server and processed there. They may be stored indefinitely and used in publications. While we won't publicate pictures we deem inappropriate, please make sure not to upload any personal information. If you don't want to grant us the right to photos taken with the app, please don't use it and tell us why.
In addition we will store a pattern to a given phone/camera. This pattern is derived from the uploaded images.
By using the app you acknowledge that, due to the high level of anonymity, it will be impossible to request the deletion of specific uploads.
How it Works
To quote "TazeTSchnitzel" from HN:
No mass-produced item is exactly identically manufactured. Phone camera devices will be very subtly different. Apparently, it affects the image slightly, to the point you can “fingerprint” an individual camera just from the image data alone.
TL;DR: The sensor of your camera is not perfect. Those imperfections are present in every photo and can be used to track your device.
The number of megapixel in your phone translate to the number of dots in every taken picture. Every dot consists of intensities of the 3 colors, red, green and blue. This intensity is the amount of light that hit the sensor. Due to production tolerances, some pixels will always interpret the light a little too intense or not intense enough, so the resulting picture will always be either a little bit too bright or too dark on this single spot. In comparison to noise introduced by other sources, this pattern will stay the same for every photo.
By taking a number of photos we can find out which intensities stay the same, even with changing of the portrayed content and other noise factors. After we filter those, all that's left is a pattern of brighter and darker spots on a pixel level that can be found in every picture taken by this specific camera.
This method stays the same for the lifetime of the camera and gives us a solid way to know if a photo was taken by this specific phone. It is not version or vendorspecific but specific to every single unit produced.
We hope to show how this picture can help in authenticating a user, although we also try to spread awareness. Everywhere you upload your photos, you can be tracked.
The software and theory behind it is based on the following publication by Miroslav Goljan, Jessica Fridrich, and
Tomáš Filler (amongst many others):
Large Scale Test of Sensor Fingerprint Camera Identification
If you have questions or feedback, feel free to reach out to:
Dominik Christian Maier