Method and device for realizing fingerprint consistency of fingerprint browser
The Chromium-based fingerprint browser method identifies and uploads only necessary fingerprint images, addressing the issue of excessive data transmission and storage costs by determining image similarity, thus maintaining fingerprint consistency and reducing costs.
Patent Information
- Application Number
- CN202411538340.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-03-28
AI Technical Summary
Current methods for maintaining consistent canvas and WebGL fingerprints across different hardware devices result in excessive non-fingerprint image uploads and downloads, leading to increased cloud storage and traffic costs, which degrade the performance and raise costs for fingerprint browsers.
Implement a method within a Chromium-based fingerprint browser that identifies and uploads only fingerprint images, using fingerprint feature data to determine similarity and decide whether to upload or replace images, thereby reducing unnecessary data transmission and storage.
This approach quickly identifies and uploads only necessary fingerprint images, reducing cloud storage and traffic costs while ensuring fingerprint consistency across hardware changes.
Smart Images

Figure CN119720165A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information processing technology, and in particular to a method and device for implementing fingerprint consistency in a fingerprint browser. Background Art
[0002] The existing canvas fingerprint and webgl fingerprint are related to the hardware devices used. When the same user changes the hardware device to log in to the same account, the canvas fingerprint and webgl fingerprint will change, causing the user to need to re-verify. For the current fingerprint browser, when logging in on different hardware devices, in order to ensure that the canvas fingerprint and webgl fingerprint are consistent with the last login, the base64 string of the image output by Chrome's toDataUrl API needs to be directly uploaded to the cloud. The next time the fingerprint browser is opened, it will be sent to the fingerprint browser of the corresponding device to ensure that the canvas fingerprint and webgl fingerprint are consistent.
[0003] The disadvantage of the above method is that a large number of non-fingerprint images will be uploaded and downloaded, which will cause a large amount of cloud storage and traffic costs, which will lead to the problem of poor performance of the fingerprint browser and increased enterprise costs. Summary of the invention
[0004] The technical problem to be solved by the present invention is to provide a method and device for achieving fingerprint consistency in a fingerprint browser, thereby reducing traffic costs and cloud storage capacity.
[0005] In a first aspect, the present invention provides a method for implementing fingerprint consistency in a fingerprint browser, wherein the fingerprint browser is implemented based on a chromium kernel and specifically comprises the following steps:
[0006] Step 1: Obtain the first fingerprint images of all domain names in the set list through the fingerprint browser, obtain the first fingerprint feature data according to the first fingerprint image, and upload the first fingerprint feature data and the corresponding domain name to the first document in the cloud;
[0007] Step 2: When an account first accesses a domain name through a fingerprint browser, it is first determined whether the domain name is in the set list. If not, the process ends directly. If so, all intercepted images are determined according to the first fingerprint feature data. If the image is a second fingerprint image, the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document. If the image is not a fingerprint image, it is not uploaded.
[0008] Step 3: When an account accesses a domain name through a fingerprint browser for a non-first time, the second fingerprint feature data of the account under the domain name is obtained from the second document to judge all intercepted images. If the image is a third fingerprint image, the third fingerprint image is compared with the second fingerprint image for similarity. When the similarity value is greater than a set threshold, the third fingerprint image is output to the corresponding domain name; when the similarity value is less than or equal to the set threshold, the second fingerprint image is output to the corresponding domain name.
[0009] In a second aspect, the present invention provides a device for implementing fingerprint consistency in a fingerprint browser, wherein the fingerprint browser is implemented based on a chromium kernel and specifically comprises the following modules:
[0010] The fingerprint feature module obtains the first fingerprint image of all domain names in the set list through the fingerprint browser, obtains the first fingerprint feature data according to the first fingerprint image, and uploads the first fingerprint feature data and the corresponding domain name to a first document in the cloud;
[0011] The fingerprint acquisition module, when an account first accesses a domain name through a fingerprint browser, first determines whether the domain name is in the set list. If not, it ends directly; if it is, all intercepted images are determined according to the first fingerprint feature data. If the image is a second fingerprint image, the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document; if the image is not a fingerprint image, it is not uploaded;
[0012] Keeping the same module, when an account accesses a domain name through a fingerprint browser for the first time or not, the second fingerprint feature data of the account under the domain name is obtained from the second document to judge all intercepted images. If the image is a third fingerprint image, the third fingerprint image is compared with the second fingerprint image for similarity. When the similarity value is greater than a set threshold, the third fingerprint image is output to the corresponding domain name; when the similarity value is less than or equal to the set threshold, the second fingerprint image is output to the corresponding domain name.
[0013] One or more technical solutions provided by the present invention have at least the following technical effects or advantages:
[0014] The present invention can quickly identify the fingerprint image, and then only upload the fingerprint image, reducing the cloud storage and traffic costs; and in this way, after the fingerprint image is obtained, it is directly placed in the cloud. When the user needs to change the hardware to log in or log in to the same domain name after deleting the fingerprint image, the fingerprint image can be directly replaced in this way, ensuring the consistency of the fingerprint image.
[0015] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The present invention will be further described below in conjunction with embodiments with reference to the accompanying drawings.
[0017] Figure 1 is a flow chart of the method in Embodiment 1 of the present invention;
[0018] Figure 2 It is a schematic diagram of the structure of the device in the second embodiment of the present invention. DETAILED DESCRIPTION
[0019] The embodiment of the present application provides a method and device for implementing fingerprint consistency in a fingerprint browser, which can quickly identify the fingerprint image and then only upload the fingerprint image, thereby reducing the cost of cloud storage and traffic.
[0020] The technical solution in the embodiment of the present application has the following general idea:
[0021] Fingerprint images include canvas fingerprints and webgl fingerprints, both of which are images;
[0022] Identify the specific data of canvas fingerprint and / or webgl fingerprint of a platform. This data is named as base_fp in this document: basic fingerprint data of each platform;
[0023] According to the document base_fp, filter and identify canvas fingerprints and / or webgl fingerprints, and then save the corresponding fingerprints into a document named: platform_fp and upload it;
[0024] When using across machines, replace the canvas fingerprint and / or webgl fingerprint according to the documentation flatform_fp.
[0025] Specifically include:
[0026] (1) Identify the canvas fingerprint and / or webgl fingerprint of a platform
[0027] 1.1 The canvas fingerprint and / or webgl fingerprint of each platform will be generated on the login page. The fingerprint of each platform appears to be the same on different machines, but they are actually different. The first step is to identify the template for use in subsequent steps.
[0028] 1.2 Through manual inspection of some pure text, pure color, or color and text intersection images, we can manually identify the images as canvas fingerprints and / or webgl fingerprints. The canvas & webgl fingerprint template base_fp (Amazon platform) of each platform after cleaning is:
[0029] {Host:".amazon.com",Resolution:"150x60",similarity:0.9,
[0030] value:"data:image / png;base64,ivbxxx..."}
[0031] 1.3 Implementation of listening toDataURL
[0032] In the V8 module in the Chromium source code, find the toDataURL API. When calling this API, upload the image returned by this API to the cloud, manually clean the fingerprint image, and form the data in step 1.2.
[0033] (2) Based on the fingerprint data obtained in (1), filter and identify the fingerprint data of canvas & webgl, and upload it.
[0034] 2.1 When the fingerprint browser accesses the platform page, it listens to the call of toDataURL, intercepts the pictures returned by it, and filters out the pictures whose width and height are equal to the width and height of the corresponding platform fingerprint pictures in our model data.
[0035] If the width and height are in the corresponding Host in base_fp, then the intercepted image is compared with the corresponding image in base_fp for similarity (LevenshteinDistance or Edit Distance algorithm can be used to calculate the similarity). When the similarity is greater than or equal to the similarity corresponding to base_fp, the image is considered to be a canvas&webgl fingerprint, uploaded to the cloud, and formed into an item in platform_fp for use when switching machines or when local data is deleted.
[0036] (3) When used across machines, replace the fingerprint data of canvas & webgl with the fingerprint data of (2)
[0037] 3.1 Send the platform_fp generated in step (2) to the fingerprint browser. When the user visits the platform page and needs to use toDataURL, intercept the image returned and determine whether the width and height of the image are equal to the width and height of the corresponding platform fingerprint image in the platform_fp data. If the width and height are in the corresponding host in our platform_fp, we compare the intercepted image with the corresponding image in platform_fp for similarity (Levenshtein Distance or EditDistance algorithm can be used to calculate the similarity). When the similarity is greater than or equal to the similarity corresponding to platform_fp, we consider the image to be a canvas&webgl fingerprint. At this time, we use this fingerprint in platform_fp to replace the current intercepted image and output it to the platform page.
[0038] Embodiment 1
[0039] like Figure 1 As shown, this embodiment provides a method for implementing fingerprint consistency in a fingerprint browser, wherein the fingerprint browser is implemented based on a chromium kernel; specifically, the following steps are included:
[0040] Step 1: Obtain the first fingerprint images of all domain names in the set list through the fingerprint browser, obtain the first fingerprint feature data according to the first fingerprint image, and upload the first fingerprint feature data and the corresponding domain name to the first document in the cloud;
[0041] Step 2: When an account first accesses a domain name through a fingerprint browser, it is first determined whether the domain name is in the set list. If not, the process ends directly. If so, all intercepted images are determined according to the first fingerprint feature data. If the image is a second fingerprint image, the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document. If the image is not a fingerprint image, it is not uploaded.
[0042] Step 3: When an account accesses a domain name through a fingerprint browser for a non-first time, the second fingerprint feature data of the account under the domain name is obtained from the second document to judge all intercepted images. If the image is a third fingerprint image, the third fingerprint image is compared with the second fingerprint image for similarity. When the similarity value is greater than a set threshold, the third fingerprint image is output to the corresponding domain name; when the similarity value is less than or equal to the set threshold, the second fingerprint image is output to the corresponding domain name.
[0043] In this embodiment, preferably, the step 1 is specifically:
[0044] According to the set list, each domain name in the set list is logged in through the fingerprint browser, the pictures returned by calling toDataURL are uploaded to the cloud, the pictures are cleaned, the fingerprint pictures therein are identified, and the first fingerprint picture corresponding to each domain name in the set list is obtained. The first fingerprint feature data is obtained according to the first fingerprint picture, and the first fingerprint feature data includes: domain name, picture resolution, first similarity value and base64 value of the first fingerprint picture. The first fingerprint feature data and the corresponding domain name are uploaded to the first document in the cloud.
[0045] In this embodiment, preferably, the 2 is specifically: when an account accesses a domain name through a fingerprint browser for the first time, first determine whether the domain name is in the set list, if not, end directly; if it exists, intercept all images returned by calling toDataURL, and judge all intercepted images according to the image resolution in the first fingerprint feature data. If it is consistent with the image resolution, calculate the similarity between the image and the base64 value of the first fingerprint image. If it is greater than the first similarity value, the image is the second fingerprint image, and the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document; if the image is not a fingerprint image, it is not uploaded; the second fingerprint feature data includes: domain name, image resolution, second similarity value and base64 value of the second fingerprint image.
[0046] In this embodiment, preferably, the step 3 is specifically as follows: when an account accesses a domain name through a fingerprint browser for a non-first time, all images returned by calling toDataURL are intercepted, and all intercepted images are judged according to the image resolution of the second fingerprint feature data of the account under the domain name in the second document. If the resolution of the image is equal to the image resolution in the second fingerprint feature data, the image is a third fingerprint image, and the similarity between the third fingerprint image and the base64 value of the second fingerprint image is calculated. If it is greater than the second similarity value, the third fingerprint image is output to the corresponding domain name; if it is less than or equal to the second similarity value, the second fingerprint image is output to the corresponding domain name.
[0047] In this embodiment, preferably, the similarity calculation is a Levenshtein Distance algorithm or an EditDistance algorithm.
[0048] Based on the same inventive concept, the present application also provides a device corresponding to the method in Example 1, see Example 2 for details.
[0049] Embodiment 2
[0050] like Figure 2As shown, in this embodiment, a device for implementing fingerprint consistency in a fingerprint browser is provided, and the fingerprint browser is implemented based on the Chromium kernel; specifically, it includes the following modules:
[0051] The fingerprint feature module obtains the first fingerprint image of all domain names in the set list through the fingerprint browser, obtains the first fingerprint feature data according to the first fingerprint image, and uploads the first fingerprint feature data and the corresponding domain name to a first document in the cloud;
[0052] The fingerprint acquisition module, when an account first accesses a domain name through a fingerprint browser, first determines whether the domain name is in the set list. If not, it ends directly; if it is, all intercepted images are determined according to the first fingerprint feature data. If the image is a second fingerprint image, the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document; if the image is not a fingerprint image, it is not uploaded;
[0053] Keeping the same module, when an account accesses a domain name through a fingerprint browser for the first time or not, the second fingerprint feature data of the account under the domain name is obtained from the second document to judge all intercepted images. If the image is a third fingerprint image, the third fingerprint image is compared with the second fingerprint image for similarity. When the similarity value is greater than a set threshold, the third fingerprint image is output to the corresponding domain name; when the similarity value is less than or equal to the set threshold, the second fingerprint image is output to the corresponding domain name.
[0054] In this embodiment, preferably, the fingerprint feature module is specifically:
[0055] According to the set list, each domain name in the set list is logged in through the fingerprint browser, the pictures returned by calling toDataURL are uploaded to the cloud, the pictures are cleaned, the fingerprint pictures therein are identified, and the first fingerprint picture corresponding to each domain name in the set list is obtained. The first fingerprint feature data is obtained according to the first fingerprint picture, and the first fingerprint feature data includes: domain name, picture resolution, first similarity value and base64 value of the first fingerprint picture. The first fingerprint feature data and the corresponding domain name are uploaded to the first document in the cloud.
[0056] In this embodiment, preferably, the fingerprint acquisition module is specifically as follows: when an account accesses a domain name through a fingerprint browser for the first time, it first determines whether the domain name is in the set list. If not, it ends directly; if so, all images returned by calling toDataURL are intercepted, and all intercepted images are judged according to the image resolution in the first fingerprint feature data. If it is consistent with the image resolution, the similarity between the image and the base64 value of the first fingerprint image is calculated. If it is greater than the first similarity value, the image is the second fingerprint image, and the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document; if the image is not a fingerprint image, it is not uploaded; the second fingerprint feature data includes: domain name, image resolution, second similarity value and base64 value of the second fingerprint image.
[0057] In this embodiment, preferably, the consistency maintaining module is specifically as follows: when an account accesses a domain name through a fingerprint browser for a non-first time, all images returned by calling toDataURL are intercepted, and all intercepted images are judged according to the image resolution of the second fingerprint feature data of the account under the domain name in the second document; if the resolution of the image is equal to the image resolution in the second fingerprint feature data, the image is a third fingerprint image, and the similarity between the third fingerprint image and the base64 value of the second fingerprint image is calculated; if it is greater than the second similarity value, the third fingerprint image is output to the corresponding domain name; if it is less than or equal to the second similarity value, the second fingerprint image is output to the corresponding domain name.
[0058] In this embodiment, preferably, the similarity calculation is a Levenshtein Distance algorithm or an EditDistance algorithm.
[0059] Since the device introduced in the second embodiment of the present invention is a device used to implement the method of the first embodiment of the present invention, those skilled in the art can understand the specific structure and deformation of the device based on the method introduced in the first embodiment of the present invention, so it is not described here in detail. All devices used in the method of the first embodiment of the present invention belong to the scope of protection of the present invention.
[0060] Although the specific implementation modes of the present invention are described above, those skilled in the art should understand that the specific implementation modes described are only illustrative and are not intended to limit the scope of the present invention. Equivalent modifications and changes made by those skilled in the art in accordance with the spirit of the present invention should be included in the scope of protection of the claims of the present invention.
Claims
1. A method for achieving fingerprint consistency in a fingerprint browser, characterized in that: The fingerprint browser is implemented based on the Chromium kernel and specifically includes the following steps: Step 1: Obtain the first fingerprint images of all domain names in the set list through the fingerprint browser, obtain the first fingerprint feature data according to the first fingerprint image, and upload the first fingerprint feature data and the corresponding domain name to the first document in the cloud; Step 2: When an account first accesses a domain name through a fingerprint browser, it is first determined whether the domain name is in the set list. If not, the process ends directly. If so, all intercepted images are determined according to the first fingerprint feature data. If the image is a second fingerprint image, the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document. If the image is not a fingerprint image, it is not uploaded. Step 3: When an account accesses a domain name through a fingerprint browser for a non-first time, the second fingerprint feature data of the account under the domain name is obtained from the second document to judge all intercepted images. If the image is a third fingerprint image, the third fingerprint image is compared with the second fingerprint image for similarity. When the similarity value is greater than a set threshold, the third fingerprint image is output to the corresponding domain name; when the similarity value is less than or equal to the set threshold, the second fingerprint image is output to the corresponding domain name.
2. The method for implementing fingerprint consistency using a fingerprint browser according to claim 1, characterized in that: The step 1 is specifically as follows: According to the set list, each domain name in the set list is logged in through the fingerprint browser, the pictures returned by calling toDataURL are uploaded to the cloud, the pictures are cleaned, the fingerprint pictures therein are identified, and the first fingerprint picture corresponding to each domain name in the set list is obtained. The first fingerprint feature data is obtained according to the first fingerprint picture, and the first fingerprint feature data includes: domain name, picture resolution, first similarity value and base64 value of the first fingerprint picture. The first fingerprint feature data and the corresponding domain name are uploaded to the first document in the cloud.
3. The method for implementing fingerprint consistency using a fingerprint browser according to claim 2, characterized in that: Specifically, the second step is as follows: when an account first accesses a domain name through a fingerprint browser, first determine whether the domain name is in the set list. If not, terminate directly; if so, intercept all images returned by calling toDataURL, and determine all intercepted images according to the image resolution in the first fingerprint feature data. If the resolution is consistent with the image resolution, calculate the similarity between the image and the base64 value of the first fingerprint image. If the similarity is greater than the first similarity value, the image is a second fingerprint image, and the second fingerprint image, second fingerprint feature data, domain name and account are uploaded and saved in the second document. If the image is not a fingerprint image, it will not be uploaded; the second fingerprint feature data includes: domain name, image resolution, second similarity value and base64 value of the second fingerprint image.
4. The method for implementing fingerprint consistency using a fingerprint browser according to claim 3, characterized in that: The step 3 is specifically as follows: when the account does not access a domain name through the fingerprint browser for the first time, all images returned by calling toDataURL are intercepted, and all intercepted images are judged according to the image resolution of the second fingerprint feature data of the account under the domain name in the second document. If the resolution of the image is equal to the image resolution in the second fingerprint feature data, the image is a third fingerprint image, and the similarity between the third fingerprint image and the base64 value of the second fingerprint image is calculated. If the similarity is greater than the second similarity value, the third fingerprint image is output to the corresponding domain name; If it is less than or equal to the second similarity value, the second fingerprint image is output to the corresponding domain name.
5. A method for implementing fingerprint consistency in a fingerprint browser according to claim 3 or 4, characterized in that: The similarity calculation is a Levenshtein Distance algorithm or an Edit Distance algorithm.
6. A device for implementing fingerprint consistency in a fingerprint browser, characterized in that: The fingerprint browser is implemented based on the Chromium kernel and specifically includes the following modules: The fingerprint feature module obtains the first fingerprint image of all domain names in the set list through the fingerprint browser, obtains the first fingerprint feature data according to the first fingerprint image, and uploads the first fingerprint feature data and the corresponding domain name to a first document in the cloud; The fingerprint acquisition module, when an account first accesses a domain name through a fingerprint browser, first determines whether the domain name is in the set list. If not, it ends directly; if it is, all intercepted images are determined according to the first fingerprint feature data. If the image is a second fingerprint image, the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document; if the image is not a fingerprint image, it is not uploaded; Keeping the same module, when an account accesses a domain name through a fingerprint browser for the first time or not, the second fingerprint feature data of the account under the domain name is obtained from the second document to judge all intercepted images. If the image is a third fingerprint image, the third fingerprint image is compared with the second fingerprint image for similarity. When the similarity value is greater than a set threshold, the third fingerprint image is output to the corresponding domain name; when the similarity value is less than or equal to the set threshold, the second fingerprint image is output to the corresponding domain name.
7. The device for implementing fingerprint consistency of a fingerprint browser according to claim 6, characterized in that: The fingerprint feature module is specifically: According to the set list, each domain name in the set list is logged in through the fingerprint browser, the pictures returned by calling toDataURL are uploaded to the cloud, the pictures are cleaned, the fingerprint pictures therein are identified, and the first fingerprint picture corresponding to each domain name in the set list is obtained. The first fingerprint feature data is obtained according to the first fingerprint picture, and the first fingerprint feature data includes: domain name, picture resolution, first similarity value and base64 value of the first fingerprint picture. The first fingerprint feature data and the corresponding domain name are uploaded to the first document in the cloud.
8. The device for implementing fingerprint consistency of a fingerprint browser according to claim 7, characterized in that: The fingerprint acquisition module is specifically as follows: when an account first accesses a domain name through a fingerprint browser, it first determines whether the domain name is in the set list. If not, it ends directly; if so, it intercepts all images returned by calling toDataURL, and judges all intercepted images according to the image resolution in the first fingerprint feature data. If the resolution is consistent with the image resolution, the similarity between the image and the base64 value of the first fingerprint image is calculated. If it is greater than the first similarity value, the image is a second fingerprint image, and the second fingerprint image, the second fingerprint feature data, the domain name and the account are uploaded and saved in the second document; If the image is not a fingerprint image, it will not be uploaded; the second fingerprint feature data includes: domain name, image resolution, second similarity value and base64 value of the second fingerprint image.
9. The device for implementing fingerprint consistency of a fingerprint browser according to claim 8, characterized in that: The consistency maintaining module is specifically as follows: when an account does not access a domain name through a fingerprint browser for the first time, all images returned by calling toDataURL are intercepted, and all intercepted images are judged according to the image resolution of the second fingerprint feature data of the account under the domain name in the second document. If the resolution of the image is equal to the image resolution in the second fingerprint feature data, the image is a third fingerprint image, and the similarity between the third fingerprint image and the base64 value of the second fingerprint image is calculated. If the similarity is greater than the second similarity value, the third fingerprint image is output to the corresponding domain name; If it is less than or equal to the second similarity value, the second fingerprint image is output to the corresponding domain name.
10. The device for implementing fingerprint consistency using a fingerprint browser according to claim 8 or 9, characterized in that: The similarity calculation is a Levenshtein Distance algorithm or an Edit Distance algorithm.