FP-Block is a proof-of-concept Firefox plugin that generates a unique fingerprint for each web site visited. This ensures that embedded third-party content such as social media buttons (Facebook's Like, Pinterest's PinIt, Google's + button) cannot track the user over different websites.
FP-Block is an extension the work of Christof Ferreira Torres for his Bachelor thesis.
Fingerprint-based tracking is the process of tracking a user across different web sites by determining various characteristics, such as screen resolution, browser version, IP address, HTTP header order, etc. Together, such a "fingerprint" is unique and therefore allows the fingerprinter to track the user without using HTTP cookies or other client-side storage.
Most pages on the web embed some content from a third party. Examples of such embedded content include:
When a page embedding such a service is visited, the page rendering triggers the browser to contact the third party. This allows the third party to begin fingerprinting. Moreover, often the service is to add some elements to the source of the web page. This makes it trivial for the third party to additionally add some client-side fingerprinting scripts.
When a user visits a website A, FP-Block generates a unique fingerprint for website A: IDA. This identity is then used for all contact with website A, as well as any contacts to retrieve content embedded on website A. This identity is never used otherwise. Since any new identity is generated such that it is distinct from all previously generated identities, no two identities are the same.
Suppose a user visits two websites, A and B, which both contain a Facebook like button. When visiting site A, Facebook will receive a request for their like button from a browser with fingerprint IDA. When visiting site B, Facebook will get the request from a browser with fingerprint IDB. Since IDA and IDB are different, Facebook cannot link these two visits.
fingerprinting. It does so by a combination of spoofing and blocking
access to typically fingerprinted attribute values.
FP-Block is an implementation of the concept "separation of web identities". For more details, see the paper (currently under submission).