CN113259100B - 基于tee的联邦推荐方法、装置、设备及介质 - Google Patents

基于tee的联邦推荐方法、装置、设备及介质 Download PDF

Info

Publication number
CN113259100B
CN113259100B CN202110609712.3A CN202110609712A CN113259100B CN 113259100 B CN113259100 B CN 113259100B CN 202110609712 A CN202110609712 A CN 202110609712A CN 113259100 B CN113259100 B CN 113259100B
Authority
CN
China
Prior art keywords
tee
edge
local
cloud
edge device
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
CN202110609712.3A
Other languages
English (en)
Other versions
CN113259100A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202110609712.3A priority Critical patent/CN113259100B/zh
Publication of CN113259100A publication Critical patent/CN113259100A/zh
Application granted granted Critical
Publication of CN113259100B publication Critical patent/CN113259100B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种基于TEE的联邦推荐方法、装置、设备及介质,该方法包括:基于云边端框架对任意两个边缘设备执行DH密钥交换协议并将生成的对称加密密钥存储于TEE的内存中;接收边缘设备发送的推送请求;在TEE中将存储于每个边缘设备的本地硬盘中的本地模型进行解密;在TEE中将每个边缘设备的本地数据输入至对应的解密后的本地模型中并采用对应的对称加密密钥将生成的中间结果进行加密后发送至推送请求对应的边缘设备中进行解密和推理计算以进行推送服务。本申请还涉及区块链技术,推送请求存储于区块链中。本发明基于数字签名技术,通过在TEE中执行DH协议以及云边端框架中数据的加密和处理,杜绝了在进行联邦推理过程中数据被篡改的可能性。

Description

基于TEE的联邦推荐方法、装置、设备及介质
技术领域
本发明涉及联邦推理技术领域,尤其涉及一种基于TEE的联邦推荐方法、装置、设备及介质。
背景技术
随着边缘计算的发展,云边端协同一体化已经成为人工智能领域的新趋势,智能边缘设备如智能网关,边缘小型云服务器等已广泛的进行了应用。边缘设备通过运行一系列人工智能相关应用提供数据处理,推理等服务应用于生活中,但是边缘端设备往往处于开放的网络环境和不安全的物理环境中,极易通过网络设备上安装嗅探器来截取数据报文,如截获云端向边缘设备推送的深度学习模型,或通过内存总线窥探、内存篡改等方式直接攻击内存中的数据,不仅导致用户隐私泄露,而且无法保证在进行联邦推理过程中数据不被篡改。
发明内容
本发明实施例提供了一种基于TEE的联邦推荐方法、装置、设备及介质,避免了用户隐私泄露,同时杜绝了在进行联邦推理过程中数据被篡改的问题。
第一方面,本发明实施例提供了一种基于TEE的联邦推荐方法,其包括:
基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中;
接收所述云边端框架中边缘设备发送的推送请求;
在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密;
在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果;
在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中;
在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务。
第二方面,本发明实施例提供了一种基于TEE的联邦推荐装置,其包括:
第一密钥生成单元,用于基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中;
接收单元,用于接收所述云边端框架中边缘设备发送的推送请求;
第一解密单元,用于在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密;
输入单元,用于在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果;
第一发送单元,用于在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中;
推送单元,用于在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务。
第三方面,本发明实施例又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于TEE的联邦推荐方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于TEE的联邦推荐方法。
本发明实施例提供了一种基于TEE的联邦推荐方法、装置、设备及介质,该方法包括:基于云边端框架预先在TEE中对任意两个边缘设备执行DH密钥交换协议并将生成的对称加密密钥存储于TEE的内存中;接收边缘设备发送的推送请求;在TEE中将存储于每个边缘设备的本地硬盘中的本地模型进行解密;基于每个本地模型的权重在TEE中将每个边缘设备的本地数据输入至对应的解密后的本地模型中并采用对应的对称加密密钥将生成的中间结果进行加密后发送至推送请求对应的边缘设备中并在TEE中进行解密和推理计算以进行相应的推荐。本发明实施例通过在TEE中执行DH协议以生成云边端框架中设备之间的密钥并保存于TEE的内存中,同时云边端框架中的数据的处理均处于TEE中,另外本地模型的参数均是在TEE中加密后放置于硬盘中,不仅避免了用户隐私的泄露,而且降低了在进行联邦推理过程中数据被篡改的可能性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于TEE的联邦推荐方法的流程示意图;
图2为本发明实施例提供的基于TEE的联邦推荐方法的另一流程示意图;
图3为本发明实施例提供的基于TEE的联邦推荐方法的子流程示意图;
图4为本发明实施例提供的基于TEE的联邦推荐方法的另一子流程示意图;
图5为本发明实施例提供的基于TEE的联邦推荐方法的另一流程示意图;
图6为本发明实施例提供的基于TEE的联邦推荐装置的示意性框图;
图7为本发明实施例提供的基于TEE的联邦推荐装置的子单元示意性框图;
图8为本发明实施例提供的基于TEE的联邦推荐装置的另一子单元示意性框图;
图9为本发明实施例提供的基于TEE的联邦推荐装置的另一子单元示意性框图;
图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的基于TEE的联邦推荐方法的流程示意图。该基于TEE的联邦推荐方法应用于云边端框架的云服务器中,该方法通过安装于云服务器中的应用软件进行执行。
下面对所述的基于TEE的联邦推荐方法进行详细说明。如图1所示,该方法包括以下步骤S110~S160。
S110、基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中。
具体的,云边端(Trusted Execution Environment)框架由终端、边缘网关与云端三部分组成,终端一般指拥有操作系统的智能设备,边缘网关指传统物联网中的网关,边缘网关的地理位置接近终端并为终端提供网络接入功能,是终端最易获取计算等资源的节点,云端指云计算中心,拥有强大的计算能力与存储资源,云端中可配置多个边缘网关,一个边缘网关可配置多个终端。需要说明的是,本发明中的边缘设备代指边缘网关,云服务器代指云端。TEE(Trusted Execution Environment,可信执行环境)是CPU内的一个安全区域,可确保TEE中代码和数据的机密性和完整性,运行于一个独立的环境中且与操作系统并行运行。由于TEE同时使用硬件和软件来保护数据和代码,因此TEE比操作系统更加安全,进而使得受信任应用程序在TEE中可以访问设备主处理器和内存的全部功能。DH(DiffieHellman)密钥交换协议是一种确保共享KEY安全穿越不安全网络的算法,是OAKLEY的一个组成部分,DH(Diffie Hellman)密钥交换协议目的在于使得通信的双方可安全地交换一个秘密密钥以便用于以后的报文加密。在本实施例中,云边端框架中的所有边缘设备之间均在TEE中执行了DH密钥交换协议,使得云边端框架中边缘设备之间均可进行加密数据的传输,进而保证了边缘设备之间进行数据传输时不被泄露,提高了数据的安全性能。
在另一实施例中,如图2所示,步骤S110之后还包括步骤S210、S220和S230。
S210、在所述TEE中执行云服务器与每个所述边缘设备的DH密钥交换协议并将生成的对称加密密钥存储于所述TEE的内存中。
在本实施例中,云边端框架中的云服务器与每个边缘设备均在TEE中执行了DH密钥交换协议,进而使得云服务器在与每个边缘设备进行数据传输时,均以加密的方式进行传输,进而保证了云服务器在与每个边缘设备进行数据传输时不被泄露,提高了数据的安全性能。其中,云服务器与边缘设备在TEE中执行DH密钥交换协议的步骤为:云服务器向边缘设备发送大素数p和素数g,云服务器生成随机数a,计算A=ga mod p;边缘设备生成随机数b,计算B=gb mod p,双方交换A,B,从而云服务器和边端可以得到对称加密密钥K,K=(gamod p)b mod p=(gb mod p)a mod p;其中,云服务器生成的对称加密密钥的计算为(gbmod p)a mod p,边缘设备生成的对称加密密钥的计算为(ga mod p)b mod p,云服务器在与边缘设备进行数据传输时,通过各自生成的对称加密密钥对传输的数据进行加密处理,传输完成后便可在TEE中进行解密。另外,云服务器在与边缘设备各自生成的对称加密密钥均存储于TEE的内存中,从而保证了密钥的安全。
S220、将每个所述本地模型的模型参数在所述TEE中采用对应的对称加密密钥进行加密,得到加密后的模型参数。
具体的,每个所述本地模型的模型参数为云边端框架中的云服务器中的联邦模型训练后生成的模型参数,每个所述本地模型的模型参数在通过云服务器发送给相应的边缘设备时,需将每个所述本地模型的模型参数在所述TEE中采用对应的对称加密密钥进行加密,以保证每个所述本地模型的模型参数在传输过程中的安全。每个所述本地模型在TEE中进行加密时,均采用云服务器与相应的边缘设备执行DH密钥交换协议后生成的对称加密密钥在TEE中进行加密,相应的边缘设备在接收到加密后的模型参数后,进行解密,便可完成边缘设备中的本地模型的参数更新。在本实施例中,每个本地模型的模型参数在TEE中采用对应的对称加密密钥进行加密的具体过程为:每个本地模型的模型参数在TEE中对对应的对称加密密钥执行sha256哈希,得到256bit长度编码,然后采用该编码对模型参数进行加密,便可得到加密后的模型参数。
S230、根据所述加密后的模型参数在所述TEE中更新每个所述本地模型。
具体的,相应的边缘设备在接收到加密后的模型参数后,根据与云服务器执行DH密钥交换协议后生成的对称加密密钥在TEE中进行解密,便可得到解密后的模型参数,然后根据解密后的模型参数在TEE中对该边缘设备中的本地模型进行更新,保证了本地模型更新过程中模型参数安全性,保障了模型不被篡改。
在另一实施例中,如图3所示,步骤S230包括子步骤S231和S232。
S231、将所述加密后的模型参数进行二进制序列化。
具体的,序列化是将对象的状态信息转换为可以存储或传输的形式的过程。序列化的目的是将数据分解成字节流,以便存储在文件中或在网络上传输。在本实施例中,所述加密后的模型参数采用二进制序列化后,所述加密后的模型参数被序列化为二进制串,进而便可实现云服务器与边缘设备之间进行传输。
S232、采用HTTPS协议将二进制序列化后的模型参数发送至对应的边缘设备中,并在所述TEE中进行本地模型的更新。
具体的,HTTPS协议(Hyper Text Transfer Protocol over Secure SocketLayer)为HTTP+SSL/TLS,即通过SSL/TLS证书来验证服务器的身份并为浏览器和服务器之间的通信进行加密,其中,SSL(Secure Socket Layer,安全套接字层)协议位于TCP/IP协议与各种应用层协议之间并为数据通讯提供安全支持;TLS(Transport Layer Security,传输层安全)用于在两个通信应用程序之间提供保密性和数据完整性,TSL由TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)组成;HTTP协议(Hyper Text TransferProtocol,超文本传输协议)是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议,HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML文件、图片文件、查询结果等;HTTP协议一般用于B/S架构,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求,http协议支持客户端/服务端模式,也是一种请求/响应模式的协议。边缘设备在接收到云服务器通过HTTPS协议发送的二进制序列化后的模型参数后,便可在TEE中对边缘设备的本地模型进行更新。
在另一实施例中,如图4所示,步骤S232包括子步骤S2321和S2322。
S2321、在所述TEE中对所述二进制序列化后的模型参数依次进行反序列化和解密。
S2322、根据解密后的模型参数在所述TEE中对所述本地模型进行更新。
具体的,边缘设备在接收到云服务器通过HTTPS协议发送的二进制序列化后的模型参数后,对二进制序列化后的模型参数进行反序列化处理后,在通过该边缘设备与云服务器之间执行DH密钥交换协议后生成的对称加密密钥在TEE中进行解密,便可得到用于更新边缘设备中本地模型的模型参数。其中,边缘设备中的本地模型采用云服务器发送的模型参数进行参数更新同样处于TEE中,进而保证了本地模型的参数更新的安全。
在另一实施例中,如图2所示,步骤S230之后,还包括S240和S250。
S240、基于云服务器与边缘设备执行DH密钥交换协议后生成的对称加密密钥,将更新后的本地模型进行加密处理并计算加密处理后的本地模型的MD5值。
S250、将所述MD5值存储于所述TEE的内存中,并将所述加密处理后的本地模型存储于对应的边缘设备的本地硬盘中。
在本实施例中,边缘设备中的本地模型在存储至边缘设备的本地硬盘中时,为了防止本地模型不被窃取,需要将本地模型进行加密处理。由于本地模型的模型参数均通过云服务器发送,因此本地模型在存储至本地硬盘中时,仍然采用云服务器与边缘设备执行DH密钥交换协议后生成的对称加密密钥在TEE环境中进行加密处理,同样的,在进行加密处理的过程中,对对应的对称加密密钥执行sha256哈希,得到256bit长度编码,然后采用该编码对本地模型进行加密,便可得到加密处理后的本地模型。另外,为了进一步增强本地模型存储的安全性,需计算加密后的本地模型的MD5值,然后将加密后的本地模型的MD5值存储至TEE中,同时将加密处理后的本地模型存储于本地硬盘中,保证了在使用本地硬盘中的本地模型时,需校验本地模型的MD5值,校验通过后才允许对本地模型进行解密处理,进而保障了本地模型的安全。
S120、接收所述云边端框架中边缘设备发送的推送请求。
具体的,所述推送请求为边缘设备向云服务器发送请求进行推荐服务的指令信息,云边端框架中云服务器在接收到相应的指令信息后,便可进行相应的联邦推理,以完成对用户的推送服务。
S130、在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密。
具体的,云服务器在接收到相应的边缘设备发送的推送请求的指令信息后,将云边端框架中所有的边缘设备的本地模型从本地硬盘中加载至在TEE中进行解密处理,然后通过解密后的本地模型进行推理计算,便可完成对用户的推送服务。
在另一实施例中,如图5所示,步骤S130包括子步骤S131、S132和S133。
S131、将存储于每个所述边缘设备的本地硬盘中的本地模型读入至REE中。
S132、将读入至所述REE中的本地模型加载至所述TEE中进行MD5校验。
S133、根据所述MD5校验的结果对每个所述本地模型进行解密。
在本实施例中,REE(Rich Execution Environment)为所有移动设备通用的环境,即为运行通用的OS(Operating System),例如Android,IOS系统等。云服务器在接收到推送请求后,便可将云边端框架中所有的边缘设备的本地模型从本地硬盘中读入到REE中,然后在REE中将所有的本地模型加载至TEE中,加载至TEE中后进行MD5校验,若校验通过,则开始对所有的本地模型进行解密,若校验不通过,则需重新从云服务器中获取新的本地模型来进行推理计算。其中,在获取新的本地模型时,仍然采用本发明实施例中数据传输时的加密操作进行获取。
S140、在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果。
具体的,所述本地数据为每个边缘设备中收集的与所述推送请求相关的数据信息,所述中间结果为每个边缘设备中的本地模型输出的与所述推送请求相关联的数据信息,每个边缘设备的本地模型在所述TEE中进行解密后,便可在TEE中将每个边缘设备的本地数据输入到对应的本地模型中进行计算,便可得到每个所述边缘设备的中间结果。
S150、在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中。
在本实施例中,每个本地模型采用本地数据在TEE中进行推理计算后,需将计算得到的中间结果发送至发送推荐请求所在的边缘设备中以便于该边缘设备得到更加精准的推理计算,其余边缘设备计算得到的中间结果在发送至该边缘设备中时,仍然需要将中间结果进行加密处理,然后才可将加密处理后的中间结果发送至该边缘设备中。其中,其余边缘设备是指云边端框架中除了当前发送推荐请求的边缘设备之外的所有其它边缘设备。中间结果在进行加密处理时,仍然处于TEE中进行加密处理,加密处理的方式是根据其余边缘设备与该边缘设备之间执行DH密钥交换协议后生成的对称加密密钥进行加密处理,具体的加密处理过程仍然是在TEE中对对应的对称加密密钥执行sha256哈希,得到256bit长度编码,然后采用该编码对中间结果进行加密,便可得到加密后的中间结果。
S160、在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务。
在本实施例中,所述推送请求的边缘设备在接收到其余边缘设备发送的加密后的中间结果后,采用相应的密钥进行解密处理,然后将所有解密后的中间结果进行相加,便可得到最终的推理结果,即完成对该推送请求的联邦推理。通过该推理结果便可在所述推送请求的边缘设备中执行相应的推送服务。其中,在云边端框架中进行联邦推理时,云边端框架中所有的边缘设备在获取到同一用户的数据时,由于用户所处的应用场景的不同,导致获取同一用户的数据也不相同,使得每个边缘设备中的本地模型在云边端框架中所占的权重也不相同,所述推送请求的边缘设备在接收到其余边缘设备发送的中间结果并在TEE中进行解密后,根据每个本地模型的权重以及中间结果进行推理计算,便可得到所述推理结果。其推理计算公式如下:y(xi)=x1×w2+x2×w2+……+xi×wi,其中,xi为第i个边缘设备的中间结果,wi为第i个边缘设备中本地模型的权重。
在本发明实施例所提供的基于TEE的联邦推荐方法中,通过基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中;接收所述云边端框架中边缘设备发送的推送请求;在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密;在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果;在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中;在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务。通过在TEE中执行DH协议以生成云边端框架中设备之间的密钥并保存于TEE的内存中,同时云边端框架中的数据的处理均处于TEE中,另外本地模型的参数均是在TEE中加密后放置于硬盘中,不仅避免了用户隐私的泄露,而且杜绝了在进行联邦推理过程中数据被篡改的可能性。另外,云服务器在向边缘设备推送新的模型时,模型在TEE内部才解密成明文状态,通过TEE内存外部不可访问的机制进行保护,而且模型在本地硬盘中进行存储时,在TEE中加密后存放至本地硬盘并用MD5进行完整性验证,避免了模型被盗的风险,同时生成的密钥以及MD5值也存储于TEE中,密钥以及MD5随着TEE的销毁而释放,保障了密钥的安全。
本发明实施例还提供了一种基于TEE的联邦推荐装置100,该装置用于执行前述基于TEE的联邦推荐方法的任一实施例。
具体地,请参阅图6,图6是本发明实施例提供的基于TEE的联邦推荐装置100的示意性框图。
如图6所示,所述的基于TEE的联邦推荐装置100,该装置包括:第一密钥生成单元110、接收单元120、第一解密单元130、输入单元140、第一发送单元150和推送单元160。
第一密钥生成单元110,用于基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中。
在其他发明实施例中,如图6所示,所述的基于TEE的联邦推荐装置100还包括:第一存储单元210、第一加密单元220和第一更新单元230。
第一存储单元210,用于在所述TEE中执行云服务器与每个所述边缘设备的DH密钥交换协议并将生成的对称加密密钥存储于所述TEE的内存中。
第一加密单元220,用于将每个所述本地模型的模型参数在所述TEE中采用对应的对称加密密钥进行加密,得到加密后的模型参数。
第一更新单元230,用于根据所述加密后的模型参数在所述TEE中更新每个所述本地模型。
在其他发明实施例中,如图7所示,所述第一更新单元230包括:序列化单元231和第二更新单元232。
序列化单元231,用于将所述加密后的模型参数进行二进制序列化;第二更新单元232,用于采用HTTPS协议将二进制序列化后的模型参数发送至对应的边缘设备中,并在所述TEE中进行本地模型的更新。
在其他发明实施例中,如图8所示,所述第二更新单元232包括:第二解密单元2321和第三更新单元2322。
第二解密单元2321,用于在所述TEE中对所述二进制序列化后的模型参数依次进行反序列化和解密;第三更新单元2322,用于根据解密后的模型参数在所述TEE中对所述本地模型进行更新。
在其他发明实施例中,如图6所示,所述的基于TEE的联邦推荐装置100还包括:第二加密单元240和第二存储单元250。
第二加密单元240,用于基于云服务器与边缘设备执行DH密钥交换协议后生成的对称加密密钥,将更新后的本地模型进行加密处理并计算加密处理后的本地模型的MD5值。
第二存储单元250,用于将所述MD5值存储于所述TEE的内存中,并将所述加密处理后的本地模型存储于对应的边缘设备的本地硬盘中。
接收单元120,用于接收所述云边端框架中边缘设备发送的推送请求。
第一解密单元130,用于在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密。
在其他发明实施例中,如图9所示,所述第一解密单元130包括:读入单元131、加载单元132和第三解密单元133。
读入单元131,用于将存储于每个所述边缘设备的本地硬盘中的本地模型读入至REE中;加载单元132,用于将读入至所述REE中的本地模型加载至所述TEE中进行MD5校验;第三解密单元133,用于根据所述MD5校验的结果对每个所述本地模型进行解密。
输入单元140,用于在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果。
第一发送单元150,用于在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中。
推送单元160,用于在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务。
本发明实施例所提供的基于TEE的联邦推荐装置100用于执行上述基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中;接收所述云边端框架中边缘设备发送的推送请求;在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密;在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果;在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中;在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务。
请参阅图10,图10是本发明实施例提供的计算机设备的示意性框图。
参阅图10,该设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于TEE的联邦推荐方法。
该处理器502用于提供计算和控制能力,支撑整个设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于TEE的联邦推荐方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的设备500的限定,具体的设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中;接收所述云边端框架中边缘设备发送的推送请求;在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密;在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果;在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中;在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务。
本领域技术人员可以理解,图10中示出的设备500的实施例并不构成对设备500具体构成的限定,在其他实施例中,设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,设备500可以仅包括存储器及处理器502,在这样的实施例中,存储器及处理器502的结构及功能与图10所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器502、数字信号处理器502(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器502可以是微处理器502或者该处理器502也可以是任何常规的处理器502等。
在本发明的另一实施例中提供计算机存储介质。该存储介质可以为非易失性的计算机可读存储介质,也可以是易失性的存储介质。该存储介质存储有计算机程序5032,其中计算机程序5032被处理器502执行时实现以下步骤:基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中;接收所述云边端框架中边缘设备发送的推送请求;在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密;在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果;在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中;在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备500(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于TEE的联邦推荐方法,其特征在于,包括以下步骤:
基于云边端框架,在可信执行环境TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中;
接收所述云边端框架中边缘设备发送的推送请求;
在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密;
在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果;
在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中;
在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务;
其中,所述其余边缘设备是指云边端框架中除了当前发送推荐请求的边缘设备之外的所有其它边缘设备。
2.根据权利要求1所述的基于TEE的联邦推荐方法,其特征在于,所述基于云边端框架,在TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中之后,还包括:
在所述TEE中执行云服务器与每个所述边缘设备的DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中。
3.根据权利要求2所述的基于TEE的联邦推荐方法,其特征在于,所述在所述TEE中执行云服务器与每个所述边缘设备的DH密钥交换协议并将生成的对称加密密钥存储于所述TEE的内存中之后,还包括:
将每个所述本地模型的模型参数在所述TEE中采用对应的对称加密密钥进行加密,得到加密后的模型参数;
根据所述加密后的模型参数在所述TEE中更新每个所述本地模型。
4.根据权利要求3所述的基于TEE的联邦推荐方法,其特征在于,所述根据所述加密后的模型参数在所述TEE中更新每个所述本地模型,包括:
将所述加密后的模型参数进行二进制序列化;
采用HTTPS协议将二进制序列化后的模型参数发送至对应的边缘设备中,并在所述TEE中进行本地模型的更新。
5.根据权利要求4所述的基于TEE的联邦推荐方法,其特征在于,所述在所述TEE中进行本地模型的更新,包括:
在所述TEE中对所述二进制序列化后的模型参数依次进行反序列化和解密;
根据解密后的模型参数在所述TEE中对所述本地模型进行更新。
6.根据权利要求3所述的基于TEE的联邦推荐方法,其特征在于,所述根据所述加密后的模型参数在所述TEE中更新每个所述本地模型之后,还包括:
基于云服务器与边缘设备执行DH密钥交换协议后生成的对称加密密钥,将更新后的本地模型进行加密处理并计算加密处理后的本地模型的MD5值;
将所述MD5值存储于所述TEE的内存中,并将所述加密处理后的本地模型存储于对应的边缘设备的本地硬盘中。
7.根据权利要求1所述的基于TEE的联邦推荐方法,其特征在于,所述在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密,包括:
将存储于每个所述边缘设备的本地硬盘中的本地模型读入至富执行环境REE中;
将读入至所述REE中的本地模型加载至所述TEE中进行MD5校验;
根据所述MD5校验的结果对每个所述本地模型进行解密。
8.一种基于TEE的联邦推荐装置,其特征在于,包括:
第一密钥生成单元,用于基于云边端框架,在可信执行环境TEE中对任意两个边缘设备执行DH密钥交换协议,并将生成的对称加密密钥存储于所述TEE的内存中;
接收单元,用于接收所述云边端框架中边缘设备发送的推送请求;
第一解密单元,用于在所述TEE中将存储于每个所述边缘设备的本地硬盘中的本地模型进行解密;
输入单元,用于在所述TEE中将每个所述边缘设备的本地数据输入至对应的解密后的本地模型中,得到每个所述边缘设备的中间结果;
第一发送单元,用于在所述TEE中将所述云边端框架中其余边缘设备的中间结果,采用对应的对称加密密钥进行加密,并将加密后的中间结果发送至所述推送请求的边缘设备中;
推送单元,用于在所述TEE中进行解密和推理计算,并根据生成的推理结果向所述推送请求的边缘设备进行推送服务;
其中,所述其余边缘设备是指云边端框架中除了当前发送推荐请求的边缘设备之外的所有其它边缘设备。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于TEE的联邦推荐方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的基于TEE的联邦推荐方法。
CN202110609712.3A 2021-06-01 2021-06-01 基于tee的联邦推荐方法、装置、设备及介质 Active CN113259100B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110609712.3A CN113259100B (zh) 2021-06-01 2021-06-01 基于tee的联邦推荐方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110609712.3A CN113259100B (zh) 2021-06-01 2021-06-01 基于tee的联邦推荐方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113259100A CN113259100A (zh) 2021-08-13
CN113259100B true CN113259100B (zh) 2022-10-28

Family

ID=77185733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110609712.3A Active CN113259100B (zh) 2021-06-01 2021-06-01 基于tee的联邦推荐方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113259100B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023104089A (ja) * 2022-01-17 2023-07-28 株式会社日立製作所 計算機システム及び鍵交換方法
CN114677781B (zh) * 2022-04-06 2023-09-05 广州文远知行科技有限公司 一种车辆数据上传方法及其相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347924A (zh) * 2018-09-20 2019-02-15 西北大学 一种基于群智感知的推荐方法
CN112308240A (zh) * 2020-11-02 2021-02-02 清华大学 基于联邦学习的边缘侧机器协同与优化的系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556730B2 (en) * 2018-03-30 2023-01-17 Intel Corporation Methods and apparatus for distributed use of a machine learning model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347924A (zh) * 2018-09-20 2019-02-15 西北大学 一种基于群智感知的推荐方法
CN112308240A (zh) * 2020-11-02 2021-02-02 清华大学 基于联邦学习的边缘侧机器协同与优化的系统

Also Published As

Publication number Publication date
CN113259100A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN105812141B (zh) 一种面向外包加密数据的可验证交集运算方法及系统
US10237073B2 (en) Systems and methods for trusted path secure communication
USRE49673E1 (en) Systems and methods for secure data exchange
US9973481B1 (en) Envelope-based encryption method
US10033703B1 (en) Pluggable cipher suite negotiation
AU2019448601B2 (en) Privacy preserving oracle
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
JP2008514097A (ja) ランダムファンクションを利用した秘密の共有
CN113259100B (zh) 基于tee的联邦推荐方法、装置、设备及介质
US11153074B1 (en) Trust framework against systematic cryptographic
WO2016122646A1 (en) Systems and methods for providing data security services
CN110188551A (zh) 一种保单加密传输方法及系统
GB2594741A (en) Multi-directional zero-knowledge attestation systems and methods
Carelli et al. Securing bitstream integrity, confidentiality and authenticity in reconfigurable mobile heterogeneous systems
CN114785527B (zh) 数据传输方法、装置、设备及存储介质
CN111786955B (zh) 用于保护模型的方法和装置
CN115460020B (zh) 数据共享方法、装置、设备及存储介质
CN116561820B (zh) 可信数据处理方法及相关装置
KR20200048760A (ko) 모바일 헬스케어를 위한 가상 물리 시스템에서 안전한 연산 위임 방법
Belej et al. The features of security of transfer and storage data for the Internet of Things in Cloud Database
CN114726865B (zh) 数据质押方法、系统、电子装置和存储介质
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
CN116996331B (zh) 基于区块链的数据处理方法、装置、设备以及介质
CN114826729B (zh) 一种数据处理方法、页面更新方法及相关硬件
CN117978511A (zh) 网络安全加固方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant