CN115051878B - 基于接口的隐私计算方法、系统、存储介质及设备 - Google Patents

基于接口的隐私计算方法、系统、存储介质及设备 Download PDF

Info

Publication number
CN115051878B
CN115051878B CN202210978390.4A CN202210978390A CN115051878B CN 115051878 B CN115051878 B CN 115051878B CN 202210978390 A CN202210978390 A CN 202210978390A CN 115051878 B CN115051878 B CN 115051878B
Authority
CN
China
Prior art keywords
data
interface
logic
module
privacy
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
CN202210978390.4A
Other languages
English (en)
Other versions
CN115051878A (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.)
Tianju Dihe Suzhou Technology Co ltd
Original Assignee
Tianju Dihe Suzhou Technology 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 Tianju Dihe Suzhou Technology Co ltd filed Critical Tianju Dihe Suzhou Technology Co ltd
Priority to CN202210978390.4A priority Critical patent/CN115051878B/zh
Publication of CN115051878A publication Critical patent/CN115051878A/zh
Application granted granted Critical
Publication of CN115051878B publication Critical patent/CN115051878B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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
    • 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

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种基于接口的隐私计算方法、系统、存储介质及设备,属于数据处理技术领域。方法包括:数据需求方、API网关和数据提供方在区块链上协商生成隐私数据服务合约,其定义数据提供方向API网关提供的第一接口的加密信息、API网关向数据需求方提供的第二接口、托管逻辑相关信息和隐私数据相关信息;数据需求方通过第二接口向API网关发送隐私计算请求;API网关根据第一接口和隐私数据相关信息从数据提供方中获取隐私数据,根据托管逻辑相关信息在可信执行环境中对隐私数据进行隐私计算,将计算结果通过第二接口反馈给数据需求方。本申请在保留已有API的同时安全地扩大了数据要素的赋能范围,促进了数据价值充分释放。

Description

基于接口的隐私计算方法、系统、存储介质及设备
技术领域
本申请涉及数据处理技术领域,特别涉及一种基于接口的隐私计算方法、系统、存储介质及设备。
背景技术
数据要素的价值充分释放离不开数据要素的广泛流通。API(ApplicationProgram Interface,应用程序接口)作为一种应用非常广泛的信息连接技术,在数据要素的流通中正在发挥着重要作用。已有的API技术主要面向数据的直接连接,对于一些不能直接获取数据的场景则无法有效释放数据的价值。
利用API技术牵引隐私数据赋能面临的挑战主要有:
1)数据因合规性问题难以广泛共享。现有的API服务都是向被服务方直接开放数据资产,更多高价值的数据(如政务、金融等)由于数据本身的敏感性难以通过API的形式广泛对外开放,这在一定程度上对数据要素价值的释放造成了影响。
2)API已经成了web3.0时代非常底层和基础的数据连接范式。尽管隐私计算技术的兴起让数据“可用不可见”成为了可能,但目前业内这项技术尚不能与现有的API生态软件栈进行很好的结合,这就导致隐私计算在具体业务实践中往往采用独立的软件栈,带来的成本较高。
发明内容
本申请提供了一种基于接口的隐私计算方法、系统、存储介质及设备,用于解决隐私计算过程中,数据提供方无法通过API的形式向外开放隐私数据,影响了隐私数据的安全流动与价值的问题。所述技术方案如下:
一方面,提供了一种基于接口的隐私计算方法,所述方法包括:
数据需求方、API网关和数据提供方在区块链上协商生成隐私数据服务合约,所述隐私数据服务合约用于定义所述数据提供方向所述API网关提供的第一接口的加密信息、所述API网关向所述数据需求方提供的第二接口、隐私计算过程中涉及的托管逻辑相关信息和隐私数据相关信息;
所述数据需求方通过所述第二接口向所述API网关发送隐私计算请求;
所述API网关根据所述第一接口和所述隐私数据相关信息从所述数据提供方中获取隐私数据,根据所述托管逻辑相关信息在可信执行环境中对所述隐私数据进行隐私计算,并将得到的计算结果通过所述第二接口反馈给所述数据需求方;
所述数据需求方通过所述第二接口接收所述计算结果。
在一种可能的实现方式中,所述数据需求方、API网关和数据提供方在区块链上协商生成隐私数据服务合约,包括:
所述数据需求方在所述区块链上的隐私数据服务合约中填写所述隐私数据相关信息和所述托管逻辑相关信息;
所述API网关根据所述隐私数据相关信息匹配到提供所述隐私数据的数据提供方的第一接口,对所述第一接口进行加密得到所述加密信息,在所述隐私数据服务合约中填写所述加密信息;
所述数据需求方或所述API网关在所述隐私数据服务合约中填写所述第二接口;
所述数据需求方在确认所述第二接口后进行签名;
所述数据提供方在确认所述第一接口后进行签名;
所述API网关对所述托管逻辑相关信息进行校验,在校验通过后对所述隐私数据服务合约进行签名。
在一种可能的实现方式中,所述API网关对所述托管逻辑相关信息进行校验,包括:
所述API网关向所述数据需求方获取托管逻辑,根据所述托管逻辑生成校验值;
所述API网关从链上的所述托管逻辑相关信息中获取校验值,比较生成的校验值与获取的校验值是否相同;
若生成的校验值与获取的校验值相同,则所述API网关确定对所述托管逻辑相关信息的校验通过。
在一种可能的实现方式中,所述API网关中包括管理模块、代理模块、路由模块和托管逻辑池;所述API网关根据所述第一接口和所述隐私数据相关信息从所述数据提供方中获取隐私数据,包括:
所述管理模块从链上获取所述隐私数据服务合约,并根据所述隐私数据服务合约中的所述第一接口和所述第二接口在所述路由模块中配置路由规则;
所述代理模块接收所述隐私计算请求,将所述隐私计算请求转发给所述路由模块;
所述路由模块向所述托管逻辑池获取公钥,将所述公钥添加到所述隐私计算请求中发送给所述数据提供方,以使所述数据提供方使用所述公钥对所述隐私计算请求所请求的隐私数据进行加密,将加密数据发送给所述路由模块。
在一种可能的实现方式中,所述托管逻辑池中包括数据I/O模块和安全实例;所述根据所述托管逻辑相关信息在可信执行环境中对所述隐私数据进行隐私计算,包括:所述路由模块将所述加密数据和所述隐私数据服务合约中的托管逻辑标识发送给所述数据I/O模块;所述数据I/O模块根据所述托管逻辑标识查找加载有对应的托管逻辑的安全实例,将所述加密数据发送给所述安全实例;所述安全实例在可信执行环境中对所述加密数据进行隐私计算,将得到的计算结果发送给所述数据I/O模块;
所述将得到的计算结果通过所述第二接口反馈给所述数据需求方,包括:所述数据I/O模块将所述计算结果发送给所述路由模块;所述路由模块将所述计算结果发送给所述代理模块;所述代理模块通过所述第二接口将所述计算结果发送给所述数据需求方。
在一种可能的实现方式中,所述数据I/O模块中包括数据预处理单元,所述隐私数据相关信息中包括字段数据,所述托管逻辑相关信息中包括扩展数量n;
所述数据I/O模块根据所述托管逻辑标识查找加载有对应的托管逻辑的安全实例,将所述加密数据发送给所述安全实例,包括:所述数据预处理单元根据所述托管逻辑标识向所述管理模块获取所述隐私数据服务合约中的字段数据;所述数据预处理单元根据所述字段数据的大小向所述管理模块获取所述隐私数据服务合约中的扩展数量n,n为正整数;所述管理模块从处于空闲状态的安全实例中选择n个安全实例,并将所述n个安全实例的地址发送给所述数据预处理单元,所述安全实例中加载有所述托管逻辑标识对应的托管逻辑和执行器;所述数据预处理单元利用私钥对所述加密数据进行解密,将得到的隐私数据划分为n个数据分片,将每个数据分片发送给每个地址对应的安全实例;
所述方法还包括:所述数据预处理单元接收所述n个安全实例发送的计算结果,将n个计算结果整合为最终的计算结果。
在一种可能的实现方式中,所述数据I/O模块中还包括数据缓存单元;所述方法还包括:
所述数据缓存单元根据所述字段数据的哈希值和所述托管逻辑标识,在缓存的计算结果中查找是否存在匹配的计算结果;
若存在匹配的计算结果,则所述数据缓存单元将匹配的所述计算结果确定为本次的计算结果;
若不存在匹配的计算结果,则触发执行所述数据预处理单元根据所述字段数据的大小向所述管理模块获取所述隐私数据服务合约中的扩展数量n的步骤。
在一种可能的实现方式中,所述托管逻辑池中还包括调度模块和托管逻辑仓库,所述方法还包括:
若处于空闲状态的安全实例的数量m小于所述扩展数量n,则所述管理模块通过所述调度模块创建新的安全实例,新的安全实例的数量等于n减去m;
在新的安全实例准备好时,所述安全实例与所述托管逻辑仓库利用可信执行环境的本地验证功能进行验证,在验证通过后将所述托管逻辑仓库中的所述托管逻辑加载到所述安全实例中。
在一种可能的实现方式中,当安全实例中的托管逻辑过期时,所述方法还包括:
所述管理模块通过所述调度模块删除加载有过期的托管逻辑的安全实例,并通知所述托管逻辑仓库删除过期的托管逻辑。
在一种可能的实现方式中,所述托管逻辑池中还包括监控模块,所述方法还包括:
所述监控模块对每个安全实例的资源消耗情况和运行情况进行监控,并将监控结果发送给所述管理模块;
所述管理模块根据所述监控结果确定处于空闲状态的安全实例,并对存在异常的安全实例进行迁移。
一方面,提供了一种基于接口的隐私计算系统,所述隐私计算系统包括数据需求方、API网关、数据提供方和区块链;
所述数据需求方、所述API网关和所述数据提供方,用于在所述区块链上协商生成隐私数据服务合约,所述隐私数据服务合约用于定义所述数据提供方向所述API网关提供的第一接口的加密信息、所述API网关向所述数据需求方提供的第二接口、隐私计算过程中涉及的托管逻辑相关信息和隐私数据相关信息;
所述数据需求方,还用于通过所述第二接口向所述API网关发送隐私计算请求;
所述API网关,还用于根据所述第一接口和所述隐私数据相关信息从所述数据提供方中获取隐私数据,根据所述托管逻辑相关信息在可信执行环境中对所述隐私数据进行隐私计算,并将得到的计算结果通过所述第二接口反馈给所述数据需求方;
所述数据需求方,还用于通过所述第二接口接收所述计算结果。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的基于接口的隐私计算方法。
一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的基于接口的隐私计算方法。
本申请提供的技术方案的有益效果至少包括:
通过基于区块链上的智能合约协商生成隐私数据服务合约,能去中心化地进行隐私数据的API服务的协商,能够在现有业务基础上按需生成API来使用隐私数据,提高了灵活性,降低了协作成本。
通过可信执行环境,将数据需求方的业务逻辑前置到API网关中,使得数据需求方利用之前无法直接调用的API服务来获取相关数据的赋能,一方面保障了托管逻辑在API网关中的安全性,另一方面也减少了隐私数据对托管逻辑和API网关的暴露程度;使得API网关能够在保留API这种普遍的互联范式的同时扩大了数据的定向赋能能力和赋能范围,进而有效支撑了数据要素的安全流动与价值释放。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的基于接口的隐私计算方法的方法流程图;
图2是本申请一个实施例示出的一种隐私计算系统的结构示意图;
图3是本申请一个实施例提供的API网关的结构示意图;
图4是本申请一个实施例提供的API网关的结构示意图;
图5是本申请一个实施例提供的基于接口的隐私计算系统的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的基于接口的隐私计算方法的方法流程图,该基于接口的隐私计算方法可以应用于计算机设备中。该基于接口的隐私计算方法,可以包括:
步骤101,数据需求方、API网关和数据提供方在区块链上协商生成隐私数据服务合约,隐私数据服务合约用于定义数据提供方向API网关提供的第一接口的加密信息、API网关向数据需求方提供的第二接口、隐私计算过程中涉及的托管逻辑相关信息和隐私数据相关信息。
数据需求方是有隐私计算需求的电子设备,数据提供方是能够提供隐私数据的电子设备,也可以称为数据源。
本实施例中的API网关有别于传统的API网关,本实施例中的API网关借助数据需求方的托管逻辑和相关工作流程,使得传统的API可以对无法直接获取数据的数据需求方提供数据服务,在满足隐私合规的要求下扩大了已有API的服务能力。请参考图2,本实施例中的API网关相较于传统的API网关增加了管理模块和托管逻辑池,详见下文中的描述。另外,图2中的鉴权、限速、计费、路由等其他模块都是已有技术模块,不影响其原有功能的使用。
本实施例中,可以利用区块链进行隐私数据的API服务的磋商,得到隐私数据服务合约,其可以基于对托管逻辑和使用字段的声明来复用已有的API服务。
隐私数据服务合约中定义有第一接口的加密信息、第二接口、托管逻辑相关信息和隐私数据相关信息。其中,第一接口是数据提供方向API网关提供的接口,为了保障第一接口对数据需求方不可见,需要使用数据提供方的公钥对第一接口进行加密,并将得到的加密信息添加到隐私数据服务合约中。第二接口是API网关向数据需求方提供的接口,不需要加密。托管逻辑相关信息用于定义与托管逻辑相关的信息,可以包括但不限于托管逻辑标识、托管逻辑校验值、托管逻辑过期条件、托管逻辑扩展规则,具体含义详见表1。隐私数据相关信息用于定义与隐私数据相关的信息,可以包括但不限于数据源、数据字段、数据源优先级规则,具体含义详见表1。
在一个示例中,隐私数据服务合约可以如表1所示:
表1
序号 属性 属性说明
1 数据源 用于指定API需要使用的数据源全集
2 数据字段 用于指定托管逻辑需要使用的数据字段
3 数据源优先级规则 用于指定数据源全集中各数据源使用的优先级
4 关联已有API(加密) 用于指定本合约的托管逻辑是从哪些已有API获取具体的数据字段
5 托管逻辑扩展规则 从上述数据字段获取的数据量满足一定条件时托管逻辑的扩展数量
6 托管逻辑标识 用于指定使用的托管逻辑
7 托管逻辑校验值 托管逻辑对应程序的校验值(如MD5或哈希值)
8 托管逻辑过期条件 以时间计量或以调用次数计量,超过条件后托管逻辑被从托管逻辑池中移除
9 具体的API规格 面向数据需求者的具体API接口
10 数据需求方、API网关、数据提供方签名 /
以上表格显示了隐私数据服务合约。其中,关联已有API(加密)即为第一接口的加密信息,具体的API规格即为第二接口。
基于上述表格,数据需求方、API网关和数据提供方在区块链上协商生成隐私数据服务合约,可以包括以下几个子步骤:
(1)数据需求方在区块链上的隐私数据服务合约中填写隐私数据相关信息和托管逻辑相关信息。
即,数据需求方需要填写表1中的第1-3项和第5-8项。
(2)API网关根据隐私数据相关信息匹配到提供隐私数据的数据提供方的第一接口,对第一接口进行加密得到加密信息,在隐私数据服务合约中填写加密信息。
API网关可以根据数据源或数据字段匹配到对应的第一接口,再利用数据提供方的公钥对第一接口进行加密得到加密信息,在隐私数据服务合约中填写加密信息。即,API填写表1中的第4项。
(3)数据需求方或API网关在隐私数据服务合约中填写第二接口。
第二接口是数据需求方调用的接口,可以由数据需求方填写,也可以由API网关填写。
(4)数据需求方在确认第二接口后进行签名。
(5)数据提供方在确认第一接口后进行签名。
(6)API网关对托管逻辑相关信息进行校验,在校验通过后对隐私数据服务合约进行签名。
本实施例中,API网关需要先对托管逻辑相关信息进行校验。具体的,API网关向数据需求方获取托管逻辑,根据托管逻辑生成校验值;API网关从链上的托管逻辑相关信息中获取校验值,比较生成的校验值与获取的校验值是否相同;若生成的校验值与获取的校验值相同,则API网关确定对托管逻辑相关信息的校验通过。
需要说明的是,在校验通过后,API网关还需要将托管逻辑上传至托管逻辑仓库,并将隐私数据服务合约中的API添加到网关服务列表中,以便于后续使用。其中,托管逻辑仓库是基于可信执行环境构建的,主要用于存放托管逻辑。
可信执行环境技术借助计算芯片集成的鉴权或加解密模块功能,在计算机操作系统中提供了能抗恶意操作系统的运算环境,能够有效保障隐私数据的存储和计算。可信执行环境技术近年来被开始应用于各类云厂商在云环境中提供安全的代码/数据环境。
步骤102,数据需求方通过第二接口向API网关发送隐私计算请求。
由于第二接口是面向数据需求方的接口,所以,数据需求方可以直接通过第二接口向API网关发送隐私计算请求。
步骤103,API网关根据第一接口和隐私数据相关信息从数据提供方中获取隐私数据,根据托管逻辑相关信息在可信执行环境中对隐私数据进行隐私计算,并将得到的计算结果通过第二接口反馈给数据需求方。
请参考图3和4,本实施例中的API网关中包括管理模块、代理模块、路由模块和托管逻辑池;托管逻辑池中包括数据I/O模块和安全实例;具体的,步骤103可以包括以下几个子步骤:
(1)管理模块从链上获取隐私数据服务合约,并根据隐私数据服务合约中的第一接口和第二接口在路由模块中配置路由规则。
管理模块从链上获取隐私数据服务合约,对其进行验签,在验签通过后将合约中的信息同步至本地数据库中。
管理模块还需要分别对第一接口和第二接口进行验签,在验签通过后,在路由模块中配置第一接口与第二接口之间的路由规则。
(2)代理模块接收隐私计算请求,将隐私计算请求转发给路由模块。
(3)路由模块向托管逻辑池获取公钥,将公钥添加到隐私计算请求中发送给数据提供方,以使数据提供方使用公钥对隐私计算请求所请求的隐私数据进行加密,将加密数据发送给路由模块。
其中,路由模块获取到的公钥可以是数据I/O模块的公钥。
(4)路由模块将加密数据和隐私数据服务合约中的托管逻辑标识发送给数据I/O模块。
数据I/O模块用于并行处理数据提供方返回的隐私数据。数据I/O模块中内置了数据缓存单元和数据预处理单元,数据缓存单元用于缓存历史计算结果以加快API调用速度,数据预处理单元用于提取托管逻辑使用的数据字段以及数据的分片/组装,详见下文中的描述。数据I/O模块也被部署在可信执行环境中。
(5)数据I/O模块根据托管逻辑标识查找加载有对应的托管逻辑的安全实例,将加密数据发送给安全实例。
安全实例是用于运行托管逻辑的可信执行环境单元(如Intel SGX enclave),每个安全实例都依托于典型的云计算实例(如容器、虚拟机等)中。
由于安全实例中包括托管逻辑和执行器,所以,数据I/O模块可以先根据托管逻辑标识查找对应的托管逻辑,再查找包含该托管逻辑的安全实例。其中,执行器可以是面向脚本类语言(如python, javascript等)的执行器。
本实施例中,数据I/O模块中的数据预处理单元根据托管逻辑标识向管理模块获取隐私数据服务合约中的字段数据(即表1中的第2项);数据预处理单元根据字段数据的大小向管理模块获取隐私数据服务合约中的扩展数量n(即表1中的第5项),n为正整数;管理模块从处于空闲状态的安全实例中选择n个安全实例,并将n个安全实例的地址发送给数据预处理单元,安全实例中加载有托管逻辑标识对应的托管逻辑和执行器;数据预处理单元利用私钥对加密数据进行解密,将得到的隐私数据划分为n个数据分片,将每个数据分片发送给每个地址对应的安全实例。
需要说明的是,当n=1时,无需对隐私数据分片,直接将隐私数据发送给一个安全实例;当n≥2时,需要将隐私数据分成n个数据分片,并将每个数据分片发送给一个安全实例,以实现并行处理n个数据分片,从而提高计算效率。
本实施例中,托管逻辑池中还包括监控模块,监控模块用于监控安全实例的资源消耗情况(如CPU占用率,加密内存使用情况、数据扇入扇出情况)等。具体的,监控模块对每个安全实例的资源消耗情况和运行情况进行监控,并将监控结果发送给管理模块;管理模块根据监控结果确定处于空闲状态的安全实例,并对存在异常的安全实例进行迁移。
由于监控模块可以将监控结果发送给管理模块,所以,管理模块可以确定加载有托管逻辑标识对应的托管逻辑的各个安全实例的状态,若这些安全实例中处于空闲状态的安全实例的数量大于或等于n,则获取其中n个处于空闲状态的安全实例的地址发送给数据预处理单元,若这些安全实例中处于空闲状态的安全实例的数量小于n,则需要新建安全实例,并将托管逻辑仓库中的托管逻辑加载到新的安全实例中去,继而返回n个处于空闲状态的安全实例的地址给数据预处理单元。
具体的,托管逻辑池中还包括调度模块和托管逻辑仓库,调度模块用于为托管逻辑分配相应的安全实例,该方法还包括:若处于空闲状态的安全实例的数量m小于扩展数量n,则管理模块通过调度模块创建新的安全实例,新的安全实例的数量等于n减去m;在新的安全实例准备好时,安全实例与托管逻辑仓库利用可信执行环境的本地验证功能进行验证,在验证通过后将托管逻辑仓库中的托管逻辑加载到安全实例中。
需要说明的是,还可以利用数据缓存单元来缓存历史计算结果以加快API调用速度。具体的,数据缓存单元根据字段数据的哈希值和托管逻辑标识,在缓存的计算结果中查找是否存在匹配的计算结果;若存在匹配的计算结果,则数据缓存单元将匹配的计算结果确定为本次的计算结果;若不存在匹配的计算结果,则触发执行数据预处理单元根据字段数据的大小向管理模块获取隐私数据服务合约中的扩展数量n的步骤。
(6)安全实例在可信执行环境中对加密数据进行隐私计算,将得到的计算结果发送给数据I/O模块。
每个安全实例可以计算得到一个计算结果,并将该计算结果发送给数据预处理单元。数据预处理单元接收n个安全实例发送的计算结果,将n个计算结果整合为最终的计算结果。
(7)数据I/O模块将计算结果发送给路由模块。
(8)路由模块将计算结果发送给代理模块。
(9)代理模块通过第二接口将计算结果发送给数据需求方。
由于隐私数据服务合约中还设有托管逻辑过期条件,所以,管理模块还需要监控安全实例中的托管逻辑是否过期。当安全实例中的托管逻辑过期时,管理模块通过调度模块删除加载有过期的托管逻辑的安全实例,并通知托管逻辑仓库删除过期的托管逻辑。具体的,可以利用可信执行环境的加密内存动态控制能力(如Intel SGX2 EADD)完成托管逻辑的添加与移除。
步骤104,数据需求方通过第二接口接收计算结果。
综上所述,本申请实施例提供的基于接口的隐私计算方法,通过基于区块链上的智能合约协商生成隐私数据服务合约,能去中心化地进行隐私数据的API服务的协商,能够在现有业务基础上按需生成API来使用隐私数据,提高了灵活性,降低了协作成本。
通过可信执行环境,将数据需求方的业务逻辑前置到API网关中,使得数据需求方利用之前无法直接调用的API服务来获取相关数据的赋能,一方面保障了托管逻辑在API网关中的安全性,另一方面也减少了隐私数据对托管逻辑和API网关的暴露程度;使得API网关能够在保留API这种普遍的互联范式的同时扩大了数据的定向赋能能力和赋能范围,进而有效支撑了数据要素的安全流动与价值释放。
请参考图5,其示出了本申请一个实施例提供的基于接口的隐私计算系统的结构框图,该基于接口的隐私计算系统包括数据需求方510、API网关520、数据提供方530和区块链540;
数据需求方510、API网关520和数据提供方530,用于在区块链540上协商生成隐私数据服务合约,隐私数据服务合约用于定义数据提供方530向API网关520提供的第一接口的加密信息、API网关520向数据需求方510提供的第二接口、隐私计算过程中涉及的托管逻辑相关信息和隐私数据相关信息;
数据需求方510,还用于通过第二接口向API网关520发送隐私计算请求;
API网关520,还用于根据第一接口和隐私数据相关信息从数据提供方530中获取隐私数据,根据托管逻辑相关信息在可信执行环境中对隐私数据进行隐私计算,并将得到的计算结果通过第二接口反馈给数据需求方510;
数据需求方510,还用于通过第二接口接收计算结果。
在一个可选的实施例中,数据需求方510,还用于在区块链540上的隐私数据服务合约中填写隐私数据相关信息和托管逻辑相关信息;
API网关520,还用于根据隐私数据相关信息匹配到提供隐私数据的数据提供方530的第一接口,对第一接口进行加密得到加密信息,在隐私数据服务合约中填写加密信息;
数据需求方510或API网关520,还用于在隐私数据服务合约中填写第二接口;
数据需求方510,还用于在确认第二接口后进行签名;
数据提供方530,还用于在确认第一接口后进行签名;
API网关520,还用于对托管逻辑相关信息进行校验,在校验通过后对隐私数据服务合约进行签名。
在一个可选的实施例中,API网关520,还用于:
向数据需求方510获取托管逻辑,根据托管逻辑生成校验值;
从链上的托管逻辑相关信息中获取校验值,比较生成的校验值与获取的校验值是否相同;
若生成的校验值与获取的校验值相同,则确定对托管逻辑相关信息的校验通过。
在一个可选的实施例中,API网关520中包括管理模块、代理模块、路由模块和托管逻辑池;
管理模块,用于从链上获取隐私数据服务合约,并根据隐私数据服务合约中的第一接口和第二接口在路由模块中配置路由规则;
代理模块,用于接收隐私计算请求,将隐私计算请求转发给路由模块;
路由模块,用于向托管逻辑池获取公钥,将公钥添加到隐私计算请求中发送给数据提供方530,以使数据提供方530使用公钥对隐私计算请求所请求的隐私数据进行加密,将加密数据发送给路由模块。
在一个可选的实施例中,托管逻辑池中包括数据I/O模块和安全实例;路由模块,还用于将加密数据和隐私数据服务合约中的托管逻辑标识发送给数据I/O模块;数据I/O模块,用于根据托管逻辑标识查找加载有对应的托管逻辑的安全实例,将加密数据发送给安全实例;安全实例,用于在可信执行环境中对加密数据进行隐私计算,将得到的计算结果发送给数据I/O模块;
数据I/O模块,还用于将计算结果发送给路由模块;路由模块,还用于将计算结果发送给代理模块;代理模块,还用于通过第二接口将计算结果发送给数据需求方510。
在一个可选的实施例中,数据I/O模块中包括数据预处理单元,隐私数据相关信息中包括字段数据,托管逻辑相关信息中包括扩展数量n;
数据预处理单元,用于根据托管逻辑标识向管理模块获取隐私数据服务合约中的字段数据;数据预处理单元,还用于根据字段数据的大小向管理模块获取隐私数据服务合约中的扩展数量n,n为正整数;管理模块,还用于从处于空闲状态的安全实例中选择n个安全实例,并将n个安全实例的地址发送给数据预处理单元,安全实例中加载有托管逻辑标识对应的托管逻辑和执行器;数据预处理单元,还用于利用私钥对加密数据进行解密,将得到的隐私数据划分为n个数据分片,将每个数据分片发送给每个地址对应的安全实例;
数据预处理单元,还用于接收n个安全实例发送的计算结果,将n个计算结果整合为最终的计算结果。
在一个可选的实施例中,数据I/O模块中还包括数据缓存单元;
数据缓存单元,用于根据字段数据的哈希值和托管逻辑标识,在缓存的计算结果中查找是否存在匹配的计算结果;
若存在匹配的计算结果,则数据缓存单元,还用于将匹配的计算结果确定为本次的计算结果;
若不存在匹配的计算结果,则触发执行数据预处理单元根据字段数据的大小向管理模块获取隐私数据服务合约中的扩展数量n的步骤。
在一个可选的实施例中,托管逻辑池中还包括调度模块和托管逻辑仓库;
若处于空闲状态的安全实例的数量m小于扩展数量n,则管理模块,还用于通过调度模块创建新的安全实例,新的安全实例的数量等于n减去m;
在新的安全实例准备好时,安全实例与托管逻辑仓库,用于利用可信执行环境的本地验证功能进行验证,在验证通过后将托管逻辑仓库中的托管逻辑加载到安全实例中。
在一个可选的实施例中,当安全实例中的托管逻辑过期时,管理模块,还用于通过调度模块删除加载有过期的托管逻辑的安全实例,并通知托管逻辑仓库删除过期的托管逻辑。
在一个可选的实施例中,托管逻辑池中还包括监控模块,监控模块,用于对每个安全实例的资源消耗情况和运行情况进行监控,并将监控结果发送给管理模块;
管理模块,还用于根据监控结果确定处于空闲状态的安全实例,并对存在异常的安全实例进行迁移。
综上所述,本申请实施例提供的基于接口的隐私计算系统,通过基于区块链上的智能合约协商生成隐私数据服务合约,能去中心化地进行隐私数据的API服务的协商,能够在现有业务基础上按需生成API来使用隐私数据,提高了灵活性,降低了协作成本。
通过可信执行环境,将数据需求方的业务逻辑前置到API网关中,使得数据需求方利用之前无法直接调用的API服务来获取相关数据的赋能,一方面保障了托管逻辑在API网关中的安全性,另一方面也减少了隐私数据对托管逻辑和API网关的暴露程度;使得API网关能够在保留API这种普遍的互联范式的同时扩大了数据的定向赋能能力和赋能范围,进而有效支撑了数据要素的安全流动与价值释放。
本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的基于接口的隐私计算方法。
本申请一个实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的基于接口的隐私计算方法。
需要说明的是:上述实施例提供的基于接口的隐私计算系统在进行基于接口的隐私计算时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将基于接口的隐私计算系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于接口的隐私计算系统与基于接口的隐私计算方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (11)

1.一种基于接口的隐私计算方法,其特征在于,所述方法包括:
数据需求方、API网关和数据提供方在区块链上协商生成隐私数据服务合约,所述隐私数据服务合约用于定义所述数据提供方向所述API网关提供的第一接口的加密信息、所述API网关向所述数据需求方提供的第二接口、隐私计算过程中涉及的托管逻辑相关信息和隐私数据相关信息;
所述数据需求方通过所述第二接口向所述API网关发送隐私计算请求;
所述API网关根据所述第一接口和所述隐私数据相关信息从所述数据提供方中获取隐私数据,根据所述托管逻辑相关信息在可信执行环境中对所述隐私数据进行隐私计算,并将得到的计算结果通过所述第二接口反馈给所述数据需求方;
所述数据需求方通过所述第二接口接收所述计算结果;
所述API网关中包括管理模块、代理模块、路由模块和托管逻辑池;所述API网关根据所述第一接口和所述隐私数据相关信息从所述数据提供方中获取隐私数据,包括:所述管理模块从链上获取所述隐私数据服务合约,并根据所述隐私数据服务合约中的所述第一接口和所述第二接口在所述路由模块中配置路由规则;所述代理模块接收所述隐私计算请求,将所述隐私计算请求转发给所述路由模块;所述路由模块向所述托管逻辑池获取公钥,将所述公钥添加到所述隐私计算请求中发送给所述数据提供方,以使所述数据提供方使用所述公钥对所述隐私计算请求所请求的隐私数据进行加密,将加密数据发送给所述路由模块;
所述托管逻辑池中包括数据I/O模块和安全实例;所述根据所述托管逻辑相关信息在可信执行环境中对所述隐私数据进行隐私计算,包括:所述路由模块将所述加密数据和所述隐私数据服务合约中的托管逻辑标识发送给所述数据I/O模块;所述数据I/O模块根据所述托管逻辑标识查找加载有对应的托管逻辑的安全实例,将所述加密数据发送给所述安全实例;所述安全实例在可信执行环境中对所述加密数据进行隐私计算,将得到的计算结果发送给所述数据I/O模块;
所述将得到的计算结果通过所述第二接口反馈给所述数据需求方,包括:所述数据I/O模块将所述计算结果发送给所述路由模块;所述路由模块将所述计算结果发送给所述代理模块;所述代理模块通过所述第二接口将所述计算结果发送给所述数据需求方。
2.根据权利要求1所述的基于接口的隐私计算方法,其特征在于,所述数据需求方、API网关和数据提供方在区块链上协商生成隐私数据服务合约,包括:
所述数据需求方在所述区块链上的隐私数据服务合约中填写所述隐私数据相关信息和所述托管逻辑相关信息;
所述API网关根据所述隐私数据相关信息匹配到提供所述隐私数据的数据提供方的第一接口,对所述第一接口进行加密得到所述加密信息,在所述隐私数据服务合约中填写所述加密信息;
所述数据需求方或所述API网关在所述隐私数据服务合约中填写所述第二接口;
所述数据需求方在确认所述第二接口后进行签名;
所述数据提供方在确认所述第一接口后进行签名;
所述API网关对所述托管逻辑相关信息进行校验,在校验通过后对所述隐私数据服务合约进行签名。
3.根据权利要求2所述的基于接口的隐私计算方法,其特征在于,所述API网关对所述托管逻辑相关信息进行校验,包括:
所述API网关向所述数据需求方获取托管逻辑,根据所述托管逻辑生成校验值;
所述API网关从链上的所述托管逻辑相关信息中获取校验值,比较生成的校验值与获取的校验值是否相同;
若生成的校验值与获取的校验值相同,则所述API网关确定对所述托管逻辑相关信息的校验通过。
4.根据权利要求1所述的基于接口的隐私计算方法,其特征在于,所述数据I/O模块中包括数据预处理单元,所述隐私数据相关信息中包括字段数据,所述托管逻辑相关信息中包括扩展数量n;
所述数据I/O模块根据所述托管逻辑标识查找加载有对应的托管逻辑的安全实例,将所述加密数据发送给所述安全实例,包括:所述数据预处理单元根据所述托管逻辑标识向所述管理模块获取所述隐私数据服务合约中的字段数据;所述数据预处理单元根据所述字段数据的大小向所述管理模块获取所述隐私数据服务合约中的扩展数量n,n为正整数;所述管理模块从处于空闲状态的安全实例中选择n个安全实例,并将所述n个安全实例的地址发送给所述数据预处理单元,所述安全实例中加载有所述托管逻辑标识对应的托管逻辑和执行器;所述数据预处理单元利用私钥对所述加密数据进行解密,将得到的隐私数据划分为n个数据分片,将每个数据分片发送给每个地址对应的安全实例;
所述方法还包括:所述数据预处理单元接收所述n个安全实例发送的计算结果,将n个计算结果整合为最终的计算结果。
5.根据权利要求4所述的基于接口的隐私计算方法,其特征在于,所述数据I/O模块中还包括数据缓存单元;所述方法还包括:
所述数据缓存单元根据所述字段数据的哈希值和所述托管逻辑标识,在缓存的计算结果中查找是否存在匹配的计算结果;
若存在匹配的计算结果,则所述数据缓存单元将匹配的所述计算结果确定为本次的计算结果;
若不存在匹配的计算结果,则触发执行所述数据预处理单元根据所述字段数据的大小向所述管理模块获取所述隐私数据服务合约中的扩展数量n的步骤。
6.根据权利要求4所述的基于接口的隐私计算方法,其特征在于,所述托管逻辑池中还包括调度模块和托管逻辑仓库,所述方法还包括:
若处于空闲状态的安全实例的数量m小于所述扩展数量n,则所述管理模块通过所述调度模块创建新的安全实例,新的安全实例的数量等于n减去m;
在新的安全实例准备好时,所述安全实例与所述托管逻辑仓库利用可信执行环境的本地验证功能进行验证,在验证通过后将所述托管逻辑仓库中的所述托管逻辑加载到所述安全实例中。
7.根据权利要求6所述的基于接口的隐私计算方法,其特征在于,当安全实例中的托管逻辑过期时,所述方法还包括:
所述管理模块通过所述调度模块删除加载有过期的托管逻辑的安全实例,并通知所述托管逻辑仓库删除过期的托管逻辑。
8.根据权利要求4所述的基于接口的隐私计算方法,其特征在于,所述托管逻辑池中还包括监控模块,所述方法还包括:
所述监控模块对每个安全实例的资源消耗情况和运行情况进行监控,并将监控结果发送给所述管理模块;
所述管理模块根据所述监控结果确定处于空闲状态的安全实例,并对存在异常的安全实例进行迁移。
9.一种基于接口的隐私计算系统,其特征在于,所述隐私计算系统包括数据需求方、API网关、数据提供方和区块链;
所述数据需求方、所述API网关和所述数据提供方,用于在所述区块链上协商生成隐私数据服务合约,所述隐私数据服务合约用于定义所述数据提供方向所述API网关提供的第一接口的加密信息、所述API网关向所述数据需求方提供的第二接口、隐私计算过程中涉及的托管逻辑相关信息和隐私数据相关信息;
所述数据需求方,还用于通过所述第二接口向所述API网关发送隐私计算请求;
所述API网关,还用于根据所述第一接口和所述隐私数据相关信息从所述数据提供方中获取隐私数据,根据所述托管逻辑相关信息在可信执行环境中对所述隐私数据进行隐私计算,并将得到的计算结果通过所述第二接口反馈给所述数据需求方;
所述数据需求方,还用于通过所述第二接口接收所述计算结果;
所述API网关中包括管理模块、代理模块、路由模块和托管逻辑池;所述管理模块,用于从链上获取所述隐私数据服务合约,并根据所述隐私数据服务合约中的所述第一接口和所述第二接口在所述路由模块中配置路由规则;所述代理模块,用于接收所述隐私计算请求,将所述隐私计算请求转发给所述路由模块;所述路由模块,用于向所述托管逻辑池获取公钥,将所述公钥添加到所述隐私计算请求中发送给所述数据提供方,以使所述数据提供方使用所述公钥对所述隐私计算请求所请求的隐私数据进行加密,将加密数据发送给所述路由模块;
所述托管逻辑池中包括数据I/O模块和安全实例;所述路由模块,还用于将所述加密数据和所述隐私数据服务合约中的托管逻辑标识发送给所述数据I/O模块;所述数据I/O模块,用于根据所述托管逻辑标识查找加载有对应的托管逻辑的安全实例,将所述加密数据发送给所述安全实例;所述安全实例,用于在可信执行环境中对所述加密数据进行隐私计算,将得到的计算结果发送给所述数据I/O模块;
所述数据I/O模块,还用于将所述计算结果发送给所述路由模块;所述路由模块,还用于将所述计算结果发送给所述代理模块;所述代理模块,还用于通过所述第二接口将所述计算结果发送给所述数据需求方。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至8任一所述的基于接口的隐私计算方法。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至8任一所述的基于接口的隐私计算方法。
CN202210978390.4A 2022-08-16 2022-08-16 基于接口的隐私计算方法、系统、存储介质及设备 Active CN115051878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210978390.4A CN115051878B (zh) 2022-08-16 2022-08-16 基于接口的隐私计算方法、系统、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210978390.4A CN115051878B (zh) 2022-08-16 2022-08-16 基于接口的隐私计算方法、系统、存储介质及设备

Publications (2)

Publication Number Publication Date
CN115051878A CN115051878A (zh) 2022-09-13
CN115051878B true CN115051878B (zh) 2023-01-06

Family

ID=83167358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210978390.4A Active CN115051878B (zh) 2022-08-16 2022-08-16 基于接口的隐私计算方法、系统、存储介质及设备

Country Status (1)

Country Link
CN (1) CN115051878B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115952484B (zh) * 2023-03-14 2023-07-25 天聚地合(苏州)科技股份有限公司 一种基于可信执行环境的数据流通方法、装置和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301675A (zh) * 2021-12-28 2022-04-08 杭州趣链科技有限公司 隐私数据交易方法、系统、计算机设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550937B2 (en) * 2019-06-13 2023-01-10 Fujitsu Limited Privacy trustworthiness based API access
CN111368338B (zh) * 2020-05-27 2020-12-22 支付宝(杭州)信息技术有限公司 基于多方隐私保护的数据处理方法及数据处理系统
CN112380578A (zh) * 2020-11-20 2021-02-19 天翼电子商务有限公司 一种基于区块链和可信执行环境的边缘计算框架
CN113726767B (zh) * 2021-08-27 2023-09-12 交通银行股份有限公司 一种基于区块链的分布式多方隐私计算系统及方法
CN114124406B (zh) * 2021-11-19 2023-08-29 重庆邮电大学 基于条件匿名环签名和隐私计算的联盟链隐私保护方法
CN114880715A (zh) * 2022-03-22 2022-08-09 哈尔滨工业大学 一种基于同态加密智能合约的电力数据安全共享方法及系统
CN114510743B (zh) * 2022-04-19 2022-12-02 中路智链科技集团有限公司 一种基于隐私计算平台的数据交换方法、装置及电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301675A (zh) * 2021-12-28 2022-04-08 杭州趣链科技有限公司 隐私数据交易方法、系统、计算机设备和存储介质

Also Published As

Publication number Publication date
CN115051878A (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN111541785B (zh) 基于云计算的区块链数据处理方法及装置
CN110727712B (zh) 基于区块链网络的数据处理方法、装置、电子设备及存储介质
US10700851B2 (en) System and method for implementing a resolver service for decentralized identifiers
US10338946B1 (en) Composable machine image
EP3688633A2 (en) System and method for verifying verifiable claims
CN111314172B (zh) 基于区块链的数据处理方法、装置、设备及存储介质
US11263632B2 (en) Information sharing methods, apparatuses, and devices
US10686769B2 (en) Secure key caching client
CN111414640B (zh) 秘钥访问控制方法和装置
US20230261882A1 (en) Image Management Method and Apparatus
CN115051878B (zh) 基于接口的隐私计算方法、系统、存储介质及设备
CN111814131A (zh) 一种设备注册和配置管理的方法和装置
US10326833B1 (en) Systems and method for processing request for network resources
CN114095165B (zh) 密钥更新方法、服务端设备、客户端设备及存储介质
CN110888646B (zh) 部署方法、装置、系统和存储介质
US11095684B2 (en) Providing attributes of a network service
CN113592638A (zh) 交易请求的处理方法、装置以及联盟链
CN114095254B (zh) 报文加密方法、服务端设备、客户端设备及存储介质
US20230205919A1 (en) Multi-platform use case implementations to securely provision a secure data asset to a target device
CN114866337B (zh) 共享数据审计方法及其装置、设备、存储介质和程序产品
CN116032494B (zh) 数据交互方法、区块链预言机、设备及介质
US20220103379A1 (en) Secured software workload provisioning to a trusted execution environment
Priya et al. Batch Signature-based Verification of Data Computation in Cloud Applications
CN116545759A (zh) 基于密钥协商的密文交互方法、计算机设备及存储介质
CN117389574A (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