CN115048658B - 利用匿名分片技术保护分布式数据的系统、方法和计算机可读介质 - Google Patents
利用匿名分片技术保护分布式数据的系统、方法和计算机可读介质 Download PDFInfo
- Publication number
- CN115048658B CN115048658B CN202210040694.6A CN202210040694A CN115048658B CN 115048658 B CN115048658 B CN 115048658B CN 202210040694 A CN202210040694 A CN 202210040694A CN 115048658 B CN115048658 B CN 115048658B
- Authority
- CN
- China
- Prior art keywords
- data
- page
- shard
- address
- units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013467 fragmentation Methods 0.000 claims abstract description 26
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims description 129
- 239000012634 fragment Substances 0.000 claims description 103
- 230000001010 compromised effect Effects 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Abstract
提供了利用匿名分片技术保护分布式数据的系统、方法和计算机可读介质。根据基于时间的碎片分布方案来分布数据,该方案将数据拆分为多条以防止成功破坏终端设备的攻击者重新组装这些条数据。
Description
技术领域
本公开涉及用于保护分布式数据的系统、方法和计算机可读介质。
背景技术
对于期望安全存储其数据的公司和个人而言,数据外泄已经成为经常发生且代价高昂的事件。存在保护用于端到端数据通信的信道的解决方案,但源和目的地终端仍然容易受到攻击。需要更有效的技术来保护存储在终端设备上的数据。
发明内容
提供了用于保护分布式数据的系统、方法和计算机可读介质。分布式数据使用匿名分片技术进行保护。数据在时间线上表示并且条目被分片成多条以防止攻击者获得足够的碎片来重新组装时间线的任何点。
提供本发明内容以总结一些示例实施例,以便提供对本文档中描述的主题的一些方面的基本理解。因而,将认识到的是,本发明内容中描述的特征仅仅是示例并且不应当被解释为以任何方式缩小本文描述的主题的范围或精神。除非另有说明,否则在一个示例的上下文中描述的特征可以与在一个或多个其它示例的上下文中描述的特征组合或与其一起使用。本文描述的主题的其它特征、方面和优点将从以下具体实施方式、附图说明和权利要求书中变得明显。
附图说明
结合附图考虑以下详细描述,本公开的以上和其它方面、其性质和各种特征将变得更加明显,其中相同的附图标记可以始终指相同的部分,其中:
图1示出了根据实施例的示例系统的示意图。
图2示出了根据实施例的基于时间的碎片分布方案如何操作的处理。
图3示出了根据实施例的使用基于时间的碎片分布方案的创建、推送和检索的序列的说明性高级系统示意图。
图4示出了根据实施例的为历元(epoch)数据页提供地址的说明性框图。
图5是示出根据实施例的图3的页面分片、匿名化和推送方框330的附加细节的说明性框图。
图6是示出根据实施例的图3的碎片获取和页面重构方框370的附加细节的说明性框图。
图7示出了根据实施例的用于分布碎片单元的说明性处理。
图8示出了根据实施例的用于获取碎片单元的说明性处理。
图9是根据实施例的专用计算机系统的框图。
具体实施方式
参考图1-9提供和描述用于保护跨若干服务器分布的数据的系统、方法和计算机可读介质。根据本文讨论的实施例,根据匿名分片技术分布数据。
如本文所定义的,通信流是指在通信系统的使用期间生成的记录。记录表示根据本文讨论的实施例存储的通信流的通信历史。例如,通信流可以是两个用户之间的聊天对话。
如本文所定义的,历元是指通信流内的定义时间间隔。多个历元可以虚拟地表示通信流的时间线。历元以时间排序的连续方式布置以表示通信流的时间线。
每个历元可以与通信流数据的空数据页或一个或多个数据页(或其它存储单元)相关联。数据页在本文中被提到以表示被存储的离散数据块。在一些实施例中,数据页可以用其它数据存储单元(诸如区块、扇区或文件)替换。在一些实施例中,数据页是受尺寸限制的数据的虚拟表示。空数据页表示没有数据与历元相关联。
数据页可以被分类为相对旧或相对新。相对旧的数据页可以被认为是最近最少使用的(LRU)通信流记录或历史记录。相对新的数据页可以被认为是最近最多使用的(MRU)通信流记录、当前记录或未读记录。
如本文所定义的,碎片单元是指数据页的已被拆分成多条的部分。每个数据页被划分为多个数据碎片并且每个数据碎片被指派地址。碎片单元包括数据碎片和地址。
如本文所定义的,终端设备或服务器是指通信系统内的接入点,该接入点正被用户用于参与通信流。终端设备可以是与通信流相关联的数据的所有者。
如本文所定义的,远程服务器或远程对等体是指存储已经通过根据本文讨论的实施例的碎片分布方案分布的碎片单元的装备。
密码学的进步以及安全协议和技术的不断发展,尤其是在端到端(E2E)加密系统中,已迫使攻击者设计更复杂的攻击,尤其是在针对密码组件时。在过去的20年中,攻击已从密码点转变为协议脆弱性,再到对终端设备的针对性攻击。随着硬件密码协处理器、安全飞地或可信执行环境的演化,带来了额外的安全优势:越来越多的解决方案开发人员在设计安全通信系统时采用开箱即用。大多数E2E安全通信系统都采用诸如证书锁定、第二因素协定和相互公钥白名单或临时密码密钥之类的技术来防止中间人(Main-in-the-middle,MiTM)攻击,以确保通道安全。虽然这有效地保护了通道本身,但攻击者已将注意力转移到这个处理中最薄弱的环节,这常常是终端设备本身。
终端设备像数据处理器一样作用,其解封装加密的信息并将其存储在本地。本地存储的信息(无论是否被加密)是攻击者的主要目标,因为它绕过了危害(compromise)通道的需要并在其源或目的地访问数据。保护静态数据的机构的发展速度与密码方法和通信协议的发展速度不同。即,通信记录历史通常保持在加密的数据库(连续区块)中,该加密的数据库由给定应用加载并解密到存储器中。数据库是有针对性的攻击中期望的攻击点,因为它是最容易安装的。如果数据库遭到危害,那么攻击者可以访问整个通信历史。这种攻击假设攻击者可以从存储器中取得(一个或多个)密钥并捕获传输中的数据或通过远程访问终端设备的通信历史数据库来捕获数据。这个数据库是攻击者的目标,因为它提供了大量的弱点。例如,一个弱点是解密密钥存储器位置,因为数据库要求密钥在读/写周期的整个持续时间内都驻留在存储器中。
另一个弱点是丢弃时不适当的密钥管理;密钥以开发人员无法控制的方式从存储器中释放。很少从安全角度审查数据库内部结构,尤其是在开源解决方案中。
还有另一个弱点是不适当的存储器管理,因为大多数常见的数据库使用预编译的动态或静态库形式的开源。加密层通常是将自己向数据库引擎注册为加密操作提供者的插件。这创建共享的和拥有的存储器区的链,其中由于依赖项之间的过度复制、从密码点的不适当释放、共享存储器区的不适当锁定等,密码材料可能泄漏。
还有另一个弱点是数据库高速缓存机构。数据库常常被设计为允许数据的快速讯问。为此,数据库将大量存储器分配用于静态存储的数据库表的存储器映射(MMAP)页。永久存储与临时存储之间存在显著的速度差异,因此,数据库使用高速缓存文件作为将最近最少使用的(LRU)页移回永久存储的方式。这些页被写入高速缓存文件,这些文件在队列中等待迁移回数据库主体,然后释放存储器。资源的任何过早释放都会使得这些处理人工因素泄漏信息。无法控制数据库生成的额外信息的清理是系统渗透的潜在来源。
另一个弱点是由于未被发现的漏洞引起的存储器溢出。这个弱点在复杂的攻击中暴露出来,其中攻击者制作特殊的消息,该消息使数据库引擎在当前执行线程的上下文之外执行任意代码。
还有另一个弱点是整个通信流的连续存储。从使用的角度来看,通信流可以被拆分为两部分:最近的通信和历史条目。从统计的角度来看,终端设备用户很少回溯历史,并且如果回溯,也只是去搜索以前的信息,这是少见的事件。存储整个通信会在危害的情况下给用户带来风险,因为攻击者将可以访问整个通信历史记录。
本文讨论的实施例使用基于时间的数据碎片分布方案以分布式方式将历史数据存储在存储对等体的网络上,其目的是限制任何信息泄漏对最近通信的影响。本文讨论的实施例在时间可分组通信流的意义上重新设计了数据库的概念,并采用仅可从始发终端设备寻址的远程数据分布系统。基于时间的数据碎片分布系统可操作以将通信流分类为几个历元(按时间)、数据页(按尺寸)和数据碎片(按分片配置)。
本文讨论的基于时间的数据碎片分布方案实施例可以通过在存储对等体(例如,服务器或其它类型的设备)的网络之间分布历史条目来将任何取得的信息减少到可忽略的量。基于时间的数据碎片分布方案分散拆分为数据碎片并存储在连接的存储对等体之间的历史条目,从而使最终终端不可否认(non-repudiation)其数据。此外,基于时间的数据碎片分布方案采用只有发布方知道的确定性寻址模型,同时利用数据模糊性,从而使得存储对等体无法将碎片关联在一起。本文讨论的实施例所使用的方案提供(1)为安全地存储通信数据而定制的数据库系统,(2)仅发布方知道的匿名寻址模型,(3)存储节点的对等分布式网络,其中通信端点可以安全地存储其历史条目,以及(4)针对有针对性攻击的缓解技术。
图1示出了根据实施例的示例系统100的示意图。系统100可以包括终端设备110、终端设备112、互联网120和服务器131-133。通信流可以存在于终端设备110和终端设备112之间或与服务器131-133中的任何一个或多个之间。通信流可以包括传入和传出通信。例如,传出通信可以源自终端设备110并被传输到终端设备112或服务器131-133中的一个或多个,并且传入通信可以从终端设备112或服务器131-133之一传输并由终端设备110接收。例如,终端设备110可以是与第二智能电话(由设备112表示)进行聊天通信的第一智能电话。在另一个示例中,终端设备110可以将图片或视频上传到由服务器131-133之一托管的云存储装置。
终端设备110可以表示正被用户用来访问文件或参与通信方案的设备。服务器131-133可以表示位于终端设备110远程的设备并且可以用作关于终端设备110的通信端点或用作存储位置以供以后检索。互联网120可以表示使得能够在设备110和112以及服务器131-133之间进行通信的任何计算机网络。例如,计算机网络可以是公共网络或专用网络。
图2示出了处理200,其示出了根据实施例的基于时间的碎片分布方案如何操作。从步骤210开始,在系统(例如,图1的系统100)内访问通信流。该系统可以包括终端设备(例如,服务器110)或设备和几个远程服务器(例如,服务器131-133)。通信流可以以加密或未加密的格式存在。无论通信流数据的加密格式如何,基于时间的数据碎片分布方案都将所有数据历史视为原始数据。这将碎片分布方案与用于进一步保护数据的任何密码过渡系统解耦。最佳实践通常推荐使用在碎片分布方案之上实现的加密层。该系统可以包括端点/节点,其作用类似于其中通信网络不可信的密码黑匣子。端点终端设备之间的网络和服务器充当中继服务器,以将消息指向预期目的地。这些通信系统拥有通信时间线,其中根据消息被创建和/或发送的时间对其进行排序。因此,通信流包括按通信流时间次序布置的通信数据记录。
通信数据记录(例如,消息)对最终用户具有有效性,直到它们被用户读取,之后它们变成历史记录。几个系统设计允许记录删除或自动到期,但这影响用户体验,因为大多数用户使用危害可用性的安全性的不同解决方案。出于基于时间的数据碎片分布方案的目的,通信流被视为针对一个终端服务器或设备进行分析的单个流。
在步骤220处,基于通信流内的记录的时间和尺寸,将通信流组织成多个历元。每个历元与特定的历元时间帧相关联,该时间帧在通信流时间次序内具有开始时间和结束时间,并且每个历元还与通信数据记录的至少一个数据页或空数据页(其指示还没有接收到与这个特定历元相关的数据)相关联。历元可以在全局系统的基础上或每个用户的基础上定义,并与特定历元时间线的边界(以绝对时间测量的)之间发送和接收的所有记录相关联。Unix时间是一个可以使用的示例,因为它对自标准本身定义的创世时间戳(01.01.197012:00 00 AM)以来的秒数进行计数。例如,如果历元尺寸为30分钟,那么每个历元本质上从寻址点开始,每1800秒一个。
每个历元可以与通信流数据的一个或多个数据页(或其它存储单元)或空数据页相关联。通信系统内的不同端点或终端可以为给定历元存储不同量的数据。例如,一个历元可以与一千兆字节的数据相关联,而另一个历元可以与三千兆字节的数据相关联。为了保持跨终端设备的数据管理一致并确保数据的快速高效管理,数据可以存储在离散尺寸的块中,本文称为页。作为示例,每个数据页可以具有最大尺寸(例如,1千兆字节)。因此,具有一千兆字节数据的历元可以具有一个数据页,而3千兆字节历元可以具有三个数据页。没有与其相关联的数据的历元可以具有空数据页。
在步骤230处,数据页被分类为或者历史数据页或者当前数据页。历史数据页与相对旧的通信流数据或已被读取或访问的数据相关联。当前数据页与相对新的通信流数据或尚未读取或访问的数据相关联。为了在攻击成功的情况下最小化数据泄漏,基于时间的数据碎片分布方案指示终端设备发送历史数据页以存储在远程位置(例如,远程服务器或对等体),而仅在终端设备上保持当前数据页(步骤240)。
在步骤250处,可以将碎片分布方案应用于历史数据页,其中每个历史页被划分为多个碎片单元,这些碎片单元被传输到远程服务器以供存储。每个碎片单元包括数据碎片和匿名地址。匿名地址只有终端设备知道并且包括与被碎片分布方案拆分的历史数据页相关联的历元对应的历元地址。匿名地址在终端设备上以确定性方式生成并以加密方式变换成“随机”数据,使得任何外部方在没有最初使用的密码原语的情况下都无法关联。
在用于每个历史数据页的碎片单元存储在远程服务器处之后,用户可能期望在步骤260处访问历史通信流数据。在步骤265处,终端设备可以确定用户期望访问哪个历史数据页并从远程服务器获取适当的碎片单元。在获取碎片单元之后,在步骤266处重构历史数据页,从而使用户能够查看历史通信数据流的内容。
如果在任何时间已经调用应急模式(panic mode)(步骤270)——指示攻击事件——那么所有远程服务器都被通知该应急事件并且被指示不响应于获取请求而返回存储在其中的任何碎片单元(步骤275)。这将数据溢出降至最低,使攻击者只能查看最近的通信窗口,因此最小化了攻击的效果和影响。应急模式可以访问各种第二因素通道以向远程存储对等体(例如,服务器)通知该破坏。应急模式可以相对于步骤210、220、230、240、250、260和265异步操作。如果没有应急模式,那么处理200可以在步骤210处继续。
应当理解的是,图2中所示的步骤是示例性的并且可以添加附加步骤,可以省略步骤,并且可以重新布置步骤的次序。
图3示出了根据实施例的使用基于时间的碎片分布方案的创建、推送和检索的序列的说明性高级系统300示意图。消息传递数据或通信流数据可以存储在存储装置310处。存储装置310可以表示诸如RAM之类的存储器。存储在存储装置310中的内容的更详细视图在细节方框311中示出。细节方框311示出了通信流根据历元时间线319存储在历史数据页313(例如,也称为最近最少使用的(LRU)页)和当前数据页314(例如,也称为最近最多使用的(MRU)页)中。历元时间线319表示通信流的基于时间的排序,其被划分为历元312a-312n。历元312a-312n各自具有历元地址,表示为EDP_Ex,其中Ex与特定历元对应。历元312a-312d中的每一个可以与一个或多个数据页相关联(图3中仅示出一个数据页以避免图过于拥挤)。如果期望,那么数据页可以是加密的数据页。历元312n可以与空数据页或一个或多个数据页相关联。
当前数据页314可以保留在存储装置310中,直到确定当前数据页314应该当过渡到变为历史页313,然后使用根据本文讨论的实施例的碎片分布方案将其传送到远程服务器。因此,在发生攻击的情况下,当前页314是攻击者可以获得的仅有的页。
历史数据页313表示使用碎片分布方案保护的数据。历史数据页313可以是很少使用或访问的历史条目,除非终端设备处的用户浏览通信流历史。这些历史条目通过根据本文讨论的实施例的碎片分布方案进行处理并且被推送到远程服务器上以防止攻击者访问通信历史。
数据页313或314中的每一页的尺寸被定义为或者全局系统范围参数或单独的最终终端配置(本地)参数。系统300可以使用全局和本地的混合,因为它不影响数据的存储方式,前提是最终终端可以计算历元地址。
系统300可以加密每个历史页313以在每个历史数据页(现在是EDP 320)在方框330中被处理用于分解之前提供加密的数据页(EDP)320。应当理解的是,历史数据页313和当前数据页314可以已经是加密的数据页(例如,作为处置数据的安全处理的一部分被加密)。方框330处置页分片、匿名化和远程推送。方框330可以基于终端设备秘密(例如,终端设备ID)和与EPD 320相关联的历元地址生成用于EPD 320的加密的数据页地址。方框330将加密的数据页320拆分为碎片336a-d。碎片拆分技术可以从自适应Shamir到RAID或数据冗余系统中使用的其它算法变化。这种拆分的结果是数据碎片的创建,表示为EDP_Sx(加密的数据页碎片x)。碎片336a-d的地址/文件名通过混合终端设备拥有的秘密(例如,KDF)使用密码操作来匿名化。这一步打破了用于任何外部系统组件的地址关系和碎片相关性。这里的安全模型依赖于密码原语的省略,这些原语在碎片之间创建不可否认性,但也与源(终端设备)有关系。加密的数据页碎片经由网络360被传输并存储在远程存储服务器350a-n上以供始发终端设备稍后检索。
当用户希望访问通信流的历史数据时,用户将在终端设备上指定他或她希望访问通信流的哪些历史页。基于要访问哪些历史页,系统在方框370处可以确定适当加密的数据页地址远程服务器350a-n以提供与那些匿名加密的数据页地址对应的碎片。在正常工作条件下——系统不处于应急模式——远程服务器350a-n可以向调用方提供碎片。获取的碎片375a-d被排序和组装以重构加密的数据页380。终端设备可以使用解密方框390来使用页密钥391解密加密的数据页380,从而渲染未加密的数据页395。
图4示出了根据实施例的为任何数据页生成加密的数据页地址的说明性框图。加密的数据页地址410可以包括终端设备ID 411、历元地址412和乘数扩展413。终端设备ID411表示唯一的系统范围设备标识符,其将硬件420链接到加密的数据页地址410。终端设备ID 411可以是物理硬件标识符、密码公钥、密码公钥的散列(如果密钥尺寸大的话)或自定义的客户端侧生成的秘密。
历元地址412可以表示指向通信流的历元时间线内的历元时隙的计数器地址。如图4中所示,历元地址412与通信流430内的历元3对应。通信流430包括历元的时间线,示为历元0-X,其中每个历元表示通信流的时间线内的时间间隔。历元是逻辑分组,根据该分组,所有传入/传出通信都根据通信流的时间线内的适当时间间隔进行分组。因此,当新消息到达时,该消息根据该消息的时间戳被指派给适当的历元地址。确切的地址是通过采用绝对时间表示并将其除以期望的时间跨度来确定的。例如,地址可以是模类型除法表示,其中历元地址等于消息时间戳的下限除以历元尺寸。这使得数据库建索引、高速缓存或任何迁移操作都是透明的,与基于队列的方法相反,这有利于基于确定性寻址模型更直接地放置数据。历元地址可以与一个或多个数据页相关联。例如,历元3与数据页EPD_E3_M0、EPD_E3_M1和EPD_E3_M2相关联,它们由虚线方框433描绘。历元0与数据页EPD_E0_M0相关联,由虚线方框431描绘。
历元寻址的一般目的是将保持将数据分组为可管理的部分。但是,在某些情况下,终端设备接收或发送将包含在单个页中的更多消息,这样页的尺寸会变得太大而无法方便文件管理。作为进一步的约束,每个数据页被设置为最大尺寸。这个页尺寸约束防止任何给定历元与超过最大页尺寸的超大页相关联。因此,代替对于给定的历元具有一个大页,可以将多个页(没有一个超过最大尺寸)与该历元相关联。这种方法将每个历元内的页的粒度维持到期望的值,同时在执行此类数据页的分布或获取时不会造成任何性能降级。
乘数扩展413是用于具有多个相关联的数据页的历元的计数器。用于乘数扩展413的计数器与和历元容器相关联的每个数据页对应。例如,历元3具有四个页,对于EDP_E3由M0、M1、M2和M3指定。
通信流430内的页条目使用符号EDP_Ex_My,其表示具有页乘数y的历元x的加密的数据页。作为示例,以下Base64编码的完整地址MDM1YjJkNzQtOWZkMWQxLWYx,翻译成035b2d74-44303-f1,其中“035b2d74”表示任意唯一ID;“44303”表示数字279305的十六进制表示,其表示历元持续时间为30分钟(1800秒)的历元,产生270305*1800=502749000的UNIX时间,其与1985年12月6日@8:30PM(UTC)对应;并且“f1”指示历元数据页跨越多个子页。例如,如果页尺寸限制被设置为1MB,那么0xF1指示第241兆字节的页。上述示例的完整地址被如下解释:对于具有系统唯一ID035b2d74的客户端,子页#241,与历元时间6.12.1985 8:30PM UTC对应。应当认识到的是,这个地址表示它的明文版本并且是在终端设备上计算的。这个地址不是用于远程存储任何内容的最终地址,因为它可以被任何外部方解码。现在讨论提供不可否认性的技术,该技术被引入以破坏外部观察者的这种可链接性。
图5是示出根据实施例的图3的页分片、匿名化和推送方框330的附加细节的说明性框图。如上文结合图3所讨论的,碎片分布方案可操作以将历史数据页存储在远程服务器上以防止和/或最小化攻击期间泄露的信息的量。图5包括来自图4的方框410、420和430并且添加了运行计数器方框540、页分片方框545、匿名化方框550、碎片单元560a-n、远程推送方框570和存储云服务器580。
碎片分布方案如下操作。选择历史数据页(例如,加密的数据页437)进行分片和远程站点存储。EDP 437的加密的数据页地址410通过获得终端设备ID 411、历元地址412和乘数扩展413来重构。在处理EDP 437的整个持续时间内,重构的地址410被用作匿名化方框550的常数。处理加密的数据页437继续页分片方框545,其输出用于页分片方框545生成的每个数据碎片的页方框片计数541。页分片方框545可以基于EDP 437生成n个数据碎片546a-n。数据碎片546a-n的组合在被重构时将形成EDP 437。单独来看,数据碎片546a-n不能被攻击者使用,因为任何给定的碎片都不具有存储在其它数据碎片中的二进制信息。
页碎片计数541表示识别碎片本身的地址扩展。页碎片计数541与EDP 437的原始常量地址410一起是匿名化方框550的输入。匿名化方框550将地址410的明文地址转换成匿名化的地址,该匿名化的地址消除外部观察者/攻击者的分片之间的相关性。匿名化方框550可以使用单向密码函数,诸如散列算法、KDF或其它密码构造(例如,基于多项式的LUT/S盒)。结果作为匿名化的地址551a-n附加到相应碎片545a-n。相应数据碎片546a-n和匿名化的地址551a-n的组合形成碎片单元560a-n。使用远程推送方框570将碎片单元560a-n发送到存储云服务器580。远程推送方框570可以利用可用对等体的列表——或者静态可用或者涉及对等体发现协议——以随机挑选对等体的子集来存储碎片单元560a-n。碎片单元560a-n可以经由它们相应的匿名地址551a-n来寻址。
图6是示出根据实施例的图3的碎片获取和页面重构方框370的附加细节的说明性框图。图6通过指定如何从远程位置检索存储的碎片单元并在本地重新组装为加密的数据页示出了图5中所示操作的反向操作。图6示出在“正常”状况下终端设备用户可访问存储的碎片单元(例如,当应急模式未被激活时)。在“异常”状况下(例如,当应急模式是活动的时),终端设备用户无法访问存储的碎片单元。
假设用户正在使用终端设备查询历史条目,这个示例中具体而言是EDP_E3_M0633。终端在本地搜索EDP 633,在未能找到之后,终端为期望的数据页创建查询601。查询633可以包括历元地址612、乘数扩展613和页碎片计数614。页碎片计数614被初始化为根据分片粒度对固定数字进行计数。设备620可以提供恒定的特定于设备和系统唯一的标识符,终端设备ID 611。终端设备ID 611、历元地址612和乘数扩展613被用于识别加密的数据页地址610,并且地址610保持用于当前查询的EPD 633的地址空间的恒定部分,而运行计数器640创建地址610的n个扩展。所有n个地址的组合构成明文地址645,仅终端设备知道该地址。明文地址通过匿名化方框650被匿名化并存储到碎片地址清单655中。清单655被输入到远程获取方框660。方框660可以查询存储云665中的远程服务器或存储对等体以获取清单655中指示的存储的碎片单元。方框660可以利用可用对等体的列表(或者静态可用或者涉及对等体发现协议)以基于碎片地址列表655查询所有这些。包含在清单655中识别出的存储的碎片单元的存储对等体可以将它们发送到发出请求的终端设备,前提是那些存储对等体不处于应急模式。由远程对等体提供的获取的碎片由方框670a-n表示。每个获取的碎片670a-n包括相应的匿名化的地址671a-n和数据碎片672a-n。
明文地址645和匿名化的地址650被用于创建客户端侧动态查找表(LUT),其被表示为匿名到明文碎片相关方框680。获取的碎片670a-n可以源自一个或多个远程位置,因此它们到达的次序可以不是顺序的。页重构方框685可以接收所有获取的碎片单元670a-n和由方框680提供的LUT作为输入以将匿名地址与明文地址相关联,使得方框685可以以正确的次序放置数据碎片672a-n以提供加密的数据页633的重构。
图7示出了根据实施例的用于分布碎片单元的说明性处理700。从步骤710开始,可以选择历史数据页。在步骤720处可以加密选择的历史数据页以提供加密的数据页。在步骤730处,可以为加密的数据页生成加密的页地址,加密的页地址包括源自终端设备的硬件组件的终端设备ID、与历史数据页对应的历元地址,以及与和历元相关联的指定页面对应的乘数扩展。在步骤740处,加密的页可以被拆分为多个数据碎片,每个数据碎片具有相关联的页碎片计数数(count number)。在步骤750处,可以使用相关联的页碎片计数数和加密的页地址为多个数据碎片生成匿名地址。在步骤760处,匿名地址可以与多个数据碎片合并以产生多个碎片单元。在步骤770处可以将多个碎片单元分布到多个远程服务器。
应当理解的是,图7中所示的步骤仅仅是说明性的,可以添加附加的步骤,可以重新布置步骤的次序,并且可以省略一些步骤。例如,历史数据页可以之前已经加密,从而消除了步骤720的需要。
图8示出了根据实施例的用于获取碎片单元的说明性处理800。从步骤810开始,可以接收针对未存储在终端设备上而是作为多个碎片单元存储在多个远程服务器上的数据页的搜索查询,该搜索查询包括与和数据页相关联的历元对应的历元地址、指定在历元内相关联的特定数据页的乘数扩展,以及页碎片计数。在步骤820处,可以基于搜索查询和源自终端设备的硬件组件的终端设备ID来生成加密的页地址。在步骤830处,可以基于加密的页地址和页碎片计数为多个碎片单元中的每一个获得匿名地址。在步骤840处,可以基于匿名地址从多个远程服务器获取多个碎片单元,多个碎片单元中的每一个包括匿名地址和数据碎片。可以在步骤850处基于获取的碎片单元重构数据页,并在步骤860处显示。
应当理解的是,图8中所示的步骤仅仅是说明性的,可以添加附加的步骤,可以重新布置步骤的次序,并且可以省略一些步骤。
图9是根据实施例的专用计算机系统900的框图。本文描述的方法和处理可以类似地由有形的、非暂态计算机可读存储介质和/或计算机程序产品来实现,这些介质和/或计算机程序产品指导计算机系统执行本文描述的方法和处理的动作。每个这样的计算机程序产品可以包括实施在计算机可读介质上的指令集(例如,代码),其指导计算机系统的处理器执行对应的操作。指令可以被配置为按顺序次序运行,或并行运行(诸如在不同的处理线程下),或它们的组合。
专用计算机系统900包括计算机902、耦合到计算机902的监视器104、耦合到计算机902的一个或多个附加用户输出设备906(可选)、耦合到计算机902的一个或多个用户输入设备908(例如,键盘、鼠标、轨迹球、触摸屏)、耦合到计算机902的可选通信接口910,以及包括在计算机902中或计算机902可访问的有形计算机可读存储介质912的计算机程序产品。存储在计算机可读存储介质912上的指令可以指示系统900执行本文描述的方法和处理。计算机902可以包括经由总线子系统916与多个外围设备通信的一个或多个处理器914。这些外围设备可以包括(一个或多个)用户输出设备906、(一个或多个)用户输入设备908、通信接口910和存储子系统,诸如随机存取存储器(RAM)918和非易失性存储驱动器920(例如,盘驱动器、光驱、固态驱动器),它们是有形计算机可读存储器的形式。
计算机可读介质912可以被加载到随机存取存储器918中,存储在非易失性存储驱动器920中,或者以其它方式可由计算机902的一个或多个组件访问。每个处理器914可以包括微处理器,诸如来自或Advanced Micro Devices,/>等的微处理器。为了支持计算机可读介质912,计算机902运行处置计算机可读介质912和上述组件之间的通信以及支持计算机可读介质912的上述组件之间的通信的操作系统。示例性操作系统包括来自Microsoft Corporation的/>等、来自Sun Microsystems的/>LINUX、UNIX等。在许多实施例中并且如本文所述,计算机程序产品可以是包括计算机可读介质(例如,盘、存储器芯片等)的装置(例如,包括外壳、读/写头等的硬盘驱动器,包括外壳的计算机盘,包括连接器、外壳的存储卡,等等)。在其它实施例中,计算机程序产品可以包括指令集或代码模块本身,并且实施在计算机可读介质上。
用户输入设备908包括将信息输入到计算机系统902的所有可能类型的设备和机构。这些可以包括键盘、小键盘、鼠标、扫描仪、数字绘图板、集成到显示器中的触摸屏、音频输入设备(诸如语音识别系统)、麦克风和其它类型的输入设备。在各种实施例中,用户输入设备908通常被实施为计算机鼠标、轨迹球、轨迹板、操纵杆、无线遥控器、绘图平板、语音命令系统。用户输入设备908通常允许用户经由诸如点击按钮等的命令来选择出现在监视器904上的对象、图标、文本等。用户输出设备906包括输出来自计算机902的信息的所有可能类型的设备和机构。这些可以包括显示器(例如,监视器904)、打印机、非视觉显示器(诸如音频输出设备)等。
通信接口910提供到其它通信网络和设备的接口并且可以被用作经由有线或无线通信网络922从其它系统、WAN和/或互联网接收数据和向其它系统、WAN和/或互联网传输数据的接口。通信接口910的实施例通常包括以太网卡、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字订户线(DSL)单元、接口、/>接口、无线网络适配器等。例如,通信接口910可以耦合到计算机网络、/>总线等。在其它实施例中,通信接口910可以物理地集成在计算机902的主板上,和/或可以是软件程序等。
RAM 918和非易失性存储驱动器920是有形计算机可读介质的示例,其被配置为存储诸如本发明的计算机程序产品实施例之类的数据,包括可执行计算机代码、人类可读代码等。其它类型的有形计算机可读介质包括软盘、可移动硬盘、光存储介质(诸如CD-ROM、DVD、条形码)、半导体存储器(诸如闪存)、只读存储器(ROM)、电池供电的易失性存储器、联网的存储设备等。如上所述,RAM 918和非易失性存储驱动器920可以被配置为存储提供本发明的各种实施例的功能性的基本编程和数据构造。
提供本发明的功能性的软件指令集可以存储在计算机可读介质912、RAM 918和/或非易失性存储驱动器920中。这些指令集或代码可以由(一个或多个)处理器914执行。计算机可读介质912、RAM 918和/或非易失性存储驱动器920还可以提供储存库以存储根据本发明使用的数据和数据结构。RAM 918和非易失性存储驱动器920可以包括多个存储器,包括在程序执行期间存储指令和数据的主随机存取存储器(RAM)和其中存储固定指令的只读存储器(ROM)。RAM 918和非易失性存储驱动器920可以包括提供程序和/或数据文件的持久(非易失性)存储的文件存储子系统。RAM 918和非易失性存储驱动器920还可以包括可移动存储系统,诸如可移动闪存。
总线子系统916提供允许计算机902的各种组件和子系统如预期的那样彼此通信的机构。虽然总线子系统916被示意性地示为单条总线,但是总线子系统的备选实施例可以利用计算机902内的多条总线或通信路径。
对于固件和/或软件实施方式,方法可以用执行本文描述的功能的模块(例如,过程、函数等)来实现。任何有形地实施指令的机器可读介质都可以用于实现本文描述的方法。例如,软件代码可以存储在存储器中。存储器可以在处理器内或处理器外实现。如本文所使用的,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储介质,并且不限于存储器的任何特定类型或存储器的数量,或在其上存储存储器的介质的类型。
而且,如本文所公开的,术语“存储介质”可以表示用于存储数据的一个或多个存储器,包括只读存储器(ROM)、随机存取存储器(RAM)、磁RAM、核心存储器、磁盘存储介质、光学存储介质、闪存设备,和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包括但不限于便携式或固定存储设备、光学存储设备、无线信道和/或能够存储包含或携带(一个或多个)指令和/或数据的各种其它存储介质。
虽然在阅读前述描述之后本发明的许多变更和修改无疑将对本领域普通技术人员变得显而易见,但是应该理解的是,通过说明的方式示出和描述的特定实施例是决不打算被认为是限制性的。
而且,关于图1-9中的一个或多个描述的处理以及本公开的任何其它方面可以各自通过软件来实现,但是也可以在硬件、固件或软件、硬件和固件的任何组合中实现。用于执行这些处理的指令也可以被实施为记录在机器或计算机可读介质上的机器或计算机可读代码。在一些实施例中,计算机可读介质可以是非暂态计算机可读介质。这种非暂态计算机可读介质的示例包括但不限于只读存储器、随机存取存储器、闪存、CD-ROM、DVD、磁带、可移动存储卡,以及光学数据存储设备。在其它实施例中,计算机可读介质可以是暂态计算机可读介质。在此类实施例中,暂态计算机可读介质可以分布在网络耦合的计算机系统上,从而以分布式方式存储和执行计算机可读代码。例如,这种暂态计算机可读介质可以使用任何合适的通信协议从一个电子设备传送到另一个电子设备。这种暂态计算机可读介质可以在经调制的数据信号中实施计算机可读代码、指令、数据结构、程序模块或其它数据,诸如载波或其它运输机构,并且可以包括任何信息递送介质。经调制的数据信号可以是其一个或多个特点以在信号中编码信息的方式设置或改变的信号。
应该理解的是,任何系统、设备或服务器中的任何一个或多个的任何或每个模块可以作为软件构造、固件构造、一个或多个硬件组件或其组合来提供,并且可以在可以由一个或多个计算机或其它设备执行的计算机可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可以包括一个或多个例程、程序、对象、组件和/或数据结构,它们可以执行一个或多个特定任务或者可以实现一个或多个特定抽象数据类型。还应理解的是,任何系统、设备或服务器中的任何一个或多个的模块的数量、配置、功能性和互连仅仅是说明性的,并且现有模块的数量、配置、功能性和互连可以被修改或省略,可以添加附加的模块,并且可以更改某些模块的互连。
根据本公开实施例的一个方面,提供了一种方法,该方法可以包括:在通信系统内的终端设备处访问通信流,其中所述通信流包括按通信流时间次序布置的通信数据记录;将通信流组织成多个历元,其中每个历元与在通信流时间次序内具有开始时间和结束时间的特定历元时间帧相关联,并且其中每个历元还与通信数据记录的至少一个数据页相关联;将所述至少一个数据页中的每个数据页分类为历史历元和当前历元之一;在终端设备上维护至少一个数据页;对每个历史数据页应用碎片分布方案,其中每个历史数据页被划分为多个碎片单元,每个碎片单元包括数据碎片和只有终端设备知道的匿名地址;以及将碎片单元传输到远程服务器以供存储。
作为一个示例,所述方法还可以包括:响应于检测到的攻击事件而执行应急模式;以及在应急模式是活动的时指示所述远程服务器不提供任何碎片单元。作为一个示例,所述方法还可以包括:在终端设备处接收来自用户的对于访问历史通信流数据的请求;确定用户希望访问的历史数据页;基于确定的历史数据页从远程服务器获取碎片单元;以及从获取的碎片单元重构历史数据页。作为一个示例,在终端设备上维护的当前数据页可以仅包含通信流内在攻击期间能够被危害的数据。作为一个示例,所述方法中的应用碎分布方案还可以包括:将数据页拆分为多个数据碎片;为所述多个数据碎片中的每个数据碎片生成匿名地址;以及将为所述多个数据碎片中的每个数据碎片生成的匿名地址与对应的数据碎片合并以形成所述多个碎片单元。作为一个示例,所述多个数据碎片可以包括用于在应用碎片分布方案期间被拆分的所有数据页的固定数量的数据碎片。
根据本公开实施例的另一个方面,提供了一种包含用于由应用执行的方法的程序指令的计算机可读存储介质,所述应用包括用于在运行时期间由应用调用的一个或多个组件的代码,其中计算机系统的一个或多个处理器对程序指令的执行使所述一个或多个处理器可以执行包括以下的步骤:选择加密的数据页;为加密的数据页生成加密的数据页地址,所述加密的数据页地址包括:源自终端设备的硬件组件的终端设备ID;与和加密的数据页相关联的历元对应的历元地址;以及与和历元相关联的指定页对应的乘数扩展;将加密的数据页拆分为多个数据碎片,每个数据碎片具有相关联的页碎片计数数;使用相关联的页碎片计数数和加密的页地址为所述多个数据碎片生成匿名地址;以及将匿名地址与所述多个数据碎片合并以产生多个碎片单元。
作为一个示例,所述方法还可以包括将所述多个碎片单元分布到多个远程服务器。作为一个示例,在活动应急模式期间,存储在所述多个远程服务器上的碎片单元可以是不可访问的。作为一个示例,加密的数据页可以包含从系统内的终端设备导出的通信数据记录,其中通信数据记录按通信流时间次序布置,并且其中与加密的数据页相关联的历元具有在通信流时间次序内具有开始时间和结束时间的特定历元时间帧。作为一个示例,加密的数据页可以是多个历史数据页之一,所述多个历史数据页已经根据碎片分布方案被拆分并作为碎片单元存储在所述多个远程服务器中。作为一个示例,通信数据记录的一部分可以被包括在存储在终端设备上的当前数据页中。作为一个示例,当前数据页可以仅包含在攻击期间能够被危害的通信数据记录。作为一个示例,当前数据页可以过渡到变成历史数据页之一。
根据本公开实施例的再一个方面,提供了一种方法,该方法可以包括:接收对未存储在终端设备上而是作为多个碎片单元存储在多个远程服务器上的数据页的搜索查询,所述搜索查询包括:与和数据页相关联的历元对应的历元地址;指定与历元相关联的特定数据页的乘数扩展;以及页碎片计数;基于搜索查询和源自终端设备的硬件组件的终端设备ID生成加密的页地址;基于加密的页地址和页碎片计数为所述多个碎片单元中的每个碎片单元获得匿名地址;基于匿名地址从所述多个远程服务器获取所述多个碎片单元,所述多个碎片单元中的每个碎片单元包括匿名地址和数据碎片;基于获取的碎片单元重构数据页;以及显示重构的数据页。
作为一个示例,所述方法还可以包括基于加密的页地址和页碎片计数生成明文地址。作为一个示例,所述方法还可以包括使用明文地址和匿名地址来确定所述多个碎片单元之间的数据碎片相关性,其中重构数据页还包括使用数据碎片相关性按正确的次序定位每个数据碎片以重构数据页。作为一个示例,数据页可以包含从终端设备得出的通信数据记录,其中通信数据记录按通信流时间次序布置,并且其中与数据页相关联的历元具有在通信流时间次序内具有开始时间和结束时间的特定历元时间帧。作为一个示例,对于在所述多个远程服务器中作为碎片单元存储的所有数据页,页碎片计数可以是相同的。
虽然已经描述了用于启用用户电子设备对介质电子设备处的介质应用的高效控制的系统、方法和计算机可读介质,但是应该理解的是,在不脱离本公开的精神和范围的情况下,可以在其中进行许多改变。本领域普通技术人员看来现在已知的或以后设计的对要求保护的主题的非实质性改变被明确地预期为等同地在权利要求的范围内。因此,本领域普通技术人员现在或以后已知的明显替换被定义为在所定义元素的范围内。
因此,本领域技术人员将认识到的是,本发明可以通过所描述的实施例以外的其它实施例来实践,这些实施例是出于说明而非限制的目的呈现的。
Claims (32)
1.一种方法,包括:
在通信系统内的终端设备处访问通信流,其中所述通信流包括按通信流时间次序布置的通信数据记录;
将通信流组织成多个历元,其中每个历元与在通信流时间次序内具有开始时间和结束时间的特定历元时间帧相关联,并且其中每个历元还与通信数据记录的至少一个数据页相关联;
将所述至少一个数据页中的每个数据页分类为历史数据页和当前数据页之一;
在终端设备上维护至少一个当前数据页;
对每个历史数据页应用碎片分布方案,其中每个历史数据页被划分为多个碎片单元,每个碎片单元包括数据碎片和只有终端设备知道的匿名地址;以及
将碎片单元传输到远程服务器以供存储。
2.如权利要求1所述的方法,还包括:
响应于检测到的攻击事件而执行应急模式;以及
在应急模式是活动的时指示所述远程服务器不提供任何碎片单元。
3.如权利要求1所述的方法,还包括:
在终端设备处接收来自用户的对于访问历史通信流数据的请求;
确定用户希望访问的历史数据页;
基于确定的历史数据页从远程服务器获取碎片单元;以及
从获取的碎片单元重构历史数据页。
4.如权利要求1所述的方法,其中在终端设备上维护的至少一个当前数据页仅包含通信流内在攻击期间能够被危害的数据。
5.如权利要求1所述的方法,其中应用碎片分布方案还包括:
将历史数据页拆分为多个数据碎片;
为所述多个数据碎片中的每个数据碎片生成匿名地址;以及
将为所述多个数据碎片中的每个数据碎片生成的匿名地址与对应的数据碎片合并以形成所述多个碎片单元。
6.如权利要求5所述的方法,其中所述多个数据碎片包括用于在应用碎片分布方案期间被拆分的所有数据页的固定数量的数据碎片。
7.一种包含用于由应用执行的方法的程序指令的计算机可读存储介质,所述应用包括用于在运行时期间由应用调用的一个或多个组件的代码,其中由计算机系统的一个或多个处理器对程序指令的执行使所述一个或多个处理器执行包括以下的步骤:
选择加密的数据页;
为加密的数据页生成加密的数据页地址,所述加密的数据页地址包括:
源自终端设备的硬件组件的终端设备ID;
与和加密的数据页相关联的历元对应的历元地址;以及
与和历元相关联的指定页对应的乘数扩展;
将加密的数据页拆分为多个数据碎片,每个数据碎片具有相关联的页碎片计数数;
使用相关联的页碎片计数数和加密的页地址为所述多个数据碎片生成匿名地址;以及
将匿名地址与所述多个数据碎片合并以产生多个碎片单元。
8.如权利要求7所述的计算机可读存储介质,所述方法还包括:将多个碎片单元分发给多个远程服务器。
9.如权利要求8所述的计算机可读存储介质,其中存储在所述多个远程服务器上的碎片单元在活动的应急模式期间是不可访问的。
10.如权利要求7所述的计算机可读存储介质,其中加密的数据页包含从系统内的终端设备导出的通信数据记录,其中通信数据记录按通信流时间次序布置,并且其中与加密的数据页相关联的历元具有在通信流时间次序内具有开始时间和结束时间的特定历元时间帧。
11.如权利要求10所述的计算机可读存储介质,其中加密的数据页是多个历史数据页之一,所述多个历史数据页已经根据碎片分布方案被拆分并作为碎片单元存储在多个远程服务器中。
12.如权利要求10所述的计算机可读存储介质,其中通信数据记录的一部分被包括在存储在终端设备上的当前数据页中。
13.如权利要求12所述的计算机可读存储介质,其中当前数据页仅包含在攻击期间能够被危害的通信数据记录。
14.如权利要求12所述的计算机可读存储介质,其中当前数据页过渡到变成历史数据页之一。
15.一种方法,包括:
选择加密的数据页;
为加密的数据页生成加密的数据页地址,所述加密的数据页地址包括:
源自终端设备的硬件组件的终端设备ID;
与和加密的数据页相关联的历元对应的历元地址;以及
与和历元相关联的指定页对应的乘数扩展;
将加密的数据页拆分为多个数据碎片,每个数据碎片具有相关联的页碎片计数数;
使用相关联的页碎片计数数和加密的页地址为所述多个数据碎片生成匿名地址;以及
将匿名地址与所述多个数据碎片合并以产生多个碎片单元。
16.如权利要求15所述的方法,还包括:将多个碎片单元分发给多个远程服务器。
17.如权利要求16所述的方法,其中存储在所述多个远程服务器上的碎片单元在活动的应急模式期间是不可访问的。
18.如权利要求15所述的方法,其中加密的数据页包含从系统内的终端设备导出的通信数据记录,其中通信数据记录按通信流时间次序布置,并且其中与加密的数据页相关联的历元具有在通信流时间次序内具有开始时间和结束时间的特定历元时间帧。
19.如权利要求18所述的方法,其中加密的数据页是多个历史数据页之一,所述多个历史数据页已经根据碎片分布方案被拆分并作为碎片单元存储在多个远程服务器中。
20.如权利要求18所述的方法,其中通信数据记录的一部分被包括在存储在终端设备上的当前数据页中。
21.如权利要求20所述的方法,其中当前数据页仅包含在攻击期间能够被危害的通信数据记录。
22.如权利要求20所述的方法,其中当前数据页过渡到变成历史数据页之一。
23.一种方法,包括:
接收对未存储在终端设备上而是作为多个碎片单元存储在多个远程服务器上的数据页的搜索查询,所述搜索查询包括:
与和数据页相关联的历元对应的历元地址;
指定与历元相关联的特定数据页的乘数扩展;以及
页碎片计数;
基于搜索查询和源自终端设备的硬件组件的终端设备ID生成加密的页地址;
基于加密的页地址和页碎片计数为所述多个碎片单元中的每个碎片单元获得匿名地址;
基于匿名地址从所述多个远程服务器获取所述多个碎片单元,所述多个碎片单元中的每个碎片单元包括匿名地址和数据碎片;
基于获取的碎片单元重构数据页;以及
显示重构的数据页。
24.如权利要求23所述的方法,还包括基于加密的页地址和页碎片计数生成明文地址。
25.如权利要求24所述的方法,还包括使用明文地址和匿名地址来确定所述多个碎片单元之间的数据碎片相关性,其中重构数据页还包括使用数据碎片相关性按正确的次序定位每个数据碎片以重构数据页。
26.如权利要求23所述的方法,其中所述数据页包含从终端设备得出的通信数据记录,其中通信数据记录按通信流时间次序布置,并且其中与数据页相关联的历元具有在通信流时间次序内具有开始时间和结束时间的特定历元时间帧。
27.如权利要求23所述的方法,其中对于在所述多个远程服务器中作为碎片单元存储的所有数据页,页碎片计数是相同的。
28.一种包含用于由应用执行的方法的程序指令的计算机可读存储介质,所述应用包括用于在运行时期间由应用调用的一个或多个组件的代码,其中由计算机系统的一个或多个处理器对程序指令的执行使所述一个或多个处理器执行包括以下的步骤:
接收对未存储在终端设备上而是作为多个碎片单元存储在多个远程服务器上的数据页的搜索查询,所述搜索查询包括:
与和数据页相关联的历元对应的历元地址;
指定与历元相关联的特定数据页的乘数扩展;以及
页碎片计数;
基于搜索查询和源自终端设备的硬件组件的终端设备ID生成加密的页地址;
基于加密的页地址和页碎片计数为所述多个碎片单元中的每个碎片单元获得匿名地址;
基于匿名地址从所述多个远程服务器获取所述多个碎片单元,所述多个碎片单元中的每个碎片单元包括匿名地址和数据碎片;
基于获取的碎片单元重构数据页;以及
显示重构的数据页。
29.如权利要求28所述的计算机可读存储介质,其中由计算机系统的一个或多个处理器对程序指令的执行使所述一个或多个处理器执行包括以下的步骤:
基于加密的页地址和页碎片计数生成明文地址。
30.如权利要求29所述的计算机可读存储介质,其中由计算机系统的一个或多个处理器对程序指令的执行使所述一个或多个处理器执行包括以下的步骤:
使用明文地址和匿名地址来确定所述多个碎片单元之间的数据碎片相关性,其中重构数据页还包括使用数据碎片相关性按正确的次序定位每个数据碎片以重构数据页。
31.如权利要求28所述的计算机可读存储介质,其中所述数据页包含从终端设备得出的通信数据记录,其中通信数据记录按通信流时间次序布置,并且其中与数据页相关联的历元具有在通信流时间次序内具有开始时间和结束时间的特定历元时间帧。
32.如权利要求28所述的计算机可读存储介质,其中对于在所述多个远程服务器中作为碎片单元存储的所有数据页,页碎片计数是相同的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/196,400 US11087017B1 (en) | 2021-03-09 | 2021-03-09 | Systems, methods, and computer-readable media for utilizing anonymous sharding techniques to protect distributed data |
US17/196,400 | 2021-03-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115048658A CN115048658A (zh) | 2022-09-13 |
CN115048658B true CN115048658B (zh) | 2023-12-01 |
Family
ID=77179319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210040694.6A Active CN115048658B (zh) | 2021-03-09 | 2022-01-14 | 利用匿名分片技术保护分布式数据的系统、方法和计算机可读介质 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11087017B1 (zh) |
EP (1) | EP4057172A1 (zh) |
CN (1) | CN115048658B (zh) |
WO (1) | WO2022189851A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020047258A1 (en) * | 2018-08-29 | 2020-03-05 | Georgia Tech Research Corporation | Systems and methods for preventing side-channel attacks |
US11087017B1 (en) * | 2021-03-09 | 2021-08-10 | Technology Innovation Institute | Systems, methods, and computer-readable media for utilizing anonymous sharding techniques to protect distributed data |
JP2023125073A (ja) * | 2022-02-28 | 2023-09-07 | 株式会社日立製作所 | 記憶制御装置及び方法 |
WO2024035825A1 (en) * | 2022-08-10 | 2024-02-15 | Discover Financial Services | Reconciliation systems and methods for unbounded streams |
US20240054484A1 (en) * | 2022-08-10 | 2024-02-15 | Discover Financial Services | Reconciliation systems and methods for unbounded streams |
CN115982786B (zh) * | 2023-03-20 | 2024-01-05 | 马云生 | 通过频率混淆实现的多芯片并行加密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103270528A (zh) * | 2010-09-30 | 2013-08-28 | 安努纳公司 | 使用匿名配置文件分配目标数据的系统、方法和计算机可读介质 |
US9817587B1 (en) * | 2015-03-04 | 2017-11-14 | Amazon Technologies, Inc. | Memory-based on-demand data page generation |
CN110869932A (zh) * | 2017-07-12 | 2020-03-06 | 国际商业机器公司 | 匿名加密数据 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060206793A1 (en) * | 2005-03-10 | 2006-09-14 | Kabushiki Kaisha Toshiba | Document file management apparatus, document file management method and document file management program |
US20110138475A1 (en) | 2008-07-30 | 2011-06-09 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and method for providing trusted system functionalities in a cluster based system |
JP5453324B2 (ja) | 2009-02-16 | 2014-03-26 | パナソニック株式会社 | 不正モジュール特定装置、情報処理装置、不正モジュール特定方法、不正モジュール特定プログラム、集積回路、不正モジュール無効化システム、および不正モジュール無効化方法 |
US20150172412A1 (en) * | 2012-07-06 | 2015-06-18 | Cornell University | Managing dependencies between operations in a distributed system |
US20150142733A1 (en) * | 2013-11-18 | 2015-05-21 | Ori Software Development Ltd. | System and method for efficient management of big data in a database using streaming tables |
US11658810B2 (en) | 2016-03-23 | 2023-05-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Cyber-physical context-dependent cryptography |
US10423387B2 (en) * | 2016-08-23 | 2019-09-24 | Interana, Inc. | Methods for highly efficient data sharding |
US10372771B2 (en) * | 2017-01-06 | 2019-08-06 | International Business Machines Corporation | Router based query results |
US10812560B2 (en) * | 2017-05-09 | 2020-10-20 | EMC IP Holding Company LLC | System and method for packet transmission using segment routing |
US10503714B2 (en) * | 2017-06-02 | 2019-12-10 | Facebook, Inc. | Data placement and sharding |
US10747814B2 (en) * | 2017-09-29 | 2020-08-18 | Oracle International Corporation | Handling semi-structured and unstructured data in a sharded database environment |
US10552344B2 (en) * | 2017-12-26 | 2020-02-04 | Intel Corporation | Unblock instruction to reverse page block during paging |
US10911431B2 (en) | 2018-05-21 | 2021-02-02 | Wickr Inc. | Local encryption for single sign-on |
WO2020257183A1 (en) * | 2019-06-17 | 2020-12-24 | Cryptomove, Inc. | Security via data concealment |
US11087017B1 (en) * | 2021-03-09 | 2021-08-10 | Technology Innovation Institute | Systems, methods, and computer-readable media for utilizing anonymous sharding techniques to protect distributed data |
-
2021
- 2021-03-09 US US17/196,400 patent/US11087017B1/en active Active
- 2021-07-13 US US17/374,140 patent/US11216577B1/en active Active
- 2021-07-13 US US17/374,097 patent/US11216576B1/en active Active
-
2022
- 2022-01-14 CN CN202210040694.6A patent/CN115048658B/zh active Active
- 2022-01-20 EP EP22152489.5A patent/EP4057172A1/en active Pending
- 2022-02-24 WO PCT/IB2022/000083 patent/WO2022189851A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103270528A (zh) * | 2010-09-30 | 2013-08-28 | 安努纳公司 | 使用匿名配置文件分配目标数据的系统、方法和计算机可读介质 |
US9817587B1 (en) * | 2015-03-04 | 2017-11-14 | Amazon Technologies, Inc. | Memory-based on-demand data page generation |
CN110869932A (zh) * | 2017-07-12 | 2020-03-06 | 国际商业机器公司 | 匿名加密数据 |
Also Published As
Publication number | Publication date |
---|---|
US11087017B1 (en) | 2021-08-10 |
EP4057172A1 (en) | 2022-09-14 |
US11216576B1 (en) | 2022-01-04 |
CN115048658A (zh) | 2022-09-13 |
WO2022189851A1 (en) | 2022-09-15 |
US11216577B1 (en) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115048658B (zh) | 利用匿名分片技术保护分布式数据的系统、方法和计算机可读介质 | |
US9680809B2 (en) | Secure data storage on a cloud environment | |
US9990502B2 (en) | Systems and methods for security hardening of data in transit and at rest via segmentation, shuffling and multi-key encryption | |
US11082482B2 (en) | Block chain encoding with fair delay for distributed network devices | |
Varalakshmi et al. | Integrity checking for cloud environment using encryption algorithm | |
US10749670B2 (en) | Block chain decoding with fair delay for distributed network devices | |
Sarkar et al. | Enhancing data storage security in cloud computing through steganography | |
CN114041134A (zh) | 用于基于区块链的安全存储的系统和方法 | |
Virvilis et al. | A cloud provider-agnostic secure storage protocol | |
US10536276B2 (en) | Associating identical fields encrypted with different keys | |
US8495154B2 (en) | Content usage tracking in superdistribution | |
GB2594741A (en) | Multi-directional zero-knowledge attestation systems and methods | |
US10944732B2 (en) | Streaming digital content with content metadata | |
CN112651038B (zh) | 一种减小空间和时间的vr资源的安全保护方法及终端 | |
Santos et al. | Enhancing data security in cloud using random pattern fragmentation and a distributed nosql database | |
JP2014528680A (ja) | デジタルコンテンツ伝送の方法、システムおよび装置 | |
Paul et al. | Data storage security issues in cloud computing | |
CN1604521A (zh) | 具备加密数据变换装置的服务器 | |
Contiu et al. | Practical active revocation | |
Balaji et al. | Data Security and Deduplication Framework for Securing and Deduplicating Users’ Data in Public and Private Cloud Environment. | |
CN111831978A (zh) | 一种对配置文件进行保护的方法及装置 | |
Mishra et al. | Improved cloud security approach with threshold cryptography | |
US11544397B1 (en) | Systems and methods for sending and receiving encrypted submessages | |
CN116996331B (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
US11943338B2 (en) | Object-level encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |