CN113395159B - 一种基于可信执行环境的数据处理方法以及相关装置 - Google Patents

一种基于可信执行环境的数据处理方法以及相关装置 Download PDF

Info

Publication number
CN113395159B
CN113395159B CN202110025039.9A CN202110025039A CN113395159B CN 113395159 B CN113395159 B CN 113395159B CN 202110025039 A CN202110025039 A CN 202110025039A CN 113395159 B CN113395159 B CN 113395159B
Authority
CN
China
Prior art keywords
data
participant
strong
target
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110025039.9A
Other languages
English (en)
Other versions
CN113395159A (zh
Inventor
侯忱
张尧
张韬
饶华铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110025039.9A priority Critical patent/CN113395159B/zh
Publication of CN113395159A publication Critical patent/CN113395159A/zh
Application granted granted Critical
Publication of CN113395159B publication Critical patent/CN113395159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/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]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

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

本申请公开了一种基于可信执行环境的数据处理方法以及相关装置,应用于云技术领域。通过将参与设备中配置了可信执行环境的设备作为强参与方,将未配置可信执行环境的设备作为弱参与方,并在参与设备中的数据进行嵌套加密过程,并传输至强参与方的可信执行环境中进行处理;进而将处理结果进行广播。从而实现去中心化的数据处理过程,由于数据处理的过程中数据只在参与设备之间传输,减小了数据泄露的风险,且通过对称加密算法和非对称加密算法将各个参与设备的私密设备传输至强参与方的可信执行环境中进行,进一步提高了数据处理的安全性。

Description

一种基于可信执行环境的数据处理方法以及相关装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于可信执行环境的数据处理方法以及相关装置。
背景技术
隐私数据集合求交是安全多方计算领域研究的基础问题之一,即对于若干参与者,每一方拥有一个私有的数据集合,目标是让所有参与方获悉这些集合的公共交集,同时保证非交集的内容不泄露。
一般,隐私数据集合求交的过程可以采用基于中心化的可信执行环境方案,即设计一个中心化的基于可信执行环境的安全计算平台,其中支持隐私数据集合求交算法。主要通过在中心化服务器上部署可信执行环境服务,然后将参与隐私数据集合求交的各参与方本地加密数据并发送给中心服务器,进而在中心服务器执行隐私数据集合求交操作并将结果发送给各参与方。
但是,中心化的隐私数据集合求交服务中,在参与方数量较多时成为性能瓶颈,并且中心化服务器作为第三方设备,存在数据外泄的风险,影响数据处理的安全性。
发明内容
有鉴于此,本申请提供一种基于可信执行环境的数据处理方法,可以有效提高数据处理的安全性。
本申请第一方面提供一种基于可信执行环境的数据处理方法,可以应用于终端设备中包含基于可信执行环境的数据处理功能的系统或程序中,具体包括:
强参与方在可信执行环境中生成公私钥对,所述公私钥对中的私钥保存在所述可信执行环境中;
所述强参与方将所述公私钥对中的公钥广播至用于执行目标任务的所有参与设备,所述参与设备包括至少一个所述强参与方与至少一个弱参与方;
所述强参与方生成目标密钥,并基于所述目标密钥对私密数据进行加密得到目标加密数据;
所述强参与方基于接收到的广播公钥分别对所述目标密钥进行加密,以得到加密密钥;
所述强参与方发送所述加密密钥及所述目标加密数据至其他的强参与方;
所述强参与方接收其他的所述参与设备发送的目标加密数据和加密密钥,在所述可信执行环境中基于所述公私钥对中的私钥对接收的加密密钥解密得到目标密钥;
所述强参与方在所述可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的所述参与设备对应的目标数据集合;
所述强参与方在所述可信执行环境中基于其他的所述参与设备对应的目标数据集合及所述强参与方的私密数据执行所述目标任务,以得到数据交集,并将所述数据交集广播至所有的所述参与设备。
可选的,在本申请一些可能的实现方式中,所述强参与方生成目标密钥,并基于所述目标密钥对私密数据进行加密得到目标加密数据,包括:
所述强参与方触发所述强参与方进行协商,以得到所述参与设备之间统一的哈希盐值;
所述强参与方基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
所述强参与方根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述加盐数据进行加密得到所述目标加密数据。
可选的,在本申请一些可能的实现方式中,所述强参与方根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述加盐数据进行加密得到所述目标加密数据,包括:
所述强参与方根据所述参与设备中强参与方的数量对所述加盐数据进行分桶,以得到桶序列;
所述强参与方根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述桶序列进行加密得到所述目标加密数据。
可选的,在本申请一些可能的实现方式中,所述强参与方根据所述参与设备中强参与方的数量对所述加盐数据进行分桶,以得到桶序列,包括:
所述强参与方将所述加盐数据对所述参与设备中强参与方的数量进行取模计算,以得到取模值;
所述强参与方基于所述取模值进行分桶,以得到所述桶序列。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
所述强参与方获取所述桶序列中包含的所述加盐数据的样本标识;
所述强参与方基于所述样本标识对所述桶序列中包含的所述加盐数据进行排序,以对所述桶序列进行更新。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
所述强参与方获取所述可信执行环境的输出数据;
所述强参与方基于所述私钥对所述输出数据进行签名,以得到签名数据,所述签名数据用于指示数据接收方基于所述公钥进行合法性验证。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
所述强参与方确定所述参与设备中的强参与方集合和弱参与方集合;
所述强参与方向所述强参与方集合中的强参与方发送远程证明,以进行所述强参与方集合的设备验证。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
所述强参与方确定多个所述参与设备中的强参与方集合和弱参与方集合;
所述强参与方向所述强参与方集合中的强参与方发送远程证明,以进行所述强参与方集合的设备验证;
所述强参与方控制所述弱参与方集合中的弱参与向所述强参与方发起单向证明,以进行所述弱参与方集合的设备验证。
可选的,在本申请一些可能的实现方式中,所述确定多个所述参与设备中的强参与方集合和弱参与方集合,包括:
所述强参与方遍历多个所述参与设备中的通信信息;
所述强参与方基于所述通信信息确定存在所述可信执行环境的参与设备,以确定所述强参与方集合;
所述强参与方基于所述通信信息确定不存在所述可信执行环境的参与设备,以确定所述弱参与方集合。
可选的,在本申请一些可能的实现方式中,所述参与设备为联邦学习任务中的任务参与方,所述方法还包括:
所述强参与方确定所述联邦学习任务中的目标样本;
所述强参与方基于所述目标样本从所述数据交集中进行数据提取,以得到联邦学习数据;
所述强参与方基于所述联邦学习数据执行所述联邦学习任务。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
所述强参与方确定接收所述数据交集广播的目标设备;
所述强参与方将所述目标设备与所述联邦学习任务进行关联,以将所述目标设备标记为所述任务参与方。
可选的,在本申请一些可能的实现方式中,所述强参与方通过内网与所述可信执行环境进行通信,所述弱参与方通过外网与其他的所述参与设备进行通信,所述公私钥对基于RSA算法所得,所述对称加密算法为AES-GCM算法,所述目标任务为隐私数据集合求交任务。
可选的,在本申请一些可能的实现方式中,所述基于可信执行环境的数据处理方法应用于区块链设备,所述参与设备为所述区块链设备,所述区块链设备为区块链中的节点。
本申请第二方面提供一种基于可信执行环境的数据处理方法,包括:
弱参与方在本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据;
所述弱参与方接收强参与方广播的广播公钥,并基于所述广播公钥分别对所述目标密钥进行加密得到加密密钥;
所述弱参与方将所述目标加密数据和所述加密密钥发送到所述强参与方,以使得所述强参与方在可信执行环境中基于私钥对所述加密密钥中的对应项进行解密得到所述目标密钥,并根据所述目标密钥对所述目标加密数据进行解密,以得到目标数据集合;
所述弱参与方接收所述强参与方发送的数据交集,所述数据交集为所述强参与方在所述可信执行环境中基于所述目标数据集合执行目标任务所得。
可选的,在本申请一些可能的实现方式中,所述弱参与方在本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据,包括:
所述弱参与方接收所述强参与方发送的哈希盐值;
所述弱参与方基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
所述弱参与方根据参与设备中强参与方的数量对所述加盐数据进行取模计算,以得到桶序列;
所述弱参与方根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述桶序列进行加密得到所述目标加密数据。
本申请第三方面提供一种基于可信执行环境的数据处理装置,包括:
加密单元,用于在可信执行环境中生成公私钥对,所述公私钥对中的私钥保存在所述可信执行环境中;
广播单元,用于将所述公私钥对中的公钥广播至用于执行目标任务的所有参与设备,所述参与设备包括至少一个所述强参与方与至少一个弱参与方;
所述加密单元,还用于生成目标密钥,并基于所述目标密钥对私密数据进行加密得到目标加密数据;
所述加密单元,还用于基于接收到的广播公钥分别对所述目标密钥进行加密,以得到加密密钥;
所述广播单元,还用于发送所述加密密钥及所述目标加密数据至其他的强参与方;
接收单元,用于接收其他的所述参与设备发送的目标加密数据和加密密钥,在所述可信执行环境中基于所述公私钥对中的私钥对接收的加密密钥解密得到目标密钥;
处理单元,用于在所述可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的所述参与设备对应的目标数据集合;
所述处理单元,还用于在所述可信执行环境中基于其他的所述参与设备对应的目标数据集合及所述强参与方的私密数据执行所述目标任务,以得到数据交集,并将所述数据交集广播至所有的所述参与设备。
可选的,在本申请一些可能的实现方式中,所述加密单元,具体用于基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
所述加密单元,具体用于根据对称加密算法在所述参与设备的本地生成所述对称密钥,以基于所述对称密钥对所述加盐数据进行加密得到所述目标加密数据。
可选的,在本申请一些可能的实现方式中,所述加密单元,具体用于根据所述强参与方的数量对所述加盐数据进行分桶,以得到桶序列;
所述加密单元,具体用于根据对称加密算法在所述参与设备的本地生成所述对称密钥,以基于所述对称密钥对所述桶序列进行加密得到所述目标加密数据。
可选的,在本申请一些可能的实现方式中,所述加密单元,具体用于将所述加盐数据对所述强参与方的数量进行取模计算,以得到取模值;
所述加密单元,具体用于基于所述取模值进行分桶,以得到所述桶序列。
可选的,在本申请一些可能的实现方式中,所述处理单元,具体用于获取所述桶序列中包含的所述加盐数据的样本标识;
所述处理单元,具体用于基于所述样本标识对所述桶序列中包含的所述加盐数据进行排序,以对所述桶序列进行更新。
可选的,在本申请一些可能的实现方式中,所述处理单元,具体用于获取所述可信执行环境的输出数据;
所述处理单元,具体用于基于所述私钥对所述输出数据进行签名,以得到签名数据,所述签名数据用于指示数据接收方基于所述公钥进行合法性验证。
可选的,在本申请一些可能的实现方式中,所述处理单元,具体用于确定多个所述参与设备中的强参与方集合和弱参与方集合;
所述处理单元,具体用于向所述强参与方集合中的强参与方发送远程证明,以进行所述强参与方集合的设备验证;
所述处理单元,具体用于控制所述弱参与方集合中的弱参与向所述强参与方发起单向证明,以进行所述弱参与方集合的设备验证。
可选的,在本申请一些可能的实现方式中,所述处理单元,具体用于遍历多个所述参与设备中的通信信息;
所述处理单元,具体用于基于所述通信信息确定存在所述可信执行环境的参与设备,以确定所述强参与方集合;
所述处理单元,具体用于基于所述通信信息确定不存在所述可信执行环境的参与设备,以确定所述弱参与方集合。
可选的,在本申请一些可能的实现方式中,所述处理单元,具体用于确定所述联邦学习任务中的目标样本;
所述处理单元,具体用于基于所述目标样本从所述数据交集中进行数据提取,以得到联邦学习数据;
所述处理单元,具体用于基于所述联邦学习数据执行所述联邦学习任务。
可选的,在本申请一些可能的实现方式中,所述处理单元,具体用于确定接收所述数据交集广播的目标设备;
所述处理单元,具体用于将所述目标设备与所述联邦学习任务进行关联,以将所述目标设备标记为所述任务参与方。
本申请第四方面提供一种基于可信执行环境的数据处理方法,包括:
加密单元,用于在本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据;
接收单元,用于接收强参与方广播的广播公钥,并基于所述广播公钥分别对所述目标密钥进行加密得到加密密钥;
发送单元,用于将所述目标加密数据和所述加密密钥发送到所述强参与方,以使得所述强参与方在可信执行环境中基于私钥对所述加密密钥中的对应项进行解密得到所述目标密钥,并根据所述目标密钥对所述目标加密数据进行解密,以得到目标数据集合;
所述接收单元,还用于接收所述强参与方发送的数据交集,所述数据交集为所述强参与方在所述可信执行环境中基于所述目标数据集合执行目标任务所得。
可选的,在本申请一些可能的实现方式中,所述加密单元,具体用于所述弱参与方接收所述强参与方发送的哈希盐值;
所述加密单元,具体用于基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
所述加密单元,具体用于根据参与设备中强参与方的数量对所述加盐数据进行取模计算,以得到桶序列;
所述加密单元,具体用于根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述桶序列进行加密得到所述目标加密数据。
本申请第五方面提供一种计算机设备,包括:存储器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第一方面或第一方面任一项所述的基于可信执行环境的数据处理方法,以及上述第二方面或第二方面任一项所述的基于可信执行环境的数据处理方法。
本申请第六方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一项所述的基于可信执行环境的数据处理方法,以及上述第二方面或第二方面任一项所述的基于可信执行环境的数据处理方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面或者第一方面的各种可选实现方式中提供的基于可信执行环境的数据处理方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
通过确定用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方。强参与方包括可信执行环境,各强参与方在可信执行环境中生成公私钥对,公私钥对中的私钥保存在可信执行环境中;然后强参与方将公私钥对中的公钥广播至用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方;接下来强参与方生成目标密钥,并基于目标密钥对私密数据进行加密得到目标加密数据;强参与方基于接收到的广播公钥分别对目标密钥进行加密,以得到加密密钥;强参与方发送加密密钥及目标加密数据至其他的强参与方;然后强参与方接收其他的参与设备发送的目标加密数据和加密密钥,在可信执行环境中基于公私钥对中的私钥对接收的加密密钥解密得到目标密钥;接下来强参与方在可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的参与设备对应的目标数据集合;进而强参与方在可信执行环境中基于其他的参与设备对应的目标数据集合及强参与方的私密数据执行目标任务,以得到数据交集,并将数据交集广播至所有的参与设备。从而实现去中心化的数据处理过程,由于数据处理的过程中数据只在参与设备之间传输,不存在除参与设备之外的第三方,减小了数据泄露的风险,且通过对称加密算法和非对称加密算法将各个参与设备的私密设备传输至强参与方的可信执行环境中进行,进一步提高了数据处理的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为基于可信执行环境的数据处理系统运行的网络架构图;
图2为本申请实施例提供的一种基于可信执行环境的数据处理的流程架构图;
图3为本申请实施例提供的一种基于可信执行环境的数据处理方法的流程图;
图4为本申请实施例提供的一种基于可信执行环境的数据处理方法的场景示意图;
图5为本申请实施例提供的另一种基于可信执行环境的数据处理方法的场景示意图;
图6为本申请实施例提供的另一种基于可信执行环境的数据处理方法的流程图;
图7为本申请实施例提供的另一种基于可信执行环境的数据处理方法的场景示意图;
图8为本申请实施例提供的另一种基于可信执行环境的数据处理方法的场景示意图;
图9为本申请实施例提供的另一种基于可信执行环境的数据处理方法的流程图;
图10为本申请实施例提供的一种基于可信执行环境的数据处理装置的结构示意图;
图11为本申请实施例提供的另一种基于可信执行环境的数据处理装置的结构示意图;
图12为本申请实施例提供的一种终端设备的结构示意图;
图13为本申请实施例提供的一种服务器的结构示意图;
图14A为本申请实施例提供的一种数据共享系统;
图14B为本申请实施例提供的一种区块链的组成;
图14C为本申请实施例提供的一种区块链节点的输入信息示意图。
具体实施方式
本申请实施例提供了一种基于可信执行环境的数据处理方法以及相关装置,可以应用于终端设备中包含基于可信执行环境的数据处理功能的系统或程序中,通过确定用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方。强参与方包括可信执行环境,各强参与方在可信执行环境内部生成非对称加密算法的公私钥对,公私钥对中的私钥保存在可信执行环境中,公私钥对中的公钥用于广播至其他的参与设备。然后所有参与方均根据对称加密算法在参与设备的本地生成对称密钥,以基于对称密钥对私密数据进行加密得到目标加密数据;并基于接收到的广播公钥分别对对称密钥进行加密,以得到加密密钥,发送目标加密数据及加密秘钥至对应的强参与方。强参与方接收其他的参与设备发送的目标加密数据和加密密钥,在可信执行环境中基于私钥对加密密钥进行解密得到对称密钥;并在可信执行环境中根据解密得到的对称密钥对目标加密数据进行解密,以得到对应的参与设备的私密数据,从而得到多个私密数据组成的目标数据集合;进而在可信执行环境中基于目标数据集合及强参与方本身的私密数据执行目标任务,以得到数据交集,并将数据交集广播至其他的参与设备。从而实现去中心化的数据处理过程,由于数据处理的过程中数据只在参与设备之间传输,不存在除参与设备之外的第三方,减小了数据泄露的风险,且通过对称加密算法和非对称加密算法将各个参与设备的私密设备传输至强参与方的可信执行环境中进行,进一步提高了数据处理的安全性。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例中可能出现的一些名词进行解释。
TEE(Trusted Execution Environment):可信执行环境,在可信执行环境中可以安全地处理密码和私钥等私密信息,并保障信息绝对不会泄漏给节点或者其他人,同时还能证明数据未经篡改。
PSI(Private Set Intersection):隐私数据集合求交,即是在保护通信双方的数据隐私性前提下完成数据集的交集计算。
SGX(Software Guard Extensions):Intel推出的一种基于硬件加密的TEE技术,可以保证在其中运行的代码和数据不被外界访问。
Encalve:安全飞地,SGX中受到保护的内存区域,即攻击者在没有物理访问设备的情况下无法解密敏感信息,具体的,安全飞地是一个独立的系统,而且由于在主要操作系统从来没有出现真正的解密密钥,故在没有适当授权的情况下解密数据非常困难。
Sponsor:强参与方,本申请中的负责隐私数据求交的参与方,其本地安全环境(单机或内网)部署了TEE。
Partner:弱参与方,本申请中的提供数据的但是不承担求交任务的参与方,其本地无需部署TEE。
联邦学习:联邦学习是为保护用户数据隐私而提出的多方参与的机器学习系统。各方在本地用私有数据做训练,数据不出本地,以一定的算法将各自训练的模型聚合成公共的模型,该模型效果好于各自独立训练的模型。
应理解,本申请提供的基于可信执行环境的数据处理方法可以应用于包含基于可信执行环境的数据处理功能的系统或程序的终端设备或服务器中,例如联邦学习管理,具体的,基于可信执行环境的数据处理系统可以运行于如图1所示的网络架构中,如图1所示,是基于可信执行环境的数据处理系统运行的网络架构图,如图可知,基于可信执行环境的数据处理系统可以提供与多个信息源的数据处理过程,即各个终端之间采用TEE的分布进行强弱参与方的划分,进而执行对应的数据加密传输的过程,以使得加密数据在强参与方的TEE中执行相关任务;可以理解的是,图1中示出了多种终端设备,终端设备可以为计算机设备,在实际场景中可以有更多或更少种类的终端设备参与到基于可信执行环境的数据处理的过程中,具体数量和种类因实际场景而定,此处不做限定。
本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,终端以及服务器可以连接组成区块链网络,本申请在此不做限制。
可以理解的是,上述基于可信执行环境的数据处理系统可以运行于个人移动终端,例如:作为联邦学习管理这样的应用,也可以运行于服务器,还可以作为运行于第三方设备以提供基于可信执行环境的数据处理,以得到信息源的基于可信执行环境的数据处理处理结果;具体的基于可信执行环境的数据处理系统可以是以一种程序的形式在上述设备中运行,也可以作为上述设备中的系统部件进行运行,还可以作为云端服务程序的一种,具体运作模式因实际场景而定,此处不做限定。
在数据处理过程中,隐私数据集合求交是安全多方计算领域研究的基础问题之一,即对于若干参与者,每一方拥有一个私有的数据集合,目标是让所有参与方获悉这些集合的公共交集,同时保证非交集的内容不泄露。
一般,隐私数据集合求交的过程可以采用基于中心化的可信执行环境方案,即设计一个中心化的基于SGX TEE的安全计算平台,其中支持隐私数据集合求交算法。主要通过在中心化服务器上部署可信执行环境服务,然后将参与隐私数据集合求交的各参与方本地加密数据并发送给中心服务器,进而在中心服务器执行隐私数据集合求交操作并将结果发送给各参与方。
但是,中心化的隐私数据集合求交服务中,在参与方数量较多时成为性能瓶颈,并且中心化服务器作为第三方设备,存在数据外泄的风险,影响数据处理的安全性。
为了解决上述问题,本申请提出了一种基于可信执行环境的数据处理方法,该方法应用于图2所示的基于可信执行环境的数据处理的流程框架中,如图2所示,为本申请实施例提供的一种基于可信执行环境的数据处理的流程架构图,通过对参与设备进行基于TEE的强参与方与弱参与方的划分,并将参与设备中的数据进行嵌套加密过程,并传输至强参与方的可信执行环境中进行处理,对于处理后的结果在各个参与设备中进行广播,从而保证了数据不会外泄。
可以理解的是,本申请所提供的方法可以为一种程序的写入,以作为硬件系统中的一种处理逻辑,也可以作为一种基于可信执行环境的数据处理装置,采用集成或外接的方式实现上述处理逻辑。作为一种实现方式,该基于可信执行环境的数据处理装置通过确定用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方。强参与方包括可信执行环境,各强参与方在可信执行环境中生成公私钥对,公私钥对中的私钥保存在可信执行环境中;然后强参与方将公私钥对中的公钥广播至用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方;接下来强参与方生成目标密钥,并基于目标密钥对私密数据进行加密得到目标加密数据;强参与方基于接收到的广播公钥分别对目标密钥进行加密,以得到加密密钥;强参与方发送加密密钥及目标加密数据至其他的强参与方;然后强参与方接收其他的参与设备发送的目标加密数据和加密密钥,在可信执行环境中基于公私钥对中的私钥对接收的加密密钥解密得到目标密钥;接下来强参与方在可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的参与设备对应的目标数据集合;进而强参与方在可信执行环境中基于其他的参与设备对应的目标数据集合及强参与方的私密数据执行目标任务,以得到数据交集,并将数据交集广播至所有的参与设备。从而实现去中心化的数据处理过程,由于数据处理的过程中数据只在参与设备之间传输,不存在除参与设备之外的第三方,减小了数据泄露的风险,且通过对称加密算法和非对称加密算法将各个参与设备的私密设备传输至强参与方的可信执行环境中进行,进一步提高了数据处理的安全性。
结合上述流程架构,下面将对本申请中基于可信执行环境的数据处理方法进行介绍,请参阅图3,图3为本申请实施例提供的一种基于可信执行环境的数据处理方法的流程图,该管理方法可以是由强参与方执行的,本申请实施例至少包括以下步骤:
301、强参与方在可信执行环境中生成公私钥对。
本实施例中,强参与方为用于执行目标任务的所有参与方中配置了可信执行环境的设备。具体的,参与方包括至少一个强参与方与至少一个弱参与方,该参与方即为参与设备,其中强参与方包括可信执行环境,可信执行环境用于生成非对称的公私钥对,公私钥对中的私钥保存在可信执行环境中,公私钥对中的公钥用于广播至其他的参与方。具体的,即各强参与方在TEE内部生成非对称加密算法公私钥对(PK,SK),其中SK保存在TEE内部,PK广播给所有参与方,且上述非对称加密算法具有公钥加密-私钥解密、私钥签名-公钥验证的特点,即使公钥丢失,也不会影响TEE的安全性;另外,生成公私钥对的过程可以采用具有公私钥对的加密算法,具体的算法因实际场景而定。而考虑到基于公私钥对进行数据加密的安全性,可以采用非对称加密算法进行公私钥对的生成,其中,非对称加密算法可以使用RSA算法以及其他的非对称算法,此处不做限定。
可选的,由可信执行环境输出的信息均可以附带SK签名,以使得接收方基于接收到的PK验证由可信执行环境输出的信息的合法性。具体的,对于签名的执行过程,可以首先获取可信执行环境的输出数据;然后基于私钥对输出数据进行签名,以得到签名数据,从而基于签名数据使得数据接收方基于公钥对信息进行合法性验证,保证信息的安全性。
可以理解的是,可信执行环境(Trusted Execution Environment,TEE)是CPU内的一个安全区域。它运行在一个独立的环境中且与操作系统并行运行。CPU确保TEE中代码和数据的机密性和完整性都得到保护。通过同时使用硬件和软件来保护数据和代码,TEE比操作系统更加安全。在TEE中运行的受信任应用程序可以访问设备主处理器和内存的全部功能,而硬件隔离保护这些组件不受主操作系统中运行的用户安装应用程序的影响。故运行在TEE中的代码和数据,是保密且不可篡改的。
具体的,TEE在不同CPU上有不同的实现方案,例如在Intel的CPU上实现TEE的技术为软件保护扩展(Software Guard Extensions,SGX),为硬件级的隐私保护计算技术,使应用程序能够在信任的执行环境中执行代码和保护秘密,让开发者直接控制他们的应用程序安全;而在ARM芯片,也就是一般移动终端CPU上实现TEE的技术为TrustZone,且由于ARM由不同厂商定制,实际方案有很多,例如Kinibi、QSEE、TEE OS、Knox等,具体的可信执行环境下的隐私保护计算技术由实际场景而定,此处以SGX为例进行说明,并不做限定。
在一种可能的场景中,如图4所示,图4为本申请实施例提供的一种基于可信执行环境的数据处理方法的场景示意图。图中涉及了三个强参与方(sponsor)与三个弱参与方(partner)的网络场景,其中,每个强参与方对应了各自的可信执行环境,且强参与方之间可以进行相互的数据传输以及协商,而弱参与方之间需要通过强参与方作为中介进行数据的传输。具体的,即强参与方本地部署TEE环境,用于解密各方隐私数据集合并求交;而弱参与方无需部署本地TEE环境。每一个参与方会将本地隐私数据集合经加密后上传到每个强参与方,在其TEE内部进行解密和集合求交计算。
可以理解的是,上述数量仅为示例,在实际场景中,可以包含更多的强参与方与弱参与方,而对于数量下限,则需要满足强参与方数量大于等于1且参与方总数大于等于2,在满足该条件的前提下,强参与方与弱参与方的数量可以进行任意配比。
可选的,在确定参与方的类型时,还可以基于通信信息进行设定,即首先遍历所有参与方中的通信信息,即通信过程的设备,由于可信执行环境一般通过内网通信进行,而参与方之间采用外网通信,故可以优先基于内网通信模式进行筛选;然后基于通信信息确定存在可信执行环境的参与方,以确定强参与方集合;并基于通信信息确定不存在可信执行环境的参与方,以确定弱参与方集合,从而保证了参与方类型设定的准确性。
可选的,在参与方之间还可以进行远程验证,即验证设备的合法性。具体的,验证设备的过程可以是首先确定所有参与方中的强参与方集合和弱参与方集合。然后强参与方集合中的强参与方两两进行双向远程证明,以进行强参与方集合的设备验证,例如验证可信执行环境的部署状态或内部代码的完整性。进而弱参与方集合中的弱参与方向每个强参与方发起单向证明,以进行弱参与方集合的设备验证。由于考虑到强参与方中具体可信执行环境,故首先进行强参与方之间相互验证,然后进行弱参与方向强参与方发起单向验证,从而保证了验证过程的安全性。
302、强参与方将公私钥对中的公钥广播至用于执行目标任务的所有参与设备。
本实施例中,为了实现在强参与方的可信执行环境中执行目标任务,可以将公私钥对中的公钥进行广播。
可以理解的是,公钥广播的过程可以是在目标任务确定之前进行的,即对于参与方设定的过程中进行的,具体的次序因实际场景而定。
303、强参与方生成目标密钥,并基于目标密钥对私密数据进行加密得到目标加密数据。
本实施例中,强参与方在本地生成目标密钥的过程可以是基于对称加密算法进行的,这是考虑到对称加密算法的时效性,从而提高解密过程的效率,故在下述实施例中目标密钥可以采用对称密钥进行表述。可以理解的是,其他的具有加密功能的算法也包含在本申请实施例中,具体的加密设定应实际场景而定。
在一种可能的场景中,各参与方在本地生成一个对称加密算法密钥Key,具体的对称加密算法可以使用但不仅限于AES-GCM加密算法,从而对本地的私密数据进行初步的加密,得到目标加密数据,其中,私密数据对应于样本标识(SID),并以数据表的形式展现,从而便于数据的选取,例如私密数据对应的数据表中包含以样本标识(1-12)标记的数据。
可选的,在执行对称加密算法之前,还可以对所有参与目标任务的参与方中的数据对应的样本标识(SID)进行加盐加密以得到加密标识(HID),其中加盐加密是一种对系统登录口令的加密方式,即将每一个数据跟一个n位随机数相关联,这个n位随机数叫做“盐”(salt),即哈希盐值,从而提高私密数据的安全性。其中,哈希盐值可以是参与目标任务的参与方事先标记的,即存储在历史记录中的值,也可以是进行协商而得的值。
具体的,对于哈希盐值的协商确定的过程可以是:参与方的远程验证成功后,强参与方进行协商,以得到参与方之间统一的哈希盐值,并广播给所有参与方。由于强参与方具有TEE,其处理的数据较弱参与方安全性更高,因而由强参与方进行哈希盐值的协商。所有参与方基于哈希盐值对本地的私密数据中的SID进行加盐得到HID,该HID对应的数据即为加盐数据。进而所有参与方根据对称加密算法在参与方的本地生成对称密钥,以基于对称密钥对加盐数据进行加密得到目标加密数据。从而提高了执行目标任务的参与方的网络架构中数据传输的安全性。
可以理解的是,目标任务为涉及各个参与方中数据处理的任务,例如目标任务可以是对于所有参与方中的隐私数据进行隐私集合求交,也可以是提取所有参与方中指定的数据进行合并、比对等处理方式,具体的任务形式因实际场景而定。
在一种可能的场景中,为了充分利用各个强参与方的TEE空间,即单个TEE空间的资源有限,可以将各个参与方的部分私密数据在处理网络中均匀分布,其中,处理网络用于指示对于执行目标任务的参与方的网络架构。具体的,可以通过分桶的方式进行私密数据的分布,即每个桶内放置数量相似的数据。即首先根据强参与方的数量对HID进行分桶,以得到桶序列;然后根据对称加密算法在参与方的本地生成对称密钥,以基于对称密钥对桶序列进行加密得到目标加密数据,从而提高了私密数据的执行效率。
可选的,对于分桶的方式,可以采用取模计算进行,即将取模值相同的部分私密数据聚合到同一个桶中;具体的,即将加盐数据对强参与方的数量进行取模计算,以得到取模值;基于取模值进行分桶,以得到桶序列。在一种可能的场景中,结合图4所示的场景架构,对一种可能的分桶场景进行说明,如图5所示,图5为本申请实施例提供的另一种基于可信执行环境的数据处理方法的场景示意图。图中示出了某一参与方(强参与方或弱参与方)本地的私密数据,该私密数据对应的数据表包含了样本标识(1-12)的数据,由于图4所示的场景架构中包含3个强参与方,故将上述样本标识i对3取模(i mod 3),从而基于取模值进行分桶,可以得到取模值=0的桶中包含样本标识(3、6、9、12)的数据,取模值=1的桶中包含样本标识(1、4、7、10)的数据,取模值=2的桶中包含样本标识(2、5、8、11)的数据,进而将分桶后的数据进行加密处理(加盐)后输入对应的强参与方,为了便于数据的溯源,可以将取模值与强参与方的标识向对应,即取模值=1的桶数据输入强参与方1中,保证了各个参与方中样本标识相同的数据输入同一强参与方中,从而便于数据的查询,提高数据处理效率,且保证不同参与方相同的桶号发送到同一个强参与方,提高处理海量数据的并行能力和扩展能力。
另外,为了提高桶内的计算效率,还可以获取桶序列中包含的加盐数据的样本标识;然后基于样本标识对桶序列中包含的加盐数据进行排序,以对桶序列进行更新,从而便于进行隐私数据集合求交过程中的流式计算,提高数据处理效率。
304、强参与方基于接收到的广播公钥分别对目标密钥进行加密,以得到加密密钥。
本实施例中,目标密钥可以采用对称加密算法所得,也称为对称密钥。另外,加密密钥用于发送给强参与方,例如对称密钥为key0,接收到的各个强参与方发送的广播公钥为(PK0、PK1、PK2…),则加密密钥为根据每一个广播公钥分别对key0进行加密所得密钥的集合,从而在广播到其他参与方后,只有配置了与广播公钥对应的私钥的强参与方才能获取到私密数据,一方面提高了数据的安全性,另一方面,由于对每个广播公钥进行处理,无需额外的识别过程,便于所有参与方实现上述加密过程的便利性。
可以理解的是,由于强参与方会向所有的参与方广播公钥,为了保证步骤302中的目标加密数据在发送到强参与方后在可信执行环境中才能解密,故可以基于接收到的广播公钥分别对对称密钥进行加密,从而实现了两层嵌套加密的升级,由于在TEE外部使用非对称密钥加密对称密钥,有效保护对称密钥的安全性。对应的,对于解密过程,通过参与方本地使用对称密钥加密本地隐私数据,然后在TEE内部使用对称密钥解密隐私数据,保证了解密过程的安全性,且结合了对称加密的高效性和非对称加密的安全性,在保证数据安全的同时提高了解密的效率。
可选的,对应于步骤303中分桶后的目标加密数据,即对每个桶对应的对称密钥基于广播公钥进行加密,从而保证分桶后的数据亦可以被相应的强参与方解密。
305、强参与方发送加密密钥及目标加密数据至其他的强参与方。
本实施例中,强参与方将基于接收到的广播公钥对本方目标密钥加密所得的加密密钥,以及该强参与方基于本地私密数据所得目标加密数据发送至其他的强参与方;从而便于其他的参与方进行双层解密的过程,并根据解密得到的私密数据执行目标任务。
306、强参与方接收其他的参与设备发送的目标加密数据和加密密钥,在可信执行环境中基于公私钥对中的私钥对接收的加密密钥解密得到目标密钥。
本实施例中,加密密钥即相当于目标加密数据的外部嵌套的加密过程,可以理解为对于目标加密数据的对称加密密钥的保护,由于该外部嵌套由可信执行环境内部的私钥解密,从而使得强参与方不能在可信执行环境外部进行私密数据的获取,充分利用了非对称加密的安全性,保证了私密数据的安全性。
应当注意的是,本步骤中强参与方接收的加密密钥为其他参与设备发送的,而步骤305中的加密密钥为该强参与方在本地生成的加密密钥,两者并不等同。
可以理解的是,对于目标加密数据由分桶处理而得的场景,在每个强参与方中接收到的目标加密数据仅为相应取模值对应的数据,为参与方本地数据的一部分,从而实现了私密数据的分布式处理过程,且可以并行处理,提高了数据处理效率。
307、强参与方在可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的参与设备对应的目标数据集合。
本实施例中,目标密钥可以采用对称加密算法所得,通过步骤305中的私钥的解密过程,保证了解密过程发生在在可信执行环境中,进而利用对称加密的高效性,在可信执行环境中进行各个参与方发送的私密数据的解密过程,解密之后即得到了其他的参与方的私密数据,即目标数据集合。
可以理解的是,对于分桶所得的目标加密数据,解密之后即得到了其他的参与方的部分私密数据,且这些私密数据为按照样本标识对应的,例如均为样本标识1、3、5的数据,从而减小了单个强参与方的数据处理量,提高了数据处理的效率。
308、强参与方在可信执行环境中基于其他的参与设备对应的目标数据集合及强参与方的私密数据执行目标任务,以得到数据交集,并将数据交集广播至所有的参与设备。
本实施例中,目标任务可以是隐私数据集合求交(Private Set Intersection,PSI),即对于若干参与方,每一方拥有私有数据集合(私密数据),目标是让所有参与方获悉这些集合的公共交集,同时保证非交集的内容不泄露。
可以理解的是,在计算过程中,私密数据可以是采用样本标识的形式输入并处理的,在中间计算过程可以隐藏各参与方全部SID集合的大小信息,提供额外的隐私信息保护。
在一种可能的场景中,参与方可以作为联邦学习任务中的任务参与方,则对应联邦学习任务的执行过程,可以首先确定联邦学习任务中的目标样本,例如待学习项,其中联邦学习任务亦可以是上述隐私数据集合求交的过程;然后基于目标样本从数据交集中进行数据提取,以得到联邦学习数据,具体的数据提取过程即采用上述步骤301-305的方法;进而基于联邦学习数据执行联邦学习任务,例如进行联邦学习任务的训练。
可选的,在联邦学习场景中,还可以是任一参与方接收的联邦学习任务,然后扩展至其他参与方进行联邦学习任务共同执行的过程,即首先确定接收数据交集广播的目标设备;然后将目标设备与联邦学习任务进行关联,以将目标设备标记为任务参与方,从而提高了联邦学习任务的效率。
结合上述实施例可知,通过确定用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方。强参与方包括可信执行环境,各强参与方在可信执行环境中生成公私钥对,公私钥对中的私钥保存在可信执行环境中;然后强参与方将公私钥对中的公钥广播至用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方;接下来强参与方生成目标密钥,并基于目标密钥对私密数据进行加密得到目标加密数据;强参与方基于接收到的广播公钥分别对目标密钥进行加密,以得到加密密钥;强参与方发送加密密钥及目标加密数据至其他的强参与方;然后强参与方接收其他的参与设备发送的目标加密数据和加密密钥,在可信执行环境中基于公私钥对中的私钥对接收的加密密钥解密得到目标密钥;接下来强参与方在可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的参与设备对应的目标数据集合;进而强参与方在可信执行环境中基于其他的参与设备对应的目标数据集合及强参与方的私密数据执行目标任务,以得到数据交集,并将数据交集广播至所有的参与设备。从而实现去中心化的数据处理过程,由于数据处理的过程中数据只在参与设备之间传输,不存在除参与设备之外的第三方,减小了数据泄露的风险,且通过对称加密算法和非对称加密算法将各个参与设备的私密设备传输至强参与方的可信执行环境中进行,进一步提高了数据处理的安全性。
为了便于上述实施例中分桶加密过程的理解,下面结合具体的场景对分桶加密处理过程中强参与方与弱参与方的执行过程进行说明。如图6所示,为本申请实施例提供的另一种基于可信执行环境的数据处理方法的流程图,本申请实施例至少包括以下步骤:
601、强参与方发起双向远程证明。
本实施例中,强参与方的执行过程是对于多个强参与方的共同执行过程,也可以是对于一个强参与方的执行逻辑,具体数量因实际场景而定,此处不做限定。
具体的,双向远程证明即为多个强参与方之间的设备验证过程,可以包括TEE的验证以及代码完整性的验证。
602、弱参与方发起单向远程证明。
本实施例中,弱参与方的执行过程是对于多个弱参与方的共同执行过程,也可以是对于一个弱参与方的执行逻辑,具体数量因实际场景而定,此处不做限定。
本实施例中,弱参与方通过向每个强参与方发起单向远程证明,以保证弱参与方设备的可信度。
603、强参与方协商统一的哈希盐值。
本实施例中,强参与方通过协商统一的哈希盐值作为所有参与方的特征标识,只有收到该哈希盐值的设备才能参与目标任务的执行。
604、强参与方向弱参与方发送统一的哈希盐值。
本实施例中,通过向弱参与方发送统一的哈希盐值保证了弱参与方的可信度。
605、强参与方配置公私钥对,并将公钥广播。
本实施例中,各强参与方在TEE内部生成非对称加密算法公私钥对(PK,SK),其中SK保存在TEE内部,PK广播给所有参与方。具体的配置过程采用非对称加密算法具有公钥加密-私钥解密、私钥签名-公钥验证的特点,该非对称加密算法可以使用但不仅限于RSA算法。
606、强参与方对本地私密数据对应的数据标识进行加盐处理。
607、弱参与方对本地私密数据对应的数据标识进行加盐处理。
本实施例中,步骤606-607即为强参与方与弱参与方对各自本地数据标识加盐处理的过程,即SID加盐得到HID的过程,其次序可以是同时进行的,也可以是分别进行的,具体次序因实际场景而定,此处不做限定。
608、强参与方对加盐后的数据标识进行分桶处理,以得到桶序列。
609、弱参与方对加盐后的数据标识进行分桶处理,以得到桶序列。
本实施例中,步骤608-609即为强参与方与弱参与方对各自加盐后的数据标识进行分桶处理,以得到桶序列的过程,该加盐后的数据标识即为加盐数据;具体的分桶处理过程参见图3所示实施例步骤302中的描述,此处不做赘述。
另外,步骤608-609的次序可以是同时进行的,也可以是分别进行的,具体次序因实际场景而定,此处不做限定。
可选的,在确定桶序列之后,还可以对桶序列中的数据进行排序,即按照升序或降序进行排列,从而便于流式计算的过程。
610、强参与方根据对称加密密钥加密桶序列中的私密数据。
611、弱参与方根据对称加密密钥加密桶序列中的私密数据。
本实施例中,步骤610-611即为强参与方与弱参与方对各自本地数据加盐处理的过程,即对于每个加盐所得的HID,基于对称加密密钥key进行处理,其次序可以是同时进行的,也可以是分别进行的,具体次序因实际场景而定,此处不做限定。
612、强参与方根据接收的公钥分别对对称加密密钥进行加密。
613、弱参与方根据接收的公钥分别对对称加密密钥进行加密。
本实施例中,步骤612-613即为强参与方与弱参与方对各自根据接收的公钥分别对对称加密密钥进行加密的过程,即对于对称加密密钥key,分别采用不同强参与方发送的公钥PK进行加密处理。其次序可以是同时进行的,也可以是分别进行的,具体次序因实际场景而定,此处不做限定。
614、强参与方根据桶号发送数据到对应的强参与方。
615、弱参与方根据桶号发送数据到对应的强参与方。
本实施例中,步骤614-615即为强参与方与弱参与方对各自根据桶号发送数据到对应的强参与方的过程,即将分桶后的数据分别发送到对应的强参与方。其次序可以是同时进行的,也可以是分别进行的,具体次序因实际场景而定,此处不做限定。
616、强参与方接收所有参与方发送的桶密文以及加密密钥。
本实施例中,强参与方接收的桶密文以及加密密钥不仅包括弱参与方发送的,也包括其他强参与方发送的,从接收到按照SID分布的数据。
617、强参与方在可信执行环境中解密,以得到对应的参与方的私密数据。
本实施例中,由于桶密文采用公钥与加密密钥的双重保护,需要先输入可信执行环境中基于私钥进行解密得到对称密钥,然后基于对称密钥进行对称解密,以得到对应的参与方的私密数据,从而保证私密数据的安全性。
618、强参与方执行隐私数据集合求交任务。
本实施例中,执行隐私数据集合求交任务的过程在可信执行环境中进行,该隐私数据集合求交任务即对于多个私密数据组成的目标数据集合的执行过程。
619、强参与方向所有的参与方广播求交结果。
本实施例中,强参与方在确定各自桶密文的求交结果后进行广播,使得其他强参与方与弱参与方接收该部分的结果。
620、强参与方向弱参与方发送求交结果。
本实施例中,每个强参与方均向弱参与方发送各自部分的求交结果。
621、强参与方接收求交结果并与本地处理结果融合,得到目标结果。
本实施例中,由于强参与方存在本地处理的部分结果,故需要将接收的求交结果与本地结果进行融合,从而得到目标结果。例如对于样本标识(1-9)的数据,存在三个强参与方,强参与方0处理样本标识(3、6、9),强参与方1处理样本标识(1、4、7),强参与方2处理样本标识(2、5、8),对于强参与方0而言,本地存在样本标识(3、6、9)的求交结果,此时需要将接收的样本标识(1、4、7)以及样本标识(2、5、8)的求交结果进行融合,即可得到整体的求交结果。
622、弱参与方根据接收的求交结果确定目标结果。
本实施例中,弱参与方将接收到的所有结果进行融合,从而得到目标结果。
可以理解的是,本实施例将不涉及私密数据计算的过程尽可能放在安全飞地enclave外进行,具体包括:SID的加盐哈希过程;HID的排序过程和加密过程。同时对海量数据的分桶机制保证了数据可以并行化处理,在安全飞地外部可以用充分利用参与方本地的计算资源(如超级计算机或分布式集群)。
在一种可能的场景中,可以将本申请的方案的执行效率与中心化处理的软件方案(MPC)在相同计算资源下的时间效率对比,具体如表1所示。
表1多方安全计算方案与本申请的任务执行效率对比
隐私数据集合求交对象数量 MPC 本申请
1.5亿∩9亿 74min 27min
100万∩100万∩100万 12min 2min
另外,除了效率的提示,本申请的安全性也得到提升,对比中心化的SGX方案,本申请提出的去中心化的方案可以保护计算结果不被非参与方获知;对比MPC软件方案,本申请提出的方案在中间计算过程可以隐藏各参与方全部SID集合的大小信息,提供额外的隐私信息保护。
其次,本申请的扩展性也得到提升,即本申请提出的方案具有很好的通用性,可以通过一次求交过程得到任意数量参与方的交集,无需两两求交;同时具有部署灵活的优点,对于具备较强安全计算能力的参与方可以部署TEE参与PSI过程,对于数据较少或者算力不足的参与方也可以仅提供加密数据。且去中心化的网络拓扑结构具有非常好的扩展性和安全性。
下面结合一种具体的场景实例对上述强参与方与弱参与方的执行过程进行说明,如图7所示,为本申请实施例提供的另一种基于可信执行环境的数据处理方法的场景示意图,在该场景中参与方包括强参与方0、强参与方1、弱参与方0以及弱参与方1,下面对每个设备的过程进行说明。
对于强参与方0,包含如下执行步骤:
步骤1:进行远程证明。
步骤2:协商全局哈希盐值(salt)并广播至其他参与方。
步骤3:可信执行环境0中生成(PK0,SK0),并广播PK0。
步骤4:接收强参与方1发送的PK1。
步骤5:本地SID加盐计算哈希得到加盐数据(HID),并对HID进行分桶得到桶序列Bi(i∈[0,m]):B0,B1,…,Bm。
步骤6:Bi(i∈[0,m])中的HID进行排序。
步骤7:本地生成key0,使用key0加密本地数据,分别使用PK0、PK1加密key0得到EncrK00,EncrK10。
步骤8:将Bj(j mod 2=1)和EncrK10发送至强参与方1。
步骤9:接收所有的Bi(i mod 2=0),并发送给本地的可信执行环境计算交集(若排序过,则进行流式计算)。
步骤10:从可信执行环境中读取数据交集并广播。
步骤11:接收Bj(j mod 2=1)结果,并与本地Bi(i mod 2=0)合并为最终数据交集。
对于强参与方1,包含如下执行步骤:
步骤1:进行远程证明。
步骤2:协商全局哈希盐值(salt)并广播至其他参与方。
步骤3:可信执行环境1中生成(PK1,SK1),并广播PK1。
步骤4:接收强参与方0发送的PK0。
步骤5:本地SID加盐计算哈希得到加盐数据(HID),并对HID进行分桶得到桶序列Bi(i∈[0,m]):B0,B1,…,Bm。
步骤6:Bi(i∈[0,m])中的HID进行排序。
步骤7:本地生成key1,使用key1加密本地数据,分别使用PK0、PK1加密key1得到EncrK01,EncrK11。
步骤8:将Bi(i mod 2=0)和EncrK10发送至强参与方0。
步骤9:接收所有的Bj(j mod 2=1),并发送给本地的可信执行环境计算交集(若排序过,则进行流式计算)。
步骤10:从可信执行环境中读取数据交集并广播。
步骤11:接收Bi(i mod 2=0)结果,并与本地Bj(j mod 2=1)合并为最终数据交集。
对于弱参与方0,包含如下执行步骤:
步骤1:进行远程证明。
步骤2:接收强参与方发送的哈希盐值(salt)并广播至其他参与方。
步骤3:接收强参与方发送的PK0、PK1,并广播至其他参与方。
步骤4:接收salt、PK0、PK1。
步骤5:本地SID加盐计算哈希得到加盐数据(HID),并对HID进行分桶得到桶序列Bi(i∈[0,m]):B0,B1,…,Bm。
步骤6:Bi(i∈[0,m])中的HID进行排序。
步骤7:本地生成key2,使用key2加密本地数据,分别使用PK0、PK1加密key2得到EncrK02,EncrK12。
步骤8:将Bi(i mod 2=0)和EncrK02发送至强参与方0。
步骤9:将Bj(j mod 2=1)和EncrK12发送至强参与方1。
步骤10:接收所有桶合并而得的最终数据交集。
对于弱参与方1,包含如下执行步骤:
步骤1:进行远程证明。
步骤2:接收强参与方发送的哈希盐值(salt)并广播至其他参与方。
步骤3:接收强参与方发送的PK0、PK1,并广播至其他参与方。
步骤4:接收salt、PK0、PK1。
步骤5:本地SID加盐计算哈希得到加盐数据(HID),并对HID进行分桶得到桶序列Bi(i∈[0,m]):B0,B1,…,Bm。
步骤6:Bi(i∈[0,m])中的HID进行排序。
步骤7:本地生成key3,使用key3加密本地数据,分别使用PK0、PK1加密key3得到EncrK03,EncrK13。
步骤8:将Bi(i mod 2=0)和EncrK03发送至强参与方0。
步骤9:将Bj(j mod 2=1)和EncrK13发送至强参与方1。
步骤10:接收所有桶合并而得的最终数据交集。
可以理解的是对于上述不同设备之间的执行次序与该设备的处理能力相关,具体的相对时间关系因实际场景而定,此处不做限定。
通过上述实施例可见,通过去中心化的数据处理过程,保证了数据流动的安全性,且通过双层嵌套式的加密,充分利用了非对称加密算法的安全性以及对称加密算法的高效性,进一步提高了数据的安全性。
在一种可能的场景中,上述数据处理的方法可以应用于联邦学习的场景中,即每个参与方均作为联邦学习任务的参与方,具体如图8所示,为本申请实施例提供的另一种基于可信执行环境的数据处理方法的场景示意图。图中示出了n个参与方,相当于n个参与设备,其中,参与方1包含的私密数据对应的数据标识(样本ID)为(0、1、3、6、11、12、18、20、21),参与方2包含的私密数据对应的数据标识为(1、2、4、5、7、8、10、11、15、20),参与方n包含的私密数据对应的数据标识为(0、1、6、11、20、26、29);然后将n个参与方的私密数据输入样本对齐模块,该样本对齐模块即用于执行本申请中数据处理的过程,从而得到上述n个参与方的交集,即数据标识为(1、11、20)部分对应的私密数据;或执行图3所示实施例的步骤301-305的过程,即各个强参与方在确定交集结果后直接输出交集项,并不进行广播到其他参与方的过程。
在求交结果后即可确定交集项,从而输入联邦训练模块执行联邦学习任务,保证了交集项之外私密数据的安全。
具体的,上述联邦学习任务的执行过程如图9所示,为本申请实施例提供的另一种基于可信执行环境的数据处理方法的流程图。具体包括但不限于如下步骤:
901、确定联邦学习任务中的目标样本。
本实施例中,目标样本可以是联邦学习任务指定的样本,例如医院指定的肺部图像数据,或统计公司指定的8月份财务报表等,具体的样本形式因实际场景而定。
902、基于目标样本从数据交集中进行数据提取,以得到联邦学习数据。
本实施例中,数据提取的过程参见图3或图6所示的过程,此处不做赘述。
903、基于联邦学习数据执行联邦学习任务。
本实施例中,通过基于目标样本在于不同参与方的数据提取,在提取过程中即实现了数据传输的安全性,即除目标样本外的样本数据不会被输出;且实现了高效的数据提取过程。
具体的,在一种可能的场景中,联邦学习任务为样本对齐任务。即联邦学习的场景是参与方各自拥有一部分隐私数据,不同参与方的数据具有不同维度的特征(比如某市一家银行拥有居民的财务信息,同时该市一家医院拥有居民的就医记录),该纵向联邦学习的目标是汇总这些信息训练机器学习模型,同时保证隐私数据不出库。为了实现这一目标,需要进行样本对齐,即在各参与方标记出属于样本ID交集部分的数据用于联邦训练(比如哪些居民既注册了银行账户又注册了医院病历),该需求的本质是对各方样本ID进行隐私数据集合求交。图9给出了本发明在产品侧的功能表现:作为联邦任务的多方样本对齐模块,将纵向联邦学习的场景从两个参与方扩展到多个参与方。参与方通过调用该模块的联邦样本对齐算法,得到交集样本ID,为后续进行联邦建模准备训练数据,从而提高了联邦学习的效率及数据安全性。
为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图10,图10为本申请实施例提供的一种基于可信执行环境的数据处理装置的结构示意图,基于可信执行环境的数据处理装置1000包括:
加密单元1001,用于在可信执行环境中生成公私钥对,所述公私钥对中的私钥保存在所述可信执行环境中;
广播单元1002,用于将所述公私钥对中的公钥广播至用于执行目标任务的所有参与设备,所述参与设备包括至少一个所述强参与方与至少一个弱参与方;
所述加密单元1001,还用于生成目标密钥,并基于所述目标密钥对私密数据进行加密得到目标加密数据;
所述加密单元1001,还用于基于接收到的广播公钥分别对所述目标密钥进行加密,以得到加密密钥;
所述广播单元1002,还用于发送所述加密密钥及所述目标加密数据至其他的强参与方;
接收单元1003,用于接收其他的所述参与设备发送的目标加密数据和加密密钥,在所述可信执行环境中基于所述公私钥对中的私钥对接收的加密密钥解密得到目标密钥;
处理单元1004,用于在所述可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的所述参与设备对应的目标数据集合;
所述处理单元1004,还用于在所述可信执行环境中基于其他的所述参与设备对应的目标数据集合及所述强参与方的私密数据执行所述目标任务,以得到数据交集,并将所述数据交集广播至所有的所述参与设备。
可选的,在本申请一些可能的实现方式中,所述加密单元1001,具体用于基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
所述加密单元1001,具体用于根据对称加密算法在所述参与设备的本地生成所述对称密钥,以基于所述对称密钥对所述加盐数据进行加密得到所述目标加密数据。
可选的,在本申请一些可能的实现方式中,所述加密单元1001,具体用于根据所述强参与方的数量对所述加盐数据进行分桶,以得到桶序列;
所述加密单元1001,具体用于根据对称加密算法在所述参与设备的本地生成所述对称密钥,以基于所述对称密钥对所述桶序列进行加密得到所述目标加密数据。
可选的,在本申请一些可能的实现方式中,所述加密单元1001,具体用于将所述加盐数据对所述强参与方的数量进行取模计算,以得到取模值;
所述加密单元1001,具体用于基于所述取模值进行分桶,以得到所述桶序列。
可选的,在本申请一些可能的实现方式中,所述处理单元1004,具体用于获取所述桶序列中包含的所述加盐数据的样本标识;
所述处理单元1004,具体用于基于所述样本标识对所述桶序列中包含的所述加盐数据进行排序,以对所述桶序列进行更新。
可选的,在本申请一些可能的实现方式中,所述处理单元1004,具体用于获取所述可信执行环境的输出数据;
所述处理单元1004,具体用于基于所述私钥对所述输出数据进行签名,以得到签名数据,所述签名数据用于指示数据接收方基于所述公钥进行合法性验证。
可选的,在本申请一些可能的实现方式中,所述处理单元1004,具体用于确定多个所述参与设备中的强参与方集合和弱参与方集合;
所述处理单元1004,具体用于向所述强参与方集合中的强参与方发送远程证明,以进行所述强参与方集合的设备验证;
所述处理单元1004,具体用于控制所述弱参与方集合中的弱参与向所述强参与方发起单向证明,以进行所述弱参与方集合的设备验证。
可选的,在本申请一些可能的实现方式中,所述处理单元1004,具体用于遍历多个所述参与设备中的通信信息;
所述处理单元1004,具体用于基于所述通信信息确定存在所述可信执行环境的参与设备,以确定所述强参与方集合;
所述处理单元1004,具体用于基于所述通信信息确定不存在所述可信执行环境的参与设备,以确定所述弱参与方集合。
可选的,在本申请一些可能的实现方式中,所述处理单元1004,具体用于确定所述联邦学习任务中的目标样本;
所述处理单元1004,具体用于基于所述目标样本从所述数据交集中进行数据提取,以得到联邦学习数据;
所述处理单元1004,具体用于基于所述联邦学习数据执行所述联邦学习任务。
可选的,在本申请一些可能的实现方式中,所述处理单元1004,具体用于确定接收所述数据交集广播的目标设备;
所述处理单元1004,具体用于将所述目标设备与所述联邦学习任务进行关联,以将所述目标设备标记为所述任务参与方。
通过确定用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方。强参与方包括可信执行环境,各强参与方在可信执行环境中生成公私钥对,公私钥对中的私钥保存在可信执行环境中;然后强参与方将公私钥对中的公钥广播至用于执行目标任务的所有参与设备,参与设备包括至少一个强参与方与至少一个弱参与方;接下来强参与方生成目标密钥,并基于目标密钥对私密数据进行加密得到目标加密数据;强参与方基于接收到的广播公钥分别对目标密钥进行加密,以得到加密密钥;强参与方发送加密密钥及目标加密数据至其他的强参与方;然后强参与方接收其他的参与设备发送的目标加密数据和加密密钥,在可信执行环境中基于公私钥对中的私钥对接收的加密密钥解密得到目标密钥;接下来强参与方在可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的参与设备对应的目标数据集合;进而强参与方在可信执行环境中基于其他的参与设备对应的目标数据集合及强参与方的私密数据执行目标任务,以得到数据交集,并将数据交集广播至所有的参与设备。从而实现去中心化的数据处理过程,由于数据处理的过程中数据只在参与设备之间传输,不存在除参与设备之外的第三方,减小了数据泄露的风险,且通过对称加密算法和非对称加密算法将各个参与设备的私密设备传输至强参与方的可信执行环境中进行,进一步提高了数据处理的安全性。
本申请还提供另一种基于可信执行环境的数据处理装置,请参阅图11,图11为本申请实施例提供的另一种基于可信执行环境的数据处理装置的结构示意图,基于可信执行环境的数据处理装置1100包括:
加密单元1101,用于在本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据;
接收单元1102,用于接收强参与方广播的广播公钥,并基于所述广播公钥分别对所述目标密钥进行加密得到加密密钥;
发送单元1103,用于将所述目标加密数据和所述加密密钥发送到所述强参与方,以使得所述强参与方在可信执行环境中基于私钥对所述加密密钥中的对应项进行解密得到所述目标密钥,并根据所述目标密钥对所述目标加密数据进行解密,以得到目标数据集合;
所述接收单元1102,还用于接收所述强参与方发送的数据交集,所述数据交集为所述强参与方在所述可信执行环境中基于所述目标数据集合执行目标任务所得。
可选的,在本申请一些可能的实现方式中,所述加密单元1101,具体用于所述弱参与方接收所述强参与方发送的哈希盐值;
所述加密单元1101,具体用于基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
所述加密单元1101,具体用于根据参与设备中强参与方的数量对所述加盐数据进行取模计算,以得到桶序列;
所述加密单元1101,具体用于根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述桶序列进行加密得到所述目标加密数据。
本申请实施例还提供了一种终端设备,如图12所示,是本申请实施例提供的另一种终端设备的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图12示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图12,手机包括:射频(radio frequency,RF)电路1210、存储器1220、输入单元1230、显示单元1240、传感器1250、音频电路1260、无线保真(wireless fidelity,WiFi)模块1270、处理器1280、以及电源1290等部件。本领域技术人员可以理解,图12中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图12对手机的各个构成部件进行具体的介绍:
RF电路1210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1280处理;另外,将设计上行的数据发送给基站。通常,RF电路1210包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路1210还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1230可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1230可包括触控面板1231以及其他输入设备1232。触控面板1231,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1231上或在触控面板1231附近的操作,以及在触控面板1231上一定范围内的隔空触控操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1280,并能接收处理器1280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1231。除了触控面板1231,输入单元1230还可以包括其他输入设备1232。具体地,其他输入设备1232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1240可包括显示面板1241,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板1241。进一步的,触控面板1231可覆盖显示面板1241,当触控面板1231检测到在其上或附近的触摸操作后,传送给处理器1280以确定触摸事件的类型,随后处理器1280根据触摸事件的类型在显示面板1241上提供相应的视觉输出。虽然在图12中,触控面板1231与显示面板1241是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1231与显示面板1241集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1241的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1241和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1260、扬声器1261,传声器1262可提供用户与手机之间的音频接口。音频电路1260可将接收到的音频数据转换后的电信号,传输到扬声器1261,由扬声器1261转换为声音信号输出;另一方面,传声器1262将收集的声音信号转换为电信号,由音频电路1260接收后转换为音频数据,再将音频数据输出处理器1280处理后,经RF电路1210以发送给比如另一手机,或者将音频数据输出至存储器1220以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了WiFi模块1270,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器1220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1280可包括一个或多个处理单元;可选的,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。
手机还包括给各个部件供电的电源1290(比如电池),可选的,电源可以通过电源管理系统与处理器1280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1280还具有执行如上述页面处理方法的各个步骤的功能。
本申请实施例还提供了一种服务器,请参阅图13,图13是本申请实施例提供的一种服务器的结构示意图,该服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在服务器1300上执行存储介质1330中的一系列指令操作。
服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由管理装置所执行的步骤可以基于该图13所示的服务器结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有基于可信执行环境的数据处理指令,当其在计算机上运行时,使得计算机执行如前述图3至图9所示实施例描述的方法中基于可信执行环境的数据处理装置所执行的步骤。
本申请实施例中还提供一种包括基于可信执行环境的数据处理指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3至图9所示实施例描述的方法中基于可信执行环境的数据处理装置所执行的步骤。
本申请实施例还提供了一种基于可信执行环境的数据处理系统,所述基于可信执行环境的数据处理系统可以包含图10或图11所描述实施例中的基于可信执行环境的数据处理装置,或图12所描述实施例中的终端设备,或者图13所描述的服务器。
在一种可能的场景中,本申请中的基于可信执行环境的数据处理方法应用于区块链设备中,即强参与方、弱参与方或终端为区块链设备,且该区块链设备为区块链中的节点,下面结合附图进行说明;参见图14A所示的数据共享系统,数据共享系统1400是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点1401,多个节点1401可以是指数据共享系统中各个客户端。每个节点1401在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表2中仅以IP地址为例进行说明。
表2节点名称与节点标识的对应关系
节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
节点N 119.123.789.258
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图14B,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图14C,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
具体的,对于区块节点作为强参与方的场景,区块节点可以执行如下步骤:
区块节点强参与方在可信执行环境中生成公私钥对,所述公私钥对中的私钥保存在所述可信执行环境中;
区块节点将所述公私钥对中的公钥广播至用于执行目标任务的所有参与设备,所述参与设备包括至少一个所述强参与方与至少一个弱参与方;
区块节点生成目标密钥,并基于所述目标密钥对私密数据进行加密得到目标加密数据;
区块节点基于接收到的广播公钥分别对所述目标密钥进行加密,以得到加密密钥;
区块节点发送所述加密密钥及所述目标加密数据至其他的强参与方;
区块节点接收其他的所述参与设备发送的目标加密数据和加密密钥,在所述可信执行环境中基于所述公私钥对中的私钥对接收的加密密钥解密得到目标密钥;
区块节点在所述可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的所述参与设备对应的目标数据集合;
区块节点在所述可信执行环境中基于其他的所述参与设备对应的目标数据集合及所述强参与方的私密数据执行所述目标任务,以得到数据交集,并将所述数据交集广播至所有的所述参与设备。
可选的,在一种可能的场景中,区块节点在所述参与设备的本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据,包括:
区块节点触发所述强参与方进行协商,以得到所述参与设备之间统一的哈希盐值;
区块节点基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
区块节点根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述加盐数据进行加密得到所述目标加密数据。
可选的,在一种可能的场景中,区块节点根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述加盐数据进行加密得到所述目标加密数据,包括:
区块节点根据所述参与设备中强参与方的数量对所述加盐数据进行分桶,以得到桶序列;
区块节点根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述桶序列进行加密得到所述目标加密数据。
可选的,在一种可能的场景中,所述强参与方根据所述参与设备中强参与方的数量对所述加盐数据进行分桶,以得到桶序列,包括:
区块节点将所述加盐数据对所述参与设备中强参与方的数量进行取模计算,以得到取模值;
区块节点基于所述取模值进行分桶,以得到所述桶序列。
可选的,在一种可能的场景中,所述方法还包括:
区块节点获取所述桶序列中包含的所述加盐数据的样本标识;
区块节点基于所述样本标识对所述桶序列中包含的所述加盐数据进行排序,以对所述桶序列进行更新。
可选的,在一种可能的场景中,所述方法还包括:
区块节点获取所述可信执行环境的输出数据;
区块节点基于所述私钥对所述输出数据进行签名,以得到签名数据,所述签名数据用于指示数据接收方基于所述公钥进行合法性验证。
可选的,在一种可能的场景中,所述方法还包括:
区块节点确定所述参与设备中的强参与方集合和弱参与方集合;
区块节点向所述强参与方集合中的强参与方发送远程证明,以进行所述强参与方集合的设备验证。
可选的,在一种可能的场景中,所述参与设备为联邦学习任务中的任务参与方,所述方法还包括:
区块节点确定所述联邦学习任务中的目标样本;
区块节点基于所述目标样本从所述数据交集中进行数据提取,以得到联邦学习数据;
区块节点基于所述联邦学习数据执行所述联邦学习任务。
对于区块节点作为弱参与方的场景,区块节点可以执行如下步骤:
区块节点在本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据;
区块节点接收强参与方广播的广播公钥,并基于所述广播公钥分别对所述目标密钥进行加密得到加密密钥;
区块节点将所述目标加密数据和所述加密密钥发送到所述强参与方,以使得所述强参与方在可信执行环境中基于私钥对所述加密密钥中的对应项进行解密得到所述目标密钥,并根据所述目标密钥对所述目标加密数据进行解密,以得到目标数据集合;
区块节点接收所述强参与方发送的数据交集,所述数据交集为所述强参与方在所述可信执行环境中基于所述目标数据集合执行目标任务所得。
可选的,在一种可能的场景中,区块节点在本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据,包括:
区块节点接收所述强参与方发送的哈希盐值;
区块节点基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
区块节点根据参与设备中强参与方的数量对所述加盐数据进行取模计算,以得到桶序列;
区块节点根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述桶序列进行加密得到所述目标加密数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,基于可信执行环境的数据处理装置,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (15)

1.一种基于可信执行环境的数据处理方法,其特征在于,包括:
第一强参与方在可信执行环境中生成公私钥对,所述公私钥对中的私钥保存在所述可信执行环境中,所述第一强参与方用于负责隐私数据求交的参与方,其本地安全环境部署所述可信执行环境;
所述第一强参与方将所述公私钥对中的公钥广播至用于执行目标任务的所有参与设备,所述参与设备包括至少一个第二强参与方与至少一个弱参与方,所述参与设备中的弱参与方用于提供数据但不承担求交任务的参与方,所述第二强参与方用于负责隐私数据求交的参与方,其本地安全环境部署所述可信执行环境;
所述第一强参与方生成目标密钥,并基于所述目标密钥对私密数据进行加密得到目标加密数据;
所述第一强参与方基于接收到的广播公钥分别对所述目标密钥进行加密,以得到加密密钥;
所述第一强参与方发送所述加密密钥及所述目标加密数据至所述至少一个第二强参与方;
所述第一强参与方接收其他的所述参与设备发送的目标加密数据和加密密钥,在所述可信执行环境中基于所述公私钥对中的私钥对接收的加密密钥解密得到目标密钥;
所述第一强参与方在所述可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的所述参与设备对应的目标数据集合;
所述第一强参与方在所述可信执行环境中基于其他的所述参与设备对应的目标数据集合及所述第一强参与方的私密数据执行所述目标任务,以得到数据交集,并将所述数据交集广播至所有的所述参与设备。
2.根据权利要求1所述的方法,其特征在于,所述第一强参与方生成目标密钥,并基于所述目标密钥对私密数据进行加密得到目标加密数据,包括:
所述第一强参与方触发所述第一强参与方进行协商,以得到所述参与设备之间统一的哈希盐值;
所述第一强参与方基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
所述第一强参与方根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述加盐数据进行加密得到所述目标加密数据。
3.根据权利要求2所述的方法,其特征在于,所述第一强参与方根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述加盐数据进行加密得到所述目标加密数据,包括:
所述第一强参与方根据所述参与设备中第二强参与方的数量对所述加盐数据进行分桶,以得到桶序列;
所述第一强参与方根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述桶序列进行加密得到所述目标加密数据。
4.根据权利要求3所述的方法,其特征在于,所述第一强参与方根据所述参与设备中第二强参与方的数量对所述加盐数据进行分桶,以得到桶序列,包括:
所述第一强参与方将所述加盐数据对所述参与设备中第二强参与方的数量进行取模计算,以得到取模值;
所述第一强参与方基于所述取模值进行分桶,以得到所述桶序列。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述第一强参与方获取所述桶序列中包含的所述加盐数据的样本标识;
所述第一强参与方基于所述样本标识对所述桶序列中包含的所述加盐数据进行排序,以对所述桶序列进行更新。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一强参与方获取所述可信执行环境的输出数据;
所述第一强参与方基于所述私钥对所述输出数据进行签名,以得到签名数据,所述签名数据用于指示数据接收方基于所述公钥进行合法性验证。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
所述第一强参与方确定所述参与设备中的第二强参与方集合和弱参与方集合;
所述第一强参与方向所述强参与方集合中的第二强参与方发送远程证明,以进行所述强参与方集合的设备验证。
8.根据权利要求7所述的方法,其特征在于,所述参与设备为联邦学习任务中的任务参与方,所述方法还包括:
所述第一强参与方确定所述联邦学习任务中的目标样本;
所述第一强参与方基于所述目标样本从所述数据交集中进行数据提取,以得到联邦学习数据;
所述第一强参与方基于所述联邦学习数据执行所述联邦学习任务。
9.根据权利要求1所述的方法,其特征在于,所述第一强参与方通过内网与所述可信执行环境进行通信,所述弱参与方通过外网与其他的所述参与设备进行通信,所述公私钥对基于RSA算法所得,所述目标密钥由对称加密算法中的AES-GCM算法计算所得,所述目标任务为隐私数据集合求交任务。
10.根据权利要求1所述的方法,其特征在于,所述基于可信执行环境的数据处理方法应用于区块链设备,所述参与设备为所述区块链设备,所述区块链设备为区块链中的节点。
11.一种基于可信执行环境的数据处理方法,其特征在于,包括:
弱参与方在本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据,所述弱参与方用于提供数据但不承担求交任务的参与方;
所述弱参与方接收第一强参与方广播的广播公钥,并基于所述广播公钥分别对所述目标密钥进行加密得到加密密钥,所述第一强参与方用于负责隐私数据求交的参与方,其本地安全环境部署所述可信执行环境;
所述弱参与方将所述目标加密数据和所述加密密钥发送到所述第一强参与方,以使得所述第一强参与方在可信执行环境中基于私钥对所述加密密钥中的对应项进行解密得到所述目标密钥,并根据所述目标密钥对所述目标加密数据进行解密,以得到目标数据集合;
所述弱参与方接收所述第一强参与方发送的数据交集,所述数据交集为所述第一强参与方在所述可信执行环境中基于所述目标数据集合执行目标任务所得。
12.根据权利要求11所述的方法,其特征在于,所述弱参与方在本地生成目标密钥,以基于所述目标密钥对私密数据进行加密得到目标加密数据,包括:
所述弱参与方接收所述第一强参与方发送的哈希盐值;
所述弱参与方基于所述哈希盐值对本地的私密数据对应的数据标识进行加盐,以得到加盐数据;
所述弱参与方根据参与设备中第二强参与方的数量对所述加盐数据进行取模计算,以得到桶序列,所述参与设备用于执行所述目标任务,所述第二强参与方用于负责隐私数据求交的参与方,其本地安全环境部署所述可信执行环境;
所述弱参与方根据对称加密算法在本地生成所述目标密钥,以基于所述目标密钥对所述桶序列进行加密得到所述目标加密数据。
13.一种基于可信执行环境的数据处理装置,应用于第一强参与方,其特征在于,包括:
加密单元,用于在可信执行环境中生成公私钥对,所述公私钥对中的私钥保存在所述可信执行环境中,所述第一强参与方用于负责隐私数据求交的参与方,其本地安全环境部署所述可信执行环境;
广播单元,用于将所述公私钥对中的公钥广播至用于执行目标任务的所有参与设备,所述参与设备包括至少一个第二强参与方与至少一个弱参与方,所述参与设备中的弱参与方用于提供数据但不承担求交任务的参与方,所述第二强参与方用于负责隐私数据求交的参与方,其本地安全环境部署所述可信执行环境;
所述加密单元,还用于生成目标密钥,并基于所述目标密钥对私密数据进行加密得到目标加密数据;
所述加密单元,还用于基于接收到的广播公钥分别对所述目标密钥进行加密,以得到加密密钥;
所述广播单元,还用于发送所述加密密钥及所述目标加密数据至所述至少一个第二强参与方;
接收单元,用于接收其他的所述参与设备发送的目标加密数据和加密密钥,在所述可信执行环境中基于所述公私钥对中的私钥对接收的加密密钥解密得到目标密钥;
处理单元,用于在所述可信执行环境中根据解密得到的目标密钥对接收的目标加密数据进行解密,以得到其他的所述参与设备对应的目标数据集合;
所述处理单元,还用于在所述可信执行环境中基于其他的所述参与设备对应的目标数据集合及所述第一强参与方的私密数据执行所述目标任务,以得到数据交集,并将所述数据交集广播至所有的所述参与设备。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求1至10任一项所述的基于可信执行环境的数据处理方法,或权利要求11和12任一项所述的基于可信执行环境的数据处理方法。
15.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1至10任一项所述的基于可信执行环境的数据处理方法,或权利要求11和12任一项所述的基于可信执行环境的数据处理方法。
CN202110025039.9A 2021-01-08 2021-01-08 一种基于可信执行环境的数据处理方法以及相关装置 Active CN113395159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110025039.9A CN113395159B (zh) 2021-01-08 2021-01-08 一种基于可信执行环境的数据处理方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110025039.9A CN113395159B (zh) 2021-01-08 2021-01-08 一种基于可信执行环境的数据处理方法以及相关装置

Publications (2)

Publication Number Publication Date
CN113395159A CN113395159A (zh) 2021-09-14
CN113395159B true CN113395159B (zh) 2024-03-12

Family

ID=77616672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110025039.9A Active CN113395159B (zh) 2021-01-08 2021-01-08 一种基于可信执行环境的数据处理方法以及相关装置

Country Status (1)

Country Link
CN (1) CN113395159B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095157B (zh) * 2021-10-29 2023-10-24 上海浦东发展银行股份有限公司 密钥管理方法、装置、计算机设备及可读存储介质
CN114021187B (zh) * 2021-11-04 2023-02-28 云海链控股股份有限公司 一种数据处理系统、方法及电子设备
CN114091067A (zh) * 2021-11-24 2022-02-25 中国银联股份有限公司 一种样本对齐方法、装置、设备及存储介质
CN114244514B (zh) * 2022-02-21 2022-05-24 图灵人工智能研究院(南京)有限公司 一种基于车联网的数据安全处理方法
CN115021972B (zh) * 2022-05-10 2023-04-07 北京百度网讯科技有限公司 基于区块链的可信计算方法、装置、设备及介质
CN115021985B (zh) * 2022-05-23 2023-06-16 北京融数联智科技有限公司 一种无需第三方参与的逻辑回归模型训练方法及系统
CN115378725A (zh) * 2022-08-25 2022-11-22 新智我来网络科技有限公司 基于多方安全计算中的隐私保护方法及装置
CN115481440B (zh) * 2022-09-23 2023-10-10 中国电信股份有限公司 数据处理方法、装置、电子设备和介质
CN117938406A (zh) * 2022-10-14 2024-04-26 腾讯科技(深圳)有限公司 一种基于区块链的数据处理方法、设备以及可读存储介质
CN116436699B (zh) * 2023-06-09 2023-08-22 北京原语科技有限公司 基于加密方式的联邦学习数据安全训练方法及系统
CN116506227B (zh) * 2023-06-27 2023-09-19 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN116502732B (zh) * 2023-06-29 2023-10-20 杭州金智塔科技有限公司 基于可信执行环境的联邦学习方法以及系统
CN117034328B (zh) * 2023-10-09 2024-03-19 国网信息通信产业集团有限公司 一种改进的基于联邦学习的异常用电检测系统及方法
CN118094608B (zh) * 2024-04-29 2024-08-30 山东水文印务有限公司 水文数据管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019218919A1 (zh) * 2018-05-15 2019-11-21 华为技术有限公司 区块链场景下的私钥管理方法、装置及系统
CN111082934A (zh) * 2019-12-31 2020-04-28 支付宝(杭州)信息技术有限公司 基于可信执行环境的跨域安全多方计算的方法及装置
WO2020098377A1 (zh) * 2018-11-16 2020-05-22 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019218919A1 (zh) * 2018-05-15 2019-11-21 华为技术有限公司 区块链场景下的私钥管理方法、装置及系统
WO2020098377A1 (zh) * 2018-11-16 2020-05-22 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备
CN111082934A (zh) * 2019-12-31 2020-04-28 支付宝(杭州)信息技术有限公司 基于可信执行环境的跨域安全多方计算的方法及装置

Also Published As

Publication number Publication date
CN113395159A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
CN113395159B (zh) 一种基于可信执行环境的数据处理方法以及相关装置
CN109472166B (zh) 一种电子签章方法、装置、设备及介质
CN107592962B (zh) 用于对设备进行隐私保护分布式证实的系统、装置和方法
CN106850220B (zh) 数据加密方法、数据解密方法及装置
Zhu et al. Toward privacy preserving and collusion resistance in a location proof updating system
CN104821937B (zh) 令牌获取方法、装置及系统
CN111600710B (zh) 密钥存储方法、装置、终端、服务器及可读介质
Zheng et al. Location based handshake and private proximity test with location tags
CN110545190B (zh) 一种签名处理的方法、相关装置以及设备
CN110611905A (zh) 信息共享方法、终端设备、存储介质及计算机程序产品
CN107070909A (zh) 信息发送方法、信息接收方法、装置及系统
CN110674222B (zh) 一种数据共享方法、装置、设备及介质
CN104836664A (zh) 一种执行业务处理的方法、装置和系统
CN111475832B (zh) 一种数据管理的方法以及相关装置
WO2013143144A1 (en) Method and apparatus for secured social networking
CN108763876B (zh) 一种资源版权校验方法、装置以及设备
CN106255102B (zh) 一种终端设备的鉴定方法及相关设备
CN107317680B (zh) 安全账号的标记方法、系统及计算机可读存储介质
CN114039726B (zh) 一种密钥生成的方法、密钥获取的方法、相关装置及介质
CN107968999A (zh) 一种隐私保护方法及相关设备
US11310243B2 (en) Secure communication with an end device through an intermediary system
CN110572268B (zh) 一种匿名认证方法和装置
Zhong et al. Security and Privacy for Next-Generation Wireless Networks
CN104639394B (zh) 客户端使用人数的统计方法、装置和系统
CN114547082A (zh) 一种数据聚合的方法、相关装置、设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40053160

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant