WO2024001558A1 - 数据处理方法、设备、计算机设备和可读存储介质 - Google Patents

数据处理方法、设备、计算机设备和可读存储介质 Download PDF

Info

Publication number
WO2024001558A1
WO2024001558A1 PCT/CN2023/093893 CN2023093893W WO2024001558A1 WO 2024001558 A1 WO2024001558 A1 WO 2024001558A1 CN 2023093893 W CN2023093893 W CN 2023093893W WO 2024001558 A1 WO2024001558 A1 WO 2024001558A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
ciphertext
result
information
plaintext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2023/093893
Other languages
English (en)
French (fr)
Inventor
郭天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to US18/877,520 priority Critical patent/US20250373433A1/en
Priority to EP23829744.4A priority patent/EP4542917A4/en
Publication of WO2024001558A1 publication Critical patent/WO2024001558A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • H04L9/0858Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • This application relates to the field of network security technology, and in particular to a data processing method, equipment, computer equipment and readable storage medium.
  • Cloud platform systems have been widely used. With the reflection on the shortcomings of these existing system architectures and the continuous development of the upper-layer business model itself, the traditional centralized processing architecture and distributed processing architecture can no longer meet the needs. People are increasingly concerned about the underlying cloud platform. and data processing architecture also put forward some new improvement requirements.
  • the upper-layer application system based on the cloud platform adopts a hybrid processing architecture.
  • the hybrid processing architecture separates business algorithm design and algorithm processing.
  • Business control processing is centralized, and business data processing is distributed.
  • This architecture is superior to traditional centralized processing architecture and distributed processing architecture in terms of resource utilization and scalability.
  • there are also problems of computing integrity and data integrity that need to be solved.
  • This application provides a data processing method, equipment, computer equipment and readable storage medium.
  • this application provides a data processing method, which is applied to data application equipment.
  • the method includes: obtaining the business algorithm of the application business, performing format conversion on the business algorithm to obtain an algebraic intermediate expression; according to the preset
  • the scalable transparent knowledge proof STARK transformation rule processes the algebraic intermediate expression to obtain a prover and a verifier; sends the prover to the computing power processing device; receives the operation result sent by the computing power processing device,
  • the operation results include proof information and ciphertext results.
  • the proof information and the ciphertext results are calculated by the computing power processing device through the prover on the ciphertext data obtained by the data source device using the homomorphic encryption algorithm.
  • this application provides a data processing method, which is applied to a computing power processing device.
  • the method includes: receiving a prover sent by a data application device; and obtaining ciphertext data obtained using a homomorphic encryption algorithm from a data source device. , use the prover to calculate the ciphertext data to obtain proof information and ciphertext results; send the proof information and the ciphertext results to the data application device, so that the data application device can The proof information and the ciphertext result obtain a plaintext result.
  • this application provides a data processing method, applied to data source equipment.
  • the method includes: using a homomorphic encryption algorithm to encrypt the plaintext data of the application service to obtain ciphertext data; converting the ciphertext data Sent to the computing power processing device, so that the computing power processing device calculates the ciphertext data through the prover to obtain the proof information and the ciphertext result, and sends the proof information and the ciphertext result to the data application Device; receiving a decryption request sent by the data application device, the decryption request indicating that the certification information is verified by a verifier deployed on the data application device and carrying the ciphertext result; utilizing the homomorphic encryption The algorithm decrypts the ciphertext result to obtain a plaintext result; and sends the plaintext result to the data application device.
  • this application provides a data processing device, including: a first acquisition module, which is configured to acquire a business algorithm of an application service, perform format conversion on the business algorithm, and obtain an algebraic intermediate expression; a first processing module, is configured to process the algebraic intermediate expression according to the preset scalable transparent knowledge proof STARK transformation rules to obtain a prover and a verifier; the first sending module is configured to send the prover to the computing power Processing device; a first receiving module configured to receive the calculation result sent by the computing power processing device, the calculation result includes proof information and the ciphertext result, the proof information and the ciphertext result are the calculation power
  • the processing device calculates the ciphertext data obtained by the data source device using a homomorphic encryption algorithm through the prover; the information verification module is configured to verify the proof information through the verifier; the second processing module, is configured to send the ciphertext result to the data source device when the certification information is verified, so that the data source device uses the homomorphic encryption algorithm to decrypt the ciphertext result.
  • this application provides a data processing device, including: a second receiving module configured to receive a prover sent by a data application device; a second acquisition module configured to acquire homomorphic encryption from a data source device The ciphertext data obtained by the algorithm; the third processing module is configured to calculate the ciphertext data through the prover to obtain proof information and ciphertext results; the third sending module is set to transmit the proof information and the ciphertext result is sent to the data application device, so that the data application device obtains a plaintext result according to the certification information and the ciphertext result.
  • this application provides a data processing device, including: a data encryption module configured to use a homomorphic encryption algorithm to encrypt plaintext data of application services to obtain ciphertext data; a fourth sending module configured to Send the ciphertext data to the computing power processing device, So that the computing power processing device calculates the ciphertext data through the prover to obtain the proof information and the ciphertext result, and sends the proof information and the ciphertext result to the data application device; the third receiving module, is configured to receive a decryption request sent by the data application device, the decryption request indicating that the certification information has passed the verification of the verifier deployed on the data application device and carries the ciphertext result; the data decryption module, It is configured to use the homomorphic encryption algorithm to decrypt the ciphertext result to obtain a plaintext result; the fifth sending module is configured to send the plaintext result to the data application device.
  • a data encryption module configured to use a homomorphic encryption algorithm to encrypt plaintext data of
  • the application provides a computer device.
  • the computer device includes a memory and a processor.
  • Computer-readable instructions are stored in the memory, and the computer-readable instructions are executed by one or more of the processors.
  • one or more of the processors are caused to perform the steps of the method described in any one of the above first, second and third aspects.
  • the application also provides a computer-readable storage medium, which can be read and written by a processor.
  • the storage medium stores computer instructions, and the computer-readable instructions can be read and written by one or more processors. When executed, one or more processors are caused to execute the steps of the method described in any one of the above first aspect, second aspect and third aspect.
  • Figure 1 is a schematic structural diagram of a data processing device provided by an embodiment of the present application.
  • Figure 2 is a schematic structural diagram of a data processing device provided by another embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • Figure 4 is a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • Figure 5 is a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • Figure 6 is a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • Figure 7 is a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • Figure 8 is a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • Figure 9 is a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • Figure 10 is a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • Figure 11 is a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • Figure 12 is a schematic flowchart of the sub-steps of step S390 in Figure 11;
  • Figure 13 is a schematic structural diagram of data processing in some situations.
  • Figure 14 is a schematic diagram of the overall flow of verification of operation results of the data processing method provided by the embodiment of the present application.
  • Figure 15 is a schematic diagram of the overall flow of prover deployment of the data processing method provided by the embodiment of the present application.
  • Figure 16 is a schematic diagram of the overall data encryption process of the data processing method provided by the embodiment of the present application.
  • Figure 17 is a schematic diagram of the overall data decryption process of the data processing method provided by the embodiment of the present application.
  • Figure 18 is a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • the use of hybrid processing architecture can make full use of hardware computing resources to avoid idleness and waste of hardware resources, simplify the complexity of upper-layer applications, and improve compatibility.
  • the data application delegates the algorithm to the data processor. After the data processor obtains the data from the data source, it uses the delegated algorithm to calculate the data and returns the calculated results to the data application.
  • the advantage of this architecture is that it can make full use ,of existing hardware computing resources, simplify the ,complexity of upper-layer applications, and improve compatibility.
  • the relevant technology does not provide a solution for how data users can ensure that the data processor can faithfully execute the algorithm entrusted to them, how to ensure that the algorithm process will not be tampered with, and how to ensure that the intermediate results and final results of the calculation have not been tampered with. Since data users do not have direct contact with the data source, a certain degree of data privacy can be guaranteed, but it is also impossible to discover whether the input data to the algorithm has been tampered with. Therefore, the above processing cannot guarantee computational integrity and data integrity. In response to the above issues, many people may think that if the managers behind the data processor are trustworthy, and all their software and hardware suppliers and operation and maintenance executors are trustworthy, then there will be no data processor fraud. Things that compromise computational integrity or data integrity.
  • embodiments of the present application provide a data processing method, equipment, computer equipment and readable storage media.
  • the business algorithm is formatted to obtain an algebraic intermediate expression.
  • the business algorithm is conversion processing, and then process the algebraic intermediate expression according to the preset scalable transparent knowledge proof STARK conversion rules to obtain a prover and a verifier; send the prover to the computing power processing device 200, which is beneficial to the computing power processing device 200 to prove Deploy the processor; receive the calculation results sent by the computing power processing device 200.
  • the calculation results include proof information and ciphertext results.
  • the proof information and ciphertext results are the homomorphic encryption algorithm used by the computing power processing device 200 on the data source device 300 through the prover.
  • the obtained ciphertext data is calculated and can receive the ciphertext results to ensure the privacy of the data; due to its own deployment of verification
  • the verifier uses the deployed verifier to verify the certification information, and can obtain whether the calculation results sent by the computing power processing device 200 have been tampered with. If the certification information passes the verification, it means that the algorithm steps during the calculation have not been tampered with, thereby ensuring that the calculation Integrity, the ciphertext result is sent to the data source device 300, so that the data source device 300 uses the homomorphic encryption algorithm to decrypt the ciphertext result and returns the plaintext result, ensuring data integrity and facilitating subsequent processing of the plaintext result.
  • This application can ensure computing integrity and data integrity on the basis of high resource utilization and scalability.
  • Figure 1 shows a schematic structural diagram of a data processing device provided by an embodiment of the present application.
  • data interaction occurs between the data application device 100 , the computing power processing device 200 and the data source device 300 in the data processing device, ensuring the efficiency, integrity and privacy protection of the data processing process. .
  • the data application device 100 uses the first acquisition module 110 to obtain the business algorithm of the application service, performs format conversion on the business algorithm, and obtains an algebraic intermediate expression; the first processing module 120 performs the transformation according to the preset STARK conversion rules.
  • the algebraic intermediate expression is processed to obtain a prover and a verifier; which is beneficial to subsequent deployment of the prover and verifier; and then the first sending module 130 is used to send the prover to the computing power processing device 200, so that the computing power processing device 200 can verify the proof.
  • the processor is deployed; the first receiving module 140 receives the operation result sent by the computing power processing device 200.
  • the operation result includes proof information and ciphertext result.
  • the first acquisition module 110 is connected to the first processing module 120, the first processing module 120 is connected to the first sending module 130 and the first receiving module 140 respectively, and the first receiving module 140 is connected to the information verification module 150.
  • the information verification module 150 is connected to the second processing module 160, and the second processing module 160 is connected to the first acquisition module 110.
  • the computing power processing device 200 includes a second receiving module 210 to receive the prover sent by the data application device 100, which is beneficial to subsequent use of the prover for data processing; it is obtained from the data source device 300 through the second acquisition module 220.
  • the third processing module 230 calculates the ciphertext data through the prover to obtain the proof information and ciphertext results, which is conducive to passing the proof
  • the information and ciphertext results verify the calculation integrity and data integrity
  • the third sending module 240 is used to send the certification information and ciphertext results to the data application device 100, so that the data application device 100 obtains the plaintext based on the certification information and ciphertext results. result.
  • the computing power processing device 200 can perform computing power calculations and feed back the calculation results to the data application device 100. Due to the deployment of the prover, the computing integrity of the processing process of the computing power processing device 200 can be verified, thereby increasing
  • the second receiving module 210 is connected to the first sending module 130, the second obtaining module 220 is connected to the data source device 300, and the third processing module 230 is respectively connected to the second receiving module 210, the second obtaining module 220 and the data source device 300.
  • the third sending module 240 is connected.
  • the second receiving module 210 is a module used to receive the algorithm program sent by the data application device 100;
  • the second obtaining module 220 is an interactive module used to obtain data from the data source;
  • the third processing module 230 is an algorithm
  • the program calling module is used to process the acquired data using the received algorithm program;
  • the third sending module 240 is an interactive module that sends the calculated results to the data application device 100 .
  • the data source device 300 includes a data encryption module 320 that uses a homomorphic encryption algorithm to perform encryption on the plaintext data of the application service. Encrypt to obtain ciphertext data; send the ciphertext data to the computing power processing device 200 through the fourth sending module 330, so that the computing power processing device 200 calculates the ciphertext data through the prover to obtain the proof information and ciphertext results, and The certification information and the ciphertext result are sent to the data application device 100 to provide ciphertext data for the computing power processing device 200, which can ensure data privacy; the third receiving module 340 is used to receive the decryption request sent by the data application device 100, and the decryption request indication The proof information is verified by the verifier deployed on the data application device 100 and carries the ciphertext result; then the data decryption module 350 is used to decrypt the ciphertext result using the homomorphic encryption algorithm to obtain the plaintext result; and finally the fifth sending module 360 The plaintext result is sent to the data application device 100
  • the data application device 100, the computing power processing device 200 and the data source device 300 may be independent of each other, or the data application device and the data source device 400 may be merged and mutually connected with the computing power processing device 200. independent.
  • the first acquisition device is represented as the upper-layer business logic module 410
  • the first sending module 130 is represented as the algorithm management module 440
  • the first processing module 120 is represented as the STARK library 430
  • the information verification module 150 and the second processing module 160 are represented as the result verification module 420
  • the data interactive module 480
  • the data encryption module 320 and the decryption module are represented as the homomorphic encryption library 460
  • the data management module 310 is represented as the database 470 and the data collection and processing module 450
  • the processing module 230 is represented as
  • Figure 3 shows a schematic flow chart of a data processing method provided by an embodiment of the present application.
  • the data processing method is applied to a data processing device.
  • the data processing method includes but is not limited to step S110, step S120, step S130, step S140 and step S150.
  • a business algorithm that meets the application business requirements is designed according to the application business requirements, and the business algorithm is arithmetic to obtain an algebraic intermediate expression. Arithmeticization is a proof method that can transform the calculation steps and output result formats of business algorithms, which is beneficial to subsequent use of algebraic intermediate expressions to generate provers and verifiers.
  • Step S120 Process the algebraic intermediate expression according to the preset scalable transparent knowledge proof STARK transformation rules to obtain a prover and a verifier.
  • algebraic intermediate expressions are processed through technologies such as polynomial constraints and interactive prophet proofs in the STARK library, and a series of calculation steps are converted into a probabilistically verifiable proof.
  • the mechanism applied by STARK mathematically guarantees that attempts to forge legal proofs will have a very high probability of being discovered.
  • STARK to generate provers and verifiers can ensure computational integrity and data integrity.
  • the prover is generated according to step S120, and the prover is sent to the computing power processing device, so that the computing power processing device deploys the prover and returns the calculation result to the data application device. In addition, deploy your own validator to facilitate subsequent verification of the returned operation results.
  • Step S140 Receive the operation results sent by the computing power processing device.
  • the operation results include proof information and ciphertext results.
  • the proof information and ciphertext results are Because the computing power processing device calculates the ciphertext data obtained by the data source device using the homomorphic encryption algorithm through the prover.
  • step S130 since step S130 sends the prover to the computing power processing device, the computing power processing device receives the operation result obtained by using the prover to calculate the ciphertext data.
  • the operation result includes the proof information and the ciphertext result. Obtaining the proof information and ciphertext results facilitates subsequent verification of the proof information and ciphertext results, thereby ensuring computational integrity and data integrity.
  • Step S150 Verify the proof information through the verifier. If the proof information passes the verification, send the ciphertext result to the data source device, so that the data source device uses the homomorphic encryption algorithm to decrypt the ciphertext result and return Plain text results.
  • the self-deployed verifier is used to verify the legality of the proof information and determine whether the proof information is legal. After the legality verification of the proof information passes, In this case, the ciphertext result is sent to the data source device, so that the data source device uses the homomorphic encryption algorithm to decrypt the ciphertext result and returns the plaintext result. By verifying the proof information and ciphertext results, computing integrity and data integrity can be guaranteed.
  • the certification information is verified by a verifier.
  • the legality verification of the certification information fails, that is to say, the verification of the certification information fails, indicating that the integrity of the calculation process may be destroyed, and the calculation results It is unacceptable.
  • the operation process ends.
  • the first accountability information indicates that the business algorithm has been tampered with.
  • the operation process ends to avoid security problems.
  • the legitimacy of the certification information can be verified, or the certification information can be verified to determine whether the calculation process of the prover has been tampered with.
  • the data processing method also includes but is not limited to the following step:
  • Step S160 Receive the plaintext result, where the plaintext result includes identification information.
  • the data source device successfully decrypts the ciphertext result using the homomorphic encryption algorithm and can return the plaintext result corresponding to the ciphertext result. Since the data obtained by the computing power processing device has been encrypted by the data source device, the computing power processing device cannot perform precise data tampering operations, but it can perform a replay attack, that is, replace it with a piece of ciphertext data received in history. The currently received ciphertext data serves as the input to the prover. In order to avoid this attack, the data source device adds some identification information to the original plaintext data. In some embodiments, the data generation timestamp is added before each piece of data.
  • the plaintext result includes identification information.
  • the identification information is the above-mentioned agreed public metadata timestamp, and can also be a salt value. Obtaining identification information facilitates subsequent verification of identification information and prevents data processors from performing playback cheating.
  • Step S170 Verify the identification information. If the verification of the identification information passes, send the plaintext result to the application service.
  • step S160 after receiving the identification information of the plaintext result, the metadata is used to verify whether the computing power processing device has implemented a replay attack. If the verification of the identification information passes, it indicates that the computing power processing device has not performed the replay attack. The data is tampered with and the plaintext result is sent to the application business, thereby ensuring data integrity.
  • the verification of the identification information fails, it indicates that the computing power processing device has tampered with the data and the calculation results are not trustworthy.
  • the operation process ends, where , the second accountability information indicates that the ciphertext data has been tampered with.
  • the operation process ends to avoid security problems.
  • the operation process ends.
  • the decryption is unsuccessful, the operation process is ended to avoid security problems.
  • step S1201 is executed to receive the certification information and ciphertext result sent by the computing power processing device, and then step S1202 is executed to verify the certification information using the verifier, and then step S1203 is executed to determine whether the certification information has passed the verification.
  • step S1204 is executed to send the ciphertext result to the data source device for decryption.
  • the data source device returns the plaintext result.
  • step S1205 is executed to determine whether the decryption is successful. If the decryption is successful, step S1206 is executed to check the plaintext result. Verify the identification information contained therein, and execute step S1207 to determine whether the identification information passes the verification.
  • step S1208 If the identification information passes the verification, perform step S1208 to send the plaintext result to the upper application; when the verification information fails, the decryption fails and the identification information verification If it fails, step S1209 is executed to hold the computing power processing equipment accountable and end the process.
  • Figure 5 shows a schematic flowchart of a data processing method provided by another embodiment of the present application.
  • the data processing method also includes but is not limited to step S210, step S220 and step S230.
  • Step S210 Receive the prover sent by the data application device.
  • step S130 the prover is sent to the computing power processing device, the prover sent by the data application device is received, and the prover is saved, thereby realizing information interaction between the data application device and the computing power processing device.
  • the data processing method before obtaining the ciphertext data obtained using the homomorphic encryption algorithm from the data source device, calculating the ciphertext data through the prover, and obtaining the proof information and ciphertext results, the data processing method also includes but is not limited to There are following steps:
  • Step S240 Verify the deployment permission of the prover. If the deployment permission is available, query the existing deployed prover.
  • Step S250 If the deployed certifier and the certifier belong to the same category, delete the deployed certifier and deploy the certifier.
  • the deployment of the prover is refused and the operation process ends.
  • step S1301 is executed to receive the attestor sent by the data application device, and then step S1302 is executed to determine whether the deployment permission is legal. If the deployment permission is legal, step S1303 is executed to delete the deployed attestor, and then step S1304 is executed. , load the received prover and run it; if the deployment permission is illegal, step S1305 is executed to refuse to deploy the prover.
  • Step S220 obtain the ciphertext data obtained by using the homomorphic encryption algorithm from the data source device, calculate the ciphertext data through the prover, and obtain the proof information and the ciphertext result;
  • the data processing method also includes but is not limited to the following steps:
  • Step S260 Obtain updated ciphertext data obtained using the homomorphic encryption algorithm from the data source device.
  • the computing power processing device when the prover is unchanged and the entire system is running stably, the computing power processing device continuously interacts with the data source device to obtain updated ciphertext data obtained by using the homomorphic encryption algorithm from the data source device to Ensure the stable operation of computing power processing equipment. Or, when new data is not detected from the data source device, in order to complete the processing tasks transmitted by the data application device, the computing power processing device continuously interacts with the data source device, and obtains the data from the data source device using the homomorphic encryption algorithm.
  • the ciphertext data facilitates subsequent calculation and processing of the ciphertext data and completes the processing task.
  • the certification information and ciphertext results obtained in steps S220 and S270 are sent to the data application device, completing the interaction between the data application device and the computing power processing device, and allowing the data application device to process the certification information and ciphertext. Verify the text results and obtain the plain text results to confirm whether the computing power processing equipment has tampered with the input data and ensure data integrity.
  • Figure 8 shows a schematic flow chart of a data processing method provided by another embodiment of the present application.
  • the data processing method also includes but is not limited to step S310, step S320, step S330, step S340 and step S350. .
  • a homomorphic encryption algorithm may be used to encrypt the plaintext data of the application service, or different parameters of the homomorphic encryption algorithm may be used to encrypt the plaintext data of the application service to obtain ciphertext data.
  • the device that interacts with the data source device cannot view the data content, thereby achieving data privacy protection.
  • the data processing method before using the homomorphic encryption algorithm to encrypt the plaintext data of the application service and obtain the ciphertext data, the data processing method also includes but is not limited to the following steps:
  • the computing power processing device sends a data acquisition request to the data source device, and receives the data acquisition request sent by the computing power processing device.
  • the data acquisition request carries the data range and plain text data information, and the data range represents the requester's computing power processing. Whether the device has permission to obtain these data, or whether the data in the requested data range exists in the preset data set. First, the carried data range is verified. When the data range is legal, the plaintext data corresponding to the plaintext data information is selected from the preset data set. By determining whether the data range is legal, the data corresponding to the acquisition request is obtained, and the correspondence in the acquisition data is achieved.
  • the preset data set is obtained through the following steps:
  • Step S380 Obtain multiple first data corresponding to the application service.
  • data of corresponding application services are collected from real life through preset tools.
  • a camera or mobile phone can be used to take pictures.
  • multiple first data corresponding to the application business can be obtained, which is beneficial to subsequent preprocessing of the first data.
  • the first data is original unprocessed data obtained through the tool.
  • each first data is preprocessed to obtain plaintext data corresponding to each first data, including but not limited to the following steps:
  • Step S391 Perform data cleaning on each first data to obtain second data corresponding to each first data.
  • the collected unprocessed first data is processed to remove null values, duplicate values or illegal values to obtain second data corresponding to each first data.
  • the first data By cleaning the first data, some invalid data can be removed and the content occupied can be reduced.
  • the second data is the data after cleaning the first data.
  • Step S392 Convert the format of each second data to obtain third data corresponding to each second data.
  • the format of the cleaned second data is converted according to a preset data structure.
  • the preset data structure can be in the form of an array or a binary tree, as long as it meets the storage standards.
  • the third data corresponding to each second data is obtained.
  • the format conversion can facilitate the storage and reading of the data.
  • the third data is the collected data that has been cleaned and format converted.
  • Step S393 Add identification information to each third data to obtain each plaintext data.
  • identification information is added to the converted third data to obtain each plaintext data.
  • the identification information is metadata, which may be a timestamp or a salt value.
  • Each plain text data constitutes a data set, and each data in the data set is stored in the database, and its data access interface and data structure are disclosed to the outside world to facilitate other entities to obtain and use the data.
  • the database can be a Mysql database or a Mongodb database, as long as it can store data.
  • the homomorphic encryption algorithm before using the homomorphic encryption algorithm to encrypt the plaintext data of the application service to obtain the ciphertext data, it is determined whether there is a ciphertext cache in the data source device. If there is a ciphertext cache, it is determined whether there is a ciphertext cache in the ciphertext cache. There is ciphertext within the data range. If there is ciphertext within the data range in the ciphertext cache, select the ciphertext in the ciphertext cache to obtain the ciphertext data.
  • the homomorphic encryption algorithm When there is no ciphertext within the data range in the ciphertext cache, use the homomorphic encryption algorithm to encrypt the plaintext data of the application service to obtain the ciphertext data, and store the ciphertext data in the ciphertext cache; if there is no ciphertext in the ciphertext cache; In the case of ciphertext caching, the homomorphic encryption algorithm is used to directly encrypt the plaintext data in the database to obtain the ciphertext data. By setting up the ciphertext cache, you can speed up the acquisition of ciphertext data and save time.
  • Step S320 Send the ciphertext data to the computing power processing device, so that the computing power processing device calculates the ciphertext data through the prover to obtain proof information and ciphertext results, and sends the proof information and ciphertext results to the data application device. .
  • the ciphertext data is obtained according to S320, and the ciphertext data is sent to the computing power processing device of the requesting party for data acquisition, so that the computing power processing device calculates the ciphertext data through the prover to obtain the proof information and the ciphertext result. , and send the proof information and ciphertext results to the data application device.
  • the data acquirer is prevented from viewing the data content and data privacy is protected.
  • Step S1401 is executed to determine whether the data range is legal and available. If the data range is legal and is available, execute step S1402 to determine whether there is a corresponding ciphertext in the ciphertext cache. If there is ciphertext within the data range in the ciphertext cache, execute step S1405 to send the ciphertext data to the computing power processing device; if the ciphertext cache contains If there is no ciphertext within the data range, execute step S1403 to encrypt the plaintext data to obtain the ciphertext data.
  • step S1404 executes step S1404 to store the ciphertext data in the ciphertext cache.
  • the processing device sends ciphertext data; if the data range is illegal, the operation process ends. By transmitting ciphertext data to the request object for data acquisition, the privacy of the data can be guaranteed.
  • Step S340 use the homomorphic encryption algorithm to decrypt the ciphertext result and obtain the plaintext result
  • a homomorphic encryption algorithm is used to decrypt the ciphertext result, or different parameters of the homomorphic encryption algorithm can be used to decrypt the ciphertext data of the application service to obtain the plaintext result.
  • Obtaining the plaintext result indicates that the decryption is successful, which is helpful for subsequently sending the plaintext result to the data application device for processing.
  • the decryption request also carries decryption permission.
  • the data processing method before using the homomorphic encryption algorithm to decrypt the ciphertext result and obtain the plaintext result, the data processing method also includes but is not limited to the following steps:
  • Step S3100 If you have the decryption authority, execute the step of decrypting the ciphertext result using a homomorphic encryption algorithm.
  • Step S3110 If the data application device does not have the decryption authority, the decryption process ends after sending a response message of unsuccessful decryption to the data application device.
  • a homomorphic encryption algorithm is used to decrypt the ciphertext result.
  • the decryption of the ciphertext result is unsuccessful, it means that the input ciphertext data corresponding to the ciphertext result does not come from itself, and the ciphertext result is applied to the data.
  • the device sends a response message indicating that decryption was unsuccessful. Decryption by sending does not
  • the successful response information enables the data application device to confirm that the input data of the computing power processing device has been tampered with, and to hold the computing power processing device accountable to achieve the security of the processing process.
  • Step S350 Send the plaintext result to the data application device.
  • step S340 if the decryption is successful, the plaintext result is obtained, and the plaintext result is sent to the data application device, so that the data application device can verify the plaintext result, and the verification is performed by passing the plaintext result to the upper-layer application for use.
  • step S1501 is first executed to determine whether Has the decryption authority. If it has the decryption authority, execute step S1502 to decrypt the ciphertext result, and then execute step S1503 to determine whether the decryption is successful. If the decryption is successful, execute step S1504 to send the plaintext result to the data application device; when the decryption is unsuccessful, Or if you do not have decryption permission, the operation process ends.
  • the above-mentioned data processing method is applied when the data application device, the computing power processing device and the data source device are independent.
  • the above-mentioned The data processing method is also applicable and will not be described here to avoid repetition.
  • Figure 18 shows a computer device 900 provided by an embodiment of the present application.
  • the computer device 900 may be a server or a terminal.
  • the internal structure of the computer device 900 includes but is not limited to:
  • Memory 910 used to store programs
  • the processor 920 is configured to execute the program stored in the memory 910.
  • the processor 920 executes the program stored in the memory 910, the processor 920 is configured to execute the above-mentioned data processing method.
  • the processor 920 and the memory 910 may be connected through a bus or other means.
  • the memory 910 can be used to store non-transitory software programs and non-transitory computer executable programs, such as the data processing method described in any embodiment of this application.
  • the processor 920 implements the above data processing method by running non-transient software programs and instructions stored in the memory 910 .
  • the memory 910 may include a program storage area and a data storage area, where the program storage area may store an operating system and an application program required for at least one function; the storage data area may store the execution of the above-mentioned data processing method.
  • memory 910 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device.
  • the memory 910 may include memory located remotely relative to the processor 920, and these remote memories may be connected to the processor 920 through a network. Examples of the above-mentioned networks include but are not limited to the Internet, intranets, local area networks, mobile communication networks and combinations thereof.
  • the non-transitory software programs and instructions required to implement the above-mentioned data processing method are stored in the memory 910.
  • the data processing method provided by any embodiment of the present application is executed.
  • Embodiments of the present application also provide a computer-readable storage medium that stores computer-executable instructions, and the computer-executable instructions are used to execute the above data processing method.
  • the storage medium stores computer-executable instructions, which are executed by one or more control processors 920, such as by one processor 920 in the above-mentioned computer device 900, so that the above-mentioned One or more processors 920 execute the data processing method provided by any embodiment of this application.
  • the embodiments of this application include: obtaining the business algorithm of the application business, performing format conversion on the business algorithm, and obtaining an algebraic intermediate expression; and then processing the algebraic intermediate expression according to the preset scalable transparent knowledge proof STARK conversion rules to obtain the prover and verification
  • the prover is then sent to the computing power processing device; it receives the operation result sent by the computing power processing device.
  • the operation result includes the proof information and the ciphertext result.
  • the proof information and ciphertext result are the data source processed by the computing power processing device through the prover.
  • the device uses the ciphertext data obtained by the homomorphic encryption algorithm to calculate it; finally, the verification information is verified through the verifier.
  • the ciphertext result is sent to the data source device so that the data source device can use
  • the homomorphic encryption algorithm decrypts the ciphertext result and returns the plaintext result.
  • the business algorithm of the application business is obtained, the business algorithm is format converted, and the algebraic intermediate expression is obtained.
  • the business algorithm is first converted, and then the algebra is converted according to the preset scalable transparent knowledge proof STARK conversion rules.
  • the intermediate expression is processed to obtain the prover and verifier; the prover is sent to the computing power processing device, which is conducive to the deployment of the prover by the computing power processing device; the calculation result sent by the computing power processing device is received, and the calculation result includes proof information and
  • the ciphertext result, proof information and ciphertext result are calculated by the computing power processing device through the prover on the ciphertext data obtained by the data source device using the homomorphic encryption algorithm. It can receive the ciphertext result and ensure the privacy of the data; due to its own A verifier is deployed, and the deployed verifier is used to verify the proof information, and it can be obtained whether the calculation results sent by the computing power processing device have been tampered with.
  • the proof information is verified, it means that the algorithm steps during the calculation have not been tampered with, thus ensuring Calculate integrity and send the ciphertext result to the data source device so that the data source device uses the homomorphic encryption algorithm to decrypt the ciphertext result and return the plaintext result, thereby ensuring data integrity and facilitating subsequent application of the plaintext result.
  • This application can ensure computing integrity and data integrity on the basis of high resource utilization and scalability.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disk (DVD) or other optical disk storage, magnetic cassettes, tapes, disk storage or other magnetic storage devices, or may Any other medium used to store the desired information and that can be accessed by a computer.
  • communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as or other transport mechanisms and may include any information delivery media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种数据处理方法、设备、计算机设备和可读存储介质,该方法包括获取应用业务的业务算法,对业务算法进行格式转换,得到代数中间表达(S110);根据预设的可扩展透明知识证明STARK转换规则对代数中间表达进行处理,得到证明器和验证器(S120);将证明器发送给算力处理设备(S130);接收算力处理设备发送的运算结果,运算结果中证明信息和密文结果为算力处理设备通过证明器对数据源设备利用同态加密算法得到的密文数据进行计算得到(S140);当证明信息验证通过时,将密文结果发送给数据源设备,以使得数据源设备利用所述同态加密算法对密文结果进行解密,并返回明文结果(S150)。

Description

数据处理方法、设备、计算机设备和可读存储介质
相关申请的交叉引用
本申请基于申请号为202210749088.1、申请日为2022年06月29日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及网络安全技术领域,特别涉及一种数据处理方法、设备、计算机设备和可读存储介质。
背景技术
云平台系统已得到广泛应用,随着对这些已有系统架构缺点的反思,以及上层业务模型自身的不断发展,传统的集中式处理架构和分布式处理架构已经不能满足需求,人们对底层云平台和数据处理架构也提出了一些新的改进需求。目前,基于云平台的上层应用系统采用一种混合处理架构,混合处理架构将业务算法设计与算法的处理分开执行,业务控制的处理是集中式的,业务数据的处理则是分布式的,虽然这种架构在资源利用率和可扩展性等方面都优于传统的集中式处理架构和分布式处理架构,但是,也存在计算完整性和数据完整性的问题亟待解决。
发明内容
本申请提供一种数据处理方法、设备、计算机设备和可读存储介质。
本申请实施例的技术方案如下:
第一方面,本申请提供了一种数据处理方法,应用于数据应用设备,所述方法包括:获取应用业务的业务算法,对所述业务算法进行格式转换,得到代数中间表达;根据预设的可扩展透明知识证明STARK转换规则对所述代数中间表达进行处理,得到证明器和验证器;将所述证明器发送给所述算力处理设备;接收所述算力处理设备发送的运算结果,所述运算结果包括证明信息和密文结果,所述证明信息和所述密文结果为所述算力处理设备通过所述证明器对数据源设备利用同态加密算法得到的密文数据进行计算得到;通过所述验证器对所述证明信息进行验证,在所述证明信息验证通过的情况下,将所述密文结果发送给所述数据源设备,以使得所述数据源设备利用同态加密算法对所述密文结果进行解密,并返回明文结果。
第二方面,本申请提供了一种数据处理方法,应用于算力处理设备,所述方法包括:接收数据应用设备发送的证明器;从数据源设备获取利用同态加密算法得到的密文数据,通过所述证明器对所述密文数据进行计算,得到证明信息和密文结果;将所述证明信息和所述密文结果发送给所述数据应用设备,以使得所述数据应用设备根据所述证明信息和所述密文结果得到明文结果。
第三方面,本申请提供了一种数据处理方法,应用于数据源设备,所述方法包括:利用同态加密算法对应用业务的明文数据进行加密,得到密文数据;将所述密文数据发送给算力处理设备,以使得所述算力处理设备通过证明器对所述密文数据进行计算得到证明信息和密文结果,并将所述证明信息和所述密文结果发送给数据应用设备;接收所述数据应用设备发送的解密请求,所述解密请求指示所述证明信息通过部署在所述数据应用设备上的验证器的验证且携带所述密文结果;利用所述同态加密算法对所述密文结果进行解密,得到明文结果;将所述明文结果发送给所述数据应用设备。
第四方面,本申请提供了一种数据处理设备,包括:第一获取模块,被设置为获取应用业务的业务算法,对所述业务算法进行格式转换,得到代数中间表达;第一处理模块,被设置为根据预设的可扩展透明知识证明STARK转换规则对所述代数中间表达进行处理,得到证明器和验证器;第一发送模块,被设置为将所述证明器发送给所述算力处理设备;第一接收模块,被设置为接收所述算力处理设备发送的运算结果,所述运算结果包括证明信息和密文结果,所述证明信息和所述密文结果为所述算力处理设备通过所述证明器对数据源设备利用同态加密算法得到的密文数据进行计算得到;信息验证模块,被设置为通过所述验证器对所述证明信息进行验证;第二处理模块,被设置为在所述证明信息验证通过的情况下,将所述密文结果发送给所述数据源设备,以使得所述数据源设备利用所述同态加密算法对所述密文结果进行解密,并返回明文结果。
第五方面,本申请提供了一种数据处理设备,包括:第二接收模块,被设置为接收数据应用设备发送的证明器;第二获取模块,被设置为从数据源设备获取利用同态加密算法得到的密文数据;第三处理模块,被设置为通过所述证明器对所述密文数据进行计算,得到证明信息和密文结果;第三发送模块,被设置为将所述证明信息和所述密文结果发送给所述数据应用设备,以使得所述数据应用设备根据所述证明信息和所述密文结果得到明文结果。
第六方面,本申请提供了一种数据处理设备,包括:数据加密模块,被设置为利用同态加密算法对应用业务的明文数据进行加密,得到密文数据;第四发送模块,被设置为将所述密文数据发送给算力处理设备, 以使得所述算力处理设备通过证明器对所述密文数据进行计算得到证明信息和密文结果,并将所述证明信息和所述密文结果发送给数据应用设备;第三接收模块,被设置为接收所述数据应用设备发送的解密请求,所述解密请求指示所述证明信息通过部署在所述数据应用设备上的验证器的验证且携带所述密文结果;数据解密模块,被设置为利用所述同态加密算法对所述密文结果进行解密,得到明文结果;第五发送模块,被设置为将所述明文结果发送给所述数据应用设备。
第七方面,本申请提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如上第一方面、第二方面和第三方面描述的任一项所述方法的步骤。
第八方面,本申请还提供了一种计算机可读存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上第一方面、第二方面和第三方面描述的任一项所述方法的步骤。
附图说明
图1是本申请的一个实施例提供的数据处理设备的结构示意图;
图2是本申请的另一个实施例提供的数据处理设备的结构示意图;
图3是本申请的一个实施例提供的数据处理方法的流程示意图;
图4是本申请的另一个实施例提供的数据处理方法的流程示意图;
图5是本申请的另一个实施例提供的数据处理方法的流程示意图;
图6是本申请的另一个实施例提供的数据处理方法的流程示意图;
图7是本申请的另一个实施例提供的数据处理方法的流程示意图;
图8是本申请的另一个实施例提供的数据处理方法的流程示意图;
图9是本申请的另一个实施例提供的数据处理方法的流程示意图;
图10是本申请的另一个实施例提供的数据处理方法的流程示意图;
图11是本申请的另一个实施例提供的数据处理方法的流程示意图;
图12是图11中步骤S390的子步骤流程示意图;
图13是在一些情形下数据处理的结构示意图;
图14是本申请的实施例提供的数据处理方法的运算结果验证整体流程示意图;
图15是本申请的实施例提供的数据处理方法的证明器部署整体流程示意图;
图16是本申请的实施例提供的数据处理方法的数据加密处理整体流程示意图;
图17是本申请的实施例提供的数据处理方法的数据解密处理整体流程示意图;
图18是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“第五”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
相关技术中,利用混合处理架构能够充分利用硬件计算资源避免了硬件资源的闲置和浪费,并且简化了上层应用的复杂度,同时提升了兼容性。参考图13,在混合处理架构中,数据应用者将算法委托给数据处理者,数据处理者从数据源获取数据后,利用委托的算法对数据进行计算,将得到的计算结果返回给数据应用者,这种架构的优点在于能够充分利用现有的硬件计算资源,简化了上层应用的复杂度,提升了兼容性。但是,数据应用者如何确定数据处理者能够忠实地执行自身委托的算法、如何确定算法过程不会被篡改、如何确定计算的中间结果和最终结果没有被篡改,相关技术并没有给出解决方案。由于数据应用者不直接接触数据源,因此能够保证一定的数据隐私性,但是也无法发现算法的输入数据是否被篡改过。因此,上述处理过程无法保证计算完整性和数据完整性。针对上述问题,许多人可能会认为:如果数据处理者背后的管理者是可信的、其所有软硬件的供货商和运维执行者都是可信的,那么就不会发生数据处理者破坏计算完整性或数据完整性的事情。但是,实际上无法保证数据处理者的可信性,因为被广泛使用的成熟软硬件经常被发现有各种缺陷和后门。因此,在混合处理架构下,如何保证计算完整性和数据完整性亟待解决。
基于此,本申请实施例提供了一种数据处理方法、设备、计算机设备和可读存储介质,通过获取应用业务的业务算法,对业务算法进行格式转换,得到代数中间表达,先对业务算法进行转换处理,然后根据预设的可扩展透明知识证明STARK转换规则对代数中间表达进行处理,得到证明器和验证器;将证明器发送给算力处理设备200,有利于算力处理设备200对证明器进行部署;接收算力处理设备200发送的运算结果,运算结果包括证明信息和密文结果,证明信息和密文结果为算力处理设备200通过证明器对数据源设备300利用同态加密算法得到的密文数据进行计算得到,能够接收密文结果,保证数据的隐私性;由于自身部署了验 证器,利用部署的验证器对证明信息进行验证,能够得到算力处理设备200发送的运算结果是否被篡改,在证明信息验证通过的情况下,表示计算时算法步骤未被篡改,从而保证计算完整性,将密文结果发送给数据源设备300,以使得数据源设备300利用同态加密算法对密文结果进行解密,并返回明文结果,保证了数据完整性,有利于后续对明文结果进行应用。本申请能够在较高的资源利用率和可扩展性的基础上,保证计算完整性和数据完整性。
下面结合附图,对本申请实施例作进一步阐述。
参见图1,图1示出了本申请实施例提供的一种数据处理设备的结构示意图。在图1的实施例中,该数据处理设备中的数据应用设备100、算力处理设备200和数据源设备300之间进行数据的交互,保证了数据处理过程的高效性、完整性和隐私保护。
如图1所示,数据应用设备100包括利用第一获取模块110获取应用业务的业务算法,对业务算法进行格式转换,得到代数中间表达;通过第一处理模块120根据预设的STARK转换规则对代数中间表达进行处理,得到证明器和验证器;有利于后续部署证明器和验证器;然后利用第一发送模块130将证明器发送给算力处理设备200,以使算力处理设备200对证明器进行部署;通过第一接收模块140接收算力处理设备200发送的运算结果,运算结果包括证明信息和密文结果,证明信息和密文结果为算力处理设备200通过证明器对数据源设备300利用同态加密算法得到的密文数据进行计算得到,通过将算力外包,能够充分利用硬件资源,提高执行效率;利用信息验证模块150通过验证器对证明信息进行验证,保证计算完整性;第二处理模块160在证明信息验证通过的情况下,将密文结果发送给数据源设备300,以使得数据源设备300利用同态加密算法对密文结果进行解密,并返回明文结果,通过密文结果得到明文结果能够保证数据完整性。本申请能够在较高的资源利用率和可扩展性的基础上,保证计算完整性和数据完整性。
在一实施例中,第一获取模块110与第一处理模块120连接,第一处理模块120分别与第一发送模块130和第一接收模块140连接,第一接收模块140与信息验证模块150连接,信息验证模块150与第二处理模块160连接,第二处理模块160与第一获取模块110连接。其中,第一获取模块110是一种获取业务需求,并定义业务算法,将业务算法进行转换后提供给第一处理模块120,并且使用最后计算的结果进行后续的业务流程处理的模块;第一处理模块120是一种STARK转换模器,生成证明器和验证器;第一发送模块130是一种算法程序分发模块;第一接收模块140是一种接收来自数据源设备300的交互模块;第二处理模块160是一种能够对返回的明文结果进行验证,并将验证通过的明文结果发送给第一获取模块110用于上层业务应用的模块。
在一实施例中,可扩展透明知识证明(Scalable Transparent ARgument of Knowlege,STARK)是一种数学证明系统,其通过运用算术化、多项式约束和交互式先知证明等技术,将一系列的计算步骤(包括中间结果和最终结果)转换成一个概率上可验证的证明。验证者拿到这个证明后能够以极小的计算代价和极高的正确率验证该证明是真还是假。如果为假,则说明证明者并没有真的严格执行所有的计算逻辑(或者是某个计算结果被篡改过);如果为真,则说明证明者确实严格执行了所有的计算逻辑,且输入、中间输出和最终输出的内容是匹配的。即使算力处理设备200所处环境中存在后门、或是被恶意攻击者掌控,只要其遵循约定好的数据处理逻辑、且不篡改运算产生的中间和最终结果,那么其生成的证明和结果也会被验证器验证通过并接受,但只要计算过程和结果存在任何篡改,就无法生成合法的证明,就会被验证器发现。STARK技术能够在一个不受控制的计算环境里实现计算过程的完整性保护。可以采用不同的STARK库430和不同的STARK参数实现上述数据处理设备。
如图1所示,算力处理设备200包括利用第二接收模块210接收数据应用设备100发送的证明器,有利于后续利用证明器进行数据处理;通过第二获取模块220从数据源设备300获取利用同态加密算法得到的密文数据,获取加密的数据能够对数据进行隐私保护;然后第三处理模块230通过证明器对密文数据进行计算,得到证明信息和密文结果,有利于通过证明信息和密文结果验证计算完整性和数据完整性;第三发送模块240用于将证明信息和密文结果发送给数据应用设备100,以使得数据应用设备100根据证明信息和密文结果得到明文结果。算力处理设备200能够进行算力计算,并将计算结果反馈给数据应用设备100,由于部署了证明器,能够验证算力处理设备200处理过程的计算完整性,增加信息安全性。
在另一实施例中,同态加密算法是指满足密文同态运算性质的一种加密算法,即数据经过同态加密之后,对密文执行特定的计算所得到的结果(该结果也是密文形态,需解密),与对明文执行相同的计算所得到结果相同。这样就实现了数据的“可算但不可见”,能够在有效保护数据隐私的前提下对数据进行计算处理。
在一实施例中,第二接收模块210与第一发送模块130连接,第二获取模块220与数据源设备300连接,第三处理模块230分别与第二接收模块210、第二获取模块220和第三发送模块240连接。其中,第二接收模块210是一种用于接收数据应用设备100发送的算法程序的模块;第二获取模块220是用于从数据源获取数据的交互模块;第三处理模块230是一种算法程序调用模块,用于利用接收到的算法程序对获取的数据进行处理;第三发送模块240是将计算得到的结果发送给数据应用设备100的交互模块。
在一实施例中,算力处理设备200可以是云计算平台,也可以是算力网络,也可以为其他能够实现算法外包的分布式计算平台,这里不作赘述。
如图1所示,数据源设备300包括利用数据加密模块320利用同态加密算法对应用业务的明文数据进行 加密,得到密文数据;通过第四发送模块330将密文数据发送给算力处理设备200,以使得算力处理设备200通过证明器对密文数据进行计算得到证明信息和密文结果,并将证明信息和密文结果发送给数据应用设备100,为算力处理设备200提供密文数据,能够保证数据隐私性;采用第三接收模块340接收数据应用设备100发送的解密请求,解密请求指示证明信息通过部署在数据应用设备100上的验证器的验证且携带密文结果;然后利用数据解密模块350利用同态加密算法对密文结果进行解密,得到明文结果;最后通过第五发送模块360将明文结果发送给数据应用设备100,使数据源设备300与数据应用设备100交互,确保数据完整性,提高信息交互的安全性。通过数据源设备300的加密能够提供密文数据,保证数据隐私性,还能够对数据进行解密,确定数据是否被篡改,保证数据完整性。
在一实施例中,利用同态加密算法对数据进行加密和解密操作,还可以采用不同的同态加密算法和算法参数、不同的元数据设计和不同的认证鉴权方法,结合不同的缓存设计等实现,这里不作赘述。
如图1所示,在一实施例中,数据源设备300还包括数据管理模块310,数据管理模块310用于对数据进行采集,将采集的数据进行预处理后进行保存,并对外公开数据访问接口和数据结构,方便其他实体获取和使用数据。
在一实施例中,数据管理模块310与数据加密模块320连接,数据加密模块320与第四发送模块330连接,第四发送模块330与第二获取模块220连接,第三接收模块340分别与第二处理模块160和数据解密模块350连接,第五发送模块360分别与数据解密模块350和第二处理模块160连接。其中,第四发送模块330是与算力处理设备200提供输入数据的交互模块;第三接收模块340是对数据应用设备100发送的运算结果进行接收的交互模块;第五发送模块360是将解密结果发送给数据应用设备100的交互模块,第三接收模块340和第五发送模块360实现了数据源设备300与数据应用设备100之间的交互。
在一实施例中,数据应用设备100、算力处理设备200和数据源设备300可以是相互独立的,也可以为数据应用设备和数据源设备400是合并的,并与算力处理设备200相互独立。当数据应用设备和数据源设备400是合并的情况下,将第一获取设备表示为上层业务逻辑模块410,第一发送模块130表示为算法管理模块440,第一处理模块120表示为STARK库430,信息验证模块150和第二处理模块160表示为结果验证模块420,第一接收模块140、第二处理模块160的交互部分、第四发送模块330、第三接收模块340和第五发送模块360表示为第一交互模块480,将数据加密模块320和所述解密模块表示为同态加密库460,数据管理模块310表示为数据库470和数据采集与处理模块450,第二接收模块210和第三处理模块230表示为计算管理模块250,第二获取模块220表示为数据获取管理模块260,第三发送模块240表示为第二交互模块270。
如图2所示,在数据应用设备和数据源设备400合并设备中,上层业务逻辑模块410与结果验证模块420连接,结果验证模块420与STARK库430连接,STARK库430与算法管理模块440连接,数据库470与同态加密库460连接,同态加密库460与数据采集与处理模块450连接,算法管理模块440与第一交互模块480连接,第一交互模块480分别与结果验证模块420和数据采集与处理模块450连接。在算力处理设备200中,计算管理模块250、数据获取管理模块260和第二交互模块270相互连接。将数据应用设备100和数据源设备300合并部署于同一个硬件设备上,并且与数据处理设备进行交互也能够在较高的资源利用率和可扩展性的基础上,保证计算完整性和数据完整性。
本申请实施例描述的装置以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1和图2中示出的数据处理设备并不构成对本申请实施例的限定,可以包括比图示更多或更少的模块,或者组合某些部件,或者不同的部件布置。
根据上述数据处理设备,下面对本申请的数据处理方法的各个实施例进行说明。
如图3所示,图3示出了本申请一个实施例提供的数据处理方法的流程示意图,该数据处理方法应用于数据处理设备。该数据处理方法包括但不限于有步骤S110、步骤S120、步骤S130、步骤S140和步骤S150。
步骤S110,获取应用业务的业务算法,对业务算法进行格式转换,得到代数中间表达。
在一实施例中,当应用业务需求更新或者第一次出现应用业务时,按照应用业务需求,设计符合应用业务需求的业务算法,并对业务算法进行算术化,得到代数中间表达。算术化是一种证明方法,能够将业务算法的计算步骤和输出结果格式进行转化,有利于后续利用代数中间表达生成证明器和验证器。
步骤S120,根据预设的可扩展透明知识证明STARK转换规则对代数中间表达进行处理,得到证明器和验证器。
在一实施例中,通过STARK库中多项式约束和交互式先知证明等技术,对代数中间表达进行处理,将一系列的计算步骤转换成一个概率上可验证的证明。STARK所应用的机制从数学上保证了试图伪造合法证明的企图会有极高的概率被发现。利用STARK生成证明器和验证器能够保证计算完整性和数据完整性。
步骤S130,将证明器发送给算力处理设备。
在一实施例中,根据步骤S120生成了证明器,将证明器发送给算力处理设备,以使算力处理设备对证明器进行部署,向数据应用设备返回运算结果。另外,自身部署验证器,方便后续对返回的运算结果进行验证。
步骤S140,接收算力处理设备发送的运算结果,运算结果包括证明信息和密文结果,证明信息和密文结 果为算力处理设备通过证明器对数据源设备利用同态加密算法得到的密文数据进行计算得到。
在一实施例中,由于步骤S130将证明器发送给算力处理设备,接收算力处理设备发送的利用证明器对密文数据进行计算得到的运算结果,运算结果包括证明信息和密文结果。通过得到证明信息和密文结果,有利于后续对证明信息和密文结果进行验证,从而保证计算完整性和数据完整性。
步骤S150,通过验证器对证明信息进行验证,在证明信息验证通过的情况下,将密文结果发送给数据源设备,以使得数据源设备利用同态加密算法对密文结果进行解密,并返回明文结果。
在一实施例中,由于利用证明器进行计算能够得到一个证明信息,采用自身部署的验证器对该证明信息进行合法性验证,判断该证明信息是否合法,在证明证信息的合法性验证通过的情况下,将密文结果发送给数据源设备,以使得数据源设备利用同态加密算法对密文结果进行解密,并返回明文结果。通过对证明信息和密文结果进行验证,能够保证计算完整性和数据完整性。
在一实施例中,通过验证器对证明信息进行验证,在证明信息的合法性验证不通过的情况下,即是说,证明信息验证不通过,说明计算过程的完整性可能被破坏,计算结果不可采信,向算力处理设备发送第一问责信息后,结束操作流程,其中,第一问责信息表征业务算法被篡改。当验证不通过时,结束操作流程,避免出现安全性问题。
在一实施例中,可以通过验证证明信息的合法性,也可以对证明信息进行校验,通过对证明信息进行验证,从而确定证明器的计算过程是否被篡改即可。
如图4所示,在将密文结果发送给数据源设备,以使得数据源设备利用同态加密算法对密文结果进行解密,并返回明文结果之后,数据处理方法还包括但不限于有以下步骤:
步骤S160,接收明文结果,明文结果包括标识信息。
在一些实施例中,证明信息验证通过,并且数据源设备利用同态加密算法对密文结果解密成功,能够返回密文结果对应的明文结果。由于算力处理设备获取的数据都已被数据源设备加密,因此,算力处理设备无法进行精确的数据篡改动作,但其可以实行回放攻击,即拿历史上接收到的一段密文数据来顶替当前收到的密文数据作为证明器的输入。为了避免这种攻击,数据源设备在原始明文数据内加入一些标识信息,在一些实施例中,在每条数据之前加入数据的生成时间戳,这样即使数据内容完全相同,加上元数据后密文也会不同,数据应用设备接收到明文结果时,会将该元数据从数据中剥离出来并将其作为最终计算结果的组成部分。接收数据源设备发送的明文结果,该明文结果包括标识信息,标识信息为上述约定好的公开元数据时间戳,也可以为盐值。通过获取标识信息,有利于后续对标识信息进行验证,防止数据处理者执行回放作弊。
步骤S170,对标识信息进行验证,在标识信息验证通过的情况下,将明文结果发送给应用业务。
在一实施例中,根据步骤S160,接收到明文结果的标识信息后,通过元数据来验证算力处理设备是否施行了回放攻击,在标识信息验证通过的情况下,表明算力处理设备未对数据进行篡改,将明文结果发送给应用业务,从而保证了数据完整性。
在一实施例中,在标识信息验证不通过的情况下,表明算力处理设备对数据进行了篡改,计算结果不可信,向算力处理设备发送第二问责信息后,结束操作流程,其中,第二问责信息表征密文数据被篡改。当验证不通过时,结束操作流程,避免出现安全性问题。
在一实施例中,在将密文结果发送给数据源设备之后,接收到数据源设备返回的为密文结果解密不成功的情况下,表明密文数据可能被篡改,向算力处理设备发送第二问责信息后,结束操作流程。当解密不成功时,结束操作流程,避免出现安全性问题。
如图14所示,执行步骤S1201,接收算力处理设备发送的证明信息和密文结果,然后执行步骤S1202,利用验证器对证明信息进行验证,然后执行步骤S1203,判断证明信息是否验证通过,当证明信息验证通过时,执行步骤S1204,将密文结果发送给数据源设备解密,数据源设备返回明文结果,执行步骤S1205,判断是否解密成功,若解密成功,执行步骤S1206,对明文结果中包含的标识信息进行验证,执行步骤S1207,判断标识信息是否验证通过,若标识信息验证通过,执行步骤S1208,将明文结果发送给上层应用;当证明信息验证不通过、解密不成功和标识信息验证不通过时,均执行步骤S1209,对算力处理设备进行问责,结束流程。
如图5所示,图5示出了本申请另一个实施例提供的数据处理方法的流程示意图,该数据处理方法还包括但不限于有步骤S210、步骤S220和步骤S230。
步骤S210,接收数据应用设备发送的证明器。
在一实施例中,根据步骤S130向算力处理设备发送证明器,接收数据应用设备发送的证明器,并对该证明器进行保存,实现数据应用设备与算力处理设备之间的信息交互。
如图6所示,在从数据源设备获取利用同态加密算法得到的密文数据,通过证明器对密文数据进行计算,得到证明信息和密文结果之前,数据处理方法还包括但不限于有以下步骤:
步骤S240,对证明器的部署权限进行验证,在有部署权限的情况下,查询存在的已部署证明器。
在一实施例中,根据步骤S210接收到的证明器中携带部署权限,对部署权限进行验证,主要确认数据应用设备发送的证明器是否有部署权限,在有部署权限的情况下,查询存在的已部署证明器。通过查询已部署的证明器确定是否同类型的证明器已经部署,从而确定后续部署流程。
步骤S250,在已部署证明器与证明器属于同一类别的情况下,删除已部署证明器,对证明器进行部署。
在一实施例中,在存在已部署证明器与证明器属于同一类别的情况下,删除并清除已部署证明器,对证明器进行部署,能够对已部署的证明器进行更新,使其更加贴合应用业务需求。其中,对证明器进行部署为将接收到的证明器进行加载并运行。
在一实施例中,在对证明器的部署权限进行验证之后,当没有部署权限的情况下,拒绝部署证明器,结束操作流程。
如图15所示,执行步骤S1301,接收到数据应用设备发送的证明器,然后执行步骤S1302,判断部署权限是否合法,若部署权限合法,执行步骤S1303,删除已部署证明器,然后执行步骤S1304,加载接收到的证明器并运行;若部署权限不合法,执行步骤S1305,拒绝部署该证明器。
步骤S220,从数据源设备获取利用同态加密算法得到的密文数据,通过证明器对密文数据进行计算,得到证明信息和密文结果;
在一实施例中,由于数据源设备可能更新数据,此时获取的密文数据可以为更新的数据,也可以为包括更新的数据,对接收的数据应用设备发送的证明器无影响。可以从数据源设备获取密文数据,也可以获取明文数据,然后通过部署的证明器对密文数据进行计算。当获得的数据为密文数据时,得到结果为证明信息和密文结果;当获取的数据为明文数据,则得到的结果为明文结果。本申请实施例获取的为密文数据,能够在信息交互中减少对数据的查看,对数据进行隐私保护。
如图7所示,在没有接收到数据应用设备发送的证明器,并且检测到数据源设备出现新的数据的情况下,数据处理方法还包括但不限于有以下步骤:
步骤S260,从数据源设备获取利用同态加密算法得到的更新后的密文数据。
在一实施例中,在证明器无变更,整个系统稳定运行时,算力处理设备不断地与数据源设备交互,从数据源设备获取利用同态加密算法得到的更新后的密文数据,以保证算力处理设备稳定运行。或者,在未检测到数据源设备出现新的数据的情况下,为了完成数据应用设备传送的处理任务,算力处理设备与数据源设备不断的交互,从数据源设备获取利用同态加密算法得到的密文数据,方便后续对密文数据进行计算处理,完成处理任务。
步骤S270,利用已部署证明器对更新后的密文数据进行计算处理,得到证明信息和密文结果。
在一实施例中,在没有接收到数据应用设备发送的证明器的情况下,利用已部署的证明器对获取的更新后的密文数据进行计算处理,也可以为利用已部署的证明器对获取的无更新的密文数据进行计算处理,得到证明信息和密文结果。无论是否接收到数据应用设备发送的证明器,皆能够与数据源设备的交互,能够保证系统稳定的运行。
步骤S230,将证明信息和密文结果发送给数据应用设备,以使得数据应用设备根据证明信息和密文结果得到明文结果。
在一些实施例中,将步骤S220和步骤S270得到的证明信息和密文结果发送给数据应用设备,完成数据应用设备和算力处理设备之间的交互,并且使得数据应用设备对证明信息和密文结果进行验证,并得到明文结果,确认算力处理设备是否篡改输入数据,保证数据完整性。
如图8所示,图8示出了本申请另一个实施例提供的数据处理方法的流程示意图,该数据处理方法还包括但不限于有步骤S310、步骤S320、步骤S330、步骤S340和步骤S350。
步骤S310,利用同态加密算法对应用业务的明文数据进行加密,得到密文数据。
在一实施例中,可以采用同态加密算法对应用业务的明文数据进行加密,也可以采用同态加密算法的不同参数对应用业务的明文数据进行加密,得到密文数据。通过得到密文数据,能够使与数据源设备交互的设备无法查看数据内容,实现数据的隐私保护。
如图10所示,在利用同态加密算法对应用业务的明文数据进行加密,得到密文数据之前,数据处理方法还包括但不限于有以下步骤:
步骤S360,接收算力处理设备发送的数据获取请求,数据获取请求携带数据范围和明文数据信息。
步骤S370,当数据范围合法的情况下,从预设的数据集中选择与明文数据信息对应的明文数据。
在一实施例中,算力处理设备发送数据获取请求给数据源设备,接收到算力处理设备发送的数据获取请求,数据获取请求携带数据范围和明文数据信息,数据范围表示请求者算力处理设备是否有权限获取这些数据,或者请求数据范围中的数据是否存在于预设的数据集中。首先对携带的数据范围进行验证,当数据范围合法的情况下,从预设的数据集中选择与明文数据信息对应的明文数据。通过判断数据范围是否合法,从而获取与获取请求对应的数据,实现获取数据上的对应。
如图11所示,预设的数据集通过以下步骤得到:
步骤S380,获取与应用业务对应的多个第一数据。
在一实施例中,针对不同的应用业务,通过预设的工具从现实生活中采集得到对应的应用业务的数据,在一实施例中,若获取图像数据,可以利用相机或者手机进行拍照。通过采集数据能够获取与应用业务对应的多个第一数据,有利于后续对第一数据进行预处理。其中,第一数据为通过工具获取的原始的未处理的数据。
步骤S390,对各个第一数据进行预处理,得到与各个第一数据对应的明文数据。
如图12所示,对各个第一数据进行预处理,得到与各个第一数据对应的明文数据,包括但不限于有以下步骤:
步骤S391,对各个第一数据进行数据清洗,得到与各个第一数据对应的第二数据。
在一些实施例中,对采集的未经处理的第一数据进行去除空值、重复值或者非法值等处理,得到与各个第一数据对应的第二数据。通过对第一数据进行清洗,能够去除一些无效数据,减少内容占用。其中,第二数据为对第一数据进行清洗后的数据。
步骤S392,将各个第二数据进行格式转换,得到与各个第二数据对应的第三数据。
在一些实施例中,根据步骤S391,将清洗后的第二数据按照预设的数据结构进行格式转换,预设的数据结构可以为数组的形式,也可以为二叉树,符合存储标准即可,这里不作赘述。进行格式转换后,得到与各个第二数据对应的第三数据,通过格式转换能够方便数据的存储和读取。其中,第三数据为采集的数据清洗又进行格式转换的数据。
步骤S393,对各个第三数据添加标识信息,得到各个明文数据。
在一些实施例中,根据步骤S392,对转换后的第三数据添加标识信息,得到各个明文数据,该标识信息为元数据,可以为时间戳,也可以为盐值。各个明文数据构成了数据集,将数据集中的各个数据存入数据库中,并对外公开其数据访问接口与数据结构,方便其他实体获取和使用数据。其中,数据库可以为Mysql数据库,也可以为Mongodb数据库,能够进行数据存储即可。
在一些实施例中,在利用同态加密算法对应用业务的明文数据进行加密,得到密文数据之前,判断数据源设备中是否存在密文缓存,若存在密文缓存,判断密文缓存中是否存在数据范围内的密文,在密文缓存中存在数据范围内的密文的情况下,选择密文缓存的密文,得到密文数据。当密文缓存中不存在数据范围内的密文的情况下,利用同态加密算法对应用业务的明文数据进行加密,得到密文数据,并将密文数据存入密文缓存中;若不在密文缓存的情况下,利用同态加密算法对数据库中的明文数据直接进行加密处理,得到密文数据。通过设置密文缓存,能够加速获取密文数据的速度,节省时间。
步骤S320,将密文数据发送给算力处理设备,以使得算力处理设备通过证明器对密文数据进行计算得到证明信息和密文结果,并将证明信息和密文结果发送给数据应用设备。
在一些实施例中,根据S320得到密文数据,将密文数据发送给数据获取的请求方算力处理设备,使得算力处理设备通过证明器对密文数据进行计算得到证明信息和密文结果,并将证明信息和密文结果发送给数据应用设备。通过发送密文数据,避免数据获取方查看数据内容,保护数据隐私。
如图16所示,在接收到算力处理设备发送的数据获取请求的情况下,数据获取请求携带数据范围和明文数据信息,执行步骤S1401,判断数据范围是否合法且可用,若数据范围合法且可用,执行步骤S1402,判断密文缓存中是否具有对应的密文,若密文缓存中存在数据范围内的密文,执行步骤S1405,向算力处理设备发送密文数据;若密文缓存中不存在数据范围内的密文,执行步骤S1403,对明文数据进行加密,得到密文数据,然后执行步骤S1404,将密文数据放入存入密文缓存中,最后执行步骤S1405,向算力处理设备发送密文数据;若数据范围不合法,结束操作流程。通过对数据获取的请求对象传输密文数据,能够保证数据的隐私性。
步骤S330,接收数据应用设备发送的解密请求,解密请求指示证明信息通过部署在数据应用设备上的验证器的验证且携带密文结果。
在一些实施例中,接收数据应用设备发送的解密请求,能够实现数据源设备与数据应用设备之间的信息交互,解密请求指示证明信息通过部署在数据应用设备上的验证器的验证且携带密文结果,有利于后续对密文结果进行解密处理。
步骤S340,利用同态加密算法对密文结果进行解密,得到明文结果;
在一些实施例中,利用同态加密算法对密文结果进行解密,也可以采用同态加密算法的不同参数对应用业务的密文数据进行解密,得到明文结果。得到明文结果表示解密成功,有利于后续将明文结果发送给数据应用设备处理。
在一实施例中,解密请求还携带有解密权限,如图9所示,在利用同态加密算法对密文结果进行解密,得到明文结果之前,数据处理方法还包括但不限于有以下步骤:
步骤S3100,在具有解密权限的情况下,执行利用同态加密算法对密文结果进行解密步骤。
步骤S3110,在不具有解密权限的情况下,向数据应用设备发送解密不成功的响应信息后,结束解密流程。
在一实施例中,判断是否具有携带的解密权限,具有解密权限的情况下,利用同态加密算法对密文结果进行解密,在解密成功的情况下,说明该密文结果所对应的输入密文数据确实来源于自身,数据未被篡改,得到明文结果,保证了数据完整性;在不具有解密权限的情况下,向数据应用设备发送解密不成功的响应信息后,结束解密流程。通过对解密权限的判断,实现了解密过程的安全性。
在一实施例中,利用同态加密算法对密文结果进行解密,当密文结果解密不成功的情况下,说明该密文结果所对应的输入密文数据并不来源于自身,向数据应用设备发送解密不成功的响应信息。通过发送解密不 成功的响应信息,使得数据应用设备确认算力处理设备的输入数据被篡改,向算力处理设备问责,实现处理过程的安全性。
步骤S350,将明文结果发送给数据应用设备。
在一实施例中,根据步骤S340,解密成功得到明文结果,将明文结果发送给数据应用设备,使得数据应用设备能够对明文结果进行验证,验证通过将明文结果传给上层应用使用。
如图17所示,在接收数据应用设备发送的解密请求,解密请求指示证明信息通过部署在数据应用设备上的验证器的验证且携带密文结果和解密权限后,首先执行步骤S1501,判断是否具有解密权限,若具有解密权限,执行步骤S1502,对密文结果进行解密,然后执行步骤S1503,判断解密是否成功,若解密成功,执行步骤S1504,向数据应用设备发送明文结果;当解密不成功或者不具有解密权限时,结束操作流程。
在一实施例中,上述数据处理方法的实施例应用于数据应用设备、算力处理设备和数据源设备独立的情况下,当数据应用设备和数据源设备合并,算力处理设备独立时,上述数据处理方法也同样适用,为避免重复,这里不作赘述。
参考图18,图18示出了本申请实施例提供的计算机设备900。该计算机设备900可以是服务器或者终端,该计算机设备900的内部结构包括但不限于:
存储器910,用于存储程序;
处理器920,用于执行存储器910存储的程序,当处理器920执行存储器910存储的程序时,处理器920用于执行上述的数据处理方法。
处理器920和存储器910可以通过总线或者其他方式连接。
存储器910作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请任意实施例描述的数据处理方法。处理器920通过运行存储在存储器910中的非暂态软件程序以及指令,从而实现上述的数据处理方法。
存储器910可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述的数据处理方法。此外,存储器910可以包括高速随机存取存储器,还可以包括非暂态存储器,比如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器910可包括相对于处理器920远程设置的存储器,这些远程存储器可以通过网络连接至该处理器920。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的数据处理方法所需的非暂态软件程序以及指令存储在存储器910中,当被一个或者多个处理器920执行时,执行本申请任意实施例提供的数据处理方法。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的数据处理方法。
在一实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器920执行,比如,被上述计算机设备900中的一个处理器920执行,可使得上述一个或多个处理器920执行本申请任意实施例提供的数据处理方法。
本申请实施例包括:获取应用业务的业务算法,对业务算法进行格式转换,得到代数中间表达;随后根据预设的可扩展透明知识证明STARK转换规则对代数中间表达进行处理,得到证明器和验证器;然后将证明器发送给算力处理设备;接收算力处理设备发送的运算结果,运算结果包括证明信息和密文结果,证明信息和密文结果为算力处理设备通过证明器对数据源设备利用同态加密算法得到的密文数据进行计算得到;最后通过验证器对证明信息进行验证,在证明信息验证通过的情况下,将密文结果发送给数据源设备,以使得数据源设备利用同态加密算法对密文结果进行解密,并返回明文结果。根据本申请实施例的方案通过获取应用业务的业务算法,对业务算法进行格式转换,得到代数中间表达,先对业务算法进行转换处理,然后根据预设的可扩展透明知识证明STARK转换规则对代数中间表达进行处理,得到证明器和验证器;将证明器发送给算力处理设备,有利于算力处理设备对证明器进行部署;接收算力处理设备发送的运算结果,运算结果包括证明信息和密文结果,证明信息和密文结果为算力处理设备通过证明器对数据源设备利用同态加密算法得到的密文数据进行计算得到,能够接收密文结果,保证数据的隐私性;由于自身部署了验证器,利用部署的验证器对证明信息进行验证,能够得到算力处理设备发送的运算结果是否被篡改,在证明信息验证通过的情况下,表示计算时算法步骤未被篡改,从而保证计算完整性,将密文结果发送给数据源设备,以使得数据源设备利用同态加密算法对密文结果进行解密,并返回明文结果,从而保证数据完整性,有利于后续对明文结果进行应用。本申请能够在较高的资源利用率和可扩展性的基础上,保证计算完整性和数据完整性。
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂 时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (21)

  1. 一种数据处理方法,应用于数据应用设备,所述方法包括:
    获取应用业务的业务算法,对所述业务算法进行格式转换,得到代数中间表达;
    根据预设的可扩展透明知识证明STARK转换规则对所述代数中间表达进行处理,得到证明器和验证器;
    将所述证明器发送给所述算力处理设备;
    接收所述算力处理设备发送的运算结果,所述运算结果包括证明信息和密文结果,所述证明信息和所述密文结果为所述算力处理设备通过所述证明器对数据源设备利用同态加密算法得到的密文数据进行计算得到;
    通过所述验证器对所述证明信息进行验证,在所述证明信息验证通过的情况下,将所述密文结果发送给所述数据源设备,以使得所述数据源设备利用所述同态加密算法对所述密文结果进行解密,并返回明文结果。
  2. 根据权利要求1所述的方法,其中,在所述通过所述验证器对所述证明信息进行验证之后,所述方法还包括:在所述证明信息验证不通过的情况下,向所述算力处理设备发送第一问责信息后,结束操作流程,其中,所述第一问责信息表征所述业务算法被篡改。
  3. 根据权利要求1所述的方法,其中,在所述将所述密文结果发送给所述数据源设备,以使得所述数据源设备利用所述同态加密算法对所述密文结果进行解密,并返回明文结果之后,所述方法还包括:
    接收所述明文结果,所述明文结果包括标识信息;
    对所述标识信息进行验证,在所述标识信息验证通过的情况下,将所述明文结果发送给所述应用业务。
  4. 根据权利要求3所述的方法,其中,在所述对所述标识信息进行验证之后,所述方法还包括:在所述标识信息验证不通过的情况下,向所述算力处理设备发送第二问责信息后,结束操作流程,其中,所述第二问责信息表征所述密文数据被篡改。
  5. 根据权利要求4所述的方法,其中,在所述将所述密文结果发送给所述数据源设备之后,所述方法还包括:在所述密文结果解密不成功的情况下,向所述算力处理设备发送第二问责信息后,结束操作流程。
  6. 一种数据处理方法,应用于算力处理设备,所述方法包括:
    接收数据应用设备发送的证明器;
    从数据源设备获取利用同态加密算法得到的密文数据,通过所述证明器对所述密文数据进行计算,得到证明信息和密文结果;
    将所述证明信息和所述密文结果发送给所述数据应用设备,以使得所述数据应用设备根据所述证明信息和所述密文结果得到明文结果。
  7. 根据权利要求6所述的方法,其中,在所述从数据源设备获取利用同态加密算法得到的密文数据,通过所述证明器对所述密文数据进行计算,得到证明信息和密文结果之前,所述方法还包括:
    对所述证明器的部署权限进行验证,在有部署权限的情况下,查询存在的已部署证明器;
    在所述已部署证明器与所述证明器属于同一类别的情况下,删除所述已部署证明器,对所述证明器进行部署。
  8. 根据权利要求7所述的方法,其中,在所述对所述证明器的部署权限进行验证之后,所述方法还包括:当没有部署权限的情况下,拒绝部署所述证明器,结束操作流程。
  9. 根据权利要求7所述的方法,其中,在没有接收到所述数据应用设备发送的所述证明器,并且检测到所述数据源设备出现新的数据的情况下,所述方法还包括:
    从所述数据源设备获取利用所述同态加密算法得到的更新后的密文数据;
    利用所述已部署证明器对所述更新后的密文数据进行计算处理,得到证明信息和密文结果。
  10. 一种数据处理方法,应用于数据源设备,所述方法包括:
    利用同态加密算法对应用业务的明文数据进行加密,得到密文数据;
    将所述密文数据发送给算力处理设备,以使得所述算力处理设备通过证明器对所述密文数据进行计算得到证明信息和密文结果,并将所述证明信息和所述密文结果发送给数据应用设备;
    接收所述数据应用设备发送的解密请求,所述解密请求指示所述证明信息通过部署在所述数据应用设备上的验证器的验证且携带所述密文结果;
    利用所述同态加密算法对所述密文结果进行解密,得到明文结果;
    将所述明文结果发送给所述数据应用设备。
  11. 根据权利要求10所述的方法,其中,所述解密请求还携带有解密权限;
    在所述利用所述同态加密算法对所述密文结果进行解密,得到明文结果之前,所述方法还包括:
    在具有所述解密权限的情况下,执行利用所述同态加密算法对所述密文结果进行解密步骤;
    在不具有所述解密权限的情况下,向所述数据应用设备发送解密不成功的响应信息后,结束解密流程。
  12. 根据权利要求11所述的方法,其中,在所述利用所述同态加密算法对所述密文结果进行解密之后,所述方法还包括:在所述密文结果解密不成功的情况下,向所述数据应用设备发送解密不成功的所述响应信 息。
  13. 根据权利要求10所述的方法,其中,在所述利用同态加密算法对应用业务的明文数据进行加密,得到密文数据之前,所述方法还包括:
    接收算力处理设备发送的数据获取请求,所述数据获取请求携带数据范围和明文数据信息;
    当所述数据范围合法的情况下,从预设的数据集中选择与所述明文数据信息对应的所述明文数据。
  14. 根据权利要求13所述的方法,其中,在所述利用同态加密算法对应用业务的明文数据进行加密,得到密文数据之前,所述方法还包括:
    在密文缓存中存在所述数据范围内的密文的情况下,选择所述密文缓存的密文,得到所述密文数据。
  15. 根据权利要求13所述的方法,其中,所述预设的数据集通过以下步骤得到:
    获取与应用业务对应的多个第一数据;
    对各个所述第一数据进行预处理,得到与各个所述第一数据对应的明文数据。
  16. 根据权利要求15所述的方法,其中,所述对各个所述第一数据进行预处理,得到与各个所述第一数据对应的明文数据,包括:
    对各个所述第一数据进行数据清洗,得到与各个所述第一数据对应的第二数据;
    将各个所述第二数据进行格式转换,得到与各个所述第二数据对应的第三数据;
    对各个所述第三数据添加标识信息,得到各个所述明文数据。
  17. 一种数据处理设备,包括:
    第一获取模块,被设置为获取应用业务的业务算法,对所述业务算法进行格式转换,得到代数中间表达;
    第一处理模块,被设置为根据预设的可扩展透明知识证明STARK转换规则对所述代数中间表达进行处理,得到证明器和验证器;
    第一发送模块,被设置为将所述证明器发送给所述算力处理设备;
    第一接收模块,被设置为接收所述算力处理设备发送的运算结果,所述运算结果包括证明信息和密文结果,所述证明信息和所述密文结果为所述算力处理设备通过所述证明器对数据源设备利用同态加密算法得到的密文数据进行计算得到;
    信息验证模块,被设置为通过所述验证器对所述证明信息进行验证;
    第二处理模块,被设置为在所述证明信息验证通过的情况下,将所述密文结果发送给所述数据源设备,以使得所述数据源设备利用所述同态加密算法对所述密文结果进行解密,并返回明文结果。
  18. 一种数据处理设备,包括:
    第二接收模块,被设置为接收数据应用设备发送的证明器;
    第二获取模块,被设置为从数据源设备获取利用同态加密算法得到的密文数据;
    第三处理模块,被设置为通过所述证明器对所述密文数据进行计算,得到证明信息和密文结果;
    第三发送模块,被设置为将所述证明信息和所述密文结果发送给所述数据应用设备,以使得所述数据应用设备根据所述证明信息和所述密文结果得到明文结果。
  19. 一种数据处理设备,包括:
    数据加密模块,被设置为利用同态加密算法对应用业务的明文数据进行加密,得到密文数据;
    第四发送模块,被设置为将所述密文数据发送给算力处理设备,以使得所述算力处理设备通过证明器对所述密文数据进行计算得到证明信息和密文结果,并将所述证明信息和所述密文结果发送给数据应用设备;
    第三接收模块,被设置为接收所述数据应用设备发送的解密请求,所述解密请求指示所述证明信息通过部署在所述数据应用设备上的验证器的验证且携带所述密文结果;
    数据解密模块,被设置为利用所述同态加密算法对所述密文结果进行解密,得到明文结果;
    第五发送模块,被设置为将所述明文结果发送给所述数据应用设备。
  20. 一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如权利要求1至16中任一项所述方法的步骤。
  21. 一种计算机可读存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至16中任一项所述方法的步骤。
PCT/CN2023/093893 2022-06-29 2023-05-12 数据处理方法、设备、计算机设备和可读存储介质 Ceased WO2024001558A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/877,520 US20250373433A1 (en) 2022-06-29 2023-05-12 Data processing method and device, and computer device and readable storage medium
EP23829744.4A EP4542917A4 (en) 2022-06-29 2023-05-12 DATA PROCESSING METHOD AND DEVICE, COMPUTER DEVICE AND READABLE STORAGE MEDIUM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210749088.1A CN117353890A (zh) 2022-06-29 2022-06-29 数据处理方法、设备、计算机设备和可读存储介质
CN202210749088.1 2022-06-29

Publications (1)

Publication Number Publication Date
WO2024001558A1 true WO2024001558A1 (zh) 2024-01-04

Family

ID=89367822

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/093893 Ceased WO2024001558A1 (zh) 2022-06-29 2023-05-12 数据处理方法、设备、计算机设备和可读存储介质

Country Status (4)

Country Link
US (1) US20250373433A1 (zh)
EP (1) EP4542917A4 (zh)
CN (1) CN117353890A (zh)
WO (1) WO2024001558A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118797585A (zh) * 2024-01-31 2024-10-18 中国移动通信集团设计院有限公司 数据的监督方法、装置、电子设备、产品及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20260046133A1 (en) * 2024-06-04 2026-02-12 Bank Of America Corporation A method and system for verifying user authorization using zero-proof verification

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344640A (zh) * 2018-12-20 2019-02-15 东北大学 一种基于同态加密和多项式计算的子图匹配方法
WO2019209168A2 (zh) * 2018-04-26 2019-10-31 华为国际有限公司 数据处理方法、相关装置及区块链系统
CN112231736A (zh) * 2020-11-04 2021-01-15 广东辰宜信息科技有限公司 全同态加密微系统、计算方法、加密方法、处理端及介质
CN113162752A (zh) * 2021-04-26 2021-07-23 建信金融科技有限责任公司 基于混合同态加密的数据处理方法和装置
CN113612597A (zh) * 2021-07-26 2021-11-05 京东科技控股股份有限公司 数据计算方法、装置、系统及电子设备
CN114244534A (zh) * 2021-12-21 2022-03-25 杭州趣链科技有限公司 数据存储方法、装置、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4191939A4 (en) * 2020-07-27 2023-09-20 Fujitsu Limited PROOF OF KNOWLEDGE METHOD, PROOF OF KNOWLEDGE PROGRAM, AND INFORMATION PROCESSING APPARATUS

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019209168A2 (zh) * 2018-04-26 2019-10-31 华为国际有限公司 数据处理方法、相关装置及区块链系统
CN109344640A (zh) * 2018-12-20 2019-02-15 东北大学 一种基于同态加密和多项式计算的子图匹配方法
CN112231736A (zh) * 2020-11-04 2021-01-15 广东辰宜信息科技有限公司 全同态加密微系统、计算方法、加密方法、处理端及介质
CN113162752A (zh) * 2021-04-26 2021-07-23 建信金融科技有限责任公司 基于混合同态加密的数据处理方法和装置
CN113612597A (zh) * 2021-07-26 2021-11-05 京东科技控股股份有限公司 数据计算方法、装置、系统及电子设备
CN114244534A (zh) * 2021-12-21 2022-03-25 杭州趣链科技有限公司 数据存储方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4542917A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118797585A (zh) * 2024-01-31 2024-10-18 中国移动通信集团设计院有限公司 数据的监督方法、装置、电子设备、产品及存储介质
CN118797585B (zh) * 2024-01-31 2025-10-03 中国移动通信集团设计院有限公司 数据的监督方法、装置、电子设备、产品及存储介质

Also Published As

Publication number Publication date
EP4542917A1 (en) 2025-04-23
CN117353890A (zh) 2024-01-05
EP4542917A4 (en) 2025-09-10
US20250373433A1 (en) 2025-12-04

Similar Documents

Publication Publication Date Title
US10958436B2 (en) Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus
CN108810006B (zh) 资源访问方法、装置、设备及存储介质
US11296865B1 (en) Cryptographic algorithm status transition
US11218305B2 (en) Blockchain authorization information generation
US11949789B2 (en) Blockchain-enabled computing
US12034867B2 (en) Blockchain with random committee selection
CN112949545B (zh) 识别人脸图像的方法、装置、计算设备和介质
US12368589B2 (en) Method to validate ownership and authentication of a digital asset
WO2021058298A1 (en) Consensus protocol for blockchain dag structure
EP3933624A1 (en) Blockchain-based identity verification method and related hardware
WO2021004055A1 (zh) 人脸数据采集、验证的方法、设备及系统
CN112308236B (zh) 用于处理用户请求的方法、装置、电子设备及存储介质
US11924348B2 (en) Honest behavior enforcement via blockchain
US11658824B2 (en) Plagiarism detection from encrypted documents
CN114239043B (zh) 一种基于区块链技术构建的共享加密存储系统
WO2024001558A1 (zh) 数据处理方法、设备、计算机设备和可读存储介质
CN110909082A (zh) 生成作品的区块链存证证书的方法及装置
CN114240399A (zh) 基于区块链平台的政务数据处理方法及系统
CN109936620A (zh) 基于区块链的存储方法及装置、系统与存储介质
CN118395412A (zh) 无感人机识别安全防护方法、装置、设备及介质
CN114239072B (zh) 区块链节点管理方法及区块链网络
WO2024055740A1 (zh) 数据处理方法、计算机设备和可读存储介质
CN117061201A (zh) 信息发送方法、信息广播方法、业务处理方法和装置
CN117499159B (zh) 一种基于区块链的数据交易方法、装置及电子设备
CN117454437B (zh) 交易处理方法、存储介质及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23829744

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18877520

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2023829744

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2023829744

Country of ref document: EP

Effective date: 20250115

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2023829744

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 18877520

Country of ref document: US