Information determination method, device, electronic device and storage medium
By sending public keys to the target cloud tenant and other tenants in the cloud computing environment, receiving and calculating encrypted information, generating a second ciphertext and returning to the target cloud tenant, the problem of cloud tenants being difficult to perform information analysis on the premise of protecting information privacy and security is solved, and accurate information analysis and aggregation is achieved, and efficient privacy computing services are provided.
Patent Information
- Application Number
- CN202211052720.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-31
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2042-08-31
AI Technical Summary
It is difficult for cloud tenants to conduct accurate information analysis on the premise of protecting information privacy and security, and it is difficult for cloud service providers to aggregate information from cloud tenants for analysis, which is subject to information privacy and security restrictions.
By sending public keys to the target cloud tenant and other tenants on the same cloud, receiving and calculating the first ciphertext, generating the second ciphertext, and sending it back to the target cloud tenant, accurate analysis and aggregation of information is achieved.
On the premise of protecting information privacy and security, accurate information analysis and aggregation of cloud tenants is realized, and invisible privacy computing services are provided, which enhances the added value-added services provided by the cloud service provider for the cloud tenant.
Smart Images

Figure CN115442105B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the fields of cloud computing and artificial intelligence technology, and in particular to an information determination method, an information determination device, an electronic device, a storage medium, and a program product. Background Art
[0002] With the continuous development of information technology and the popularization of cloud computing, new cloud services are constantly emerging. At present, cloud service providers are gradually subdividing cloud services into categories, such as enterprise cloud, education cloud, etc. The demand for cloud services by a large number of cloud tenants is also personalized and diverse.
[0003] In the process of implementing the present disclosure, it was found that it is difficult for cloud tenants to conduct accurate information analysis on other tenants while protecting their own information privacy and security; and due to the limitations of information privacy and security, it is difficult for cloud service providers to aggregate the information of cloud tenants for analysis. Summary of the invention
[0004] In view of the above problems, the present disclosure provides an information determination method, an information determination device, an electronic device, a storage medium, and a program product.
[0005] According to a first aspect of the present disclosure, there is provided an information determination method, which is applied to a cloud service provider, comprising:
[0006] When it is determined that the public key has been received, the public key is sent to N other tenants on the same cloud as the target cloud tenant, where the public key comes from the public-private key pair determined by the request based on the information of the target cloud tenant, and N is an integer greater than or equal to 2;
[0007] When it is determined that the electronic contract meets the preset conditions, M first ciphertexts sent from the target cloud tenant terminal and N other tenant terminals are received, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, the first ciphertext is obtained by the target cloud tenant terminal or each other tenant terminal according to its own data for information determination, and M is an integer greater than N;
[0008] Determine, based on the M first ciphertexts and the public keys, second ciphertexts for the target cloud tenant and other tenants; and
[0009] The second ciphertext is sent to the target cloud tenant, so that the target cloud tenant can determine the information after decrypting the second ciphertext according to the private key in the public-private key pair.
[0010] According to an embodiment of the present disclosure, determining second ciphertexts for a target cloud tenant and other tenants based on M first ciphertexts and public keys includes:
[0011] Using the public key, within a predetermined time, the received M first ciphertexts are calculated to obtain a first ciphertext calculation result; and
[0012] The result of calculating the first ciphertext is used as the second ciphertext.
[0013] According to an embodiment of the present disclosure, within a predetermined time, the received M first ciphertexts are calculated using a public key to obtain a first ciphertext calculation result, including:
[0014] Within a predetermined time, performing additive homomorphic calculation on the M first ciphertexts to obtain an intermediate ciphertext calculation result; and
[0015] The intermediate ciphertext calculation result is multiplied homomorphically with the public key to obtain the first ciphertext calculation result.
[0016] According to an embodiment of the present disclosure, the electronic contract includes: the start and end dates of the contract, target data that can be used for information determination, the scope of use of the target data, and a frequency threshold for initiating an information determination request.
[0017] According to an embodiment of the present disclosure, the first ciphertext is generated by homomorphically encrypting the data used for information determination by the target cloud tenant or each other tenant, when it is determined that each other tenant has received the public key.
[0018] A second aspect of the present disclosure provides an information determination method, which is applied to a target cloud tenant, comprising:
[0019] Determine the public and private key pairs based on the information confirmation request initiated by the target cloud tenant;
[0020] Sending the public key of the public-private key pair to the cloud service provider, wherein the cloud service provider, upon determining that the public key has been received, sends the public key to N other tenants on the same cloud as the target cloud tenant, where N is an integer greater than or equal to 2;
[0021] Sending a first ciphertext obtained according to the data used by the target cloud tenant terminal itself for information determination to the cloud service provider terminal, wherein the cloud service provider terminal also receives first ciphertexts sent from N other tenant terminals, and the M first ciphertexts are used by the cloud service provider terminal to determine second ciphertexts for the target cloud tenant terminal and other tenant terminals when determining that the electronic contract meets preset conditions, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, and the M first ciphertexts include a first ciphertext obtained according to the data used by the target cloud tenant terminal itself for information determination and first ciphertexts sent by N other tenant terminals, and the tenant terminal M is an integer greater than N; and
[0022] When it is determined that the second ciphertext sent by the cloud service provider is received, the information is determined after the second ciphertext is decrypted according to the private key in the public-private key pair.
[0023] A third aspect of the present disclosure provides an information determination device, including:
[0024] A first sending module is used to send the public key to N other tenant terminals on the same cloud as the target cloud tenant terminal when it is determined that the public key is received, wherein the public key comes from a public-private key pair determined by the request according to the information of the target cloud tenant terminal, and N is an integer greater than or equal to 2;
[0025] A first receiving module is used to receive M first ciphertexts sent from a target cloud tenant terminal and N other tenant terminals when it is determined that the electronic contract meets the preset conditions, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, the first ciphertext is obtained by the target cloud tenant terminal or each other tenant terminal according to its own data for information determination, and M is an integer greater than N;
[0026] A first determination module is used to determine second ciphertexts for the target cloud tenant and other tenants according to the M first ciphertexts and the public key; and
[0027] The second sending module is used to send the second ciphertext to the target cloud tenant terminal, so that the target cloud tenant terminal can determine the information after decrypting the second ciphertext according to the private key in the public-private key pair.
[0028] A fourth aspect of the present disclosure provides an information determination device, comprising:
[0029] A second determination module is used to determine the public-private key pair according to the information determination request initiated by the target cloud tenant;
[0030] A third sending module is used to send the public key of the public-private key pair to the cloud service provider, wherein the cloud service provider sends the public key to N other tenants on the same cloud as the target cloud tenant when determining that the public key has been received, where N is an integer greater than or equal to 2;
[0031] a fourth sending module, configured to send to the cloud service provider a first ciphertext obtained according to the data used by the target cloud tenant terminal itself for information determination, wherein the cloud service provider terminal also receives first ciphertexts sent from N other tenant terminals, and the M first ciphertexts are used by the cloud service provider terminal to determine second ciphertexts for the target cloud tenant terminal and the other tenant terminals when determining that the electronic contract meets preset conditions, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, and the M first ciphertexts include a first ciphertext obtained according to the data used by the target cloud tenant terminal itself for information determination and first ciphertexts sent by N other tenant terminals, and the tenant terminal M is an integer greater than N; and
[0032] The third determination module is used to determine the information after decrypting the second ciphertext according to the private key in the public-private key pair when it is determined that the second ciphertext sent by the cloud service provider is received.
[0033] The fifth aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute the above-mentioned information determination method.
[0034] The sixth aspect of the present disclosure also provides a computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to execute the above-mentioned information determination method.
[0035] The seventh aspect of the present disclosure also provides a computer program product, including a computer program, which implements the above-mentioned information determination method when executed by a processor.
[0036] According to the embodiments of the present disclosure, by sending a public key to N other tenants on the same cloud as the target cloud tenant, in addition to receiving the first ciphertext sent from the target cloud tenant, it also receives N first ciphertexts sent from N other tenants, ensuring that the cloud service provider has no plaintext data for information determination, only encrypted ciphertexts, and protecting the information privacy security of the target cloud tenant and each other tenant. According to the first ciphertext, the second ciphertext for the target cloud tenant and other tenants is determined, and the target cloud tenant cannot obtain the specific plaintext data for information determination of each other tenant. Based on privacy and security protection, information determination is performed, and the cloud service provider provides available invisible privacy computing services to ensure the privacy security of each tenant's information. Under the premise of protecting the privacy of each cloud tenant's information, it is ensured that the plaintext data does not leave the domain and the data is not exposed to the outside, so that the accurate information determination of the target cloud tenant is realized, which is conducive to the cloud service provider to provide value-added services to each cloud tenant. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] The above contents and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0038] Figure 1 The application scenario diagram schematically shows the information determination method, information determination device, electronic device, storage medium and program product according to the embodiments of the present disclosure;
[0039] Figure 2 A flowchart of an information determination method according to an embodiment of the present disclosure is schematically shown;
[0040] Figure 3A flowchart of an information determination method according to another embodiment of the present disclosure is schematically shown;
[0041] Figure 4 The structure block diagram of the information determination device according to the embodiment of the present disclosure is schematically shown;
[0042] Figure 5 A structural block diagram schematically shows an information determination device according to another embodiment of the present disclosure; and
[0043] Figure 6 A block diagram of an electronic device suitable for implementing the information determination method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0044] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0045] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.
[0046] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.
[0047] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0048] In the technical solution disclosed in the present invention, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations, necessary confidentiality measures are taken, and do not violate public order and good morals.
[0049] In the technical solution of the embodiment of the present disclosure, the user's authorization or consent is obtained before obtaining or collecting the user's personal information.
[0050] In related technologies, cloud tenants can use third-party investigators or public information to analyze information on other tenants, but there are issues with their own information privacy and security, which makes it difficult for cloud tenants to accurately analyze information on other tenants while protecting their own information privacy and security; and due to restrictions on information privacy and security, cloud service providers find it difficult to aggregate cloud tenants' information for analysis.
[0051] An embodiment of the present disclosure provides an information determination method, which is applied to a cloud service provider, comprising: when it is determined that a public key has been received, sending the public key to N other tenant terminals on the same cloud as the target cloud tenant terminal, wherein the public key comes from a public-private key pair determined according to an information determination request of the target cloud tenant terminal, and N is an integer greater than or equal to 2; when it is determined that an electronic contract meets preset conditions, receiving M first ciphertexts sent from the target cloud tenant terminal and N other tenant terminals, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, and the first ciphertext is obtained by the target cloud tenant terminal or each other tenant terminal based on its own data for information determination, and M is an integer greater than N; determining a second ciphertext for the target cloud tenant terminal and the other tenant terminals based on the M first ciphertexts and the public key; and sending the second ciphertext to the target cloud tenant terminal, so that the target cloud tenant terminal determines the information after decrypting the second ciphertext based on the private key in the public-private key pair.
[0052] Figure 1 The application scenario diagram of the information determination method, information determination device, electronic device, storage medium and program product according to the embodiments of the present disclosure is schematically shown.
[0053] like Figure 1 As shown, the application scenario 100 according to this embodiment may include a cloud service provider 101, a network 102, a target cloud tenant 103, and other tenants 104-1...104-N. The network 102 is used to provide a medium for a communication link between the cloud service provider 101 and the target cloud tenant 103, and other tenants 104-1...104-N. The network 102 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0054] The cloud service provider 101 can interact with the target cloud tenant 103 or other tenants 104-1...104-N through the network 102 to receive or send messages, etc. The cloud service provider 101 can deploy servers that provide various services, such as scheduling cloud services, computing cloud services, and key management cloud services. For example, the cloud service provider 101 can deploy a background scheduling server (only as an example) that provides support for the target cloud tenant 103 and other tenants 104-1...104-N. The background scheduling server can be used to schedule computing tasks, receive tasks, assign tasks, receive and distribute public keys, and return task results. For example, the cloud service provider 101 can deploy a background computing server (only as an example) that provides support for the target cloud tenant 103 and other tenants 104-1...104-N. The background computing server can be used for ciphertext computing. For example, the cloud service provider 101 can deploy a background key management server (only as an example) that provides support for the target cloud tenant 103 and other tenants 104-1...104-N. The backend key management server can be used to generate public and private key pairs.
[0055] The target cloud tenant terminal 103 and other tenant terminals 104-1…104-N can interact with the cloud service provider terminal 101 through the network 102 to receive or send messages, etc. The target cloud tenant terminal 103 and other tenant terminals 104-1…104-N can deploy servers that provide various services, such as information servers and tenant information library servers. For example, the target cloud tenant terminal 103 and other tenant terminals 104-1…104-N can deploy a background information server that provides support for the cloud service provider terminal 101 (only as an example). The background information server is used to initiate tasks, request key pairs, receive public keys, query and process target tenant information, and receive processing results. For example, the target cloud tenant terminal 103 and other tenant terminals 104-1…104-N can deploy a background tenant information library server that provides support for the cloud service provider terminal 101 (only as an example). The background tenant information library server is used to store tenants' own information.
[0056] It should be noted that the information determination method provided in the embodiment of the present disclosure can generally be executed by the cloud service provider 101. Accordingly, the information determination device provided in the embodiment of the present disclosure can generally be set in the cloud service provider 101. The information determination method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the cloud service provider 101 and can communicate with the target cloud tenant 103, other tenants 104-1...104-N and / or the cloud service provider 101. Accordingly, the information determination device provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the cloud service provider 101 and can communicate with the target cloud tenant 103, other tenants 104-1...104-N and / or the cloud service provider 101.
[0057] The information determination device method provided in the embodiment of the present disclosure may also be executed by the target cloud tenant terminal 103. Accordingly, the information determination device provided in the embodiment of the present disclosure may also be generally set in the target cloud tenant terminal 103. The information determination method provided in the embodiment of the present disclosure may also be executed by other cloud tenant terminals different from the target cloud tenant terminal 103. Accordingly, the information determination device provided in the embodiment of the present disclosure may also be set in other cloud tenant terminals different from the target cloud tenant terminal 103.
[0058] It should be understood that Figure 1 The number of cloud service providers, networks, target cloud tenants, and other cloud tenants in the example is only illustrative. Any number of cloud service providers, networks, target cloud tenants, and other cloud tenants may be provided as required.
[0059] The following will be based on Figure 1 The scene described by Figure 2-3 The information determination method of the disclosed embodiment is described in detail.
[0060] Figure 2 The flowchart of the information determination method according to the embodiment of the present disclosure is schematically shown.
[0061] like Figure 2 As shown, the information determination method 200 of this embodiment includes operations S201 to S204.
[0062] In operation S201, when it is determined that the public key is received, the public key is sent to N other tenants on the same cloud as the target cloud tenant, where the public key comes from a public-private key pair determined by the request based on the information of the target cloud tenant, and N is an integer greater than or equal to 2.
[0063] According to an embodiment of the present disclosure, a target cloud tenant can initiate an information determination request at the target cloud tenant end, and the cloud service provider end can generate a public-private key pair based on the information determination request, and return the public-private key pair to the target cloud tenant end. The target cloud tenant end sends the public key in the public-private key pair to the cloud service provider end. After receiving the public key, the cloud service provider end sends the public key to N other tenant ends on the same cloud as the target cloud tenant end.
[0064] For example, the target cloud tenant can send an information confirmation request to the information server deployed in the target cloud tenant end. The information server receives the information confirmation request and, in response to the information confirmation request, applies for a public-private key pair for homomorphic encryption from the key management server deployed in the cloud service provider end. The key management server generates a public-private key pair for homomorphic encryption and returns it to the information server, but does not save it itself.
[0065] According to an embodiment of the present disclosure, the information determination request may be determined according to the business needs of the target cloud tenant, for example, it may be a request for statistics on the market share of a certain business.
[0066] In operation S202, when it is determined that the electronic contract meets the preset conditions, M first ciphertexts sent from the target cloud tenant end and N other tenant ends are received, wherein the electronic contract is jointly signed by the target cloud tenant end and the cloud service provider end, and the first ciphertext is obtained by the target cloud tenant end or each other tenant end based on its own data for information determination, and M is an integer greater than N.
[0067] According to an embodiment of the present disclosure, the electronic contract is jointly signed by the target cloud tenant and the cloud service provider. The target cloud tenant and the cloud service provider can stipulate the rights and obligations of the target cloud tenant and the cloud service provider through the signing of the electronic contract agreement.
[0068] For example, it can be stipulated that cloud tenants on the same cloud can only have the right to confirm information once a month. The frequency of information confirmation for each cloud tenant is the same, which ensures the fairness of the cloud service provider and fairness among each cloud tenant.
[0069] According to an embodiment of the present disclosure, the preset condition can be determined according to the actual need for information determination and the standard contract. The target cloud tenant or each other tenant can use the public key to homomorphically encrypt its own data used for information determination to generate a first ciphertext.
[0070] It should be noted that sending the first ciphertext to the cloud service provider ensures that the cloud service provider has no plaintext data for information confirmation, only encrypted ciphertext, thereby ensuring the information privacy security of the target cloud tenant and each other tenant.
[0071] In operation S203, second ciphertexts for the target cloud tenant and other tenants are determined based on the M first ciphertexts and public keys.
[0072] According to the embodiment of the present disclosure, all first ciphertexts may be integrated, and then the integrated ciphertexts may be homomorphically encrypted using a public key to generate a second ciphertext. The second ciphertext may represent the total encrypted data used by the target cloud tenant and other tenants for information confirmation.
[0073] It should be noted that, through the second ciphertext for the target cloud tenant and other tenants, the target cloud tenant cannot obtain the data used for information confirmation of each specific other tenant, thereby protecting the information privacy security of each other tenant.
[0074] In operation S204, the second ciphertext is sent to the target cloud tenant, so that the target cloud tenant decrypts the second ciphertext according to the private key in the public-private key pair and determines the information.
[0075] According to an embodiment of the present disclosure, the target cloud tenant can decrypt the second ciphertext with a private key to obtain the total plaintext data representing the target cloud tenant and other tenants for information determination. The target cloud tenant also has its own plaintext data for information determination, and can determine the information through its own plaintext data for information determination and the total plaintext data.
[0076] For example, when the information determination request is a request for statistics on the market share of a certain business, the market share can be obtained based on the ratio of its own market plaintext data to the sum of the market plaintext data obtained from all tenants.
[0077] According to the disclosed embodiment, by sending a public key to N other tenants on the same cloud as the target cloud tenant, in addition to receiving the first ciphertext sent from the target cloud tenant, it also receives N first ciphertexts sent from N other tenants, ensuring that the cloud service provider has no plaintext data for information determination, only encrypted ciphertexts, and protecting the information privacy security of the target cloud tenant and each other tenant. The second ciphertext for the target cloud tenant and other tenants is determined based on the first ciphertext, and the target cloud tenant cannot obtain the specific plaintext data for information determination of each other tenant. Based on privacy and security protection for information determination, the cloud service provider provides available invisible privacy computing services to ensure the privacy security of each tenant's information. Under the premise of protecting the privacy of each cloud tenant's information, it is ensured that the plaintext data does not leave the domain and the data is not exposed to the outside, so that the accurate information determination of the target cloud tenant is achieved, which is conducive to the cloud service provider to provide value-added services to each cloud tenant.
[0078] According to an embodiment of the present disclosure, determining second ciphertexts for a target cloud tenant and other tenants based on M first ciphertexts and public keys includes:
[0079] Within a predetermined time, the received M first ciphertexts are calculated using the public key to obtain a first ciphertext calculation result; and the first ciphertext calculation result is used as the second ciphertext.
[0080] According to an embodiment of the present disclosure, a public key can be used to perform homomorphic encryption calculation on the M first ciphertexts received to obtain a first ciphertext calculation result. The predetermined time can be determined based on the effective time actually required to be calculated after the cloud service provider receives the M first ciphertexts. The effective time can be determined based on the actual information determination request.
[0081] According to the embodiment of the present disclosure, the second ciphertext for the target cloud tenant and other tenants is determined based on the first ciphertext, and the target cloud tenant cannot obtain the plaintext data used for information determination of each specific other tenant, thereby protecting the information privacy of other tenants.
[0082] According to an embodiment of the present disclosure, within a predetermined time, the received M first ciphertexts are calculated using a public key to obtain a first ciphertext calculation result, including:
[0083] Within a predetermined time, the M first ciphertexts are subjected to additive homomorphic calculation to obtain an intermediate ciphertext calculation result; and the intermediate ciphertext calculation result and the public key are subjected to multiplicative homomorphic calculation to obtain a first ciphertext calculation result.
[0084] For example, the public-private key pair may be (pk, sk), and the first ciphertext may be the following formula (1):
[0085] Yi=(Xi)pk (1)
[0086] Among them, Yi represents the i-th first ciphertext; Xi represents the plaintext data used for information confirmation on the i-th tenant side; pk represents the public key.
[0087] The intermediate ciphertext calculation result can be expressed as {Y1+Y2+......+Yn}.
[0088] The first ciphertext calculation result Zn can be expressed as the following formula (2):
[0089] Zn=({Y1+Y2+......+Yn}pk) (2)
[0090] It should be noted that the target cloud tenant can use the private key sk to decrypt the first ciphertext calculation result Zn, and the decryption result Sn can be expressed as the following formula (3):
[0091] Sn=(Zn)sk (3)
[0092] The decryption result Sn is consistent with the calculation result of the plaintext data used for information confirmation on all tenant ends.
[0093] According to the embodiment of the present disclosure, by performing homomorphic encryption calculation on the first ciphertext, even the target cloud tenant cannot obtain the plaintext data used for information determination of each specific other tenant, which is conducive to the target tenant to perform accurate information determination under the premise of protecting the information privacy of other tenants.
[0094] According to an embodiment of the present disclosure, an electronic contract may include: the start and end dates of the contract, target data that can be used for information determination, the scope of use of the target data, and a frequency threshold for initiating an information determination request.
[0095] According to an embodiment of the present disclosure, the start and end dates of the contract can be determined according to the agreement between the target cloud tenant and the cloud service provider. The target data that can be used for information determination can be determined according to the business needs of the target cloud tenant, for example, it can be data for market share statistics of a certain business. The scope of use of the target data can be determined according to the business needs of the target cloud tenant, for example, the target data can only be used for market share statistics of a certain business to prevent abuse. The frequency threshold for initiating information determination requests can be determined according to the actual need for information determination, for example, it can be determined according to the actual situation of a certain business.
[0096] According to an embodiment of the present disclosure, the electronic contract may also include the consequences to be borne by either the target cloud tenant or the cloud service provider if the contract is breached.
[0097] According to the embodiment of the present disclosure, by signing an electronic contract, the rights and obligations between the target cloud tenant and the cloud service provider are stipulated, thereby ensuring fairness and justice.
[0098] According to an embodiment of the present disclosure, the first ciphertext is generated by homomorphically encrypting the data used for information determination by the target cloud tenant or each other tenant, when it is determined that each other tenant has received the public key.
[0099] According to the embodiment of the present disclosure, each other tenant receives the public key sent by the cloud service provider, and uses the public key to homomorphically encrypt its own data used for information determination to generate a first ciphertext. The target cloud tenant can also use the public key to homomorphically encrypt its own data used for information determination to generate a first ciphertext.
[0100] According to the embodiment of the present disclosure, each tenant performs homomorphic encryption based on its own data used for information determination to generate a first ciphertext, ensuring that the cloud service provider cannot obtain the plaintext data used by each tenant for information determination, which is conducive to the cloud service provider providing available and invisible privacy computing services.
[0101] Figure 3 A flow chart of an information determination method according to another embodiment of the present disclosure is schematically shown.
[0102] like Figure 3 As shown, the information determination method 300 of this embodiment includes operations S301 to S304.
[0103] In operation S301, a public-private key pair is determined based on an information determination request initiated by the target cloud tenant.
[0104] According to the embodiment of the present disclosure, the target cloud tenant can initiate an information determination request at the target cloud tenant end, and the cloud service provider end can generate a public-private key pair based on the information determination request and return the public-private key pair to the target cloud tenant end. The information determination request can be determined based on the business needs of the target cloud tenant, for example, it can be a request for statistics on the market share of a certain business.
[0105] In operation S302, a public key in a public-private key pair is sent to a cloud service provider, wherein upon determining that the public key has been received, the cloud service provider sends the public key to N other tenants on the same cloud as the target cloud tenant, where N is an integer greater than or equal to 2.
[0106] According to an embodiment of the present disclosure, the target cloud tenant can send the public key in the public-private key pair to the cloud service provider, so as to send the public key to N other tenants on the same cloud as the target cloud tenant.
[0107] In operation S303, a first ciphertext obtained according to data used for information determination by the target cloud tenant itself is sent to the cloud service provider.
[0108] Among them, the cloud service provider also receives the first ciphertexts sent from N other tenant terminals. The M first ciphertexts are used by the cloud service provider to determine the second ciphertexts for the target cloud tenant terminal and other tenant terminals when it is determined that the electronic contract meets the preset conditions. The electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal. The M first ciphertexts include the first ciphertext obtained according to the data used for information determination by the target cloud tenant terminal itself and the first ciphertexts sent by N other tenant terminals. The tenant terminal M is an integer greater than N.
[0109] According to the embodiment of the present disclosure, the preset condition can be determined according to the actual need information and the standard contract. The target cloud tenant and the cloud service provider can sign an electronic contract to stipulate the rights and obligations of the target cloud tenant and the cloud service provider.
[0110] In operation S304, when it is determined that the second ciphertext sent by the cloud service provider is received, the second ciphertext is decrypted according to the private key in the public-private key pair to determine the information.
[0111] According to an embodiment of the present disclosure, after receiving the second ciphertext sent by the cloud service provider, the target cloud tenant can decrypt the second ciphertext through the private key to obtain the total plaintext data and other plaintext data used to determine information that can represent the target cloud tenant and other tenants. The target cloud tenant also has its own plaintext data for information determination, and can determine information through its own plaintext data for information determination and the total plaintext data.
[0112] For example, when the information determination request is a request for market share statistics of a certain business, the market share can be obtained based on the ratio of its own market plaintext data to the sum of the market plaintext data of all tenants, thereby meeting the business needs of the target cloud tenant to conduct accurate market analysis.
[0113] According to the disclosed embodiment, by determining the public-private key pair according to the information determination request initiated by the target cloud tenant, the public key in the public-private key pair is sent to the cloud service provider, so that the cloud service provider sends the public key to N other tenants on the same cloud as the target cloud tenant, and obtains N first ciphertexts obtained by the N other tenants through their own data for information determination. In addition, the target cloud tenant also obtains the first ciphertext through its own data for information determination, ensuring that the cloud service provider has no plaintext data for information determination, only the encrypted ciphertext, and protecting the information privacy security of the target cloud tenant and each other tenant. According to the second ciphertext for the target cloud tenant and other tenants, the target cloud tenant cannot obtain the specific plaintext data for information determination of each other tenant. Based on privacy and security protection for information determination, the cloud service provider provides available invisible privacy computing services to ensure the privacy security of each tenant's information. Under the premise of protecting the privacy of each cloud tenant's information, it is ensured that the plaintext data does not leave the domain, and the data is protected from being exposed to the outside, so as to achieve accurate information determination of the target cloud tenant, which is conducive to the cloud service provider to provide value-added services to each cloud tenant.
[0114] Based on the above information determination method, the present disclosure also provides an information determination device. Figure 4-5 The device is described in detail.
[0115] Figure 4 The structural block diagram of the information determination device according to an embodiment of the present disclosure is schematically shown.
[0116] like Figure 4 As shown, the information determination device 400 of this embodiment includes a first sending module 410 , a first receiving module 420 , a first determination module 430 and a second sending module 440 .
[0117] The first sending module 410 is used to send the public key to N other tenants on the same cloud as the target cloud tenant when it is determined that the public key is received, wherein the public key comes from a public-private key pair determined according to the information determination request of the target cloud tenant, and N is an integer greater than or equal to 2. In one embodiment, the first sending module 410 can be used to perform the operation S201 described above, which will not be repeated here.
[0118] The first receiving module 420 is used to receive M first ciphertexts sent from the target cloud tenant terminal and N other tenant terminals when it is determined that the electronic contract meets the preset conditions, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, and the first ciphertext is obtained by the target cloud tenant terminal or each other tenant terminal based on its own data for information determination, and M is an integer greater than N. In one embodiment, the first receiving module 420 can be used to perform the operation S202 described above, which will not be repeated here.
[0119] The first determination module 430 is used to determine the second ciphertext for the target cloud tenant and other tenants according to the M first ciphertexts and the public key. In one embodiment, the first determination module 430 can be used to perform the operation S203 described above, which will not be repeated here.
[0120] The second sending module 440 is used to send the second ciphertext to the target cloud tenant, so that the target cloud tenant can determine the information after decrypting the second ciphertext according to the private key in the public-private key pair. In one embodiment, the second sending module 440 can be used to perform the operation S204 described above, which will not be repeated here.
[0121] According to an embodiment of the present disclosure, any multiple modules of the first sending module 410, the first receiving module 420, the first determining module 430, and the second sending module 440 can be combined in one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the first sending module 410, the first receiving module 420, the first determining module 430, and the second sending module 440 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or by any one of the three implementation methods of software, hardware, and firmware, or by a suitable combination of any of them. Alternatively, at least one of the first sending module 410 , the first receiving module 420 , the first determining module 430 , and the second sending module 440 may be at least partially implemented as a computer program module, and when the computer program module is executed, a corresponding function may be performed.
[0122] Figure 5 The structural block diagram of an information determination device according to another embodiment of the present disclosure is schematically shown.
[0123] like Figure 5As shown, the information recommendation device 500 of this embodiment includes a second determining module 510 , a third sending module 520 , a fourth sending module 530 and a third determining module 540 .
[0124] The second determination module 510 is used to determine the public-private key pair according to the information determination request initiated by the target cloud tenant. In one embodiment, the second determination module 510 can be used to perform the operation S301 described above, which will not be repeated here.
[0125] The third sending module 520 is used to send the public key in the public-private key pair to the cloud service provider, wherein the cloud service provider, when determining that the public key has been received, sends the public key to N other tenants on the same cloud as the target cloud tenant, where N is an integer greater than or equal to 2. In one embodiment, the third sending module 520 can be used to perform the operation S302 described above, which will not be repeated here.
[0126] The fourth sending module 530 is used to send the first ciphertext obtained according to the data used by the target cloud tenant terminal itself for information determination to the cloud service provider, wherein the cloud service provider terminal also receives the first ciphertext sent from N other tenant terminals, and the M first ciphertexts are used by the cloud service provider terminal to determine the second ciphertext for the target cloud tenant terminal and other tenant terminals when determining that the electronic contract meets the preset conditions, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, and the M first ciphertexts include the first ciphertext obtained according to the data used by the target cloud tenant terminal itself for information determination and the first ciphertexts sent by N other tenant terminals, and the tenant terminal M is an integer greater than N. In one embodiment, the fourth sending module 530 can be used to perform the operation S303 described above, which will not be repeated here.
[0127] The third determination module 540 is used to determine the information after decrypting the second ciphertext according to the private key in the public-private key pair when the second ciphertext sent by the cloud service provider is received. In one embodiment, the third determination module 540 can be used to perform the operation S304 described above, which will not be repeated here.
[0128] According to an embodiment of the present disclosure, any multiple modules of the second determination module 510, the third sending module 520, the fourth sending module 530 and the third determination module 540 can be combined in one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the second determination module 510, the third sending module 520, the fourth sending module 530 and the third determination module 540 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware and firmware or in a suitable combination of any of them. Alternatively, at least one of the second determination module 510 , the third sending module 520 , the fourth sending module 530 and the third determination module 540 may be at least partially implemented as a computer program module, and when the computer program module is executed, a corresponding function may be performed.
[0129] Figure 6 A block diagram of an electronic device suitable for implementing the information determination method according to an embodiment of the present disclosure is schematically shown.
[0130] like Figure 6 As shown, the electronic device 600 according to an embodiment of the present disclosure includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. The processor 601 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 601 may also include an onboard memory for caching purposes. The processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0131] In RAM 603, various programs and data required for the operation of electronic device 600 are stored. Processor 601, ROM 602 and RAM 603 are connected to each other via bus 604. Processor 601 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 602 and / or RAM 603. It should be noted that the program can also be stored in one or more memories other than ROM 602 and RAM 603. Processor 601 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.
[0132] According to an embodiment of the present disclosure, the electronic device 600 may further include an input / output (I / O) interface 605, which is also connected to the bus 604. The electronic device 600 may further include one or more of the following components connected to the I / O interface 605: an input portion 606 including a keyboard, a mouse, etc.; an output portion 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 608 including a hard disk, etc.; and a communication portion 609 including a network interface card such as a LAN card, a modem, etc. The communication portion 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage portion 608 as needed.
[0133] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.
[0134] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present disclosure, a computer-readable storage medium may include the ROM 602 and / or RAM 603 described above and / or one or more memories other than ROM 602 and RAM 603.
[0135] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the method provided by the embodiment of the present disclosure.
[0136] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 601. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.
[0137] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 609, and / or installed from a removable medium 611. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0138] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the processor 601, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, apparatus, module, unit, etc. described above can be implemented by a computer program module.
[0139] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).
[0140] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0141] It will be appreciated by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations and / or combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways without departing from the spirit and teachings of the present disclosure. All of these combinations and / or combinations fall within the scope of the present disclosure.
[0142] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.
Claims
1. An information determination method, applied to a cloud service provider, comprising: When it is determined that the public key is received, the public key is sent to N other tenants on the same cloud as the target cloud tenant, wherein the public key comes from a public-private key pair determined by the information determination request of the target cloud tenant, and N is an integer greater than or equal to 2; In the case where it is determined that the electronic contract meets the preset conditions, M first ciphertexts sent from the target cloud tenant terminal and N of the other tenant terminals are received, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, the first ciphertext is obtained by the target cloud tenant terminal or each of the other tenant terminals according to data used for information determination, and M is an integer greater than N; Determine, according to the M first ciphertexts and the public key, a second ciphertext for the target cloud tenant and the other tenants; and The second ciphertext is sent to the target cloud tenant, so that the target cloud tenant decrypts the second ciphertext according to the private key in the public-private key pair and determines the information.
2. The method according to claim 1, wherein: The determining, according to the M first ciphertexts and the public key, the second ciphertexts for the target cloud tenant and the other tenants includes: Using the public key within a predetermined time, calculating the received M first ciphertexts to obtain a first ciphertext calculation result; and The calculation result of the first ciphertext is used as the second ciphertext.
3. The method according to claim 2, wherein: The step of calculating the received M first ciphertexts using the public key within a predetermined time to obtain a first ciphertext calculation result includes: Within the predetermined time, performing additive homomorphic calculation on the M first ciphertexts to obtain an intermediate ciphertext calculation result; and The intermediate ciphertext calculation result is multiplied homomorphically with the public key to obtain the first ciphertext calculation result.
4. The method according to claim 1, wherein: The electronic contract includes: the start and end dates of the contract, target data that can be used for information determination, the scope of use of the target data, and a frequency threshold for initiating the information determination request.
5. The method according to claim 1, wherein: The first ciphertext is generated by homomorphically encrypting the data used for information determination by the target cloud tenant or each of the other tenants, when it is determined that each of the other tenants has received the public key.
6. An information determination method, applied to a target cloud tenant, comprising: Determine the public-private key pair according to the information determination request initiated by the target cloud tenant; Sending the public key of the public-private key pair to the cloud service provider, wherein the cloud service provider, upon determining that the public key has been received, sends the public key to N other tenants on the same cloud as the target cloud tenant, where N is an integer greater than or equal to 2; Sending to the cloud service provider a first ciphertext obtained according to the data used by the target cloud tenant for information determination, wherein the cloud service provider also receives first ciphertexts sent from N of the other tenants, and the M first ciphertexts are used by the cloud service provider to determine a second ciphertext for the target cloud tenant and the other tenants when determining that the electronic contract meets preset conditions, wherein the electronic contract is jointly signed by the target cloud tenant and the cloud service provider, and the M first ciphertexts include the first ciphertext obtained according to the data used by the target cloud tenant for information determination and the first ciphertexts sent by the N other tenants, and the tenant M is an integer greater than N; and When it is determined that the second ciphertext sent by the cloud service provider is received, the information is determined after the second ciphertext is decrypted according to the private key in the public-private key pair.
7. An information determination device, comprising: A first sending module is used to send the public key to N other tenant terminals on the same cloud as the target cloud tenant terminal when it is determined that the public key is received, wherein the public key comes from a public-private key pair determined according to the information determination request of the target cloud tenant terminal, and N is an integer greater than or equal to 2; A first receiving module is used to receive M first ciphertexts sent from the target cloud tenant terminal and N other tenant terminals when it is determined that the electronic contract meets the preset conditions, wherein the electronic contract is jointly signed by the target cloud tenant terminal and the cloud service provider terminal, the first ciphertext is obtained by the target cloud tenant terminal or each of the other tenant terminals according to the data used for information determination, and M is an integer greater than N; A first determining module, configured to determine, based on the M first ciphertexts and the public key, second ciphertexts for the target cloud tenant and the other tenants; and The second sending module is used to send the second ciphertext to the target cloud tenant terminal, so that the target cloud tenant terminal decrypts the second ciphertext according to the private key in the public-private key pair and determines the information.
8. An information determination device, comprising: A second determination module is used to determine the public-private key pair according to the information determination request initiated by the target cloud tenant; A third sending module is used to send the public key of the public-private key pair to the cloud service provider, wherein the cloud service provider sends the public key to N other tenants on the same cloud as the target cloud tenant when determining that the public key has been received, where N is an integer greater than or equal to 2; a fourth sending module, used for sending to the cloud service provider a first ciphertext obtained according to the data used by the target cloud tenant itself for information determination, wherein the cloud service provider also receives first ciphertexts sent from N of the other tenants, and the M first ciphertexts are used by the cloud service provider to determine a second ciphertext for the target cloud tenant and the other tenants when determining that the electronic contract meets preset conditions, wherein the electronic contract is jointly signed by the target cloud tenant and the cloud service provider, and the M first ciphertexts include the first ciphertext obtained according to the data used by the target cloud tenant itself for information determination and the first ciphertexts sent by the N other tenants, and the tenant M is an integer greater than N; and The third determination module is used to determine information after decrypting the second ciphertext according to the private key in the public-private key pair when it is determined that the second ciphertext sent by the cloud service provider is received.
9. An electronic device, comprising: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors execute the method according to any one of claims 1 to 6.
10. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to execute the method according to any one of claims 1 to 6.
11. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Mobile application recommendation system and method with privacy protection function under cloud services
CN107248980A
Privacy protection cluster data mining method and system, electronic equipment and memory medium
CN108881204A