CN109074295B - 具有真实性的数据恢复 - Google Patents
具有真实性的数据恢复 Download PDFInfo
- Publication number
- CN109074295B CN109074295B CN201680085275.7A CN201680085275A CN109074295B CN 109074295 B CN109074295 B CN 109074295B CN 201680085275 A CN201680085275 A CN 201680085275A CN 109074295 B CN109074295 B CN 109074295B
- Authority
- CN
- China
- Prior art keywords
- content
- file
- hash
- file content
- blocks
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
示例实施方式涉及数据恢复。一种示例控制器可将文件内容递送给用户,在所述递送期间实时地验证所述文件内容,并且响应于所述文件内容的一部分损坏的确定,使用经验证的文件内容来恢复所述文件内容的已损坏部分。所述示例控制器还可将所述文件内容的已恢复部分递送给所述用户。
Description
背景技术
数据恢复是当不能以正常方式访问损毁或损坏辅助储存器、可移动介质或文件存储的数据时从这些损毁或损坏辅助储存器、可移动介质或文件中挽救不可访问数据的过程。很多时候从诸如内部或外部硬盘驱动器(HDD)、固态驱动器(SSD)、USB闪存驱动器、磁带、CD、DVD、RAID子系统和其他电子设备之类的存储介质中挽救数据。由于对存储设备的物理损坏或对文件系统的逻辑损坏可以实现恢复,所述对文件系统的逻辑损坏防止文件系统被主机操作系统(OS)安装。
附图说明
图1图示了根据示例的基于文件的格式的图;
图2图示了根据示例的数据流格式的图;
图3图示了根据示例的包括处理资源、存储器资源和许多模块的计算系统的图;
图4图示了根据示例的包括处理资源、存储器资源和许多模块的控制器的图;以及
图5图示了根据示例的用于具有真实性的数据恢复的方法的图。
具体实施方式
随着互联网用户的数量增加,对内容的身份和真实性的证实已变得更加重要和普遍。例如,匿名和恶意的行为者可以通过网络钓鱼、人工工程和/或其他形式的破坏来积极地吸引用户以用欺诈和恶意内容来破坏合法内容。存在用于测试内容的真实性的系统,诸如公钥签名、代码签名等;然而,这些系统尚未成长并适应,因为文件格式和传输成本已增加。
例如,具有真实性和/或数据验证/认证的数据恢复的一些方法依靠可用于证实真实性的文件内容的整体性并且被设计来测试一组有限的文件格式。相比之下,本公开的示例提供了在数据检索过程中早期测试真实性的能力,从而降低对欺诈数据的检索的成本。此外,本公开的示例可以呈现可在数据转移期间实时地测量和监视的数据可恢复性组件并且可减轻与数据重传相关联的成本。例如,本公开的示例可以允许数据恢复,使得可用恢复内容块替换和/或修复损坏内容块。
此外,具有真实性和/或数据验证/认证的数据恢复的一些方法包括仅使用里德-所罗门(Reed-Solomon)码、纠删码系统、循环冗余或其他内联恢复协议和/或代码签名。然而,这些方法包括多种成本,包括时间、CPU利用率、网络带宽利用率、网络数据传输成本和其他机会成本。附加地,这些方法包括增加用于实现文件签名方案的成本和时间长度,并且它们可能限于仅签名于一些文件类型(例如,可执行文件类型)。此外,这些方法可能需要在同一分组(例如,网络分组)中连同原始数据一起承载恢复数据。进一步地,这些方法可能无法足够快地评估并应对威胁,以避免对其环境的攻击或感染。例如,这些方法在所有文件内容已被递送(例如,下载)之前可能无法对日期进行认证和/或验证,从而导致由整个递送引发的成本。
此外,一些方法可以导致对于大内容实现文件签名方案的成本增加。例如,文件签名可以通过集中授权来完成以诸如在组织层级限制欺诈签名或者应用一致进程(例如,防病毒扫描)。在这种组织层级示例中,公司可以具有用于代码签名的一个身份,其被作为资源共享给所有潜在签名者。在此模型中签名的过程由于网络传输和延迟而可能是昂贵的,因为签名于内容的时间不仅由于要签名的内容的大小和用于签名于该内容的密钥的强度(例如,大小)而增加。例如,随着操作系统的大小增长,签名于与操作系统相关联的二进制文件的过程也会增长。
相比之下,本公开的示例可提供保护,从而在正在下载文件内容的同时产生准确的、真实的且可信的文件内容。为了解决互联网上的欺诈数据的威胁,本公开的示例允许在文件内容的递送期间评估并应对威胁。此外,本公开的示例不会将恢复的成本嵌入到数据的传输中,导致传输的成本仅按需产生。进一步地,本公开的示例可在最终用户必须下载并潜在地使他们自己暴露于风险之前对大文件内容提供证实和真实性。例如,本公开的示例可随着文件内容正在被递送给用户而实时地验证文件完整性和真实性。此外,本公开的示例可允许用户在所有文件内容可用之前(例如,在完成递送和/或下载之前)开始使用文件内容。类似地,本公开的示例可允许过程在验证和/或授权时立即使用文件内容,这可为用户加速进一步处理。
图1图示了根据示例的基于文件的格式的图100。基于文件的格式可表示整个文件大小。例如,基于文件的格式可以是整个磁盘结构的每扇区表示(例如,整个国际标准化组织(ISO)映像、DVD ROM表示、硬盘驱动器映像等)。这种基于文件的格式可提供通过随着文件内容正在被递送给用户和/或服务而实时地验证文件内容来验证文件完整性和真实性的机制。在这种示例中,用户可以能够在递送期间的任何点选择退出递送(例如,数据传输、下载等)。例如,如果用户怀疑文件内容不是真实的、已被篡改和/或包含太多错误而不可靠,则用户可选择退出。
图100包括文件内容108。文件内容108可包括递送给用户的项目。例如,可以将表示平台的硬盘驱动器的大映像递送给用户。例如,此项目可以包括提供用于下载的大映像(例如,高达10千兆字节)。这种项目可以包括许多单独的文件。
图100还包括内容散列部分102(也称为奇偶数据的散列密钥)、认证证书部分104(也称为散列密钥数据上的签名)和恢复块110。内容散列部分102和认证证书部分104可被包括在散列内容区域106中。散列内容区域还可包括文件内容位置信息、文件内容散列信息和文件内容结构表示信息的各部分。
文件内容可用内容散列部分102中的散列块加以测量。可定义散列块大小,并且可能期望散列块与其他散列块相比较相对较小,使得它们测量起来更快,更易于下载和/或更易于恢复。如指出的,文件内容可按块大小测量并且作为单独的散列块存储在内容散列部分102内。例如,可使用单向函数来执行此测量以计算与每个块相关联的值,并且可在确定散列块中的文件内容的质量和/或完备性时使用该值。
还可包括恢复内容的散列块可表示文件内容,并且可以对该表示进行安全证实。照此,一旦散列块就绪,就可依靠它们进行验证和认证。例如,因为散列块是可靠的,如果文件内容中的一条素材稍后发生改变,则散列将损坏,所以可检索初始文件内容并且分析和验证文件内容的完整性。
认证证书部分104可包括与内容散列部分102内的每个散列块相关联的认证证书(例如,签名证书、数字签名等)。内容散列部分102和认证证书部分104两者可具有受正被签名/认证的散列块的数量支配的大小。照此,部分102、104、108和110的大小的尺度可变化;例如,如与图1中示出的文件内容部分108相比较内容散列部分102和认证证书部分104的大小可以是较小的或较大的。在一些示例中,用户可以能够维护并获得存在于散列内容区域106中的信息,并且可在文件内容的有效性和/或真实性的评估过程中使用此信息。
恢复块部分110可包括用于修复和/或替换损坏文件内容的恢复块。例如,可以在内容散列部分102中找到每个恢复块的散列,但是可以使用里德-所罗门码来生成恢复块。恢复块包含用于修复和/或替换损坏文件内容的恢复数据,但是不包含散列。
图2图示了根据示例的数据流格式的图212。例如,图212使用数据流格式和/或文件系统元数据格式来表示与图1中图示的那些示例类似的示例。数据流格式可以是替代数据流格式,其可以允许将文件数据分叉到现有文件中而不影响其功能性、大小或显示。可以为数据的附加属性添加并在文件系统层级维护附加流。在这种示例中,可将文件内容部分208、恢复块部分210和散列内容区域206应用于支持数据流的文件系统内的单独的数据流。
关于文件系统元数据格式,文件系统可存储与文件内容相关联的包括文件名、文件的内容的长度和/或文件在文件夹层次中的位置的元数据,与文件的内容分开。
在图2中图示的示例中,流0214、流1216和流2218可表示字节的序列,可包括写入到文件的数据,并且可给出关于文件的除属性和性质外的附加信息。每个数据流可维护它自己的压缩、加密和稀疏的状态。例如,数据流0214(也称作默认流)包括文件内容208。文件内容208可包括递送(或者要递送)给用户的信息(例如,可下载内容)。数据流1216可包括如关于图1的恢复块110所描述的恢复块210,并且数据流2218可包括散列内容区域206,其可包括如在图1中关于散列内容区域106、内容散列部分102和认证证书部分104所描述的内容散列部分202和认证证书部分204。
尽管在图1和图2中未图出,然而内容散列部分102、202、恢复块部分110、210和文件内容部分108、208可包括单独的数据块。例如,内容散列部分102、202可包括散列块,文件内容部分108、208可包括内容块,并且恢复块部分110、210可包括恢复块。不同的块可以具有相对于彼此不同的大小和关系。
例如,散列块在大小上可以是小的(例如,128个字节),但是可以1∶1映射到内容块。内容块可以是这些块中的最大块(例如,1兆字节),但是如指出的,可以1∶1映射到散列块。恢复块大小可以通过要恢复的数据量(例如,5-10千字节)来确定。恢复块的数量可基于内容块的数量。
在一些示例中,来源可将文件内容递送给用户(例如,经由下载)。例如,用户可以请求下载特定文件内容,或者来源可以将文件内容推送给用户。用户可能无法确定来源的真实性(例如,文件内容是否来自用户认为他们是的人),和/或用户可能无法确定文件内容的完整性(例如,它们是否是损毁的、损坏的等)。在这种示例中,可使用散列内容区域106、206来验证文件内容108、208的真实性和完整性。
例如,文件内容108、208可用散列块加以测量并且被作为单独的散列块保持在内容散列部分102、202内。可将与散列块中的每一个相关联的认证证书存储在认证证书部分104、204中。单向函数可用于计算与单独的散列块中的每一个相关联的值,其可验证内容散列部分102、202内的文件内容散列块的完备性和质量。在这些散列块现在表示整个文件内容108、208情况下,可将文件内容108、208递送给用户。
随着文件内容108、208被递送给用户,可使用认证证书部分104、204来在递送过程期间的任何时间对文件内容108、208的来源进行认证。例如,可通过与认证证书部分104、204的内容的比较来在递送期间测试并验证文件内容108、208的来源。如果来源的有效性受到质疑,则可在任何时间停止递送。例如,如果用户变得怀疑,则用户可选择退出递送而不必完成整个递送(例如,等待完整下载)。
类似地,随着文件内容108、208被递送给用户,可使用内容散列部分102、202来分析文件内容108、208的完整性。例如,如果在完整性的分析期间,确定了文件内容108、208已被篡改、损毁、损坏等,则可停止文件内容108、208的递送。在一些示例中,用户可以在做出这种确定的情况下在递送期间的任何时间选择退出递送,而不是等待递送完成。
在一些示例中,如果使用内容散列部分102、202的内容做出了文件内容108、208损坏、损毁、被篡改等的确定,则可在递送期间恢复和/或修复那些文件内容108、208。例如,如果文件内容108、208的一个块被损坏,则可使用来自恢复块部分110、210的一个恢复块来在递送期间恢复和/或修复已被损坏的块。类似地,如果两个块被损坏,则可使用两个恢复块来在递送期间修复和/或恢复已被损坏的块。也就是说,对于每一片被损坏的文件内容,可使用一个恢复块来恢复和/或修复。这可减少修复所需的恢复数据的量,从而减少所需的成本和时间。进一步地,在一些示例中,可使用恢复块部分110、210内的任何恢复块来修复被损坏的、丢失的、损坏的等文件内容的任何块。
在一些示例中,当正在递送文件内容108、208时可以知道文件内容108、208的块是损坏的或未损坏的。在发现损坏块的这种示例中,可从内容散列部分102、202中攫取新的非损坏块来为损坏块提供恢复信息。可替换地,可攫取来自恢复块部分110、210的恢复块来为损坏块提供恢复信息。可在文件内容108、208的递送期间做这个,这可以在递送完成之前确保文件内容108、208的真实性和完整性。例如,散列块和/或恢复块可以小于它们正在为其提供恢复信息的原始数据块(例如,文件内容块)(例如,大小的大约2-5%)。可变换/处理恢复块-以及损坏数据以重新创建原始块。通过使用里德所罗门模型来生成恢复块,任何恢复块可取代另一块。对于损坏数据的相等部分(块)来说所有可能需要的是相等数量的恢复块。
图3图示了根据示例的包括处理资源382、存储器资源384和许多模块383、381、386、388、387的计算系统380的图。计算系统380可利用指令(例如,软件和/或固件)、硬件和/或逻辑来执行包括本文中所描述的那些功能的许多功能。计算系统380可以是被配置成共享信息的硬件和程序指令的组合。硬件例如可包括处理资源382和/或存储器资源384(例如,计算机可读介质(CRM)、机器可读介质(MRM)等、数据库等)。
如本文中所使用的处理资源382可包括能够执行由存储器资源384存储的指令的处理器。处理资源382可被实现在单个设备中或者分布在多个设备上。程序指令(例如,机器可读指令(MRI))可包括存储在存储器资源384上并可由处理资源382执行来实现期望的功能(例如,数据恢复、数据验证和/或数据认证)的指令。
存储器资源384可与处理资源382通信。如本文中所使用的存储器资源384可包括能够存储可由处理资源382执行的指令的存储器组件。这种存储器资源384可以是非暂时性CRM或MRM。存储器资源384可被集成在单个设备中或者分布在多个设备上。进一步地,存储器资源384可以被完全或部分地集成在与处理资源382相同的设备中,或者它可以是单独的但是可被该设备和处理资源382访问。因此,注意的是,可在参与设备上、在一个服务器设备上、在一批服务器设备和/或用户设备与服务器设备的组合上实现计算系统380。
存储器资源384可经由通信链路(例如,路径)385与处理资源382通信。通信链路385可以是与处理资源382相关联的机器(例如,计算系统)本地的或远程的。本地通信链路385的示例可包括机器(例如,计算系统)内部的电子总线,其中存储器资源384是经由电子总线与处理资源382通信的易失性存储介质、非易失性存储介质、固定存储介质和/或可移动存储介质中的一种。
模块和/或模块383、381、386、388、387可包括MRI,所述MRI当由处理资源382执行时可执行包括本文中所描述的那些功能的许多功能。许多模块383、381、386、388、387可以是其他模块的子模块。例如,恢复模块I 388和恢复模块II 387可以是子模块和/或被包含在同一计算系统内。在另一示例中,许多模块383、381、386、388、387可包括处于分开且不同的位置(例如,MRM等)的单独的模块。
许多模块383、381、386、388、387中的每一个均可包括当由处理资源382执行时可充当对应引擎的指令。例如,递送模块383可包括当由处理资源382执行时可充当递送引擎的指令。类似地,许多模块383、381、386、388、387中的每一个均可包括当由处理资源382执行时可充当引擎的指令。
在一些示例中,引擎可以是包括数据库、子系统和许多引擎的系统(未图示)的一部分。子系统可包括经由通信链路(例如,如图3中所引用的链路385)与数据库通信的许多引擎。系统可表示网络控制器(例如,如图3中所引用的系统380等)的硬件和/或指令。
许多引擎可包括用于执行包括本文中所描述的那些功能的功能的硬件和编程的组合。指令可包括存储在存储器资源(例如,CRM、MRM等)中的指令(例如,软件、固件等)以及硬连线程序(例如,逻辑)。
在一些示例中,可在软件即服务递送模型中使用许多模块383、381、386、388、387。例如,计算系统380的组件可存在于单个计算系统或多个计算系统(例如,分布式)中。例如,受用户信任的web服务器或其他计算系统可向服务器提供单独的数据流的服务,和/或代表用户作为用于恢复的处理代理。
在示例中,递送模块383可包括当由处理资源382执行时可使计算系统将文件内容递送给用户的指令。例如,可向用户发送表示平台的整个硬盘驱动器的映像。用户可以以下载或其他递送方法的形式请求递送,和/或文件内容的来源可将该递送推送给用户。在一些示例中,可进一步执行指令以将文件内容递送给与文件内容的来源相同的网络内的用户。例如,网络内的系统可彼此通信并且可将文件内容递送给彼此。一些示例可以利用对内容范围的访问而不是总是从文件内容开头开始,这可导致网络使用的可恢复性增加。
真实性模块381可包括当由处理资源382执行时可使计算系统在递送期间实时地验证文件内容的真实性的指令。验证文件内容的真实性可包括在下载实际的文件内容之前验证远程内容的真实性。这可允许测试并验证文件内容来源的身份,并且在递送期间的任何点,可确定文件内容的来源。
在一些示例中,验证可能是期望的,因为在文件内容(例如,上面提及的映像)的递送期间,文件内容的来源可能是不清楚的,意味着来源是未知的和/或来源的身份已被篡改。验证还可能是期望的,因为即使用认证证书(例如,签名),也可能无法保证认证证书遵循映像和/或认证证书尚未被替换。进一步地,在网络内的示例中,在其中数据正从硬盘移动到硬盘和/或在网络内部移动的环境中,数据可在文件内容内损坏、丢失等,所以可执行对文件内容的来源的真实性的验证。
完整性模块386可包括当由处理资源382执行时可使计算系统在递送期间实时地分析文件内容的完整性的指令。文件内容的完整性的分析可包括确定任何文件内容是否损坏、丢失、损毁、被篡改等。文件内容的完整性的分析可能是期望的,因为在文件内容(例如,上面提及的映像)的递送期间,连接可能丢失,和/或文件内容可能被损毁,以及如上面所指出的其他问题。在递送期间的任何点,可做出已被下载的文件内容正确或不正确的确定。任何一片损坏文件内容可用任何一片恢复内容替换。可在递送期间做这个,意味着用户在确定文件内容的一部分或全部损坏、不正确、损毁等之前不必等待所有文件内容下载。
进一步地,在网络内的示例中,在其中数据正从硬盘移动到硬盘和/或在网络内部移动的环境中,数据可在文件内容内损坏、丢失等,所以可执行分析文件内容的完整性。
恢复模块I 388可包括当由处理资源382执行时可使计算系统恢复数据以修复在真实性验证期间确定的真实性问题的指令。例如,如果在递送期间做出了认证证书无效的确定,则可基于文件系统的认证部分和/或文件系统的恢复块部分的内容用新的有效认证证书替换该认证证书。可在递送期间实时地执行认证证书的修复/替换和/或恢复,使得用户不必等待递送的完成。用户可在递送期间实时地知道文件内容的来源是真实的。
恢复模块II 387可包括当由处理资源382执行时可使计算系统恢复数据以修复在文件内容的完整性的分析期间确定的文件损毁问题的指令。例如,可通过用恢复块替换损毁块来恢复数据以修复文件损毁问题。可以一对一方式执行这个,使得可用恢复数据的一个块修复/替换损坏文件内容的任何一个块。这可导致必须恢复最少量的数据从而必要时用于修复损毁或其他问题。例如,在一些示例中,一旦发现错误就可单独地重传失败的散列块,这可校正传输错误和/或I/O处理错误。附加地或可替换地,可使用一个恢复块来恢复失败的散列块,从而校正来源文件中的持久性错误。
在示例中,计算机系统380可包括散列区域模块(在图3中未图示),其可包括当由处理资源382执行时可使计算系统创建包括文件内容的表示的内容散列区域的指令,其中表示包括安全证实。例如,内容散列区域可包括文件内容散列块和关联的认证证书。这些可表示整个文件内容,并且可对可被用于文件内容及其来源的认证和验证的那些文件内容进行安全证实。
图4图示了根据示例的包括处理资源、存储器资源和许多模块的示例控制器430的图。例如,控制器430可以是用于数据恢复、数据验证和/或数据认证的硬件和指令的组合。硬件例如可包括处理资源482和/或存储器资源484(例如,MRM、CRM、数据存储等)。
如本文中所使用的处理资源482可包括能够执行由存储器资源484存储的指令的许多处理器。指令(例如,MRI)可包括存储在存储器资源484上并可由处理资源482执行来实现期望的功能(例如,数据恢复、数据验证和/或数据认证等)的指令。
如本文中所使用的存储器资源484可包括能够存储可由处理资源482执行的非暂时性指令的许多存储器组件。存储器资源332可被集成在单个设备中或者分布在多个设备上。进一步地,存储器资源332可被完全或部分地集成在与处理资源330相同的设备中,或者它可以是单独的但是可被该设备和处理资源330访问。因此,注意的是,除了其他可能性之外,还可在一个电子设备和/或一批电子设备上实现控制器430。
存储器资源484可经由通信链路(例如,路径)485与处理资源482通信。通信链路485可以是与处理资源482相关联的电子设备本地的或远程的。
存储器资源484包括许多引擎(例如,文件内容引擎432、验证引擎434、恢复引擎436、递送引擎438等)。存储器资源484可包括比图示的更多或更少的引擎以执行本文中所描述的各种功能。
许多引擎可包括用于执行本文中所描述的许多功能(例如,数据恢复、数据验证和/或数据认证等)的硬件和指令的组合。除了其他可能性之外,还可下载并在存储器资源(例如,MRM)以及硬连线程序(例如,逻辑)中存储指令(例如,软件、固件等)。
文件内容引擎432可例如经由下载将文件内容递送给用户。此递送可在网络设定内部或外部进行。验证引擎434可在递送期间实时地验证文件内容。例如,验证可包括控制器430在递送完成之前实时地验证文件内容的真实性以及与文件内容相关联的散列内容区域内的散列块的真实性。附加地或可替换地,验证可包括控制器430在递送完成之前实时地分析文件内容的完整性以及与文件内容相关联的散列内容区域内的散列块的真实性。例如,经验证的文件内容可包括具有经认证的来源的文件内容以及未损毁、损坏、丢失等的文件内容。
恢复引擎436可响应于文件内容的一部分损坏的确定而使用经验证的文件内容来恢复文件内容的已损坏部分。在一些示例中,恢复已损坏部分可包括控制器430重新递送已损坏部分。在一些示例中恢复已损坏部分还可包括控制器430用恢复部分替换已损坏部分。例如,可以用恢复部分块替换损坏文件内容块。可在文件内容的递送期间执行这个。
递送引擎438可将文件内容的已恢复部分递送给用户。例如,可在递送给用户期间实时地递送已恢复部分。用户不必等待递送完成以接收已恢复部分。进一步地,用户不必等待递送完成以得知文件内容来源不是真实的(例如,他们不是在发送文件内容的人)和/或文件内容损坏、损毁、丢失等。这可节约用户时间、成本和担忧。
在一些示例中,控制器430可包括用于允许用户在递送完成之前(例如,在文件内容的递送在进行中的同时)开始使用文件内容的指令。例如,所有文件内容可能不可对用户可用,但是可使用可用的部分。可以对可用的文件内容进行验证和认证,使得用户可安全地使用可用的文件内容。
在一些示例中,控制器430可允许过程在递送完成之前开始使用文件内容。例如,文件内容可包括ISO映像或一组文件(例如,zip或其他文件存档格式),使得一旦采用底层格式的个别文件可用,它们就已被认证和验证(例如,未更改、合法的),所以另一个过程可开始使用该内容(例如,安装存储在ISO或zip内容内的文件系统)。在一些示例中,这可为用户加速进一步处理。
图5图示了根据示例的用于具有真实性的数据恢复的方法550的图。在552处,方法550可包括将文件的内容作为散列块来测量。可使用单向函数来计算与每个散列块相关联的值,并且可使用该值来确定文件内容散列块的完整性和质量。在554处,方法550可包括将散列块和认证证书作为数据收集在内容散列区域中。方法550还可包括将文件的内容的位置和表示为文件的内容的文件结构作为数据收集在内容散列区域中。内容散列区域内的信息可用于验证文件内容的完整性并且对文件内容的来源进行认证,如将在本文中进一步讨论的那样。
方法550在556处可包括将文件的内容和认证证书递送给用户。文件的内容例如可经由下载来递送,并且可在网络内、在网络外递送,或者兼而有之。在558处,方法550可包括在递送期间实时地基于内容散列区域中的数据对内容的来源进行认证。例如,使用内容散列区域内的认证证书信息,可确定来源的真实性。如果对于来源的真实性产生怀疑(例如,证书已被篡改、移除等),则可停止递送,或者可在递送期间并实时地修复和/或替换认证证书。
在560处,方法550可包括在递送期间实时地基于内容散列区域中的数据验证文件内容的真实性。例如,使用散列块,可做出关于文件内容是否被损毁、损坏、丢失等的确定。方法550可包括在562处响应于文件的已递送内容的块被破坏的确定而使用与内容散列区域相关联的恢复块来恢复已损坏块。例如,如果块被损毁、损坏、丢失等,则可使用任何恢复块来修复/替换已损坏块。恢复块可以与内容散列区域相关联,使得在内容散列区域中存在恢复块的散列。在一些示例中,使用来自内容散列区域的恢复块来恢复已损坏块包括使用相同数量的恢复块来恢复许多损坏块。例如,如果五个块损坏,则可使用五个恢复块来恢复五个损坏块。
方法550还可包括在文件的内容的第二部分的递送仍在进行中的同时允许用户在第一部分的递送完成时使用文件的内容的第一部分。例如,一旦文件内容的一部分被递送,用户就可在接收文件内容的其余部分之前开始使用该部分。方法550还可包括基于与认证证书相关联的内容散列区域内的散列块的数量来确定内容散列区域的大小。例如,内容散列区域大小可变化并且相对于实际的文件内容可以是小的,从而允许用户迅速地维护并获得内容散列区域内的信息。进一步地,利用较小的认证证书部分,可通过使用具有内容的较小恢复作为签名于素材的来源来减少签名于文件内容并验证该文件内容的代价。
方法550可进一步包括从用户接收停止文件内容的递送的指令,并且响应于接收到指令,停止文件内容的递送。例如,如果确定了文件内容的来源不是真实的和/或文件内容的完整性是可疑的,则用户可选择退出递送的剩余部分。这可节约用户时间和成本,以及对已接收到不可靠的文件内容的担忧。
在本公开的上述详细描述中,参考形成其一部分的附图,并且其中通过图示示出了可如何实践本公开的示例。这些示例被足够详细地描述以使得本领域的普通技术人员能够实践本公开的示例,并且应当理解的是,在不脱离本公开的范围的情况下,可利用其他示例并且可做出过程、电气和/或结构改变。
本文中的图遵循其中第一数字对应于附图编号并且剩余数字标识附图中的元件或组件的编号惯例。可添加、交换和/或消除在本文各个图中示出的元件,以便提供本公开的许多附加示例。此外,图中提供的元件的比例和相对尺度旨在图示本公开的示例,而不应该在限制性意义上进行。进一步地,如本文中所使用的,“许多”元件和/或特征可指代此类元件和/或特征中的一个或多个。
Claims (15)
1.一种控制器,所述控制器包括与包括指令的存储器资源通信的处理资源,所述指令可执行来:
将文件内容递送给用户;
在所述递送期间实时地验证所述文件内容,其中使用内容散列区域来验证所述文件内容的真实性和完整性,其中将作为散列块的文件的内容和认证证书收集在所述内容散列区域中;
响应于所述文件内容的一部分损坏的确定,使用经验证的文件内容来恢复所述文件内容的已损坏部分;并且
将所述文件内容的已恢复部分递送给所述用户。
2.根据权利要求1所述的控制器,其中可执行来实时地验证所述文件内容的所述指令包括可执行来在所述递送完成之前实时地验证所述文件内容的真实性以及与所述文件内容相关联的内容散列区域内的散列块的真实性的指令。
3.根据权利要求1所述的控制器,其中可执行来实时地验证所述文件内容的所述指令包括可执行来在所述递送完成之前实时地分析所述文件内容的完整性以及与所述文件内容相关联的内容散列区域内的散列块的真实性的指令。
4.根据权利要求1所述的控制器,其中可执行来恢复所述文件内容的已损坏部分的所述指令包括可执行来重新递送已损坏部分的指令。
5.根据权利要求1所述的控制器,其中可执行来恢复所述文件内容的已损坏部分的所述指令包括可执行来用来自包括经验证的文件内容和经认证的散列块的内容散列区域的恢复部分替换已损坏部分的指令。
6.一种用于具有真实性的数据恢复的方法,包括:
将文件的内容作为散列块来测量;
将所述散列块和认证证书作为数据收集在内容散列区域中;
将所述文件的所述内容和所述认证证书递送给用户;
在递送期间实时地基于所述内容散列区域中的所述数据对所述内容的来源进行认证;
在递送期间实时地基于所述内容散列区域中的所述数据验证所述文件内容的真实性和完整性;以及
响应于所述文件的已递送内容的块损坏的确定,使用与所述内容散列区域相关联的恢复块来恢复已损坏块,所述内容散列区域包括经验证的文件内容和经认证的散列块。
7.根据权利要求6所述的方法,进一步包括在所述文件的所述内容的第二部分的递送仍在进行中的同时允许用户在第一部分的递送完成时使用所述文件的所述内容的所述第一部分。
8.根据权利要求6所述的方法,进一步包括将所述文件的内容的位置和表示为所述文件的内容的文件结构作为数据收集在所述内容散列区域中。
9.根据权利要求6所述的方法,进一步包括基于与所述认证证书相关联的所述内容散列区域内的所述散列块的数量来确定所述内容散列区域的大小。
10.根据权利要求6所述的方法,进一步包括:
接收来自用户的停止所述文件内容的递送的指令;以及
响应于接收到所述指令,停止所述文件内容的递送。
11.根据权利要求6所述的方法,其中使用与所述内容散列区域相关联的所述恢复块来恢复已损坏块包括使用相同数量的恢复块来恢复许多损坏块。
12.一种存储指令的非暂时性机器可读介质,所述指令可由处理资源执行来使计算系统:
将文件内容递送给用户;
在所述递送期间实时地使用内容散列区域验证所述文件内容的真实性和完整性,其中将作为散列块的文件的内容和认证证书收集在所述内容散列区域中;
在所述递送期间实时地分析所述文件内容的完整性;
恢复数据以修复在所述真实性验证期间确定的真实性问题;以及
恢复数据以修复在所述文件内容的所述完整性的分析期间确定的文件损毁问题。
13.根据权利要求12所述的非暂时性机器可读介质,进一步包括可由所述处理资源执行来使所述计算系统创建包括所述文件内容的表示的内容散列区域的指令,其中所述表示包括安全证实。
14.根据权利要求12所述的非暂时性机器可读介质,其中,所述指令进一步可执行来将所述文件内容递送给与所述文件内容的来源相同的网络内的用户。
15.根据权利要求12所述的非暂时性机器可读介质,其中,所述指令进一步可执行来通过用恢复块替换损毁块来恢复数据以修复文件损毁问题。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/044653 WO2018022082A1 (en) | 2016-07-29 | 2016-07-29 | Data recovery with authenticity |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109074295A CN109074295A (zh) | 2018-12-21 |
CN109074295B true CN109074295B (zh) | 2022-07-05 |
Family
ID=61017534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680085275.7A Active CN109074295B (zh) | 2016-07-29 | 2016-07-29 | 具有真实性的数据恢复 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10853197B2 (zh) |
EP (1) | EP3436949A4 (zh) |
CN (1) | CN109074295B (zh) |
WO (1) | WO2018022082A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3847643A4 (en) | 2018-09-06 | 2022-04-20 | Coffing, Daniel L. | DIALOG GUIDANCE PROVIDING SYSTEM |
WO2020056409A1 (en) * | 2018-09-14 | 2020-03-19 | Coffing Daniel L | Fact management system |
EP3764233A1 (en) * | 2019-07-08 | 2021-01-13 | Continental Teves AG & Co. OHG | Method of identifying errors in or manipulations of data or software stored in a device |
CN111539870B (zh) * | 2020-02-25 | 2023-07-14 | 成都信息工程大学 | 一种基于纠删码的新媒体图像的篡改恢复方法及装置 |
US11797541B1 (en) | 2020-10-23 | 2023-10-24 | State Farm Mutual Automobile Insurance Company | Systems and methods for enhanced rules conflict checking with data validation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325025A (zh) * | 2011-05-25 | 2012-01-18 | 北京数码视讯科技股份有限公司 | 提供源真实性的数据处理方法及系统 |
CN102902601A (zh) * | 2011-09-12 | 2013-01-30 | 微软公司 | 高效数据恢复 |
CN105095027A (zh) * | 2015-09-11 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种数据备份方法及装置 |
CN105786498A (zh) * | 2016-02-25 | 2016-07-20 | 广州阿里巴巴文学信息技术有限公司 | 用于修改应用程序的方法、设备和电子设备 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892904A (en) | 1996-12-06 | 1999-04-06 | Microsoft Corporation | Code certification for network transmission |
WO1998047259A2 (en) * | 1997-03-10 | 1998-10-22 | Fielder Guy L | File encryption method and system |
US6088803A (en) | 1997-12-30 | 2000-07-11 | Intel Corporation | System for virus-checking network data during download to a client device |
US6959384B1 (en) | 1999-12-14 | 2005-10-25 | Intertrust Technologies Corporation | Systems and methods for authenticating and protecting the integrity of data streams and other data |
WO2002039714A2 (en) * | 2000-11-08 | 2002-05-16 | Digimarc Corporation | Content authentication and recovery using digital watermarks |
US7254622B2 (en) | 2000-12-15 | 2007-08-07 | Tetsuya Nomura | Video-on-demand system |
US20020129159A1 (en) * | 2001-03-09 | 2002-09-12 | Michael Luby | Multi-output packet server with independent streams |
US7043637B2 (en) * | 2001-03-21 | 2006-05-09 | Microsoft Corporation | On-disk file format for a serverless distributed file system |
KR100453504B1 (ko) * | 2002-04-30 | 2004-10-20 | 주식회사 케이티프리텔 | 소프트웨어 인증 방법 및 시스템 |
US7949877B2 (en) * | 2003-06-30 | 2011-05-24 | Realnetworks, Inc. | Rights enforcement and usage reporting on a client device |
US7536725B2 (en) | 2003-07-28 | 2009-05-19 | Limelight Networks, Inc. | Authentication of content download |
EP1687933B1 (en) * | 2003-11-27 | 2017-11-22 | Telecom Italia S.p.A. | Method, system, network and computer program product for securing administrative transactions over a network |
US7870608B2 (en) | 2004-05-02 | 2011-01-11 | Markmonitor, Inc. | Early detection and monitoring of online fraud |
FR2878673B1 (fr) * | 2004-11-26 | 2007-02-09 | Univ Picardie Jules Verne Etab | Systeme et procede de sauvegarde distribuee perenne |
US20070265966A1 (en) * | 2006-05-15 | 2007-11-15 | The Directv Group, Inc. | Content delivery systems and methods to operate the same |
GB0622149D0 (en) | 2006-11-07 | 2006-12-20 | Singlepoint Holdings Ltd | System and method to validate and authenticate digital data |
KR20080101615A (ko) | 2007-05-15 | 2008-11-21 | 삼성전자주식회사 | 이동 통신 시스템에서 방송 서비스를 위한 컨텐츠 제공장치 및 방법 |
US8458285B2 (en) * | 2008-03-20 | 2013-06-04 | Post Dahl Co. Limited Liability Company | Redundant data forwarding storage |
US8839431B2 (en) | 2008-05-12 | 2014-09-16 | Enpulz, L.L.C. | Network browser based virus detection |
GB2463078B (en) * | 2008-09-02 | 2013-04-17 | Extas Global Ltd | Distributed storage |
US8370307B2 (en) * | 2009-09-01 | 2013-02-05 | Empire Technology Development Llc | Cloud data backup storage manager |
US8667269B2 (en) * | 2010-04-02 | 2014-03-04 | Suridx, Inc. | Efficient, secure, cloud-based identity services |
US8868859B2 (en) * | 2011-06-03 | 2014-10-21 | Apple Inc. | Methods and apparatus for multi-source restore |
WO2013091025A1 (en) * | 2011-12-23 | 2013-06-27 | Secure Software Pty Ltd | Memory content protection |
US9542466B2 (en) * | 2012-05-10 | 2017-01-10 | Aetherstore Inc. | Systems and methods for distributed storage |
US9152643B2 (en) * | 2012-12-21 | 2015-10-06 | Zetta Inc. | Distributed data store |
US8977598B2 (en) * | 2012-12-21 | 2015-03-10 | Zetta Inc. | Systems and methods for on-line backup and disaster recovery with local copy |
US9235471B2 (en) | 2013-04-29 | 2016-01-12 | Netapp, Inc. | Background initialization for protection information enabled storage volumes |
CN103780632B (zh) * | 2014-02-28 | 2017-03-29 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种互联网文件完整性验证方法及其系统 |
US9329799B2 (en) | 2014-03-04 | 2016-05-03 | Netapp, Inc. | Background checking for lost writes and data corruption |
EP2930935A1 (en) * | 2014-04-11 | 2015-10-14 | Television Broadcasts Limited | Method of delivering media content |
CN105320899B (zh) * | 2014-07-22 | 2018-01-09 | 北京大学 | 一种面向用户的云存储数据完整性保护方法 |
-
2016
- 2016-07-29 US US16/092,956 patent/US10853197B2/en active Active
- 2016-07-29 CN CN201680085275.7A patent/CN109074295B/zh active Active
- 2016-07-29 WO PCT/US2016/044653 patent/WO2018022082A1/en active Application Filing
- 2016-07-29 EP EP16910745.5A patent/EP3436949A4/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325025A (zh) * | 2011-05-25 | 2012-01-18 | 北京数码视讯科技股份有限公司 | 提供源真实性的数据处理方法及系统 |
CN102902601A (zh) * | 2011-09-12 | 2013-01-30 | 微软公司 | 高效数据恢复 |
CN105095027A (zh) * | 2015-09-11 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种数据备份方法及装置 |
CN105786498A (zh) * | 2016-02-25 | 2016-07-20 | 广州阿里巴巴文学信息技术有限公司 | 用于修改应用程序的方法、设备和电子设备 |
Non-Patent Citations (3)
Title |
---|
"Authenticating Sensitive Speech-Recitation in Distance-Learning Applications using Real-Time Audio Watermarking";Omar Tayan;《International Journal of Advanced Computer Science and Applications》;20160630;第7卷(第6期);第398-407页 * |
"Windows校验文件哈希hash的两种常用方式";杨参谋;《https://www.cnblogs.com/staffyoung/p/5593226.html》;20160617;第1-3页 * |
"基于纠错码的安全群组数据源认证协议";李春媚;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110315(第03期);第I139-210页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018022082A1 (en) | 2018-02-01 |
US20190205219A1 (en) | 2019-07-04 |
CN109074295A (zh) | 2018-12-21 |
EP3436949A4 (en) | 2020-03-25 |
US10853197B2 (en) | 2020-12-01 |
EP3436949A1 (en) | 2019-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074295B (zh) | 具有真实性的数据恢复 | |
US10754989B2 (en) | Runtime self-correction for blockchain ledgers | |
Chen et al. | Remote data checking for network coding-based distributed storage systems | |
KR101692817B1 (ko) | 손상된 소프트웨어의 치료 | |
US9436722B1 (en) | Parallel checksumming of data chunks of a shared data object using a log-structured file system | |
US11860680B2 (en) | Software pipeline and release validation | |
JP2006202270A (ja) | 部分イメージハッシュを使用して実行可能ファイルのインテグリティーを検証するためのシステムおよび方法 | |
US10977367B1 (en) | Detecting malicious firmware modification | |
CN103530548B (zh) | 基于移动可信计算模块的嵌入式终端可信启动方法 | |
CN111914303B (zh) | Linux系统运行时状态的安全度量与安全验证方法 | |
US10776493B2 (en) | Secure management and execution of computing code including firmware | |
US7962765B2 (en) | Methods and systems for tamper resistant files | |
CN111222176A (zh) | 基于区块链的云存储持有性证明方法、系统及介质 | |
KR20170089352A (ko) | 가상화 시스템에서 수행하는 무결성 검증 방법 | |
Chen et al. | Auditable Version Control Systems. | |
US11106811B2 (en) | Object storage for guaranteed content for backup and retention | |
US11269540B2 (en) | Method, apparatus, and computer program product for managing application system | |
EP2568655A2 (en) | Method for authenticating a storage device, machine-readable storage medium, and host device | |
US9860230B1 (en) | Systems and methods for digitally signing executables with reputation information | |
CN112131041A (zh) | 用于管理数据放置的方法、设备和计算机程序产品 | |
CN112711570A (zh) | 日志信息的处理方法、装置、电子设备及存储介质 | |
CN109951527B (zh) | 面向虚拟化系统的hypervisor完整性检测方法 | |
WO2020134637A1 (zh) | 一种密钥组分验证方法、装置及终端设备 | |
Suganya et al. | Enhancing security for storage services in cloud computing | |
CN110572371B (zh) | 基于html5本地存储机制的身份唯一性校验控制方法 |
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 |