不经意访问存储系统技术方案

技术编号:32271440 阅读:9 留言:0更新日期:2022-02-12 19:35
一种不经意访问存储系统,包括:可信代理服务器、存储云服务器和用户群,其中:作为存储系统的使用者的用户群通过给定的软件接口与可信代理服务器的序列器交互,存储有所有的数据的存储云服务器作为半诚实存储服务器,完成可信代理服务器指定的存取操作的同时窥探访问模式。本发明专利技术将洗牌带来的性能开销平均到每次访问中,不使用扩充一个访问为多个访问的思路,而是着重在时间维度进行假访问混淆,达到提高真正的客户请求响应速度的效果。提高真正的客户请求响应速度的效果。提高真正的客户请求响应速度的效果。

【技术实现步骤摘要】
不经意访问存储系统


[0001]本专利技术涉及的是一种信息安全领域的技术,具体是一种不经意访问(Oblivious Random Access)存储系统。

技术介绍

[0002]不经意访问机(Oblivious Random Access Machine)是通过在访问远程存储系统时,客户端不断地对访问的数据进行位置置换混洗和内容重新加密,进而达到对服务端隐藏访问模式目的一种密码学原语。现有的不经意访问算法,在基本原理上,都是把某一个访问,另外附上若干个假的访问,通过同时发起这若干个访问,达到混淆实际访问地址的目的。但是这类算法有一个通病,就是对单次访问的响应时间较长,可以设想,本来网络传输某一个块数据所需要的延时,将被延长到总数据量的对数级别。
[0003]现有的异步网络环境或不可信网络环境下的多用户ORAM访问技术在访问目标数据块时一般采用该数据块从根节点到叶子结点的一整条路径,往往导致了单次访问延迟及其造成的带宽膨胀较大。

技术实现思路

[0004]本专利技术针对现有不经意访问机算法的单次访问响应延迟过大问题,提出一种不经意访问存储系统,将洗牌带来的性能开销平均到每次访问中,不使用扩充一个访问为多个访问的思路,而是着重在时间维度进行假访问混淆,达到提高真正的客户请求响应速度的效果。
[0005]本专利技术是通过以下技术方案实现的:
[0006]本专利技术涉及一种不经意访问存储系统,包括:可信代理服务器、存储云服务器和用户群,其中:作为存储系统的使用者的用户群通过给定的软件接口与可信代理服务器的序列器交互,存储有所有的数据的存储云服务器作为半诚实存储服务器,完成可信代理服务器指定的存取操作的同时窥探访问模式。
[0007]所述的可信代理服务器内置序列器、位置映射表和访问模块,其中:序列器接受来自外部的用户读写访问请求,经序列化后逐个输出至访问模块;位置映射表中包含每一个数据块在完全二叉树中的路径和唯一对应的桶高度,访问模块包括缓冲池单元、假访问伪造单元和交互单元,其中:缓冲池单元缓冲部分数据,当序列器提供的读写请求所对应的数据块位于缓冲池中时,直接读/写缓冲池,而不需要经过进一步与存储云服务器的交互。缓冲池内部可以使用LRU、LFU等各种替换算法;交互单元将来自假访问伪造单元的数据加密存储至存储云服务器的指定位置,或者将存储云服务器对应位置的加密数据解密后输出至假访问伪造单元;假访问伪造单元根据假访问伪造算法伪造特定位置的假访问,将多级队列中的特定数据输出至交互模块写入存储云服务器或者利用交互模块仅仅对存储云服务器中特定的位置进行假访问。
[0008]所述的多级队列,由L=logN个缓存队列组成,其中:任意一个队列记为Q
i
,i=1,
2,...,L。
[0009]所述的假访问,在序列器为空时,将根据假访问伪造算法伪造特定位置的假访问,将多级队列中的特定数据输出至交互模块写入存储云服务器,或者利用交互模块仅仅对存储云服务器中某些特定的位置做假访问;当序列器不为空时,假访问伪造单元将拿到序列其中的访问请求,直接通过交互模块对对应的位置发起访问,并且按照假访问伪造算法更新多级队列的状态。
[0010]本专利技术涉及一种基于上述系统的不经意访问方法,包括:单次访问混淆访问算法、系统初始化算法、访问伪造算法和数据洗牌算法。
[0011]所述的单次访问混淆访问算法将交互模块发起的与存储云服务器的单次访问(读或写)替换为一次读和一次写,且交互的数据内容均为抵抗选择明文攻击的对称加密后的结果,即当原访问请求是读访问时,写回的数据明文为原明文,而当原访问是写访问时,写回的数据为新数据,具体包括:
[0012]S01.交互模块读取指定的位置桶,并且进行对称解密。
[0013]S02.当为读请求,则将数据交还给用户侧,并且将数据重新加密输出至交互模块,并执行步骤S04;否则执行步骤S03。
[0014]S03.当为写请求,则把要写入的数据加密输出至交互模块。
[0015]所述的系统初始化算法,具体包括:
[0016]S11.初始化可信代理服务器和存储云服务器:将存储云服务器的中的存储组织成完全二叉树的形式,每一个二叉树节点又称为一个桶,每一个桶包括Z个数据块。整个树高为L=logN,总存储空间的块个数为N,每一个块能够存储B个字节后执行步骤S12。
[0017]S12.在可信代理服务器端初始化一个位置映射表,记录原数据地址空间中每一个数据块将会被映射到位于云端二叉树的叶子结点路径和具体的桶高度,当某一个数据块被映射到一个已经满的桶时,重新随机选取一个桶,直到选到一个不满的桶。被映射的原数据块,经过抗选择明文攻击的对称加密算法加密后,存储在存储云服务器对应位置上。
[0018]所述的映射,每一条记录是以此随机生成。
[0019]所述的可信代理服务器提供的,或者说用户群可见的的原数据地址空间小于存储云服务器上的整个二叉树容量大小。
[0020]S13.填补剩余的空位置:对云端二叉树中的仍然存在空的桶或者是桶中空的未插入数据的位置,伪造随机数据串放入到对应的位置。
[0021]所述的访问伪造算法,具体包括:
[0022]S21.访问发起触发:假访问伪造单元周期性地查询当序列器中有待发起的访问请求时,执行步骤S22,否则执行步骤S23。
[0023]S22.真实访问:假访问伪造单元会查询位置映射表,获取对应数据块所在的桶位置高度n,桶编号m,输出至交互模块,由交互模块发起读/写访问。然后进行数据洗牌算法的步骤S31。
[0024]S23.假访问伪造:假访问伪造单元会随机选择一个层高度n,1≤n≤L,然后在该层随机选取一个桶号m,1≤m≤2
n
‑1,对此随机桶经由交互模块发起读/写访问后执行步骤S33。
[0025]所述的数据洗牌算法,具体包括:
[0026]S31.真数据洗牌算法:当多级队列最上层队列Q0不满,则执行步骤S32,否则执行
步骤S34。
[0027]S32.数据块上升:将此次访问的数据块放在Q0末尾且修改位置映射表中原数据块编号对应的层为0,桶标为空,当Q
n
中存在数据块,则执行步骤S33。
[0028]S33.出队写回:从Q
n
中拿出一个或者多个数据块,填补在当前访问的这个原数据块,并且更新对应数据块在位置映射表中记录的桶编号并执行步骤S34。
[0029]S34.数据块下沉:对于同一个桶中非此次访问的其他的真实数据块,将其移出并且下沉到下层队列Q
n+1
中,同时更新位置映射表中对应数据块的位置。技术效果
[0030]与现有技术中当用户发起访问才会发起膨胀后的若干个访问,本专利技术随时随刻都在发起访问,同时隐藏访问模式和访问密度,并将整个数据块的混洗均摊在每次真假访问中,每次访问的复杂度均为O(1),小于现有技术的O(logN)。
附图说明<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种不经意访问存储系统,其特征在于,包括:可信代理服务器、存储云服务器和用户群,其中:作为存储系统的使用者的用户群通过给定的软件接口与可信代理服务器的序列器交互,存储有所有的数据的存储云服务器作为半诚实存储服务器,完成可信代理服务器指定的存取操作的同时窥探访问模式。2.根据权利要求1所述的不经意访问存储系统,其特征是,所述的可信代理服务器内置序列器、位置映射表和访问模块,其中:序列器接受来自外部的用户读写访问请求,经序列化后逐个输出至访问模块;位置映射表中包含每一个数据块在完全二叉树中的路径和唯一对应的桶高度,访问模块包括缓冲池单元、假访问伪造单元和交互单元,其中:缓冲池单元缓冲部分数据,当序列器提供的读写请求所对应的数据块位于缓冲池中时,直接读/写缓冲池,而不需要经过进一步与存储云服务器的交互,缓冲池内部可以使用LRU、LFU等各种替换算法;交互单元将来自假访问伪造单元的数据加密存储至存储云服务器的指定位置,或者将存储云服务器对应位置的加密数据解密后输出至假访问伪造单元;假访问伪造单元根据假访问伪造算法伪造特定位置的假访问,将多级队列中的特定数据输出至交互模块写入存储云服务器或者利用交互模块仅仅对存储云服务器中特定的位置进行假访问。3.根据权利要求2所述的不经意访问存储系统,其特征是,所述的多级队列,由L=logN个缓存队列组成,其中:任意一个队列记为Q
i
,i=1,2,...,L;所述的假访问,在序列器为空时,将根据假访问伪造算法伪造特定位置的假访问,将多级队列中的特定数据输出至交互模块写入存储云服务器,或者利用交互模块仅仅对存储云服务器中某些特定的位置做假访问;当序列器不为空时,假访问伪造单元将拿到序列其中的访问请求,直接通过交互模块对对应的位置发起访问,并且按照假访问伪造算法更新多级队列的状态。4.一种基于权利要求1~3中任一所述系统的不经意访问方法,其特征在于,包括:单次访问混淆访问算法、系统初始化算法、访问伪造算法和数据洗牌算法,其中:所述的访问伪造算法,具体包括:S21.访问发起触发:假访问伪造单元周期性地查询当序列器中有待发起的访问请求时,执行步骤S22,否则执行步骤S23;S22.真实访问:假访问伪造单元会查询位置映射表,获取对应数据块所在的桶位置高度n,桶编号m,输出至交互模块,由交互模块发起读/写访问;然后进行数据洗牌算法的步骤S31;S23.假访问伪造:假访问伪造单元会随机选择一个层高度n,1≤n≤L,然后在该层随机选取一个桶号m,1≤m≤2
n
‑1,对此随机桶经由交互模块发起读/写访问后执行步骤S33;所述的数据洗牌...

【专利技术属性】
技术研发人员:马丁范磊
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1