一种可检测作弊服务器的私有信息检索协议的构造方法技术

技术编号:29222629 阅读:23 留言:0更新日期:2021-07-10 01:03
本发明专利技术公开了一种可检测作弊服务器的私有信息检索协议的构造方法,其特征在于,利用Merkle Tree的二叉树结构将PIR协议转化成能检验服务器返回数据真伪的且能适应数据库更新的PIR协议。利用本发明专利技术提供的方法得到的协议保证用户不仅能秘密地检索处想要的数据,还能有效地验证出检索所得结果的真伪。同时本发明专利技术还能适应服务器的实时更新,数据库的更新并不影响检索结果验证的正确性。在计算机上实际运行由此方法构造所得的cdPIR协议时,它的运行速度要比现有的具有可验证服务器应答真伪的VPIR协议更快,计算成本更低。计算成本更低。计算成本更低。

【技术实现步骤摘要】
一种可检测作弊服务器的私有信息检索协议的构造方法


[0001]本专利技术涉及一种可检测作弊服务器的私有信息检索协议的构造方法。

技术介绍

[0002]私有信息检索(Private Information Retrieval,PIR)协议是一种通信协议,它解决这样一类问题:用户根据自己所持有的私有消息向存储数据库的远程服务器发出查询以检索需要的数据,且用户的私有信息也不会被服务器获取。可检测作弊服务器的PIR(Cheater Detectable Private Information Retrieval,cdPIR)协议也是PIR协议,它允许用户秘密地检索出所需数据的同时还能识别出是否有服务器提供错误的应答。它们在云计算等相关领域有着广泛的应用,包括社交网络中的好友搜索(friend discovery),广告定位中的隐私保护(privacy preserving ad targeting),秘密通信(private messaging)以及智能手机的定位服务(location

based services for smartphone)。Merkle Tree也被称为Hash Tree,是存储hash值的一个树结构。它的叶子结点是数据库中的数据块,非叶子结点处的值是利用叶子结点处的数据和哈希函数逐层向上计算得到。
[0003]根据对用户隐私的保护程度,私有信息检索协议可以被分为两类:信息论安全的(Information

Theoretic)PIR协议和计算安全的(Computational)PIR协议。面对一个拥有无限制计算能力的敌手,前一种类型的PIR协议能保证用户的隐私被完全保护;后一种类型的服务器虽然计算能力有限,但仍能抵抗一个拥有多项式时间计算能力的敌手,它对用户隐私的保护通常是基于一些密码学领域的难题。
[0004]现有的可验证的私有信息检索(Verifiable Private Information Retrieval,VPIR)协议利用服务器返回的应答不仅能判断用户重构信息的真伪还能判断出具体哪个服务器返回了错误的答案。它满足了cdPIR协议的要求,却需要使用大量的双线性运算,用户需要花费数千秒才能从数据库中检索出一项数据,计算成本高昂。且大多这样的协议都只是计算安全的。现有的很多普通的PIR协议虽然达不到检测作弊服务器的功能,但运行效率却很高,通信成本低且通信时间短。

技术实现思路

[0005]本专利技术的目的是:将高效的PIR协议转化成为高效的cdPIR协议。
[0006]为了达到上述目的,本专利技术的技术方案是提供了一种可检测作弊服务器的私有信息检索协议的构造方法,其特征在于,利用Merkle Tree的二叉树结构将PIR协议转化成能检验服务器返回数据真伪的且能适应数据库更新的PIR协议,具体包括以下步骤:
[0007]利用具有抗碰撞性质的哈希函数H:{0,1}
*

{0,1}
w
,数据库x=(x0,x1,...,x
{n

1}
)的所有者利用(H,x)构造一棵二值Merkle Tree X。二值Merkle Tree X的根结点处的值和哈希函数H被定义为公钥,将数据库x中的n个数据值x0,x1,...,x
{n

1}
作为二值Merkle Tree X的n个叶子结点处的值。除叶子结点外,二值Merkle Tree X中的任何一个结点处的值都是由其两个子结点处的值经过哈希函数H作用后得到的哈希值,则对于结点j有:h
j
=H(h
{left}
||h
{right}
),式中,h
j
表示结点j处的值,h
{left}
表示结点j的左子结点处的值,h
{right}
表示结点j的右子结点处的值。
[0008]将Merkle Tree X每一层所有结点处的数据组成的集合都看作一个数据库,对于所有的定义Merkle Tree X第l层所有结点处的数据组成的集合为第l层数据库。假设数据库x中的第i条数据x
i
为用户需要检索的目标数据,则用户首先明确x
i
的检索路径式中,表示Merkle Tree X第层数据库的第i个数据,随后对于每一个在二值Merkle Tree X的第l层数据库上运行PIR协议,其中,用户的私有输入为i
l
,表示用于想获取二值Merkle Tree X中第l层中的第i
l
个数据;检索完成后,用户利用公钥和所有检索到的个数据模拟计算二值Merkle Tree X的根结点处的值,并与数据库所有者公开的Merkle Tree X根结点处的值进行比较,确定检索到的目标数据x
i
的正确性。
[0009]优选地,所述公钥从可信源获得。
[0010]优选地,若数据库x有更新,则服务器和数据库的所有者及时完成二值Merkle Tree X的更新,更新时,找到更新数据对应的叶子结点,仅更新该叶子结点到根节点的路径上的个结点处的值即可。
[0011]优选地,若服务器在通信前没有完成更新或者不按照指令更新,则即使通信协议的所有算法都严格地执行,用户利用所有检索到的个数据重新模拟计算得到的二值Merkle Tree X的根结点处的值不能通过验证。
[0012]本专利技术给出了一个可检测作弊服务器的私有信息检索协议的有效构造方法。利用本专利技术提供的方法得到的协议保证用户不仅能秘密地检索出想要的数据,还能有效地验证出检索所得结果的真伪。同时本专利技术还能适应服务器的实时更新,数据库的更新并不影响检索结果验证的正确性。在计算机上实际运行由此方法构造所得的cdPIR协议时,它的运行速度要比现有的具有可验证服务器应答真伪的VPIR协议更快,计算成本更低。
附图说明
[0013]图1为利用长度为8的数据库x=(x0,x1,...,x7)构造所得的Merkle Tree;
[0014]图2为利用长度为5的数据库x=(x0,x1,...,x4)构造所得的Merkle Tree;
[0015]图3为cdPIR协议Γ
HP
的通信成本;
[0016]图4为cdPIR协议Γ
HP
的计算时间。
具体实施方式
[0017]下面结合具体实施例,进一步阐述本专利技术。应理解,这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围。此外应理解,在阅读了本专利技术讲授的内容之后,本领域技术人员可以对本专利技术作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0018]本专利技术提供的一种可检测作弊服务器的私有信息检索协议的构造方法采用以下具体技术方案:
[0019]将数据库中的数据分块x存储在叶子结点处,然后利用哈希函数计算生成一棵二值Merkle Tre本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可检测作弊服务器的私有信息检索协议的构造方法,其特征在于,利用Merkle Tree的二叉树结构将PIR协议转化成能检验服务器返回数据真伪的且能适应数据库更新的PIR协议,具体包括以下步骤:记H:{0,1}
*

{0,1}
w
是一个具有抗碰撞性质的哈希函数,数据库x=(x0,x1,...,x
{n

1}
)的所有者利用(H,x)构造一棵二值Merkle Tree X。二值Merkle Tree X的根结点处的值和哈希函数H被定义为公钥,将数据库x中的n个数据值x0,x1,...,x
{n

1}
作为二值Merkle Tree X的n个叶子结点处的值。除叶子结点外,二值Merkle Tree X中的任何一个结点处的值都是由其两个子结处的值经过哈希函数H作用后得到的哈希值,则对于结点j有:h
j
=H(h
{left}
||h
{right}
),式中,h
j
表示结点j处的值,h
{left}
表示结点j的左子结点处的值,h
{right}
表示结点j的右子结点处的值。将Merkle Tree X每一层所有结点处的数据组成的集合都看作一个数据库,将Merkle Tree X第k层所有结点处的数据组成的集合定...

【专利技术属性】
技术研发人员:朱琳张良峰
申请(专利权)人:上海科技大学
类型:发明
国别省市:

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

1