Equipment fingerprint generation method and device, electronic equipment and computer readable medium
By receiving device fingerprint generation requests, obtaining the device's factors and generating device fingerprints based on weight scores, the problem of poor uniqueness and stability of device fingerprints is solved, and more efficient device identification and risk control strategy implementation is achieved.
Patent Information
- Application Number
- CN202411492014.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-24
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2044-10-24
AI Technical Summary
The uniqueness and stability of existing equipment fingerprints lead to collision and tampering of equipment fingerprints, interfering with the implementation of business risk control strategies.
By receiving the device fingerprint generation request, the first level factor and the second level factor of the device are obtained, the device fingerprint is generated based on the weight score, and the final device fingerprint is determined.
It improves the uniqueness and stability of equipment fingerprints and reduces the interference and obstacles caused by equipment fingerprints to the implementation of business risk control strategies.
Smart Images

Figure CN119397517A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a device fingerprint generation method, apparatus, electronic device and computer-readable medium. Background Art
[0002] The device fingerprint is the unique identifier of the device, which is mainly used to identify and verify the identity of the user's device. With the rapid development of the network black and gray industry chain, device fingerprints have been widely used in various business risk control scenarios, and their stability and uniqueness are becoming more and more important. At present, on the one hand, due to reasons such as manufacturer restrictions on collection and missing factors during the collection process, different physical devices are easily assigned the same device fingerprint, that is, fingerprint collision occurs. On the other hand, because device-related parameters are easy to change and can be easily tampered with, the same physical device corresponds to different device fingerprints. The poor uniqueness and stability of device fingerprints bring certain interference and obstacles to the implementation of business risk control strategies. Summary of the invention
[0003] In view of this, the embodiments of the present application provide a device fingerprint generation method, apparatus, electronic device and computer-readable medium, which can solve the problem that the uniqueness and stability of existing device fingerprints are poor, which brings certain interference and obstacles to the implementation of business risk control strategies.
[0004] To achieve the above object, according to one aspect of an embodiment of the present application, a method for generating a device fingerprint is provided, comprising:
[0005] Receive a device fingerprint generation request, and obtain a first level factor and a second level factor corresponding to the corresponding device;
[0006] generating a first device fingerprint based on the first level factor and the first weight score;
[0007] Matching the first device fingerprint with the preset fingerprint list, generating a second device fingerprint based on the second level factor and the second weight score in response to a successful match, and outputting the second device fingerprint; in response to an unsuccessful match, matching the first device fingerprint with an existing device fingerprint on the server, thereby obtaining matching result data;
[0008] Performing a comparison process based on the second level factor, the second weight score, and the server-side data corresponding to the existing device fingerprint on the server, thereby generating a similarity score;
[0009] Based on the matching result data and similarity score, the output device fingerprint is determined.
[0010] Optionally, determining an output device fingerprint based on the matching result data and the similarity score includes:
[0011] If the matching result data corresponds to a successful match, in response to the similarity score being greater than a preset threshold, outputting a first device fingerprint, and in response to the similarity score being less than the preset threshold, generating a second device fingerprint based on a second level factor and a second weight score, and outputting the second device fingerprint;
[0012] If the matching result data corresponds to an unsuccessful match, in response to the similarity score being greater than a preset threshold, a retrieval process for the first device fingerprint is executed on the server side, and the retrieved first device fingerprint is output; in response to the similarity score being less than the preset threshold, the first device fingerprint is output.
[0013] Optionally, generating a first device fingerprint includes:
[0014] Match the preset factor list with the first-level factors, and set the first weight score for the unmatched first-level factors;
[0015] A first device fingerprint is generated based on the unmatched first level factors and the corresponding first weight scores.
[0016] Optionally, performing a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server to generate a similarity score includes:
[0017] The second level factor and the second weight score are similarly calculated with the server data corresponding to the existing device fingerprint on the server to obtain a similarity score.
[0018] Optionally, generating a first device fingerprint based on the first level factor and the first weight score includes:
[0019] Based on each factor in the first level factor and a first weight score corresponding to each factor, a combined hash function is used to calculate a corresponding first device fingerprint.
[0020] Optionally, the method further comprises:
[0021] The output device fingerprint is stored on the server and sent to the client.
[0022] In addition, the present application also provides a device fingerprint generation device, including:
[0023] A receiving unit is configured to receive a device fingerprint generation request and obtain a first level factor and a second level factor corresponding to a corresponding device;
[0024] a device fingerprint generating unit configured to generate a first device fingerprint based on the first level factor and the first weight score;
[0025] A matching unit is configured to match the first device fingerprint with a preset fingerprint list, generate a second device fingerprint based on the second level factor and the second weight score in response to a successful match, and output the second device fingerprint; in response to an unsuccessful match, match the first device fingerprint with an existing device fingerprint on the server, and thereby obtain matching result data;
[0026] a score generating unit configured to perform a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server, thereby generating a similarity score;
[0027] The device fingerprint determination unit is configured to determine the output device fingerprint according to the matching result data and the similarity score.
[0028] Optionally, the device fingerprint determination unit is further configured to:
[0029] If the matching result data corresponds to a successful match, in response to the similarity score being greater than a preset threshold, outputting a first device fingerprint, and in response to the similarity score being less than the preset threshold, generating a second device fingerprint based on a second level factor and a second weight score, and outputting the second device fingerprint;
[0030] If the matching result data corresponds to an unsuccessful match, in response to the similarity score being greater than a preset threshold, a retrieval process for the first device fingerprint is executed on the server side, and the retrieved first device fingerprint is output; in response to the similarity score being less than the preset threshold, the first device fingerprint is output.
[0031] Optionally, the device fingerprint generation unit is further configured to:
[0032] Match the preset factor list with the first-level factors, and set the first weight score for the unmatched first-level factors;
[0033] A first device fingerprint is generated based on the unmatched first level factors and the corresponding first weight scores.
[0034] Optionally, the score generating unit is further configured to:
[0035] The second level factor and the second weight score are similarly calculated with the server data corresponding to the existing device fingerprint on the server to obtain a similarity score.
[0036] Optionally, the device fingerprint generation unit is further configured to:
[0037] Based on each factor in the first level factor and a first weight score corresponding to each factor, a combined hash function is used to calculate a corresponding first device fingerprint.
[0038] Optionally, the device further includes a sending unit configured to:
[0039] The output device fingerprint is stored on the server and sent to the client.
[0040] In addition, the present application also provides an electronic device for generating a device fingerprint, including: one or more processors; a storage device for storing one or more programs, when the one or more programs are executed by one or more processors, the one or more processors implement the device fingerprint generation method as described above.
[0041] In addition, the present application also provides a computer-readable medium on which a computer program is stored, and when the program is executed by a processor, the device fingerprint generation method as described above is implemented.
[0042] To achieve the above objective, according to another aspect of the embodiments of the present application, a computer program product is provided.
[0043] A computer program product according to an embodiment of the present application includes a computer program, and when the program is executed by a processor, the device fingerprint generation method provided in the embodiment of the present application is implemented.
[0044] One embodiment of the above invention has the following advantages or beneficial effects: the present application obtains the first level factor and the second level factor corresponding to the corresponding device by receiving a device fingerprint generation request; generates a first device fingerprint based on the first level factor and the first weight score; matches the first device fingerprint with the preset fingerprint list, and in response to a successful match, generates a second device fingerprint based on the second level factor and the second weight score, and outputs the second device fingerprint; in response to an unsuccessful match, matches the first device fingerprint with the existing device fingerprint on the server, thereby obtaining matching result data; performs a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server, thereby generating a similarity score; determines the output device fingerprint based on the matching result data and the similarity score. This improves the uniqueness and stability of the generated device fingerprint, and reduces the interference and obstruction caused by the device fingerprint to the implementation of the business risk control strategy.
[0045] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] The accompanying drawings are used to better understand the present application and do not constitute an improper limitation on the present application.
[0047] Figure 1 It is a schematic diagram of the main process of a method for generating a device fingerprint according to an embodiment of the present application;
[0048] Figure 2It is a schematic diagram of the main process of a method for generating a device fingerprint according to an embodiment of the present application;
[0049] Figure 3 It is a schematic diagram of the main process of a device fingerprint generation method according to an embodiment of the present application;
[0050] Figure 4 is a schematic diagram of the main units of the device fingerprint generation apparatus according to an embodiment of the present application;
[0051] Figure 5 is an exemplary system architecture diagram to which the embodiments of the present application can be applied;
[0052] Figure 6 It is a structural diagram of a computer system of a terminal device or server suitable for implementing an embodiment of the present application. DETAILED DESCRIPTION
[0053] The following is a description of the exemplary embodiments of the present application in conjunction with the accompanying drawings, including various details of the embodiments of the present application to facilitate understanding, and they should be considered as merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present application. Similarly, for the sake of clarity and conciseness, the description of known functions and structures is omitted in the following description. It should be noted that the acquisition, transmission, storage, use, and processing of data in the technical solution of the present application are in compliance with the relevant provisions of national laws and regulations. It should be noted that in the embodiments of the present application, certain software, components, models, and other existing solutions in the industry may be mentioned, which should be considered as exemplary, and their purpose is only to illustrate the feasibility of the implementation of the technical solution of the present application, but it does not mean that the applicant has or must have used the solution. In the technical solution of the present application, the collection, analysis, use, transmission, storage, and other aspects of the user's personal information involved are in compliance with the provisions of relevant laws and regulations, and are used for legal and reasonable purposes, and are not shared, leaked, or sold outside of these legal uses, and are subject to supervision and management by regulatory authorities. Take necessary measures to prevent illegal access to such personal information, ensure that persons with access to personal information comply with relevant laws and regulations, and ensure the security of personal information. Once such personal information is no longer needed, risks should be minimized by limiting or even prohibiting data collection and / or deleting data.
[0054] When used, including in certain related applications, user privacy is protected by de-identifying data, such as by removing specific identifiers when used, controlling the amount or specificity of data stored, controlling how data is stored, and / or other methods of de-identification.
[0055] Figure 1 FIG. 1 is a schematic diagram of the main process of a method for generating a device fingerprint according to an embodiment of the present application. Figure 1 As shown, the device fingerprint generation method mainly includes the following steps S101 to S105.
[0056] Step S101: receiving a device fingerprint generation request, and obtaining a first level factor and a second level factor corresponding to a corresponding device.
[0057] In the embodiment of the present application, AndroidID is a globally unique hexadecimal string generated by each device when it is first started in the Android operating system. IDFA is an identifier on Apple iOS devices. OAID is a device identifier launched by Chinese manufacturers in response to GDPR (European General Data Protection Regulation) and the increasing concern about user privacy, helping developers and service providers to identify and track different devices without violating user privacy. MAC address: a hardware address used to uniquely identify a network device, such as a network interface of a computer, router or switch. IMEI is the abbreviation of International Mobile Equipment Identity, which is a globally unique serial number assigned to all mobile communication devices. Its main purpose is to identify and track mobile phone devices in GSM, UMTS and LTE networks. IMSI is the International Mobile Subscriber Identity, which is a number used to uniquely identify mobile network users in GSM, UMTS and LTE cellular networks. Hash function: also known as a hash function, is a function that converts an input of arbitrary length (also called a pre-map or message) into a fixed-length output. The goal of hash function design is to make a small change in the input data lead to a large range of changes in the output data, and this change should be irreversible, that is, it is difficult to infer the original input from the output (within a reasonable time). Combined hash function: It can support setting different weights for different factors and output the results.
[0058] In this embodiment, the execution subject of the device fingerprint generation method (for example, a server) can receive the device fingerprint generation request through a wired connection or a wireless connection. The first-level factors of the device corresponding to the device fingerprint generation request may include system-level factors and device-level factors, and the second-level factors of the device may include application-level factors, APP-level factors, and user-level factors.
[0059] For example, system-level factors: AndroidID, IDFA, OAID, etc., are generally used to distinguish different devices and to generate device fingerprints. Device-level factors: MAC, IMEI, IMSI, etc., are the same as system-level factors and are used to generate device fingerprints. Application-level factors: device model, device operating system, used to generate or retrieve device fingerprints. APP-level factors: The files generated by the probe SDK for each APP on each device are placed in the APP directory, including APP version number, SDK version number and other information, which are used to generate or retrieve device fingerprints. User-level factors: mobile phone number, ID number, etc., are used to generate or retrieve device fingerprints.
[0060] Step S102: Generate a first device fingerprint based on the first level factor and the first weight score.
[0061] Specifically, generating the first device fingerprint includes: matching the preset factor list with the first-level factors, setting a first weight score for the unmatched first-level factors; and generating the first device fingerprint based on the unmatched first-level factors and the corresponding first weight scores.
[0062] For example, a certain priority, ie, a first weight score, is set for the system-level factor and the device-level factor to calculate the device fingerprint.
[0063] First, a different weight score is set for different factors, that is, a first weight score. After the first weight score is set, a combined hash function is used to calculate the device fingerprint.
[0064] For example, the priority order is IMEI>IDFA / AndroidID>OAID>MAC>IMSI, and the first weight scores can be set to 40%, 30%, 18%, 12%, and 10%, respectively, that is, the first weight scores can be set to 0.4, 0.3, 0.18, 0.12, and 0.1, respectively.
[0065] The calculation method of the first device fingerprint can be as follows:
[0066] [(IMEI*0.4)+(IDFA / AndroidID*0.3)+(OAID*0.18)+(MAC*0.12)+(IMSI*0.1)]*100.
[0067] Step S103, matching the first device fingerprint with a preset fingerprint list, generating a second device fingerprint based on the second level factor and the second weight score in response to a successful match, and outputting the second device fingerprint; in response to an unsuccessful match, matching the first device fingerprint with an existing device fingerprint on the server, and obtaining matching result data.
[0068] A preset fingerprint list, such as a fingerprint blacklist, is used to establish a blacklist for device fingerprints. The device fingerprints included in the fingerprint blacklist are usually confirmed or have a high probability of being duplicate device fingerprints. This part of the list is added through daily operations. If the first device fingerprint generated based on the first-level factor (such as the system-level factor and the device-level factor) is in the preset fingerprint list (i.e., the fingerprint blacklist), the device fingerprint generation module is called to generate the second device fingerprint based on the second-level factor (such as the application-level factor, the APP-level factor, the user-level factor) and the second weight score corresponding to the second-level factor, and the second device fingerprint is output as the final device fingerprint. If the first device fingerprint fails to match the preset fingerprint list, that is, the first device fingerprint is not in the fingerprint blacklist, a similarity judgment is performed, that is, the first device fingerprint continues to be matched with the existing device fingerprint on the server for similarity, and then the matching result data is obtained.
[0069] Step S104, performing a comparison process based on the second level factor, the second weight score and the server data corresponding to the existing device fingerprint on the server, thereby generating a similarity score.
[0070] Specifically, a comparison process is performed based on the second level factor, the second weight score and the server data corresponding to the existing device fingerprint on the server to generate a similarity score, including: calculating the similarity between the second level factor and the second weight score and the server data corresponding to the existing device fingerprint on the server to obtain a similarity score.
[0071] The second level factor, the second weight score and the server data are compared for similarity to obtain a similarity score.
[0072] Step S105: Determine the output device fingerprint according to the matching result data and the similarity score.
[0073] The similarity score is compared with a preset threshold to obtain comparison result data, and the final device fingerprint to be output is accurately determined based on the comparison result data and the matching result data.
[0074] Specifically, the method further includes: storing the output device fingerprint on the server and sending it to the client.
[0075] This embodiment receives a device fingerprint generation request, obtains the first level factor and the second level factor corresponding to the corresponding device; generates the first device fingerprint based on the first level factor and the first weight score; matches the first device fingerprint with the preset fingerprint list, and in response to a successful match, generates the second device fingerprint based on the second level factor and the second weight score, and outputs the second device fingerprint; in response to an unsuccessful match, matches the first device fingerprint with the existing device fingerprint on the server, and then obtains the matching result data; performs a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server, and then generates a similarity score; determines the output device fingerprint based on the matching result data and the similarity score. This improves the uniqueness and stability of the generated device fingerprint, and reduces the interference and obstacles caused by the device fingerprint to the implementation of the business risk control strategy.
[0076] Figure 2 FIG. 1 is a schematic diagram of the main process of a device fingerprint generation method according to an embodiment of the present application. Figure 2 As shown, the device fingerprint generation method mainly includes the following steps S201-S206.
[0077] Step S201: receiving a device fingerprint generation request, and obtaining a first level factor and a second level factor corresponding to a corresponding device.
[0078] The first-level factors of the device may include system-level factors and device-level factors, and the second-level factors of the device may include application-level factors, APP-level factors, and user-level factors.
[0079] Step S202: Generate a first device fingerprint based on the first level factor and the first weight score.
[0080] Specifically, generating a first device fingerprint based on the first level factors and the first weight scores includes: using a combined hash function to calculate the corresponding first device fingerprint based on each factor in the first level factors and the first weight scores corresponding to each factor.
[0081] Combined hash function: It can support setting different weights for different factors and output the results. The execution subject can calculate the product of the first weight score and the corresponding first-level factor, and use the sum of the products and the product of the preset coefficient as the first device fingerprint.
[0082] Step S203, matching the first device fingerprint with a preset fingerprint list, in response to a successful match, generating a second device fingerprint based on the second level factor and the second weight score, and outputting the second device fingerprint; in response to an unsuccessful match, matching the first device fingerprint with an existing device fingerprint on the server, and obtaining matching result data.
[0083] The first device fingerprint is matched with the preset fingerprint list. If the match is successful, it indicates that the first device fingerprint is in the fingerprint blacklist and the first device fingerprint is unavailable. Then, based on the second level factor and the second weight score, a second device fingerprint is generated and the second device fingerprint is output. In response to the unsuccessful match, that is, the first device fingerprint is not in the fingerprint blacklist, the similarity judgment is continued, that is, the first device fingerprint is matched with the existing device fingerprint on the server, and the matching result data is obtained.
[0084] Step S204, performing a comparison process based on the second level factor, the second weight score and the server data corresponding to the existing device fingerprint on the server, thereby generating a similarity score.
[0085] The second weight score corresponding to the second level factor is different. The second level factor (such as application level factor, APP level factor, user level factor), the second weight score corresponding to the second level factor, and the server data related to the existing device fingerprint are matched for similarity to obtain a similarity score.
[0086] Step S205: if the matching result data corresponds to a successful match, in response to the similarity score being greater than a preset threshold, a first device fingerprint is output; in response to the similarity score being less than the preset threshold, a second device fingerprint is generated based on a second level factor and a second weight score, and the second device fingerprint is output.
[0087] When the first device fingerprint is matched with the preset fingerprint list and the match fails, the first device fingerprint is continued to be matched with the existing device fingerprints on the server to obtain the matching result data. If the matching result data corresponds to a successful match, in response to the similarity score being greater than the preset threshold, the first device fingerprint is output, and in response to the similarity score being less than the preset threshold, a second device fingerprint is generated based on the second level factor and the second weight score, and the second device fingerprint is output.
[0088] For example, if the device fingerprint does not hit the blacklist library, the device fingerprint similarity judgment is performed. Device fingerprint similarity judgment: the device fingerprint generated this time (i.e., the first device fingerprint) is verified with the existing device fingerprint on the server: if a match is successful, the second-level factors, i.e., application-level factors, APP-level factors, and user-level factors, are assigned different second weight scores and compared with the server data to generate a similarity score. If the similarity score reaches a certain value (i.e., a preset threshold), it is considered to be the same device fingerprint, and the first device fingerprint is used as the final output device fingerprint; if the similarity score is lower than this value, it is necessary to combine the second-level factors, i.e., combine the application-level factors, APP-level factors, and user-level factors to generate a new device fingerprint, i.e., generate a second device fingerprint, and use the second device fingerprint as the final output device fingerprint.
[0089] Step S206, if the matching result data corresponds to an unsuccessful match, in response to the similarity score being greater than a preset threshold, a retrieval process for the first device fingerprint is executed on the server side, and the retrieved first device fingerprint is output; in response to the similarity score being less than the preset threshold, the first device fingerprint is output.
[0090] When the first device fingerprint is matched with the preset fingerprint list and the match fails, the first device fingerprint is continued to be matched with the existing device fingerprints on the server side to obtain the matching result data. If the matching result data corresponds to an unsuccessful match, in response to the similarity score being greater than the preset threshold, the server side executes a retrieval process for the first device fingerprint and outputs the retrieved first device fingerprint. In response to the similarity score being less than the preset threshold, the first device fingerprint is output.
[0091] For example, if the device fingerprint does not hit the blacklist library, the device fingerprint similarity judgment is performed. Device fingerprint similarity judgment: the device fingerprint generated this time (i.e., the first device fingerprint) is verified with the existing device fingerprint on the server: if it does not match, that is, the match is unsuccessful, the second-level factors, i.e., the application-level factors, APP-level factors, and user-level factors are assigned different weights, and compared with the server data to generate a similarity score. If the similarity score reaches a certain value (i.e., the preset threshold), it is considered to be the same device fingerprint, and the first device fingerprint already on the server is retrieved, and the first device fingerprint already on the server is used as the device fingerprint to be output; if the similarity score is lower than the value, the first device fingerprint is directly used as the final device fingerprint to be output. Thereby improving the accuracy of device fingerprint generation. Thereby improving the uniqueness and stability of the generated device fingerprint, reducing the interference and obstacles caused by the device fingerprint to the implementation of the business risk control strategy.
[0092] Figure 3 FIG. 1 is a schematic diagram of the main process of a device fingerprint generation method according to an embodiment of the present application. Figure 3As shown, in the device fingerprint verification module, the execution subject can establish a device fingerprint blacklist library. When receiving a device fingerprint generation request, the device fingerprint is generated based on the system-level factor and the device-level factor, and it is determined whether the generated device fingerprint is in the device fingerprint blacklist (i.e., the preset fingerprint list). If so, the device fingerprint generation module is called to generate a new device fingerprint based on the application-level factor, the APP-level factor, and the user-level factor; if not, the generated device fingerprint is continued to be matched on the server side. If it can be matched, that is, the match is successful, the application-level factor, the APP-level factor, and the user-level factor corresponding to the device fingerprint generated this time are assigned different weights, and compared with the server to generate a similarity score, and it is determined whether the generated similarity score reaches the preset threshold. If so, the device fingerprint generated this time is output. If not, the device fingerprint module is called to generate a new device fingerprint in combination with the application-level factor, the APP-level factor, and the user-level factor; if it does not match, that is, the match is unsuccessful, the application-level factor, the APP-level factor, and the user-level factor corresponding to the device fingerprint generated this time are assigned different weights, and compared with the server to generate a similarity score, and it is determined whether the generated similarity score reaches the preset threshold. If so, the existing device fingerprint on the server is retrieved, and if not, the device fingerprint generated this time is directly used.
[0093] The embodiments of the present application can realize the generation and verification of device fingerprints, and at the same time establish a blacklist mechanism in the device fingerprint generation and verification process to improve the uniqueness and stability of device fingerprints. A blacklist mechanism is established for system-level factors, device-level factors, user-level factors, application-level factors, APP-level factors, and device fingerprints, and judgments are made in the device fingerprint generation and device fingerprint verification processes (two blacklist verifications, namely factor blacklist verification and fingerprint blacklist verification), and support the improvement of device fingerprint uniqueness through operations. Incorporating multiple types of factors such as system-level factors, device-level factors, user-level factors, application-level factors, and APP-level factors into the device fingerprint generation system, and using them in a differentiated manner in combination with the device fingerprint verification situation, the calculation method is more dynamic and flexible, and it helps to improve the identification of situations where the black industry batch tampering with device parameters causes changes in device fingerprints, and improve the uniqueness and stability of device fingerprints. Incorporate similarity calculation into the device fingerprint verification system for the retrieval of device fingerprints to improve the stability of device fingerprints.
[0094] In the embodiment of the present application, AndroidID is a globally unique hexadecimal string generated by each device when it is first started in the Android operating system. IDFA is an identifier on Apple iOS devices. OAID is a device identifier launched by Chinese manufacturers in response to GDPR (European General Data Protection Regulation) and the increasing concern about user privacy, helping developers and service providers to identify and track different devices without violating user privacy. MAC address: a hardware address used to uniquely identify a network device, such as a network interface of a computer, router or switch. IMEI is the abbreviation of International Mobile Equipment Identity, which is a globally unique serial number assigned to all mobile communication devices. Its main purpose is to identify and track mobile phone devices in GSM, UMTS and LTE networks. IMSI is the International Mobile Subscriber Identity, which is a number used to uniquely identify mobile network users in GSM, UMTS and LTE cellular networks. Hash function: also known as a hash function, is a function that converts an input of arbitrary length (also called a pre-map or message) into a fixed-length output. The goal of hash function design is to make a small change in the input data lead to a large range of changes in the output data, and this change should be irreversible, that is, it is difficult to infer the original input from the output (within a reasonable time). Combined hash function: It can support setting different weights for different factors and output the results.
[0095] The present invention includes the following modules: data acquisition module, device fingerprint generation module, and device fingerprint verification module. The main process is as follows: data acquisition module: the client's application integrates the probe SDK, collects and sends various factor information to the server. Factors include: system-level factors: AndroidID, IDFA, OAID, etc., which are generally used to distinguish different devices and are used to generate device fingerprints. Device-level factors: MAC, IMEI, IMSI, etc., the same as system-level factors, are used to generate device fingerprints. Application-level factors: device model, device operating system, used to generate or retrieve device fingerprints. APP-level factors: The files generated by the probe SDK for each APP on each device are placed in the APP directory, including APP version number, SDK version number and other information, which are used to generate or retrieve device fingerprints. User-level factors: mobile phone number, ID card number, etc., are used to generate or retrieve device fingerprints. Device fingerprint generation module: the server stores the factors collected and sent by the client, and calculates and generates device fingerprints. It is divided into two steps: blacklist comparison and device fingerprint calculation. Device fingerprint factor blacklist comparison: Blacklists are established for system-level and device-level factors. The factors included in the blacklist library usually refer to repeated or fixed factors sent by device manufacturers for different devices. Most of these lists are added through daily operations. Because this factor cannot be distinguished between different devices, it loses its meaning as a factor for generating device fingerprints. The collected factors are compared in the blacklist library, and the unmatched factors enter the next step to participate in the calculation, that is, the factor blacklist verification is performed. Device fingerprint calculation: Set a certain priority for system-level factors and device-level factors to calculate device fingerprints. First, set a different weight score for different factors. After setting the priority weight, use the combined hash function to calculate the device fingerprint. For example, the priority order is IMEI>IDFA / AndroidID>OAID>MAC>IMSI, and the weights are set to 40%, 30%, 18%, 12%, and 10% respectively.
[0096] The calculation logic is as follows:
[0097] def hash function(IMEI,IDFA / AndroidID,OAID,MAC,IMSI): weighted_sum =(IMEI*0.4)+(IDFA / AndroidID*0.3)+(OAID*0.18)+(MAC*0.12)+(IMSI*0.1)
[0098] return int(weighted_sum*100)
[0099] The result of the above calculation logic is the calculated device fingerprint. The device fingerprint calculation traces and the corresponding system-level factors, device-level factors, user-level factors, application-level factors, APP-level factors, and user-level factors should all be saved.
[0100] Device fingerprint verification module: After the device fingerprint is generated, it needs to be verified on the server side. It is divided into two steps: blacklist comparison and similarity judgment. Device fingerprint blacklist comparison: A blacklist is established for the device fingerprint. The device fingerprint included in the blacklist library usually refers to the device fingerprint that is determined or determined to be a duplicate with a high probability. Most of this list is added through daily operations. Because the device fingerprint cannot be distinguished between different devices, it loses its meaning as a device fingerprint. If the device fingerprint hits the fingerprint in the blacklist library, return to step 2, the device fingerprint calculation module, and generate a new device fingerprint by combining the application-level factors, APP-level factors, and user-level factors. If the device fingerprint does not hit the blacklist library, the device fingerprint similarity judgment is performed. Device fingerprint similarity judgment: Verify the device fingerprint generated this time with the existing device fingerprint on the server: If a match is successful, assign different weights to the application-level factors, APP-level factors, and user-level factors, and compare them with the server data to generate a similarity score. If the similarity score reaches a certain value, it is considered to be the same device fingerprint and the fingerprint is used; if the similarity score is lower than this value, a new device fingerprint must be generated by combining the application-level factors, APP-level factors, and user-level factors. If no match is found, assign different weights to the application-level factors, APP-level factors, and user-level factors, and compare them with the server data to generate a similarity score. If the similarity score reaches a certain value, it is considered to be the same device fingerprint and the existing fingerprint on the server is retrieved; if the similarity score is lower than this value, the device fingerprint is used directly.
[0101] Device fingerprint storage module: The generated device fingerprint is stored on the server side and sent to the client side. Sending it to the client side makes it easier for the application to record relevant data.
[0102] The main process of device fingerprint generation may include: data collection, device fingerprint generation, device fingerprint verification and device fingerprint storage. In the data collection module, the terminal device collects factors, including system-level factors, device-level factors, application-level factors, and APP-level factors. In the device fingerprint generation module, a factor blacklist library (i.e., a database corresponding to the preset factor list) is established for each type of factor, and the factors collected by the data collection module are compared with the blacklist library, the factors in the blacklist library are removed, the priorities of different factors are set, the corresponding calculation weights are assigned, and the device fingerprint is calculated using a combined hash function. In the device fingerprint verification module, the final device fingerprint that needs to be output is determined. In the device fingerprint storage module, the generated and verified device fingerprint is stored on the server side and sent to the client.
[0103] The embodiment of the present application establishes a blacklist mechanism for system-level factors, device-level factors, application-level factors, APP-level factors and device fingerprints; at the same time, multiple factors such as system-level factors, device-level factors, application-level factors and APP-level factors are incorporated into the device fingerprint generation system, and are used in a differentiated manner in combination with the device fingerprint verification situation. The calculation method is more dynamic and flexible, and the similarity calculation is incorporated into the device fingerprint verification system for the retrieval of the device fingerprint. The above-mentioned means are combined to achieve the effect of improving the uniqueness and stability of the device fingerprint.
[0104] Figure 4 Schematic diagram of the main units of the device fingerprint generation apparatus according to an embodiment of the present application. Figure 4 As shown, the device fingerprint generating apparatus 400 includes a receiving unit 401 , a device fingerprint generating unit 402 , a matching unit 403 , a score generating unit 404 and a device fingerprint determining unit 405 .
[0105] The receiving unit 401 is configured to receive a device fingerprint generation request and obtain a first level factor and a second level factor corresponding to a corresponding device.
[0106] The device fingerprint generating unit 402 is configured to generate a first device fingerprint based on the first level factor and the first weight score.
[0107] The matching unit 403 is configured to match the first device fingerprint with a preset fingerprint list, and in response to a successful match, generate a second device fingerprint based on the second level factor and the second weight score, and output the second device fingerprint; in response to an unsuccessful match, match the first device fingerprint with an existing device fingerprint on the server, and then obtain matching result data.
[0108] The score generating unit 404 is configured to perform a comparison process based on the second level factor, the second weight score and the server data corresponding to the existing device fingerprint on the server, thereby generating a similarity score.
[0109] The device fingerprint determination unit 405 is configured to determine the output device fingerprint according to the matching result data and the similarity score.
[0110] In some embodiments, the device fingerprint determination unit 405 is further configured to: if the matching result data corresponds to a successful match, in response to the similarity score being greater than a preset threshold, output the first device fingerprint; in response to the similarity score being less than the preset threshold, generate a second device fingerprint based on the second level factor and the second weight score, and output the second device fingerprint; if the matching result data corresponds to an unsuccessful match, in response to the similarity score being greater than the preset threshold, execute a retrieval process for the first device fingerprint on the server side, and output the retrieved first device fingerprint; in response to the similarity score being less than the preset threshold, output the first device fingerprint.
[0111] In some embodiments, the device fingerprint generation unit 402 is further configured to: match the preset factor list with the first-level factors, set a first weight score for the unmatched first-level factors; and generate a first device fingerprint based on the unmatched first-level factors and the corresponding first weight scores.
[0112] In some embodiments, the score generating unit 404 is further configured to: perform similarity calculation on the second level factor and the second weight score and the server data corresponding to the existing device fingerprint on the server to obtain a similarity score.
[0113] In some embodiments, the device fingerprint generation unit 402 is further configured to: calculate the corresponding first device fingerprint using a combined hash function based on each factor in the first level factor and a first weight score corresponding to each factor.
[0114] In some embodiments, the device fingerprint generating device further includes Figure 4 The sending unit not shown in the figure is configured to: store the output device fingerprint on the server side and send it to the client side.
[0115] It should be noted that the device fingerprint generation method and the device fingerprint generation device of the present application have a corresponding relationship in terms of specific implementation content, so the repeated content will not be described again.
[0116] Figure 5 An exemplary system architecture 500 is shown to which the device fingerprint generation method or device fingerprint generation apparatus according to the embodiments of the present application can be applied.
[0117] like Figure 5 As shown, system architecture 500 may include terminal devices 501, 502, 503, a network 504 and a server 505. Network 504 is used to provide a medium for communication links between terminal devices 501, 502, 503 and server 505. Network 504 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0118] Users can use terminal devices 501, 502, 503 to interact with server 505 through network 504 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 501, 502, 503, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only for example).
[0119] The terminal devices 501, 502, 503 may be various electronic devices having a device fingerprint generation processing screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.
[0120] Server 505 can be a server that provides various services, such as a background management server that supports device fingerprint generation requests submitted by users using terminal devices 501, 502, and 503 (only as an example). The background management server can receive a device fingerprint generation request, obtain the first level factor and the second level factor corresponding to the corresponding device; generate a first device fingerprint based on the first level factor and the first weight score; match the first device fingerprint with the preset fingerprint list, and in response to a successful match, generate a second device fingerprint based on the second level factor and the second weight score, and output the second device fingerprint; in response to an unsuccessful match, match the first device fingerprint with the existing device fingerprint on the server side, and then obtain the matching result data; perform a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server side, and then generate a similarity score; determine the output device fingerprint based on the matching result data and the similarity score. This improves the uniqueness and stability of the generated device fingerprint and reduces the interference and obstruction of the device fingerprint on the implementation of the business risk control strategy.
[0121] It should be noted that the device fingerprint generation method provided in the embodiment of the present application is generally executed by the server 505 , and accordingly, the device fingerprint generation device is generally set in the server 505 .
[0122] It should be understood that Figure 5 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
[0123] Reference below Figure 6 , which shows a schematic diagram of the structure of a computer system 600 of a terminal device suitable for implementing an embodiment of the present application. Figure 6 The terminal device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0124] like Figure 6 As shown, the computer system 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the computer system 600 are also stored. The CPU 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0125] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.
[0126] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above-mentioned functions defined in the system of the present application are executed.
[0127] It should be noted that the computer-readable medium shown in the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. Computer-readable storage media may include, for example, but are not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0128] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the above-mentioned module, program segment or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0129] The units involved in the embodiments described in the present application may be implemented by software or hardware. The units described may also be set in a processor, for example, it may be described as: a processor includes a receiving unit, a device fingerprint generating unit, a matching unit, a score generating unit, and a device fingerprint determining unit. The names of these units do not, in some cases, constitute limitations on the units themselves.
[0130] As another aspect, the present application also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device receives a device fingerprint generation request, obtains the first level factor and the second level factor corresponding to the corresponding device; generates a first device fingerprint based on the first level factor and the first weight score; matches the first device fingerprint with a preset fingerprint list, and in response to a successful match, generates a second device fingerprint based on the second level factor and the second weight score, and outputs the second device fingerprint; in response to an unsuccessful match, matches the first device fingerprint with an existing device fingerprint on the server, and then obtains matching result data; performs a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server, and then generates a similarity score; determines the output device fingerprint according to the matching result data and the similarity score.
[0131] The computer program product of the present application includes a computer program, and when the computer program is executed by a processor, the device fingerprint generation method in the embodiment of the present application is implemented.
[0132] According to the technical solution of the embodiment of the present application, the uniqueness and stability of the generated device fingerprint can be improved, and the interference and obstruction caused by the device fingerprint to the implementation of the business risk control strategy can be reduced.
[0133] The above specific implementations do not constitute a limitation on the protection scope of this application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of this application should be included in the protection scope of this application.
Claims
1. A method for generating a device fingerprint, characterized in that: include: Receive a device fingerprint generation request, and obtain a first level factor and a second level factor corresponding to the corresponding device; generating a first device fingerprint based on the first level factor and the first weight score; matching the first device fingerprint with a preset fingerprint list, generating a second device fingerprint based on the second level factor and the second weight score in response to a successful match, and outputting the second device fingerprint; In response to the match being unsuccessful, matching the first device fingerprint with an existing device fingerprint on the server, thereby obtaining matching result data; performing a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server, thereby generating a similarity score; An output device fingerprint is determined based on the matching result data and the similarity score.
2. The method according to claim 1, characterized in that The step of determining the output device fingerprint according to the matching result data and the similarity score includes: If the matching result data corresponds to a successful match, in response to the similarity score being greater than a preset threshold, outputting the first device fingerprint, and in response to the similarity score being less than a preset threshold, generating a second device fingerprint based on the second level factor and the second weight score, and outputting the second device fingerprint; If the matching result data corresponds to an unsuccessful match, in response to the similarity score being greater than a preset threshold, a retrieval process for the first device fingerprint is executed on the server side, and the retrieved first device fingerprint is output; in response to the similarity score being less than a preset threshold, the first device fingerprint is output.
3. The method according to claim 1, characterized in that The generating of the first device fingerprint includes: Matching the preset factor list with the first-level factors, and setting a first weight score for the unmatched first-level factors; A first device fingerprint is generated based on the unmatched first level factor and the corresponding first weight score.
4. The method according to claim 1, characterized in that: The performing a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server to generate a similarity score includes: The second level factor and the second weight score are subjected to similarity calculation with the server data corresponding to the existing device fingerprint of the server to obtain a similarity score.
5. The method according to claim 1, characterized in that The generating a first device fingerprint based on the first level factor and the first weight score includes: Based on each factor in the first level factor and the first weight score corresponding to each factor, a combined hash function is used to calculate a corresponding first device fingerprint.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: The output device fingerprint is stored on the server and sent to the client.
7. A device fingerprint generation device, characterized in that: include: A receiving unit is configured to receive a device fingerprint generation request and obtain a first level factor and a second level factor corresponding to a corresponding device; a device fingerprint generating unit configured to generate a first device fingerprint based on the first level factor and a first weight score; a matching unit configured to match the first device fingerprint with a preset fingerprint list, and in response to a successful match, generate a second device fingerprint based on the second level factor and the second weight score, and output the second device fingerprint; In response to the match being unsuccessful, matching the first device fingerprint with an existing device fingerprint on the server, thereby obtaining matching result data; a score generating unit configured to perform a comparison process based on the second level factor, the second weight score, and the server data corresponding to the existing device fingerprint on the server, thereby generating a similarity score; The device fingerprint determination unit is configured to determine an output device fingerprint according to the matching result data and the similarity score.
8. The device according to claim 7, characterized in that The device fingerprint determination unit is further configured to: If the matching result data corresponds to a successful match, in response to the similarity score being greater than a preset threshold, outputting the first device fingerprint, and in response to the similarity score being less than a preset threshold, generating a second device fingerprint based on the second level factor and the second weight score, and outputting the second device fingerprint; If the matching result data corresponds to an unsuccessful match, in response to the similarity score being greater than a preset threshold, a retrieval process for the first device fingerprint is executed on the server side, and the retrieved first device fingerprint is output; in response to the similarity score being less than a preset threshold, the first device fingerprint is output.
9. The device according to claim 7, characterized in that The device fingerprint generation unit is further configured to: Matching the preset factor list with the first-level factors, and setting a first weight score for the unmatched first-level factors; A first device fingerprint is generated based on the unmatched first level factor and the corresponding first weight score.
10. The device according to claim 7, characterized in that The score generating unit is further configured to: The second level factor and the second weight score are subjected to similarity calculation with the server data corresponding to the existing device fingerprint of the server to obtain a similarity score.
11. The device according to claim 7, characterized in that The device fingerprint generation unit is further configured to: Based on each factor in the first level factor and the first weight score corresponding to each factor, a combined hash function is used to calculate a corresponding first device fingerprint.
12. The device according to any one of claims 7 to 11, characterized in that The device also includes a sending unit configured to: The output device fingerprint is stored on the server and sent to the client.
13. An electronic device for generating a device fingerprint, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.
14. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Risk identification method and device for mobile equipment and computer system
CN110290522A
Equipment fingerprint generation method and device, equipment and storage medium
CN111478986A
Data processing method and device and medium
CN111666596A
Service request response method and device
CN116112240A