测量完整性的设备和方法

文档序号:7649469阅读:270来源:国知局
专利名称:测量完整性的设备和方法
技术领域
本发明涉及一种测量完整性的设备和方法,更具体地讲,涉及一种防止将被测量完整性的对象被不必要地加载到存储器中的设备和方法。
背景技术
任一种对称加密(例如DES或RSA公钥加密)是用来对除正确的发送方和接收方之外的第三方隐藏数据内容的加密算法。近来,随着积极地通过通信网络进行数据交换,除保持数据的机密性之外,还需要其它条件。
接收方必需识别数据的完整性和数据验证,其中,所述完整性确保用户接收的数据在传输过程中没有被非法第三方故意调制,所述数据验证允许用户确认所接收的数据的实际提供者。
基本上,不分开处理完整性和数据验证。数据验证包括完整性,反之亦然。这是因为,如果从原始消息提供者发送的数据在传输过程中被第三方调制,即,如果不满足完整性,则已调制原始数据的第三方变为新的发送方。这还因为,如果不识别数据的原始消息提供者,则数据的完整性是没有意义的。
哈希函数用来确保数据的完整性。哈希函数输出将预定的数据作为输入值的预定的输出值。如果数据中发生任何改变,则输出值不再有效。如果数据存储在不安全的地方,则有时能够通过再次计算输出值并确认输出值保持未改变来识别完整性。
图1是示出根据现有技术的用于测量完整性的设备的构造的框图。
如图1所示,根据现有技术的用于测量完整性的设备包括存储器11、映射模块12、存储器模块13、结合模块14和测量模块15。映射模块12将数据(下面称为“第二数据”)选择性地加载到存储器11中,其中,所述第二数据根据存储器11的存储器分配单位从完整性将被测量的数据(下面称为“第一数据”)分割。结合模块14将加载到存储器11中的第二数据与没有加载到存储器11中的其它数据结合到一起。测量模块15测量第一数据的完整性。
此时,第一数据的以存储器分配单位分割的多个第二数据被选择性地加载到存储器11中。例如,如果第一数据被根据存储器分配单位分割成N个第二数据,则N个第二数据都被加载到存储器11中,或者第二数据中的一些被选择性地加载到存储器11中。
测量模块15通过存储在存储器模块13中的哈希值来测量第一数据的完整性。因此,如果多个第二数据被选择性地加载到存储器11中,则测量模块15允许结合模块14将没有加载到存储器11中的第二数据与加载到存储器11中的第二数据相结合。另外,为了测量第一数据的完整性,测量模块15将存储在存储器模块13中的哈希值与使用所结合的数据作为哈希函数的输入值而获得的输出值作比较,所述哈希函数与获得存储器模块13中的哈希值所使用的哈希函数相同。
然而,根据现有技术的设备10的问题在于由于数据的不必要的加载而导致完整性测量性能劣化。也就是说,由于通过在根据存储器分配单位分割第一数据之前的第一数据的哈希值来测量第一数据的完整性,所以如果第一数据被分割成至少一个第二数据并且所述至少一个第二数据被选择性地加载到存储器11中,则不需要加载到存储器11中的第二数据会被加载到存储器11中。结果,发生不必要的加载,这导致完整性的测量性能劣化。
第2004-210736号未经审查的美国专利公布公开了一种具有哈希函数模块和存储器分配模块的驱动器引擎以及一种如果发生存储器冲突则根据相应哈希表的哈希值来选择性地分配标识符的方法。然而,该现有技术没有提出防止数据的不必要的加载的方法来防止完整性的测量性能劣化。

发明内容
因此,已作出本发明来解决现有技术中出现的上述问题,本发明的目的是为了提供一种测量完整性的设备和方法,其中,当测量完整性时减少了不必要的存储器加载,因而减小了开销,并能够高效地测量完整性。
本发明的其它优点、目的和特征将在下面的描述中部分地阐述,这部分在下面的描述中对本领域技术人员将是清楚的,或者可通过本发明实施而了解。
为了实现这些目的,提供了一种用于测量完整性的设备,根据本发明,该设备包括映射模块,将多个第二对象中的至少一个第二对象加载到存储器中,所述多个第二对象根据存储器的分配单位从第一对象分割;存储器模块,存储所分割的第二对象的哈希值;测量模块,通过将所加载的第二对象的哈希值与存储在存储器模块中的哈希值作比较来测量第一对象的完整性。
在本发明的另一方面中,提供了一种测量完整性的方法,该方法包括将多个第二对象中的至少一个第二对象加载到存储器中,所述多个第二对象根据存储器的分配单位从第一对象分割;存储所分割的第二对象的哈希值;通过将所加载的第二对象的哈希值与所存储的哈希值作比较来测量第一对象的完整性。


从下面结合附图的详细描述中,本发明的上述和其它目的、特征及优点将变得更加清楚,附图中图1是示出根据现有技术的用于测量完整性的设备的构造的框图;图2是示出根据本发明实施例的用于测量完整性的设备的构造的框图;图3是示出在本发明的实施例中的存储器的示图,其中,根据存储器分配单位从第一对象分割的第二对象被加载到存储器;图4是示出在本发明的实施例中根据第二对象存储在存储器模块中的哈希值的示图,其中,所述第二对象根据存储器分配单位从第一对象分割;图5是示出根据本发明实施例的测量完整性的方法的流程图。
具体实施例方式
下面,将参照附图详细地描述本发明的优选实施例。通过参考将参照附图详细描述的实施例,本发明的这些方面和特征以及用于实现这些方面和特征的方法将变得清楚。然而,本发明不限于下面公开的实施例,而且能够以不同的形式实施本发明。描述中定义的内容(例如,详细的构造和元件)只是具体的细节,提供这些内容是为了帮助本领域普通技术人员全面理解本发明,本发明只限定在权利要求的范围内。在本发明的整个描述中,各个附图中相同的附图标号用来表示相同的元件。
这里将参照示出用于解释根据本发明实施例的测量完整性的设备和方法的框图和流程图的附图描述本发明。将理解的是,流程图的每个方框和流程图的多个方框的组合可通过计算机程序指令来实施。这些计算机程序指令可提供到通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令生用于实现流程图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在计算机可用的或计算机可读的存储器中,能够指引计算机或其它可编程数据处理设备以特定方式作用,从而存储在计算机可用的或计算机可读的存储器中的指令产生包括实现流程图一个方框或多个方框中指定的功能的指令装置的制造条目。
计算机程序指令也可加载到计算机或其它可编程数据处理设备上,以产生一系列将在计算机或其它可编程数据处理设备上执行的操作步骤,从而产生计算机可执行的程序,使得在计算机或其它可编程数据处理设备上执行的指令提供用于实现在流程图的一个方框或多个方框中指定的功能的步骤。
另外,流程图的每个方框可表示包括用于实现指定的逻辑功能的一条或多条可执行指令的模块、片断或部分代码。还需指出的是,在一些可选实施例中,在方框中指出的功能可发生次序颠倒。例如,根据所包含的功能,连续示出的两个方框实际上可基本上同时执行,或者这些方框有时可按相反的次序执行。
图2是示出根据本发明实施例的用于测量完整性的设备的构造的框图。
如图2所示,根据本发明实施例的测量完整性的设备100包括存储器110、映射模块120、存储器模块130和测量模块140。
存储器110的示例包括高速缓冲存储器、ROM、PROM、EPROM、EEPROM、闪速存储器、SRAM和DRAM。然而,存储器110不限于这些示例。另外,根据本发明实施例的存储器110具有用于分配存储器区域的分配单位。例如,如果以页为单位在闪速存储器中写数据,则页可以作为存储器分配单位。因此,当预定的对象被加载到存储器110中时,如果该对象的大小超过存储器分配单位,则用存储器分配单位来分割该对象,以有效地进行存储器映射。此时,本发明的实施例中所使用的术语“对象”的示例包括操作系统、内核、文件和应用程序。然而,对象不限于这些示例。
映射模块120将对象加载到存储器110中。在这种情况下,如果对象的大小超过存储器110的存储器分配单位,则映射模块120可根据存储器分配单位来分割对象。下面,在被加载到存储器110中之前的对象将称为第一对象,根据存储器分配单位分割的第一对象将称为第二对象。基于此,将理解的是,第二对象被加载到存储器110中。
此外,如果第一对象的大小超过存储器分配单位,则可根据存储器分配单位来分割第一对象。因此,可获得至少一个或多个第二对象。换句话讲,当第一对象被加载到存储器110中时,可获得一个第二对象或多个第二对象。
此时,将理解的是,如果第一对象由一个第二对象构成,则第一对象的大小与存储器110的存储器分配单位相同或小于存储器110的存储器分配单位。
此外,映射模块120存储加载到存储器110中的第二对象的映射信息。在这种情况下,将理解的是,映射信息可存储在存储器110或者单独的存储介质中,映射信息的示例可包括加载到存储器110中的第二对象所位于的地址。映射信息后面可用作访问加载到存储器110中的第二对象的参考信息。
同时,如果第一对象超过存储器110的存储器分配单位并且因而被根据存储器分配单位分割成多个第二对象,则可全部或选择性地加载所述多个第二对象。
更详细地,如图3所示,映射模块120将多个第二对象220选择性地加载到存储器110中,其中,第二对象220根据存储器110的存储器分配单位111从第一对象210分割。
存储器模块130存储以至少一个或多个第二对象作为输入值的哈希函数的输出值,其中,第二对象根据存储器分配单位从第一对象分割。下面,哈希函数的输出值将称为本发明实施例中的哈希值。
例如,如果第一对象的大小超过存储器110的存储器分配单位,则根据存储器分配单位分割第一对象。此时,如图4所示,如果第一对象被分割成N个第二对象,则假设各个第二对象为第二对象1、第二对象2、第二对象3、...、第二对象N-1和第二对象N。在这种情况下,存储器模块130可存储与以第二对象作为输入值的哈希函数的输出值相对应的N个哈希值。换句话讲,存储器模块130存储哈希值,即,根据第二对象1、第二对象2、第二对象3、...、第二对象N-1和第二对象N的哈希值1、哈希值2、哈希值3、...、哈希值N-1和哈希值N。如果第一对象的大小与存储器110的存储器分配单位相同或小于存储器110的存储器分配单位,则获得一个第二对象,由此,在存储器模块130中存储一个哈希值。
同时,存储器模块130可由只读区域构成,以防止存储在其中的哈希值由于外部访问而改变。可选地,保密管理(TRM)技术可应用于存储器模块130。
测量模块140从存储器模块130提取加载到存储器110中的至少一个第二对象的哈希值,然后,将所提取的哈希值与以加载到存储器110中的所述至少一个第二对象作为输入值的哈希函数的输出值作比较,由此,可测量第一对象的完整性。例如,如果第一对象被分割成N个第二对象,并且N个第二对象中的第二对象1、第二对象2和第二对象3被加载到存储器110中,则测量模块140提取与第二对象1、第二对象2和第二对象3相对应的哈希值,即哈希值1、哈希值2和哈希值3,然后,通过将第二对象1、第二对象2和第二对象3输入到哈希函数来计算输出值,所述哈希函数是用来获得存储在存储器模块130中的哈希值的哈希函数。接着,测量模块140将所提取的哈希值与所计算的输出值作比较。如果所提取的哈希值等于所计算的输出值,则测量模块140确定确保了第一对象的完整性。如果所提取的哈希值不等于所计算的输出值,则测量模块140确定不能确保第一对象的完整性。
因此。不同于通过以第一对象作为输入值的哈希函数的输出值来测量第一对象的完整性的现有设备,其中,现有设备将不需要加载到存储器110中的第二对象以及需要加载到存储器110中的第二对象都加载到存储器110中,在本发明中不需要对第二对象进行不必要的加载,由此,可以防止完整性的测量性能劣化。
图5是示出根据本发明实施例的测量完整性的方法的流程图。
如图5所示,第一对象与存储器110的存储器分配单位作比较(S110)。作为比较的结果,第一对象被根据存储器分配单位分割成至少一个第二对象(S120)。例如,如果存储器110是闪速存储器,则页为存储器分配单位,如果第一对象的大小超过页的大小,则根据页的大小来分割第一对象。另外,如果第一对象的大小与存储器分配单位相同或小于存储器分配单位,则不分割第一对象,从而可获得一个第二对象。
映射模块120将根据存储器分配单位分割的至少一个第二对象选择性地加载到存储器110中(S130)。换句话讲,如果第一对象被根据存储器分配单位分割成N个第二对象,则N个第二对象可全部或有选择地加载到存储器110中。
此外,当将第二对象加载到存储器110中时,映射模块120可存储第二对象的映射信息。映射信息包括例如加载到存储器110中的第二对象所位于的地址的信息。
测量模块140从存储器模块130中提取根据加载到存储器110中的第二对象的哈希值(S140)。此时,通过当映射模块120将至少一个第二对象加载到存储器110中时所存储的映射信息,测量模块140可识别加载到存储器110中的第二对象。因此,测量模块140能够根据映射信息从存储器模块130中提取第二对象的哈希值。
通过与用来获得存储在存储器模块130中的哈希值的哈希函数相同的哈希函数,测量模块140计算加载到存储器110中的至少一个第二对象的哈希值(S150)。此时,用来计算加载到存储器110中的第二对象的哈希值的哈希函数可与用来获得存储在存储器模块130中的哈希值的哈希函数相同。
测量模块140将所提取的哈希值与所计算的哈希值作比较(S160)。作为比较的结果,如果所提取的哈希值等于所计算的哈希值,则测量模块140确定确保了第一对象的完整性(S170)。
作为比较的结果,如果所提取的哈希值不等于所计算的哈希值,则测量模块140确定不能确保第一对象的完整性(S180)。
如上所述,当根据存储器110的存储器分配单位从第一对象分割的至少一个第二对象被选择性地加载到存储器110中时,从存储器模块130中提取所加载的第二对象的哈希值,并且也计算所加载的第二对象的哈希值,由此,通过所提取的哈希值和所计算的哈希值来测量第一对象的完整性。因此,不同于通过第一对象的总哈希值来测量第一对象的完整性的现有方法,其中,现有方法将不需要加载到存储器110中的第二对象以及需要加载到存储器110中的第二对象都加载到存储器110中,在本发明中不需要对第二对象进行不必要的加载,由此,提高了完整性的测量效率,并可以防止完整性的测量性能劣化。
在本发明的实施例中,如这里所使用的术语“模块”指(但不限于)执行特定任务的软件或硬件组件,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。模块可有利地被构造成在可寻址存储介质上,并被构造成在一个或多个处理器上执行。因此,以示例的方式,模块可包括组件,例如软件组件、面向对象的软件组件、分类组件和任务组件、步骤、函数、属性、进程、子程序、程序代码段、驱动器、固件、微码、电路、数据、数据库、数据结构、表、数组和变量。在组件和模块中提供的功能可被组合到更少的组件和模块中,或者可进一步分割成额外的组件和模块。
如上所述,根据该测量完整性的设备和方法,由于通过选择性地加载到存储器中的第二对象来测量第一对象的完整性,所以没有发生第二对象的不必要的加载,由此,可防止完整性的测量性能劣化。
虽然已为示出的目的描述了本发明的优选实施例,但是本领域技术人员将理解,在不脱离如权利要求所公开的本发明的范围和精神的情况下,可作出各种修改、替加和替换。
权利要求
1.一种用于测量完整性的设备,该设备包括映射模块,将多个第二对象中的至少一个第二对象加载到存储器中,所述多个第二对象根据存储器的分配单位从第一对象分割;存储器模块,存储所分割的第二对象的哈希值;测量模块,通过将所加载的第二对象的哈希值与存储在存储器模块中的哈希值作比较来测量第一对象的完整性。
2.如权利要求1所述的设备,其中,当第一对象的大小大于存储器的分配单位时,所述映射模块根据存储器的分配单位来分割第一对象。
3.如权利要求1所述的设备,其中,所述映射模块将从所述多个第二对象中选择的第二对象加载到存储器中。
4.如权利要求1所述的设备,其中,所述存储器模块存储第二对象的各个哈希值。
5.如权利要求4所述的设备,其中,所述测量模块从所述存储器模块中提取与加载到存储器中的第二对象相对应的哈希值。
6.如权利要求5所述的设备,其中,所述测量模块通过计算加载到存储器中的第二对象的哈希值并将所计算的哈希值与所提取的哈希值作比较来测量第一对象的完整性。
7.一种测量完整性的方法,该方法包括(a)将多个第二对象中的至少一个第二对象加载到存储器中,所述多个第二对象根据存储器的分配单位从第一对象分割;(b)存储所分割的第二对象的哈希值;(c)通过将所加载的第二对象的哈希值与所存储的哈希值作比较来测量第一对象的完整性。
8.如权利要求7所述的方法,其中,(a)包括当第一对象的大小大于存储器的分配单位时,根据存储器的分配单位来分割第一对象。
9.如权利要求7所述的方法,其中,(a)包括将从所述多个第二对象中选择的第二对象加载到存储器中。
10.如权利要求7所述的方法,其中,(b)包括存储第二对象的各个哈希值。
11.如权利要求10所述的方法,其中,(c)包括提取与加载到存储器中的第二对象相对应的哈希值。
12.如权利要求11所述的方法,其中,(c)包括计算加载到存储器中的第二对象的哈希值;和将所计算的哈希值与所提取的哈希值作比较。
全文摘要
本发明提供了一种测量完整性的设备和方法,其中,避免了将测量完整性的对象不必要地加载到存储器。该设备包括映射模块,将多个第二对象中的至少一个第二对象加载到存储器中,所述多个第二对象根据存储器的分配单位从第一对象分割;存储器模块,存储所分割的第二对象的哈希值;测量模块,通过将所加载的第二对象的哈希值与存储在存储器模块中的哈希值作比较来测量第一对象的完整性。
文档编号H04L9/28GK101025762SQ20071007888
公开日2007年8月29日 申请日期2007年2月16日 优先权日2006年2月17日
发明者崔贤真, 郑勍任, 郑明俊 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1