A device fingerprint (or machine fingerprint) is a compact summary of software and hardware settings collected from a remote computing device.
Basic web browser configuration information has long been collected by web analytics services in an effort to accurately measure real human web traffic, and discount various forms of click fraud. With the assistance of client-side scripting languages, collection of much more esoteric parameters is possible[1][2]. Assimilation of such information into a single string comprises a device fingerprint.
Recently such fingerprints have proven useful in the detection and prevention of online identity theft and credit card fraud[3][4].
Contents |
Motivation for the device fingerprint concept stems from the forensic value of human fingerprints. In the "ideal" case, all web client machines would have a different fingerprint value (diversity), and that value would never change (stability). Under those assumptions, it would be possible to uniquely distinguish between all machines on a network, without the explicit consent of the users themselves.
In practice neither diversity nor stability is fully attainable, and improving one has a tendency to adversely impact the other.
Fingerprinting methods range from passive to active.
Passive fingerprinting occurs without obvious querying of the client machine. These methods rely upon precise classification of such factors as the client's TCP/IP configuration, OS Fingerprint, IEEE 802.11 (wireless) settings[5], and hardware clock skew[6].
Active fingerprinting assumes the client will tolerate some degree of invasive querying. The most active method is installation of executable code directly on the client machine. Such code may have access to attributes not typically available by other means, such as the MAC address, or other unique serial numbers assigned to the machine hardware. Such data is useful for fingerprinting by programs that employ Digital Rights Management. A drawback is that installed software is an easy target for tampering.
Passive collection of device attributes below the web-browser layer may occur at several OSI model layers. In normal operation, various network protocols transmit or broadcast packets or headers from which one may infer client configuration parameters. Sorted by layer, some examples of such protocols are:
Collection of device fingerprints from web clients (browser software) relies on the availability of JavaScript or similar client-side scripting language for the harvesting of a suitably large number of parameters. Two classes of users with limited client-side scripting are those with mobile devices, and those running privacy software.
A separate issue is that a single device may have multiple web clients installed, or even multiple virtual operating systems. As each distinct client and OS has distinct internal parameters, one may change the device fingerprint by simply running a different browser on the same machine.
Consumers and their advocacy groups may consider covert tracking of users to be a violation of user privacy[10]. Computer security experts may consider the ease of bulk parameter extraction to be a browser security hole[11].
stock | retire | vm
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History