Data processing method and device based on homomorphic encryption
Through homomorphic encryption technology, the user access path data is encrypted and analyzed, and the contradiction between data privacy protection and user behavior analysis efficiency in the existing technology is solved, and efficient and secure user access path analysis is achieved.
Patent Information
- Application Number
- CN202411465867.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-18
- Publication Date
- 2025-02-14
AI Technical Summary
It is difficult for the prior art to efficiently analyze user access paths while ensuring data privacy to obtain user behavior characteristics and improve user experience.
Homomorphic encryption technology is used to encrypt the path data of the user's access path, generate ciphertext path data, and calculate access data and analyze target indicators based on ciphertext data to realize data comparison in the cryptic form.
It realizes efficient analysis of user access paths, obtain user behavior characteristics, and improve user experience and conversion rates without destroying data privacy.
Smart Images

Figure CN119449264A_ABST
Abstract
Description
Technical Field
[0001] This document relates to the field of data encryption technology, and in particular to a data processing method and device based on homomorphic encryption. Background Art
[0002] With the continuous development and promotion of the Internet, the application scope of online services provided based on the Internet has become wider and wider, and has gradually covered most users. In this case, various forms of online services have emerged, such as user path analysis based on user behavior data generated in the process of users using online services. User path analysis is to analyze the path that users experience from the initial visit to the final visit during the use of the product. By analyzing the user behavior path, the user's behavioral characteristics can be restored, so that the user experience and user conversion can be improved in a targeted manner based on the user's behavioral characteristics. Summary of the invention
[0003] One or more embodiments of the present specification provide a data processing method based on homomorphic encryption, including: homomorphically encrypting the path data of the user access path to obtain ciphertext path data. Calculating the access data of the user access path based on the ciphertext access field contained in the ciphertext path data to obtain the ciphertext access data of each user access path. Calculating the ciphertext indicator data of the target indicator based on the ciphertext access data. Comparing the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result.
[0004] One or more embodiments of the present specification provide a data processing device based on homomorphic encryption, including: a homomorphic encryption module, configured to homomorphically encrypt the path data of the user access path to obtain ciphertext path data. A data calculation module, configured to calculate the access data of the user access path based on the ciphertext access field contained in the ciphertext path data, and obtain the ciphertext access data of each user access path. A comparison module, configured to calculate the ciphertext indicator data of the target indicator based on the ciphertext access data, and compare the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result.
[0005] One or more embodiments of the present specification provide a data processing device based on homomorphic encryption, including: a processor; and a memory configured to store computer executable instructions, wherein when the computer executable instructions are executed, the processor: performs homomorphic encryption on the path data of the user access path to obtain ciphertext path data. Performs access data calculation of the user access path based on the ciphertext access field contained in the ciphertext path data to obtain the ciphertext access data of each user access path. Calculates the ciphertext indicator data of the target indicator based on the ciphertext access data. Compares the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result.
[0006] One or more embodiments of the present specification provide a computer-readable storage medium for storing computer-executable instructions, which implement the following process when executed: homomorphically encrypt the path data of the user access path to obtain ciphertext path data. Calculate the access data of the user access path based on the ciphertext access field contained in the ciphertext path data to obtain the ciphertext access data of each user access path. Calculate the ciphertext indicator data of the target indicator based on the ciphertext access data. Compare the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] In order to more clearly illustrate one or more embodiments of the present specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present specification. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative labor. Figure 1 A schematic diagram of an implementation environment of a data processing method based on homomorphic encryption provided for one or more embodiments of this specification; Figure 2 A processing flow chart of a data processing method based on homomorphic encryption provided for one or more embodiments of this specification; Figure 3 A processing flow chart of a data processing method based on homomorphic encryption applied to a user conversion analysis scenario provided by one or more embodiments of this specification; Figure 4 A schematic diagram of an embodiment of a data processing device based on homomorphic encryption provided for one or more embodiments of this specification; Figure 5 A schematic diagram of the structure of a data processing device based on homomorphic encryption provided for one or more embodiments of this specification. DETAILED DESCRIPTION
[0008] In order to enable those skilled in the art to better understand the technical solutions in one or more embodiments of this specification, the technical solutions in one or more embodiments of this specification will be clearly and completely described below in conjunction with the drawings in one or more embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. Based on one or more embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this document.
[0009] The data processing method based on homomorphic encryption provided in one or more embodiments of this specification can be applied to the implementation environment of the user data analysis system. Figure 1 , the implementation environment at least includes: Data analysis engine 101 and data comparison platform 102; The data analysis engine 101 is used to homomorphically encrypt the path data of the user access path, and to aggregate and calculate the ciphertext path data obtained by homomorphic encryption to obtain the ciphertext access data; The data comparison platform 102 is used to calculate the ciphertext index data of the required target index from the ciphertext access data, and to compare the ciphertext index data with the ciphertext index threshold in a secret form; In addition, the implementation environment can also be configured with a data service platform 103, which is used to provide the data analysis engine 101 with the secret key required for homomorphic encryption, and can also convert the comparison results obtained by the data comparison platform 102 into visual data output.
[0010] In this implementation environment, during the analysis of the user access path, the data service platform 103 sends the secret key required for homomorphic encryption to the data analysis engine 101. After receiving the secret key, the data analysis engine 101 homomorphically encrypts the path data of the user access path to obtain the ciphertext path data. On this basis, the access data of the user access path is calculated based on the ciphertext access field contained in the ciphertext path data, and the ciphertext access data of each user access path is obtained and transmitted to the data service platform 103. The data service platform 103 further transmits the ciphertext access data to the data comparison platform 102. The data comparison platform 102 calculates the ciphertext indicator data of the target indicator based on the ciphertext access data, and compares the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result. Thereafter, the data service platform 103 can also generate visualization data of the comparison result, so as to realize the calculation and comparison of ciphertext data in a secret form.
[0011] One or more embodiments of a data processing method based on homomorphic encryption provided in this specification are as follows: Reference Figure 2 , the data processing method based on homomorphic encryption provided in this embodiment specifically includes steps S202 to S206.
[0012] Step S202, homomorphically encrypt the path data of the user access path to obtain ciphertext path data.
[0013] In this embodiment, during the process of accessing an application or a service, a user may access one or more pages of the application or service, and may also access one or more contents of the application or service. The user access path refers to the access path composed of one or more pages / contents accessed by the user. For example, the access path composed of the pages accessed by the user during the process of accessing the application is: page 1->page 2->page 1->page 3->page 4.
[0014] The information about a user accessing one or more pages / contents during the access process can be recorded in the user access log. Based on this, the user access path can be determined according to the user access log, specifically according to the information of one or more pages / contents recorded in the user access log. The one or more pages / contents recorded in the user access log are the path nodes constituting the user access path; the path data of the user access path includes the information of each path node constituting the user access path, as well as information related to the user's access behavior.
[0015] During the specific execution process, in order to be able to perform fine-grained analysis on each user's access behavior, the user access path of each access session can be determined based on the access session granularity. The access session refers to the session created by the application background or service background for the user's access behavior during the user's application access or service access process. In an optional implementation provided by this embodiment, the user access path is obtained in the following manner: reading the session identifier, access time and access information of the access session recorded in the user access log; splicing the access information according to the session identifier and access time to obtain the user access path.
[0016] Among them, in the process of generating the user access path, a user access path is generated for the session identifier of each access session recorded in the user access log, with the access session as the granularity; here, taking the access session corresponding to any session identifier recorded in the user access log as an example, in the process of generating the user access path of the access session corresponding to any session identifier, first read the access time and access information under any session identifier from the user access log, and then splice the access information in the order of access time from earliest to latest to obtain the access session corresponding to any session identifier.
[0017] For example, for the user access log obtained when a user accesses an application, if only one session identifier is recorded in the user access log, then the access time, access pages, user identity information, location information, and access device information recorded in the user access log are read, and then the access pages are spliced in order from the earliest to the latest access time to obtain the user access path: page 1 -> page 2 -> page 1 -> page 3 -> page 4; the path data of the user access path includes: session identifier, user access path, user identity information, location information, and access device information.
[0018] In actual applications, the access log generated during the user access process may have missing fields. For example, the location information is missing in the access log due to poor network signals and positioning is impossible, or the session identifier is missing due to access anomalies. Such access logs with missing fields may not be used for user access path analysis. In this regard, the user's access log can also be filtered to improve the efficiency of user access path generation, thereby improving the efficiency of user access behavior analysis. Specifically, in an optional implementation manner provided by this embodiment, before the session identifier, access time and access content of the access session recorded in the user access log are read, the following operations are performed: field parsing is performed on the access log obtained by the user access, and the access log with missing path fields is filtered based on the parsing results, and the access log obtained after filtering is used as the user access log.
[0019] In addition, in the process of analyzing user access behavior in actual applications, the access indicators of specific access content are often analyzed. For example, the access indicators from the shopping cart page to the transaction order page of the shopping application are analyzed. In order to improve the pertinence of the user access behavior analysis and to improve the efficiency of the user access behavior analysis, the user access path can also be filtered based on the access indicators.
[0020] Specifically, in an optional implementation manner provided by this embodiment, the user access path is determined in the following manner: generating candidate access paths based on user access logs; performing path screening in the generated candidate access paths according to pre-configured path screening conditions to obtain the user access path.
[0021] Optionally, the screening parameters of the path screening condition include access path parameters, path node parameters and / or path length parameters.
[0022] Among them, the access path parameter refers to the filtering parameter related to the overall filtering of the access path in the pre-configured path filtering conditions. For example, the access path parameter can be "shopping cart page->transaction order page", that is, the parameter for filtering the specified path containing "shopping cart page->transaction order page". The path node parameter can be a filtering parameter related to the node in the access path. For example, the path node parameter can be a parameter for filtering the first node of the access path as a specified page, or the path node parameter can also be a parameter for filtering the last node of the access path as a specified page. The path length parameter refers to a parameter for filtering the path length of the access path to be a specified length. The path length of the access path refers to the number of nodes contained in the access path.
[0023] In specific implementation, during the user access behavior analysis process, the user access behavior analysis is performed starting from the path data of the user access path. During the analysis process, the user's data privacy is protected by homomorphically encrypting the path data of the user access path. In an optional implementation provided by this embodiment, the path data of the user access path is homomorphically encrypted to obtain ciphertext path data: the homomorphic encryption algorithm is called to encrypt the target field of the path data using a preset key to obtain the ciphertext path data. Among them, the preset key can be a public key in a key pair consisting of a pre-generated public key and a private key.
[0024] Optionally, the target field includes: an access indicator field, a user identity field, and / or a privacy field in an extended parameter corresponding to a starting path node of the user access path.
[0025] Among them, the access indicator field can be a field in the path data that records access information related to the access indicator, such as an access indicator field that records the number of visits; the privacy field in the extended parameters corresponding to the starting path node of the user's access path can be location information and / or access device information.
[0026] It should be pointed out that, considering that user access logs, access logs, various information recorded in user access logs, various information recorded in user access logs, and path data belong to the user's privacy to a certain extent, therefore, if you want to obtain or use any one or more of the user access logs, access logs, various information recorded in user access logs, various information recorded in user access logs, and path data, you can obtain user authorization before obtaining or using them. The user authorization method can be to send a reminder to the user through the application during the acquisition or use process, and the user can obtain or use the corresponding data after confirming the reminder through the instruction. In addition, the user can also be reminded in other ways, and the authorization to obtain or use the data is obtained after the user confirms the instruction.
[0027] Step S204: Calculate the access data of the user access path based on the ciphertext access field included in the ciphertext path data to obtain the ciphertext access data of each user access path.
[0028] In specific implementation, after the path data of the user access path is homomorphically encrypted to obtain the ciphertext path data in a secret form, the access data of the user access path is calculated for the ciphertext access field contained in the ciphertext path data based on the ciphertext path data to obtain the ciphertext access data of each user access path with the user access path as the granularity, that is, the ciphertext access data of each user access path in a secret form is obtained.
[0029] Specifically, in the process of calculating the access data of the user access path based on the ciphertext access field contained in the ciphertext path data, the access data is calculated with the user access path as the granularity, and each user access path and ciphertext path data can be distinguished, and the ciphertext path data of the same user access path can be grouped together. On this basis, the access data calculation is performed for each user access path. Here, a path query can also be performed before the access data calculation, and the access data calculation is performed based on the user access path obtained by the query, so as to improve the efficiency of the access data calculation.
[0030] In an optional implementation manner provided by this embodiment, the access data of the user access path is calculated based on the ciphertext access field included in the ciphertext path data to obtain the ciphertext access data of each user access path, including: Perform access path query according to the path query condition to obtain the user access path to be calculated; The access value summary calculation is performed on the ciphertext access fields of the same user access path to obtain the ciphertext access data of each user access path.
[0031] Optionally, the path query condition consists of at least one path query parameter; the path query parameter can be obtained by converting the condition keywords extracted from the query configuration information, and the query configuration information can be configured by a processor or processing platform that performs user access behavior analysis.
[0032] In this embodiment, the conditional keyword includes at least one of the following: an access path keyword, a path node keyword and / or a path length keyword; accordingly, the path query parameter obtained by converting the conditional keyword parameter also includes at least one of the following: an access path parameter, a path node parameter and / or a path length parameter.
[0033] Among them, the access path keyword refers to the keyword pre-configured by the processor or the processing platform for performing overall path query. For example, the access path keyword may be "shopping cart page & transaction order page", and the access path parameter obtained by parameter conversion based on the access path keyword is "shopping cart page->transaction order page", that is, the query parameter for querying the specified path including "shopping cart page->transaction order page".
[0034] Path node keywords refer to keywords pre-configured by the processing party or processing platform for path node queries. For example, the path node keyword may be "the first node is the specified page". Correspondingly, the path node parameters obtained by parameter conversion based on the path node keyword are "the first node of the access path = the specified page", which is the query parameter for querying that the first node is the specified page.
[0035] The path length parameter refers to the path length for path query pre-configured by the processing party or the processing platform. The path length parameter obtained by parameter conversion according to the path length parameter refers to the query parameter for querying the access path with the path length of the specified length.
[0036] Step S206, calculating ciphertext indicator data of the target indicator according to the ciphertext access data, and comparing the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result.
[0037] The above-mentioned method uses the user access path as the granularity to perform access data calculation on the ciphertext access field contained in the ciphertext path data, obtains the ciphertext access data of each user access path, and starts from the ciphertext access data of each user access path in a confidential form, calculates the ciphertext indicator data of the target indicator with the target indicator as the granularity, and realizes the indicator calculation in a confidential form. Furthermore, the ciphertext indicator data is compared with the corresponding ciphertext indicator threshold to obtain a comparison result, thereby realizing data comparison in a confidential form.
[0038] The target indicator refers to the analysis indicator set by the processor or processing platform that performs user access behavior analysis; the target indicator includes user conversion rate, user churn rate and / or visit volume.
[0039] Among them, the target indicator can specifically be an indicator set for the user access path as a whole, such as the indicator of the number of visits to the user access path; it can also be an indicator set for the path node in the user access path, such as the indicator of the number of visits to a specified path node in the user access path; or, it can also be an indicator set for multiple user access paths or the relationship between multiple user access paths, such as the user conversion rate of jumping from a specified user access path to another user access path, and the user churn rate of a user access path; or, it can also be an indicator set for one or more path nodes of one or more user access paths or the relationship between multiple path nodes, such as the user conversion rate of jumping from a path node in the user access path to another path node, and the user churn rate of a path node in the user access path.
[0040] In this embodiment, taking the user conversion rate and / or user churn rate of a designated node in a user access path as an example, the specific process of calculating the ciphertext indicator data of the target indicator based on the ciphertext access data is explained, that is, the indicator calculation process in a ciphertext form is explained.
[0041] In an optional implementation manner provided by this embodiment, the ciphertext indicator data of the target indicator is calculated according to the ciphertext access data, including: Determining multiple user access paths including path nodes corresponding to the target indicator in the user access path; The ciphertext conversion rate and / or ciphertext loss rate of the path nodes are calculated according to the ciphertext indicator data of multiple user access paths.
[0042] For example, the target indicator is the user conversion rate of a specified path node, and the specified path node specifically corresponds to a shopping cart page. Three user access paths including the specified path node are determined in all user access paths: user access path 1 (product list page -> product details page -> shopping cart page), user access path 2 (product list page -> product details page -> shopping cart page -> transaction order page), and user access path 3 (product details page -> shopping cart page -> product search page). Here, the user conversion rate of the shopping cart page refers to the conversion ratio of successful jumps from the shopping cart page to the transaction order page, that is, the ratio of all visits that pass through the shopping cart page to the visits that successfully jump to the transaction order page. In the process of calculating the ciphertext conversion rate of the shopping cart page, first calculate all the ciphertext visits passing through the shopping cart page, specifically, calculate the sum of the ciphertext visits of user access path 1, user access path 2 and user access path 3 as the ciphertext visits of the shopping cart page, and then calculate the ratio of the ciphertext visits of the successfully converted user access path 1 to the ciphertext visits of the shopping cart page as the ciphertext conversion rate of the shopping cart page.
[0043] In specific implementation, on the basis of calculating the ciphertext indicator data of the target indicator, the ciphertext indicator data of the target indicator can be compared with the ciphertext indicator threshold of the target indicator in a secret form to achieve data comparison in a secret form, thereby avoiding the data security risks of comparing the ciphertext indicator data after decrypting it. Here, taking the user conversion rate and / or user churn rate of a designated node in the user access path as an example, the specific process of comparing the ciphertext indicator data with the corresponding ciphertext indicator threshold is explained.
[0044] In an optional implementation provided by this embodiment, the ciphertext indicator data is compared with the corresponding ciphertext indicator threshold to obtain a comparison result, including: comparing the ciphertext conversion rate with the corresponding ciphertext conversion rate threshold to obtain the conversion rate comparison result of the path node, and / or comparing the ciphertext loss rate with the corresponding ciphertext loss rate threshold to obtain the loss rate comparison result of the path node.
[0045] Optionally, the ciphertext index threshold is obtained by calling a homomorphic encryption algorithm to homomorphically encrypt a pre-configured access index threshold using a preset key. For example, the homomorphic encryption algorithm is called to homomorphically encrypt a pre-configured conversion rate threshold using the public key of a key pair consisting of a pre-generated public key and a private key to obtain a ciphertext conversion rate threshold. It should be pointed out that the homomorphic encryption algorithm used here to perform homomorphic encryption on the access index threshold is the same homomorphic encryption algorithm as the homomorphic encryption algorithm used above to perform homomorphic encryption on the path data, and the preset key used here to perform homomorphic encryption on the access index threshold is the same key as the preset key used for homomorphic encryption on the path data.
[0046] After the path data of the user access path is homomorphically encrypted to obtain the ciphertext path data, the access data of the user access path is calculated for the ciphertext access field contained in the ciphertext path data with the user access path as the granularity to obtain the ciphertext access data of each user access path. Further, the ciphertext indicator data of the target indicator is calculated with the target indicator as the granularity, and the ciphertext indicator data is compared with the corresponding ciphertext indicator threshold to obtain the comparison result. Based on the indicator calculation and data comparison in the confidential form implemented above, the indicator calculation and data comparison processing can be output to realize the user access behavior analysis and result output in the confidential form throughout the process. No decryption is required during the user access behavior analysis process, which improves the data security during the user behavior path analysis process.
[0047] Specifically, in the process of outputting the analysis results of the user access behavior analysis, the output data can also be converted to improve the flexibility of the output of the analysis results. In an optional implementation provided by this embodiment, after comparing the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain the comparison result, the tree structure of each user access path is converted to obtain an access path tree, and visual data is generated based on the access path tree and the comparison result, so as to output the analysis results of the user access behavior analysis in the form of visual data.
[0048] Among them, generating visualization data based on the access path tree and the comparison results includes: pruning the access path tree according to pre-configured visualization parameters to obtain a pruned tree; associating the comparison results to the corresponding path nodes in the pruned tree, and generating visualization data of the pruned tree.
[0049] To summarize, the data processing method based on homomorphic encryption provided in the present embodiment, during the user access behavior analysis process, after homomorphically encrypting the path data of the user access path to obtain the ciphertext path data, takes the user access path as the granularity, performs access data calculation on the ciphertext access field contained in the ciphertext path data to obtain the ciphertext access data of each user access path with the user access path as the granularity, and further, takes the target indicator as the granularity, calculates the ciphertext indicator data of the target indicator according to the ciphertext access data to realize the indicator calculation in a confidential form, and compares the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain the comparison result, thereby realizing the user access behavior analysis in a confidential form throughout the process, and avoiding the data security risks brought by decrypting the confidential form data during the user access behavior analysis process.
[0050] The following takes the application of a data processing method based on homomorphic encryption provided in this embodiment in a user conversion analysis scenario as an example. Figure 3 , the data processing method based on homomorphic encryption provided in this embodiment is further described, see Figure 3, a data processing method based on homomorphic encryption applied to user conversion analysis scenarios specifically includes the following steps.
[0051] Step S302, calling the homomorphic encryption algorithm to homomorphically encrypt the target field of the path data of the user access path to obtain the ciphertext path data.
[0052] Step S304: perform access path query according to the path query condition to obtain the user access path to be calculated.
[0053] Step S306, performing access value aggregation calculation on the ciphertext access fields of the same user access paths to obtain the ciphertext access data of each user access path.
[0054] Step S308: determining multiple user access paths including path nodes corresponding to user conversion rates in the user access paths.
[0055] Step S310, calculating the ciphertext conversion rate of the path node according to the ciphertext indicator data of multiple user access paths.
[0056] Step S312, comparing the ciphertext conversion rate with the ciphertext conversion rate threshold corresponding to the user conversion rate to obtain the conversion rate comparison result of the path node.
[0057] Step S314: Perform tree structure conversion on each user access path to obtain an access path tree.
[0058] Step S316: Generate visualized conversion rate data based on the access path tree and the conversion rate comparison result.
[0059] It should be noted that any one of steps S302 to S316 or any combination of multiple steps can be combined with any one of steps S202 to S206 to form a new implementation method according to the needs of implementation deployment; in addition, according to the needs of actual deployment, any one or multiple technical features can be selected from steps S302 to S316 and combined with any one or multiple technical features provided by steps S202 to S206 to form a new implementation method; or, any one or multiple technical features in steps S302 to S316 can be replaced with any one or multiple technical features provided by steps S202 to S206 to form a new implementation method according to the needs of actual deployment, which will not be elaborated here.
[0060] An embodiment of a data processing device based on homomorphic encryption provided in this specification is as follows: In the above-mentioned embodiment, a data processing method based on homomorphic encryption is provided, and correspondingly, a data processing device based on homomorphic encryption is also provided, which is described below in conjunction with the accompanying drawings.
[0061] Reference Figure 4 , which shows a schematic diagram of an embodiment of a data processing device based on homomorphic encryption provided by this embodiment.
[0062] Since the device embodiment corresponds to the method embodiment, the description is relatively simple, and the relevant parts can refer to the corresponding description of the method embodiment provided above. The device embodiment described below is only illustrative.
[0063] This embodiment provides a data processing device based on homomorphic encryption, the device comprising: The homomorphic encryption module 402 is configured to perform homomorphic encryption on the path data of the user access path to obtain ciphertext path data; The data calculation module 404 is configured to calculate the access data of the user access path based on the ciphertext access field included in the ciphertext path data, and obtain the ciphertext access data of each user access path; The comparison module 406 is configured to calculate the ciphertext indicator data of the target indicator according to the ciphertext access data, and compare the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result.
[0064] An embodiment of a data processing device based on homomorphic encryption provided in this specification is as follows: Corresponding to the data processing method based on homomorphic encryption described above, based on the same technical concept, one or more embodiments of this specification also provide a data processing device based on homomorphic encryption, and the data processing device based on homomorphic encryption is used to execute the data processing method based on homomorphic encryption provided above. Figure 5 A schematic diagram of the structure of a data processing device based on homomorphic encryption provided for one or more embodiments of this specification.
[0065] This embodiment provides a data processing device based on homomorphic encryption, including: like Figure 5As shown, the data processing device based on homomorphic encryption may have relatively large differences due to different configurations or performances, and may include one or more processors 501 and memory 502, and the memory 502 may store one or more storage applications or data. Among them, the memory 502 may be a short-term storage or a persistent storage. The application stored in the memory 502 may include one or more modules (not shown in the figure), and each module may include a series of computer executable instructions in the data processing device based on homomorphic encryption. Furthermore, the processor 501 may be configured to communicate with the memory 502, and execute a series of computer executable instructions in the memory 502 on the data processing device based on homomorphic encryption. The data processing device based on homomorphic encryption may also include one or more power supplies 503, one or more wired or wireless network interfaces 504, one or more input / output interfaces 505, one or more keyboards 506, etc.
[0066] In a specific embodiment, a data processing device based on homomorphic encryption includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer executable instructions for the data processing device based on homomorphic encryption, and the one or more programs are configured to be executed by one or more processors, including computer executable instructions for performing the following: Homomorphically encrypt the path data of the user access path to obtain the ciphertext path data; Calculate the access data of the user access path based on the ciphertext access field included in the ciphertext path data to obtain the ciphertext access data of each user access path; The ciphertext indicator data of the target indicator is calculated according to the ciphertext access data, and the ciphertext indicator data is compared with the corresponding ciphertext indicator threshold to obtain a comparison result.
[0067] An embodiment of a computer-readable storage medium provided in this specification is as follows: Corresponding to the above-described data processing method based on homomorphic encryption, based on the same technical concept, one or more embodiments of this specification also provide a computer-readable storage medium.
[0068] The computer-readable storage medium provided in this embodiment is used to store computer-executable instructions, and the computer-executable instructions implement the following process when executed: Homomorphically encrypt the path data of the user access path to obtain the ciphertext path data; Calculate the access data of the user access path based on the ciphertext access field included in the ciphertext path data to obtain the ciphertext access data of each user access path; The ciphertext indicator data of the target indicator is calculated according to the ciphertext access data, and the ciphertext indicator data is compared with the corresponding ciphertext indicator threshold to obtain a comparison result.
[0069] It should be noted that an embodiment of a computer-readable storage medium in this specification and an embodiment of a data processing method based on homomorphic encryption in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the implementation of the aforementioned corresponding method, and the repeated parts will not be repeated.
[0070] An embodiment of a computer program product provided in this specification is as follows: Corresponding to the above-described data processing method based on homomorphic encryption, based on the same technical concept, one or more embodiments of this specification also provide a computer program product.
[0071] A computer program product, comprising a computer program / instruction, which, when executed by a processor, implements the following steps: Homomorphically encrypt the path data of the user access path to obtain the ciphertext path data; Calculate the access data of the user access path based on the ciphertext access field included in the ciphertext path data to obtain the ciphertext access data of each user access path; The ciphertext indicator data of the target indicator is calculated according to the ciphertext access data, and the ciphertext indicator data is compared with the corresponding ciphertext indicator threshold to obtain a comparison result.
[0072] It should be noted that an embodiment of a computer program product in this specification and an embodiment of a data processing method based on homomorphic encryption in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the implementation of the aforementioned corresponding method, and the repeated parts will not be repeated.
[0073] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referenced to each other. Each embodiment focuses on the differences from other embodiments. For example, the device embodiment, equipment embodiment, and computer-readable storage medium embodiment are similar to the method embodiment, so the description is relatively simple. To read the relevant content in the device embodiment, equipment embodiment, and computer-readable storage medium embodiment, please refer to the partial description of the method embodiment.
[0074] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0075] In the 1930s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to circuit structures such as diodes, transistors, switches, etc.) or software improvements (improvements to method flows). However, with the development of technology, many of today's method flow improvements can be regarded as direct improvements to hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using hardware entity modules. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask chip manufacturers to design and produce dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0076] The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.
[0077] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0078] For the convenience of description, the above devices are described in terms of functions and are divided into various units. Of course, when implementing the embodiments of this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0079] It should be understood by those skilled in the art that one or more embodiments of the present specification may be provided as a method, system or computer program product. Therefore, one or more embodiments of the present specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present specification may take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0080] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0081] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0082] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0083] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0084] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0085] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer-readable storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.
[0086] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of further restrictions, the elements defined by the sentence "includes at least one ..." do not exclude the presence of other identical elements in the process, method, commodity or device including the elements.
[0087] One or more embodiments of the present specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of the present specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0088] The above description is only an embodiment of this document and is not intended to limit this document. For those skilled in the art, this document may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this document should be included in the scope of the claims of this document.
Claims
1. A data processing method based on homomorphic encryption, comprising: Homomorphically encrypt the path data of the user access path to obtain the ciphertext path data; Calculate the access data of the user access path based on the ciphertext access field included in the ciphertext path data to obtain the ciphertext access data of each user access path; The ciphertext indicator data of the target indicator is calculated according to the ciphertext access data, and the ciphertext indicator data is compared with the corresponding ciphertext indicator threshold to obtain a comparison result.
2. According to the data processing method based on homomorphic encryption according to claim 1, the step of performing homomorphic encryption on the path data of the user access path to obtain ciphertext path data comprises: The homomorphic encryption algorithm is called to encrypt the target field of the path data using a preset key to obtain the ciphertext path data.
3. According to the data processing method based on homomorphic encryption according to claim 2, the target field includes: Access indicator field, user identity field, and privacy field in the extended parameters corresponding to the starting path node of the user's access path.
4. According to the data processing method based on homomorphic encryption according to claim 1, the access data calculation of the user access path based on the ciphertext access field contained in the ciphertext path data to obtain the ciphertext access data of each user access path includes: Perform access path query according to the path query condition to obtain the user access path to be calculated; Access value aggregation calculation is performed on the ciphertext access fields of the same user access path to obtain the ciphertext access data of each user access path.
5. According to the data processing method based on homomorphic encryption according to claim 4, the path query condition is composed of at least one path query parameter; The path query parameters are obtained by performing parameter conversion on the conditional keywords extracted from the query configuration information.
6. According to the data processing method based on homomorphic encryption according to claim 1, the ciphertext indicator data of the target indicator calculated according to the ciphertext access data includes: Determining multiple user access paths including path nodes corresponding to the target indicator in the user access path; The ciphertext conversion rate and / or ciphertext loss rate of the path node is calculated according to the ciphertext indicator data of the multiple user access paths.
7. According to the data processing method based on homomorphic encryption according to claim 6, the step of comparing the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result comprises: The ciphertext conversion rate is compared with the corresponding ciphertext conversion rate threshold to obtain the conversion rate comparison result of the path node, and / or the ciphertext loss rate is compared with the corresponding ciphertext loss rate threshold to obtain the loss rate comparison result of the path node.
8. According to the data processing method based on homomorphic encryption according to claim 1, the ciphertext index threshold is obtained by calling the homomorphic encryption algorithm and using a preset secret key to homomorphically encrypt the access index threshold.
9. According to the data processing method based on homomorphic encryption in claim 1, after the step of calculating the ciphertext index data of the target index according to the ciphertext access data and comparing the ciphertext index data with the corresponding ciphertext index threshold to obtain the comparison result is executed, it also includes: Performing tree structure conversion on the access paths of each user to obtain an access path tree; Visual data is generated based on the access path tree and the comparison result.
10. According to the data processing method based on homomorphic encryption according to claim 9, generating visual data based on the access path tree and the comparison result comprises: Pruning the access path tree according to pre-configured visualization parameters to obtain a pruned tree; The comparison results are associated with corresponding path nodes in the pruned tree, and visualization data of the pruned tree is generated.
11. According to the data processing method based on homomorphic encryption in claim 1, the user access path is obtained in the following manner: Read the session ID, access time and access information of the access session recorded in the user access log; The access information is concatenated according to the session identifier and the access time to obtain the user access path.
12. According to the data processing method based on homomorphic encryption in claim 11, before the operation of reading the session identifier, access time and access information of the access session recorded in the user access log is performed, it also includes: Field parsing is performed on the access log obtained by the user access, and the access log with missing path fields is filtered based on the parsing result, and the access log obtained after filtering is used as the user access log.
13. According to the data processing method based on homomorphic encryption in claim 1, the user access path is obtained in the following manner: Generate candidate access paths based on user access logs; Perform path screening in the generated candidate access paths according to the pre-configured path screening conditions to obtain the user access path; in, The screening parameters of the path screening condition include access path parameters, path node parameters and / or path length parameters.
14. A data processing device based on homomorphic encryption, comprising: A homomorphic encryption module is configured to perform homomorphic encryption on the path data of the user access path to obtain ciphertext path data; A data calculation module is configured to calculate access data of the user access path based on the ciphertext access field included in the ciphertext path data, and obtain the ciphertext access data of each user access path; The comparison module is configured to calculate the ciphertext indicator data of the target indicator according to the ciphertext access data, and compare the ciphertext indicator data with the corresponding ciphertext indicator threshold to obtain a comparison result.
15. A data processing device based on homomorphic encryption, comprising: processor; and a memory configured to store computer executable instructions that, when executed, cause the processor to: Homomorphically encrypt the path data of the user access path to obtain the ciphertext path data; Calculate the access data of the user access path based on the ciphertext access field included in the ciphertext path data to obtain the ciphertext access data of each user access path; The ciphertext indicator data of the target indicator is calculated according to the ciphertext access data, and the ciphertext indicator data is compared with the corresponding ciphertext indicator threshold to obtain a comparison result.
16. A computer-readable storage medium for storing computer-executable instructions, wherein the computer-executable instructions implement the steps of the method of claim 1 when executed.