Method, apparatus, and storage medium for issuing device fingerprints
By collecting feature information from terminal devices and using connected graphs and deep learning models to identify associated devices, the stability problem of device fingerprints when information changes is solved, and higher recognition accuracy is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-19
- Publication Date
- 2026-04-07
AI Technical Summary
Device fingerprints are less stable when the information on the terminal device changes, leading to inaccurate recognition.
By collecting feature information of the target device, the associated device is identified from multiple candidate devices using connected graphs and deep learning models, and device fingerprints are issued to improve stability.
It improves the stability and accuracy of device fingerprints when terminal device information changes.
Smart Images

Figure CN115952061B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of computer technology, and particularly relates to the fields of big data, mobile security, and the like. BACKGROUND
[0002] A device fingerprint is a kind of identification information used to uniquely identify a terminal device. The device fingerprint can be used to accurately identify the identity of the terminal device. The device fingerprint technology can be applied to the fields of online advertising business, risk control, and the like. A unique identification can be generated as a device fingerprint by collecting device information in the terminal device and according to the device information. However, when the device information of the terminal device changes, the device fingerprint also changes, resulting in poor stability of the device fingerprint. SUMMARY
[0003] The present disclosure provides a method, apparatus, device, storage medium, and program product for issuing a device fingerprint.
[0004] According to an aspect of the present disclosure, a method for issuing a device fingerprint is provided, including: determining, according to a target device feature set of a target device, a first device matching the target device from a plurality of candidate devices, to obtain a first device set; in a case where the first device set includes a plurality of first devices, determining, according to a similarity between the target device and each of the plurality of first devices, a second device matching the target device from the plurality of first devices, to obtain a second device set; in a case where the second device set includes a plurality of second devices, finding, in a connected graph, an associated device matching the target device, wherein the connected graph includes a plurality of nodes corresponding to the plurality of second devices one by one; and issuing a device fingerprint of the associated device to the target device.
[0005] According to another aspect of the present disclosure, an apparatus for issuing a device fingerprint is provided, including: a first determining module configured to determine, according to a target device feature set of a target device, a first device matching the target device from a plurality of candidate devices, to obtain a first device set; a second determining module configured to, in a case where the first device set includes a plurality of first devices, determine, according to a similarity between the target device and each of the plurality of first devices, a second device matching the target device from the plurality of first devices, to obtain a second device set; a third determining module configured to, in a case where the second device set includes a plurality of second devices, find, in a connected graph, an associated device matching the target device, wherein the connected graph includes a plurality of nodes corresponding to the plurality of second devices one by one; and an issuing module configured to issue a device fingerprint of the associated device to the target device.
[0006] Another aspect of the present disclosure provides an electronic device, comprising: at least one processor; and a memory connected with the at least one processor in communication; 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 perform the method shown in the embodiments of the present disclosure.
[0007] According to another aspect of the embodiments of the present disclosure, a non-transitory computer readable storage medium storing computer instructions is provided, wherein the computer instructions are used to make the computer perform the method shown in the embodiments of the present disclosure.
[0008] According to another aspect of the embodiments of the present disclosure, a computer program product is provided, comprising computer programs / instructions, characterized by that the computer programs / instructions are executed by a processor to implement the steps of the method shown in the embodiments of the present disclosure.
[0009] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0010] The accompanying drawings are used to better understand the present scheme, and do not limit the present disclosure. Among them:
[0011] Figure 1 An exemplary system architecture according to an embodiment of the present disclosure is schematically shown;
[0012] Figure 2 A flowchart of a method for determining a device fingerprint according to an embodiment of the present disclosure is schematically shown;
[0013] Figure 3 A flowchart of a method for determining a first device among a plurality of candidate devices according to an embodiment of the present disclosure is schematically shown;
[0014] Figure 4 A flowchart of a method for determining a second device among a plurality of first devices according to an embodiment of the present disclosure is schematically shown;
[0015] Figure 5 A flowchart of a method for finding an associated device matching a target device in a connectivity graph according to an embodiment of the present disclosure is schematically shown;
[0016] Figure 6 A schematic diagram of issuing a device fingerprint according to an embodiment of the present disclosure is schematically shown;
[0017] Figure 7 A block diagram of an apparatus for issuing a device fingerprint according to an embodiment of the present disclosure is schematically shown;
[0018] Figure 8 A block diagram of an example electronic device that can be used to implement embodiments of the disclosure is shown schematically. DETAILED DESCRIPTION
[0019] Exemplary embodiments of the present disclosure are described herein with reference to the accompanying drawings, in which various details of embodiments of the present disclosure are set forth to facilitate an understanding. However, it will be apparent to those of ordinary skill in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the disclosure. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
[0020] The following will be described with reference to the accompanying drawings. Figure 1 A system architecture of the method and apparatus for issuing a device fingerprint provided by the present disclosure is described.
[0021] Figure 1 An example system architecture 100 according to embodiments of the present disclosure is shown schematically. It should be noted that, Figure 1 The shown is only an example of the system architecture to which embodiments of the present disclosure can be applied, to help those skilled in the art understand the technical content of the present disclosure, but does not mean that embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0022] As Figure 1 The system architecture 100 according to the embodiment can include terminal devices 101, 102, 103, a network 104 and a server 105, as shown. The network 104 is a medium for providing a communication link between the terminal devices 101, 102, 103 and the server 105. The network 104 can include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0023] A user can use the terminal devices 101, 102, 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the terminal devices 101, 102, 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).
[0024] The terminal devices 101, 102, 103 can be various electronic devices with display screens and support for web browsing, including but not limited to smartphones, tablet computers, laptop computers and desktop computers, etc.
[0025] Server 105 can be a server that provides various services, such as a backend management server that supports websites browsed by users using terminal devices 101, 102, and 103 (for example only). The backend management server can analyze and process data such as received user requests, and feed back the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal devices.
[0026] Server 105 can be a cloud server, also known as a cloud computing server or cloud host. It is a host product in the cloud computing service system, which solves the shortcomings of traditional physical hosts and VPS services ("Virtual Private Server", or simply "VPS"), such as high management difficulty and weak business scalability. Server 105 can also be a server for a distributed system or a server combined with blockchain.
[0027] According to embodiments of this disclosure, a terminal device can collect its own device information and then send it to a server 105. The server 105 can search for a matching device fingerprint in a device fingerprint database based on the device information. If no matching device fingerprint is found in the database, a new device fingerprint can be generated based on the device information and issued to the terminal device. The server 105 also records the device information and the corresponding device fingerprint in the device fingerprint database. If a matching device fingerprint is found in the database, the server issues the matching device fingerprint to the terminal device.
[0028] According to embodiments of this disclosure, by combining terminal devices with servers, the shortcomings of insufficient device information collection can be addressed. Device information is collected on the terminal device and reported to the server. The server can acquire, process, and store the data. Furthermore, the server can perform preliminary screening of device information, recall and refine devices through unique feature judgment and processing of time-series features, thereby accurately identifying associated devices belonging to the same device as the terminal device and issuing the device fingerprint of that associated device to the terminal device.
[0029] It should be noted that the method for issuing device fingerprints provided in this disclosure embodiment can generally be executed by server 105. Correspondingly, the device fingerprint issuing apparatus provided in this disclosure embodiment can generally be located in server 105. The method for issuing device fingerprints provided in this disclosure embodiment can also be executed by a server or server cluster that is different from server 105 and capable of communicating with terminal devices 101, 102, 103 and / or server 105. Correspondingly, the device fingerprint issuing apparatus provided in this disclosure embodiment can also be located in a server or server cluster that is different from server 105 and capable of communicating with terminal devices 101, 102, 103 and / or server 105.
[0030] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.
[0031] In the technical solution disclosed herein, the collection, storage, use, processing, transmission, provision, disclosure, and application of user personal information comply with the provisions of relevant laws and regulations, necessary confidentiality measures have been taken, and there is no violation of public order and good morals.
[0032] In the technical solution disclosed herein, the user's authorization or consent is obtained before acquiring or collecting the user's personal information.
[0033] The following will combine Figure 2 The method for determining device fingerprints provided in this disclosure is described.
[0034] Figure 2 A flowchart illustrating a method for determining a device fingerprint according to an embodiment of the present disclosure is shown schematically.
[0035] like Figure 2 As shown, the method 200 for issuing device fingerprints includes operation S210, determining a first device that matches the target device among multiple candidate devices based on the target device feature set of the target device, thereby obtaining a first device set.
[0036] According to embodiments of this disclosure, the target device may be, for example, a terminal device that requires the issuance of a device fingerprint. The target device feature set may include, for example, at least one device feature, wherein the device feature can be obtained by feature extraction from the device information of the target device.
[0037] According to embodiments of this disclosure, a candidate device can be, for example, a terminal device that has already been issued a device fingerprint. The device fingerprint of a candidate device can be generated based on the device feature set of the candidate device. Exemplarily, in this embodiment, for terminal devices that have already been issued device fingerprints, the device fingerprints and device feature sets of these terminal devices can be recorded in a device fingerprint database. Thus, for example, a device matching the target device feature set can be searched from the device fingerprint database as the first device.
[0038] Then, in operation S220, if the first device set includes multiple first devices, a second device that matches the target device among the multiple first devices is determined based on the similarity between the target device and each of the multiple first devices, thus obtaining a second device set.
[0039] According to embodiments of this disclosure, if there is only one matching first device, that first device can be determined as an associated device of the target device. If there are multiple matching first devices, the similarity of each first device can be further determined, and the associated device can be determined based on the similarity.
[0040] According to embodiments of this disclosure, for example, a first device with a similarity greater than a similarity threshold can be identified as a second device matching the target device. The similarity threshold can be set according to actual needs.
[0041] In operation S230, when the second device set includes multiple second devices, the associated device matching the target device is found in the connectivity graph.
[0042] According to embodiments of this disclosure, if there is only one matching second device, that second device can be determined as an associated device of the target device. If there are multiple matching second devices, the associated devices of the target device can be further determined in the connectivity graph.
[0043] According to embodiments of this disclosure, the connected graph may include multiple nodes that correspond one-to-one with multiple second devices. In this embodiment, edges may exist between nodes. An edge between two nodes may indicate that the two nodes correspond to the same terminal device, that is, to the same device fingerprint.
[0044] In operation S240, the device fingerprint of the associated device is issued to the target device.
[0045] According to embodiments of this disclosure, the associated device is the same as the target device among the terminal devices that have been issued device fingerprints. Therefore, the device fingerprint of the associated device can be issued to the target device.
[0046] For example, in scenarios such as when an application is uninstalled and reinstalled, when data is cleaned in the application space, when the system prohibits the application from collecting permissions, when a proxy is used, or when a VPN (Virtual Private Network) is used, the device information obtained by the terminal device will change. If the correct device fingerprint cannot be obtained based on this information, the stability of the device fingerprint will be poor.
[0047] According to embodiments of this disclosure, associated devices are determined based on the target device feature set, similarity, and connectivity graph of the target device. Then, the device fingerprint of the associated device is issued to the target device. This can avoid the inability to retrieve the original device fingerprint due to partial changes in the device information of the target device, thereby improving the stability of the device fingerprint.
[0048] According to embodiments of this disclosure, at least one of the following can be collected: target device identification information, basic device information, system underlying information, network behavior information, and device usage information, to obtain a target device information set. Then, feature calculations are performed on the target device information set to obtain a target device feature set. The identification information may include, for example, IMEI (International Mobile Equipment Identity), serial number, IMSI (International Mobile Subscriber Identity), ICCID (Integrated Circuit Card Identity), etc. Basic device information may include, for example, device model, manufacturer identifier, operating system identifier, version number, etc. System underlying information may include, for example, file information, installation time, etc. Network behavior information may include, for example, IP address, Wi-Fi information, etc. Device usage information may include, for example, battery level information, memory usage information, storage size, etc. For example, for Android system terminal devices, device information can be obtained from the underlying JAVA and C layers.
[0049] According to embodiments of this disclosure, for network behavior information and device usage information, a behavior sequence can be generated according to the time of the information, and then the DTW (Dynamic Time Warping) algorithm can be used to calculate the corresponding device characteristics based on the behavior sequence.
[0050] The following will be combined Figure 3 The method for determining a first device among multiple candidate devices provided in this disclosure is described.
[0051] Figure 3 A flowchart illustrating a method for determining a first device among a plurality of candidate devices according to an embodiment of the present disclosure is shown schematically.
[0052] like Figure 3 As shown, the method 310 for issuing device fingerprints includes performing operations S311 to S312 for each of a plurality of candidate devices.
[0053] In operation S311, the same feature information is determined based on the feature set of the target device and the feature set of the candidate devices.
[0054] According to embodiments of this disclosure, the candidate device feature set may include at least one device feature. For example, it can be determined which features the target device feature set and the candidate device feature set have in common. Based on these common features, identical feature information is determined.
[0055] According to embodiments of this disclosure, the identical feature information may include, for example, at least one of the following: the number of identical features in the target device feature set and the candidate device feature set, the weight of each identical feature, and the proportion of identical features. Exemplarily, the weight of each feature can be preset and set as needed. For example, a larger weight can be set for strong features, and a smaller weight can be set for weak features. Strong features may include features that are not easily changed, relatively fixed, and features that are unlikely to conflict between different devices. Weak features may include features that are easily changed, and features that are more likely to conflict between different devices.
[0056] For example, the target device feature set includes v1, v2, and v3, and the candidate device feature set includes v1, v2, and v4, where the weights of v1, v2, v3, and v4 are 1, 2, 3, and 4, respectively. Therefore, it can be determined that v1 and v2 have the same feature, with the weight of v1 being 1 and the weight of v2 being 2. Furthermore, it can be determined that the number of identical features is 2, and the proportion of identical features in the total number of features in the device feature set is 2 / 3.
[0057] In operation S312, if the same feature information meets the predetermined rules, a candidate device is determined as the first device.
[0058] According to embodiments of this disclosure, the predetermined rules can be set according to actual needs. For example, the predetermined rules may include the sum of weights of identical features being greater than a weight threshold, or the number of identical features being greater than a quantity threshold, or the proportion of identical features being greater than a proportion threshold. The weight threshold, quantity threshold, and proportion threshold can be set according to actual needs.
[0059] According to another embodiment of this disclosure, predetermined rules can also be configured in the expert experience engine, and then the expert experience engine can be used to determine whether the same feature information meets the predetermined rules and output the determination result.
[0060] The following will be combined Figure 4 The method for determining a second device among a plurality of first devices provided in this disclosure is described.
[0061] Figure 4 A flowchart illustrating a method for determining a second device among a plurality of first devices according to an embodiment of the present disclosure is shown.
[0062] like Figure 4 As shown, the method 420 for determining a second device among a plurality of first devices includes performing operations S421 to S422 for each of the plurality of first devices.
[0063] In operation S421, the similarity is determined based on the feature set of the target device and the feature set of the first device.
[0064] According to embodiments of this disclosure, a deep learning model for determining similarity can be pre-trained, and then the deep learning model can be used to calculate the similarity between a target device feature set and a first device feature set. Exemplarily, the input to the deep learning model can be two feature sets, and the output can be the similarity between the two feature sets. Based on this, the target device feature set and the first device feature set can be input into the deep learning model to output the similarity between the target device feature set and the first device feature set.
[0065] In operation S422, if the similarity is greater than the similarity threshold, the first device is determined as the second device.
[0066] According to embodiments of this disclosure, the similarity threshold can be set according to actual needs.
[0067] The following will be combined Figure 5 The method for finding associated devices that match a target device in a connected graph, as provided in this disclosure, is described.
[0068] Figure 5 The flowchart illustrates a method for finding associated devices that match a target device in a connectivity graph according to an embodiment of the present disclosure.
[0069] like Figure 5 As shown, the method 530 for finding associated devices that match the target device in a connected graph includes performing operations S531 to S533 for each of a plurality of first devices.
[0070] In operation S531, a new node is generated in the connectivity graph based on the target device, which serves as the target node.
[0071] According to embodiments of this disclosure, the target node can be a node corresponding to a target device. The device feature set corresponding to the target node can be the target device feature set.
[0072] In operation S532, based on the target device feature set, the associated nodes in the connected graph that are connected to the target node are determined.
[0073] According to embodiments of this disclosure, for example, the target device feature set can be compared with the device feature sets of other nodes in the connected graph besides the target node to determine a device feature set containing at least one similar feature, which is then used as an associated device feature set. The node corresponding to this associated device feature set is the associated node. An edge can be established between the target node and the associated node.
[0074] In operation S533, the second device corresponding to the associated node is identified as the associated device.
[0075] According to embodiments of this disclosure, the second device corresponding to the associated node is the associated device.
[0076] The method for finding associated devices matching the target device in a connected graph, as described above, will be further explained below with reference to specific embodiments. Those skilled in the art will understand that the following example embodiments are only for understanding this disclosure, and this disclosure is not limited thereto.
[0077] According to embodiments of this disclosure, new nodes can be generated in the connected graph based on the target device, for example. Table 1 exemplarily illustrates the nodes in the connected graph and their corresponding device features. Here, `index` is the index of the corresponding device, and can also serve as the index of the device fingerprint of the corresponding device.
[0078] Node Corresponding device Feature 1 Feature 2 index 1 Device 1 m1 z1 i1 2 Device 2 m1 z2 i2 3 Device 3 m2 z2 i3 4 Target device m2 z3 i4
[0079] Table 1
[0080] According to embodiments of this disclosure, for example, feature 1 can be used as the primary key to extract all features 1, remove duplicates, and obtain m1 and m2. Then, the index corresponding to nodes with the same feature 1 is set to the same value. For example, for multiple nodes with the same feature 1, the smallest index value among the multiple node index values can be determined, resulting in the results shown in Table 2.
[0081]
[0082]
[0083] Table 2
[0084] Then, the index of all these nodes can be set to the minimum index value, resulting in the results shown in Table 3.
[0085] Node Corresponding device Feature 1 Feature 2 index 1 Device 1 m1 z1 i1 2 Device 2 m1 z2 i1 3 Device 3 m2 z2 i3 4 Target device m2 z3 i3
[0086] Table 3
[0087] According to embodiments of this disclosure, for example, all features 2 can be extracted again, duplicates removed, to obtain z1, z2, and z3. Then, the indices corresponding to nodes with the same feature 2 are set to the same value, resulting in the results shown in Table 4.
[0088] Node Corresponding device Feature 1 Feature 2 index 1 Device 1 m1 z1 i1 2 Device 2 m1 z2 i1 3 Device 3 m2 z2 i1 4 Target device m2 z3 i3
[0089] Table 4
[0090] According to embodiments of this disclosure, for example, a reverse iteration can be performed based on the results shown in Table 4. For example, all features 1 can be extracted again, duplicates can be removed, and m1 and m2 can be obtained. Then, the indexes corresponding to nodes with the same feature 1 can be set to the same value, resulting in the results shown in Table 5.
[0091]
[0092]
[0093] Table 5
[0094] As shown in Table 5, nodes 1, 2, 3 and 4 are connected to each other by edges, that is, the target device, device 1, device 2 and device 3 are interconnected devices.
[0095] The following is for reference. Figure 6 The method for issuing device fingerprints described above will be further explained with reference to specific embodiments. Those skilled in the art will understand that the following example embodiments are only for understanding this disclosure, and this disclosure is not limited thereto.
[0096] Figure 6 A schematic diagram of an issuing device fingerprint is shown according to an embodiment of the present disclosure.
[0097] exist Figure 6 The document illustrates how, for example, the identification information, basic information, underlying system information, network behavior information, and device usage information of the target device can be collected to obtain a target device information set.
[0098] According to embodiments of this disclosure, feature calculations can be performed on device information within a target device information set to obtain a target device feature set. For example, for information 1 of categorical value type, a one-hot algorithm can be used to calculate the corresponding binary data. For information 2 of numerical value type, a hash algorithm can be used to calculate the corresponding vector. For information 3 of behavioral sequence type, a DTW (Dynamic Time Warping) algorithm can be used to calculate the corresponding score. Then, the binary data, vector, and score can be determined as the target device feature set.
[0099] According to embodiments of this disclosure, multiple candidate devices can be obtained from a device fingerprint database. For each candidate device, it is determined which features are common to the target device feature set and the candidate device feature set, and the number of common features, the weight of each common feature, and the proportion of common features are determined. For example, an expert experience engine can be used to determine whether the sum of the weights of common features is greater than a weight threshold, whether the number of common features is greater than a quantity threshold, and whether the proportion of common features is greater than a proportion threshold. If the sum of the weights of common features is greater than the weight threshold, the number of common features is greater than the quantity threshold, and the proportion of common features is greater than the proportion threshold, then the candidate device can be determined as the first device, and recall can be performed.
[0100] According to embodiments of this disclosure, for each first device, a target device feature set and a first device feature set of the first device can be input into a deep learning model to output a similarity between the target device feature set and the first device feature set. Then, it can be determined whether the similarity is greater than a similarity threshold. If it is greater, the first device can be identified as a second device. The deep learning model may, for example, include a transformer model.
[0101] According to embodiments of this disclosure, if there are multiple second devices, it is still impossible to determine the associated device based on the second devices. Therefore, a target node corresponding to the target device can be generated from the connected graph. Then, based on the target device feature set, the edges between the target node and other nodes are determined. Nodes connected to the target node are identified as associated nodes. Next, the second device corresponding to the associated node can be determined as the associated device, and the device fingerprint of this associated device is the device fingerprint of the target device. This device fingerprint is then output.
[0102] The following will combine Figure 7 The apparatus for issuing device fingerprints provided in this disclosure is described.
[0103] Figure 7 A block diagram of an apparatus for issuing device fingerprints according to an embodiment of the present disclosure is shown schematically.
[0104] like Figure 7 As shown, the device 700 for issuing device fingerprints includes a first determining module 710, a second determining module 720, a third determining module 730, and an issuing module 740.
[0105] The first determining module 710 is used to determine a first device that matches the target device from multiple candidate devices based on the target device feature set of the target device, thereby obtaining a first device set.
[0106] The second determining module 720 is used to determine, when the first device set includes multiple first devices, a second device that matches the target device among the multiple first devices based on the similarity between the target device and each of the multiple first devices, thereby obtaining a second device set.
[0107] The third determining module 730 is used to find an associated device matching the target device in a connected graph when the second device set includes multiple second devices, wherein the connected graph includes multiple nodes that correspond one-to-one with the multiple second devices.
[0108] The issuing module 740 is used to issue the device fingerprint of the associated device to the target device.
[0109] According to embodiments of this disclosure, the first determining module may include: a same feature determining submodule, configured to determine same feature information for each candidate device among a plurality of candidate devices, based on a target device feature set and a candidate device feature set of the candidate devices, wherein the same feature information includes at least one of the number of the same features in the target device feature set and the candidate device feature set, the weight of each same feature, and the proportion of the same features; and a first device determining submodule, configured to determine the candidate device as the first device if the same feature information satisfies a predetermined rule.
[0110] According to embodiments of this disclosure, the second determining module may include: a similarity calculation submodule, configured to determine a similarity for each of a plurality of first devices based on a target device feature set and a first device feature set of the first device; and a second device determining submodule, configured to determine the first device as the second device if the similarity is greater than a similarity threshold.
[0111] According to embodiments of this disclosure, the third determining module may include: a node generation submodule, used to generate a new node in the connected graph based on the target device, as the target node; an associated node determining submodule, used to determine associated nodes in the connected graph connected to the target node based on the target device feature set; and an associated device determining submodule, used to determine a second device corresponding to the associated node, as the associated device.
[0112] According to embodiments of this disclosure, the above-mentioned apparatus may further include: a data acquisition module, used to acquire at least one of the target device's identification information, device basic information, system underlying information, network behavior information, and device usage information to obtain a target device information set; and a feature calculation module, used to perform feature calculation on the target device information set to obtain a target device feature set.
[0113] According to embodiments of this disclosure, the similarity calculation submodule may include: a calculation unit, used to calculate the similarity between a target device feature set and a first device feature set using a deep learning model.
[0114] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0115] Figure 8 A block diagram schematically illustrates an example electronic device 800 that can be used to implement embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0116] like Figure 8 As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.
[0117] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0118] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the method of issuing a device fingerprint. For example, in some embodiments, the method of issuing a device fingerprint may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the method of issuing a device fingerprint described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the method of issuing a device fingerprint by any other suitable means (e.g., by means of firmware).
[0119] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0120] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0121] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0122] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0123] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0124] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.
[0125] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0126] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for issuing device fingerprints, comprising: Based on the target device feature set of the target device, a first device matching the target device is determined from multiple candidate devices to obtain a first device set; When the first device set includes multiple first devices, a second device that matches the target device is determined based on the similarity between the target device and each of the multiple first devices, thus obtaining a second device set; When the second device set includes multiple second devices, an associated device matching the target device is searched in a connected graph, wherein the connected graph includes multiple nodes corresponding one-to-one with the multiple second devices; and The device fingerprint of the associated device is issued to the target device. The step of determining a first device matching the target device from multiple candidate devices based on the target device feature set of the target device includes: For each of the multiple candidate devices Based on the target device feature set and the candidate device feature set, common feature information is determined, wherein the common feature information includes at least one of the following: the number of common features in the target device feature set and the candidate device feature set, the weight of each common feature, and the proportion of common features; and If the same characteristic information satisfies a predetermined rule, the candidate device is determined as the first device. The step of finding associated devices matching the target device in the connected graph includes: Based on the target device, a new node is generated in the connected graph as the target node; The target device feature set is compared with the device feature sets of other nodes in the connected graph excluding the target node. A device feature set containing at least one similar feature is determined as the associated device feature set, and the node corresponding to the associated device feature set is designated as the associated node. A second device corresponding to the associated node is identified as the associated device.
2. The method according to claim 1, wherein, The step of determining a second device among the plurality of first devices that matches the target device based on the similarity between the target device and each of the plurality of first devices includes: For each of the plurality of first devices, Based on the target device feature set and the first device feature set of the first device, a similarity is determined; and If the similarity is greater than a similarity threshold, the first device is determined to be the second device.
3. The method according to claim 1, further comprising: Collect at least one of the target device's identification information, basic device information, system underlying information, network behavior information, and device usage information to obtain a target device information set; as well as The target device feature set is obtained by performing feature calculation on the target device information set.
4. The method according to claim 2, wherein, The step of determining the similarity based on the feature set of the target device and the first device feature set of the first device includes: Using a deep learning model, the similarity between the target device feature set and the first device feature set is calculated.
5. An apparatus for issuing device fingerprints, comprising: The first determining module is used to determine a first device that matches the target device from multiple candidate devices based on the target device feature set of the target device, thereby obtaining a first device set; The second determining module is configured to, when the first device set includes multiple first devices, determine a second device among the multiple first devices that matches the target device based on the similarity between the target device and each of the multiple first devices, thereby obtaining a second device set; The third determining module is configured to, when the second device set includes multiple second devices, search in a connected graph for associated devices matching the target device, wherein the connected graph includes multiple nodes corresponding one-to-one with the multiple second devices; and The issuing module is used to issue the device fingerprint of the associated device to the target device. The first determining module includes: The identical feature determination submodule is used to determine identical feature information for each candidate device among multiple candidate devices, based on the target device feature set and the candidate device feature sets of the candidate devices. The identical feature information includes at least one of the following: the number of identical features in the target device feature set and the candidate device feature sets; the weight of each identical feature; and the proportion of identical features. The first device determination submodule is used to determine the candidate device as the first device when the same feature information satisfies a predetermined rule. The third determining module includes: The node generation submodule is used to generate new nodes in the connected graph based on the target device, as target nodes; The associated node determination submodule is used to determine, based on the target device feature set, the associated nodes connected to the target node in the connectivity graph; and The associated device determination submodule is used to determine the second device corresponding to the associated node as the associated device.
6. The apparatus according to claim 5, wherein, The second determining module includes: A similarity calculation submodule is used to determine the similarity between the target device feature set and the first device feature set of the first device for each of a plurality of first devices; and The second device determination submodule is used to determine the first device as the second device when the similarity is greater than the similarity threshold.
7. The apparatus according to claim 5, further comprising: The data acquisition module is used to collect at least one of the target device's identification information, basic device information, system underlying information, network behavior information, and device usage information to obtain a target device information set; as well as The feature calculation module is used to perform feature calculation on the target device information set to obtain the target device feature set.
8. The apparatus according to claim 7, wherein, The similarity calculation submodule includes: The computing unit is used to calculate the similarity between the target device feature set and the first device feature set using a deep learning model.
9. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-4.
10. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-4.
11. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1-4.
Citation Information
Patent Citations
Privacy-protection fingerprint authentication method and system based on token
CN102394896A
Equipment fingerprint generation method and device, equipment and storage medium
CN111478986A