CN115987690A - 基于api的隐私计算方法、api调用端和api提供端 - Google Patents

基于api的隐私计算方法、api调用端和api提供端 Download PDF

Info

Publication number
CN115987690A
CN115987690A CN202310267341.4A CN202310267341A CN115987690A CN 115987690 A CN115987690 A CN 115987690A CN 202310267341 A CN202310267341 A CN 202310267341A CN 115987690 A CN115987690 A CN 115987690A
Authority
CN
China
Prior art keywords
privacy
api
calling
data
calculation
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.)
Granted
Application number
CN202310267341.4A
Other languages
English (en)
Other versions
CN115987690B (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 CN202310267341.4A priority Critical patent/CN115987690B/zh
Publication of CN115987690A publication Critical patent/CN115987690A/zh
Application granted granted Critical
Publication of CN115987690B publication Critical patent/CN115987690B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种基于API的隐私计算方法、API调用端和API提供端,涉及隐私计算技术领域。该方法的一具体实施方式包括:对隐私计算服务平台进行远程认证,当认证通过时,将隐私数据上传至隐私计算服务平台;获取隐私计算服务平台为API分配的服务地址;获取API调用方的身份凭证;向API调用端发送隐私数据的元数据;其中,元数据包括:身份凭证和服务地址;向隐私计算服务平台发送身份凭证,以使隐私计算服务平台基于身份凭证验证API调用方的身份,当验证通过时,根据隐私数据和API调用端发送的调用请求中的编译结果进行隐私计算。该实施方式能够在兼容现有API的情况下实现隐私数据的安全流通,降低开发成本。

Description

基于API的隐私计算方法、API调用端和API提供端
技术领域
本发明涉及隐私计算技术领域,尤其涉及一种基于API的隐私计算方法、API调用端和API提供端。
背景技术
在强调数字经济的今天,数据要素的充分流通是释放数据价值的重要手段。传统的数据流通一般通过调用API实现,即调用方通过向提供方发送API调用请求来获取提供方的数据。然而,由于该方式容易使隐私数据泄露,无法保障用户的隐私安全,因此,其并不适用于隐私数据的流通。在实际应用场景中,如果想要实现隐私数据的流通,需要重新开发数据流通架构,这将导致原有代码无法复用,开发成本高昂。
发明内容
有鉴于此,本发明实施例提供一种基于API的隐私计算方法、API调用端和API提供端,能够在兼容现有API的情况下实现隐私数据的安全流通,降低开发成本。
第一方面,本发明实施例提供了一种基于API的隐私计算方法,应用于API提供端,包括:
对隐私计算服务平台进行远程认证,当认证通过时,将隐私数据上传至所述隐私计算服务平台;
获取所述隐私计算服务平台为API分配的服务地址;
获取API调用方的身份凭证;
向API调用端发送所述隐私数据的元数据;其中,所述元数据包括:所述身份凭证和所述服务地址;
向所述隐私计算服务平台发送所述身份凭证,以使所述隐私计算服务平台基于所述身份凭证验证所述API调用方的身份,当验证通过时,根据所述隐私数据和所述API调用端发送的调用请求中的编译结果进行隐私计算。
第二方面,本发明实施例提供了一种基于API的隐私计算方法,应用于API调用端,包括:
接收API提供端发送的隐私数据的元数据;其中,所述元数据包括:身份凭证、隐私计算服务平台为API分配的服务地址;
获取与所述隐私数据关联的目标源代码;
对所述目标源代码进行编译,得到编译结果;
基于所述服务地址,向所述隐私计算服务平台发送针对所述API的调用请求,以使所述隐私计算服务平台根据所述调用请求中的身份凭证验证API调用方的身份,并当验证通过时,根据所述隐私数据和所述调用请求中的编译结果进行隐私计算;
根据所述隐私计算服务平台反馈的调用结果,确定隐私计算结果。
第三方面,本发明实施例提供了一种API提供端,包括:
元数据管理模块,配置为获取隐私计算服务平台为API分配的服务地址;获取API调用方的身份凭证;向API调用端发送隐私数据的元数据;其中,所述元数据包括:所述身份凭证和所述服务地址;
隐私计算配置模块,配置为对隐私计算服务平台进行远程认证,当认证通过时,将隐私数据上传至所述隐私计算服务平台;向所述隐私计算服务平台发送所述身份凭证,以使所述隐私计算服务平台基于所述身份凭证验证所述API调用方的身份,当验证通过时,根据所述隐私数据和所述API调用端发送的调用请求中的编译结果进行隐私计算。
第四方面,本发明实施例提供了一种API调用端,包括:
依赖解析模块,配置为获取与所述隐私数据关联的目标源代码;
计算控制模块,配置为接收API提供端发送的隐私数据的元数据;其中,所述元数据包括:身份凭证、隐私计算服务平台为API分配的服务地址;对所述目标源代码进行编译,得到编译结果;基于所述服务地址,向所述隐私计算服务平台发送针对所述API的调用请求,以使所述隐私计算服务平台根据所述调用请求中的身份凭证验证API调用方的身份,并当验证通过时,根据所述隐私数据和所述调用请求中的编译结果进行隐私计算;根据所述隐私计算服务平台反馈的调用结果,确定隐私计算结果。
第五方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的方法。
第六方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:API提供方将隐私数据托管至第三方的隐私计算服务平台,并向API调用方提供隐私数据的元数据,API调用方可以通过元数据调用隐私数据进行隐私计算,由于对隐私计算服务平台和API调用方均进行验证,且隐私数据不直接提供给API调用方,因此,本发明实施例能够保障隐私数据的安全。同时,本发明实施例能够在兼容现有API的情况下实现隐私数据的安全流通,无需针对隐私数据重新开发数据流通架构,显著降低开发成本。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明的一个实施例提供的一种现有的数据流通架构示意图;
图2是本发明的一个实施例提供的一种应用于API提供端的基于API的隐私计算方法的流程图;
图3是本发明的一个实施例提供的一种应用于API调用端的基于API的隐私计算方法的流程图;
图4是本发明的一个实施例提供的一种API提供端的示意图;
图5是本发明的一个实施例提供的一种API调用端的示意图;
图6是本发明的一个实施例提供的一种基于API的隐私计算系统的示意图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
现有的数据流通架构如图1所示,API提供方向API调用方提供数据,API调用方直接使用获得的数据进行计算。
考虑到隐私数据的安全性,API调用方无法直接通过图1所示的方式使用隐私数据。
鉴于此,本发明实施例提供了一种基于API的隐私计算方法,应用于API提供端,如图2所示,该方法包括:
步骤201:对隐私计算服务平台进行远程认证,当认证通过时,将隐私数据上传至隐私计算服务平台。
API提供端为API提供方使用。
为了保证隐私数据的安全性,在托管隐私数据之前,本发明实施例先验证隐私计算服务平台的身份。具体地,API提供端可以向隐私计算服务平台发送认证请求,以获取隐私计算服务平台的身份信息,并对其身份信息进行认证。本发明实施例不限定具体认证方式。
隐私计算服务平台可以由第三方的云供应商提供,能够提供隐私数据的托管和隐私计算服务。
步骤202:获取隐私计算服务平台为API分配的服务地址。
隐私计算服务平台为API分配相应的服务地址,以便于接收API调用方上传的编译结果。例如,服务地址为Gate-service.xxx.com:8080。
步骤203:获取API调用方的身份凭证。
具体地,可以接收API提供方输入的API调用方的身份凭证,拥有身份凭证的API调用方能够调用隐私计算服务平台的隐私数据。API提供方可以为不同的隐私数据设置对应的API调用方的身份凭证,也就是说,对于不同的隐私数据,合法的API调用方可能不同。身份凭证可以为固定长度的字符串,还可以为API提供端生成的随机数等形式。
步骤204:向API调用端发送隐私数据的元数据;其中,元数据包括:身份凭证和服务地址。
API调用端可以基于身份凭证证明调用请求的合法性,通过服务地址将编译结果提供给隐私计算服务平台。
步骤205:向隐私计算服务平台发送身份凭证,以使隐私计算服务平台基于身份凭证验证API调用方的身份,当验证通过时,根据隐私数据和API调用端发送的调用请求中的编译结果进行隐私计算。
在本发明实施例中,API提供方将隐私数据托管至第三方的隐私计算服务平台,并向API调用方提供隐私数据的元数据,API调用方可以通过元数据调用隐私数据进行隐私计算,由于对隐私计算服务平台和API调用方均进行验证,且隐私数据不直接提供给API调用方,因此,本发明实施例能够保障隐私数据的安全。同时,本发明实施例能够在兼容现有API的情况下实现隐私数据的安全流通,无需针对隐私数据重新开发数据流通架构,显著降低开发成本。
在本发明的一个实施例中,该方法还包括:
获取隐私数据的调用条件;
向隐私计算服务平台发送调用条件,以使隐私计算服务平台确定API调用端发送的调用请求是否满足调用条件,当满足调用条件时,响应调用请求;
元数据中还包括:调用条件。
在实际应用场景中,可以基于调用次数和编译结果的数据量确定调用条件,具体地,调用条件可以为调用次数小于次数阈值,还可以为数据量小于数据量阈值。通过调用条件,API提供方可以对API调用方的调用频率进行限制,以便于降低API的使用成本,保证调用请求的响应质量。
如图3所示,本发明实施例提供了一种基于API的隐私计算方法,应用于API调用端,该方法包括:
步骤301:接收API提供端发送的隐私数据的元数据;其中,元数据包括:身份凭证、隐私计算服务平台为API分配的服务地址。
API调用端为API调用方使用。
步骤302:获取与隐私数据关联的目标源代码。
目标源代码为源代码中隐私数据的最小影响范围。为了保障隐私数据的安全,降低对隐私计算服务平台的资源消耗,本发明实施例确定隐私数据对应的目标源代码,以便于仅对目标源代码部分执行隐私计算,而源代码的其他部分可以使用数据明文计算。
步骤303:对目标源代码进行编译,得到编译结果。
步骤304:基于服务地址,向隐私计算服务平台发送针对API的调用请求,以使隐私计算服务平台根据调用请求中的身份凭证验证API调用方的身份,并当验证通过时,根据隐私数据和调用请求中的编译结果进行隐私计算。
步骤305:根据隐私计算服务平台反馈的调用结果,确定隐私计算结果。
本发明实施例可以基于元数据向隐私计算服务平台提供编译结果,以便于隐私计算服务平台基于编译结果执行隐私计算。本发明实施例能够兼容现有的API,无需为隐私计算重新开发数据流通架构,能够节省开发成本。
在本发明的一个实施例中,元数据中还包括:隐私数据的调用条件;
基于服务地址,向隐私计算服务平台发送针对API的调用请求,包括:
基于服务地址和调用条件,向隐私计算服务平台发送针对API的调用请求。
API调用方可以根据调用条件向隐私计算服务平台发送调用请求,提高调用请求的成功率,降低资源消耗。
在本发明的一个实施例中,获取与隐私数据关联的目标源代码,包括:
获取源代码;其中,在源代码中,隐私数据对应的变量携带污点标记;
基于污点标记对源代码进行静态污点分析,得到与隐私数据关联的目标源代码。
污点标记由人工标定,除了静态污点分析,还可以使用符号执行对源代码进行分析。通过本发明实施例能够准确确定目标源代码的范围,提高隐私计算的效率和准确度。
在实际应用场景中,对于不同的隐私计算过程,编译方法也存在区别,以下将以三种情况为例,对编译过程和隐私计算过程进行说明。
情况1:隐私数据不与API调用方的本地数据进行联合计算。
在本发明的一个实施例中,该方法还包括:根据目标源代码,确定隐私数据是否与API调用方的本地数据进行联合计算;
对目标源代码进行编译,得到编译结果,包括:
当隐私数据不与API调用方的本地数据进行联合计算时,对目标源代码进行封装,得到封装函数;
隐私计算结果为封装函数的接口输出的结果。
在本发明实施例中,调用结果为封装函数的接口输出的结果,由于隐私计算过程不涉及API调用方的本地数据,因此,调用结果即为隐私计算结果。
本发明实施例根据隐私计算服务平台适配的SDK,例如Intel C++ SDK、或JavaSDK、或Rust SDK、或PythonSDK,对目标源代码进行封装。隐私计算服务平台在可信执行环境中调用封装函数的接口,得到隐私计算结果。
情况2:隐私数据与API调用方的本地数据进行联合计算、隐私数据的使用频率小于预设的频率阈值。
在本发明的一个实施例中,该方法还包括:
根据目标源代码,确定隐私数据是否与API调用方的本地数据进行联合计算;
当隐私数据与API调用方的本地数据进行联合计算、隐私数据的使用频率小于预设的频率阈值时,基于同态加密算法生成同态加密的公钥和私钥;
对目标源代码进行编译,得到编译结果,包括:
当隐私数据与API调用方的本地数据进行联合计算时,确定隐私数据的使用频率;
当使用频率小于预设的频率阈值时,将目标源代码转换为同态加密电路;
根据隐私数据和调用请求中的编译结果进行隐私计算,包括:
基于调用请求中同态加密的公钥加密隐私数据,基于隐私数据的密文执行同态加密电路;
根据隐私计算服务平台反馈的调用结果,确定隐私计算结果,包括:
基于同态加密的私钥对调用结果进行解密,得到隐私计算结果。
具体地,可以使用同态加密框架如HElib、Pallier等,将目标源代码转换为同态加密电路。解密得到的隐私计算结果可以用于后续与本地数据进行联合计算,即执行源代码的其他部分对应的逻辑运算。
在本发明实施例中,隐私计算服务平台基于同态加密得到隐私计算结果,由于同态加密的安全性较高、但资源消耗量较大,因此,可以在隐私数据使用频率较低的场景中使用。
情况3:隐私数据与API调用方的本地数据进行联合计算、隐私数据的使用频率不小于预设的频率阈值。
在本发明的一个实施例中,该方法还包括:
根据目标源代码,确定隐私数据是否与API调用方的本地数据进行联合计算;
当隐私数据与API调用方的本地数据进行联合计算、隐私数据的使用频率不小于预设的频率阈值时,基于秘密共享协议对本地数据进行切分,得到多个本地数据的密码学碎片,接收隐私计算服务平台发送的隐私数据的第一密码学碎片,根据隐私数据的第一密码学碎片、第一协议电路碎片和本地数据的第一密码学碎片执行多方安全计算,得到第一结果碎片,接收隐私计算服务平台发送的第二结果碎片;
对目标源代码进行编译,得到编译结果,包括:
当隐私数据与API调用方的本地数据进行联合计算时,确定隐私数据的使用频率;
当使用频率不小于预设的频率阈值时,对目标源代码进行切分,得到多个与本地数据的密码学碎片一一对应的代码碎片;
分别将各个代码碎片转换为协议电路碎片;
根据隐私数据和调用请求中的编译结果进行隐私计算,包括:
按照秘密共享协议对隐私数据进行切分,得到多个与协议电路碎片对应的隐私数据的密码学碎片;
基于隐私数据的第二密码学碎片及其对应的第二协议电路碎片、本地数据的第二密码学碎片执行多方安全计算,得到第二结果碎片;
根据隐私计算服务平台反馈的调用结果,确定隐私计算结果,包括:
将包括第一结果碎片和第二结果碎片的多个结果碎片,重构为隐私计算结果。
当隐私数据与API调用方的本地数据进行联合计算、隐私数据的使用频率不小于预设的频率阈值时,本发明实施例采用多方安全计算的方式获得隐私计算结果。在实际应用场景中,可以采用PICCO、ABY等编译框架,将代码碎片转换为协议电路碎片,协议电路碎片可以为遵循相应密码学协议的混淆电路。隐私计算结果可以用于后续与本地数据进行联合计算,即执行源代码的其他部分对应的逻辑运算。
在本发明实施例中,隐私计算服务平台基于多方安全计算得到隐私计算结果,相比于同态加密,其资源消耗量较小,因此,可以在隐私数据使用频率较高的场景中使用。
如图4所示,本发明实施例提供了一种API提供端,包括:
元数据管理模块401,配置为获取隐私计算服务平台为API分配的服务地址;获取API调用方的身份凭证;向API调用端发送隐私数据的元数据;其中,元数据包括:身份凭证和服务地址;
隐私计算配置模块402,配置为对隐私计算服务平台进行远程认证,当认证通过时,将隐私数据上传至隐私计算服务平台;向隐私计算服务平台发送身份凭证,以使隐私计算服务平台基于身份凭证验证API调用方的身份,当验证通过时,根据隐私数据和API调用端发送的调用请求中的编译结果进行隐私计算。
在本发明的一个实施例中,元数据管理模块401,配置为获取隐私数据的调用条件;向隐私计算服务平台发送调用条件,以使隐私计算服务平台确定API调用端发送的调用请求是否满足调用条件,当满足调用条件时,响应调用请求;元数据中还包括:调用条件。
如图5所示,本发明实施例提供了一种API调用端,包括:
依赖解析模块501,配置为获取与隐私数据关联的目标源代码;
计算控制模块502,配置为接收API提供端发送的隐私数据的元数据;其中,元数据包括:身份凭证、隐私计算服务平台为API分配的服务地址;对目标源代码进行编译,得到编译结果;基于服务地址,向隐私计算服务平台发送针对API的调用请求,以使隐私计算服务平台根据调用请求中的身份凭证验证API调用方的身份,并当验证通过时,根据隐私数据和调用请求中的编译结果进行隐私计算;根据隐私计算服务平台反馈的调用结果,确定隐私计算结果。
在本发明的一个实施例中,元数据中还包括:隐私数据的调用条件;计算控制模块502,配置为基于服务地址和调用条件,向隐私计算服务平台发送针对API的调用请求。
在本发明的一个实施例中,依赖解析模块501,配置为获取源代码;其中,在源代码中,隐私数据对应的变量携带污点标记;基于污点标记对源代码进行静态污点分析,得到与隐私数据关联的目标源代码。
在本发明的一个实施例中,依赖解析模块501,配置为根据目标源代码,确定隐私数据是否与API调用方的本地数据进行联合计算;
计算控制模块502,配置为当隐私数据不与API调用方的本地数据进行联合计算时,对目标源代码进行封装,得到封装函数;隐私计算结果为封装函数的接口输出的结果。
在本发明的一个实施例中,依赖解析模块501,配置为根据目标源代码,确定隐私数据是否与API调用方的本地数据进行联合计算;
计算控制模块502,配置为当隐私数据与API调用方的本地数据进行联合计算、隐私数据的使用频率小于预设的频率阈值时,基于同态加密算法生成同态加密的公钥和私钥;当隐私数据与API调用方的本地数据进行联合计算时,确定隐私数据的使用频率;当使用频率小于预设的频率阈值时,将目标源代码转换为同态加密电路;
根据隐私数据和调用请求中的编译结果进行隐私计算,包括:
基于调用请求中同态加密的公钥加密隐私数据,基于隐私数据的密文执行同态加密电路;
根据隐私计算服务平台反馈的调用结果,确定隐私计算结果,包括:
基于同态加密的私钥对调用结果进行解密,得到隐私计算结果。
在本发明的一个实施例中,依赖解析模块501,配置为根据目标源代码,确定隐私数据是否与API调用方的本地数据进行联合计算;
计算控制模块502,配置为当隐私数据与API调用方的本地数据进行联合计算、隐私数据的使用频率不小于预设的频率阈值时,基于秘密共享协议对本地数据进行切分,得到多个本地数据的密码学碎片,接收隐私计算服务平台发送的隐私数据的第一密码学碎片,根据隐私数据的第一密码学碎片、第一协议电路碎片和本地数据的第一密码学碎片执行多方安全计算,得到第一结果碎片,接收隐私计算服务平台发送的第二结果碎片;当隐私数据与API调用方的本地数据进行联合计算时,确定隐私数据的使用频率;当使用频率不小于预设的频率阈值时,对目标源代码进行切分,得到多个与本地数据的密码学碎片一一对应的代码碎片;分别将各个代码碎片转换为协议电路碎片;
根据隐私数据和调用请求中的编译结果进行隐私计算,包括:
按照秘密共享协议对隐私数据进行切分,得到多个与协议电路碎片对应的隐私数据的密码学碎片;
基于隐私数据的第二密码学碎片及其对应的第二协议电路碎片、本地数据的第二密码学碎片执行多方安全计算,得到第二结果碎片;
根据隐私计算服务平台反馈的调用结果,确定隐私计算结果,包括:
将包括第一结果碎片和第二结果碎片的多个结果碎片,重构为隐私计算结果。
如图6所示,本发明实施例提供了一种基于API的隐私计算系统,包括:API提供端、API调用端和隐私计算服务平台;
隐私计算服务平台中部署多个服务。
隐私计算过程如下:
API提供端对隐私计算服务平台进行远程认证,当认证通过时,将隐私数据上传至隐私计算服务平台;
隐私计算服务平台为API分配服务地址;
API提供端获取服务地址和API调用方的身份凭证,向API调用端发送隐私数据的元数据;其中,元数据包括:身份凭证和服务地址;
API提供端向隐私计算服务平台发送身份凭证;
API调用端获取与隐私数据关联的目标源代码,对目标源代码进行编译,得到编译结果;
基于服务地址,向隐私计算服务平台发送针对API的调用请求;
隐私计算服务平台基于身份凭证验证API调用方的身份,当验证通过时,根据隐私数据和API调用端发送的调用请求中的编译结果进行隐私计算。
本发明实施例能够在不改变现有API的基础上,实现API调用方和API提供方对隐私数据的合规使用,降低API调用方和API提供方的切换和重构成本。
本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述任一实施例的方法。
本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,程序被处理器执行时实现如上述任一实施例的方法。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种基于API的隐私计算方法,其特征在于,应用于API提供端,包括:
对隐私计算服务平台进行远程认证,当认证通过时,将隐私数据上传至所述隐私计算服务平台;
获取所述隐私计算服务平台为API分配的服务地址;
获取API调用方的身份凭证;
向API调用端发送所述隐私数据的元数据;其中,所述元数据包括:所述身份凭证和所述服务地址;
向所述隐私计算服务平台发送所述身份凭证,以使所述隐私计算服务平台基于所述身份凭证验证所述API调用方的身份,当验证通过时,根据所述隐私数据和所述API调用端发送的调用请求中的编译结果进行隐私计算。
2.如权利要求1所述的方法,其特征在于,进一步包括:
获取所述隐私数据的调用条件;
向所述隐私计算服务平台发送所述调用条件,以使所述隐私计算服务平台确定所述API调用端发送的调用请求是否满足所述调用条件,当满足所述调用条件时,响应所述调用请求;
所述元数据中还包括:所述调用条件。
3.一种基于API的隐私计算方法,其特征在于,应用于API调用端,包括:
接收API提供端发送的隐私数据的元数据;其中,所述元数据包括:身份凭证、隐私计算服务平台为API分配的服务地址;
获取与所述隐私数据关联的目标源代码;
对所述目标源代码进行编译,得到编译结果;
基于所述服务地址,向所述隐私计算服务平台发送针对所述API的调用请求,以使所述隐私计算服务平台根据所述调用请求中的身份凭证验证API调用方的身份,并当验证通过时,根据所述隐私数据和所述调用请求中的编译结果进行隐私计算;
根据所述隐私计算服务平台反馈的调用结果,确定隐私计算结果。
4.如权利要求3所述的方法,其特征在于,
所述元数据中还包括:隐私数据的调用条件;
基于所述服务地址,向所述隐私计算服务平台发送针对所述API的调用请求,包括:
基于所述服务地址和所述调用条件,向所述隐私计算服务平台发送针对所述API的调用请求。
5.如权利要求3所述的方法,其特征在于,
获取与所述隐私数据关联的目标源代码,包括:
获取源代码;其中,在所述源代码中,所述隐私数据对应的变量携带污点标记;
基于所述污点标记对所述源代码进行静态污点分析,得到与所述隐私数据关联的目标源代码。
6.如权利要求3所述的方法,其特征在于,进一步包括:
根据所述目标源代码,确定所述隐私数据是否与所述API调用方的本地数据进行联合计算;
对所述目标源代码进行编译,得到编译结果,包括:
当所述隐私数据不与所述API调用方的本地数据进行联合计算时,对所述目标源代码进行封装,得到封装函数;
所述隐私计算结果为所述封装函数的接口输出的结果。
7.如权利要求3所述的方法,其特征在于,进一步包括:
根据所述目标源代码,确定所述隐私数据是否与所述API调用方的本地数据进行联合计算;
当所述隐私数据与所述API调用方的本地数据进行联合计算、隐私数据的使用频率小于预设的频率阈值时,基于同态加密算法生成同态加密的公钥和私钥;
对所述目标源代码进行编译,得到编译结果,包括:
当所述隐私数据与所述API调用方的本地数据进行联合计算时,确定所述隐私数据的使用频率;
当所述使用频率小于预设的频率阈值时,将所述目标源代码转换为同态加密电路;
根据所述隐私数据和所述调用请求中的编译结果进行隐私计算,包括:
基于所述调用请求中同态加密的公钥加密所述隐私数据,基于所述隐私数据的密文执行所述同态加密电路;
根据所述隐私计算服务平台反馈的调用结果,确定隐私计算结果,包括:
基于所述同态加密的私钥对所述调用结果进行解密,得到所述隐私计算结果。
8.如权利要求3所述的方法,其特征在于,进一步包括:
根据所述目标源代码,确定所述隐私数据是否与所述API调用方的本地数据进行联合计算;
当所述隐私数据与所述API调用方的本地数据进行联合计算、隐私数据的使用频率不小于预设的频率阈值时,基于秘密共享协议对所述本地数据进行切分,得到多个本地数据的密码学碎片,接收所述隐私计算服务平台发送的所述隐私数据的第一密码学碎片,根据所述隐私数据的第一密码学碎片、第一协议电路碎片和所述本地数据的第一密码学碎片执行多方安全计算,得到第一结果碎片,接收所述隐私计算服务平台发送的第二结果碎片;
对所述目标源代码进行编译,得到编译结果,包括:
当所述隐私数据与所述API调用方的本地数据进行联合计算时,确定所述隐私数据的使用频率;
当所述使用频率不小于预设的频率阈值时,对所述目标源代码进行切分,得到多个与所述本地数据的密码学碎片一一对应的代码碎片;
分别将各个所述代码碎片转换为协议电路碎片;
根据所述隐私数据和所述调用请求中的编译结果进行隐私计算,包括:
按照所述秘密共享协议对所述隐私数据进行切分,得到多个与所述协议电路碎片对应的隐私数据的密码学碎片;
基于所述隐私数据的第二密码学碎片及其对应的第二协议电路碎片、所述本地数据的第二密码学碎片执行多方安全计算,得到第二结果碎片;
根据所述隐私计算服务平台反馈的调用结果,确定隐私计算结果,包括:
将包括所述第一结果碎片和所述第二结果碎片的多个结果碎片,重构为所述隐私计算结果。
9.一种API提供端,其特征在于,包括:
元数据管理模块,配置为获取隐私计算服务平台为API分配的服务地址;获取API调用方的身份凭证;向API调用端发送隐私数据的元数据;其中,所述元数据包括:所述身份凭证和所述服务地址;
隐私计算配置模块,配置为对隐私计算服务平台进行远程认证,当认证通过时,将隐私数据上传至所述隐私计算服务平台;向所述隐私计算服务平台发送所述身份凭证,以使所述隐私计算服务平台基于所述身份凭证验证所述API调用方的身份,当验证通过时,根据所述隐私数据和所述API调用端发送的调用请求中的编译结果进行隐私计算。
10.一种API调用端,其特征在于,包括:
依赖解析模块,配置为获取与隐私数据关联的目标源代码;
计算控制模块,配置为接收API提供端发送的隐私数据的元数据;其中,所述元数据包括:身份凭证、隐私计算服务平台为API分配的服务地址;对所述目标源代码进行编译,得到编译结果;基于所述服务地址,向所述隐私计算服务平台发送针对所述API的调用请求,以使所述隐私计算服务平台根据所述调用请求中的身份凭证验证API调用方的身份,并当验证通过时,根据所述隐私数据和所述调用请求中的编译结果进行隐私计算;根据所述隐私计算服务平台反馈的调用结果,确定隐私计算结果。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN202310267341.4A 2023-03-20 2023-03-20 基于api的隐私计算方法、api调用端和api提供端 Active CN115987690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310267341.4A CN115987690B (zh) 2023-03-20 2023-03-20 基于api的隐私计算方法、api调用端和api提供端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310267341.4A CN115987690B (zh) 2023-03-20 2023-03-20 基于api的隐私计算方法、api调用端和api提供端

Publications (2)

Publication Number Publication Date
CN115987690A true CN115987690A (zh) 2023-04-18
CN115987690B CN115987690B (zh) 2023-08-08

Family

ID=85970914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310267341.4A Active CN115987690B (zh) 2023-03-20 2023-03-20 基于api的隐私计算方法、api调用端和api提供端

Country Status (1)

Country Link
CN (1) CN115987690B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116226928A (zh) * 2023-05-09 2023-06-06 京东科技控股股份有限公司 多方业务隐私数据的联合计算方法、装置、设备和介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118592A (ja) * 2009-12-02 2011-06-16 Kddi Corp アクセス制御システム、アクセス制御方法およびプログラム
EP2747369A1 (en) * 2012-12-21 2014-06-25 Gemalto SA A system and method of dynamic issuance of privacy preserving credentials
CN111027094A (zh) * 2019-12-04 2020-04-17 支付宝(杭州)信息技术有限公司 针对隐私数据泄漏的风险评估方法及装置
CN112926092A (zh) * 2021-03-30 2021-06-08 支付宝(杭州)信息技术有限公司 保护隐私的身份信息存储、身份认证方法及装置
CN113726767A (zh) * 2021-08-27 2021-11-30 交通银行股份有限公司 一种基于区块链的分布式多方隐私计算系统及方法
CN115603890A (zh) * 2022-09-02 2023-01-13 支付宝(杭州)信息技术有限公司(Cn) 隐私计算装置及隐私计算方法
CN115801317A (zh) * 2022-10-14 2023-03-14 支付宝(杭州)信息技术有限公司 服务提供方法、系统、装置、存储介质及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118592A (ja) * 2009-12-02 2011-06-16 Kddi Corp アクセス制御システム、アクセス制御方法およびプログラム
EP2747369A1 (en) * 2012-12-21 2014-06-25 Gemalto SA A system and method of dynamic issuance of privacy preserving credentials
CN111027094A (zh) * 2019-12-04 2020-04-17 支付宝(杭州)信息技术有限公司 针对隐私数据泄漏的风险评估方法及装置
CN112926092A (zh) * 2021-03-30 2021-06-08 支付宝(杭州)信息技术有限公司 保护隐私的身份信息存储、身份认证方法及装置
CN113726767A (zh) * 2021-08-27 2021-11-30 交通银行股份有限公司 一种基于区块链的分布式多方隐私计算系统及方法
CN115603890A (zh) * 2022-09-02 2023-01-13 支付宝(杭州)信息技术有限公司(Cn) 隐私计算装置及隐私计算方法
CN115801317A (zh) * 2022-10-14 2023-03-14 支付宝(杭州)信息技术有限公司 服务提供方法、系统、装置、存储介质及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116226928A (zh) * 2023-05-09 2023-06-06 京东科技控股股份有限公司 多方业务隐私数据的联合计算方法、装置、设备和介质
CN116226928B (zh) * 2023-05-09 2024-04-16 京东科技控股股份有限公司 多方业务隐私数据的联合计算方法、装置、设备和介质

Also Published As

Publication number Publication date
CN115987690B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN108965230B (zh) 一种安全通信方法、系统及终端设备
US10880100B2 (en) Apparatus and method for certificate enrollment
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN113572743B (zh) 数据加密、解密方法、装置、计算机设备和存储介质
KR102432356B1 (ko) 키 생성 장치 및 방법, 암호화 장치 및 방법
US10728232B2 (en) Method for authenticating client system, client device, and authentication server
CN113742709B (zh) 信息的处理方法、装置、可读介质和电子设备
CN112153015A (zh) 多重加密的接口认证方法、装置、设备和可读存储介质
CN115987690B (zh) 基于api的隐私计算方法、api调用端和api提供端
CN114785524B (zh) 电子印章生成方法、装置、设备和介质
CN112182635A (zh) 一种联合建模的实现方法、装置、设备和介质
CN107920060B (zh) 基于账号的数据访问方法和装置
CN114553590A (zh) 数据传输方法及相关设备
CN115150821A (zh) 离线包的传输、存储方法及装置
CN113094190B (zh) 微服务调用方法、调用装置、电子设备和存储介质
CN109711178A (zh) 一种键值对的存储方法、装置、设备及存储介质
CN115879074B (zh) 一种基于区块链的身份认证方法、装置和系统
CN116684104A (zh) Api接口的rsa2签名复核方法、装置、电子设备及介质
CN109995534B (zh) 一种对应用程序进行安全认证的方法和装置
CN114615087B (zh) 数据共享方法、装置、设备及介质
CN116633582A (zh) 安全通信方法、装置、电子设备及存储介质
CN109697603A (zh) 电子印章的保护方法、装置、设备及介质
CN111355584B (zh) 用于生成区块链多重签名的方法和装置
CN114172923A (zh) 数据传输方法、通信系统及通信装置
CN111131270B (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