Media Device Fingerprinting
Meida Device fingerprinting refers to the creation of a unique identifier by detecting and analyzing the properties of media devices on a user's device. These media devices include cameras, microphones, and so on. The technology of media device fingerprinting utilizes the subtle differences between devices to identify and track users for purposes such as user identification and targeted advertising.
Here are the steps for a website to access user audio and video device information and then generate a browser fingerprint:
Step 1: Request User Authorization
Before using audio and video devices, the website needs to request user authorization, which is usually accomplished by calling the browser's JavaScript API
In the "Hardware" section of BrowserScan, you can detect media device fingerprints.
Step 2: Obtain Media Device Information
Once the user grants permission, the website can access device information through the WebRTC API. It's important to note that for privacy reasons, media device information can only be accessed when the user grants the webpage permission to access the device. If permission is not granted, the device information will return an empty string.
Device information includes:
Device Type: Such as audio input devices (like microphones), audio output devices (like speakers or headphones), and video input devices (like cameras).
Device Label: This is a human-readable name for the device. For example, for a camera, the label might be "Logitech HD Webcam C270"; for a microphone, the label might be "Built-in Microphone".
Device ID: This is a unique identifier for the device. It's a string that uniquely identifies a device.
Step 3: Generate a Browser Fingerprint
A browser fingerprint is generated by processing the collected device information. There are many ways to process this information, such as hashing the device information string into a hash value.
It's worth noting that media device fingerprints may change due to user behavior such as changing devices, updating device drivers, or modifying system settings, so they can't be guaranteed to remain the same forever.
Audio Fingerprinting
Audio fingerprinting is a relatively new fingerprint tracking technology. The basic principle is that due to minor differences in hardware and software configurations, different devices will produce minor differences when playing the same audio. These differences can be captured and used to generate a unique identifier for the device, i.e., the "Audio Fingerprints".
The technical principles involved in audio fingerprinting technology mainly include audio processing and signal analysis, and specific operations usually require the use of the browser's Web API, such as the AudioContext interface.
When a user visits a website, the website can obtain the audio fingerprint of the user's device through the following steps:
Step 1: Create a virtual audio environment
First, the website needs to set up a browser's audio environment to play and analyze audio. Technically, this is accomplished by creating an AudioContext object. AudioContext is part of the Web Audio API, which provides a series of interfaces for audio processing.
Step 2: Generate and play audio
In this virtual audio environment, the website creates an OscillatorNode, which is a virtual audio signal source. This signal source can play audio signals of specific frequency and waveform, but this signal is silent and cannot be heard by users.
Next, the website needs to generate a piece of audio and play it. Technically, this is done by creating an OscillatorNode object. You can simply understand it as a virtual audio signal source. The OscillatorNode can produce audio signals with specific frequencies and waveforms, such as sine waves, square waves, etc. This signal is silent and cannot be heard by the user.
The purpose of the website playing audio is to generate some minor differences in the device's audio hardware. These differences can be used to distinguish different devices.
Step 3: Capture audio data
When audio is playing, the website needs to capture the audio data. The website does this by creating an AnalyserNode object. The AnalyserNode is a virtual audio analyzer that can capture and analyze audio signals. It's like a recording device set up in a virtual environment.
Step 4: Analyze audio data
The website needs to analyze the captured audio data and extract information that reflects device characteristics.
This step may involve some complex signal processing and statistical calculations, such as calculating the average, variance, peak, etc., of the audio data.
Step 5: Generate audio fingerprints
Finally, the website transforms the extracted information into a unique identifier. This identifier reflects the characteristics of the user device processing audio and can be considered as an audio fingerprint of the device.
This is usually done by a hash function, which can map data of any length to a fixed-length output.
Using BrowserScan to detect Audio fingerprints
Step 6: Use audio fingerprints
Through the above steps, the website can obtain the audio fingerprints of the user device during the user's visit to the web page, and the user cannot detect this process. The website can then use audio to track users. For example, the website can associate the audio fingerprint with other user behavior data for personalized advertising, preventing network fraud, etc.
How to Prevent Media Device&Audio Fingerprinting
Media device fingerprinting technology generates fingerprints by capturing properties (such as type, tags, ID) on the device. Audio fingerprinting technology generates fingerprints by the characteristics of the device playing audio.
To prevent this type of fingerprint tracking, it is best to use an "alternative method" to solve it, that is, use the special tool to generate a new fingerprint to replace the original fingerprint of the real device.
If you are using an antidetect browser, please pay attention to whether there are options for this type of fingerprint in the tool.
We have written a series of articles focused on browser fingerprinting for you. These articles are tailored to provide you with an array of resources, aimed at helping you gain a deeper understanding of browser fingerprinting.