Review Article

A Survey of Browser Fingerprint Research and Application

Table 2

Summary of browser feature research.

Ways to get fingerprintsRepresentative workFeatures

JavaScript-based fingerprints[2, 3]Its essence is to use JS to call various APIs to obtain various information.
[10]Use the features of the JS engine as the browser feature to identify users.
CSS-based fingerprints[11, 13]Use the parsing feature of CSS as a feature to avoid the problem of users banning JS.
Canvas-based fingerprint[14]Canvas fingerprints have the characteristics of consistency, high entropy, and orthogonality with other fingerprints.
Hardware-based fingerprints[15, 16]Most of them have formulated different tasks for the hardware to execute and infer the hardware characteristics based on the results.
Fingerprint based on Audio API[20]Use the difference in audio processing of different browser devices as a feature.
Plugin-based fingerprint[2224]The browser plug-in will modify the web page and the browser itself, because these are all features. However, the ways of obtaining them are more diversified.
Other browser fingerprint acquisition technologies[26]The author’s goal is to capture the position of the user’s gaze, but since the gaze is difficult to obtain, the replacement of the mouse track is used.
[27]The reason is that different browsers parse some HTML differently. The author constructs multiple XSS vectors, and the generated parsing features are returned as fingerprints.
[30]The author uses JS code to construct a bunch of computing tasks and combines the system’s time API to obtain the running time of the user’s browser, which can distinguish user devices by task execution, but this method requires a certain performance cost on the web front end.
[31]The author uses network delay as a fingerprint feature. Obviously, this technology cannot cope with network proxy and VPN technology and has strong limitations.