Device fingerprint generation and request processing method, device, electronic device and medium
By obtaining key and non-critical device elements of the terminal device and generating device fingerprints based on the collision probability, the problem of difficult to take into account both the stability and uniqueness of the device fingerprint are solved, and high stability and unique device identity recognition is achieved.
Patent Information
- Application Number
- CN202211035039.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-26
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2042-08-26
AI Technical Summary
When faced with privacy protection, existing device fingerprint generation algorithms are difficult to take into account both stability and uniqueness, and are easily tampered with and collided, resulting in a decrease in the stability and uniqueness of device fingerprints.
By obtaining the key equipment elements and non-critical equipment elements of the target terminal device, the device fingerprint is generated based on its collision probability, ensuring the stability and uniqueness of the equipment fingerprint, and dynamically updating the equipment elements to meet privacy protection needs.
It improves the stability and uniqueness of the device fingerprint, avoids collision and tampering of the device fingerprint, and enhances the accuracy and reliability of the device identity identification.
Smart Images

Figure CN115473705B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of information security technology, and in particular to a method, apparatus, electronic device and medium for generating and requesting a device fingerprint. Background Art
[0002] Device fingerprint refers to the device characteristics or unique device identification that can be used to uniquely identify a terminal device, where the device fingerprint may include some inherent, difficult to tamper with, and unique device identification. For example, the device fingerprint may include the hardware ID of the terminal device. For example, a terminal device (such as a mobile phone) will be assigned a unique IMEI (International Mobile Equipment Identity) number during the production process; for another example, the network card of a terminal device (such as a computer) will be assigned a unique MAC address (Media Access Control Address, also known as LAN address, physical address, hardware address) during the production process.
[0003] At present, device fingerprints can be used to prevent marketing fraud, database theft, account security, promotion fraud, payment transaction risks, ranking and order manipulation, credit fraud, etc. Therefore, it is very important to generate stable device fingerprints. Summary of the invention
[0004] The present disclosure aims to solve one of the technical problems in the related art at least to some extent.
[0005] The present disclosure proposes a method, apparatus, electronic device and medium for generating and requesting a device fingerprint, so as to generate a device fingerprint corresponding to a target terminal device based on key device elements and non-key device elements of the target terminal device at the same time, thereby improving the stability of the device fingerprint.
[0006] The first embodiment of the present disclosure provides a method for generating a device fingerprint, including:
[0007] Acquire at least one key device element and at least one non-key device element of a target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than the threshold;
[0008] A device fingerprint of the target terminal device is generated according to the at least one key device element and the at least one non-key device element.
[0009] The second aspect of the present disclosure provides a request processing method, including:
[0010] Get the target request sent by the client;
[0011] Extracting at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than the threshold;
[0012] querying a target device fingerprint matching the target terminal device according to the at least one key device element and the at least one non-key device element;
[0013] In the case where the target device fingerprint is queried, the target request is responded to according to the target device fingerprint, and a first response result of the target request is sent to the client.
[0014] The third aspect of the present disclosure provides a device for generating a device fingerprint, including:
[0015] An acquisition module, used to acquire at least one key device element and at least one non-key device element of a target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than the threshold;
[0016] A generation module is used to generate a device fingerprint of the target terminal device based on the at least one key device element and the at least one non-key device element.
[0017] A fourth aspect of the present disclosure provides a request processing device, including:
[0018] A first acquisition module, used to acquire a target request sent by a client;
[0019] an extraction module, configured to extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than the threshold;
[0020] A query module, configured to query a target device fingerprint matching the target terminal device according to the at least one key device element and the at least one non-key device element;
[0021] A first response module, configured to respond to the target request according to the target device fingerprint when the target device fingerprint is found;
[0022] A first sending module is used to send a first response result of the target request to the client after responding to the target request according to the target device fingerprint.
[0023] The fifth aspect embodiment of the present disclosure proposes an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the device fingerprint generation method proposed in the first aspect embodiment of the present disclosure, or execute the request processing method proposed in the second aspect embodiment of the present disclosure.
[0024] The fourth aspect embodiment of the present disclosure proposes a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to execute the device fingerprint generation method proposed in the first aspect embodiment of the present disclosure, or to execute the request processing method proposed in the second aspect embodiment of the present disclosure.
[0025] The fifth aspect embodiment of the present disclosure proposes a computer program, including a computer program, which, when executed by a processor, implements the device fingerprint generation method proposed in the first aspect embodiment of the present disclosure, or implements the request processing method proposed in the second aspect embodiment of the present disclosure.
[0026] One embodiment of the present disclosure has at least the following advantages or beneficial effects:
[0027] By acquiring at least one key device element and at least one non-key device element of the target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold; and generating a device fingerprint of the target terminal device according to the at least one key device element and the at least one non-key device element. Thus, the device fingerprint corresponding to the target terminal device can be generated based on each key device element and each non-key device element of the target terminal device at the same time, which can improve the stability of the device fingerprint.
[0028] Additional aspects and advantages of the present disclosure will be given in part in the following description and in part will be obvious from the following description or learned through practice of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The above and / or additional aspects and advantages of the present disclosure will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0030] Figure 1 A schematic diagram of a flow chart of a method for generating a device fingerprint according to the first embodiment of the present disclosure;
[0031] Figure 2 A schematic diagram of a flow chart of a method for generating a device fingerprint provided in Embodiment 2 of the present disclosure;
[0032] Figure 3 A schematic diagram of a flow chart of a method for generating a device fingerprint provided in Embodiment 3 of the present disclosure;
[0033] Figure 4 A flowchart of a request processing method provided in Embodiment 4 of the present disclosure;
[0034] Figure 5 A flowchart of a request processing method provided in Embodiment 5 of the present disclosure;
[0035] Figure 6 A flowchart of a request processing method provided in Embodiment 6 of the present disclosure;
[0036] Figure 7 A flowchart of a request processing method provided in Embodiment 7 of the present disclosure;
[0037] Figure 8 A schematic diagram of the process of retrieving and generating device fingerprints provided by the present disclosure;
[0038] Fig. 9 A flowchart of a request processing method provided in Embodiment 8 of the present disclosure;
[0039] Fig.10 A flowchart of a request processing method provided in Embodiment 9 of the present disclosure;
[0040] Fig.11 This is a schematic diagram of the structure of the device fingerprint generation apparatus provided in the tenth embodiment of the present disclosure;
[0041] Fig.12 A schematic diagram of the structure of a request processing device provided in the eleventh embodiment of the present disclosure;
[0042] Fig.13 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0043] Embodiments of the present disclosure are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present disclosure, and should not be construed as limiting the present disclosure.
[0044] A device fingerprint is a unique identifier of a terminal device generated based on the device elements of the terminal device. Device fingerprints are widely used in scenarios such as Internet advertising, recommendations, account protection, risk control and anti-fraud.
[0045] In the related art, the algorithm for generating device fingerprints is: based on the collected device elements of the terminal device, a specific value is calculated using a certain algorithm to identify the terminal device.
[0046] Among them, the methods of generating device fingerprints mainly include a method of generating device fingerprints by the client and a method of generating device fingerprints by the server, and the above two methods of generating device fingerprints are based on the key device elements of the device hardware and software to uniquely identify the terminal device. For example, a single key device element can be used to uniquely identify the terminal device, or a fixed element combination of multiple key device elements can be used to uniquely identify the terminal device.
[0047] However, in the client-side device fingerprint generation algorithm, since the SDK (Software Development Kit) is exposed, the device fingerprint generated based on the client is easy to be cracked when facing the black industry, and the client upgrade cost is high. In the server-side device fingerprint generation algorithm, the generation of device fingerprints is simply based on a single key device element or a fixed combination of multiple key device elements; among them, a single key device element is easy to be tampered with and forged, thereby reducing the uniqueness of the device fingerprint and causing a collision of device fingerprints; and although a fixed combination of multiple key device elements can improve the uniqueness of the device fingerprint, as the user's privacy is increasingly valued, the collection rate of multiple stable key device elements is getting lower and lower, resulting in a lower and lower stability of the device fingerprint, and the identification function of the device fingerprint is getting weaker and weaker. For example, when facing privacy protection, the stability of the device fingerprint is reduced due to the decrease in the collection rate of IMEI (International Mobile Equipment Identity) and MAC address.
[0048] Among them, the uniqueness of device fingerprint refers to the ability of different terminal devices to generate different device fingerprints; the stability of device fingerprint refers to the ability of the same terminal device to keep the device fingerprint unchanged.
[0049] Therefore, in order to address at least one of the above problems, the present disclosure proposes a method for generating a device fingerprint and a request processing method, apparatus, electronic device and storage medium.
[0050] The following describes a method for generating a device fingerprint and a request processing method, apparatus, electronic device, and storage medium according to an embodiment of the present disclosure with reference to the accompanying drawings.
[0051] Figure 1 The present invention is a flowchart of a method for generating a device fingerprint according to the first embodiment of the present invention.
[0052] The method for generating a device fingerprint according to the embodiment of the present disclosure can be applied to any electronic device so that the electronic device can perform the function of generating a device fingerprint.
[0053] Among them, the electronic device can be any device with computing capabilities, such as a personal computer, a mobile terminal, a server (or a service end), etc. The mobile terminal can be, for example, a mobile phone, a tablet computer, a personal digital assistant, a wearable device, and other hardware devices with various operating systems, touch screens and / or display screens.
[0054] like Figure 1 As shown, the method for generating the device fingerprint may include the following steps:
[0055] Step 101, obtaining at least one key device element and at least one non-key device element of a target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0056] In the embodiments of the present disclosure, the target terminal device may be any terminal device. The terminal device may be any device with computing capabilities, such as a personal computer (PC), a mobile terminal, etc. The mobile terminal may be a mobile phone, a tablet computer, a personal digital assistant, a wearable device, a vehicle-mounted device, or other hardware device with various operating systems, touch screens, and / or display screens.
[0057] Among them, the device elements may include hardware parameters and / or software parameters of the terminal device. For example, the device elements may include IMEI (International Mobile Equipment Identity), IDFA (Identifier For Advertising), UDID (Unique Device Identifier), MEID (Mobile Equipment Identifier), device model, device brand, screen resolution, device IP (Internet Protocol) address, device MAC address (Media Access Control Address, also known as local area network address, physical address, hardware address), device OS (Operating System) version, etc., and the present disclosure does not impose any restrictions on this.
[0058] In the embodiments of the present disclosure, the threshold may be set according to manual experience, or may be dynamically adjusted according to actual application requirements. For example, the threshold may be 0.01, 0.05, 0.08, etc., and the present disclosure does not impose any limitation on this.
[0059] In the embodiments of the present disclosure, the device elements whose probability of different terminal devices having the same device elements is lower than a threshold value can be recorded as key device elements; correspondingly, the device elements whose probability of different terminal devices having the same device elements is higher than a threshold value can be recorded as non-key device elements. For example, key device elements may include IMEI, serial number SerialNO, AndroidID (Android device unique identifier), IDFA, IDFV (Identifier For Vendor), OAID (Open Anonymous Device Identifier), UDID, openUDID (IOS device unique identifier), device MAC address, etc.; non-key device elements may include device model, device brand, screen resolution, device IP address, device OS version, etc., and the present disclosure does not limit this.
[0060] In the embodiment of the present disclosure, the number of key equipment elements of the target terminal device can be but is not limited to one, and the present disclosure does not impose any restrictions on this; similarly, the number of non-key equipment elements of the target terminal device can be but is not limited to one, and the present disclosure does not impose any restrictions on this.
[0061] In the embodiment of the present disclosure, at least one key device element and at least one non-key device element of the target terminal device may be acquired.
[0062] Step 102: Generate a device fingerprint of the target terminal device based on at least one key device element and at least one non-key device element.
[0063] In the embodiment of the present disclosure, a device fingerprint of a target terminal device may be generated based on at least one key device element and at least one non-key device element.
[0064] The method for generating a device fingerprint of the disclosed embodiment is to obtain at least one key device element and at least one non-key device element of the target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold; and the device fingerprint of the target terminal device is generated based on the at least one key device element and the at least one non-key device element. Thus, the device fingerprint corresponding to the target terminal device can be generated based on each key device element and each non-key device element of the target terminal device at the same time, which can improve the stability of the device fingerprint.
[0065] In order to clearly explain how to generate a device fingerprint of a target terminal device based on at least one key device element and at least one non-key device element in the above embodiments of the present disclosure, the present disclosure also proposes a method for generating a device fingerprint.
[0066] Figure 2 This is a flow chart of a method for generating a device fingerprint according to the second embodiment of the present disclosure.
[0067] like Figure 2 As shown, the method for generating the device fingerprint may include the following steps:
[0068] Step 201, obtaining at least one key device element and at least one non-key device element of the target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0069] For explanation of step 201, reference may be made to the relevant description in any embodiment of the present disclosure, and no further details will be given here.
[0070] Step 202, obtaining the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using device elements of different terminal devices.
[0071] In the embodiments of the present disclosure, the collision sub-probability of a device element can be used to characterize the probability that the device element using different terminal devices generates the same device fingerprint, that is, in the present disclosure, for any device element among at least one key device element and at least one non-key device element obtained, the collision sub-probability of the device element can be the probability that the device element using different terminal devices generates the same device fingerprint.
[0072] For example, when the device element is IMEI, the probability of generating the same device fingerprint using the IMEIs of different terminal devices is 1%, and the collision sub-probability of IMEI is 1%. For another example, when the device element is device brand, the probability of generating the same device fingerprint using device brands of different terminal devices is 20%, and the collision sub-probability of device brands is 20%.
[0073] In a possible implementation of the embodiment of the present disclosure, taking the execution subject of the method as a server as an example, the collision sub-probability of each device element can be obtained through offline statistics of the server. For example, the server can collect device elements of different terminal devices and obtain the collision sub-probability corresponding to each device element through statistical analysis based on the collected device elements.
[0074] As an example, for each device element, the device fingerprint of each terminal device can be generated according to the device element corresponding to different terminal devices, and the number of identical device fingerprints can be counted. For example, the number of device fingerprints marked with the same number is N1, and the total number of terminal devices is N2, then the collision sub-probability of the device element is N1 / N2.
[0075] For example, for IMEI, the device fingerprint of each terminal device can be generated according to the IMEI corresponding to different terminal devices, and the number of identical device fingerprints can be counted. Then, based on the ratio of the number of identical device fingerprints to the total number of terminal devices, the probability of generating the same device fingerprint using the IMEIs of different terminal devices can be calculated, that is, the collision sub-probability of IMEI.
[0076] In the embodiment of the present disclosure, the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element of the target terminal device may be obtained.
[0077] Step 203 : determining at least one target equipment element from at least one key equipment element and at least one non-key equipment element according to the collision sub-probability corresponding to each equipment element.
[0078] In the embodiment of the present disclosure, the target device element may be a device element used to generate a device fingerprint of the target terminal device.
[0079] In the embodiment of the present disclosure, at least one target equipment element may be determined from at least one key equipment element and at least one non-key equipment element according to the collision sub-probability corresponding to each equipment element.
[0080] It should be noted that, in order to ensure the uniqueness of the device fingerprint, the priority of each device element can be determined when the device fingerprint is generated by using the device element, wherein the priority of the device element and the collision sub-probability corresponding to the device element can be in a negative relationship, that is, the smaller the collision sub-probability corresponding to the device element, the higher the priority of the device element. That is, in a possible implementation of the present disclosure, the priority of each device element can be determined according to the collision sub-probability corresponding to each device element, so that at least one target device element can be determined from at least one key device element and at least one non-key device element according to the priority corresponding to each device element.
[0081] For example, the device elements of the target terminal device obtained include key device element 1, key device element 2, non-key device element 1, non-key device element 2, and non-key device element 3. Assuming that the collision sub-probability of key device element 1 is 0.01, the collision sub-probability of key device element 2 is 0.05, the collision sub-probability of non-key device element 1 is 0.23, the collision sub-probability of non-key device element 2 is 0.1, and the collision sub-probability of non-key device element 3 is 0.2, then according to the collision sub-probabilities corresponding to the above-mentioned device elements, the priority level of each device element can be determined as: key device element 1>key device element 2>non-key device element 2>non-key device element 3>non-key device element 1, so that according to the priority level of each device element, at least one target device element can be determined from each device element, for example, the target device element can be determined to be key device element 1, key device element 2, and non-key device element 2.
[0082] It should also be noted that the collision sub-probabilities corresponding to the various device elements may be related, for example, the device model and device brand of the terminal device in the device element are strongly related. Therefore, in a possible implementation of the disclosed embodiment, for each strongly related device element, the priority of each device element can be determined according to the collision sub-probability corresponding to each device element, and the device element with the highest priority can be selected from the strongly related device elements as the target device element according to the priority of each strongly related device element.
[0083] For example, if the device model and the device brand are strongly correlated, and the collision sub-probability of the device model is smaller than the collision sub-probability of the device brand, the priority of the device model is higher than that of the device brand, so the device model can be used as the target device element instead of the device brand.
[0084] As a possible implementation method, the number of target device elements can also be limited. On the one hand, it can effectively reduce the impact of device element association on the generation of device fingerprints. On the other hand, it can effectively increase the reliance on device elements with low collision probability.
[0085] Step 204: Generate a device fingerprint of the target terminal device based on at least one target device element.
[0086] In the embodiment of the present disclosure, a device fingerprint of the target terminal device may be generated based on the determined at least one target device element.
[0087] Still using the above example for explanation, assuming that the target device elements are key device element 1, key device element 2, and non-key device element 2, the device fingerprint of the target terminal device can be generated based on key device element 1, key device element 2, and non-key device element 2.
[0088] In a possible implementation manner of the embodiment of the present disclosure, the correspondence between the at least one target device element and the device fingerprint of the target terminal device may also be saved, so that the device fingerprint of the target terminal device may be obtained by querying the correspondence.
[0089] In another possible implementation of the embodiment of the present disclosure, at least one device element of the target terminal device may also be periodically collected, wherein the at least one device element includes a key device element and / or a non-key device element; when there is a candidate device element in the at least one device element, the at least one target device element is updated according to the candidate device element; wherein the candidate device element is different from the target device element, and the product of the collision sub-probability of the candidate device element and the collision sub-probability of the at least one target device element is less than the set expected probability.
[0090] Therefore, the correspondence between the device elements and the device fingerprint can be updated according to the updated target device elements. Therefore, even when the device elements of the terminal device are updated, it is possible to query the device fingerprint of the terminal device according to the updated update elements, thereby improving the stability and uniqueness of the device fingerprint. In other words, even if certain key device elements cannot be collected with privacy protection, for example, the key device elements that originally generated the device fingerprint cannot be collected, the problem of misidentification of the device identity (i.e., the device fingerprint) will not occur. That is, in the present disclosure, the correspondence between the device elements and the device fingerprint is dynamically maintained and supplemented or updated according to the newly collected device elements, which can avoid the problem of misidentifying an old device as a new device when multiple key device fingerprints of an old device cannot be stably collected.
[0091] Alternatively, the device fingerprint of the target terminal device may be updated according to the updated target device elements.
[0092] In the embodiment of the present disclosure, the period may be pre-set, wherein the period may be 10 minutes, 1 hour, 1D (day), etc., and the present disclosure does not impose any limitation on this.
[0093] In the embodiment of the present disclosure, the set expected probability may be a pre-set collision probability. For example, the set expected probability may be set based on manual experience, or may be dynamically adjusted based on actual needs, and the present disclosure does not impose any restrictions on this.
[0094] In an embodiment of the present disclosure, at least one device element can be periodically collected from a target terminal device, wherein each collected device element can include key device elements or non-key device elements, which is not limited by the present disclosure; and the number of collected device elements can be but is not limited to one, which is not limited by the present disclosure.
[0095] In an embodiment of the present disclosure, after collecting at least one device element from the target terminal device, the collision sub-probability of the above-mentioned device elements can be obtained. Afterwards, at least one device element (such as 1, 2, etc.) can be arbitrarily selected from the collected device elements, and the product of the collision sub-probability of the above-mentioned at least one selected device element and the collision sub-probability of the above-mentioned at least one target device element can be obtained. If the product is less than the set expected probability, the corresponding at least one selected device element is used as a candidate device element, and the above-mentioned at least one target device element can be updated based on the candidate device element, for example, the candidate device element is added to the above-mentioned at least one target device element. Thereby, the device fingerprint of the target terminal device can be generated based on the updated target device element, or the correspondence between the target device element and the device fingerprint of the target terminal device can be updated based on the updated target device element.
[0096] For example, assume that the at least one target device element includes {target device element a, target device element b, target device element c, target device element d}, and the collision sub-probability of target device element a is p(a), the collision sub-probability of target device element b is p(b), the collision sub-probability of target device element c is p(c), the collision sub-probability of target device element d is p(d), and the set expected probability is p.
[0097] Assuming that at least one device element periodically collected from the target terminal device is device element 1, device element 2, and device element 3, the collision sub-probabilities of the three device elements can be obtained, for example, the collision sub-probability of device element 1 is p1, the collision sub-probability of device element 2 is p2, and the collision sub-probability of device element 3 is p3. At least one device element is arbitrarily selected from device element 1, device element 2, and device element 3, and the product of the collision sub-probability of the selected at least one device element and the collision sub-probability of the at least one target device element is obtained.
[0098] For example, if device element 1 and device element 3 are selected from device element 1, device element 2, and device element 3, then the product of the collision sub-probabilities of device element 1, device element 3, target device element a, target device element b, target device element c, and target device element d is p(a)p(b)p(c)p(d)p1p3. When p(a)p(b)p(c)p(d)p1p3 < p, device element 1 and device element 3 are determined as candidate device elements, and {target device element a, target device element b, target device element c, target device element d} can be updated based on device element 1 and device element 3. The updated target device elements are {target device element a, target device element b, target device element c, target device element d, device element 1, device element 3}. Thus, a new device fingerprint 1 can be generated based on the updated target device elements, or the correspondence between the target device elements and the device fingerprint of the target terminal device can be updated based on the updated target device elements.
[0099] For another example, if device element 2 is selected from device element 1, device element 2, and device element 3, then the product of the collision sub-probabilities of device element 2, target device element a, target device element b, target device element c, and target device element d is p(a)p(b)p(c)p(d)p2. When p(a)p(b)p(c)p(d)p2 < p, device element 2 is determined as a candidate device element, and {target device element a, target device element b, target device element c, target device element d} can be updated based on device element 2. The updated target device elements are {target device element a, target device element b, target device element c, target device element d, device element 2}. Thus, a new device fingerprint 2 can be generated based on the updated target device elements, or the correspondence between the target device elements and the device fingerprint of the target terminal device can be updated based on the updated target device elements.
[0100] It should be noted that after generating a new device fingerprint based on the updated at least one target device element, a correspondence can be established between the new device fingerprint and the updated at least one target device element, and the correspondence can also be saved, so as to dynamically update the device fingerprint of the target terminal device and improve the stability of the device fingerprint.
[0101] The method for generating a device fingerprint of the disclosed embodiment obtains the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using device elements of different terminal devices; determines at least one target device element from at least one key device element and at least one non-key device element according to the collision sub-probability corresponding to each device element; and generates a device fingerprint of the target terminal device according to the at least one target device element. Thus, based on the collision sub-probability of each device element, the target device element is determined from each device element, and the device fingerprint of the target terminal device is generated according to the target device element, which can improve the stability of the device fingerprint generation result to avoid collisions in device fingerprints.
[0102] In order to clearly explain how in the above embodiments, at least one target device element is determined from at least one key device element and at least one non-key device element according to the collision sub-probability corresponding to each device element, the present disclosure also proposes a method for generating a device fingerprint.
[0103] Figure 3 This is a flow chart of a method for generating a device fingerprint according to a third embodiment of the present disclosure.
[0104] like Figure 3 As shown, the method for generating the device fingerprint may include the following steps:
[0105] Step 301, obtaining at least one key device element and at least one non-key device element of the target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0106] Step 302, obtaining the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using device elements of different terminal devices.
[0107] For explanations of steps 301 to 302 , reference may be made to the relevant descriptions in any embodiment of the present disclosure, and will not be repeated here.
[0108] Step 303: Generate at least one element combination according to at least one key equipment element and at least one non-key equipment element, wherein each element combination includes at least one key equipment element and at least one non-key equipment element.
[0109] In the embodiments of the present disclosure, the number of element combinations may be, but is not limited to, one, and the present disclosure does not impose any restriction on this.
[0110] In the embodiments of the present disclosure, each element combination may include at least one key equipment element and at least one non-key equipment element. That is, the number of equipment elements in each element combination may be but is not limited to two, and the present disclosure does not impose any restrictions on this.
[0111] In an embodiment of the present disclosure, at least one element combination can be generated based on at least one key device element and at least one non-key device element of a target terminal device, wherein each element combination may include at least one key device element and at least one non-key device element.
[0112] For example, at least one key device element of the target terminal device includes IMEI, MAC address, AndroidID and SerialNO, and at least one non-key device element of the target terminal device includes device model and device OS version. The element combinations generated according to the device elements of the target terminal device may include: element combination 1 (IMEI, MAC address, device model), element combination 2 (IMEI, Android ID, device model), element combination 3 (MAC, Serial NO, device model, device OS version), element combination 4 (IMEI, MAC address, SerialNO, device OS version), and so on.
[0113] Step 304 : for each element combination, determine the collision probability of the corresponding element combination according to the collision sub-probability corresponding to each device element in the corresponding element combination.
[0114] In the embodiment of the present disclosure, for each element combination, the collision probability of the corresponding element combination can be determined according to the collision sub-probability corresponding to each device element in the corresponding element combination.
[0115] As an example, assuming that the impact of the collection of each device element on the device fingerprint is independent, the collision probability of the element combination can be determined according to the following formula:
[0116]
[0117] Among them, X j is the jth element combination in the generated element combination, and the jth element combination includes n equipment elements, x i is the ith device element among the n device elements, p(x i ) is the device element x i The corresponding collision probability, p(diff|X j ) is the element combination X j The corresponding collision probability.
[0118] Step 305 , determining a target element combination from among the element combinations according to the collision probability of the element combinations.
[0119] In the embodiment of the present disclosure, a target element combination may be determined from various element combinations according to the collision probability of each element combination.
[0120] In a possible implementation of the embodiment of the present disclosure, a candidate element combination can be determined from each element combination based on the collision probability of each element combination, wherein the collision probability of the candidate element combination is less than a set expected probability; and a target element combination can be determined from each candidate element combination based on the collision probability of each candidate element combination.
[0121] In the embodiment of the present disclosure, the set expected probability may be a pre-set collision probability. For example, the set expected probability may be set based on manual experience, or may be dynamically adjusted based on actual needs, and the present disclosure does not impose any restrictions on this.
[0122] In an embodiment of the present disclosure, for any combination of elements, the collision probability of the any combination of elements is compared with the set expected probability. When the collision probability of the any combination of elements is less than the set expected probability, the any combination of elements can be used as a candidate combination of elements. Thus, in the present disclosure, the target combination of elements can be determined from the candidate combinations of elements based on the collision probability of each candidate combination of elements.
[0123] As a possible implementation method, the candidate element combination with the smallest collision probability can be used as the target element combination.
[0124] In another possible implementation of the embodiment of the present disclosure, it is also possible to determine a candidate element combination with the smallest collision probability from among the element combinations based on the collision probability of each element combination, and judge whether the collision probability of the candidate element combination is less than the set expected probability. In the case that the collision probability of the candidate element combination is less than the set expected probability, the candidate element combination can be used as the target element combination.
[0125] Step 306: taking each element in the target element combination as a target device element.
[0126] In the embodiment of the present disclosure, each element in the target element combination may be used as a target device element.
[0127] Step 307: Generate a device fingerprint of the target terminal device based on at least one target device element.
[0128] The execution process of step 307 may refer to the execution process of any embodiment of the present disclosure, and will not be described in detail here.
[0129] The method for generating a device fingerprint of the disclosed embodiment generates at least one element combination based on at least one key device element and at least one non-key device element, wherein each element combination includes at least one key device element and at least one non-key device element; for each element combination, the collision probability of the corresponding element combination is determined according to the collision sub-probability corresponding to each device element in the corresponding element combination; the target element combination is determined from each element combination according to the collision probability of each element combination; and each element in the target element combination is used as the target device element. Thus, it is possible to generate each element combination based on at least one key device element and at least one non-key device element, effectively determine the collision probability of the element combination according to the collision sub-probability corresponding to the device element in each element combination, and effectively determine the target device element for generating the target terminal device according to the collision probability of each element combination. It can be understood that selecting the target device element for generating the device fingerprint of the target terminal device according to the collision probability of each element combination can improve the stability of the device fingerprint generation result to avoid collision of the device fingerprint.
[0130] The above embodiments disclose a method for generating a device fingerprint. The present disclosure also provides a method for applying the device fingerprint, namely, a request processing method.
[0131] Figure 4 A flowchart of a request processing method provided in Embodiment 4 of the present disclosure.
[0132] The request processing method of the embodiment of the present disclosure can be applied to the server.
[0133] like Figure 4 As shown, the request processing method may include the following steps:
[0134] Step 401, obtaining the target request sent by the client.
[0135] In the embodiment of the present disclosure, the client refers to a program corresponding to the server that provides services to the client or user. The client runs on a terminal device. In the present disclosure, the terminal device where the client that sends the target request is located is recorded as the target terminal device.
[0136] It should be noted that the explanation of the terminal device in step 101 is also applicable to this embodiment and will not be repeated here.
[0137] In the embodiments of the present disclosure, the target request may include a coupon grabbing request, a payment request, an account login request, an information registration request, etc., and the present disclosure does not impose any limitation on this.
[0138] In the disclosed embodiment, the client may generate a target request in response to a user operation and send the target request to the server. Correspondingly, the server may receive the target request sent by the client.
[0139] Step 402, extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0140] It should be noted that the explanation of key equipment elements, non-key equipment elements and thresholds in step 101 is also applicable to this embodiment and will not be repeated here.
[0141] In the embodiment of the present disclosure, the server may extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request.
[0142] Step 403: query a target device fingerprint that matches the target terminal device based on at least one key device element and at least one non-key device element.
[0143] In an embodiment of the present disclosure, the server can generate a device fingerprint for each terminal device in advance based on the key device elements and non-key device elements of different terminal devices, and store the device fingerprint of each terminal device and the corresponding relationship between the key device elements and non-key device elements of each terminal device. Thus, in the present disclosure, the server can query the above correspondence based on at least one key device element and at least one non-key device element extracted from the target terminal device, and determine whether there is a device fingerprint that matches at least one key device element and at least one non-key device element of the target terminal device. If there is a device fingerprint that matches at least one key device element and at least one non-key device element of the target terminal device in the above correspondence, the device fingerprint that matches at least one key device element and at least one non-key device element of the target terminal device can be used as the target device fingerprint.
[0144] Step 404, when the target device fingerprint is found, respond to the target request according to the target device fingerprint, and send a first response result of the target request to the client.
[0145] In an embodiment of the present disclosure, when the server finds the target device fingerprint, it can respond to the target request according to the target device fingerprint and send a response result of the target request to the client, which is recorded as the first response result in the present disclosure.
[0146] It should be noted that the request processing method of the disclosed embodiment can be applicable to the following scenarios, such as defense against marketing activity fraud, database theft, account security, promotion fraud, payment transaction risks, ranking and order manipulation, credit fraud, etc.
[0147] The request processing method of the disclosed embodiment obtains the target request sent by the client; extracts at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold; queries the target device fingerprint that matches the target terminal device based on at least one key device element and at least one non-key device element; in the case where the target device fingerprint is queried, responds to the target request based on the target device fingerprint, and sends the first response result of the target request to the client. Thus, according to each key device element and each non-key device element of the target terminal device, the device fingerprint corresponding to the target terminal device is identified, which can improve the accuracy and reliability of the device fingerprint identification result, thereby responding to the target request sent by the client based on the accurate device fingerprint, which can improve the accuracy and reliability of the response result.
[0148] In order to clearly explain how the server in the above embodiment of the present disclosure queries the target device fingerprint matching the target terminal device based on at least one key device element and at least one non-key device element, the present disclosure also proposes a request processing method.
[0149] Figure 5 This is a flowchart of the request processing method provided in Embodiment 5 of the present disclosure.
[0150] like Figure 5 As shown, the request processing method may include the following steps:
[0151] Step 501, obtaining the target request sent by the client.
[0152] Step 502, extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0153] The execution process of steps 501 to 502 may refer to the execution process of any embodiment of the present disclosure, and will not be described in detail here.
[0154] Step 503: Determine a candidate device fingerprint that matches at least one key device element from each device fingerprint.
[0155] In the disclosed embodiment, the server may pre-collect key device elements and non-key device elements of different terminal devices, and generate a device fingerprint corresponding to each terminal device based on the key device elements and non-key device elements of each terminal device, so that the server can store the device fingerprint of each terminal device and the correspondence between the key device elements and non-key device elements of each terminal device.
[0156] As an example, for terminal device 1, the server can generate device fingerprint 1 corresponding to terminal device 1 based on the key device elements (such as IMEI and IDFA) and non-key device elements (such as device model, device OS version, and screen resolution) of terminal device 1 collected. For another example, for terminal device 2, the server can generate device fingerprint 2 corresponding to terminal device 2 based on the key device elements (such as IMEI and MAC address) and non-key device elements (such as device brand and device IP address of terminal device 1) collected. Thus, the server can store the correspondence between the IMEI, IDFA, device model, device OS version, screen resolution of terminal device 1 and device fingerprint 1, and store the correspondence between the IMEI, MAC address, device brand and device IP address of terminal device 2 and device fingerprint 2.
[0157] In the embodiment of the present disclosure, the server may match at least one key device element of the extracted target terminal device with each stored device fingerprint. When a stored device fingerprint successfully matches each key device element of the target terminal device, the above device fingerprint may be used as a candidate device fingerprint.
[0158] Step 504 : Determine a target device fingerprint that matches at least one non-critical device element from among the candidate device fingerprints.
[0159] In the embodiment of the present disclosure, for any candidate device fingerprint, the server may match at least one non-critical device element of the extracted target terminal device with the candidate device fingerprint. When the candidate device fingerprint successfully matches each non-critical device element, the candidate device fingerprint may be used as the target device fingerprint.
[0160] It should be noted that if the server queries for target device fingerprints that match all device elements based on all device elements extracted from the target terminal device at the same time, the query efficiency will be low. Therefore, in the present disclosure, in order to improve the query efficiency of device fingerprints, a part of the device elements, such as key device elements, can be used first to query candidate device fingerprints that match each key device element, and then determine the target device fingerprint that matches each non-key device element from the candidate device fingerprints, which can improve the query efficiency.
[0161] As an example, the server can use an inverted index method to determine a candidate device fingerprint that matches at least one key device element of the target terminal device from the stored device fingerprints. The inverted index method is: match value according to key. In the present disclosure, the device element can be used as the key and the device fingerprint can be used as the value, so that the candidate device fingerprint (value) that matches each key device element (key) can be determined from each device fingerprint according to each key device element (key).
[0162] After querying each candidate device fingerprint, the server can use a forward indexing method to determine the target device fingerprint that matches at least one non-critical device element from each candidate device fingerprint. The forward indexing method is: according to the value matching key, the server can determine the target device fingerprint that matches at least one non-critical device element (key) from each candidate device fingerprint (value).
[0163] In summary, the server can improve query efficiency by using inverted index and forward index to query the target device fingerprint that matches the target terminal device.
[0164] Step 505: When the target device fingerprint is found, respond to the target request according to the target device fingerprint, and send a first response result of the target request to the client.
[0165] The execution process of step 505 can refer to the execution process of any embodiment of the present disclosure, and will not be described in detail here.
[0166] The request processing method of the disclosed embodiment determines a candidate device fingerprint that matches at least one key device element from each device fingerprint; and determines a target device fingerprint that matches at least one non-key device element from each candidate device fingerprint. Thus, it is possible to effectively and accurately determine a target device fingerprint that matches a target terminal device from each device fingerprint according to each key device element and non-key device element.
[0167] It should be noted that the above embodiment is executed by the server when the fingerprint of the target device is queried.
[0168] On the contrary, there may also be a situation where the server fails to query the target device fingerprint, that is, the server fails to retrieve the target device fingerprint that matches the target terminal device. For example, when the target terminal device is a new device, the server has not collected the device fingerprint of the target terminal device in advance, and thus has not generated the device fingerprint corresponding to the target terminal device, nor has it stored the device fingerprint of the target terminal device. At this time, the server will not be able to query the target device fingerprint that matches the device elements of the target terminal device based on the device fingerprint of the target terminal device.
[0169] In view of the above situation, in order to clearly explain how the server processes the target request, the embodiment of the present disclosure also proposes a request processing method.
[0170] Figure 6 This is a flowchart of the request processing method provided in Embodiment 6 of the present disclosure.
[0171] like Figure 6 As shown, the request processing method may include the following steps:
[0172] Step 601, obtaining the target request sent by the client.
[0173] Step 602, extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0174] Step 603: query a target device fingerprint that matches the target terminal device based on at least one key device element and at least one non-key device element.
[0175] The execution process of steps 601 to 603 may refer to the execution process of any embodiment of the present disclosure, and will not be described in detail here.
[0176] Step 604: If the target device fingerprint is not found, respond to the target request.
[0177] In the disclosed embodiment, the server may directly respond to the target request when the target device fingerprint is not found.
[0178] As an application scenario, in a coupon marketing activity scenario, when the target request is a coupon grabbing request, if the server fails to query the target device fingerprint, it means that the user has not participated in the coupon marketing activity. Therefore, a coupon can be sent to the user, that is, the server can respond to the coupon grabbing request and send a coupon to the above-mentioned client.
[0179] As another application scenario, in the scenarios of ranking and order manipulation and credit fraud, the server can pre-count the terminal devices used by the users who manipulate the ranking and order, and count the terminal devices used by users involved in credit fraud, so as to collect the device elements of the above-mentioned terminal devices, and generate the device fingerprint of each terminal device based on the device elements of each terminal device, and store the corresponding relationship between the device fingerprint and the device element of each terminal device. If the server fails to query the fingerprint of the target device, it indicates that the user using the target terminal device is not a ranking and order manipulation user, and the user is not involved in credit fraud. Therefore, the server can respond normally to the target request sent by the client on the target terminal device.
[0180] Step 605: Send a second response result of the target request to the client.
[0181] In an embodiment of the present disclosure, after responding to the target request, the server may send a response result of the target request to the client, which is recorded as a second response result in the present disclosure.
[0182] Still using the above example to illustrate, when the target request is a coupon grabbing request, if the server fails to query the target device fingerprint, it indicates that the user has not sent a coupon grabbing request, that is, the user has not received the coupon, so the server can send a response result of the coupon grabbing request to the client, for example, it can send a coupon to the client, or send a coupon grabbing success page to the above client, etc.
[0183] The request processing method of the disclosed embodiment responds to the target request when the target device fingerprint is not found; and sends a second response result of the target request to the client. Therefore, when the target device fingerprint is not found, such as in a marketing activity scenario, it indicates that the target terminal device may be a new device that has not participated in marketing activities, or in scenarios such as ranking and order brushing, credit fraud, etc., it indicates that the user using the target terminal device is not a ranking and order brushing user, and the user is not involved in credit fraud, etc. Therefore, the server can directly respond to the target request to meet the actual needs of the user and improve the user experience.
[0184] It should be noted that when the server fails to query the target device fingerprint, not only may the target terminal device be a new device, but it may also be the case that the target terminal device operating system is upgraded or the version is updated, or the device elements of the target terminal device are tampered with by the black industry, etc., which may cause the server to extract at least one key device element and at least one non-key device element of the target terminal device from the target request. The server may include updated or modified device elements, so that when the target device fingerprint is queried based on the updated device element, the target device fingerprint that matches the updated device element cannot be queried, that is, the server fails to retrieve the target device fingerprint.
[0185] However, in some application scenarios, such as preventing fraudulent coupons and orders in marketing activities, script fraud in promotion fraud, etc., it is necessary to be able to effectively and accurately retrieve the target device fingerprint. Therefore, while ensuring the uniqueness of the device fingerprint, it is necessary to improve the stability of the device fingerprint. In a possible implementation of the embodiment of the present disclosure, the server can generate a new device fingerprint based on at least one extracted key device element and at least one non-key device element when the target device fingerprint is not queried, and the new device fingerprint can be stored in correspondence with the device element of the target terminal device. The following is combined with Figure 7 , the above process is explained in detail.
[0186] Figure 7 This is a flowchart of the request processing method provided in Embodiment 7 of the present disclosure.
[0187] like Figure 7 As shown, based on any of the above embodiments, the request processing method may further include the following steps:
[0188] Step 701, when the target device fingerprint is not found, obtain the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using device elements of different terminal devices.
[0189] It should be noted that the explanation of the collision sub-probability of the equipment elements in step 202 is also applicable to this embodiment and will not be repeated here.
[0190] In a possible implementation of the embodiment of the present disclosure, the collision sub-probability of each device element can be obtained through offline statistics of the server. For example, the server can collect device elements of different terminal devices and obtain the collision sub-probability corresponding to each device element through statistical analysis based on the collected device elements.
[0191] As an example, for each device element, the device fingerprint of each terminal device can be generated according to the device element corresponding to different terminal devices, and the number of identical device fingerprints can be counted. For example, the number of device fingerprints marked with the same number is N1, and the total number of terminal devices is N2, then the collision sub-probability of the device element is N1 / N2.
[0192] For example, for IMEI, the device fingerprint of each terminal device can be generated according to the IMEI corresponding to different terminal devices, and the number of identical device fingerprints can be counted. Then, based on the ratio of the number of identical device fingerprints to the total number of terminal devices, the probability of generating the same device fingerprint using the IMEIs of different terminal devices can be calculated, that is, the collision sub-probability of IMEI.
[0193] In the embodiment of the present disclosure, when the target device fingerprint is not found, the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element of the target terminal device can be obtained.
[0194] Step 702 : determining at least one target equipment element from at least one key equipment element and at least one non-key equipment element according to the collision sub-probability corresponding to each equipment element.
[0195] Step 703: Generate a device fingerprint of the target terminal device based on at least one target device element.
[0196] For explanations of steps 702 to 703, reference may be made to the relevant descriptions in any embodiment of the present disclosure, and will not be repeated here.
[0197] As an example, based on the uniqueness of device fingerprints, when querying device fingerprints based on the device elements {X|IMEI, MAC address, AndroidID, ...} collected by the server, assuming that the collection of each device element has an independent impact on the device fingerprint (such as EID (Equipment Identifier)), the probability that the device fingerprints are from different terminal devices (i.e., the collision probability) is:
[0198]
[0199] Among them, p(diff|X) should be less than the expected probability set, xi is the element in X, n is the number of elements contained in X, p(diff|x i ) is the collision probability corresponding to a single device element, which can be obtained by offline statistics. However, p(diff|x i ) may not be completely independent, that is, the collider probabilities of each device element may be related. Therefore, p(diff|X) cannot be obtained by simply calculating the product of the collider probabilities of each device element.
[0200] To address the above issues, for strongly correlated device elements, the device element with the highest priority (i.e., the device element with a low collision probability) can be selected from the strongly correlated device elements to generate a device fingerprint. For example, when the collected device elements include both device model and device brand, the device model can be selected to generate the device fingerprint instead of the device brand. That is, the device model among the non-critical elements can be used as the target device element, instead of the device brand as the target device fingerprint.
[0201] In addition, the number of target device fingerprints can be limited to reduce the correlation impact while increasing the reliance on device elements with low collision sub-probability.
[0202] Based on the above offline statistical information, the uniqueness of the device fingerprint can be determined. Based on the above statistical information, the element combination {Y|element combination 1, element combination 2, ..., element combination m} that meets the set expected probability can be obtained, where each element combination includes at least two device elements, that is, each device combination includes at least one key device element and a non-key device element. Then the expected stable retrieval probability corresponding to the device fingerprint, that is, the probability that the server can identify, retrieve or query the device fingerprint is:
[0203]
[0204] Among them, m is the number of element combinations contained in Y, p(y i ) is the probability of stable acquisition of a single device element, The probability of stable acquisition of a set of element combinations, where the collision probability of the set of element combinations is less than the set expected probability.
[0205] There are two main ways to increase the expected stable retrieval probability of device fingerprints:
[0206] First, improve each group The corresponding probability of stable acquisition, but the above probability of stable acquisition is mainly constrained by the acquisition capability of the terminal device, so it can be ignored.
[0207] Second, increase the number of combinations of factors whose collision probability is less than the set expected probability, that is, support more device retrieval factors.
[0208] Based on the above algorithm, the device fingerprint retrieval and generation process diagram provided by the present disclosure can be as follows: Figure 8 As shown. Among them, the process of retrieving and generating device fingerprints can include two parts, namely the online part and the offline part. In the online part, the key elements of the device are extracted from the collected device information, and the element combination (such as IMEI and MAC address) generated according to the strong iconic key device elements is initialized; in the offline part, the device elements are continuously collected from the terminal device side, wherein the device elements include key device elements and non-key device elements, and the collision sub-probability of the device elements is analyzed. The collected device elements can be dynamically added to the element combination generated by the initialized key device elements, so that each element combination includes at least one key device element and at least one non-key device element.
[0209] Among them, key equipment factors include equipment factors with strong identification and low collision rate, such as IMEI, IDFA, and UDID; non-key equipment factors include equipment factors with weak identification and high collision rate, such as equipment model, equipment brand, screen resolution, and device IP address.
[0210] It is understandable that updating the factor combination and generating a device fingerprint based on the updated factor combination can improve the stability of the device fingerprint.
[0211] In the present disclosure, the collision probability of the element combination can be calculated according to the collision sub-probability of each device element in the element combination, and the element combination that satisfies the expected probability less than the set probability is taken as the candidate element combination.
[0212] It should be noted that the smaller the collision probability of the element combination, the higher the stability of the device fingerprint generated by the device elements in the element combination. In addition, since the collision probability of the candidate element combination is less than the set expected probability, the device fingerprint generated based on the device elements in the candidate element combination has a higher stability.
[0213] In the present disclosure, the collision probabilities of the candidate element combinations can be ranked to determine the element combination with the smallest collision probability among the candidate element combinations, which is recorded as the target element combination in the present disclosure. After selecting the device element of the target element combination to generate a new device fingerprint, a corresponding relationship or index relationship can be established between the device element in the target element combination and its corresponding device fingerprint, thereby ensuring that the device fingerprint can be retrieved when the device is upgraded or updated.
[0214] In summary, the stability of the device fingerprint can be improved by continuously and dynamically updating the element combination offline; and the device fingerprint can be effectively retrieved when the terminal device is upgraded and updated by continuously and dynamically updating the device fingerprint. In addition, considering that the device fingerprint is generated based on multiple key device elements in the related technologies, but with the protection of privacy, the collection rate of key device elements is getting lower and lower, and the probability of stably collecting multiple key device elements is even lower, therefore, in the present disclosure, the device fingerprint can be generated based on both key device elements and non-key device elements, which can improve the stability of the device fingerprint.
[0215] The request processing method of the disclosed embodiment obtains the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element when the target device fingerprint is not queried, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using device elements of different terminal devices. According to the collision sub-probability corresponding to each device element, at least one target device element is determined from at least one key device element and at least one non-key device element; and the device fingerprint of the target terminal device is generated according to the at least one target device element. Therefore, when the target device fingerprint is not queried, the target device element can be determined from each device element based on the collision sub-probability of each device element, and the device fingerprint of the target terminal device can be generated according to the target device element, which can improve the stability of the device fingerprint generation result to avoid collisions in device fingerprints.
[0216] As a scenario, the request processing method is applied to a rush purchase or marketing scenario. When the target device fingerprint is queried, the server can determine whether the target terminal device has participated in marketing activities or whether the target terminal device frequently participates in marketing activities based on the target device fingerprint. If so, it can refuse to respond to the target request and send a reason for refusing to respond to the target request to the client, such as the coupon has been snapped up.
[0217] As another scenario, taking the application of the request processing method in the scenario of swiping rankings and swiping orders as an example, when the target device fingerprint is queried, the server can determine whether the target terminal device is the terminal device used by the user who swiped rankings and swiped orders based on the target device fingerprint. If so, it can refuse to respond to the target request and send a reason for refusing to respond to the target request to the client, such as abnormal purchase of goods.
[0218] As another scenario, taking the application of the request processing method in a credit fraud scenario as an example, when the target device fingerprint is queried, the server can determine whether the target terminal device is a terminal device used by a user involved in credit fraud based on the target device fingerprint. If so, it can refuse to respond to the target request and send the reason for refusing to respond to the target request to the client, such as credit abnormality.
[0219] Combine the following Fig. 9 , the above process is explained in detail.
[0220] Fig. 9 A flowchart of the request processing method provided in Embodiment 8 of the present disclosure.
[0221] like Fig. 9 As shown, the request processing method may further include the following steps:
[0222] Step 901, obtaining the target request sent by the client.
[0223] Step 902, extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0224] Step 903: query a target device fingerprint that matches the target terminal device based on at least one key device element and at least one non-key device element.
[0225] The execution process of steps 901 to 903 may refer to the execution process of any embodiment of the present disclosure, and will not be described in detail here.
[0226] Step 904 , determining whether the target device fingerprint is in the set abnormal fingerprint list, if so, executing step 906 , if not, executing step 905 .
[0227] In the disclosed embodiment, the abnormal fingerprint list may be a pre-set fingerprint list, which may include some abnormal device fingerprints. For example, the server may generate an abnormal fingerprint list based on each target request sent historically by each client.
[0228] As an example, based on the target requests historically sent by each client, if the server determines that a certain client frequently sends target requests (such as coupon grabbing requests) and successfully grabs the coupons, the server can record the device fingerprint of the terminal device where the client is located in the abnormal fingerprint list.
[0229] As another example, for each marketing campaign, if the server receives a target request sent by a client and responds to the target request, the device fingerprint of the terminal device where the client is located can also be recorded in the abnormal fingerprint list to prevent the same device from receiving coupons multiple times.
[0230] As another example, the server can pre-count the terminal devices used by users who manipulate rankings and orders, and count the terminal devices used by users involved in credit fraud, so as to collect device elements of the above-mentioned terminal devices, and generate device fingerprints of each terminal device based on the device elements of each terminal device, and record the device fingerprints of the above-mentioned terminal devices as abnormal device fingerprints in the abnormal fingerprint list.
[0231] Step 905: If the target device fingerprint is not in the abnormal fingerprint list, respond to the target request and send a first response result of the target request to the client.
[0232] In the disclosed embodiment, when the server determines that the target device fingerprint is not on the abnormal fingerprint list, it can respond to the target request and send the first response result of the target request to the client. For example, in a rush purchase or marketing scenario, a coupon collection success page can be sent to the client.
[0233] Step 906, refusing to respond to the target request.
[0234] Step 907: Send a first prompt message to the client, wherein the first prompt message is used to prompt the reason for refusing to respond to the target request.
[0235] In the disclosed embodiment, when the server determines that the target device fingerprint is on the abnormal fingerprint list, it can refuse to respond to the target request and send a first prompt message to the client, wherein the first prompt message is used to indicate the reason for refusing to respond to the target request. For example, in a rush purchase or marketing scenario, a message such as "You have received the coupon and cannot receive it again" or "The coupon has been taken away" can be sent to the client.
[0236] It should be noted that step 905 and steps 906-907 are implemented in parallel. In actual application, step 905 and steps 906-907 can be executed alternatively.
[0237] As an application scenario, in the scenario of defending against marketing cheating with coupons, the target request can be a coupon grabbing request. After receiving the coupon grabbing request sent by the client, the server can extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the coupon grabbing request, and based on the above at least one key device element and at least one non-key device element, query the target device fingerprint that matches the target terminal device. When the target device fingerprint is queried, it can be determined whether the target device fingerprint is in the set abnormal fingerprint list. After determining that the target device fingerprint is not in the set abnormal fingerprint list, it can be determined that the client has not received the coupon, and the coupon grabbing request sent by the client can be responded to, and the response result corresponding to the coupon grabbing request can be sent to the client. For example, a coupon collection success page can be sent to the client, etc.
[0238] When it is determined that the target device fingerprint is in the abnormal fingerprint list, the server can refuse to respond to the coupon request and send a prompt message to the client. For example, the server can send a prompt message to the client saying "You have already received the coupon and cannot receive it again" or "The coupon has been taken away" and so on.
[0239] The request processing method of the disclosed embodiment determines whether the target device fingerprint is in the set abnormal fingerprint list; if so, responds to the target request; if not, refuses to respond to the target request and sends a first prompt message to the client, wherein the first prompt message is used to indicate the reason for refusing to respond to the target request. Thus, the target request is responded to only when the target device fingerprint is a non-abnormal device fingerprint. For example, in a marketing scenario, responding to the target request based on the non-abnormal device fingerprint can avoid the same device from participating in marketing activities multiple times, thereby improving the fairness of users participating in marketing activities.
[0240] As an example, the request processing method is applied to shopping scenarios, payment transaction risk scenarios or account security scenarios. When the target device fingerprint is queried, the server can determine whether the payment environment of the target terminal device is abnormal based on the target device fingerprint. If so, in order to improve the security of the user account, the server can instruct the client to perform identity authentication. Only when the identity authentication is successful, the server will respond to the target request. Fig.10 , the above process is explained in detail.
[0241] Fig.10 This is a flowchart of the request processing method provided in Embodiment 9 of the present disclosure.
[0242] like Fig.10 As shown, the request processing method may further include the following steps:
[0243] Step 1001, obtaining a target request sent by a client.
[0244] Step 1002, extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0245] Step 1003: query a target device fingerprint that matches the target terminal device based on at least one key device element and at least one non-key device element.
[0246] The execution process of step 1001 to step 1003 refers to the execution process of any embodiment of the present disclosure, and will not be repeated here.
[0247] Step 1004, when the target device fingerprint is found, the number of target requests received from the client within a set time period is determined according to the target device fingerprint.
[0248] In the embodiments of the present disclosure, the set duration may be pre-set, for example, the set duration may be 0.5h (hour), 1h, 1D (day), etc., and the present disclosure does not impose any limitation on this.
[0249] In the disclosed embodiment, when the server finds the target device fingerprint, it can determine the number of target requests (such as payment requests) received from the client within a set time period based on the target device fingerprint.
[0250] Step 1005 , determine whether the number of times reaches a set number threshold, if not, execute step 1006 , if yes, execute step 1007 .
[0251] In the embodiment of the present disclosure, the set number threshold may be pre-set, for example, the set number threshold may be 3 times, 4 times, etc., and the present disclosure does not impose any limitation on this.
[0252] It should be noted that, in actual applications, the set number threshold may be adjusted according to actual application scenarios or application requirements, and the present disclosure does not impose any limitation on this.
[0253] Step 1006, respond to the target request and send a first response result of the target request to the client.
[0254] In the embodiment of the present disclosure, when the number of target requests received by the server from the client within the set time period does not reach the set number threshold, it indicates that there is no abnormality in the payment environment of the target terminal device. At this time, the server can respond to the target request and can send a first response result of the target request to the client. For example, the first response result can be a payment success page.
[0255] Step 1007: Send instruction information to the client, where the instruction information is used to instruct the client to perform identity authentication.
[0256] In the embodiment of the present disclosure, when the number of target requests received by the server from the client within a set time reaches the number threshold, it indicates that the payment environment of the target terminal device may be abnormal. At this time, the server can send an indication message to the client, wherein the indication message can be used to instruct the client to perform identity authentication. For example, the indication message can be: Please perform face authentication; or, in a password-free payment scenario, the indication message can be: Please enter the payment password for identity authentication.
[0257] Step 1008: Receive identity authentication information sent by the client.
[0258] In the disclosed embodiment, after receiving the indication information, the client may send identity authentication information (such as face authentication information, fingerprint authentication information, password authentication information, etc.) to the server. Correspondingly, the server may receive the identity authentication information sent by the client.
[0259] Step 1009, when it is determined based on the identity authentication information that the client authentication is successful, respond to the target request and send a first response result of the target request to the client.
[0260] In the embodiment of the present disclosure, after receiving the identity authentication information, the server can determine whether the client has passed the authentication based on the identity authentication information. If the server determines that the client has passed the authentication, it can respond to the target request sent by the client and send the first response result of the target request to the client.
[0261] In a possible implementation of the disclosed embodiment, when the server determines that the client authentication fails, in order to improve the security of the user account, the server may refuse to respond to the target request and send a second prompt message to the client, wherein the second prompt message is used to indicate the reason for refusing to respond to the target request. For example, the second prompt message may be payment authentication failure, identity authentication failure, etc.
[0262] It should be noted that step 1006 and steps 1007-1009 are implemented in parallel. In actual application, step 1006 and steps 1007-1009 can be executed one by one.
[0263] The request processing method of the disclosed embodiment determines the number of target requests received from the client within a set time period according to the target device fingerprint; responds to the target request when the number does not reach the set number threshold, and instructs the client to perform identity authentication when the number reaches the set number threshold. Thus, it can be achieved, for example, in a payment scenario, to identify whether the payment environment of the target terminal device is abnormal, and respond to the target request only when no abnormality occurs, which can improve the security of the user account and the user experience.
[0264] With the above Figures 1 to 3 Corresponding to the method for generating device fingerprints provided in the embodiment, the present disclosure also provides a device for generating device fingerprints. Figures 1 to 3 The method for generating the device fingerprint provided in the embodiment corresponds to the method for generating the device fingerprint, so the implementation of the method for generating the device fingerprint is also applicable to the device for generating the device fingerprint provided in the embodiment of the present disclosure, and will not be described in detail in the embodiment of the present disclosure.
[0265] Fig.11This is a schematic diagram of the structure of the device fingerprint generation apparatus provided in the tenth embodiment of the present disclosure.
[0266] like Fig.11 As shown, the device fingerprint generation apparatus 1100 may include: an acquisition module 1101 and a generation module 1102 .
[0267] Among them, the acquisition module 1101 is used to obtain at least one key equipment element and at least one non-key equipment element of the target terminal device; wherein the probability that different terminal devices have the same key equipment element is lower than a threshold, and the probability that different terminal devices have the same non-key equipment element is higher than a threshold.
[0268] The generating module 1102 is used to generate a device fingerprint of a target terminal device according to at least one key device element and at least one non-key device element.
[0269] In a possible implementation of the embodiment of the present disclosure, the generation module 1102 is used to: obtain the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using device elements of different terminal devices; determine at least one target device element from at least one key device element and at least one non-key device element based on the collision sub-probability corresponding to each device element; and generate a device fingerprint of the target terminal device based on the at least one target device element.
[0270] In a possible implementation of the embodiment of the present disclosure, the generation module 1102 is used to: generate at least one element combination based on at least one key equipment element and at least one non-key equipment element, wherein each element combination includes at least one key equipment element and at least one non-key equipment element; for each element combination, determine the collision probability of the corresponding element combination based on the collision sub-probability corresponding to each equipment element in the corresponding element combination; determine a target element combination from each element combination based on the collision probability of each element combination; and use each element in the target element combination as a target equipment element.
[0271] In a possible implementation of the embodiment of the present disclosure, the generation module 1102 is used to: determine a candidate element combination from each element combination based on the collision probability of each element combination, wherein the collision probability of the candidate element combination is less than a set expected probability; and determine a target element combination from each candidate element combination based on the collision probability of each candidate element combination.
[0272] In a possible implementation of the embodiment of the present disclosure, the generation module 1102 is used to: use the candidate element combination with the smallest collision probability as the target element combination.
[0273] In a possible implementation of the embodiment of the present disclosure, the device fingerprint generating apparatus 1100 may further include:
[0274] The storage module is used to store the corresponding relationship between at least one target device element and the device fingerprint of the target terminal device.
[0275] In a possible implementation of the embodiment of the present disclosure, the device fingerprint generating apparatus 1100 may further include:
[0276] The collection module is used to periodically collect at least one device element of the target terminal device where the client is located, wherein the at least one device element includes a key device element and / or a non-key device element.
[0277] An updating module is used to update at least one target device element according to the candidate device element when there is a candidate device element in at least one device element; wherein the product of the collision sub-probability of the candidate device element and the collision sub-probability of at least one target device element is less than a set expected probability.
[0278] The device fingerprint generation device of the disclosed embodiment obtains at least one key device element and at least one non-key device element of the target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold; and generates the device fingerprint of the target terminal device based on the at least one key device element and the at least one non-key device element. Thus, the device fingerprint corresponding to the target terminal device can be generated based on each key device element and each non-key device element of the target terminal device at the same time, which can improve the stability of the device fingerprint.
[0279] With the above Figures 4 to 10 Corresponding to the request processing method provided in the embodiment, the present disclosure also provides a request processing device. Figures 4 to 10 The request processing method provided in the embodiment corresponds to the request processing method, so the implementation of the request processing method is also applicable to the request processing device provided in the embodiment of the present disclosure, and will not be described in detail in the embodiment of the present disclosure.
[0280] Fig.12 This is a schematic diagram of the structure of the request processing device provided in the eleventh embodiment of the present disclosure.
[0281] like Fig.12 As shown, the request processing device 1200 may include: a first acquisition module 1201 , an extraction module 1202 , a query module 1203 , a first response module 1204 and a first sending module 1205 .
[0282] The first acquisition module 1201 is used to acquire the target request sent by the client.
[0283] The extraction module 1202 is used to extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold.
[0284] The query module 1203 is used to query the target device fingerprint matching the target terminal device based on at least one key device element and at least one non-key device element.
[0285] The first response module 1204 is used to respond to the target request according to the target device fingerprint when the target device fingerprint is queried.
[0286] The first sending module 1205 is used to send a first response result of the target request to the client.
[0287] In a possible implementation of the embodiment of the present disclosure, the query module 1203 is used to: determine a candidate device fingerprint that matches at least one key device element from each device fingerprint; and determine a target device fingerprint that matches at least one non-key device element from each candidate device fingerprint.
[0288] In a possible implementation of the embodiment of the present disclosure, the request processing device 1200 may further include:
[0289] The second response module is used to respond to the target request when the target device fingerprint is not found.
[0290] The second sending module is used to send a second response result of the target request to the client.
[0291] In a possible implementation of the embodiment of the present disclosure, the request processing device 1200 may further include:
[0292] The second acquisition module is used to obtain the collision sub-probability corresponding to each device element in at least one key device element and at least one non-key device element when the target device fingerprint is not queried, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using device elements of different terminal devices.
[0293] The determination module is used to determine at least one target equipment element from at least one key equipment element and at least one non-key equipment element according to the collision sub-probability corresponding to each equipment element.
[0294] A generation module is used to generate a device fingerprint of a target terminal device based on at least one target device element.
[0295] In a possible implementation of the embodiments of the present disclosure, a determination module is used to: generate at least one element combination based on at least one key equipment element and at least one non-key equipment element, wherein each element combination includes at least one key equipment element and at least one non-key equipment element; for each element combination, determine the collision probability of the corresponding element combination based on the collision sub-probability corresponding to each equipment element in the corresponding element combination; determine a target element combination from each element combination based on the collision probability of each element combination; and use each element in the target element combination as a target equipment element.
[0296] In a possible implementation of the embodiment of the present disclosure, the determination module is also used to: determine a candidate element combination from each element combination based on the collision probability of each element combination, wherein the collision probability of the candidate element combination is less than a set expected probability; and determine a target element combination from each candidate element combination based on the collision probability of each candidate element combination.
[0297] In a possible implementation manner of the embodiment of the present disclosure, the determination module is further configured to: use the candidate element combination with the smallest collision probability as the target element combination.
[0298] In a possible implementation of the embodiment of the present disclosure, the request processing device 1200 may further include:
[0299] The storage module is used to store the corresponding relationship between at least one target device element and the device fingerprint of the target terminal device.
[0300] In a possible implementation of the embodiment of the present disclosure, the request processing device 1200 may further include:
[0301] A collection module, used for periodically collecting at least one device element of a target terminal device where the client is located, wherein the at least one device element includes a key device element and / or a non-key device element;
[0302] An updating module is used to update at least one target device element according to the candidate device element when there is a candidate device element in at least one device element; wherein the product of the collision sub-probability of the candidate device element and the collision sub-probability of at least one target device element is less than a set expected probability.
[0303] In a possible implementation of the embodiment of the present disclosure, the first response module is used to: determine whether the target device fingerprint is located in a set abnormal fingerprint list; if the target device fingerprint is not located in the abnormal fingerprint list, respond to the target request.
[0304] In a possible implementation of the embodiment of the present disclosure, the request processing device 1200 may further include:
[0305] A first rejection module, configured to refuse to respond to a target request if the target device fingerprint is in the abnormal fingerprint list;
[0306] The third sending module is used to send first prompt information to the client, wherein the first prompt information is used to prompt the reason for refusing to respond to the target request.
[0307] In a possible implementation of the embodiment of the present disclosure, the first response module 1204 is used to: determine the number of target requests received from the client within a set time period based on the target device fingerprint; and respond to the target request if the number does not reach a set threshold.
[0308] In a possible implementation of the embodiment of the present disclosure, the request processing device 1200 may further include:
[0309] The fourth sending module is used to send indication information to the client when the number of times reaches the number threshold, wherein the indication information is used to instruct the client to perform identity authentication.
[0310] The receiving module is used to receive the identity authentication information sent by the client.
[0311] The third response module is used to respond to the target request when it is determined that the client authentication is successful based on the identity authentication information.
[0312] In a possible implementation of the embodiment of the present disclosure, the request processing device 1200 may further include:
[0313] The second rejection module is used to refuse to respond to the target request when it is determined that the client authentication fails according to the identity authentication information.
[0314] The fifth sending module is used to send second prompt information to the client, wherein the second prompt information is used to prompt the reason for refusing to respond to the target request.
[0315] The request processing device of the disclosed embodiment obtains the target request sent by the client; extracts at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than a threshold; based on at least one key device element and at least one non-key device element, queries the target device fingerprint that matches the target terminal device; in the case of querying the target device fingerprint, responds to the target request based on the target device fingerprint, and sends the first response result of the target request to the client. Thus, according to each key device element and each non-key device element of the target terminal device, the device fingerprint corresponding to the target terminal device is identified, which can improve the accuracy and reliability of the device fingerprint identification result, so as to respond to the target request sent by the client based on the accurate device fingerprint, which can improve the accuracy and reliability of the response result.
[0316] In order to implement the above embodiments, the present disclosure also proposes an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the request processing method proposed in any of the above embodiments of the present disclosure is implemented.
[0317] In order to implement the above embodiments, the present disclosure further proposes a non-temporary computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the request processing method proposed in any of the above embodiments of the present disclosure is implemented.
[0318] In order to implement the above embodiments, the present disclosure further proposes a computer program product. When instructions in the computer program product are executed by a processor, the request processing method proposed in any of the above embodiments of the present disclosure is executed.
[0319] Fig.13 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present disclosure is shown. Fig.13 The electronic device 12 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0320] like Fig.13 As shown, the electronic device 12 is in the form of a general purpose computing device. The components of the electronic device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that connects various system components (including the system memory 28 and the processing unit 16).
[0321] The bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor or a local bus using any of a variety of bus structures. For example, these architectures include but are not limited to Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, Enhanced ISA bus, Video Electronics Standards Association (VESA) local bus and Peripheral Component Interconnection (PCI) bus.
[0322] The electronic device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the electronic device 12, including volatile and non-volatile media, removable and non-removable media.
[0323] The memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The electronic device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Fig.13 not shown, usually called a "hard drive"). Although Fig.13 Not shown in the figure, a disk drive for reading and writing a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing a removable non-volatile optical disk (e.g., a compact disc read only memory (CD-ROM), a digital versatile disc read only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the various embodiments of the present disclosure.
[0324] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in the memory 28, such program modules 42 including but not limited to an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. The program modules 42 generally perform the functions and / or methods of the embodiments described in the present disclosure.
[0325] The electronic device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), one or more devices that enable a user to interact with the electronic device 12, and / or any device that enables the electronic device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). Such communication may be performed through an input / output (I / O) interface 22. Furthermore, the electronic device 12 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 20. Fig.13 As shown, the network adapter 20 communicates with other modules of the electronic device 12 via the bus 18. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the electronic device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0326] The processing unit 16 executes various functional applications and data processing by running programs stored in the system memory 28, such as implementing the methods mentioned in the above embodiments.
[0327] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.
[0328] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of the present disclosure, "plurality" means at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0329] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present disclosure includes additional implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present disclosure belong.
[0330] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute the instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.
[0331] It should be understood that the various parts of the present disclosure can be implemented in hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used to implement: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0332] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.
[0333] In addition, each functional unit in each embodiment of the present disclosure may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0334] The storage medium mentioned above may be a read-only memory, a disk or an optical disk, etc. Although the embodiments of the present disclosure have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations of the present disclosure. A person of ordinary skill in the art may change, modify, replace and modify the above embodiments within the scope of the present disclosure.
Claims
1. A method for generating a device fingerprint, characterized in that: The method comprises: Acquire at least one key device element and at least one non-key device element of a target terminal device; wherein, the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than the threshold, and the device element whose probability that different terminal devices have the same device element is lower than the threshold is used as the key device element, and the device element whose probability that different terminal devices have the same device element is higher than the threshold is used as the non-key device element; Generating a device fingerprint of the target terminal device according to the at least one key device element and the at least one non-key device element; The step of generating a device fingerprint of the target terminal device according to the at least one key device element and the at least one non-key device element includes: Obtaining a collision sub-probability corresponding to each of the at least one key device element and the at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using the device elements of different terminal devices; Generating at least one element combination according to the at least one key equipment element and the at least one non-key equipment element, wherein each of the element combinations includes at least one key equipment element and at least one non-key equipment element; For each element combination, the collision probability of the corresponding element combination is determined according to the collision sub-probability corresponding to each device element in the corresponding element combination; Determining a target element combination from among the element combinations according to the collision probability of the element combinations; taking each element in the target element combination as a target device element; A device fingerprint of the target terminal device is generated according to the at least one target device element.
2. The method according to claim 1, characterized in that The step of determining a target element combination from each element combination according to the collision probability of each element combination includes: Determining a candidate element combination from the element combinations according to the collision probability of the element combinations, wherein the collision probability of the candidate element combination is less than a set expected probability; The target element combination is determined from the candidate element combinations according to the collision probability of the candidate element combinations.
3. The method according to claim 2, characterized in that The step of determining the target element combination from the candidate element combinations according to the collision probability of the candidate element combinations includes: The candidate element combination with the smallest collision probability is used as the target element combination.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: The correspondence between the at least one target device element and the device fingerprint of the target terminal device is saved.
5. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: Periodically collecting at least one device element of the target terminal device, wherein the at least one device element includes a key device element and / or a non-key device element; In the case where there is a candidate device element in the at least one device element, the at least one target device element is updated according to the candidate device element; wherein the product of the collision sub-probability of the candidate device element and the collision sub-probability of the at least one target device element is less than a set expected probability.
6. A request processing method, characterized in that: The method comprises: Get the target request sent by the client; Extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than the threshold, and the device element whose probability that different terminal devices have the same device element is lower than the threshold is used as the key device element, and the device element whose probability that different terminal devices have the same device element is higher than the threshold is used as the non-key device element; querying a target device fingerprint matching the target terminal device according to the at least one key device element and the at least one non-key device element; In the case where the target device fingerprint is queried, responding to the target request according to the target device fingerprint, and sending a first response result of the target request to the client; The method further comprises: If the target device fingerprint is not found, respond to the target request; Sending a second response result of the target request to the client; In the case where the target device fingerprint is not found, obtaining a collision sub-probability corresponding to each of the at least one key device element and the at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using the device elements of different terminal devices; Determining at least one target equipment element from the at least one key equipment element and the at least one non-key equipment element according to the collision sub-probability corresponding to each of the equipment elements; Generating a device fingerprint of the target terminal device according to the at least one target device element; The determining, according to the collision sub-probabilities corresponding to the equipment elements, at least one target equipment element from the at least one key equipment element and the at least one non-key equipment element comprises: Generating at least one element combination according to the at least one key equipment element and the at least one non-key equipment element, wherein each of the element combinations includes at least one key equipment element and at least one non-key equipment element; For each element combination, the collision probability of the corresponding element combination is determined according to the collision sub-probability corresponding to each device element in the corresponding element combination; Determining a target element combination from among the element combinations according to the collision probability of the element combinations; Each element in the target element combination is used as the target device element.
7. The method according to claim 6, characterized in that The querying of a target device fingerprint matching the target terminal device according to the at least one key device element and the at least one non-key device element includes: Determining, from among the device fingerprints, a candidate device fingerprint that matches the at least one key device element; A target device fingerprint matching the at least one non-critical device element is determined from each of the candidate device fingerprints.
8. The method according to claim 6, characterized in that The responding to the target request according to the target device fingerprint includes: Determine whether the target device fingerprint is in a set abnormal fingerprint list; If the target device fingerprint is not in the abnormal fingerprint list, respond to the target request.
9. The method according to claim 8, characterized in that The method further comprises: If the target device fingerprint is in the abnormal fingerprint list, refusing to respond to the target request; Sending first prompt information to the client, wherein the first prompt information is used to prompt the reason for refusing to respond to the target request.
10. The method according to claim 6, characterized in that The responding to the target request according to the target device fingerprint includes: Determining the number of target requests received from the client within a set time period according to the target device fingerprint; When the number of times does not reach the set number threshold, the target request is responded to.
11. The method according to claim 10, characterized in that The method further comprises: When the number of times reaches the number threshold, sending indication information to the client, wherein the indication information is used to instruct the client to perform identity authentication; Receiving identity authentication information sent by the client; When it is determined that the client authentication is successful based on the identity authentication information, a response is made to the target request.
12. The method according to claim 11, characterized in that The method further comprises: If it is determined according to the identity authentication information that the client authentication has not passed, refusing to respond to the target request; Sending second prompt information to the client, wherein the second prompt information is used to prompt the reason for refusing to respond to the target request.
13. A device for generating a device fingerprint, characterized in that: The device comprises: an acquisition module, used to acquire at least one key device element and at least one non-key device element of a target terminal device; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than the threshold, and the device element whose probability that different terminal devices have the same device element is lower than the threshold is used as the key device element, and the device element whose probability that different terminal devices have the same device element is higher than the threshold is used as the non-key device element; A generating module, configured to generate a device fingerprint of the target terminal device according to the at least one key device element and the at least one non-key device element; The step of generating a device fingerprint of the target terminal device according to the at least one key device element and the at least one non-key device element includes: Obtaining a collision sub-probability corresponding to each of the at least one key device element and the at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using the device elements of different terminal devices; Generating at least one element combination according to the at least one key equipment element and the at least one non-key equipment element, wherein each of the element combinations includes at least one key equipment element and at least one non-key equipment element; For each element combination, the collision probability of the corresponding element combination is determined according to the collision sub-probability corresponding to each device element in the corresponding element combination; Determining a target element combination from among the element combinations according to the collision probability of the element combinations; taking each element in the target element combination as a target device element; A device fingerprint of the target terminal device is generated according to the at least one target device element.
14. A request processing device, characterized in that: The device comprises: A first acquisition module, used to acquire a target request sent by a client; An extraction module, used to extract at least one key device element and at least one non-key device element of the target terminal device where the client is located from the target request; wherein the probability that different terminal devices have the same key device element is lower than a threshold, and the probability that different terminal devices have the same non-key device element is higher than the threshold, and the device element whose probability that different terminal devices have the same device element is lower than the threshold is used as the key device element, and the device element whose probability that different terminal devices have the same device element is higher than the threshold is used as the non-key device element; A query module, configured to query a target device fingerprint matching the target terminal device according to the at least one key device element and the at least one non-key device element; A first response module, configured to respond to the target request according to the target device fingerprint when the target device fingerprint is found; A first sending module, used for sending a first response result of the target request to the client; The device also includes: If the target device fingerprint is not found, respond to the target request; Sending a second response result of the target request to the client; In the case where the target device fingerprint is not found, obtaining a collision sub-probability corresponding to each of the at least one key device element and the at least one non-key device element, wherein the collision sub-probability of the device element is used to characterize the probability of generating the same device fingerprint using the device elements of different terminal devices; Determining at least one target equipment element from the at least one key equipment element and the at least one non-key equipment element according to the collision sub-probability corresponding to each of the equipment elements; Generating a device fingerprint of the target terminal device according to the at least one target device element; The determining, according to the collision sub-probabilities corresponding to the equipment elements, at least one target equipment element from the at least one key equipment element and the at least one non-key equipment element comprises: Generating at least one element combination according to the at least one key equipment element and the at least one non-key equipment element, wherein each of the element combinations includes at least one key equipment element and at least one non-key equipment element; For each element combination, the collision probability of the corresponding element combination is determined according to the collision sub-probability corresponding to each device element in the corresponding element combination; Determining a target element combination from among the element combinations according to the collision probability of the element combinations; Each element in the target element combination is used as the target device element.
15. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method of any one of claims 1-5, or execute the method of any one of claims 6-12.
16. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to enable the computer to execute the method according to any one of claims 1 to 5, or to execute the method according to any one of claims 6 to 12.
Citation Information
Patent Citations
Equipment fingerprint generation method, device and equipment and medium
CN111400695A
Equipment fingerprint generation method and device, equipment and storage medium
CN111478986A
Data communication method and device, electronic equipment and storage medium
CN113672897A
Access request verification method and device, storage medium and server
CN114928452A