WO2021208906A1 - Data transmission, processing, and authorization - Google Patents

Data transmission, processing, and authorization Download PDF

Info

Publication number
WO2021208906A1
WO2021208906A1 PCT/CN2021/086900 CN2021086900W WO2021208906A1 WO 2021208906 A1 WO2021208906 A1 WO 2021208906A1 CN 2021086900 W CN2021086900 W CN 2021086900W WO 2021208906 A1 WO2021208906 A1 WO 2021208906A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
group
trusted
processed
trusted zone
Prior art date
Application number
PCT/CN2021/086900
Other languages
French (fr)
Chinese (zh)
Inventor
王磊
余超凡
Original Assignee
支付宝(杭州)信息技术有限公司
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 支付宝(杭州)信息技术有限公司 filed Critical 支付宝(杭州)信息技术有限公司
Publication of WO2021208906A1 publication Critical patent/WO2021208906A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]

Definitions

  • the embodiments of this specification relate to the field of information technology, in particular to data transmission, processing, and authorization.
  • TEE Trusted Execution Environment
  • One of the embodiments of this specification provides a data transmission method, wherein the method is executed by a data provider’s equipment, and includes: obtaining to-be-processed data, and the to-be-processed data is used according to one or The data processing procedures in multiple trusted areas are processed into target data; the secret key used to encrypt at least part of the target data is obtained; the information to be encrypted is obtained based on the to-be-processed data and the secret key; the information to be encrypted is obtained from the trusted area
  • the group public key of the group authorization system the group public key corresponds to the trusted area group; the group public key is used to encrypt the information to be encrypted, and the encryption result is sent to a certain area in the trusted area. Devices in the trusted zone.
  • One of the embodiments of this specification provides a data transmission system, which includes: a to-be-processed data acquisition module for acquiring the to-be-processed data, and the to-be-processed data is used according to one or more credible areas in the credible area group; The data processing flow in the area is processed into target data; the secret key obtaining module is used to obtain the secret key used to encrypt at least part of the target data; the first to-be-encrypted information obtaining module is used to obtain the data based on the to-be-processed data and the The secret key is used to obtain the information to be encrypted; the group public key acquisition module is used to obtain the group public key from the trusted zone group authorization system, the group public key corresponds to the trusted zone group; the first encryption module is used to use all The group public key encrypts the information to be encrypted, and sends the encryption result to a device having a certain trusted zone in the trusted zone group.
  • One of the embodiments of this specification provides a data transmission device, which includes a processor and a storage device.
  • the storage device is used to store instructions. Data transfer method.
  • One of the embodiments of this specification provides a data processing method, wherein the method is executed in a certain trusted zone in a trusted zone group, which includes: receiving a ciphertext; obtaining a group from a trusted zone group authorization system The public key and the group private key, the group public key and the group private key correspond to the trusted zone group; the group private key is used to decrypt the ciphertext to obtain the data to be processed and used to encrypt at least part of the target data The secret key of; the data processing procedure is performed on the data to be processed to obtain the result data; the information to be encrypted is obtained based on the result data and the secret key; the information to be encrypted is encrypted using the set of private keys, and Send the encryption result to other trusted zones in the trusted zone group.
  • One of the embodiments of this specification provides a data processing system, wherein the system is implemented in a certain trusted zone in a trusted zone group, and includes: a first receiving module for receiving ciphertext; group public and private key The obtaining module is used to obtain the group public key and the group private key from the trusted zone group authorization system, the group public key and the group private key correspond to the trusted zone group; the first decryption module is used to use the The group private key decrypts the ciphertext to obtain the data to be processed and the secret key used to encrypt at least part of the target data; the data processing module is configured to perform a data processing procedure on the data to be processed to obtain the result data; second The information to be encrypted obtaining module is used to obtain the information to be encrypted based on the result data and the secret key; the second encryption module is used to encrypt the information to be encrypted using the group private key and send the encryption result to Other trusted zones in the trusted zone group.
  • One of the embodiments of this specification provides a data processing device, which includes a processor and a storage device.
  • the storage device is used to store instructions. Data processing method.
  • One of the embodiments of this specification provides a data authorization method, wherein the method is executed in a certain trusted zone within a trusted zone group, which includes: receiving ciphertext; obtaining a group from the trusted zone group authorization system Private key, the group of private keys corresponds to the trusted zone group; the group of private keys is used to decrypt the ciphertext to obtain the data to be processed and the secret key used to encrypt at least part of the target data; based on the group of private keys The data is processed to obtain target data; the secret key is used to encrypt at least part of the target data; and the encrypted at least part of the target data is output.
  • One of the embodiments of this specification provides a data authorization system, wherein the system is implemented in a certain trusted zone in a trusted zone group, and includes: a second receiving module for receiving ciphertext; a group private key
  • the obtaining module is used to obtain the group private key from the trusted zone group authorization system, where the group private key corresponds to the trusted zone group;
  • the second decryption module is used to decrypt the ciphertext using the group private key ,
  • a target data obtaining module to obtain target data based on the to-be-processed data;
  • a third encryption module to use the secret key to encrypt at least part of the target data Target data; output module for outputting at least part of the encrypted target data.
  • One of the embodiments of this specification provides a data authorization device, which includes a processor and a storage device.
  • the storage device is used to store instructions.
  • the processor executes the instructions, the implementation is as described in any embodiment of this specification Data authorization method.
  • Fig. 1 is a schematic diagram of an application scenario of a data sharing system according to some embodiments of this specification
  • Fig. 2 is an exemplary flowchart of a data transmission method according to some embodiments of the present specification
  • Fig. 3 is an exemplary flowchart of a data processing method according to some embodiments of the present specification
  • Fig. 4 is a schematic diagram of secure transmission of data in a trusted zone group according to some embodiments of this specification
  • Fig. 5 is an exemplary flowchart of a data authorization method according to some embodiments of the present specification
  • Fig. 6 is an exemplary block diagram of a data transmission system according to some embodiments of the present specification.
  • Fig. 7 is an exemplary block diagram of a data processing system according to some embodiments of the present specification.
  • Fig. 8 is an exemplary block diagram of a data authorization system according to some embodiments of the present specification.
  • system is a method for distinguishing different components, elements, parts, parts, or assemblies of different levels.
  • the words can be replaced by other expressions.
  • data provider A holds feature data
  • data provider B holds private label data. It is necessary to combine the feature data and label data held by the two parties for model training.
  • multiple data providers hold private and different feature data, and joint feature data of multiple parties for model training can improve the accuracy of the model, or it is necessary to combine feature data of multiple parties for model prediction.
  • this manual mainly uses machine learning as an example, the principles in this manual can also be applied to other scenarios that need to combine private data from multiple parties for data processing, for example, to combine private data from multiple parties for data processing. Data statistics, data analysis, etc.
  • the parties can encrypt the data and upload it to a device with a trusted zone (also called a TEE-equipped device, or TEE device for short), and the TEE device is in the trusted zone Decrypt the private data of all parties and perform data processing on the private data of all parties.
  • the data processing code is stored in the trusted zone, and the code runs in the trusted zone and realizes the corresponding data processing flow.
  • the outside world for example, the operating system of the device
  • the trusted area mentioned in this specification may include an enclave in an SGX (Software Guard eXtensions) trusted execution environment.
  • the target data can only be used by one or more designated parties.
  • the designated party may include the model trainer that uses the model as the initial model in the model migration task.
  • the designated party may include the initiator of the prediction request.
  • the model can be split into multiple sub-models one-to-one corresponding to multiple feature parties in the credible area, where each feature can be used as a sub-model. Designated party.
  • multiple features can use their respective sub-models for joint prediction.
  • the embodiments in this specification provide data transmission, processing, and authorization methods and systems.
  • the private data of each party can be processed into target data according to the data processing flow in one or more trusted areas.
  • the data to be processed or the result data always carry the secret key from the designated party before being transmitted to the trusted area. Encrypted together. After a certain trusted area obtains the target data and the decrypted secret key from the designated party, the secret key is used to encrypt at least part of the target data, and then at least part of the target data encrypted with the secret key is output. In this way, only the designated party can decrypt the at least part of the target data for use, which can prevent the target data from being abused.
  • Fig. 1 is a schematic diagram of an application scenario of a data sharing system according to some embodiments of this specification.
  • the data sharing system 100 may include devices 110 of more than two data providers, a device 120 with a trusted area, and a network 150.
  • the device 110 of the data provider may encrypt the to-be-processed private data with a secret key used to encrypt at least part of the target data, and then upload the encryption result to the device 120 with a trusted area.
  • the device 110 of the data provider can obtain the encrypted at least the target data, if the data provider The device 110 of holds the secret key used to decrypt the at least part of the target data, and can decrypt the at least part of the target data for use.
  • the device 110 of the data provider may include various devices with information receiving and/or sending functions.
  • the device 110 of the data provider may include one of a smart phone, a tablet computer, a laptop computer, a desktop computer, a server, etc., or any combination thereof.
  • the server mentioned in this specification may be an independent server or a server group, and the server group may be centralized or distributed. In some embodiments, the server may be regional or remote. In some embodiments, the server may be executed on a cloud platform.
  • the cloud platform may include one or any combination of private cloud, public cloud, hybrid cloud, community cloud, decentralized cloud, internal cloud, etc.
  • the device 120 with a trusted zone may include various types of computing devices, such as servers.
  • the data sharing system 100 may include one or more devices with trusted zones.
  • the device 120 with a trusted zone can obtain ciphertexts from multiple data providers, and decrypt private data from all parties in the trusted zone (and the secret key used to encrypt at least part of the target data). ) And combine the private data of all parties for data processing to obtain intermediate result data or target data.
  • the private data of the parties can be processed as target data according to the data processing procedures in multiple trusted regions. After the trusted region that obtains the private data is processed to obtain the intermediate result data, the intermediate result data can be converted to the target data. Encrypt it with the decrypted secret key used to encrypt at least part of the target data, and transmit the encryption result to the next trusted area.
  • Each trusted area responsible for data processing can encrypt and transmit data according to the above process until there is a trusted area to obtain the target data.
  • the trusted area responsible for data processing obtains target data through data processing
  • at least part of the target data can be encrypted with the decrypted secret key, and at least part of the encrypted target data is output.
  • the target data can be encrypted with the secret key used to encrypt at least part of the target data, and the encryption result is sent to the person responsible for data authorization. Trusted zone. After the trusted area responsible for data authorization decrypts the target data and the secret key used to encrypt at least part of the target data, the decrypted secret key can be used to encrypt at least part of the target data and output the encrypted at least part of the target data.
  • one trusted zone or multiple trusted zones can be created on the same device.
  • the trusted zone E1, the trusted zone E2, and the trusted zone E3 can be created on the device 120 at the same time.
  • multiple trusted zones can be located on the same device, or they can be deployed on different devices.
  • the data sharing system 100 may also include a third-party device 130.
  • the third-party device 130 can obtain at least part of the encrypted target data. If the third-party device 130 holds a secret key for decrypting the at least part of the target data, it can decrypt the at least part of the target data for use.
  • the third-party device 130 may obtain a model encrypted with the public key of the third-party device 130, and then use the local private key of the third-party device 130 to decrypt the model for use.
  • the decrypted model may be used as the initial model. Model training.
  • the third-party device 130 may include various devices with information receiving and/or sending functions.
  • the device 110 of the data provider may include one of a smart phone, a tablet computer, a laptop computer, a desktop computer, a server, etc., or any combination thereof.
  • the data sharing system 100 may also include a trusted zone group authorization system 140.
  • the trusted region group authorization system 140 can be the same
  • the trusted zone of the group provides a unified secret key for data encryption/decryption, such as a public-private key pair including a group public key and a group private key, so that data can be safely transmitted within the trusted zone group.
  • the trusted zone group authorization system 140 can obtain identification information (also called signature information) of multiple trusted zones to be networked, and generate public and private keys for the trusted zone group composed of the multiple trusted zones. Yes, save the signature information of the multiple trusted regions and the public-private key pair as the group information of the trusted region group.
  • the trusted zone group authorization system 140 can store group information of multiple trusted zone groups, and different trusted zone groups can be responsible for different data sharing tasks.
  • the device 110 of each data provider preparing to start the same data sharing task can obtain the group information corresponding to the data sharing task from the trusted area group authorization system 140. It should be noted that the device 110 of the data provider obtains The group information lacks the group private key.
  • the device 110 of each data provider may encrypt the information to be encrypted with the public key in the group information, and upload the encryption result to the device 120 having a trusted area corresponding to a certain signature information in the group information.
  • the identification information of the trusted zone may include the hash value of the code expected to run in the trusted zone.
  • the device with the trusted area in the group Before each trusted area in the trusted area group executes the data sharing task (running code), the device with the trusted area in the group can initiate remote authentication to the trusted area group authorization system 140, and then perform data sharing after the remote authentication is passed. Task.
  • the device with the trusted zone in the group can submit the hash value of the code running in the trusted zone to the trusted zone group authorization system 140, and the trusted zone group authorization system 140 obtains the pre-stored group information
  • the hash value of the code in the trusted area can be compared with the two hash values to verify whether the expected code will run in the trusted area. If the hash values are inconsistent, the remote authentication fails.
  • the trusted zone group authorization system 140 may send the public and private key pair in the group information to each trusted zone in the corresponding trusted zone group after the remote authentication is passed.
  • the network 150 connects the various components of the system 100 so that communication between the various components can be carried out.
  • the network 150 between the various parts in the system 100 may include a wired network and/or a wireless network.
  • the network 150 may include a cable network, a wired network, an optical fiber network, a telecommunications network, an internal network, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), public One or any combination of switched telephone network (PSTN), Bluetooth network, ZigBee network (ZigBee), near field communication (NFC), intra-device bus, intra-device wiring, cable connection, etc.
  • the network connection between each two parts can be in one of the above-mentioned ways, or in multiple ways.
  • Fig. 2 is an exemplary flowchart of a data transmission method according to some embodiments of the present specification.
  • the process 200 may be executed by the device 110 of the data provider. As shown in Figure 2, the process 200 may include:
  • Step 210 Obtain to-be-processed data, where the to-be-processed data is used to be processed into target data according to the data processing flow in one or more trusted regions in the trusted region group (denoted as E).
  • step 210 may be implemented by the to-be-processed data acquisition module 610.
  • the data to be processed is the private data of the data provider.
  • the to-be-processed data may include private feature data and/or label data held by the data provider.
  • the target data may include sample data (including data from all parties).
  • Step 220 Obtain a secret key used to encrypt at least part of the target data.
  • step 220 may be implemented by the secret key acquisition module 620.
  • the secret key is used to encrypt at least part of the target data to prevent the at least part of the target data from being misused. Accordingly, the holder of the decryption key can decrypt the at least part of the target data for use.
  • the secret key may include a public key from a data provider and/or a public key from a third-party device 130.
  • the secret key for encrypting at least part of the target data may be the public key of a certain data provider or the public key from the third-party device 130.
  • the device 110 of the data provider or the third-party device 130 can use the local private key to decrypt the at least part of the target data for use.
  • a device with a trusted zone 120 may refuse to perform the data sharing task, and may feedback the task execution failure to the data provider.
  • the device 120 with the trusted zone may continue to perform the data sharing task based on the received secret key used to encrypt the at least part of the target data.
  • the target data can be split into multiple parts, and each part can be used by a designated party.
  • the secret key may include public keys from multiple parties, and the public key from any party corresponds to part of the target data.
  • the device 120 with the trusted area can split the target data into multiple parts and use the public keys from multiple parties. The key respectively encrypts the corresponding part of the target data.
  • either party can use the local private key to decrypt part of the target data for use.
  • the device 120 with a trusted region can split the model into multiple sub-models, and encrypt each sub-model with the public key from each feature party, where each feature party holds Some characteristic data are different.
  • any feature party can use the local private key to decrypt the sub-model for use, that is, each feature party can perform multi-party joint prediction based on the sub-model decrypted by each feature party.
  • Step 230 Obtain information to be encrypted based on the data to be processed and the secret key.
  • step 230 may be implemented by the first to-be-encrypted information obtaining module 630.
  • the first to-be-encrypted information obtaining module 630 may perform data packaging on the to-be-processed data and the secret key to obtain the to-be-encrypted information.
  • Step 240 Obtain the group public key (denoted as Pk_E) from the trusted zone group authorization system 140, and the group public key Pk_E corresponds to the trusted zone group E.
  • step 240 may be implemented by the group public key acquisition module 640.
  • Step 250 Use the group public key Pk_E to encrypt the information to be encrypted, and send the encryption result to the device 120 having a certain trusted zone in the trusted zone group E.
  • step 250 may be implemented by the first encryption module 650.
  • Fig. 3 is an exemplary flowchart of a data processing method according to some embodiments of the present specification.
  • the process 300 is executed in a certain trusted zone in the trusted zone group (denoted as E).
  • a certain trusted zone here can be recorded as the current trusted zone.
  • the process 300 may include:
  • Step 310 Receive the ciphertext.
  • step 310 may be implemented by the first receiving module 710.
  • Step 320 Obtain the group public key (denoted as Pk_E) and the group private key (denoted as Pr_E) from the trusted zone group authorization system 140.
  • the group public key Pk_E and the group private key Pr_E correspond to the trusted zone group E.
  • step 320 may be implemented by the group public and private key acquisition module 720.
  • Step 330 Decrypt the ciphertext using the group private key Pr_E to obtain the data to be processed and the secret key used to encrypt at least part of the target data.
  • step 320 may be implemented by the first decryption module 730.
  • the ciphertext may come from the device 110 of the data provider, and the corresponding plaintext includes the data to be processed (ie, private data) from the data provider and a secret key used to encrypt at least part of the target data.
  • the ciphertext may come from other trusted regions in the trusted region group E, such as the previous trusted region responsible for data processing.
  • the secret key may include a public key from a data provider and/or a public key from a third-party device 130.
  • Step 340 Perform a data processing procedure on the to-be-processed data to obtain result data.
  • step 340 may be implemented by the data processing module 740.
  • the result data may refer to the processing result obtained by the data processing process in a certain trusted area (hereinafter referred to as the intermediate result data) before the target data is obtained, or it may refer to the data in a certain trusted area
  • the intermediate result data may refer to the data in a certain trusted area
  • the processing result obtained by the processing process as the target data.
  • the data processing procedure in any trusted area may include a data fusion procedure, and the data fusion procedure may be used to merge the to-be-processed data from multiple data providers.
  • the data fusion process can be used to fuse the feature data and label data of all parties.
  • the data fusion process can be used to fuse the characteristic data of all parties.
  • the data processing procedure in any trusted region may include a model training procedure, and the model training procedure may be used to train the model using sample data.
  • the model training process may use various model training algorithms, for example, linear regression algorithm, logistic regression algorithm, XGBoost (eXtreme Gradient Boosting, extreme gradient boosting) algorithm, gradient descent algorithm, etc., or any combination thereof.
  • the data processing procedure can also be other processing procedures that have nothing to do with the machine learning model, which is not limited in this specification.
  • Step 350 Obtain information to be encrypted based on the result data and the secret key.
  • step 350 may be implemented by the second to-be-encrypted information obtaining module 750.
  • the second to-be-encrypted information obtaining module 750 may perform data packaging on the result data and the secret key to obtain the to-be-encrypted information.
  • Step 360 Use the group public key Pk_E to encrypt the information to be encrypted, and send the encryption result to other trusted areas in the trusted area group E.
  • step 360 may be implemented by the second encryption module 760.
  • the result data is intermediate result data, and the second encryption module 760 may send the encryption result from the current trusted zone to the next trusted zone in the trusted zone group E that is responsible for data processing.
  • the result data is target data, and the second encryption module 760 may send the encryption result from the current trusted zone to the trusted zone in the trusted zone group E that is responsible for data authorization.
  • the trusted zone group E responsible for the data sharing task contains three trusted zones (trusted zone E1, trusted zone E2, and trusted zone E3).
  • the processed data data_A and the to-be-processed data data_B from the data provider B are processed according to the data processing procedures in the trusted area E1 and the trusted area E2 to obtain the target data S.
  • the trusted area E3 can be responsible for the release of the target data for
  • the secret key of the encrypted target data S is the public key PubKey_S from the third-party device 130, and the group public key and the group private key corresponding to the trusted zone group E are PubKey_E and PriKey_E, respectively.
  • the secure transmission process of data in the trusted zone group E may include: 1.
  • receiving the ciphertext M1 from the data provider A, and the plaintext corresponding to the ciphertext M1 includes the plaintext from the data provider A.
  • the to-be-processed data data_A and the public key PubKey_S from the third-party device 130 receive the ciphertext M2 from the data provider B.
  • the plaintext corresponding to the ciphertext M2 contains the to-be-processed data data_B from the data provider B and the third-party device 130
  • the public key PubKey_S where the ciphertext M1 and ciphertext M2 are both encrypted with the group public key PubKey_E, so decrypt the ciphertext M1 and ciphertext M2 with the group private key PriKey_E to obtain the data to be processed data_A, the data to be processed data_B, and
  • the public key PubKey_S, the data to be processed data_A and data_B are processed to obtain the intermediate result data data_M.
  • the ciphertext M3 and M3 are obtained.
  • the ciphertext M4 can obtain the target data data_S and the public key PubKey_S, the target data data_S is encrypted with the public key PubKey_S to obtain the ciphertext M5, and the ciphertext M5 is output.
  • the third-party device 130 can decrypt the ciphertext M5 with the private key that matches the public key PubKey_S stored locally, and obtain the target data data_S for use.
  • Fig. 5 is an exemplary flowchart of a data authorization method according to some embodiments of the present specification.
  • the process 500 is executed in a certain trusted zone in the trusted zone group (denoted as E).
  • a certain trusted zone here may be referred to as a target trusted zone.
  • the process 500 may include:
  • Step 510 receive the ciphertext.
  • step 510 may be implemented by the second receiving module 810.
  • Step 520 Obtain a group private key (denoted as Pr_E) from the trusted zone group authorization system 140, and the group private key Pr_E corresponds to the trusted zone group E.
  • step 520 may be implemented by the group private key acquisition module 820.
  • Step 530 Use the group private key Pr_E to decrypt the ciphertext to obtain the data to be processed and the secret key used to encrypt at least part of the target data.
  • step 530 may be implemented by the second decryption module 830.
  • the ciphertext can come from other trusted zones in the trusted zone group E, and the corresponding plaintext includes the trusted zone from the other trusted zone.
  • the data to be processed ie the result data
  • the secret key used to encrypt at least part of the target data.
  • the ciphertext is obtained by encrypting the plaintext with the group public key Pk_E corresponding to the trusted zone group E. Therefore, the second decryption module 830 can decrypt the ciphertext with the group private key Pr_E corresponding to the trusted zone group E, Obtain the data to be processed and use the secret key.
  • Step 540 Obtain target data based on the to-be-processed data.
  • step 540 may be implemented by the target data obtaining module 840.
  • the to-be-processed data decrypted in the target trusted area may be target data.
  • the target data data_S can be decrypted in the trusted area E3 responsible for data authorization. That is, the target data obtaining module 830 may directly determine the to-be-processed data as target data.
  • the to-be-processed data decrypted in the target trusted area may be intermediate result data, and the target data obtaining module 830 may perform a data processing procedure on the to-be-processed data to obtain the target data.
  • the target data may include a model and/or model information obtained through sample data training, where the sample data may be obtained by fusing feature data and/or label data from various data providers, and the model
  • the information may include information related to the model, such as model performance parameters, gradient information, and so on.
  • Step 550 Use the secret key to encrypt at least part of the target data.
  • step 550 may be implemented by the third encryption module 850.
  • Step 560 Output at least part of the encrypted target data.
  • step 560 may be implemented by the output module 860.
  • the secret key is used to encrypt at least part of the target data, that is, a party capable of using the at least part of the target data should hold the corresponding decryption key to decrypt the at least part of the target data.
  • the secret key may include a public key from a data provider and/or a public key from a third-party device 130.
  • the secret key may include public keys from multiple parties.
  • the third encryption module 850 may split the target data into multiple parts, and use public keys from multiple parties to respectively encrypt corresponding parts of the target data. Taking the target data as a splittable model as an example, the third encryption module 850 may split the complete model into multiple sub-models, and each sub-model may correspond to a feature party (each feature party holds different feature data). For each sub-model, the third encryption module 850 can encrypt the sub-model corresponding to the feature party with the public key from the feature party. In this way, after each feature party obtains the encrypted sub-model, it can use the local private key to decrypt its corresponding sub-model for use.
  • Fig. 6 is an exemplary block diagram of a data transmission system according to some embodiments of the present specification.
  • the system 600 may be implemented on the device 110 of the data provider.
  • the system 600 may include a to-be-processed data acquisition module 610, a secret key acquisition module 620, a first to-be-encrypted information acquisition module 630, a group public key acquisition module 640, and a first encryption module 650.
  • the to-be-processed data acquisition module 610 may be used to acquire the to-be-processed data, which is used for data processing in one or more trusted regions in the trusted region group (denoted as E) The process is processed into target data.
  • the secret key obtaining module 620 may be used to obtain a secret key used to encrypt at least part of the target data.
  • the first to-be-encrypted information obtaining module 630 may be configured to obtain the to-be-encrypted information based on the to-be-processed data and the secret key.
  • the group public key acquisition module 640 may be used to acquire the group public key (denoted as Pk_E) from the trusted zone group authorization system 140, and the group public key Pk_E corresponds to the trusted zone group E.
  • the first encryption module 650 may be used to encrypt the information to be encrypted using the group public key Pk_E, and send the encryption result to the device 120 having a certain trusted zone in the trusted zone group E.
  • Fig. 7 is an exemplary block diagram of a data processing system according to some embodiments of the present specification.
  • the system 700 can be implemented in a certain trusted zone in the trusted zone group (denoted as E).
  • the system 700 may include a first receiving module 710, a group public and private key acquisition module 720, a first decryption module 730, a data processing module 740, a second to-be-encrypted information acquisition module 750, and a second encryption module 760.
  • the first receiving module 710 may be used to receive ciphertext.
  • the group public and private key acquisition module 720 may be used to obtain the group public key (denoted as Pk_E) and the group private key (denoted as Pr_E) from the trusted zone group authorization system 140, the group public key Pk_E and the group private key.
  • the key Pr_E corresponds to the trusted zone group E.
  • the first decryption module 730 may be used to decrypt the ciphertext using the group private key Pr_E to obtain the data to be processed and the secret key used to encrypt at least part of the target data.
  • the data processing module 740 may be used to perform a data processing procedure on the to-be-processed data to obtain result data.
  • the second to-be-encrypted information obtaining module 750 may be used to obtain the to-be-encrypted information based on the result data and the secret key.
  • the second encryption module 760 may be used to encrypt the information to be encrypted using the group public key Pk_E, and send the encryption result to other trusted areas in the trusted area group E.
  • Fig. 8 is an exemplary block diagram of a data authorization system according to some embodiments of the present specification.
  • the system 800 can be implemented in a certain trusted zone in the trusted zone group (denoted as E).
  • the system 800 may include a second receiving module 810, a group private key acquisition module 820, a second decryption module 830, a target data acquisition module 840, a third encryption module 850, and an output module 860.
  • the second receiving module 810 may be used to receive ciphertext.
  • the group private key obtaining module 820 may be used to obtain the group private key (denoted as Pr_E) from the trusted zone group authorization system 140, and the group private key Pr_E corresponds to the trusted zone group E.
  • Pr_E group private key
  • the second decryption module 830 may be used to decrypt the ciphertext using the group private key Pr_E to obtain the data to be processed and the secret key used to encrypt at least part of the target data.
  • the target data obtaining module 840 may obtain target data based on the to-be-processed data.
  • the third encryption module 850 may use the secret key to encrypt at least part of the target data.
  • the output module 860 may be used to output at least part of the encrypted target data.
  • system 100 e.g. system 100, system 140, system 600, system 700, system 800, etc.
  • system 800 e.g., system 100, system 140, system 600, system 700, system 800, etc.
  • the system and its components can be implemented by hardware, software, or a combination of software and hardware.
  • the hardware can be implemented using dedicated logic; the software can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware.
  • processor control codes for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware Such codes are provided on a programmable memory or a data carrier such as an optical or electronic signal carrier.
  • the system and its components in this specification can include not only hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc.
  • the implementation may also be implemented by software executed by various types of processors, or may be implemented by a combination of the above-mentioned hardware circuit and software (for example, firmware).
  • the first to-be-encrypted information obtaining module 630 and the first encryption module 650 disclosed in FIG. 6 may be two modules, or may be combined into one module.
  • the encryption module and the decryption module in any system implemented in the trusted zone are two modules, or they can be combined into one module.
  • the encryption module and decryption module in any system implemented in the trusted zone can be packaged into an easy-to-use SDK (Software Development Kit, software development kit). Such deformations are all within the protection scope of this specification.
  • the possible beneficial effects of the embodiments of this specification include, but are not limited to: (1) Before the data to be processed or the result data is safely transmitted to the trusted region in the trusted region group, the secret key from the designated party is always carried. Encrypted together, the secret key is used to encrypt at least part of the target data, so that only the designated party can decrypt the at least part of the target data for use, which can prevent the target data from being abused; (2) Anything that will be implemented in the trusted zone
  • the encryption module and decryption module in one system are packaged into SDK, which is easier for users who write code to use. It should be noted that different embodiments may have different beneficial effects. In different embodiments, the possible beneficial effects may be any one or a combination of the above, or any other beneficial effects that may be obtained.
  • the computer storage medium may contain a propagated data signal containing a computer program code, for example on a baseband or as part of a carrier wave.
  • the propagated signal may have multiple manifestations, including electromagnetic forms, optical forms, etc., or a suitable combination.
  • the computer storage medium may be any computer readable medium other than the computer readable storage medium, and the medium may be connected to an instruction execution system, device, or device to realize communication, propagation, or transmission of the program for use.
  • the program code located on the computer storage medium can be transmitted through any suitable medium, including radio, cable, fiber optic cable, RF, or similar medium, or any combination of the above medium.
  • the computer program codes required for the operations of the various parts of the embodiments of this specification can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET , Python, etc., conventional programming languages such as C language, VisualBasic, Fortran2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages, etc.
  • the program code can run entirely on the user's computer, or as an independent software package on the user's computer, or partly on the user's computer and partly on a remote computer, or entirely on the remote computer or processing equipment.
  • the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, via the Internet), or in a cloud computing environment, or as a service Use software as a service (SaaS).
  • LAN local area network
  • WAN wide area network
  • SaaS service Use software as a service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Provided in the embodiments of the present description are a method for data transmission, processing, and authorization and a system thereof. Private data of different parties can be processed into target data according to a data processing process in one or more trusted zones of a trusted zone group, data to be processed or result data always carries a key from a specified party before being securely transmitted to the trusted zones, the two are encrypted together, when a trusted zone of the trusted zone group acquires the target data and the decrypted key from the specified party, at least some of the target data is encrypted using the key, and the at least some of the target data encrypted using the key is then outputted. As such, data privacy of the different parties is effectively safeguarded.

Description

数据传输、处理、授权Data transmission, processing, authorization 技术领域Technical field
本说明书实施例涉及信息技术领域,特别涉及数据传输、处理、授权。The embodiments of this specification relate to the field of information technology, in particular to data transmission, processing, and authorization.
背景技术Background technique
在可信执行环境(Trusted Execution Environment,TEE)中联合多方的私密数据进行数据处理时,除了需要对数据的处理代码进行限制,以避免数据滥用和隐私泄漏,还有一种需求,就是希望在TEE中进行数据处理后输出的结果(如,模型、预测结果、统计信息等)只能由指定方使用,以避免数据滥用。目前,希望提供一种可避免在TEE中进行数据处理后输出的结果被滥用的方案。In the Trusted Execution Environment (TEE), when the private data of multiple parties is combined for data processing, in addition to the need to restrict the data processing code to avoid data abuse and privacy leakage, there is also a requirement, which is to hope that the TEE The output results (such as models, prediction results, statistical information, etc.) after data processing in the data processing can only be used by the designated party to avoid data abuse. At present, it is desired to provide a solution that can avoid the abuse of the output result after data processing in the TEE.
发明内容Summary of the invention
本说明书实施例之一提供一种数据传输方法,其中,所述方法由数据提供方的设备执行,其包括:获取待处理数据,所述待处理数据用于按可信区域组内的一个或多个可信区域中的数据处理流程被处理成目标数据;获取用于加密至少部分目标数据的秘钥;基于所述待处理数据以及所述秘钥,获得待加密信息;获取来自可信区域组授权系统的组公钥,所述组公钥对应于所述可信区域组;使用所述组公钥加密所述待加密信息,并将加密结果发送给具有所述可信区域内某一可信区域的设备。One of the embodiments of this specification provides a data transmission method, wherein the method is executed by a data provider’s equipment, and includes: obtaining to-be-processed data, and the to-be-processed data is used according to one or The data processing procedures in multiple trusted areas are processed into target data; the secret key used to encrypt at least part of the target data is obtained; the information to be encrypted is obtained based on the to-be-processed data and the secret key; the information to be encrypted is obtained from the trusted area The group public key of the group authorization system, the group public key corresponds to the trusted area group; the group public key is used to encrypt the information to be encrypted, and the encryption result is sent to a certain area in the trusted area. Devices in the trusted zone.
本说明书实施例之一提供一种数据传输系统,其中,包括:待处理数据获取模块,用于获取待处理数据,所述待处理数据用于按可信区域组内的一个或多个可信区域中的数据处理流程被处理成目标数据;秘钥获取模块,用于获取用于加密至少部分目标数据的秘钥;第一待加密信息获得模块,用于基于所述待处理数据以及所述秘钥,获得待加密信息;组公钥获取模块,获取来自可信区域组授权系统的组公钥,所述组公钥对应于所述可信区域组;第一加密模块,用于使用所述组公钥加密所述待加密信息,并将加密结果发送给具有所述可信区域组内的某一可信区域的设备。One of the embodiments of this specification provides a data transmission system, which includes: a to-be-processed data acquisition module for acquiring the to-be-processed data, and the to-be-processed data is used according to one or more credible areas in the credible area group; The data processing flow in the area is processed into target data; the secret key obtaining module is used to obtain the secret key used to encrypt at least part of the target data; the first to-be-encrypted information obtaining module is used to obtain the data based on the to-be-processed data and the The secret key is used to obtain the information to be encrypted; the group public key acquisition module is used to obtain the group public key from the trusted zone group authorization system, the group public key corresponds to the trusted zone group; the first encryption module is used to use all The group public key encrypts the information to be encrypted, and sends the encryption result to a device having a certain trusted zone in the trusted zone group.
本说明书实施例之一提供一种数据传输装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的数据传输方法。One of the embodiments of this specification provides a data transmission device, which includes a processor and a storage device. The storage device is used to store instructions. Data transfer method.
本说明书实施例之一提供一种数据处理方法,其中,所述方法在可信区域组内的某一可信区域中执行,其包括:接收密文;获取来自可信区域组授权系统的组公钥和组私钥,所述组公钥和组私钥与所述可信区域组对应;使用所述组私钥解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥;对所述待处理数据执行数据处理流程,以得到结果数据;基于所述结果数据以及所述秘钥,获得待加密信息;使用所述组私钥加密所述待加密信息,并将加密结果发送给所述可信区域组内的其他可信区域。One of the embodiments of this specification provides a data processing method, wherein the method is executed in a certain trusted zone in a trusted zone group, which includes: receiving a ciphertext; obtaining a group from a trusted zone group authorization system The public key and the group private key, the group public key and the group private key correspond to the trusted zone group; the group private key is used to decrypt the ciphertext to obtain the data to be processed and used to encrypt at least part of the target data The secret key of; the data processing procedure is performed on the data to be processed to obtain the result data; the information to be encrypted is obtained based on the result data and the secret key; the information to be encrypted is encrypted using the set of private keys, and Send the encryption result to other trusted zones in the trusted zone group.
本说明书实施例之一提供一种数据处理系统,其中,所述系统在可信区域组内的某一可信区域中实现,其包括:第一接收模块,用于接收密文;组公私钥获取模块,用于获取来自可信区域组授权系统的组公钥和组私钥,所述组公钥和组私钥与所述可信区域组对应;第一解密模块,用于使用所述组私钥解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥;数据处理模块,用于对所述待处理数据执行数据处理流程,以得到结果数据;第二待加密信息获得模块,用于基于所述结果数据以及所述秘钥,获得待加密信息;第二加密模块,用于使用所述组私钥加密所述待加密信息,并将加密结果发送给所述可信区域组内的其他可信区域。One of the embodiments of this specification provides a data processing system, wherein the system is implemented in a certain trusted zone in a trusted zone group, and includes: a first receiving module for receiving ciphertext; group public and private key The obtaining module is used to obtain the group public key and the group private key from the trusted zone group authorization system, the group public key and the group private key correspond to the trusted zone group; the first decryption module is used to use the The group private key decrypts the ciphertext to obtain the data to be processed and the secret key used to encrypt at least part of the target data; the data processing module is configured to perform a data processing procedure on the data to be processed to obtain the result data; second The information to be encrypted obtaining module is used to obtain the information to be encrypted based on the result data and the secret key; the second encryption module is used to encrypt the information to be encrypted using the group private key and send the encryption result to Other trusted zones in the trusted zone group.
本说明书实施例之一提供一种数据处理装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的数据处理方法。One of the embodiments of this specification provides a data processing device, which includes a processor and a storage device. The storage device is used to store instructions. Data processing method.
本说明书实施例之一提供一种数据授权方法,其中,所述方法在可信区域组内的某一可信区域中执行,其包括:接收密文;获取来自可信区域组授权系统的组私钥,所述组私钥与所述可信区域组对应;使用所述组私钥解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥;基于所述待处理数据获得目标数据;利用所述秘钥加密至少部分目标数据;输出经过加密的至少部分目标数据。One of the embodiments of this specification provides a data authorization method, wherein the method is executed in a certain trusted zone within a trusted zone group, which includes: receiving ciphertext; obtaining a group from the trusted zone group authorization system Private key, the group of private keys corresponds to the trusted zone group; the group of private keys is used to decrypt the ciphertext to obtain the data to be processed and the secret key used to encrypt at least part of the target data; based on the group of private keys The data is processed to obtain target data; the secret key is used to encrypt at least part of the target data; and the encrypted at least part of the target data is output.
本说明书实施例之一提供一种数据授权系统,其中,所述系统在可信区域组内的某一可信区域中实现,其包括:第二接收模块,用于接收密文;组私钥获取模块,用于获取来自可信区域组授权系统的组私钥,所述组私钥与所述可信区域组对应;第二解密模块,用于使用所述组私钥解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥;目标数据获得模块,用于基于所述待处理数据获得目标数据;第三加密模块,用于利用所述秘钥加密至少部分目标数据;输出模块,用于输出经过加密的至少部分目标数据。One of the embodiments of this specification provides a data authorization system, wherein the system is implemented in a certain trusted zone in a trusted zone group, and includes: a second receiving module for receiving ciphertext; a group private key The obtaining module is used to obtain the group private key from the trusted zone group authorization system, where the group private key corresponds to the trusted zone group; the second decryption module is used to decrypt the ciphertext using the group private key , To obtain the data to be processed and a secret key used to encrypt at least part of the target data; a target data obtaining module, to obtain target data based on the to-be-processed data; a third encryption module, to use the secret key to encrypt at least part of the target data Target data; output module for outputting at least part of the encrypted target data.
本说明书实施例之一提供一种数据授权装置,其中,包括处理器和存储设备,所述 存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的数据授权方法。One of the embodiments of this specification provides a data authorization device, which includes a processor and a storage device. The storage device is used to store instructions. When the processor executes the instructions, the implementation is as described in any embodiment of this specification Data authorization method.
附图说明Description of the drawings
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构。This specification will be further described in the form of exemplary embodiments, and these exemplary embodiments will be described in detail with the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same numbers represent the same structures.
图1是根据本说明书一些实施例所示的数据共享系统的应用场景示意图;Fig. 1 is a schematic diagram of an application scenario of a data sharing system according to some embodiments of this specification;
图2是根据本说明书一些实施例所示的数据传输方法的示例性流程图;Fig. 2 is an exemplary flowchart of a data transmission method according to some embodiments of the present specification;
图3是根据本说明书一些实施例所示的数据处理方法的示例性流程图;Fig. 3 is an exemplary flowchart of a data processing method according to some embodiments of the present specification;
图4是根据本说明书一些实施例所示的数据在可信区域组内安全传输的示意图;Fig. 4 is a schematic diagram of secure transmission of data in a trusted zone group according to some embodiments of this specification;
图5是根据本说明书一些实施例所示的数据授权方法的示例性流程图;Fig. 5 is an exemplary flowchart of a data authorization method according to some embodiments of the present specification;
图6是根据本说明书一些实施例所示的数据传输系统的示例性框图;Fig. 6 is an exemplary block diagram of a data transmission system according to some embodiments of the present specification;
图7是根据本说明书一些实施例所示的数据处理系统的示例性框图;Fig. 7 is an exemplary block diagram of a data processing system according to some embodiments of the present specification;
图8是根据本说明书一些实施例所示的数据授权系统的示例性框图。Fig. 8 is an exemplary block diagram of a data authorization system according to some embodiments of the present specification.
具体实施方式Detailed ways
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。In order to more clearly describe the technical solutions of the embodiments of the present specification, the following will briefly introduce the accompanying drawings used in the description of the embodiments. Obviously, the drawings in the following description are only some examples or embodiments of this specification. For those of ordinary skill in the art, without creative work, this specification can also be applied to these drawings. Other similar scenarios. Unless it is obvious from the language environment or otherwise stated, the same reference numerals in the figures represent the same structure or operation.
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。It should be understood that the “system”, “device”, “unit” and/or “module” used herein is a method for distinguishing different components, elements, parts, parts, or assemblies of different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。As shown in this specification and claims, unless the context clearly indicates exceptions, the words "a", "an", "an" and/or "the" do not specifically refer to the singular, but may also include the plural. Generally speaking, the terms "include" and "include" only suggest that the clearly identified steps and elements are included, and these steps and elements do not constitute an exclusive list, and the method or device may also include other steps or elements.
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。In this specification, a flowchart is used to illustrate the operations performed by the system according to the embodiment of this specification. It should be understood that the preceding or following operations are not necessarily performed exactly in order. Instead, the steps can be processed in reverse order or at the same time. At the same time, other operations can be added to these processes, or a certain step or several operations can be removed from these processes.
在一些场景下,需要联合多方的私密数据进行数据处理。例如,数据提供方A持有特征数据,数据提供方B持有私密的标签数据,需要联合两方各自持有的特征数据和标签数据进行模型训练。又如,多个数据提供方持有私密且不同的特征数据,联合多方的特征数据进行模型训练可以提高模型的精度,或者需要联合多方的特征数据进行模型预测。需要说明的是,虽然本说明书中主要以机器学习为例进行了说明,但是本说明书中的原理同样可以应用到其他需要联合多方的私密数据进行数据处理的场景,例如,联合多方的私密数据进行数据统计、数据分析等等。In some scenarios, it is necessary to combine private data from multiple parties for data processing. For example, data provider A holds feature data, and data provider B holds private label data. It is necessary to combine the feature data and label data held by the two parties for model training. For another example, multiple data providers hold private and different feature data, and joint feature data of multiple parties for model training can improve the accuracy of the model, or it is necessary to combine feature data of multiple parties for model prediction. It should be noted that although this manual mainly uses machine learning as an example, the principles in this manual can also be applied to other scenarios that need to combine private data from multiple parties for data processing, for example, to combine private data from multiple parties for data processing. Data statistics, data analysis, etc.
为了避免各方私密数据被泄露和滥用,各方可以将数据加密后上传至具有可信区域的设备(也可称为具备TEE的设备,或简称为TEE设备),TEE设备在可信区域内解密出各方的私密数据,并对各方的私密数据进行数据处理。可信区域内存储有数据处理代码,该代码在可信区域内运行且实现相应的数据处理流程。外界(如,设备的操作系统)无法访问可信区域内的数据和代码,因此,在可信区域内联合各方的私密数据进行数据处理,可以避免各方私密数据被泄露滥用。在一些实施例中,本说明书中提及的可信区域可以包括SGX(Software Guard eXtensions,软件保护拓展)可信执行环境中的Enclave(飞地)。In order to avoid the leakage and abuse of the private data of all parties, the parties can encrypt the data and upload it to a device with a trusted zone (also called a TEE-equipped device, or TEE device for short), and the TEE device is in the trusted zone Decrypt the private data of all parties and perform data processing on the private data of all parties. The data processing code is stored in the trusted zone, and the code runs in the trusted zone and realizes the corresponding data processing flow. The outside world (for example, the operating system of the device) cannot access the data and codes in the trusted zone. Therefore, in the trusted zone, the private data of all parties is combined for data processing, which can prevent the private data of the parties from being leaked and abused. In some embodiments, the trusted area mentioned in this specification may include an enclave in an SGX (Software Guard eXtensions) trusted execution environment.
然后,当在可信区域内处理各方的私密数据得到目标数据后,有时还需要对目标数据的使用权加以限制,以避免目标数据被滥用。换言之,希望目标数据只能由一个或多个指定方使用。例如,目标数据包括模型时,指定方可以包括模型迁移任务中以该模型为初始模型的模型训练方。又如,目标数据包括预测结果时,指定方可以包括预测请求的发起方。又如,目标数据包括可拆分的模型时,可以在可信区域内将该模型拆分成与多个特征方一一对应的多个子模型,其中,每个特征方可作为一个子模型的指定方。进而,多个特征方可使用各自得到的子模型进行联合预测。Then, after processing the private data of all parties in the trusted zone to obtain the target data, sometimes the right to use the target data needs to be restricted to avoid the target data from being abused. In other words, it is expected that the target data can only be used by one or more designated parties. For example, when the target data includes a model, the designated party may include the model trainer that uses the model as the initial model in the model migration task. For another example, when the target data includes the prediction result, the designated party may include the initiator of the prediction request. For another example, when the target data includes a detachable model, the model can be split into multiple sub-models one-to-one corresponding to multiple feature parties in the credible area, where each feature can be used as a sub-model. Designated party. Furthermore, multiple features can use their respective sub-models for joint prediction.
本说明书中的实施例提供了数据传输、处理、授权方法及其系统。各方的私密数据可按一个或多个可信区域内的数据处理流程被处理成目标数据,待处理数据或结果数据在传输至可信区域前始终携来自指定方的秘钥,两者被一并加密,某一可信区域获得目标数据以及解密出的来自指定方的秘钥后,使用该秘钥加密至少部分目标数据,再将使 用该秘钥加密后的至少部分目标数据输出。如此,只有指定方可以解密出所述至少部分目标数据进行使用,可避免目标数据被滥用。The embodiments in this specification provide data transmission, processing, and authorization methods and systems. The private data of each party can be processed into target data according to the data processing flow in one or more trusted areas. The data to be processed or the result data always carry the secret key from the designated party before being transmitted to the trusted area. Encrypted together. After a certain trusted area obtains the target data and the decrypted secret key from the designated party, the secret key is used to encrypt at least part of the target data, and then at least part of the target data encrypted with the secret key is output. In this way, only the designated party can decrypt the at least part of the target data for use, which can prevent the target data from being abused.
图1是根据本说明书一些实施例所示的数据共享系统的应用场景示意图。如图1所示,数据共享系统100可以包括两个以上数据提供方的设备110、具有可信区域的设备120以及网络150。Fig. 1 is a schematic diagram of an application scenario of a data sharing system according to some embodiments of this specification. As shown in FIG. 1, the data sharing system 100 may include devices 110 of more than two data providers, a device 120 with a trusted area, and a network 150.
数据提供方的设备110可以将待处理的私密数据携用于加密至少部分目标数据的秘钥一并加密后,将加密结果上传至具有可信区域的设备120。在一些实施例中,各方的私密数据按一个或多个可信区域内的数据处理流程被处理成目标数据后,数据提供方的设备110可以获取经过加密的至少目标数据,若数据提供方的设备110持有用于解密该至少部分目标数据的秘钥,即可解密出该至少部分目标数据进行使用。The device 110 of the data provider may encrypt the to-be-processed private data with a secret key used to encrypt at least part of the target data, and then upload the encryption result to the device 120 with a trusted area. In some embodiments, after the private data of each party is processed into target data according to the data processing procedures in one or more trusted areas, the device 110 of the data provider can obtain the encrypted at least the target data, if the data provider The device 110 of holds the secret key used to decrypt the at least part of the target data, and can decrypt the at least part of the target data for use.
数据提供方的设备110可以包括各类具有信息接收和/或发送功能的设备。在一些实施例中,数据提供方的设备110可以包括智能电话、平板计算机、膝上型计算机、台式计算机、服务器等中的一种或其任意组合。The device 110 of the data provider may include various devices with information receiving and/or sending functions. In some embodiments, the device 110 of the data provider may include one of a smart phone, a tablet computer, a laptop computer, a desktop computer, a server, etc., or any combination thereof.
在一些实施例中,本说明书中提及的服务器可以是独立的服务器或者服务器组,该服务器组可以是集中式的或者分布式的。在一些实施例中,服务器可以是区域的或者远程的。在一些实施例中,服务器可在云平台上执行。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。In some embodiments, the server mentioned in this specification may be an independent server or a server group, and the server group may be centralized or distributed. In some embodiments, the server may be regional or remote. In some embodiments, the server may be executed on a cloud platform. For example, the cloud platform may include one or any combination of private cloud, public cloud, hybrid cloud, community cloud, decentralized cloud, internal cloud, etc.
具有可信区域的设备120可以包括各类计算设备,如服务器。数据共享系统100可以包括一个或多个具有可信区域的设备。在一些实施例中,具有可信区域的设备120可以获取来自多个数据提供方的密文,在可信区域内解密出来自各方的私密数据(以及用于加密至少部分目标数据的秘钥)并联合各方的私密数据进行数据处理,得到中间结果数据或目标数据。The device 120 with a trusted zone may include various types of computing devices, such as servers. The data sharing system 100 may include one or more devices with trusted zones. In some embodiments, the device 120 with a trusted zone can obtain ciphertexts from multiple data providers, and decrypt private data from all parties in the trusted zone (and the secret key used to encrypt at least part of the target data). ) And combine the private data of all parties for data processing to obtain intermediate result data or target data.
在一些实施例中,各方的私密数据可以按多个可信区域内的数据处理流程被处理为目标数据,获得私密数据的可信区域经数据处理得到中间结果数据后,可以将中间结果数据携解密出的用于加密至少部分目标数据的秘钥一并加密,并将加密结果传输至下一可信区域。每个负责数据处理的可信区域都可按上述流程加密传输数据,直至有可信区域获得目标数据。In some embodiments, the private data of the parties can be processed as target data according to the data processing procedures in multiple trusted regions. After the trusted region that obtains the private data is processed to obtain the intermediate result data, the intermediate result data can be converted to the target data. Encrypt it with the decrypted secret key used to encrypt at least part of the target data, and transmit the encryption result to the next trusted area. Each trusted area responsible for data processing can encrypt and transmit data according to the above process until there is a trusted area to obtain the target data.
在一些实施例中,负责数据处理的可信区域经数据处理得到目标数据后,可用解密出的秘钥加密至少部分目标数据,并输出经过加密的至少部分目标数据。在一些实施例 中,负责数据处理的可信区域经数据处理得到目标数据后,可以将目标数据携用于加密至少部分目标数据的秘钥一并加密后,将加密结果发送给负责数据授权的可信区域。负责数据授权的可信区域解密出目标数据以及用于加密至少部分目标数据的秘钥后,可用解密出的秘钥加密至少部分目标数据,并输出经过加密的至少部分目标数据。In some embodiments, after the trusted area responsible for data processing obtains target data through data processing, at least part of the target data can be encrypted with the decrypted secret key, and at least part of the encrypted target data is output. In some embodiments, after the trusted area responsible for data processing obtains the target data through data processing, the target data can be encrypted with the secret key used to encrypt at least part of the target data, and the encryption result is sent to the person responsible for data authorization. Trusted zone. After the trusted area responsible for data authorization decrypts the target data and the secret key used to encrypt at least part of the target data, the decrypted secret key can be used to encrypt at least part of the target data and output the encrypted at least part of the target data.
值得说明的是,同一设备上可以创建一个可信区域,也可以创建多个可信区域。例如,可以在设备120上同时创建可信区域E1、可信区域E2和可信区域E3。换句话说,多个可信区域可以位于同一设备上,也可以分别部署于不同的设备上。It is worth noting that one trusted zone or multiple trusted zones can be created on the same device. For example, the trusted zone E1, the trusted zone E2, and the trusted zone E3 can be created on the device 120 at the same time. In other words, multiple trusted zones can be located on the same device, or they can be deployed on different devices.
在一些实施例中,数据共享系统100还可以包括第三方设备130。第三方设备130可以获取经过加密的至少部分目标数据,若第三方设备130持有用于解密该至少部分目标数据的秘钥,即可解密出该至少部分目标数据进行使用。例如,第三方设备130可以获取用第三方设备130的公钥加密的模型,进而可用第三方设备130本地的私钥解密出模型进行使用,具体地,可以将解密出的模型作为初始模型继续进行模型训练。In some embodiments, the data sharing system 100 may also include a third-party device 130. The third-party device 130 can obtain at least part of the encrypted target data. If the third-party device 130 holds a secret key for decrypting the at least part of the target data, it can decrypt the at least part of the target data for use. For example, the third-party device 130 may obtain a model encrypted with the public key of the third-party device 130, and then use the local private key of the third-party device 130 to decrypt the model for use. Specifically, the decrypted model may be used as the initial model. Model training.
第三方设备130可以包括各类具有信息接收和/或发送功能的设备。在一些实施例中,数据提供方的设备110可以包括智能电话、平板计算机、膝上型计算机、台式计算机、服务器等中的一种或其任意组合。The third-party device 130 may include various devices with information receiving and/or sending functions. In some embodiments, the device 110 of the data provider may include one of a smart phone, a tablet computer, a laptop computer, a desktop computer, a server, etc., or any combination thereof.
在一些实施例中,数据共享系统100还可以包括可信区域组授权系统140。当基于多方私密数据的数据处理及数据授权的任务(以下简称数据共享任务)由多个可信区域(逻辑上组成一个可信区域组)共同负责时,可信区域组授权系统140可以为同组的可信区域提供统一的用于数据加密/解密的秘钥,如包括组公钥和组私钥的公私钥对,以便数据在可信区域组内的安全传输。In some embodiments, the data sharing system 100 may also include a trusted zone group authorization system 140. When the task of data processing and data authorization based on multi-party private data (hereinafter referred to as the data sharing task) is jointly responsible by multiple trusted regions (logically forming a trusted region group), the trusted region group authorization system 140 can be the same The trusted zone of the group provides a unified secret key for data encryption/decryption, such as a public-private key pair including a group public key and a group private key, so that data can be safely transmitted within the trusted zone group.
具体地,可信区域组授权系统140可以获取待组网的多个可信区域的标识信息(也可称为签名信息),为所述多个可信区域组成的可信区域组生成公私钥对,将所述多个可信区域的签名信息以及所述公私钥对保存为所述可信区域组的组别信息。可信区域组授权系统140可以保存多个可信区域组的组别信息,不同的可信区域组可以负责不同的数据共享任务。相应地,准备启动同一数据共享任务的各数据提供方的设备110可以向可信区域组授权系统140获取该数据共享任务对应的组别信息,需要注意的是,数据提供方的设备110获取的组别信息是缺少组私钥的。进而,各数据提供方的设备110可以用该组别信息中的公钥加密待加密信息,并将加密结果上传至具有该组别信息中某一签名信息对应的可信区域的设备120。Specifically, the trusted zone group authorization system 140 can obtain identification information (also called signature information) of multiple trusted zones to be networked, and generate public and private keys for the trusted zone group composed of the multiple trusted zones. Yes, save the signature information of the multiple trusted regions and the public-private key pair as the group information of the trusted region group. The trusted zone group authorization system 140 can store group information of multiple trusted zone groups, and different trusted zone groups can be responsible for different data sharing tasks. Correspondingly, the device 110 of each data provider preparing to start the same data sharing task can obtain the group information corresponding to the data sharing task from the trusted area group authorization system 140. It should be noted that the device 110 of the data provider obtains The group information lacks the group private key. Furthermore, the device 110 of each data provider may encrypt the information to be encrypted with the public key in the group information, and upload the encryption result to the device 120 having a trusted area corresponding to a certain signature information in the group information.
在一些实施例中,可信区域的标识信息可以包括预期在该可信区域内运行的代码的哈希值。可信区域组内的各可信区域在执行数据共享任务(运行代码)之前,具有组内可信区域的设备可以向可信区域组授权系统140发起远程认证,远程认证通过后再执行数据共享任务。远程认证过程中,具有组内可信区域的设备可以向可信区域组授权系统140提交可信区域中运行的代码的哈希值,可信区域组授权系统140获取预先保存的组别信息中该可信区域的代码的哈希值,比对两个哈希值可验证该可信区域中是否会运行预期的代码,若哈希值不一致,则远程认证不通过。可信区域组授权系统140可以在远程认证通过后再将组别信息中的公私钥对发送给对应的可信区域组内的各可信区域。In some embodiments, the identification information of the trusted zone may include the hash value of the code expected to run in the trusted zone. Before each trusted area in the trusted area group executes the data sharing task (running code), the device with the trusted area in the group can initiate remote authentication to the trusted area group authorization system 140, and then perform data sharing after the remote authentication is passed. Task. During the remote authentication process, the device with the trusted zone in the group can submit the hash value of the code running in the trusted zone to the trusted zone group authorization system 140, and the trusted zone group authorization system 140 obtains the pre-stored group information The hash value of the code in the trusted area can be compared with the two hash values to verify whether the expected code will run in the trusted area. If the hash values are inconsistent, the remote authentication fails. The trusted zone group authorization system 140 may send the public and private key pair in the group information to each trusted zone in the corresponding trusted zone group after the remote authentication is passed.
网络150连接系统100的各组成部分,使得各部分之间可以进行通讯。在系统100中各部分之间的网络150可以包括有线网络和/或无线网络。例如,网络150可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等中的一种或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。The network 150 connects the various components of the system 100 so that communication between the various components can be carried out. The network 150 between the various parts in the system 100 may include a wired network and/or a wireless network. For example, the network 150 may include a cable network, a wired network, an optical fiber network, a telecommunications network, an internal network, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), public One or any combination of switched telephone network (PSTN), Bluetooth network, ZigBee network (ZigBee), near field communication (NFC), intra-device bus, intra-device wiring, cable connection, etc. The network connection between each two parts can be in one of the above-mentioned ways, or in multiple ways.
图2是根据本说明书一些实施例所示的数据传输方法的示例性流程图。流程200可以由数据提供方的设备110执行。如图2所示,流程200可以包括:Fig. 2 is an exemplary flowchart of a data transmission method according to some embodiments of the present specification. The process 200 may be executed by the device 110 of the data provider. As shown in Figure 2, the process 200 may include:
步骤210,获取待处理数据,所述待处理数据用于按可信区域组(记为E)内的一个或多个可信区域中的数据处理流程被处理成目标数据。在一些实施例中,步骤210可以由待处理数据获取模块610实现。Step 210: Obtain to-be-processed data, where the to-be-processed data is used to be processed into target data according to the data processing flow in one or more trusted regions in the trusted region group (denoted as E). In some embodiments, step 210 may be implemented by the to-be-processed data acquisition module 610.
步骤210中,待处理数据即数据提供方的私密数据。例如,在有关模型训练的数据共享任务中,所述待处理数据可以包括数据提供方持有的私密的特征数据和/或标签数据,相应地,目标数据可以包括经样本数据(包括各方的特征数据和/或标签数据)训练得到的模型和/或模型信息,其中,模型信息可以包括与模型相关的信息,如模型性能参数、梯度信息等。In step 210, the data to be processed is the private data of the data provider. For example, in a data sharing task related to model training, the to-be-processed data may include private feature data and/or label data held by the data provider. Accordingly, the target data may include sample data (including data from all parties). Feature data and/or label data) the model and/or model information obtained through training, where the model information may include information related to the model, such as model performance parameters, gradient information, and so on.
步骤220,获取用于加密至少部分目标数据的秘钥。在一些实施例中,步骤220可以由秘钥获取模块620实现。Step 220: Obtain a secret key used to encrypt at least part of the target data. In some embodiments, step 220 may be implemented by the secret key acquisition module 620.
所述秘钥用于加密至少部分目标数据,以防止该至少部分目标数据被滥用,相应地,解密秘钥的持有者可以解密出该至少部分目标数据进行使用。在一些实施例中,所述秘 钥可以包括来自数据提供方的公钥和/或来自第三方设备130的公钥。The secret key is used to encrypt at least part of the target data to prevent the at least part of the target data from being misused. Accordingly, the holder of the decryption key can decrypt the at least part of the target data for use. In some embodiments, the secret key may include a public key from a data provider and/or a public key from a third-party device 130.
例如,加密至少部分目标数据的秘钥可以是某一数据提供方的公钥或者来自第三方设备130的公钥。如此,只有该数据提供方的设备110或第三方设备130可以用本地的私钥解密出该至少部分目标数据进行使用。另外,当至少部分目标数据只能由一个指定方使用,而同一数据共享任务中各数据提供方又没有提供相同的用于加密所述至少部分目标数据的秘钥时,具有可信区域的设备120可以拒绝执行数据共享任务,且可以向数据提供方反馈任务执行失败。当参与同一数据共享任务的多个数据提供方中仅部分数据提供方提供了相同的用于加密至少部分目标数据的秘钥,而所述多个数据提供方中的剩余数据提供方未提供用于加密所述至少部分目标数据的秘钥时,具有可信区域的设备120可以基于接收到的用于加密所述至少部分目标数据的秘钥继续执行数据共享任务。For example, the secret key for encrypting at least part of the target data may be the public key of a certain data provider or the public key from the third-party device 130. In this way, only the device 110 of the data provider or the third-party device 130 can use the local private key to decrypt the at least part of the target data for use. In addition, when at least part of the target data can only be used by one designated party, and each data provider in the same data sharing task does not provide the same secret key for encrypting the at least part of the target data, a device with a trusted zone 120 may refuse to perform the data sharing task, and may feedback the task execution failure to the data provider. When only some of the multiple data providers participating in the same data sharing task provide the same secret key for encrypting at least part of the target data, and the remaining data providers of the multiple data providers do not provide any When encrypting the secret key of the at least part of the target data, the device 120 with the trusted zone may continue to perform the data sharing task based on the received secret key used to encrypt the at least part of the target data.
又如,目标数据可以被拆分成多个部分,每部分指定一方可以使用。相应地,所述秘钥可以包括来自多方的公钥,且来自任一方的公钥对应部分目标数据,具有可信区域的设备120可以将目标数据拆分成多个部分,并用来自多方的公钥分别加密目标数据中对应的部分。进而,任一方可用本地的私钥解密出部分目标数据进行使用。具体地,在有关模型训练的数据共享任务中,具有可信区域的设备120可以将模型拆分成多个子模型,并用来自各特征方的公钥分别加密各子模型,其中,各特征方持有的特征数据不同。进而,任一特征方可用本地的私钥解密出子模型进行使用,即,各特征方可以基于各自解密出的子模型进行多方联合预测。For another example, the target data can be split into multiple parts, and each part can be used by a designated party. Correspondingly, the secret key may include public keys from multiple parties, and the public key from any party corresponds to part of the target data. The device 120 with the trusted area can split the target data into multiple parts and use the public keys from multiple parties. The key respectively encrypts the corresponding part of the target data. Furthermore, either party can use the local private key to decrypt part of the target data for use. Specifically, in a data sharing task related to model training, the device 120 with a trusted region can split the model into multiple sub-models, and encrypt each sub-model with the public key from each feature party, where each feature party holds Some characteristic data are different. Furthermore, any feature party can use the local private key to decrypt the sub-model for use, that is, each feature party can perform multi-party joint prediction based on the sub-model decrypted by each feature party.
步骤230,基于所述待处理数据以及所述秘钥,获得待加密信息。在一些实施例中,步骤230可以由第一待加密信息获得模块630实现。Step 230: Obtain information to be encrypted based on the data to be processed and the secret key. In some embodiments, step 230 may be implemented by the first to-be-encrypted information obtaining module 630.
在一些实施例中,第一待加密信息获得模块630可以对所述待处理数据以及所述秘钥进行数据打包,得到待加密信息。In some embodiments, the first to-be-encrypted information obtaining module 630 may perform data packaging on the to-be-processed data and the secret key to obtain the to-be-encrypted information.
步骤240,获取来自可信区域组授权系统140的组公钥(记为Pk_E),组公钥Pk_E对应于可信区域组E。在一些实施例中,步骤240可以由组公钥获取模块640实现。Step 240: Obtain the group public key (denoted as Pk_E) from the trusted zone group authorization system 140, and the group public key Pk_E corresponds to the trusted zone group E. In some embodiments, step 240 may be implemented by the group public key acquisition module 640.
关于组公钥的获取细节,可以参考图1披露的可信区域组授权系统140的相关描述。For details of obtaining the group public key, reference may be made to the relevant description of the trusted zone group authorization system 140 disclosed in FIG. 1.
步骤250,利用组公钥Pk_E对所述待加密信息进行加密,并将加密结果发送给具有可信区域组E中的某一可信区域的设备120。在一些实施例中,步骤250可以由第一加密模块650实现。Step 250: Use the group public key Pk_E to encrypt the information to be encrypted, and send the encryption result to the device 120 having a certain trusted zone in the trusted zone group E. In some embodiments, step 250 may be implemented by the first encryption module 650.
关于数据在可信区域组内的安全传输,可以参考图3、图4及其相关描述。Regarding the secure transmission of data within the trusted zone group, please refer to Figure 3, Figure 4 and related descriptions.
图3是根据本说明书一些实施例所示的数据处理方法的示例性流程图。流程300在可信区域组(记为E)内的某一可信区域中执行,为了避免混淆,此处的某一可信区域可记为当前可信区域。如图3所示,流程300可以包括:Fig. 3 is an exemplary flowchart of a data processing method according to some embodiments of the present specification. The process 300 is executed in a certain trusted zone in the trusted zone group (denoted as E). In order to avoid confusion, a certain trusted zone here can be recorded as the current trusted zone. As shown in FIG. 3, the process 300 may include:
步骤310,接收密文。在一些实施例中,步骤310可以由第一接收模块710实现。Step 310: Receive the ciphertext. In some embodiments, step 310 may be implemented by the first receiving module 710.
步骤320,获取来自可信区域组授权系统140的组公钥(记为Pk_E)和组私钥(记为Pr_E),组公钥Pk_E和组私钥Pr_E与可信区域组E对应。在一些实施例中,步骤320可以由组公私钥获取模块720实现。Step 320: Obtain the group public key (denoted as Pk_E) and the group private key (denoted as Pr_E) from the trusted zone group authorization system 140. The group public key Pk_E and the group private key Pr_E correspond to the trusted zone group E. In some embodiments, step 320 may be implemented by the group public and private key acquisition module 720.
关于组公钥和组私钥的获取细节,可以参考图1披露的可信区域组授权系统140的相关描述。For details of obtaining the group public key and the group private key, reference may be made to the relevant description of the trusted zone group authorization system 140 disclosed in FIG. 1.
步骤330,利用组私钥Pr_E解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥。在一些实施例中,步骤320可以由第一解密模块730实现。Step 330: Decrypt the ciphertext using the group private key Pr_E to obtain the data to be processed and the secret key used to encrypt at least part of the target data. In some embodiments, step 320 may be implemented by the first decryption module 730.
在一些实施例中,所述密文可以来自数据提供方的设备110,其对应的明文包括来自数据提供方的待处理数据(即私密数据)和用于加密至少部分目标数据的秘钥。在一些实施例中,所述密文可以来自可信区域组E内的其他可信区域,如上一个负责数据处理的可信区域。In some embodiments, the ciphertext may come from the device 110 of the data provider, and the corresponding plaintext includes the data to be processed (ie, private data) from the data provider and a secret key used to encrypt at least part of the target data. In some embodiments, the ciphertext may come from other trusted regions in the trusted region group E, such as the previous trusted region responsible for data processing.
在一些实施例中,所述秘钥可以包括来自数据提供方的公钥和/或来自第三方设备130的公钥。In some embodiments, the secret key may include a public key from a data provider and/or a public key from a third-party device 130.
步骤340,对所述待处理数据执行数据处理流程,以得到结果数据。在一些实施例中,步骤340可以由数据处理模块740实现。Step 340: Perform a data processing procedure on the to-be-processed data to obtain result data. In some embodiments, step 340 may be implemented by the data processing module 740.
在一些实施例中,结果数据可以指在获得目标数据之前由某一可信区域中的数据处流程获得的处理结果(以下简称中间结果数据),也可以指由某一可信区域中的数据处流程获得的作为目标数据的处理结果。In some embodiments, the result data may refer to the processing result obtained by the data processing process in a certain trusted area (hereinafter referred to as the intermediate result data) before the target data is obtained, or it may refer to the data in a certain trusted area The processing result obtained by the processing process as the target data.
在一些实施例中,任一可信区域中的数据处理流程可以包括数据融合流程,数据融合流程可用于将来自多个数据提供方的待处理数据进行融合。例如,在有监督学习中,数据融合流程可用于融合各方的特征数据和标签数据。又如,在无监督学习中,数据融合流程可用于融合各方的特征数据。在一些实施例中,任一可信区域中的数据处理流程可以包括模型训练流程,模型训练流程可用于利用样本数据对模型进行训练。模型训练流程可以采用各类模型训练算法,例如,线性回归算法、逻辑回归算法、XGBoost(eXtreme Gradient Boosting,极端梯度提升)算法、梯度下降算法等中的一种或其任意组合。数 据处理流程还可以是其他与机器学习模型无关的处理过程,本说明书对此不做任何限定。In some embodiments, the data processing procedure in any trusted area may include a data fusion procedure, and the data fusion procedure may be used to merge the to-be-processed data from multiple data providers. For example, in supervised learning, the data fusion process can be used to fuse the feature data and label data of all parties. For another example, in unsupervised learning, the data fusion process can be used to fuse the characteristic data of all parties. In some embodiments, the data processing procedure in any trusted region may include a model training procedure, and the model training procedure may be used to train the model using sample data. The model training process may use various model training algorithms, for example, linear regression algorithm, logistic regression algorithm, XGBoost (eXtreme Gradient Boosting, extreme gradient boosting) algorithm, gradient descent algorithm, etc., or any combination thereof. The data processing procedure can also be other processing procedures that have nothing to do with the machine learning model, which is not limited in this specification.
步骤350,基于所述结果数据以及所述秘钥,获得待加密信息。在一些实施例中,步骤350可以由第二待加密信息获得模块750实现。Step 350: Obtain information to be encrypted based on the result data and the secret key. In some embodiments, step 350 may be implemented by the second to-be-encrypted information obtaining module 750.
在一些实施例中,第二待加密信息获得模块750可以对所述结果数据以及所述秘钥进行数据打包,得到所述待加密信息。In some embodiments, the second to-be-encrypted information obtaining module 750 may perform data packaging on the result data and the secret key to obtain the to-be-encrypted information.
步骤360,利用组公钥Pk_E加密所述待加密信息,并将加密结果发送给可信区域组E内的其他可信区域。在一些实施例中,步骤360可以由第二加密模块760实现。Step 360: Use the group public key Pk_E to encrypt the information to be encrypted, and send the encryption result to other trusted areas in the trusted area group E. In some embodiments, step 360 may be implemented by the second encryption module 760.
在一些实施例中,结果数据为中间结果数据,第二加密模块760可以将加密结果从当前可信区域向可信区域组E内下一个负责数据处理的可信区域发送。在一些实施例中,结果数据为目标数据,第二加密模块760可以将加密结果从当前可信区域向可信区域组E内负责数据授权的可信区域发送。In some embodiments, the result data is intermediate result data, and the second encryption module 760 may send the encryption result from the current trusted zone to the next trusted zone in the trusted zone group E that is responsible for data processing. In some embodiments, the result data is target data, and the second encryption module 760 may send the encryption result from the current trusted zone to the trusted zone in the trusted zone group E that is responsible for data authorization.
仅作为示例,如图4所示,负责数据共享任务的可信区域组E包含三个可信区域(可信区域E1、可信区域E2和可信区域E3),来自数据提供方A的待处理数据data_A和来自数据提供方B的待处理数据data_B按可信区域E1和可信区域E2中的数据处理流程被处理,得到目标数据S,可信区域E3可负责目标数据的发布,用于加密目标数据S的秘钥为来自第三方设备130的公钥PubKey_S,可信区域组E对应的组公钥和组私钥分别为PubKey_E和PriKey_E。基于此,数据在可信区域组E内的安全传输过程可包括:1.在可信区域E1中,接收来自数据提供方A的密文M1,密文M1对应的明文包括来自数据提供方A的待处理数据data_A以及来自第三方设备130的公钥PubKey_S,接收来自数据提供方B的密文M2,密文M2对应的明文包含来自数据提供方B的待处理数据data_B以及来自第三方设备130的公钥PubKey_S,其中,密文M1和密文M2都是用组公钥PubKey_E加密的,所以用组私钥PriKey_E解密密文M1和密文M2可得到待处理数据data_A、待处理数据data_B以及公钥PubKey_S,待处理数据data_A和待处理数据data_B经处理后得到中间结果数据data_M,用组公钥PubKey_E加密包含中间结果数据data_M以及公钥PubKey_S在内的明文后,得到密文M3并将M3发送给可信区域E2;2.在可信区域E2中,接收密文M3,用组私钥PriKey_E解密密文M3可得到中间结果数据data_M以及公钥PubKey_S,中间结果数据data_M经处理后得到目标数据data_S,用组公钥PubKey_E加密包含目标数据data_S以及公钥PubKey_S在内的明文后,得到密文M4并将M4发送给可信区域E3;在可信区域E3中,接收密文M4,解密密文M4可得到目标数据data_S以及公钥PubKey_S,用公钥PubKey_S加密目标数 据data_S得到密文M5,输出密文M5。由于密文M5是用来自第三方设备130的公钥PubKey_S加密的,第三方设备130可用本地保存的与公钥PubKey_S匹配的私钥解密密文M5,得到目标数据data_S进行使用。For example only, as shown in Figure 4, the trusted zone group E responsible for the data sharing task contains three trusted zones (trusted zone E1, trusted zone E2, and trusted zone E3). The processed data data_A and the to-be-processed data data_B from the data provider B are processed according to the data processing procedures in the trusted area E1 and the trusted area E2 to obtain the target data S. The trusted area E3 can be responsible for the release of the target data for The secret key of the encrypted target data S is the public key PubKey_S from the third-party device 130, and the group public key and the group private key corresponding to the trusted zone group E are PubKey_E and PriKey_E, respectively. Based on this, the secure transmission process of data in the trusted zone group E may include: 1. In the trusted zone E1, receiving the ciphertext M1 from the data provider A, and the plaintext corresponding to the ciphertext M1 includes the plaintext from the data provider A. The to-be-processed data data_A and the public key PubKey_S from the third-party device 130 receive the ciphertext M2 from the data provider B. The plaintext corresponding to the ciphertext M2 contains the to-be-processed data data_B from the data provider B and the third-party device 130 The public key PubKey_S, where the ciphertext M1 and ciphertext M2 are both encrypted with the group public key PubKey_E, so decrypt the ciphertext M1 and ciphertext M2 with the group private key PriKey_E to obtain the data to be processed data_A, the data to be processed data_B, and The public key PubKey_S, the data to be processed data_A and data_B are processed to obtain the intermediate result data data_M. After the group public key PubKey_E encrypts the plain text including the intermediate result data data_M and the public key PubKey_S, the ciphertext M3 and M3 are obtained. Send to the trusted area E2; 2. In the trusted area E2, receive the ciphertext M3, decrypt the ciphertext M3 with the group private key PriKey_E to obtain the intermediate result data data_M and the public key PubKey_S, the intermediate result data data_M is processed to obtain the target Data data_S, use the group public key PubKey_E to encrypt the plaintext including the target data data_S and the public key PubKey_S, get the ciphertext M4 and send M4 to the trusted zone E3; in the trusted zone E3, receive the ciphertext M4 and decrypt it The ciphertext M4 can obtain the target data data_S and the public key PubKey_S, the target data data_S is encrypted with the public key PubKey_S to obtain the ciphertext M5, and the ciphertext M5 is output. Since the ciphertext M5 is encrypted with the public key PubKey_S from the third-party device 130, the third-party device 130 can decrypt the ciphertext M5 with the private key that matches the public key PubKey_S stored locally, and obtain the target data data_S for use.
图5是根据本说明书一些实施例所示的数据授权方法的示例性流程图。流程500在可信区域组(记为E)内的某一可信区域中执行,为了避免混淆,此处的某一可信区域可称为目标可信区域。如图5所示,流程500可以包括:Fig. 5 is an exemplary flowchart of a data authorization method according to some embodiments of the present specification. The process 500 is executed in a certain trusted zone in the trusted zone group (denoted as E). In order to avoid confusion, a certain trusted zone here may be referred to as a target trusted zone. As shown in FIG. 5, the process 500 may include:
步骤510,接收密文。在一些实施例中,步骤510可以由第二接收模块810实现。Step 510, receive the ciphertext. In some embodiments, step 510 may be implemented by the second receiving module 810.
步骤520,获取来自可信区域组授权系统140的组私钥(记为Pr_E),组私钥Pr_E与可信区域组E对应。在一些实施例中,步骤520可以由组私钥获取模块820实现。Step 520: Obtain a group private key (denoted as Pr_E) from the trusted zone group authorization system 140, and the group private key Pr_E corresponds to the trusted zone group E. In some embodiments, step 520 may be implemented by the group private key acquisition module 820.
关于组私钥的获取细节,可以参考图1披露的可信区域组授权系统140的相关描述。For details of obtaining the group private key, reference may be made to the relevant description of the trusted zone group authorization system 140 disclosed in FIG. 1.
步骤530,利用组私钥Pr_E解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥。在一些实施例中,步骤530可以由第二解密模块830实现。Step 530: Use the group private key Pr_E to decrypt the ciphertext to obtain the data to be processed and the secret key used to encrypt at least part of the target data. In some embodiments, step 530 may be implemented by the second decryption module 830.
当数据共享任务由包含目标可信区域的可信区域组E执行时,所述密文可来自可信区域组E内的其他可信区域,其对应的明文包括来自所述其他可信区域的待处理数据(即结果数据)以及用于加密至少部分目标数据的秘钥。所述密文是用可信区域组E对应的组公钥Pk_E加密所述明文得到的,因此,第二解密模块830可以用可信区域组E对应的组私钥Pr_E解密所述密文,得到所述待处理数据以及用所述秘钥。When the data sharing task is performed by the trusted zone group E that contains the target trusted zone, the ciphertext can come from other trusted zones in the trusted zone group E, and the corresponding plaintext includes the trusted zone from the other trusted zone. The data to be processed (ie the result data) and the secret key used to encrypt at least part of the target data. The ciphertext is obtained by encrypting the plaintext with the group public key Pk_E corresponding to the trusted zone group E. Therefore, the second decryption module 830 can decrypt the ciphertext with the group private key Pr_E corresponding to the trusted zone group E, Obtain the data to be processed and use the secret key.
步骤540,基于所述待处理数据获得目标数据。在一些实施例中,步骤540可以由目标数据获得模块840实现。Step 540: Obtain target data based on the to-be-processed data. In some embodiments, step 540 may be implemented by the target data obtaining module 840.
在一些实施例中,目标可信区域中解密出的待处理数据可以是目标数据,例如,如图4所示,在负责数据授权的可信区域E3中可解密出目标数据data_S。即,目标数据获得模块830可以直接将所述待处理数据确定为目标数据。In some embodiments, the to-be-processed data decrypted in the target trusted area may be target data. For example, as shown in FIG. 4, the target data data_S can be decrypted in the trusted area E3 responsible for data authorization. That is, the target data obtaining module 830 may directly determine the to-be-processed data as target data.
在一些实施例中,目标可信区域中解密出的待处理数据可以是中间结果数据,目标数据获得模块830可以对所述待处理数据执行数据处理流程,以获得目标数据。In some embodiments, the to-be-processed data decrypted in the target trusted area may be intermediate result data, and the target data obtaining module 830 may perform a data processing procedure on the to-be-processed data to obtain the target data.
在一些实施例中,所述目标数据可包括经样本数据训练得到的模型和/或模型信息,其中,所述样本数据可以通过融合来自各数据提供方的特征数据和/或标签数据得到,模型信息可以包括与模型相关的信息,如模型性能参数、梯度信息等。In some embodiments, the target data may include a model and/or model information obtained through sample data training, where the sample data may be obtained by fusing feature data and/or label data from various data providers, and the model The information may include information related to the model, such as model performance parameters, gradient information, and so on.
步骤550,利用所述秘钥加密至少部分目标数据。在一些实施例中,步骤550可以 由第三加密模块850实现。Step 550: Use the secret key to encrypt at least part of the target data. In some embodiments, step 550 may be implemented by the third encryption module 850.
步骤560,输出经过加密的至少部分目标数据。在一些实施例中,步骤560可以由输出模块860实现。Step 560: Output at least part of the encrypted target data. In some embodiments, step 560 may be implemented by the output module 860.
所述秘钥用于加密至少部分目标数据,即,能够使用所述至少部分目标数据的一方应持有相应的解密秘钥才可解密出所述至少部分目标数据。The secret key is used to encrypt at least part of the target data, that is, a party capable of using the at least part of the target data should hold the corresponding decryption key to decrypt the at least part of the target data.
在一些实施例中,所述秘钥可以包括来自数据提供方的公钥和/或来自第三方设备130的公钥。In some embodiments, the secret key may include a public key from a data provider and/or a public key from a third-party device 130.
在一些实施例中,所述秘钥可以包括来自多方的公钥。第三加密模块850可以将所述目标数据拆分为多个部分,并分别用来自多方的公钥分别加密目标数据中对应的部分。以目标数据为可拆分的模型为例,第三加密模块850可以将完整模型拆分为多个子模型,每个子模型可对应一个特征方(各特征方持有不同的特征数据)。针对每个子模型,第三加密模块850可以用来自该特征方的公钥加密该特征方对应的子模型。如此,每个特征方获得经过加密的子模型后,可以用本地的私钥解密出自身对应的子模型进行使用。In some embodiments, the secret key may include public keys from multiple parties. The third encryption module 850 may split the target data into multiple parts, and use public keys from multiple parties to respectively encrypt corresponding parts of the target data. Taking the target data as a splittable model as an example, the third encryption module 850 may split the complete model into multiple sub-models, and each sub-model may correspond to a feature party (each feature party holds different feature data). For each sub-model, the third encryption module 850 can encrypt the sub-model corresponding to the feature party with the public key from the feature party. In this way, after each feature party obtains the encrypted sub-model, it can use the local private key to decrypt its corresponding sub-model for use.
应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。It should be noted that the above description of the related process is only for example and description, and does not limit the scope of application of this specification. For those skilled in the art, various modifications and changes can be made to the process under the guidance of this specification. However, these corrections and changes are still within the scope of this specification.
图6是根据本说明书一些实施例所示的数据传输系统的示例性框图。系统600可以在数据提供方的设备110上实现。如图6所示,系统600可以包括待处理数据获取模块610、秘钥获取模块620、第一待加密信息获得模块630、组公钥获取模块640和第一加密模块650。Fig. 6 is an exemplary block diagram of a data transmission system according to some embodiments of the present specification. The system 600 may be implemented on the device 110 of the data provider. As shown in FIG. 6, the system 600 may include a to-be-processed data acquisition module 610, a secret key acquisition module 620, a first to-be-encrypted information acquisition module 630, a group public key acquisition module 640, and a first encryption module 650.
在一些实施例中,待处理数据获取模块610可以用于获取待处理数据,所述待处理数据用于按可信区域组(记为E)内的一个或多个可信区域中的数据处理流程被处理成目标数据。In some embodiments, the to-be-processed data acquisition module 610 may be used to acquire the to-be-processed data, which is used for data processing in one or more trusted regions in the trusted region group (denoted as E) The process is processed into target data.
在一些实施例中,秘钥获取模块620可用于获取用于加密至少部分目标数据的秘钥。In some embodiments, the secret key obtaining module 620 may be used to obtain a secret key used to encrypt at least part of the target data.
在一些实施例中,第一待加密信息获得模块630可以用于基于所述待处理数据以及所述秘钥,获得待加密信息。In some embodiments, the first to-be-encrypted information obtaining module 630 may be configured to obtain the to-be-encrypted information based on the to-be-processed data and the secret key.
在一些实施例中,组公钥获取模块640可以用于获取来自可信区域组授权系统140的组公钥(记为Pk_E),组公钥Pk_E对应于可信区域组E。In some embodiments, the group public key acquisition module 640 may be used to acquire the group public key (denoted as Pk_E) from the trusted zone group authorization system 140, and the group public key Pk_E corresponds to the trusted zone group E.
在一些实施例中,第一加密模块650可以用于使用组公钥Pk_E加密所述待加密信息,并将加密结果发送给具有可信区域组E内的某一可信区域的设备120。In some embodiments, the first encryption module 650 may be used to encrypt the information to be encrypted using the group public key Pk_E, and send the encryption result to the device 120 having a certain trusted zone in the trusted zone group E.
关于系统600及其模块的更多细节,可以参考图2及其相关描述。For more details about the system 600 and its modules, please refer to FIG. 2 and related descriptions.
图7是根据本说明书一些实施例所示的数据处理系统的示例性框图。系统700可在可信区域组(记为E)内的某一可信区域中实现。如图7所示,系统700可以包括第一接收模块710、组公私钥获取模块720、第一解密模块730、数据处理模块740、第二待加密信息获得模块750和第二加密模块760。Fig. 7 is an exemplary block diagram of a data processing system according to some embodiments of the present specification. The system 700 can be implemented in a certain trusted zone in the trusted zone group (denoted as E). As shown in FIG. 7, the system 700 may include a first receiving module 710, a group public and private key acquisition module 720, a first decryption module 730, a data processing module 740, a second to-be-encrypted information acquisition module 750, and a second encryption module 760.
在一些实施例中,第一接收模块710可以用于接收密文。In some embodiments, the first receiving module 710 may be used to receive ciphertext.
在一些实施例中,组公私钥获取模块720可以用于获取来自可信区域组授权系统140的组公钥(记为Pk_E)和组私钥(记为Pr_E),组公钥Pk_E和组私钥Pr_E与可信区域组E对应。In some embodiments, the group public and private key acquisition module 720 may be used to obtain the group public key (denoted as Pk_E) and the group private key (denoted as Pr_E) from the trusted zone group authorization system 140, the group public key Pk_E and the group private key. The key Pr_E corresponds to the trusted zone group E.
在一些实施例中,第一解密模块730可以用于利用组私钥Pr_E解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥。In some embodiments, the first decryption module 730 may be used to decrypt the ciphertext using the group private key Pr_E to obtain the data to be processed and the secret key used to encrypt at least part of the target data.
在一些实施例中,数据处理模块740可以用于对所述待处理数据执行数据处理流程,以得到结果数据。In some embodiments, the data processing module 740 may be used to perform a data processing procedure on the to-be-processed data to obtain result data.
在一些实施例中,第二待加密信息获得模块750可以用于基于所述结果数据以及所述秘钥,获得待加密信息。In some embodiments, the second to-be-encrypted information obtaining module 750 may be used to obtain the to-be-encrypted information based on the result data and the secret key.
在一些实施例中,第二加密模块760可以用于利用组公钥Pk_E加密所述待加密信息,并将加密结果发送给可信区域组E内的其他可信区域。In some embodiments, the second encryption module 760 may be used to encrypt the information to be encrypted using the group public key Pk_E, and send the encryption result to other trusted areas in the trusted area group E.
关于系统700及其模块的更多细节,可以参考图3及其相关描述。For more details about the system 700 and its modules, please refer to FIG. 3 and related descriptions.
图8是根据本说明书一些实施例所示的数据授权系统的示例性框图。系统800可在可信区域组(记为E)内的某一可信区域中实现。如图8所示,系统800可以包括第二接收模块810、组私钥获取模块820、第二解密模块830、目标数据获得模块840、第三加密模块850和输出模块860。Fig. 8 is an exemplary block diagram of a data authorization system according to some embodiments of the present specification. The system 800 can be implemented in a certain trusted zone in the trusted zone group (denoted as E). As shown in FIG. 8, the system 800 may include a second receiving module 810, a group private key acquisition module 820, a second decryption module 830, a target data acquisition module 840, a third encryption module 850, and an output module 860.
在一些实施例中,第二接收模块810可以用于接收密文。In some embodiments, the second receiving module 810 may be used to receive ciphertext.
在一些实施例中,组私钥获取模块820可以用于获取来自可信区域组授权系统140的组私钥(记为Pr_E),组私钥Pr_E与可信区域组E对应。In some embodiments, the group private key obtaining module 820 may be used to obtain the group private key (denoted as Pr_E) from the trusted zone group authorization system 140, and the group private key Pr_E corresponds to the trusted zone group E.
在一些实施例中,第二解密模块830可以用于利用组私钥Pr_E解密所述密文, 以获得待处理数据以及用于加密至少部分目标数据的秘钥。In some embodiments, the second decryption module 830 may be used to decrypt the ciphertext using the group private key Pr_E to obtain the data to be processed and the secret key used to encrypt at least part of the target data.
在一些实施例中,目标数据获得模块840可基于所述待处理数据获得目标数据。In some embodiments, the target data obtaining module 840 may obtain target data based on the to-be-processed data.
在一些实施例中,第三加密模块850可利用所述秘钥加密至少部分目标数据。In some embodiments, the third encryption module 850 may use the secret key to encrypt at least part of the target data.
在一些实施例中,输出模块860可以用于输出经过加密的至少部分目标数据。In some embodiments, the output module 860 may be used to output at least part of the encrypted target data.
关于系统800及其模块的更多细节,可以参考图5及其相关描述。For more details about the system 800 and its modules, please refer to FIG. 5 and related descriptions.
应当理解,本说明书中的系统(如,系统100、系统140、系统600、系统700、系统800等)及其组成部分可以利用各种方式来实现。例如,在一些实施例中,系统及其组成部分可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件可以利用专用逻辑来实现;软件则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其组成部分不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。It should be understood that the systems (eg, system 100, system 140, system 600, system 700, system 800, etc.) and their components in this specification can be implemented in various ways. For example, in some embodiments, the system and its components can be implemented by hardware, software, or a combination of software and hardware. Among them, the hardware can be implemented using dedicated logic; the software can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware. Those skilled in the art can understand that the above-mentioned methods and systems can be implemented using computer-executable instructions and/or included in processor control codes, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware Such codes are provided on a programmable memory or a data carrier such as an optical or electronic signal carrier. The system and its components in this specification can include not only hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc. The implementation may also be implemented by software executed by various types of processors, or may be implemented by a combination of the above-mentioned hardware circuit and software (for example, firmware).
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图6中披露的第一待加密信息获得模块630和第一加密模块650可以两个模块,也可以合并为一个模块。又如,在可信区域中实现的任一系统内的加密模块和解密模块以两个模块,也可以合并为一个模块。具体地,可以将在可信区域中实现的任一系统内的加密模块和解密模块封装成易于使用的SDK(Software Development Kit,软件开发工具包)。诸如此类的变形,均在本说明书的保护范围之内。It should be noted that the above description of the system and its modules is only for convenience of description, and does not limit this specification within the scope of the examples mentioned. It can be understood that for those skilled in the art, after understanding the principle of the system, it is possible to arbitrarily combine various modules, or form a subsystem to connect with other modules without departing from this principle. For example, the first to-be-encrypted information obtaining module 630 and the first encryption module 650 disclosed in FIG. 6 may be two modules, or may be combined into one module. For another example, the encryption module and the decryption module in any system implemented in the trusted zone are two modules, or they can be combined into one module. Specifically, the encryption module and decryption module in any system implemented in the trusted zone can be packaged into an easy-to-use SDK (Software Development Kit, software development kit). Such deformations are all within the protection scope of this specification.
本说明书实施例可能带来的有益效果包括但不限于:(1)待处理数据或结果数据在安全传输至可信区域组内的可信区域前始终携来自指定方的秘钥,两者被一并加密,该秘钥用于加密至少部分目标数据,这样只有指定方可以解密出所述至少部分目标数据进行使用,可避免目标数据被滥用;(2)将在可信区域中实现的任一系统内的加密模 块和解密模块封装成SDK,SDK更易于编写代码的用户使用。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。The possible beneficial effects of the embodiments of this specification include, but are not limited to: (1) Before the data to be processed or the result data is safely transmitted to the trusted region in the trusted region group, the secret key from the designated party is always carried. Encrypted together, the secret key is used to encrypt at least part of the target data, so that only the designated party can decrypt the at least part of the target data for use, which can prevent the target data from being abused; (2) Anything that will be implemented in the trusted zone The encryption module and decryption module in one system are packaged into SDK, which is easier for users who write code to use. It should be noted that different embodiments may have different beneficial effects. In different embodiments, the possible beneficial effects may be any one or a combination of the above, or any other beneficial effects that may be obtained.
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only an example, and does not constitute a limitation to the embodiments of this specification. Although it is not explicitly stated here, those skilled in the art may make various modifications, improvements and amendments to the embodiments of this specification. Such modifications, improvements, and corrections are suggested in the embodiments of this specification, so such modifications, improvements, and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。Meanwhile, this specification uses specific words to describe the embodiments of this specification. For example, "one embodiment", "an embodiment", and/or "some embodiments" mean a certain feature, structure, or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that “one embodiment” or “one embodiment” or “an alternative embodiment” mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. . In addition, some features, structures, or characteristics in one or more embodiments of this specification can be appropriately combined.
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。In addition, those skilled in the art can understand that the various aspects of the embodiments of this specification can be illustrated and described through a number of patentable categories or situations, including any new and useful process, machine, product or combination of substances, or Any new and useful improvements to them. Correspondingly, various aspects of the embodiments of the present specification can be completely executed by hardware, can be completely executed by software (including firmware, resident software, microcode, etc.), or can be executed by a combination of hardware and software. The above hardware or software can all be referred to as "data block", "module", "engine", "unit", "component" or "system". In addition, various aspects of the embodiments of the present specification may be represented as a computer product located in one or more computer-readable media, and the product includes computer-readable program codes.
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。The computer storage medium may contain a propagated data signal containing a computer program code, for example on a baseband or as part of a carrier wave. The propagated signal may have multiple manifestations, including electromagnetic forms, optical forms, etc., or a suitable combination. The computer storage medium may be any computer readable medium other than the computer readable storage medium, and the medium may be connected to an instruction execution system, device, or device to realize communication, propagation, or transmission of the program for use. The program code located on the computer storage medium can be transmitted through any suitable medium, including radio, cable, fiber optic cable, RF, or similar medium, or any combination of the above medium.
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他 编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。The computer program codes required for the operations of the various parts of the embodiments of this specification can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET , Python, etc., conventional programming languages such as C language, VisualBasic, Fortran2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages, etc. The program code can run entirely on the user's computer, or as an independent software package on the user's computer, or partly on the user's computer and partly on a remote computer, or entirely on the remote computer or processing equipment. In the latter case, the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, via the Internet), or in a cloud computing environment, or as a service Use software as a service (SaaS).
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。In addition, unless explicitly stated in the claims, the order of processing elements and sequences, the use of numbers and letters, or the use of other names in the embodiments of this specification are not used to limit the order of the processes and methods of the embodiments of this specification. Although the foregoing disclosure uses various examples to discuss some embodiments of the invention that are currently considered useful, it should be understood that such details are only for illustrative purposes, and the appended claims are not limited to the disclosed embodiments. On the contrary, the rights are The requirements are intended to cover all modifications and equivalent combinations that conform to the essence and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on existing processing devices or mobile devices.
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。For the same reason, it should be noted that, in order to simplify the expressions disclosed in the embodiments of this specification, so as to help the understanding of one or more embodiments of the invention, in the foregoing description of the embodiments of this specification, multiple features are sometimes combined into one implementation. Examples, drawings or descriptions. However, this method of disclosure does not mean that the objects of the embodiments of this specification require more features than those mentioned in the claims. In fact, the features of the embodiment are less than all the features of the single embodiment disclosed above.
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。For each patent, patent application, patent application publication and other materials cited in this specification, such as articles, books, specifications, publications, documents, etc., the entire contents are hereby incorporated into this specification as a reference. The application history documents that are inconsistent or conflict with the content of this specification are excluded, and the documents that restrict the broadest scope of the claims of this application (currently or later attached to this specification) are also excluded. It should be noted that if there is any inconsistency or conflict between the description, definition, and/or use of terms in the accompanying materials of this manual and the content of this manual, the description, definition and/or use of terms in this manual shall prevail. .
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of the embodiments of this specification. Therefore, as an example and not a limitation, the alternative configuration of the embodiment of the present specification can be regarded as consistent with the teaching of the present specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.

Claims (20)

  1. 一种数据传输方法,所述方法由数据提供方的设备执行,其包括:A data transmission method, which is executed by a data provider's equipment, includes:
    获取待处理数据,所述待处理数据用于按可信区域组内的一个或多个可信区域中的数据处理流程被处理成目标数据;Acquiring to-be-processed data, where the to-be-processed data is used to be processed into target data according to the data processing flow in one or more trusted regions in the trusted region group;
    获取用于加密至少部分目标数据的秘钥;Obtain a secret key used to encrypt at least part of the target data;
    基于所述待处理数据以及所述秘钥,获得待加密信息;Obtaining information to be encrypted based on the data to be processed and the secret key;
    获取来自可信区域组授权系统的组公钥,所述组公钥对应于所述可信区域组;Obtaining a group public key from a trusted zone group authorization system, where the group public key corresponds to the trusted zone group;
    使用所述组公钥加密所述待加密信息,并将加密结果发送给具有所述可信区域内某一可信区域的设备。The group public key is used to encrypt the information to be encrypted, and the encryption result is sent to a device having a certain trusted zone in the trusted zone.
  2. 如权利要求1所述的方法,其中,所述待处理数据包括用于进行模型训练的样本数据,所述目标数据包括经过样本数据训练得到的模型和/或模型信息。The method according to claim 1, wherein the data to be processed includes sample data used for model training, and the target data includes a model and/or model information obtained through sample data training.
  3. 如权利要求1所述的方法,其中,所述秘钥包括数据提供方的公钥和/或来自第三方设备的公钥。The method of claim 1, wherein the secret key includes a public key of a data provider and/or a public key from a third-party device.
  4. 如权利要求1所述的方法,其中,所述可信区域包括SGX可信执行环境中的Enclave。The method of claim 1, wherein the trusted zone includes an enclave in an SGX trusted execution environment.
  5. 一种数据传输系统,包括:A data transmission system includes:
    待处理数据获取模块,用于获取待处理数据,所述待处理数据用于按可信区域组内的一个或多个可信区域中的数据处理流程被处理成目标数据;A to-be-processed data acquisition module, configured to acquire the to-be-processed data, the to-be-processed data is used to be processed into target data according to the data processing flow in one or more trusted regions in the trusted region group;
    秘钥获取模块,用于获取用于加密至少部分目标数据的秘钥;The secret key acquisition module is used to acquire the secret key used to encrypt at least part of the target data;
    第一待加密信息获得模块,用于基于所述待处理数据以及所述秘钥,获得待加密信息;The first information obtaining module to be encrypted is configured to obtain information to be encrypted based on the data to be processed and the secret key;
    组公钥获取模块,获取来自可信区域组授权系统的组公钥,所述组公钥对应于所述可信区域组;A group public key acquisition module to acquire a group public key from a trusted zone group authorization system, where the group public key corresponds to the trusted zone group;
    第一加密模块,用于使用所述组公钥加密所述待加密信息,并将加密结果发送给具有所述可信区域组内的某一可信区域的设备。The first encryption module is configured to use the group public key to encrypt the information to be encrypted, and send the encryption result to a device having a certain trusted zone in the trusted zone group.
  6. 一种数据传输装置,包括处理器和存储设备,A data transmission device includes a processor and a storage device,
    所述存储设备用于存储指令,The storage device is used to store instructions,
    当所述处理器执行所述指令时,实现如权利要求1~4中任一项所述的方法。When the processor executes the instruction, the method according to any one of claims 1 to 4 is implemented.
  7. 一种数据处理方法,所述方法在可信区域组内的某一可信区域中执行,其包括:A data processing method, which is executed in a certain trusted zone in a trusted zone group, which includes:
    接收密文;Receive ciphertext;
    获取来自可信区域组授权系统的组公钥和组私钥,所述组公钥和组私钥与所述可信 区域组对应;Obtaining a group public key and a group private key from a trusted zone group authorization system, where the group public key and the group private key correspond to the trusted zone group;
    使用所述组私钥解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥;Decrypt the ciphertext using the set of private keys to obtain the data to be processed and the secret key used to encrypt at least part of the target data;
    对所述待处理数据执行数据处理流程,以得到结果数据;Perform a data processing procedure on the to-be-processed data to obtain result data;
    基于所述结果数据以及所述秘钥,获得待加密信息;Obtain the information to be encrypted based on the result data and the secret key;
    使用所述组私钥加密所述待加密信息,并将加密结果发送给所述可信区域组内的其他可信区域。The group private key is used to encrypt the information to be encrypted, and the encryption result is sent to other trusted areas in the trusted area group.
  8. 如权利要求7所述的方法,其中,所述秘钥包括来自数据提供方的公钥和/或来自第三方设备的公钥。The method according to claim 7, wherein the secret key includes a public key from a data provider and/or a public key from a third-party device.
  9. 如权利要求7所述的方法,其中,所述数据处理流程为:8. The method of claim 7, wherein the data processing flow is:
    数据融合流程,用于将来自多个数据提供方的待处理数据进行融合;或者,The data fusion process is used to fuse the to-be-processed data from multiple data providers; or,
    模型训练流程,用于利用样本数据对模型进行训练。The model training process is used to train the model using sample data.
  10. 如权利要求7所述的方法,其中,所述可信区域包括SGX可信执行环境中的Enclave。8. The method of claim 7, wherein the trusted zone includes an enclave in an SGX trusted execution environment.
  11. 一种数据处理系统,所述系统在可信区域组内的某一可信区域中实现,其包括:A data processing system, which is implemented in a certain trusted zone in a trusted zone group, and includes:
    第一接收模块,用于接收密文;The first receiving module is used to receive ciphertext;
    组公私钥获取模块,用于获取来自可信区域组授权系统的组公钥和组私钥,所述组公钥和组私钥与所述可信区域组对应;The group public and private key acquisition module is used to acquire the group public key and the group private key from the trusted zone group authorization system, where the group public key and the group private key correspond to the trusted zone group;
    第一解密模块,用于使用所述组私钥解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥;The first decryption module is configured to decrypt the ciphertext using the set of private keys to obtain the data to be processed and the secret key used to encrypt at least part of the target data;
    数据处理模块,用于对所述待处理数据执行数据处理流程,以得到结果数据;The data processing module is used to execute a data processing procedure on the to-be-processed data to obtain result data;
    第二待加密信息获得模块,用于基于所述结果数据以及所述秘钥,获得待加密信息;The second information to be encrypted obtaining module is configured to obtain the information to be encrypted based on the result data and the secret key;
    第二加密模块,用于使用所述组私钥加密所述待加密信息,并将加密结果发送给所述可信区域组内的其他可信区域。The second encryption module is configured to use the group private key to encrypt the information to be encrypted, and send the encryption result to other trusted areas in the trusted area group.
  12. 一种数据处理装置,包括处理器和存储设备,A data processing device includes a processor and a storage device,
    所述存储设备用于存储指令,The storage device is used to store instructions,
    当所述处理器执行所述指令时,实现如权利要求7~10中任一项所述的方法。When the processor executes the instruction, the method according to any one of claims 7-10 is implemented.
  13. 一种数据授权方法,所述方法在可信区域组内的某一可信区域中执行,其包括:A data authorization method, the method is executed in a certain trusted zone in a trusted zone group, which includes:
    接收密文;Receive ciphertext;
    获取来自可信区域组授权系统的组私钥,所述组私钥与所述可信区域组对应;Obtaining a group private key from a trusted zone group authorization system, where the group private key corresponds to the trusted zone group;
    使用所述组私钥解密所述密文,以获得待处理数据以及用于加密至少部分目标数据 的秘钥;Decrypt the ciphertext using the set of private keys to obtain the data to be processed and the secret key used to encrypt at least part of the target data;
    基于所述待处理数据获得目标数据;Obtaining target data based on the to-be-processed data;
    利用所述秘钥加密至少部分目标数据;Encrypt at least part of the target data by using the secret key;
    输出经过加密的至少部分目标数据。Output at least part of the encrypted target data.
  14. 如权利要求13所述的方法,其中,所述基于待处理数据获得目标数据,包括:The method according to claim 13, wherein said obtaining target data based on the data to be processed comprises:
    将所述待处理数据确定为目标数据;或者,Determine the data to be processed as target data; or,
    对所述待处理数据执行数据处理流程,以获得目标数据。A data processing procedure is performed on the to-be-processed data to obtain target data.
  15. 如权利要求13所述的方法,其中,所述秘钥包括来自数据提供方的公钥和/或来自第三方设备的公钥。The method of claim 13, wherein the secret key includes a public key from a data provider and/or a public key from a third-party device.
  16. 如权利要求13所述的方法,其中,所述秘钥包括来自多方的公钥,且来自任一方的公钥对应部分目标数据;The method of claim 13, wherein the secret key includes public keys from multiple parties, and the public key from any party corresponds to part of the target data;
    所述利用所述秘钥加密至少部分目标数据,包括:The encrypting at least part of the target data using the secret key includes:
    将所述目标数据拆分为多个部分;Split the target data into multiple parts;
    用来自多方的公钥分别加密目标数据中对应的部分。Use public keys from multiple parties to encrypt the corresponding parts of the target data.
  17. 如权利要求13或16所述的方法,其中,所述目标数据包括经过样本数据训练的模型和/或模型信息。The method according to claim 13 or 16, wherein the target data includes a model trained on sample data and/or model information.
  18. 如权利要求13所述的方法,其中,所述可信区域包括SGX可信执行环境中的Enclave。The method of claim 13, wherein the trusted zone includes an enclave in an SGX trusted execution environment.
  19. 一种数据授权系统,所述系统在可信区域组内的某一可信区域中实现,其包括:A data authorization system, which is implemented in a certain trusted zone in a trusted zone group, and includes:
    第二接收模块,用于接收密文;The second receiving module is used to receive ciphertext;
    组私钥获取模块,用于获取来自可信区域组授权系统的组私钥,所述组私钥与所述可信区域组对应;The group private key acquisition module is used to acquire the group private key from the trusted zone group authorization system, the group private key corresponding to the trusted zone group;
    第二解密模块,用于使用所述组私钥解密所述密文,以获得待处理数据以及用于加密至少部分目标数据的秘钥;The second decryption module is configured to decrypt the ciphertext using the set of private keys to obtain the data to be processed and the secret key used to encrypt at least part of the target data;
    目标数据获得模块,用于基于所述待处理数据获得目标数据;A target data obtaining module, configured to obtain target data based on the to-be-processed data;
    第三加密模块,用于利用所述秘钥加密至少部分目标数据;The third encryption module is configured to use the secret key to encrypt at least part of the target data;
    输出模块,用于输出经过加密的至少部分目标数据。The output module is used to output at least part of the encrypted target data.
  20. 一种数据授权装置,包括处理器和存储设备,A data authorization device includes a processor and a storage device,
    所述存储设备用于存储指令,The storage device is used to store instructions,
    当所述处理器执行所述指令时,实现如权利要求13~18中任一项所述的方法。When the processor executes the instruction, the method according to any one of claims 13-18 is implemented.
PCT/CN2021/086900 2020-04-17 2021-04-13 Data transmission, processing, and authorization WO2021208906A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010307601.2 2020-04-17
CN202010307601.2A CN111628966B (en) 2020-04-17 2020-04-17 Data transmission method, system and device and data authorization method, system and device

Publications (1)

Publication Number Publication Date
WO2021208906A1 true WO2021208906A1 (en) 2021-10-21

Family

ID=72260956

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/086900 WO2021208906A1 (en) 2020-04-17 2021-04-13 Data transmission, processing, and authorization

Country Status (2)

Country Link
CN (1) CN111628966B (en)
WO (1) WO2021208906A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117473324A (en) * 2023-11-16 2024-01-30 北京熠智科技有限公司 Model training method, system and storage medium based on SGX and XGBoost

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111628966B (en) * 2020-04-17 2021-09-24 支付宝(杭州)信息技术有限公司 Data transmission method, system and device and data authorization method, system and device
CN112769786B (en) * 2020-12-29 2022-11-01 杭州趣链科技有限公司 Data transmission method and device based on oblivious transmission rule and computer equipment
CN116010970A (en) * 2021-05-20 2023-04-25 浙江网商银行股份有限公司 Data processing method and device based on remote sensing data
CN113392421B (en) * 2021-08-16 2021-10-29 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN114615070B (en) * 2022-03-21 2024-04-19 中国人民解放军国防科技大学 Network security event capturing method and device based on trusted execution environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106851351A (en) * 2015-12-03 2017-06-13 国家新闻出版广电总局广播科学研究院 One kind supports digital copyright management(DRM)WMG/terminal realizing method and its equipment
US9722775B2 (en) * 2015-02-27 2017-08-01 Verizon Patent And Licensing Inc. Network services via trusted execution environment
CN109657479A (en) * 2017-10-11 2019-04-19 厦门雅迅网络股份有限公司 Data leakage prevention method and computer readable storage medium
CN110968743A (en) * 2019-12-13 2020-04-07 支付宝(杭州)信息技术有限公司 Data storage and data reading method and device for private data
CN111628966A (en) * 2020-04-17 2020-09-04 支付宝(杭州)信息技术有限公司 Data transmission, processing and authorization method and system thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936723B2 (en) * 2019-03-27 2021-03-02 Intel Corporation Fast and secure protocol to bootstrap a blockchain by restoring the blockchain state using trusted execution environment
CN110162981B (en) * 2019-04-18 2020-10-02 阿里巴巴集团控股有限公司 Data processing method and device
CN110995737B (en) * 2019-12-13 2022-08-02 支付宝(杭州)信息技术有限公司 Gradient fusion method and device for federal learning and electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9722775B2 (en) * 2015-02-27 2017-08-01 Verizon Patent And Licensing Inc. Network services via trusted execution environment
CN106851351A (en) * 2015-12-03 2017-06-13 国家新闻出版广电总局广播科学研究院 One kind supports digital copyright management(DRM)WMG/terminal realizing method and its equipment
CN109657479A (en) * 2017-10-11 2019-04-19 厦门雅迅网络股份有限公司 Data leakage prevention method and computer readable storage medium
CN110968743A (en) * 2019-12-13 2020-04-07 支付宝(杭州)信息技术有限公司 Data storage and data reading method and device for private data
CN111628966A (en) * 2020-04-17 2020-09-04 支付宝(杭州)信息技术有限公司 Data transmission, processing and authorization method and system thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117473324A (en) * 2023-11-16 2024-01-30 北京熠智科技有限公司 Model training method, system and storage medium based on SGX and XGBoost

Also Published As

Publication number Publication date
CN111628966A (en) 2020-09-04
CN111628966B (en) 2021-09-24

Similar Documents

Publication Publication Date Title
WO2021208906A1 (en) Data transmission, processing, and authorization
US10601801B2 (en) Identity authentication method and apparatus
US10263962B2 (en) User authentication over networks
WO2021022701A1 (en) Information transmission method and apparatus, client terminal, server, and storage medium
US11336430B2 (en) Blockchain-incorporating distributed authentication system
JP2018201217A (en) Method of using one device to unlock another device
CN111460453A (en) Machine learning training method, controller, device, server, terminal and medium
US20160197913A1 (en) Method of using symmetric cryptography for both data encryption and sign-on authentication
US20150333915A1 (en) Method and apparatus for embedding secret information in digital certificates
US20220114249A1 (en) Systems and methods for secure and fast machine learning inference in a trusted execution environment
US10609070B1 (en) Device based user authentication
US20200344075A1 (en) Secure provisioning of keys
CN114584307B (en) Trusted key management method and device, electronic equipment and storage medium
TW201926943A (en) Data transmission method and system
WO2020155812A1 (en) Data storage method and device, and apparatus
US20230070124A1 (en) Secure installation of application keys
US11637704B2 (en) Method and apparatus for determining trust status of TPM, and storage medium
WO2022247790A1 (en) Data management method and apparatus, device and storage medium
US20210194694A1 (en) Data processing system
CN102473219A (en) Communication channel claim dependent security precautions
CN114611129A (en) Data privacy protection method and system
WO2016029668A1 (en) Secure connection method, device and system, and computer storage medium
KR100952300B1 (en) Terminal and Memory for secure data management of storage, and Method the same
US11785005B2 (en) Secure tunneling with implicit device identification
WO2023169409A1 (en) Model invoking method and apparatus, and storage medium

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: 21789320

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21789320

Country of ref document: EP

Kind code of ref document: A1