一种基于不经意随机访问的隐私安全计算方法与流程

文档序号:34707065发布日期:2023-07-07 12:19阅读:75来源:国知局
一种基于不经意随机访问的隐私安全计算方法与流程

本发明涉及数据安全,尤其涉及一种基于不经意随机访问的隐私安全计算方法。


背景技术:

1、随着智能设备中各种应用程序的不断涌现,以及云计算与大数据技术的发展,服务器拥有的用户数据越来越多,数据隐私也逐渐受到关注。近年来屡有发生服务器被攻击的事件表明服务器并不完全可信。即便服务器的安全性可以保障,但为了自身商业利益,服务器也可能会悄悄搜集用户数据以获取有价值的信息。对于个人而言,隐私信息泄露会对其生活造成极大的困扰。对于企业而言,数据隐私的泄露会使得其商业利益受到极大的损失,如业务损失、声誉的负面影响以及在恢复数据上花费的金钱和时间。因此,不论个人还是企业,如何保障数据隐私性是极为瞩目的安全问题。

2、当数据存储服务器不可信时,现有研究表明,即便在数据已加密的情况下,在用户对加密数据进行可搜索查询时,通过对用户查询字符串产生的访问模式进行统计分析,服务器能正确识别80%的查询字符串,造成敏感数据泄露问题。访问模式是指用户请求访问存储于远程服务器的数据块时在服务器端产生的访问行为,包括:访问的目标数据块,各数据块的访问频率,数据块之间的关联性,访问方式(随机或者顺序),访问请求类型(读或者写)。

3、隐私安全计算是一种旨在保护用户隐私的前提下实现对敏感数据的分析和运算的方法。它的基本思想是在保证数据安全的前提下,对数据进行计算,并产生与不受限制的数据计算相同的结果。这样可以避免将数据暴露给潜在的攻击者,同时允许进行有意义的计算。在隐私安全计算中,数据通常以加密形式进行处理,以防止任何未经授权的访问。此外,计算过程通常采用安全多方计算等技术,以确保计算结果只能由受信任的参与者访问,从而保证数据隐私和计算结果的安全性。

4、不经意随机访问(oram)是一种隐私安全计算技术,旨在隐藏内存访问模式,保护用户数据的隐私和安全。oram的基本思想是在保证数据访问和查询的正确性的前提下,通过在内存中随机化数据的存储位置,隐藏内存访问模式,从而保护用户数据的隐私和安全。oram通常采用一些特殊的技术来实现数据的随机化存储和访问,如批处理、混淆、随机代理等技术。这些技术可以在不泄露任何关于数据的信息的情况下,保证数据访问和查询的正确性,并防止任何可能的攻击者通过分析内存访问模式来获得关于用户数据的敏感信息。但传统的oram模型是针对单用户低并发场景而设计的,面对高并发的场景存在严重的效率问题,过往的工作都是在基础模型的工作上做大量的优化,如此致使模型和系统变得越来越复杂。

5、本发明针对上述问题,提出了一种基于不经意随机访问的隐私安全计算方法,该方法放弃了过往的模型转而去探索新的模型,借鉴了树状模型path的概念提出了可以让多组访问并行的算法,并以此构建了新的模型。该方法与现有方法相比可以使同时发起访问的多个用户高效地并行访问,解决了并行查询和并行写回的问题,拥有良好的并发性,且响应时间短,吞吐量高,适用于云存储多用户场景下的隐私安全计算。


技术实现思路

1、发明目的:为了克服现有技术中存在的不足,本发明提供一种基于不经意随机访问的隐私安全计算方法,用于解决现有oram模型中并行性能较差与性能瓶颈的问题。

2、技术方案:为实现上述目的,本发明采用的技术方案为:

3、一种基于不经意随机访问的隐私安全计算方法,包括模型初始化、访问数据以及混洗写回三个步骤。在模型初始化步骤,完成对访问方、oram规则以及存储方的初始化操作;在访问数据步骤,访问方经过oram规则向存储方发出读写请求;在混洗写回步骤,存储方定期根据oram协议对数据进行乱序写回操作,以保证逻辑地址和物理地址的对应关系不会被存储方捕捉并通过计算推断出数据块内容。其具体步骤如下:

4、步骤1模型初始化;

5、在初始状态,每个客户端(访问方)要有各自的编号,并和服务器端(存储方)达成一致。所有访问方要与存储方达成统一的取址空间,避免出现访问越界的情况。同时访问方还要有能力对拿到的数据进行加密解密,这里假设所有的访问方都是可信的而且享有同一组密钥。

6、在oram规则部分,对取址空间n生成一棵随机数生成树randomtree,其为负责生成c组连续的不相交的随机数的数据结构,初始时生成树中的数字为随机排列。

7、c=(2h′-1)

8、其中,c为随机数生成树子树的数量,又称并行度。h′为随机数生成树虚节点高度。

9、假设需要连续生成4组不相交的随机数集合,首先构造一棵高度为h的二叉树,设置其前两层的节点为虚节点,这样就形成了共有2h-4个节点的4棵子树。为四棵子树的每一个节点都分配一个唯一的数字,这样容纳了从(0,1,2,……,2h-5)的数字空间。接下来分别从每一棵子树中随机选取一条路径,每条路径中包含的数字组成了一个长度为h-2的随机数集合,因为四条路径不相交,所以四个随机数集合也就没有交集。如果用户的数量过多,可以通过调整虚节点层数、增加子树数量的方式来增加并行度。

10、stash是一种类似缓存的结构,在一轮中的每一批对存储方发起的访问都会记录在这个结构中,并在下一轮开始之前进行混洗写回到存储方,初始为空。oram规则还要维护posmap,其负责维护逻辑地址和物理地址之间的关系。逻辑地址指的是访问方对一个数据的唯一标识,物理地址是存储方对一个数据的唯一标识,由于oram运行的过程就是掩盖两个地址相关性的过程,所以oram规则中需要posmap记录两者之间的映射关系。在初始状态时这个关系应该已经被正确地记录。

11、存储方在初始状态下无需特殊的初始化操作。

12、步骤2访问数据;

13、访问方经过oram规则向存储方发出读写请求,虽然访问方有读请求也有写请求,但是“当前的操作是读还是写”也是oram要掩盖的事情之一,所以在oram模型中,不管是读还是写,都会在存储方运行一遍写请求的完整流程。

14、步骤2.1访问方发起访问

15、由访问方a和b先后发起对数据x1和x2的访问,xi为第i次访问的目标数据逻辑地址。oram规则收到后会先通过随机数生成树和相应的规则生成实际访问集合s1和s2,si为第i次访问生成的随机数集合。再通过posmap将两个集合中的逻辑地址转换为物理地址后发送给存储方。

16、步骤2.2存储方返回数据

17、存储方收到两个物理地址集合后读取数据传输回给oram规则中的stash,再由stash返回时数据给访问方,其中实际访问集合s′r分为四种情况。

18、描述不同情况及对不同情况的解决方案前,先对这个过程涉及到的数据进行定义。假设随机数生成树的并行度为c,用户发起了该轮内的第r次访问,每c次访问称为一轮访问,一轮访问结束后需要混洗更新。用户要访问的数据称为目标访问数据,记作xr。随机数生成树得到的集合称为随机数集合,记作sr。假设先前访问都已经顺利执行,每次的目标访问数据分别为xi,每次的随机数集合为si,而目标访问数据和随机数集合会根据策略得到实际要对服务器端发起访问的数据集合,称为实际访问集合,记作s′r。会有以下几种情况:

19、(1)第一种情况是且在过去的每一次访问中这表示本次要访问的数据在之前的实际访问集合中没有出现过,之前要访问的数据和本次的随机数集合也没有交集。在这种情况下直接将sr中的任一数据替换为xr,即可得到实际访问集合s′r(如果xr∈sr,那么可以无需做替换操作)。

20、(2)第二种情况是xr∈{s′1,s′2,……,s′r-1},但这表示本次的目标访问数据在之前的实际访问集合中有出现过,但之前要访问的数据和本次要访问的数据、产生的随机数集合没有交集。在这种情况下可以直接选择不将目标访问数据放入实际访问集合中,而是直接令s′r=sr。这样做保证了本次的实际访问集合和之前的不会有交集。本轮没有访问到的目标数据会在其他的数据结构中进行获取。需要注意的是,本次的目标访问数据和曾经的目标访问数据相同(xr=xi)属于这一种情况。

21、(3)第三种情况是但xi∈sr(i=1,2,……r-1)。这表示本次的目标访问数据在之前的实际访问集合中没有出现过,但之前的目标访问数据和本次产生的随机数集合有交集。对这种情况的处理方式是不将所有的数字空间都用于构造树,而是留出一些做“候补”,当这一种情况发生的时候,将集合sr中和过去目标访问数据有重叠的元素用候补数字做替换,直到没有重叠元素为止。随后再用xr替换其中任一一个元素得到s′r。

22、(4)最后一种情况是xr∈{s′1,s′2,……,s′r-1},且xi∈sr(i=1,2,……r-1)。表示本次的目标访问数据在过去的实际访问集合中出现过,且过去的目标访问数据和本次的随机数集合有交集。这种情况下需要将集合sr中和过去目标访问数据有重叠的元素用候补数字做替换,同时无需用xr做替换操作,没有进行的访问在其他数据结构的操作中进行。

23、访问方收到了数据后需要重新加密再写回到stash中,这样一来可以防止被存储方破解混洗过程,同时由于所有访问方共享密钥,所以对stash中部分数据的重新加密不会影响到其他用户对stash的访问。到这里一次访问结束。

24、步骤3混洗写回;

25、等这一轮内的c次访问结束,此时stash中的数据已满,随机数生成树也需要进行一次更新操作。首先对随机生成树进行更新操作,以便如果有新的访问来,可以快速得到对应的访问地址集合,同时将stash中的数据乱序写回到服务器中,并根据写回的顺序更新posmap,确保下一次查询可以正确找到数据的地址。此外,即使下一次访问的访问地址集合已经确定而本轮stash还没有完成重新加密和写回操作,下一次访问的绝大多数数据会是上一轮没有访问到的,如此一来在轮次之间也可以有很高的并发性。

26、有益效果:

27、本发明针对上述问题,提出了一种基于不经意随机访问的隐私安全计算方法,该方法放弃了过往的模型转而去探索新的模型,借鉴了树状模型path的概念提出了可以让多组访问并行的算法,并以此构建了新的模型。该方法与现有方法相比可以使同时发起访问的多个用户高效地并行访问,解决了并行查询和并行写回的问题,拥有良好的并发性,且响应时间短,吞吐量高。该方法适用于数据存储服务器不可信时多用户场景下的隐私安全计算,在保护用户隐私的前提下,实现对敏感数据的分析和运算。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1