CN112565479B - Dynamic generation method and system of device ID, computer device and storage medium - Google Patents

Dynamic generation method and system of device ID, computer device and storage medium Download PDF

Info

Publication number
CN112565479B
CN112565479B CN202011417814.7A CN202011417814A CN112565479B CN 112565479 B CN112565479 B CN 112565479B CN 202011417814 A CN202011417814 A CN 202011417814A CN 112565479 B CN112565479 B CN 112565479B
Authority
CN
China
Prior art keywords
bit
conflict
update
updating
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011417814.7A
Other languages
Chinese (zh)
Other versions
CN112565479A (en
Inventor
闫峰
卫海天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Minglue Zhaohui Technology Co Ltd
Original Assignee
Beijing Minglue Zhaohui Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Minglue Zhaohui Technology Co Ltd filed Critical Beijing Minglue Zhaohui Technology Co Ltd
Priority to CN202011417814.7A priority Critical patent/CN112565479B/en
Publication of CN112565479A publication Critical patent/CN112565479A/en
Application granted granted Critical
Publication of CN112565479B publication Critical patent/CN112565479B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4547Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The application discloses a method, a system, a computer device and a storage medium for dynamically generating device ID, wherein the method for dynamically generating device ID comprises the following steps: an initial ID generation step: calculating and obtaining the initial ID of the equipment according to the equipment information; ID updating: selecting an update strategy according to the version bit of the initial ID, and updating the initial ID according to the update strategy to obtain an update ID; and an ID verification step of verifying the update ID through a server, returning to the ID updating step when the verification result is conflict, and setting the update ID as the equipment ID when the verification result is non-conflict. The invention fully utilizes the advantages of the dynamic generation method of the equipment ID, protects privacy and accords with the data security specification.

Description

Dynamic generation method and system of device ID, computer device and storage medium
Technical Field
The invention belongs to the field of generation of device IDs, and particularly relates to a method, a system, computer equipment and a storage medium for dynamically generating a device ID.
Background
There is a strong need for a device unique ID for traffic sources, whether it is for accurate marketing or false traffic detection. The conventional IDs available for the precise positioning device include idfa (ios), android_id (android), imei (android), etc., and with the enhancement of data security related regulations and the limitation of manufacturers, such IDs are close to states such as being unavailable or being easily reset by users, and the IDs before and after the reset are difficult to be associated. On the other hand, some characteristic data of the device can be obtained through part of the API, and the data is not influenced by user reset, but the direct collection is also limited by data safety-related laws. The existing id generation method comprises the following steps:
(1) Obtaining independent device IDs (such as idfa, imei, android_id and the like) which can be obtained on the device by using the api;
(2) Generating a random character string on the device as an independent ID and storing the random character string on the device;
(3) The api is used to obtain device information, and some algorithms are used to hash the information to generate an ID, which is stored on the device.
The prior art has the following defects:
(1) The individual device IDs that are available to the api evolve toward several 1) not available 2) volatile (user-resettable) 3) the same device may correspond to multiple IDs (e.g., different IDs that are obtained by different applications invoking the api);
(2) The ID of the random character string is regenerated after being lost, and the two IDs cannot be associated;
(3) The device information acquired by Api may relate to user privacy or be protected by data security method and thus cannot be returned, and the direct hash generated ID may have the disadvantage that the two IDs cannot be associated after being lost.
Disclosure of Invention
The embodiment of the application provides a method, a system, a computer device and a storage medium for dynamically generating a device ID, so as to at least solve the problem of subjective factor influence in the related technology.
The invention provides a dynamic generation method of equipment ID, which comprises the following steps:
an initial ID generation step: calculating and obtaining the initial ID of the equipment according to the equipment information;
ID updating: selecting an update strategy according to the version bit of the initial ID, and updating the initial ID according to the update strategy to obtain an update ID;
ID verification step: and verifying the update ID through a server, returning to an ID updating step when the verification result is conflict, and setting the update ID as the equipment ID when the verification result is non-conflict.
The dynamic generation method, wherein the initial ID includes at least one of a version bit, a feature bit, a hash bit, a length bit, and a collision bit.
The dynamic generation method, wherein the initial ID generation step includes:
a version position obtaining step: setting the version bit according to development requirements;
the feature bit obtaining step: setting the characteristic bits according to the equipment characteristics, wherein the characteristic bits comprise low-entropy bit characteristics and/or high-entropy bit characteristics;
a hash bit obtaining step: calculating according to the low-entropy bit characteristic and/or the high-entropy bit characteristic to obtain the hash bit;
a length bit obtaining step: calculating according to the length value of the low entropy bit characteristic and/or the high entropy bit characteristic to obtain the length bit;
a collision bit obtaining step: and default setting the conflict bit.
The above-mentioned dynamic generation method, wherein the step of updating the ID includes:
algorithm determining: correspondingly updating an algorithm according to the version bit selection;
update ID obtaining step: and generating a hash value of part of the characteristic bits according to the updating algorithm, and setting the conflict bit to be 1 to obtain the updating ID.
The initial ID is a fixed-length ID or a variable-length ID, and when the initial ID is the variable-length ID, the update ID obtaining step further includes the update algorithm truncating the hash value according to a default value of the length bit.
The dynamic generation method, wherein the ID verification step includes: and verifying the update ID through the server, and if no conflict exists, setting the update ID as the equipment ID and storing the equipment ID after the conflict position of the update ID is 0.
The dynamic generation method, wherein when a conflict exists, the conflict position is 1 and then the update ID obtaining step is returned;
when the conflict type is ID conflict of different devices, more features are selected to calculate to obtain the update ID, or the truncated hash bit is recalculated, and the longer hash bit is intercepted to calculate to obtain the update ID; when the conflict type is the same equipment ID conflict, in the step of obtaining the update ID, more features are selected for calculation to obtain the update ID;
the step of ID verification further comprises the step that the server verifies the update ID through a threshold value, and when the threshold value is met, the update ID is set as the equipment ID.
The invention also provides a dynamic generation system of the equipment ID, which comprises the following steps:
an initial ID generation module for calculating and obtaining the initial ID of the equipment according to the equipment information;
the ID updating module is used for selecting an updating strategy according to the version bit of the initial ID, and updating the initial ID according to the updating strategy to obtain an updated ID;
and the ID verification module is used for verifying the update ID through the server, returning to the ID updating module when the verification result is conflict, and setting the update ID as the equipment ID when the verification result is non-conflict.
The invention also provides a computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the method for dynamically generating device IDs as described in any one of the above when executing the computer program.
The present invention also provides a storage medium having stored thereon a computer program, wherein the program when executed by a processor implements the method of dynamic generation of a device ID as described in any of the above.
Compared with the prior art, the invention has the following beneficial effects:
1. dynamically generating ID, reducing performance pressure on device
High entropy features typically require more computation, and the present mechanism only performs computation on more features when IDs collide;
2. the high entropy characteristic is not returned, the privacy is protected, and the data security specification is easily met;
3. the ID of the same equipment can be restored by being calculated again after being lost, and the association degree between the ID and the equipment is high;
the ID can be directly used for calculating the similarity at the server side and comparing the figure description.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute an undue limitation to the application. In the drawings:
FIG. 1 is a flow chart of a method of dynamic generation of device IDs;
FIG. 2 is a substep flow chart of step S1 in FIG. 1;
FIG. 3 is a substep flow chart of step S2 in FIG. 1;
FIG. 4 is a schematic diagram of a dynamic generation system of device IDs;
fig. 5 is a frame diagram of a computer device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described and illustrated below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden on the person of ordinary skill in the art based on the embodiments provided herein, are intended to be within the scope of the present application.
It is apparent that the drawings in the following description are only some examples or embodiments of the present application, and it is possible for those of ordinary skill in the art to apply the present application to other similar situations according to these drawings without inventive effort. Moreover, it should be appreciated that while such a development effort might be complex and lengthy, it would nevertheless be a routine undertaking of design, fabrication, or manufacture for those of ordinary skill having the benefit of this disclosure, and thus should not be construed as having the benefit of this disclosure.
Reference in the specification to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is to be expressly and implicitly understood by those of ordinary skill in the art that the embodiments described herein can be combined with other embodiments without conflict.
Unless defined otherwise, technical or scientific terms used herein should be given the ordinary meaning as understood by one of ordinary skill in the art to which this application belongs. Reference to "a," "an," "the," and similar terms herein do not denote a limitation of quantity, but rather denote the singular or plural. The terms "comprising," "including," "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, article, or apparatus that comprises a list of steps or modules (elements) is not limited to only those steps or elements but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus. The terms "connected," "coupled," and the like in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The term "plurality" as used herein refers to two or more. "and/or" describes an association relationship of an association object, meaning that there may be three relationships, e.g., "a and/or B" may mean: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship. The terms "first," "second," "third," and the like, as used herein, are merely distinguishing between similar objects and not representing a particular ordering of objects.
The present invention will be described in detail below with reference to the embodiments shown in the drawings, but it should be understood that the embodiments are not limited to the present invention, and functional, method, or structural equivalents and alternatives according to the embodiments are within the scope of protection of the present invention by those skilled in the art.
Before explaining the various embodiments of the invention in detail, the core inventive concepts of the invention are summarized and described in detail by the following examples.
Referring to fig. 1, fig. 1 is a flowchart of a method for dynamically generating device IDs. As shown in fig. 1, the dynamic generation method of the device ID of the present invention includes:
initial ID generation step S1: calculating and obtaining an initial ID of the equipment according to the equipment information;
ID updating step S2: selecting an update strategy according to the version bit of the initial ID, and updating the initial ID according to the update strategy to obtain an update ID;
ID verification step S3: and verifying the update ID through a server, returning to an ID updating step when the verification result is conflict, and setting the update ID as the equipment ID when the verification result is non-conflict.
Wherein the initial ID includes at least one of a version bit, a feature bit, a hash bit, a length bit, and a collision bit.
Referring to fig. 2, fig. 2 is a partial flow chart of step S1 in fig. 1. As shown in fig. 2, the initial ID generation step S1 includes:
version bit obtaining step S11: setting the version bit according to development requirements;
feature bit obtaining step S12: setting the characteristic bits according to the equipment characteristics, wherein the characteristic bits comprise low-entropy bit characteristics and/or high-entropy bit characteristics;
hash bit obtaining step S13: calculating according to the low-entropy bit characteristic and/or the high-entropy bit characteristic to obtain the hash bit;
length bit obtaining step S14: calculating according to the length value of the low entropy bit characteristic and/or the high entropy bit characteristic to obtain the length bit;
conflict bit obtaining step S15: and default setting the conflict bit.
Referring to fig. 3, fig. 3 is a partial flow chart of step S2 in fig. 1. As shown in fig. 3, the ID updating step S2 includes:
the algorithm determines step S21: correspondingly updating an algorithm according to the version bit selection;
update ID obtaining step S22: and generating a hash value of part of the characteristic bits according to the updating algorithm, and setting the conflict bit to be 1 to obtain the updating ID.
When the initial ID is the variable length ID, the updating ID obtaining step further includes the updating algorithm truncating the hash value according to a default value of the length bit.
Further, the ID verification step S3 includes: and verifying the update ID through the server, and if no conflict exists, setting the update ID as the equipment ID and storing the equipment ID after the conflict position of the update ID is 0.
When a conflict exists, returning the conflict position to the update ID obtaining step after the conflict position is 1;
when the conflict type is ID conflict of different devices, more features are selected to calculate to obtain the update ID, or the truncated hash bit is recalculated, and the longer hash bit is intercepted to calculate to obtain the update ID; when the conflict type is the same equipment ID conflict, in the step of obtaining the update ID, more features are selected for calculation to obtain the update ID;
the step S3 of ID verification further includes that the server verifies the update ID through a threshold, and when the threshold is satisfied, the update ID is set as the device ID.
Hereinafter, the method for dynamically generating a device ID according to the present invention will be specifically described with reference to examples.
Embodiment one:
an ID is composed of a plurality of consecutive 2-ary digits, each digit having the following meaning (the digits are merely examples)
Variable length ID
Figure BDA0002820782380000071
Figure BDA0002820782380000081
In the following, a specific meaning of a generated ID 0101010010000001010110111 is as follows
Figure BDA0002820782380000082
Fixed length ID
Figure BDA0002820782380000083
Figure BDA0002820782380000091
1. Version position: according to development requirements, the maximum simultaneous use version number on the line is estimated, e.g. there are at most 8 versions on the line, i.e. 3 bits can be used to rotate to represent the eight versions.
2. Characteristic bits: any device feature that can be collected in a programmed manner, different versions may use different features or add new features, each bit representing a feature, where the features can be further divided into two types, low entropy and high entropy;
2.1 first defining the entropy of the feature as follows, in the information theory, entropy (entropy) represents the average amount of information contained in the message, which is a measure of uncertainty;
entropy H (X) =e [ I (X) ]=e [ -ln (P (X)) ];
where P is the probability mass function of the random variable X, E is the desired, and I (X) represents the information content of X.
When X is a discrete random variable, it can be written as: h (x) = Σip (xi) log2P (xi);
2.2 if there is an ideal coin whose opportunities to appear front and back are equal, the entropy of the coin-tossing event is equal to the maximum that it can reach. We cannot know what the result of the next coin toss is, and therefore each coin toss is unpredictable. Thus, the entropy of this event is one bit using one normal coin for several throws, since the results are not just two-front or back-can be represented as a 0,1 code, and the two results are independent of each other. If n independent experiments are performed, the entropy is n, as it can be represented by a bit stream of length n;
2.3 common low entropy bits (entropy < threshold S, here 5) include: screen resolution, system language, whether the system enables Do Not Track, the number of cpus of the device, memory size and the like;
2.4 high entropy bits include (entropy value) threshold S, here 5), user Agent, canvas fingerprint, authocoex fingerprint, webgl fingerprint, etc., any data security legislative feature will also be considered high entropy bits;
2.5 calculation of entropy value comes from two kinds, one is published paper research, the other is calculation based on sample flow, and the threshold S can be adjusted as required;
2.6 entropy.
3. The hash bits and the length bits, the hash bits are calculated differently for the low entropy bits and the high entropy bits, and the length bits are valid only for the variable length ID;
3.1 low entropy bits, features of low entropy bits, usually fewer possible values for different devices, usually allow collection and return, so that statistics can be directly performed on existing sample traffic, all different values are enumerated, the different values are represented by an L-bit 2-ary string, a maximum hash length L is defined for each feature hash value, the hash length L can be adjusted according to panel data or collision of IDs collected in a later collection process, and L is recorded in the length bit;
3.2 high entropy, the characteristic of high entropy, usually have greater probability to locate the apparatus accurately, therefore return and gather and have greater privacy risk, we use a hash function here, turn this characteristic into a 2 system character string representation of L bit of the longest bit, the adjustment mode of L is the same;
3.3 for fixed length ID, all L values are the same, thus no length bits are required;
4. generating and updating a strategy of the fixed-length ID;
version 4.1 bits determine the update algorithm used;
4.2, the device uses an updating algorithm to generate a hash value of part of the feature bits, sets the conflict bit as 1, generates a final ID, and uses the feature bits to obtain a more stable selection in the process of analyzing the panel data and version iteration;
4.3 the device sends the ID to the server, which verifies if the ID already exists (collision occurs);
4.3.1 if there is no collision, then the last ID (collision bit) is set to 0 and returned, the device saves the ID and still uses the ID in the communication process thereafter (there is an additional session mechanism to ensure that each communication is verified to be the same device, e.g., browser cookie);
4.3.2 if there is a conflict, the end position of ID is 1 and returns, which is divided into the following two cases;
4.3.2.1, but the IDs conflict, and at the moment, more features are selected to calculate and update the IDs according to a version algorithm;
4.3.2.2 the same device, but in different sessions or with lost sessions, more features are selected for calculation according to the version algorithm, and if different sessions are updated simultaneously, there may be continuous collisions, where two thresholds (the thresholds may be adjusted according to the analysis of the packet traffic) may be set, 1. The number of continuous collisions, the length of the feature bits and the hash bits of 2.id, and the ID reaching the threshold is considered to be the same device ID (even if not in the same session).
5. Generating and updating a variable length ID;
version 5.1 bits determine the update algorithm used;
5.2, the device uses an updating algorithm to generate a hash value of part of characteristic bits, uses a default value of length bits in the updating algorithm to intercept the hash value, sets a conflict bit as 1 to generate a final ID, uses the characteristic bits and the lengths of the corresponding hash bits, and obtains a relatively stable selection in the process of analysis of panel data and version iteration;
5.3 the device sends the ID to the server, which verifies if the ID already exists (collision occurs);
5.3.1 if there is no collision, then the last ID (collision bit) is set to 0 and returned, the device saves the ID and uses it still in the communication process thereafter (there is an additional session mechanism to ensure that each communication is verified as the same device, e.g., browser cookie);
5.3.2 if there is a conflict, the ID end position is 1 and returns, which is divided into the following two cases;
5.3.2.1 different devices, but ID conflicts, at this time, according to the version algorithm, recalculate the truncated hash bit, intercept the longer hash bit, or choose more characteristics to calculate and update ID;
5.3.2.2 the same device, but in different sessions or with lost sessions, at this time, according to the version algorithm, after more features are selected for calculation, if different sessions are updated simultaneously, there is a possibility of continuous collision, at this time, two thresholds (the thresholds may be adjusted according to the analysis of the panel traffic) may be set, 1. The number of continuous collisions, the feature bit and the length of the hash bit of 2.ID, consider that the ID reaching the threshold is the same device ID (even if not in the same session).
Embodiment two:
referring to fig. 4, fig. 4 is a schematic diagram of a dynamic generation system of device IDs. As shown in fig. 4, the dynamic generation system of the present invention includes:
an initial ID generation module 11 that calculates an initial ID of the device from the device information;
the ID updating module 12 selects an updating strategy according to the version bit of the initial ID, and updates the initial ID according to the updating strategy to obtain an updated ID;
and an ID verification module 13 for verifying the update ID through the server, returning to the ID update module when the verification result is conflict, and setting the update ID as the device ID when the verification result is non-conflict.
Embodiment III:
referring to FIGS. 1-3, this embodiment discloses a specific implementation of a computer device. The computer device may include a processor 81 and a memory 82 storing computer program instructions.
In particular, the processor 81 may include a Central Processing Unit (CPU), or an application specific integrated circuit (Application Specific Integrated Circuit, abbreviated as ASIC), or may be configured to implement one or more integrated circuits of embodiments of the present application.
Memory 82 may include, among other things, mass storage for data or instructions. By way of example, and not limitation, memory 82 may comprise a Hard Disk Drive (HDD), floppy Disk Drive, solid state Drive (Solid State Drive, SSD), flash memory, optical Disk, magneto-optical Disk, tape, or universal serial bus (Universal Serial Bus, USB) Drive, or a combination of two or more of the foregoing. The memory 82 may include removable or non-removable (or fixed) media, where appropriate. The memory 82 may be internal or external to the data processing apparatus, where appropriate. In a particular embodiment, the memory 82 is a Non-Volatile (Non-Volatile) memory. In a particular embodiment, the Memory 82 includes Read-Only Memory (ROM) and random access Memory (Random Access Memory, RAM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (Programmable Read-Only Memory, abbreviated PROM), an erasable PROM (Erasable Programmable Read-Only Memory, abbreviated EPROM), an electrically erasable PROM (Electrically Erasable Programmable Read-Only Memory, abbreviated EEPROM), an electrically rewritable ROM (Electrically Alterable Read-Only Memory, abbreviated EAROM), or a FLASH Memory (FLASH), or a combination of two or more of these. The RAM may be Static Random-Access Memory (SRAM) or dynamic Random-Access Memory (Dynamic Random Access Memory DRAM), where the DRAM may be a fast page mode dynamic Random-Access Memory (Fast Page Mode Dynamic Random Access Memory FPMDRAM), extended data output dynamic Random-Access Memory (Extended Date Out Dynamic Random Access Memory EDODRAM), synchronous dynamic Random-Access Memory (Synchronous Dynamic Random-Access Memory SDRAM), or the like, as appropriate.
Memory 82 may be used to store or cache various data files that need to be processed and/or communicated, as well as possible computer program instructions for execution by processor 81.
The processor 81 reads and executes the computer program instructions stored in the memory 82 to implement the dynamic generation method of the device ID of any one of the above embodiments.
In some of these embodiments, the computer device may also include a communication interface 83 and a bus 80. As shown in fig. 1, the processor 81, the memory 82, and the communication interface 83 are connected to each other through the bus 80 and perform communication with each other.
The communication interface 83 is used to implement communications between various modules, devices, units, and/or units in embodiments of the present application. Communication port 83 may also enable communication with other components such as: and the external equipment, the image/data acquisition equipment, the database, the external storage, the image/data processing workstation and the like are used for data communication.
Bus 80 includes hardware, software, or both, coupling components of the computer device to each other. Bus 80 includes, but is not limited to, at least one of: data Bus (Data Bus), address Bus (Address Bus), control Bus (Control Bus), expansion Bus (Expansion Bus), local Bus (Local Bus). By way of example, and not limitation, bus 80 may include a graphics acceleration interface (Accelerated Graphics Port), abbreviated AGP, or other graphics Bus, an enhanced industry standard architecture (Extended Industry Standard Architecture, abbreviated EISA) Bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an industry standard architecture (Industry Standard Architecture, ISA) Bus, a wireless bandwidth (InfiniBand) interconnect, a Low Pin Count (LPC) Bus, a memory Bus, a micro channel architecture (Micro Channel Architecture, abbreviated MCa) Bus, a peripheral component interconnect (Peripheral Component Interconnect, abbreviated PCI) Bus, a PCI-Express (PCI-X) Bus, a serial advanced technology attachment (Serial Advanced Technology Attachment, abbreviated SATA) Bus, a video electronics standards association local (Video Electronics Standards Association Local Bus, abbreviated VLB) Bus, or other suitable Bus, or a combination of two or more of the foregoing. Bus 80 may include one or more buses, where appropriate. Although embodiments of the present application describe and illustrate a particular bus, the present application contemplates any suitable bus or interconnect.
The computer device may dynamically generate device IDs based on the device IDs to implement the methods described in connection with fig. 1-3.
In addition, in combination with the method for dynamically generating the device ID in the above embodiment, the embodiment of the application may be implemented by providing a computer readable storage medium. The computer readable storage medium has stored thereon computer program instructions; the computer program instructions, when executed by a processor, implement a method for dynamically generating a device ID in any of the above embodiments.
The technical features of the above-described embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above-described embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
In summary, the invention has the beneficial effects that
1. Dynamically generating an ID, reducing the high entropy value characteristic of the performance pressure of the equipment, and generally requiring more calculation, wherein the mechanism only performs calculation on more characteristics when the IDs conflict;
2. the high entropy characteristic is not returned, the privacy is protected, and the data security specification is easily met;
3. the ID of the same equipment can be restored by being calculated again after being lost, and the association degree between the ID and the equipment is high;
the ID can be directly used for calculating the similarity at the server side and comparing the figure description.
The above examples merely represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the invention. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application is to be determined by the claims appended hereto.

Claims (10)

1. A method for dynamically generating a device ID, comprising:
an initial ID generation step: calculating and obtaining the initial ID of the equipment according to the equipment information;
ID updating: selecting an update strategy according to the version bit of the initial ID, and updating the initial ID according to the update strategy to obtain an update ID;
ID verification step: verifying the update ID through a server, returning to an ID updating step when the verification result is conflict, and setting the update ID as a device ID when the verification result is non-conflict;
when a conflict exists, returning the conflict position to the ID updating step after the conflict position is 1;
when the conflict type is ID conflict of different devices, in the step of updating the ID, selecting a feature to calculate to obtain the updated ID, or re-calculating truncated hash bits, intercepting the hash bits to calculate to obtain the updated ID; and when the conflict type is the same equipment ID conflict, in the ID updating step, selecting a characteristic to calculate and then obtaining the updated ID.
2. The dynamic generation method of claim 1, wherein the initial ID includes at least one of a version bit, a feature bit, a hash bit, a length bit, and a collision bit.
3. The dynamic generation method of claim 2, wherein the initial ID generation step includes:
a version position obtaining step: setting the version bit according to development requirements;
the feature bit obtaining step: setting the characteristic bits according to the equipment characteristics, wherein the characteristic bits comprise low-entropy bit characteristics and/or high-entropy bit characteristics;
a hash bit obtaining step: calculating according to the low-entropy bit characteristic and/or the high-entropy bit characteristic to obtain the hash bit;
a length bit obtaining step: calculating according to the length value of the low entropy bit characteristic and/or the high entropy bit characteristic to obtain the length bit;
a collision bit obtaining step: and default setting the conflict bit.
4. The dynamic generation method of claim 3, wherein the ID updating step includes:
algorithm determining: correspondingly updating an algorithm according to the version bit selection;
update ID obtaining step: and generating a hash value of part of the characteristic bits according to the updating algorithm, and setting the conflict bit to be 1 to obtain the updating ID.
5. The dynamic generation method of claim 4, wherein the initial ID is a fixed-length ID or a variable-length ID, and the update ID obtaining step further includes the update algorithm truncating the hash value according to a default value of the length bit when the initial ID is the variable-length ID.
6. The dynamic generation method of claim 1, wherein the ID verification step includes: and verifying the update ID through the server, and if no conflict exists, setting the update ID as the equipment ID and storing the equipment ID after the conflict position of the update ID is 0.
7. The dynamic generation method of claim 1, wherein,
the step of ID verification further comprises the step that the server verifies the update ID through a threshold value, and when the threshold value is met, the update ID is set as the equipment ID.
8. A system for dynamically generating a device ID, comprising:
an initial ID generation module for calculating and obtaining the initial ID of the equipment according to the equipment information;
the ID updating module is used for selecting an updating strategy according to the version bit of the initial ID, and updating the initial ID according to the updating strategy to obtain an updated ID;
the ID verification module is used for verifying the update ID through the server, returning to the ID update module when the verification result is conflict, and setting the update ID as the equipment ID when the verification result is non-conflict;
when a conflict exists, after the conflict position is 1,
when the conflict type is ID conflict of different devices, the ID updating module selects a characteristic to calculate so as to obtain the updated ID, or recalculates truncated hash bits, intercepts the hash bits and calculates so as to obtain the updated ID; and when the conflict type is the same equipment ID conflict, the ID updating module selects a characteristic to calculate and then obtains the updated ID.
9. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements a method for dynamic generation of a device ID according to any of claims 1 to 7 when executing the computer program.
10. A storage medium having stored thereon a computer program, which when executed by a processor implements the method of dynamic generation of a device ID according to any one of claims 1 to 7.
CN202011417814.7A 2020-12-07 2020-12-07 Dynamic generation method and system of device ID, computer device and storage medium Active CN112565479B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011417814.7A CN112565479B (en) 2020-12-07 2020-12-07 Dynamic generation method and system of device ID, computer device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011417814.7A CN112565479B (en) 2020-12-07 2020-12-07 Dynamic generation method and system of device ID, computer device and storage medium

Publications (2)

Publication Number Publication Date
CN112565479A CN112565479A (en) 2021-03-26
CN112565479B true CN112565479B (en) 2023-07-11

Family

ID=75059081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011417814.7A Active CN112565479B (en) 2020-12-07 2020-12-07 Dynamic generation method and system of device ID, computer device and storage medium

Country Status (1)

Country Link
CN (1) CN112565479B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462639A (en) * 2014-06-24 2017-02-22 谷歌公司 Processing mutations for remote database
CN111935059A (en) * 2019-05-13 2020-11-13 阿里巴巴集团控股有限公司 Method, device and system for processing equipment identifier

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
EP3460700A1 (en) * 2017-09-22 2019-03-27 Banco Bilbao Vizcaya Argentaria, S.A. Authentication of software update modules using chameleon hashing.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462639A (en) * 2014-06-24 2017-02-22 谷歌公司 Processing mutations for remote database
CN111935059A (en) * 2019-05-13 2020-11-13 阿里巴巴集团控股有限公司 Method, device and system for processing equipment identifier

Also Published As

Publication number Publication date
CN112565479A (en) 2021-03-26

Similar Documents

Publication Publication Date Title
CN109145158B (en) Processing method of data in bloom filter and bloom filter
CN108234347B (en) Method, device, network equipment and storage medium for extracting feature string
US7304942B1 (en) Methods and apparatus for maintaining statistic counters and updating a secondary counter storage via a queue for reducing or eliminating overflow of the counters
CN107832062B (en) Program updating method and terminal equipment
CN102790809B (en) Domain name system resolution, device and client
CN107454120A (en) The method of network attack defending system and defending against network attacks
CN107197000B (en) Static and dynamic hybrid caching method, device and system
CN112565479B (en) Dynamic generation method and system of device ID, computer device and storage medium
CN108776665B (en) Data processing method and device
CN108363649B (en) Distributed log access amount statistical method and device
CN112636915B (en) Batch signature verification method, device, equipment and medium based on SM2 cryptographic algorithm
CN111835599B (en) SketchLearn-based hybrid network measurement method, device and medium
CN107277062B (en) Parallel processing method and device for data packets
CN112988892A (en) Distributed system hot spot data management method
US20020147722A1 (en) Method and system for reassembling fragmented datagrams utilizing a plurality of concurrently accessible reassembly queues
CN113656830B (en) Database desensitization grammar parsing method, system, computer and readable storage medium
CN113329035B (en) Method and device for detecting attack domain name, electronic equipment and storage medium
CN112905542A (en) File processing method, device, server, equipment and storage medium
JP2018511131A (en) Hierarchical cost-based caching for online media
CN113918776B (en) Data caching method and device, electronic equipment and data query method
JP6992309B2 (en) Transmitter, receiver, and communication method
CN108650249A (en) POC attack detection methods, device, computer equipment and storage medium
CN112019547B (en) Network traffic evaluation method, attack detection method, server, and storage medium
CN111866156B (en) Fusing processing method and device
US9729680B2 (en) Methods and systems to embed valid-field (VF) bits in classification keys for network packet frames

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant