首页> 中国专利> 一种安全多方计算方法、装置、电子设备及存储介质

一种安全多方计算方法、装置、电子设备及存储介质

摘要

本申请提供一种安全多方计算方法、装置、电子设备及存储介质,用于改善目前的分布式文件系统难以提供安全多方计算服务的问题。该方法包括:接收第一终端设备发送的计算请求,计算请求包括多个文件摘要标识;从区块链中获取多个文件摘要标识中的每个文件摘要标识对应的文件摘要信息,获得多个文件摘要信息;从分布式文件系统中获取多个文件摘要信息中的每个文件摘要信息对应的加密文件,获得多个加密文件,多个加密文件在加密时使用的是同一种同态加密算法;获取多个加密文件对应的安全多方计算结果。

著录项

  • 公开/公告号CN112307504A

    专利类型发明专利

  • 公开/公告日2021-02-02

    原文格式PDF

  • 申请/专利权人 成都佳华物链云科技有限公司;

    申请/专利号CN202011298222.8

  • 申请日2020-11-18

  • 分类号G06F21/60(20130101);G06F21/62(20130101);G06F16/182(20190101);G06F16/27(20190101);G06Q30/02(20120101);

  • 代理机构11463 北京超凡宏宇专利代理事务所(特殊普通合伙);

  • 代理人衡滔

  • 地址 610000 四川省成都市天府新区华阳街道华府大道一段1号1号楼23A楼06-08号

  • 入库时间 2023-06-19 09:47:53

说明书

技术领域

本申请涉及区块链、分布式文件系统和同态加密的技术领域,具体而言,涉及一种安全多方计算方法、装置、电子设备及存储介质。

背景技术

分布式文件系统(Distributed File System,DFS),又被称为网络文件系统(Network File System),是指一种允许文件透过网络在多台主机上分享的文件系统,DFS可以让多机器上的多用户分享文件和存储空间。文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。

安全多方计算(Secure Multi-Party Computation,SMC)的研究主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。

目前的分布式文件系统只能够提供文件的存储服务,此处的分布式文件系统例如:谷歌文件系统(Google File System,GFS)和Hadoop分布式文件系统(HadoopDistributed File System,HDFS)等等;然而,在实际使用的过程中发现,目前的分布式文件系统难以提供安全多方计算服务。

发明内容

本申请实施例的目的在于提供一种安全多方计算方法、装置、电子设备及存储介质,用于改善目前的分布式文件系统难以提供安全多方计算服务的问题。

本申请实施例提供了一种安全多方计算方法,包括:接收第一终端设备发送的计算请求,计算请求包括多个文件摘要标识;从区块链中获取多个文件摘要标识中的每个文件摘要标识对应的文件摘要信息,获得多个文件摘要信息;从分布式文件系统中获取多个文件摘要信息中的每个文件摘要信息对应的加密文件,获得多个加密文件,多个加密文件在加密时使用的是同一种同态加密算法;获取多个加密文件对应的安全多方计算结果。在上述的实现过程中,先从区块链中获取计算请求中的文件摘要标识对应的文件摘要信息,然后从分布式文件系统中获取文件摘要信息对应的加密文件,最后使用区块链上的智能合约获取多个加密文件对应的安全多方计算结果;也就是说,通过结合管理文件摘要信息的区块链和管理文件摘要信息对应的加密文件的分布式文件系统,有效地建立了去中心化的可信分布式文件系统,然后再对可信分布式文件系统中的加密文件进行安全多方计算,从而有效地为终端设备提供了安全多方计算服务。

可选地,在本申请实施例中,在接收第一终端设备发送的计算请求之前,还包括:接收第二终端设备发送的加密文件,加密文件是使用同态加密算法加密获得的;将加密文件存入分布式文件系统中,获得分布式文件系统返回的文件存储结果;根据加密文件和文件存储结果生成文件摘要信息,并将文件摘要信息存储至区块链中,获得区块链返回的文件摘要标识;向第二终端设备发送文件摘要标识。在上述的实现过程中,通过结合分布式文件系统和区块链来构建去中心化的文件系统,使得整个文件系统可以被多方共同参与和共同管理,并且由于数据是同态加密算法加密的,可以对加密文件中的加密数据进行有效地计算而不用担心数据安全,获得的计算结果与明文计算结果相同,增加了文件系统的可拆分性和灵活性。

可选地,在本申请实施例中,计算请求还包括计算类型;获取多个加密文件对应的安全多方计算结果,包括:从协议集合中筛选计算类型对应的安全多方计算协议;根据安全多方计算协议对多个加密文件进行安全多方计算,获得安全多方计算结果。在上述的实现过程中,通过从协议集合中筛选计算类型对应的安全多方计算协议;根据安全多方计算协议对多个加密文件进行安全多方计算,获得安全多方计算结果;由于结合分布式文件系统和区块链来构建了有可信存储作为底层支撑,所以参与安全多方计算的原始数据来源本身就是可以信任的,避免了在计算过程中随时篡改数据的情况,从而有效地提高了数据来源的可信度,以及数据在计算过程中的安全性。

可选地,在本申请实施例中,从协议集合中筛选计算类型对应的安全多方计算协议,包括:使用区块链上的智能合约获取协议集合;使用智能合约从协议集合中筛选计算类型对应的安全多方计算协议。在上述的实现过程中,通过使用区块链上的智能合约获取协议集合;使用智能合约从协议集合中筛选计算类型对应的安全多方计算协议;有效地避免了人为地更改安全多方计算的实现逻辑,从而使得安全多方计算的计算结果可以被任何人重复验证,提高了计算结果的可验证性和数据在安全多方计算过程中的安全性。

可选地,在本申请实施例中,根据安全多方计算协议对多个加密文件进行安全多方计算,获得安全多方计算结果,包括:从多个竞买用户的加密文件中提取出价,获得多个密文出价,多个密文出价是针对第一终端设备对应的拍卖用户的拍卖标的上传的;使用安全多方计算协议从多个密文出价中筛选出高于预设保留价的密文出价,并将高于预设保留价的密文出价对应的加密文件确定为安全多方计算结果。在上述的实现过程中,通过从多个竞买用户的加密文件中提取多个密文出价;然后使用安全多方计算协议从多个密文出价中筛选出高于预设保留价的密文出价,并将高于预设保留价的密文出价对应的加密文件确定为安全多方计算结果;从而使得该安全多方计算方法可以应用更多的拍卖场景,有效地提高了该安全多方计算方法的适用范围。

可选地,在本申请实施例中,根据安全多方计算协议对多个加密文件进行安全多方计算,获得安全多方计算结果,包括:从多个投标用户的加密文件中提取报价,获得多个密文报价,多个密文报价是针对第一终端设备对应的招标用户的招标文件信息上传的;使用安全多方计算协议从多个密文报价中筛选出低于预设报价阈值的密文报价,并将低于预设报价阈值的密文报价对应的加密文件确定为安全多方计算结果。在上述的实现过程中,通过从多个投标用户的加密文件中提取报价,获得多个密文报价,多个密文报价是针对第一终端设备对应的招标用户的招标文件信息上传的;使用安全多方计算协议从多个密文报价中筛选出低于预设报价阈值的密文报价,并将低于预设报价阈值的密文报价对应的加密文件确定为安全多方计算结果;从而使得该安全多方计算方法可以应用更多的招投标场景,有效地提高了该安全多方计算方法的适用范围。

可选地,在本申请实施例中,分布式文件系统包括:星际文件系统;在从分布式文件系统中获取多个文件摘要信息中的每个文件摘要信息对应的加密文件之前,还包括:使用星际文件系统中的默克尔有向无环图来存储和管理多个文件摘要信息。在上述的实现过程中,通过使用星际文件系统中的默克尔有向无环图来存储和管理多个文件摘要信息;使用分布式哈希表来实现文件索引,形成一个全局的文件路由,如果给定一个已存储文件的具体哈希值,就能通过分布式哈希表迅速定位到哪些节点存储了该文件;如果对源文件的修改,那么修改的内容可能只是很少的一部分,不再需要将整个修改后的文件再做一次备份,只需要备份修改后的部分以及未修改部分的索引即可,从而会极大地减少存储空间消耗,有效地构建出一个基于可信存储且节约存储空间的分布式文件系统。

可选地,在本申请实施例中,在获取多个加密文件对应的安全多方计算结果之后,还包括:向第一终端设备发送安全多方计算结果,以使第一终端设备对应的用户确定合作用户。在上述的实现过程中,通过向第一终端设备发送安全多方计算结果,以使第一终端设备对应的用户确定合作用户;有效地获知第一终端设备的安全多方计算结果,并快速地确定合作用户,从而在竞买用户或者投标用户无法查看到竞争对手的出价或者报价的情况下,加速了拍卖交易或者招投标交易的完成效率。

本申请实施例还提供了一种安全多方计算装置,包括:计算请求接收模块,用于接收第一终端设备发送的计算请求,计算请求包括多个文件摘要标识;摘要信息获得模块,用于从区块链中获取多个文件摘要标识中的每个文件摘要标识对应的文件摘要信息,获得多个文件摘要信息;加密文件获得模块,用于从分布式文件系统中获取多个文件摘要信息中的每个文件摘要信息对应的加密文件,获得多个加密文件,多个加密文件在加密时使用的是同一种同态加密算法;计算结果获得模块,用于获取多个加密文件对应的安全多方计算结果。

可选地,在本申请实施例中,安全多方计算装置,还包括:加密文件接收模块,用于接收第二终端设备发送的加密文件,加密文件是使用同态加密算法加密获得的;存储结果获得模块,用于将加密文件存入分布式文件系统中,获得分布式文件系统返回的文件存储结果;摘要信息生成模块,用于根据加密文件和文件存储结果生成文件摘要信息,并将文件摘要信息存储至区块链中,获得区块链返回的文件摘要标识;摘要标识发送模块,用于向第二终端设备发送文件摘要标识。

可选地,在本申请实施例中,计算请求还包括计算类型;计算结果获得模块,包括:计算协议筛选模块,用于从协议集合中筛选计算类型对应的安全多方计算协议;加密文件计算模块,用于根据安全多方计算协议对多个加密文件进行安全多方计算,获得安全多方计算结果。

可选地,在本申请实施例中,计算协议筛选模块,包括:协议集合获取模块,用于使用区块链上的智能合约获取协议集合;智能合约筛选模块,用于使用智能合约从协议集合中筛选计算类型对应的安全多方计算协议。

可选地,在本申请实施例中,加密文件计算模块,包括:密文出价获得模块,用于从多个竞买用户的加密文件中提取出价,获得多个密文出价,多个密文出价是针对第一终端设备对应的拍卖用户的拍卖标的上传的;密文出价筛选模块,用于使用安全多方计算协议从多个密文出价中筛选出高于预设保留价的密文出价,并将高于预设保留价的密文出价对应的加密文件确定为安全多方计算结果。

可选地,在本申请实施例中,加密文件计算模块,包括:密文报价获得模块,用于从多个投标用户的加密文件中提取报价,获得多个密文报价,多个密文报价是针对第一终端设备对应的招标用户的招标文件信息上传的;密文报价筛选模块,用于使用安全多方计算协议从多个密文报价中筛选出低于预设报价阈值的密文报价,并将低于预设报价阈值的密文报价对应的加密文件确定为安全多方计算结果。

可选地,在本申请实施例中,分布式文件系统包括:星际文件系统;安全多方计算装置,还包括:文件摘要管理模块,用于使用星际文件系统中的默克尔有向无环图来存储和管理多个文件摘要信息。

可选地,在本申请实施例中,安全多方计算装置,还包括:计算结果发送模块,用于向第一终端设备发送安全多方计算结果,以使第一终端设备对应的用户确定合作用户。

本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。

本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出的本申请实施例提供的安全多方计算方法的流程示意图;

图2示出的本申请实施例提供的星际文件系统使用默克尔有向无环图进行管理的示意图;

图3示出的本申请实施例提供的获取安全多方计算结果的示意图;

图4示出的本申请实施例提供的加密文件的上传过程示意图;

图5示出的本申请实施例提供的安全多方计算装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。

在介绍本申请实施例提供的安全多方计算方法之前,先介绍本申请实施例中所涉及的一些概念:

区块链(blockchain或block chain)是借由密码学串接并保护内容的串连文字记录,这里的串连文字记录又被称为区块;其中,每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易数据,这里的交易数据通常使用默克尔树(Merkle tree)算法计算的散列值表示,这样的设计使得区块内容具有难以篡改的特性;使用区块链技术所串接的分布式账本能让两方有效记录交易,且可永久查验此交易。

星际文件系统(Inter Planetary File System,IPFS),是一个旨在创建持久且分布式存储和共享文件的网络传输协议,IPFS是一种内容可寻址的对等超媒体分发协议;在IPFS网络中的节点将构成一个分布式文件系统。

同态加密(Homomorphic encryption)是一种加密形式,同态加密允许人们对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。换言之,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。

服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。

需要说明的是,本申请实施例提供的安全多方计算方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,设备终端例如:智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digitalassistant,PDA)、移动上网设备(mobile Internet device,MID)、网络交换机或网络路由器等。

在介绍本申请实施例提供的安全多方计算方法之前,先介绍该安全多方计算方法适用的应用场景,这里的应用场景包括但不限于:拍卖场景和招投标场景等;其中,拍卖场景中的具体拍卖方式包括但不限于:英格兰式拍卖(English Auction)、荷兰式拍卖(DutchAuction)、英格兰式与荷兰式相结合的拍卖方式、美式拍卖方式、密封递价式、标准增量式、维克瑞式、速胜式、反向拍卖和定向拍卖等方式,为了便于理解和说明,以速胜式为例,拍卖标的物的竞价是按照竞价阶梯由低到高且依次递增的,当某个竞买人的出价达到(即大于或等于)保留价时,至此拍卖结束,此竞买人就成为买受人。

请参见图1示出的本申请实施例提供的安全多方计算方法的流程示意图;该安全多方计算方法的主要思路是,通过结合管理文件摘要信息的区块链和管理文件摘要信息对应的加密文件的分布式文件系统,有效地建立了去中心化的可信分布式文件系统,然后再对可信分布式文件系统中的加密文件进行安全多方计算,从而有效地为终端设备提供了安全多方计算服务;上述的安全多方计算方法可以包括:

步骤S110:接收第一终端设备发送的计算请求,计算请求包括多个文件摘要标识。

其中,计算请求可以包括:多个文件摘要标识、计算类型、终端设备标识和用户标识等等信息,此处的计算请求可以是拍卖用户的终端设备或者招标用户的终端设备发送的,该计算请求主要用来请求对多个文件摘要标识相应的加密文件进行安全多方计算,从而确定拍卖物品的受买用户或者从多个投标用户确定中标用户。

上述步骤S110的实施方式例如:第一终端设备通过网页客户端接口或者桌面应用程序接口向电子设备发送计算请求,电子设备通过网页客户端接口或者桌面应用程序接口接收第一终端设备发送的计算请求,并从计算请求中解析出多个文件摘要标识、计算类型、终端设备标识和用户标识等信息,然后对终端设备标识和用户标识进行校验,具体例如:在数据库的用户终端关联表查询终端设备标识和用户标识是否关联,若不关联,则确定第一终端设备校验不通过,拒绝该计算请求;又例如:判断用户标识关联的用户类型是否为拍卖用户或者招标用户,若否,则确定第一终端设备对应的用户标识校验不通过,拒绝该计算请求;如果校验通过,则继续执行步骤S120。

在步骤S110之后,执行步骤S120:从区块链中获取多个文件摘要标识中的每个文件摘要标识对应的文件摘要信息,获得多个文件摘要信息。

上述步骤S120的实施方式例如:先从区块链网络的至少一个节点中同步最新的区块链文件,然后从同步后的区块链文件中获取每个文件摘要标识对应的文件摘要信息,此处的文件摘要信息是拍卖物品的竞买用户或者投标用户在上传加密文件的过程中生成的,该文件摘要信息具体可以包括:文件标识、文件状态、文件名称、文件所有者、文件密文内容和文件加密类型(或加密方式)等等信息。

在步骤S120之后,执行步骤S130:从分布式文件系统中获取多个文件摘要信息中的每个文件摘要信息对应的加密文件,获得多个加密文件。

上述步骤S130的实施方式例如:上述的多个加密文件是竞买用户或者投标用户事先用同一种同态加密算法加密的,然后将同一种同态加密后的加密文件存储至分布式文件系统中;在加密文件存储之后,拍卖用户或者招标用户才可以从分布式文件系统中获取多个文件摘要信息中的每个文件摘要信息对应的加密文件,获得多个加密文件;其中,上述的分布式文件系统包括但不限于:星际文件系统(IPFS)、谷歌文件系统(GFS)、Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)、Lustre、MogileFS、MooseFS和GridFS等等。

请参见图2示出的本申请实施例提供的星际文件系统使用默克尔有向无环图进行管理的示意图;这里以IPFS为例进行说明,在具体的实践过程中,可以使用星际文件系统中的默克尔有向无环图(Merkle Directed Acyclic Graph,Merkle DAG)来存储和管理多个文件摘要信息,也就是说,IPFS使用分布式哈希表来实现文件索引,形成一个全局的文件路由,如果给定一个已存储文件的具体哈希值,就能通过分布式哈希表迅速定位到哪些节点存储了该文件;如果对源文件的修改,那么修改的内容可能只是很少的一部分,不再需要将整个修改后的文件再做一次备份,只需要备份修改后的部分以及未修改部分的索引即可,同理,在获取文件时,只需要获取备份修改后的部分以及未修改部分的索引,然后根据备份修改后的部分以及未修改部分的索引重新组装,即可获得修改后的文件。在上述的实现过程中,通过使用星际文件系统中的默克尔有向无环图来存储和管理多个文件摘要信息;从而会极大地减少存储空间消耗,有效地构建出一个基于可信存储且节约存储空间的分布式文件系统。

在步骤S130之后,执行步骤S140:获取多个加密文件对应的安全多方计算结果。

上述步骤S140中的安全多方计算的获取方式有很多种,包括但不限于如下几种:

第一种获取方式,使用区块链中的节点根据计算类型从多个安全多方计算协议中筛选出一个协议,并使用筛选出的协议进行计算,该获取方式可以包括:

步骤S141:从协议集合中筛选计算类型对应的安全多方计算协议。

上述步骤S141的实施方式例如:使用区块链中的节点来获取协议集合,并使用该节点从协议集合中筛选计算类型对应的安全多方计算协议。

步骤S142:根据安全多方计算协议对多个加密文件进行安全多方计算,获得安全多方计算结果。

上述步骤S142的实施方式包括:第一种实施方式,在拍卖场景中对多个加密文件进行安全多方计算,该实施方式可以包括:从多个竞买用户的加密文件中提取出价,获得多个密文出价,多个密文出价是针对第一终端设备对应的拍卖用户的拍卖标的上传的。使用安全多方计算协议从多个密文出价中筛选出高于预设保留价的密文出价,并将高于预设保留价的密文出价对应的加密文件确定为安全多方计算结果;其中,预设保留价可以由拍卖用户自行设置,也可以将最高的密文出价对应的加密文件确定为安全多方计算结果,当然也可以设置预设时长内没有人继续密文出价且上一次的密文出价高于预设保留价的,则将上一次的密文出价对应的加密文件确定为安全多方计算结果。第二种实施方式,在招投标场景中对多个加密文件进行安全多方计算,该实施方式可以包括:从多个投标用户的加密文件中提取报价,获得多个密文报价,多个密文报价是针对第一终端设备对应的招标用户的招标文件信息上传的。使用安全多方计算协议从多个密文报价中筛选出低于预设报价阈值的密文报价,并将低于预设报价阈值的密文报价对应的加密文件确定为安全多方计算结果;其中,预设报价阈值可以由招标用户自行设置,也可以由招标用户委托系统平台用户来设置等。

第二种获取方式,事先将多个安全多方计算协议集成至区块链上的智能合约中,在具体计算时,就可以使用区块链上的智能合约获取协议集合,并使用智能合约从协议集合中筛选计算类型对应的安全多方计算协议,并根据安全多方计算协议对多个加密文件进行安全多方计算,获得安全多方计算结果。该获取方式与第一种获取方式类似,区别仅在于第一种获取方式是没有集成和使用智能合约,第二种获取方式是使用事先集成多个安全多方计算协议的智能合约来计算的,因此,这里便不再赘述。

在上述的实现过程中,先从区块链中获取计算请求中的文件摘要标识对应的文件摘要信息,然后从分布式文件系统中获取文件摘要信息对应的加密文件,最后使用区块链上的智能合约获取多个加密文件对应的安全多方计算结果;也就是说,通过结合管理文件摘要信息的区块链和管理文件摘要信息对应的加密文件的分布式文件系统,有效地建立了去中心化的可信分布式文件系统,然后再对可信分布式文件系统中的加密文件进行安全多方计算,从而有效地为终端设备提供了安全多方计算服务。

请参见图3示出的本申请实施例提供的获取安全多方计算结果的示意图;可选地,在本申请实施例中,在获取多个加密文件对应的安全多方计算结果之后,还可以向招标用户的终端设备或者拍卖用户的终端设备;在步骤S140之后,还可以包括:

步骤S150:电子设备向第一终端设备发送安全多方计算结果。

上述步骤S150的实施方式例如:电子设备通过超文本传输协议(Hyper TextTransfer Protocol,HTTP)或者超文本传输安全协议(Hyper Text Transfer ProtocolSecure,HTTPS)向第一终端设备发送安全多方计算结果。

步骤S160:第一终端设备接收电子设备发送的安全多方计算结果,并从该安全多方计算结果中提取出用户标识,第一终端设备根据该用户标识确定出合作用户。

上述步骤S160的实施方式例如:第一终端设备接收电子设备发送的安全多方计算结果,并从该安全多方计算结果中提取出加密文件和用户标识,第一终端设备对应的用户根据该用户标识确定合作用户,并从合作用户获取到的密钥对加密文件进行解密,从而与加密文件对应的合作用户进一步达成合作。

在上述的实现过程中,通过向第一终端设备发送安全多方计算结果,以使第一终端设备对应的用户确定合作用户;有效地获知第一终端设备的安全多方计算结果,并快速地确定合作用户,从而在竞买用户或者投标用户无法查看到竞争对手的出价或者报价的情况下,加速了拍卖交易或者招投标交易的完成效率。

请参见图4示出的本申请实施例提供的加密文件的上传过程示意图;可以理解的是,在步骤S110中的接收第一终端设备发送的计算请求之前,还可以进行文件管理,此处的文件管理过程可以包括:上传过程、删除过程或者查询过程等等,下面分别介绍这几个过程,首先介绍加密文件的上传过程可以包括:

步骤S210:电子设备接收第二终端设备发送的加密文件,加密文件是使用同态加密算法加密获得的。

上述步骤S210的实施方式例如:竞买用户使用同态加密算法对出价数据进行加密获得加密文件,或者,投标用户使用同态加密算法对投标数据进行加密获得加密文件,然后通过第二终端设备向电子设备发送该加密文件;电子设备通过传输控制协议(Transmission Control Protocol,TCP)或者用户数据报协议(User Datagram Protocol,UDP)接收第二终端设备发送的加密文件;其中,可以使用的同态加密算法包括但不限于:对于乘法操作同态的RSA算法,对于加法同态的Paillier算法,以及全同态的Gentry算法。

在步骤S210之后,执行步骤S220:电子设备将加密文件存入分布式文件系统中,获得分布式文件系统返回的文件存储结果。

上述步骤S220的实施方式例如:电子设备调用分布式文件系统的存储接口或者存储函数,然后将加密文件存入分布式文件系统中,获得分布式文件系统返回的文件存储结果;其中,可以使用的分布式文件系统包括但不限于:IPFS、GFS、HDFS、Ceph、Lustre、MogileFS、MooseFS、FastDFS、TFS和GridFS等。

在步骤S220之后,执行步骤S230:电子设备根据加密文件和文件存储结果生成文件摘要信息,并将文件摘要信息存储至区块链中,获得区块链返回的文件摘要标识。

上述步骤S230的实施方式例如:电子设备根据加密文件和文件存储结果生成文件摘要信息,并将文件摘要信息存储至区块链文件中,并将该区块链文件同步至同一区块链网络的其它节点中,获得区块链返回的文件摘要标识;其中,文件摘要信息具体可以包括:文件标识、文件哈希值、文件状态、文件名称、文件所有者、文件密文内容和文件加密类型(或加密方式)等等信息,文件哈希值具体可以是采用MD5、SHA-256/224、SHA-512/384和WHIRLPOOL等算法进行哈希计算获得。

在步骤S230之后,执行步骤S240:电子设备向第二终端设备发送文件摘要标识。

其中,该步骤S240的实施原理和实施方式与步骤S210的实施原理和实施方式是类似的,区别仅在于步骤S210是电子设备接收第二终端设备发送的数据,而步骤S240是电子设备向第二终端设备发送数据,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S210的描述。

在上述的实现过程中,通过结合分布式文件系统和区块链来构建去中心化的文件系统,使得整个文件系统可以被多方共同参与和共同管理,并且由于数据是同态加密算法加密的,可以对加密文件中的加密数据进行有效地计算而不用担心数据安全,获得的计算结果与明文计算结果相同,增加了文件系统的可拆分性和灵活性。

上面介绍了加密文件的上传过程,下面介绍删除过程,可以包括:

步骤S250:电子设备接收第二终端设备发送的删除请求,该删除请求中包括:文件摘要标识和删除类型。

在步骤S250之后,执行步骤S260:电子设备获取到文件摘要标识对应的加密文件,并根据删除类型将加密文件进行删除,并向第二终端设备发送删除结果。

上述步骤S250至步骤S260的实施方式例如:第二终端设备向电子设备发送删除请求,该删除请求用于删除之前上传的加密文件;电子设备接收第二终端设备发送的删除请求,该删除请求中包括:文件摘要标识和删除类型;电子设备获取到文件摘要标识对应的加密文件,并根据删除类型将加密文件进行删除,并向第二终端设备发送删除结果;其中,根据删除类型将加密文件进行删除的过程具体例如:若删除类型为快速删除,则从区块链中删除与该文件摘要标识的文件摘要信息;若删除类型为彻底删除,则通知分布式文件系统释放该文件摘要标识对应的加密文件所占的存储空间,并从区块链中删除与该文件摘要标识的文件摘要信息;电子设备获取到文件摘要标识对应的加密文件的具体过程请参照上述步骤S110至步骤S130的解释,因此,这里便不再赘述。

上面介绍了加密文件的删除过程,下面介绍查询过程,可以包括:

步骤S270:电子设备接收第二终端设备发送的查询请求,该查询请求中包括:文件摘要标识和查询类型。

在步骤S270之后,执行步骤S280:电子设备获取到文件摘要标识对应的加密文件,并根据查询类型获取该加密文件的查询结果,并向该第二终端设备发送该查询结果。

上述步骤S270至步骤S280的实施方式例如:电子设备接收第二终端设备发送的查询请求,该查询请求中包括:文件摘要标识和查询类型;电子设备获取到文件摘要标识对应的加密文件,并根据查询类型获取该加密文件的询结果,并向该第二终端设备发送该查询结果;其中,根据查询类型获取该加密文件的询结果的过程具体例如:若查询类型为简要查询,则根据预设的简要查询字段模板获取该加密文件的多个字段信息,并根据多个字段信息生成查询结果;若查询类型为全面查询,则获取该加密文件的所有字段信息,并根据所有字段信息生成查询结果;电子设备获取到文件摘要标识对应的加密文件的具体过程请参照上述步骤S110至步骤S130的解释,因此,这里便不再赘述。

请参见图5示出的本申请实施例提供的安全多方计算装置的结构示意图;本申请实施例提供了一种安全多方计算装置300,包括:

计算请求接收模块310,用于接收第一终端设备发送的计算请求,计算请求包括多个文件摘要标识。

摘要信息获得模块320,用于从区块链中获取多个文件摘要标识中的每个文件摘要标识对应的文件摘要信息,获得多个文件摘要信息。

加密文件获得模块330,用于从分布式文件系统中获取多个文件摘要信息中的每个文件摘要信息对应的加密文件,获得多个加密文件,多个加密文件在加密时使用的是同一种同态加密算法。

计算结果获得模块340,用于获取多个加密文件对应的安全多方计算结果。

可选地,在本申请实施例中,安全多方计算装置,还包括:

加密文件接收模块,用于接收第二终端设备发送的加密文件,加密文件是使用同态加密算法加密获得的。

存储结果获得模块,用于将加密文件存入分布式文件系统中,获得分布式文件系统返回的文件存储结果。

摘要信息生成模块,用于根据加密文件和文件存储结果生成文件摘要信息,并将文件摘要信息存储至区块链中,获得区块链返回的文件摘要标识。

摘要标识发送模块,用于向第二终端设备发送文件摘要标识。

可选地,在本申请实施例中,计算请求还包括计算类型;计算结果获得模块,包括:

计算协议筛选模块,用于从协议集合中筛选计算类型对应的安全多方计算协议。

加密文件计算模块,用于根据安全多方计算协议对多个加密文件进行安全多方计算,获得安全多方计算结果。

可选地,在本申请实施例中,计算协议筛选模块,包括:

协议集合获取模块,用于使用区块链上的智能合约获取协议集合。

智能合约筛选模块,用于使用智能合约从协议集合中筛选计算类型对应的安全多方计算协议。

可选地,在本申请实施例中,加密文件计算模块,可以包括:

密文出价获得模块,用于从多个竞买用户的加密文件中提取出价,获得多个密文出价,多个密文出价是针对第一终端设备对应的拍卖用户的拍卖标的上传的。

密文出价筛选模块,用于使用安全多方计算协议从多个密文出价中筛选出高于预设保留价的密文出价,并将高于预设保留价的密文出价对应的加密文件确定为安全多方计算结果。

可选地,在本申请实施例中,加密文件计算模块,还可以包括:

密文报价获得模块,用于从多个投标用户的加密文件中提取报价,获得多个密文报价,多个密文报价是针对第一终端设备对应的招标用户的招标文件信息上传的。

密文报价筛选模块,用于使用安全多方计算协议从多个密文报价中筛选出低于预设报价阈值的密文报价,并将低于预设报价阈值的密文报价对应的加密文件确定为安全多方计算结果。

可选地,在本申请实施例中,分布式文件系统包括:星际文件系统;安全多方计算装置,还包括:

文件摘要管理模块,用于使用星际文件系统中的默克尔有向无环图来存储和管理多个文件摘要信息。

可选地,在本申请实施例中,安全多方计算装置,还包括:

计算结果发送模块,用于向第一终端设备发送安全多方计算结果,以使第一终端设备对应的用户确定合作用户。

应理解的是,该装置与上述的安全多方计算方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。

本申请实施例提供的一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上的方法。

本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。

其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以使用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号