一种支持双服务器安全访问的随机置乱方法技术

技术编号:35007861 阅读:15 留言:0更新日期:2022-09-21 14:59
本发明专利技术提供了一种支持双服务器安全访问的随机置乱方法,包括:数据库拥有者对需要存储的数据库数据进行异或分享,并将其发送至双服务器,查询用户将查询数据进行异或分享,并将其发送至双服务器,双服务器根据查询数据进行查询,并将查询结果返回至查询用户,返回完毕后,双服务器对存储的数据库数据进行参数初始化,在查询间隙,双服务器对存储的数据库数据进行置乱操作。本发明专利技术提供的支持双服务器安全访问的随机置乱方法,实现了双服务器的随机置乱方法,能够保护数据库数据的机密性和完整性,能够防止服务器通过访问模式推断出关于存储数据以及查询数据的信息。储数据以及查询数据的信息。储数据以及查询数据的信息。

【技术实现步骤摘要】
一种支持双服务器安全访问的随机置乱方法


[0001]本专利技术涉及基于双服务器的数据隐私保护
,特别是涉及一种支持双服务器安全访问的随机置乱方法。

技术介绍

[0002]如今,由于对云服务器存储的相关技术的不断成熟,为了节约本地存储空间,公司、高校或者个人经常采用外包的存储数据的形式,将其所拥有的数据外包至云服务器,利用服务器高性能,存储空间大的优势,帮助计算。然而,由于数据的隐私性和机密行,公司、高校或者个人不希望服务器获得其所拥有的明文数据,例如:个人基因数据、公司客户信息等隐私数据。因此,通常采用双服务器的形式,将数据进行分享,分别存放在两个服务器上,只需要保证该双服务器不会联合起来窃取数据,则单个服务器都无法恢复原始信息。在这样的基础之上,再采用两方安全计算技术,两个服务器之间进行计算,并对客户的查询信息进行返回。尽管,数据已经被分割存储,但是,双服务器计算客户的查询信息后,返回结果则会泄露访问模式信息,以及数据存储位置。双服务器通过分析访问模式,可以推断出关于存储数据的信息,例如:存储的数据为基因数据,基因数据包含了个人大量的隐私信息,并且基因的位置也包含相关信息,对于访问模式的泄露,服务器可以通过哪些位置经过了多次查询推断出该位置为何种基因数据,造成数据泄露。因此,在保证数据拥有者对其数据进行共享和研究的同时,双服务器还需要一些置换协议来保证不泄露访问模式。
[0003]目前,密码学中的部分技术可以被用来解决这一难题,如同态加密技术、茫然随机访问机制以及可信执行环境。然而,这些方案仍然存在一定的瓶颈,采用同态加密技术会造成较大的计算开销,效率较为低下;而茫然随机访问机制则会造成较大的通讯开销;现有的可信执行环境仍然存在着侧信道攻击的风险,因此,现有的方案无法做到在保护所有参与方的隐私和数据安全的同时,高效地实现随机置乱协议,用于实现安全访问。因此,设计一种支持双服务器安全访问的随机置乱方法是十分有必要的。

技术实现思路

[0004]本专利技术的目的是提供一种支持双服务器安全访问的随机置乱方法,实现了双服务器的随机置乱方法,能够保护数据库数据的机密性和完整性,能够防止服务器通过访问模式推断出关于存储数据以及查询数据的信息。
[0005]为实现上述目的,本专利技术提供了如下方案:
[0006]一种支持双服务器安全访问的随机置乱方法,包括如下步骤:
[0007]步骤1:数据库拥有者对需要存储的数据库数据进行异或分享,并将其发送至双服务器;
[0008]步骤2:查询用户将查询数据进行异或分享,并将其发送至双服务器,双服务器根据查询数据进行查询,并将查询结果返回至查询用户,返回完毕后,双服务器对存储的数据库数据进行参数初始化;
[0009]步骤3:在查询间隙,双服务器对存储的数据库数据进行置乱操作。
[0010]可选的,步骤1中,数据库拥有者对需要存储的数据库数据进行异或分享,并将其发送至双服务器,具体为:
[0011]数据库拥有者将其拥有的数据库数据DB={DB1,DB2,...,DB
n
}进行异或分享,即将其中的一部分发送至双服务器中的第一服务器,另一部分分享至第二服务器,即第一服务器得到<DB>1={<DB1>1,...,<DB
n
>1},第二服务器得到<DB>2={<DB1>2,...,<DB
n
>2}。
[0012]可选的,步骤3中,在查询间隙,双服务器对存储的数据库数据进行置乱操作,具体包括如下步骤:
[0013]步骤301:第一服务器生成第一交换电路、第一置换函数、第一随机数集合,第一服务器将第一随机数集合及第一置换函数作为第一交换电路的输入,并将其发送至第二服务器;
[0014]步骤302:第二服务器生成第二随机数集合、第二置换函数,将第二随机数集合及第二置换函数作为第一交换电路的输入,最终得到二次置乱之后的随机数集合;
[0015]步骤303:第一服务器生成第三随机数集合及第二交换电路,将第三随机数集合及第一置换函数作为第二交换电路的输入,并将其发送至第二服务器;
[0016]步骤304:第二服务器将计算其拥有的数据库数据及第二随机数集合的异或结果,并将其作为第二交换电路的输入,第二服务器生成第三交换电路,将第二交换电路的输出作为第三交换电路的输入,并将其发送至第一服务器;
[0017]步骤305:第一服务器对第三交换电路进行判断,若判断正确,则第一服务器计算其所拥有的数据库数据、第一随机数集合及第三随机数集合的异或结果,并将其作为第三交换电路的输入,第一服务器及第二服务器分别得到新的数据库数据,完成随机置乱操作,若判断错误,则停止运行。
[0018]可选的,步骤301中,第一服务器生成第一交换电路、第一置换函数、第一随机数集合,第一服务器将第一随机数集合及第一置换函数作为第一交换电路的输入,并将其发送至第二服务器,具体为:
[0019]第一服务器基于姚氏混淆电路协议及瓦克斯曼网络生成第一交换电路C1,第一服务器生成与数据库数量相等的第一随机数集合u={u1,...,u
n
},其中,第一随机数集合u={u1,...,u
n
}中的随机数均为随机生成的,第一服务器生成第一置换函数π1,其中,第一置换函数π1的置乱复杂度为n!,第一服务器将第一随机数集合u={u1,...,u
n
}及第一置换函数π1作为第一交换电路C1的输入,并将第一交换电路C1发送至第二服务器。
[0020]可选的,步骤302中,第二服务器生成第二随机数集合、第二置换函数,将第二随机数集合及第二置换函数作为第一交换电路的输入,最终得到二次置乱之后的随机数集合,具体为:
[0021]第二服务器生成与数据库数量相等的第二随机数集合r={r1,...,r
n
}以及用于置换的第二置换函数π2,其中,第二随机数集合中的随机数均为随机生成的,且第二置换函数π2的置乱复杂度为n!,第二服务器将第二随机数集合r={r1,...,r
n
}作为收到的第一交换电路C1的输入,经电路运算后,第二服务器得到置乱之后的随机数集合为通过第二置换函数π2对其进行置乱,得到二次置乱
后的随机数集合为
[0022]可选的,步骤303中,第一服务器生成第三随机数集合及第二交换电路,将第三随机数集合及第一置换函数作为第二交换电路的输入,并将其发送至第二服务器,具体为:
[0023]第一服务器基于姚氏混淆电路协议及瓦克斯曼网络生成第二交换电路C2,第一服务器生成与数据库数量相等的第三随机数集合v={v1,...,v
n
},其中,第三随机数集合v={v1,...,v
n
}中的随机数均为随机生成的,第一服务器将第三随机数集合v={v1,...,v
n
}及第一置换函数π1作为第二交换电路C2的输入,并将第二交换电路C2发送至第二服务器。
...

【技术保护点】

【技术特征摘要】
1.一种支持双服务器安全访问的随机置乱方法,其特征在于,包括如下步骤:步骤1:数据库拥有者对需要存储的数据库数据进行异或分享,并将其发送至双服务器;步骤2:查询用户将查询数据进行异或分享,并将其发送至双服务器,双服务器根据查询数据进行查询,并将查询结果返回至查询用户,返回完毕后,双服务器对存储的数据库数据进行参数初始化;步骤3:在查询间隙,双服务器对存储的数据库数据进行置乱操作。2.根据权利要求1所述的支持双服务器安全访问的随机置乱方法,其特征在于,步骤1中,数据库拥有者对需要存储的数据库数据进行异或分享,并将其发送至双服务器,具体为:数据库拥有者将其拥有的数据库数据DB={DB1,DB2,...,DB
n
}进行异或分享,即将其中的一部分发送至双服务器中的第一服务器,另一部分分享至第二服务器,即第一服务器得到<DB>1={<DB1>1,...,<DB
n
>1},第二服务器得到<DB>2={<DB1>2,...,<DB
n
>2}。3.根据权利要求2所述的支持双服务器安全访问的随机置乱方法,其特征在于,步骤3中,在查询间隙,双服务器对存储的数据库数据进行置乱操作,具体包括如下步骤:步骤301:第一服务器生成第一交换电路、第一置换函数、第一随机数集合,第一服务器将第一随机数集合及第一置换函数作为第一交换电路的输入,并将其发送至第二服务器;步骤302:第二服务器生成第二随机数集合、第二置换函数,将第二随机数集合及第二置换函数作为第一交换电路的输入,最终得到二次置乱之后的随机数集合;步骤303:第一服务器生成第三随机数集合及第二交换电路,将第三随机数集合及第一置换函数作为第二交换电路的输入,并将其发送至第二服务器;步骤304:第二服务器将计算其拥有的数据库数据及第二随机数集合的异或结果,并将其作为第二交换电路的输入,第二服务器生成第三交换电路,将第二交换电路的输出作为第三交换电路的输入,并将其发送至第一服务器;步骤305:第一服务器对第三交换电路进行判断,若判断正确,则第一服务器计算其所拥有的数据库数据、第一随机数集合及第三随机数集合的异或结果,并将其作为第三交换电路的输入,第一服务器及第二服务器分别得到新的数据库数据,完成随机置乱操作,若判断错误,则停止运行。4.根据权利要求3所述的支持双服务器安全访问的随机置乱方法,其特征在于,步骤301中,第一服务器生成第一交换电路、第一置换函数、第一随机数集合,第一服务器将第一随机数集合及第一置换函数作为第一交换电路的输入,并将其发送至第二服务器,具体为:第一服务器基于姚氏混淆电路协议及瓦克斯曼网络生成第一交换电路C1,第一服务器生成与数据库数量相等的第一随机数集合u={u1,...,u
n
},其中,第一随机数集合u={u1,...,u
n
}中的随机数均为随机生成的,第一服务器生成第一置换函数π1,其中,第一置换函数π1的置乱复杂度为n!,第一服务器将第一随机数集合u={u1,...,u
n
}及第一置换函数π1作为第一交换电路C1的输入,并将第一交换电路C1发送至第二服务器。5.根据权利要求4所述的支持双服务器安全访问的随机置乱方法,其特征...

【专利技术属性】
技术研发人员:李延凯梁栋邢航
申请(专利权)人:北京原语科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1