CN101589399A - 用于保护数据的系统和方法 - Google Patents

用于保护数据的系统和方法 Download PDF

Info

Publication number
CN101589399A
CN101589399A CNA2007800438635A CN200780043863A CN101589399A CN 101589399 A CN101589399 A CN 101589399A CN A2007800438635 A CNA2007800438635 A CN A2007800438635A CN 200780043863 A CN200780043863 A CN 200780043863A CN 101589399 A CN101589399 A CN 101589399A
Authority
CN
China
Prior art keywords
data
main piece
auth
mbk1
authentication codes
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.)
Granted
Application number
CNA2007800438635A
Other languages
English (en)
Other versions
CN101589399B (zh
Inventor
A·阿普夫里尔
A·弗里
C·科拉斯
Original Assignee
Trusted Logic SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Trusted Logic SAS filed Critical Trusted Logic SAS
Publication of CN101589399A publication Critical patent/CN101589399A/zh
Application granted granted Critical
Publication of CN101589399B publication Critical patent/CN101589399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Abstract

本发明涉及一种用于使数据安全的系统和方法。本发明的系统的特征在于其包括:单调计数器;计算实体;物理数据介质,其包括:一个或多个数据块(DBk1,DBk2,DBk3,DBk4)、第一主块(MBk1)以及形成所述第一主块(MBk1)的复制品的第二主块(MBk2),其中第一主块包括从所述单调计数器恢复的最后值(Vlast)、最后写入在所述介质上的数据块(DBk)的标识符(IDlast)、确保所写入的一个或多个数据块的可靠性的第一认证代码(Auth_A)、从数据被固定于中性值的最后写入的数据块计算的第二认证代码(Auth_B)、以及确保所述第一主块(MBk1)的可靠性的第三认证代码(Auth_C);以及-认证密钥(15)。本发明特别被用来使数据对于重放和嵌入式系统中突然的服务中断来说是安全的。

Description

用于保护数据的系统和方法
技术领域
本发明涉及一种用于使得存储在物理介质上的数据安全的系统和方法。更具体来说,本发明涉及这样一种系统和这样一种方法,其中使数据一方面对于重放来说是安全的,并且另一方面对于特别由突然的服务中断所导致的损坏或改变来说也是安全的。
背景技术
重放被用来通过对数据管理系统的先前内容进行非法拷贝而以欺诈的方式访问数据。举例来说,如果假设系统S0在时间t0具有读取文件F的权利,在t0之后的时间t这些权利随着等于S的所述系统的内容被消耗,随后重放允许在时间t对所读取的文件F进行欺诈性访问,这是通过把系统S0的内容拷贝到系统S中以便获得在时间t被确认为有效的包含S0的系统而实现的。
在传统上,通过发送随着每一个会话改变的随机事件、时间标记或者单调计数器来保护现有技术系统中的数据免于被重放。
例如在读取或写入包含在物理介质中的数据时,突然的服务中断可能会损坏所述数据。这些突然的服务中断通常是由于数据管理系统主要在电源切断或者所述系统无意中被重启的情况下突然停止而导致的。此外,对所写入的或所读取的数据的损坏可能是当犯罪分子故意改变所述数据管理系统中的读取或写入行为时,或者是在特别是在硬盘读取头或者使其移动的机械装置受到损坏之后发生意外错误的情况下,由于攻击行为而导致的。
在传统上,通过对现有技术系统中的数据提供备份以及允许恢复所备份的数据来保护所述数据免遭突然的服务中断的影响。例如,当所述数据介质是硬盘时,将该盘安装在利用一个或多个附加盘的RAID(独立盘冗余阵列)中。将特别提到RAID 1中的盘设置。
但是把进一步针对由于突然的服务中断所导致的损坏的数据恢复与以防重放的所述数据的保护相组合并不是容易的事。实际上,在数据恢复方面希望检索已经受到损坏的数据,而在防止重放方面目的则在于防止对所述数据的任何检索。因此,把用于包含数据的分区的备份系统与保护所述分区免于重放(所述保护包括单调计数器)相组合看起来并不相容。在相反的情况下,恢复所保存的旧分区将与抗重放保护系统相矛盾,这是因为该系统将使用所述单调计数器的先前值。
发明内容
已知上面公开的现有技术,本发明所解决的一个问题是实现一种用于使数据一方面对于重放来说是安全的并且另一方面对于特别由于最后一次服务中断所导致的数据改变来说是安全的系统和方法。
本发明针对所造成的该问题提出的解决方案的主要目的是一种用于使数据安全的系统,其特征在于该系统包括:
-单调计数器;
-计算实体;
-物理数据介质,其包括:
--一个或多个安全数据块;
——第一主块,包括:从所述单调计数器恢复的最后值,最后写入在所述介质上的数据块的标识符,确保所写入的一个或多个数据块的可靠性(authenticity)的第一认证代码,从最后写入的数据块计算的第二认证代码(其中所述数据被固定于中性值),以及确保所述第一主块的可靠性的第三认证代码;以及
——形成所述第一主块的复制品的第二主块;以及
-认证密钥。
第二个目的是一种用于使数据安全的方法,其特征在于该方法包括以下步骤:
提供单调计数器、计算实体、物理数据介质和认证密钥;以及
在所述数据介质上写入一个或多个数据块、第一主块以及形成所述第一主块的复制品的第二主块,所述第一主块包括从所述单调计数器恢复的最后值、最后写入在所述介质上的数据块的标识符、确保所写入的一个或多个数据块的可靠性的第一认证代码、从最后写入的数据块计算的第二认证代码(其中所述数据被固定于中性值)、确保所述第一主块的可靠性的第三认证代码。
附图说明
通过阅读下面的非限制性描述并且参照附图将更好地理解本发明,其中:
-图1A用图解法示出根据本发明的系统的不同组件;
-图1B用图解法示出记录在物理介质上的一组数据块以及与所述数据相关联的两个主块,以便可以根据本发明使所述数据安全;
-图2示出导致在启动根据本发明的系统时验证所述系统的一致性的不同步骤;
-图3示出导致把新数据写入在根据本发明的系统的物理介质上的不同步骤;
-图4A用图解法示出导致验证根据本发明的主块认证代码的步骤;
-图4B用图解法示出导致计算根据本发明的主块认证代码的步骤;
-图5示出导致读取被写入在根据本发明的系统的数据介质上的数据的不同步骤;
-图6示出根据本发明的数据恢复程序中的不同步骤;以及
-图7示出根据本发明的主块恢复系统中的不同步骤。
具体实施方式
在本发明中,如果允许确保任何数据尚未被第三方非法地改变或者替换,则认为所述数据是可靠的。特别通过一种密码算法来认证所述数据,所述算法给出被称作MAC(消息认证代码)的加密数据。这种算法使用秘密密钥并且对数据进行操作以便进行保护。只有通过提供适当的秘密密钥才能验证所述算法。所述算法产生通常短的认证代码,所述认证代码确保所述数据的起源和完整性。对所述数据的单一改变都会导致所述代码改变。
本发明涉及一种用于使数据安全的系统10。在一个实例中,所述系统是嵌入在移动电话类型的设备中的系统,其特别包括装配有小键盘、屏幕、麦克风、扬声器、电子卡、数据发射和接收模块、订户标识模块(SIM)以及提供电力的电池的外壳。所述电子卡包括至少一个微控制器、RAM存储器、闪存以及总线系统。通过例如被加载到所述电话的存储器中的操作系统和一组应用来管理电话操作。
如图1A中所示,本发明的系统包括单调计数器11、计算实体12、系统密钥13以及物理数据介质14。
所述系统10特别是分区管理系统或文件管理系统。
所述单调计数器11是仅能被递增单个单位的计数器。该计数器的当前值VC可以被恢复。但是应当注意到,恢复该当前值并不递增所述计数器11。因此,所述计数器11能够对第一递增指令和不同于所述第一指令的用于恢复其当前值的第二指令做出响应。应当注意到,根据本发明的一个优选实施例,所述单调计数器11的当前值被加密存储在该计数器中。在这种情况下,只能通过所述系统的适当认证的实体来恢复该值。
所述计算实体12是物理实体或逻辑实体。当涉及到物理实体时,该计算实体例如是可能专用于计算应用的微处理器或微控制器、比如密码处理器。当涉及到逻辑实体时,该计算实体例如是能够在通用处理器上进行计算的软件。该计算实体是特别计算所述MAC或者其他加密和解密以及根据本发明所需要的验证的实体12。该实体有可能使用未示出的系统资源、比如随机存取存储器资源。根据本发明的一个优选实施例,所述计算实体12计算由一个或多个数据块构成的阵列上的MAC。该实体把这些计算的结果保存在一个随机存取存储器中。认证代码Auth_A和Auth_B等于这些结果的MAC。更为精确地说,其是第一数据块阵列的一组MAC与第二数据块阵列的MAC等等(直到所有阵列都被考虑)串联的MAC。因此,所述计算实体12使用上述结果来计算所述认证代码Auth_A和Auth_B的MAC,其中在所述主块中记录所述阵列的尺寸。
所述系统密钥13是密码密钥,其只能由被所述系统10授权的实体进行访问。一般来说,只能从该系统访问该系统密钥。
所述物理数据介质14是用于持久存储计算机数据的介质。其例如可以是硬盘、闪存或者甚至磁盘类型的可移动盘。
如图1B中所示,所述介质14包括一个或多个邻接数据块DBk以及两个邻接主块、即第一主块MBk1和第二主块MBk2,其中所述主块与所述数据块相关联并且与之邻接,所述主块MBk2是主块MBk1的复制品。换句话说,所述主块MBk1和MBk2通常相等。但是特别在例如由于服务中断而造成的写入错误的情况下或者在所述块之一受到攻击的情况下,所述两个主块可以是不同的。
数据块DBk的尺寸是可配置的。其例如是256字节。可以有包含根据本发明而变得安全的数据的任意数目的数据块。在图1B中的实例中示出了4个块DBk1、DBk2、DBk3和DBk4。
所述主块MBk1和MBk2具有足以包含将在本发明的当前公开内容的剩余部分中描述的数据字段的最小尺寸。在实践中,该最小尺寸是大约100字节。
每一个主块MBk包括下面的字段:所述单调计数器11的最后恢复(或返回)的值Vlast;最后写入在所述数据介质14上的数据块DBk的标识符IDlast;通过所述系统密钥13加密的认证密钥15;确保数据块DBk1到DBk4的可靠性和完整性的认证代码Auth_A;根据最后写入的数据块以及按照原样保存的其他数据块中的数据计算的认证代码Auth_B,其中所述最后写入的数据块的数据被固定于中性值,所述中性值例如等于一个零序列;以及确保所述主块MBk的可靠性和完整性的认证代码Auth_C,更精确地说是确保其字段Auth_C被固定于中性值的所述主块MBk的可靠性和完整性的认证代码Auth_C。实际上,Auth_C是根据其字段Auth_C被固定于中性值(通常是零序列)的主块MBk计算的。在计算Auth_C时,将其值输入到所述主块MBk中。此外,每一个主块MBk可能包括例如关于其尺寸或其扇区数目的其他信息,在图1B中没有示出所述信息。
根据本发明,可以通过加密密钥来加密所述数据块DBk。随后对加密后的数据块实施由所述计算实体12所进行的某些MAC计算。所述加密密钥可以被存储在所述主块中,或者被直接存储在所述系统本身上。替代地可以通过所述系统密钥来对所述加密密钥进行加密。在这种情况下,只有所述系统密钥处在所述系统上。
所述数据块DBk不改变,并且所述主块MBk不被插入在所述数据块DBk之间。因此可以直接读取所述数据块DBk中的数据。
在本发明的系统被启动时验证本发明的系统的一致性。如图2中所示,为了验证本发明的系统的一致性,首先验证第一主块MBk1的格式。所述格式验证例如包括以下步骤:验证所述标识符IDlast的合法性、所述单调计数器11的最后返回值Vlast、认证代码Auth_A、Auth_B和Auth_C的存在以及通过所述系统密钥13加密的所述认证密钥15的存在。在所述第一主块MBk1的格式不合法的情况下,验证所述第二主块MBk2的格式。在所述第二主块MBk2的格式不合法的情况下,认为所述系统受到永久性破坏,所述数据不安全,所述系统例如受到了攻击。随后可以向系统用户呈现警报,并且在传统上禁止数据访问。相反,在所述第二主块MBk2的格式合法的情况下,用所述第二主块MBk2来替换所述第一主块MBk1。
当块MBk1的格式合法时或者当所述块MBk1的格式不合法但是块MBk2的格式合法时并且当如先前所述的那样用块MBk2替换了块MBk1时,根据本发明的方法中的后续步骤验证所述认证代码C。在图4A中以图解形式示出的这一验证涉及到调用密码函数MAC,在调用该函数时一方面向其提供利用所述系统密钥13解密的所述认证密钥15,另一方面向其提供所述主块MBk1的内容,其单调计数器值字段是通过被包含在该计数器11中的当前值VC来更新的。随后把所获得的结果与所述主块MBk1的认证代码Auth_C进行比较。如果该结果与所述块MK1的认证代码Auth_C相同,则该块MBk1是可靠的。在相反的情况下则不认为其是可靠的,并且触发所述主块恢复程序(图2)。
如果所述主块MBk1是可靠的,则随后根据本发明的方法中的另一个步骤验证所述认证代码Auth_A。该验证还调用对被包含于所述系统内的数据块DBk中的所有数据计算的MAC,其中所述数据可能是加密的。有利地,可以最初关于数据块阵列来计算该MAC,随后其次关于所述数据阵列的这样计算的认证代码来计算该MAC。在所述代码Auth_A的验证正确的情况下,认为所述系统是一致的。在相反的情况下则触发所述数据恢复程序。
在验证了系统一致性之后,关于在所述系统中写入新数据,本发明的程序如下继续。
首先,如图3中所示,以前面关于验证系统一致性所描述的方式来验证块MBk1的格式,并且在适当情况下验证块MBk2的格式。如前所述,如果这些验证失败,则所述系统受到永久性破坏。
随后在一个后续步骤中验证所述代码Auth_C。如前所述,如果该代码未被验证,则开始所述主块恢复程序。相反,如果该代码被验证,则所述块MBk1是可靠的,并且在无需验证所述代码Auth_A的情况下生成一个新的主块MBk1’。实际上假设在所述系统运行时,第三方犯罪分子将不与该系统进行交互。
为了生成所述新主块MBk1’,实施下面的步骤。首先,更新所述最后写入的数据块的标识符IDlast。随后恢复所述单调计数器11的当前值VC,并且把值VC+1写入在所述新主块MBk1’中。随后更新可能在所述主块中的任何其他信息。在所述新主块MBk1’中,随后在为所述认证代码Auth_A和Auth_B所提供的点处计算预先指定的值(例如零序列),并且更新该主块MBk1’。最后计算新的认证代码Auth_C,并且随后在所述主块MBk1’中记录相应的值。在图4B中用图解法阐述了该计算中的步骤。所述计算是在这样构成的、换句话说特别是以新数据标识符、等于VC+1的单调计数器值以及新数据的认证代码A和B构成的新主块的基础上进行的。
当且仅当生成了所述新主块MBk1’之后,把单调计数器值递增到VC+1,并且随后把所述主块MBk1’写入到所述系统中,还写入作为所述主块MBk1的复制品的第二主块MBk2’,并且最后写入所述新数据。
为了读取所述数据,如图5中所示,所述程序如下。如前所述,验证主块MBk1的格式。如果其非法,则验证主块MBk2的格式。如果该第二验证失败,则认为所述系统受到永久性破坏。
相反,如果对所述主块MBk1或MBk2之一的格式的验证成功完成,则采取所述程序中的接下来的步骤。首先,利用所述单调计数器11的当前值VC验证所述代码Auth_C。如果主块MBk1不可靠,则开始所述主块恢复程序。在相反的情况下则验证所述代码Auth_A。如果该验证失败,则开始所述数据恢复程序。在相反的情况下,则读取对应于所提供的数据标识符的数据。可选地,如果所述加密被激活,则读取所述数据,随后对其进行解密,并且返回解密后的数据。
在图6中示出了所述数据恢复系统。该程序被自动执行而无需重启所述系统。其包括以下步骤。首先,通过利用预先指定的中性值(例如零序列)填充最后写入的数据来计算认证代码。该最后写入的数据由在所述主块中记录的标识符来标识。
如果上述计算的结果等于所述认证代码Auth_B,则所述程序如下。首先,实际上利用所述中性值来填充所述数据。随后把所述认证代码Auth_B复制在代码Auth_A中。再一次利用所述单调计数器的当前值VC+1来计算如此改变的代码Auth_C,所述计算是对主块MBk执行的,先前利用所述中性值填充了其中的主块认证代码的位置。最后递增所述单调计数器,并且复制所述主块。
如果上述计算的结果不等于所述认证代码Auth_B,则必须认为所述数据系统被永久性破坏。
在图7中示出了用于主块的自动恢复程序。当所述代码Auth_C指示所述主块MBk不可靠时激活该程序。以下面的方式来实施该程序。首先恢复所述单调计数器的当前值VC。如果在所述主块中指示的单调计数器值等于值VC+1,则在假设所述单调计数器值等于当前值VC+1的情况下验证所述认证代码C。
如果该验证成功完成,则递增所述单调计数器11的值VC。在实践中,当在所述单调计数器11被递增之前不久存在突然的写入中断时出现这种情况。
相反,如果所述验证没有成功完成,则验证所述第二块MBk2的代码Auth_C。如果该最终验证成功完成,则用块MBk2替换块MBk1。在相反的情况下,所述系统被破坏并且不可恢复。
通常来说,应当注意到,如果所述数据块通过包含在所述主块中的加密密钥被加密,则在数据块写入之前有加密所述数据的步骤。对于读取来说,所述块还在先前被解密。所述数据恢复系统也被略微改变,这是因为所述认证代码Auth_A是从加密数据指定的。这对于从包含加密中性值的最后块指定的认证代码Auth_B同样成立。
如在下文中的实现方式实例中所解释的那样,本发明的系统是抗重放的。
假设所述系统包括两个可靠的主块MBk1和MBk2、内容数据DBk并且具有等于VC的单调计数器当前值。所述系统后来被改变,具有可靠的主块MBk1’和MBk2’、内容数据DBK’以及等于VC+1的单调计数器值。
如果攻击者分别用数据DBk替换数据DBk’并且用块MBk1和MBk2替换主块MBk1’和MBk2’,则对所述块MBk1和MBk2的认证代码C的验证失败,这是因为这些块是利用值VC计算的,而所述单调计数器的当前值是VC+1。
如果攻击者仅仅用数据DBk替换数据DBk’但是保留主块MBk1’和MBk2’,则块MBk1’是可靠的,但是该数据的认证代码Auth_A不可靠,这是因为其涉及到数据DBk’,而该块现在与数据DBk相关联。如果由所述攻击者做出的改变涉及到最后写入的数据块,则将发生系统恢复,并且将用所述中性值填充最后的数据块。
最后,如果攻击者例如用数据DBk替换数据DBk’并且伪造除了指示等于VC而不是VC+1的单调计数器值Vlast之外与所述主块MBk1’相同的主块DBk1”,则所述主块MBk1’的认证代码Auth_C将无效,这是因为所述单调计数器的当前值是VC+1。
同样地,并且如在下文中的实现方式实例中所解释的那样,本发明的系统是抗改变的,所述改变尤其是由于突然的服务中断、比如系统重启或电源的切断所导致的那些改变。
假设本发明的系统包括两个主块MBk1和MBk2、数据DBk以及等于VC的单调计数器值。
如果希望写入新数据DBk’但是在写入所述主块之后并且在递增所述单调计数器之间发生电源切断,则所述系统处于其包括主块MBk1’、主块MBk2、数据DBk以及具有值VC的单调计数器的状态。于是对所述块MBk1’的认证代码Auth_C的验证失败,这是因为其是利用VC+1的计数器值计算的,而当前值是VC。所述主块恢复程序随后被激活。在MBk1’中记录的计数器值实际上恰好是当前值+1。随后在假设所述计数器等于当前值+1的情况下验证所述主块MBk1’,这样做是可行的。随后递增所述单调计数器并且所述系统再次是一致的。
如果和前面一样希望写入新数据DBk’并且在所述单调计数器被递增之后不久发生电源切断,则所获得的系统具有主块MBk1’、MBk2、DBk以及等于VC+1的计数器值。对MBk1’的认证代码C的验证成功,这是因为所述计数器处于VC+1。但是,对认证代码A的验证失败,这是因为数据DBk’而不是DBk是预期的。所述数据恢复程序随后被激活。利用所述最后写入的数据块的中性值来验证所述认证代码B。所述认证代码B看来对应于DBk。因此所述验证成功。最后,利用所述最后写入的块中的中性值并且通过校正所述主块而把所述系统重置于正确的状态下。所述系统在本实例中同样再次是一致的。
应当注意到,如果在写入第二主块之后发生系统的电源的切断,则处理与先前的情况相同。
最后应当注意到,如果在写入了最后的数据块之后发生系统的电源的切断,则所述系统处于一致的状态下并且不需要进行校正。
最后,可以根据本发明通过利用下面三种机制来恢复最后写入的数据。
首先,写入严格遵循下面的四个连续步骤:利用所述单调计数器的当前值+1计算并写入所述主块;递增所述单调计数器的值;写入第二主块;以及写入最后的数据块。
其次,所述主块包含认证代码Auth_B和所述最后写入的数据块的标识符。
第三,如果恰好在写入所述主块的时刻发生错误则复制所述主块本身。
如在上面的实施例中所公开的那样,本发明的系统可以被用来仅仅恢复特别在服务中断之后最后发生的错误。但是本领域技术人员可以通过添加其他主块来恢复先前的错误。此外,如在上面的实施例中所公开的那样,本发明的系统不能被用来恢复影响多个不同数据块的多个错误。但是同样地,本领域技术人员可以通过在所述主块中添加附加的认证代码Auth_B字段来恢复受到多个数据块中的错误影响的数据。
最后,本发明的系统将下面的三种属性进行组合:抵抗不必要的改变和重放以及在崩溃情况下的自动恢复。

Claims (25)

1、用于使数据(DBk)安全的系统,其特征在于该系统包括:
单调计数器(11);
计算实体(12);
物理数据介质(14),其包括:
-一个或多个数据块(DBk1,DBk2,DBk3,DBk4);
-第一主块(MBk1),包括:所述单调计数器(11)的所恢复的最后值(Vlast),最后写入在所述介质(14)上的数据块(DBk)的标识符(IDlast),确保所写入的一个或多个数据块的可靠性的第一认证代码(Auth_A),从数据被固定于中性值的所述最后写入的数据块计算的第二认证代码(Auth_B),以及确保所述第一主块(MBk1)的可靠性的第三认证代码(Auth_C);以及
-形成所述第一主块(MBk1)的复制品的第二主块(MBk2);以及
认证密钥(15)。
2、如权利要求1所述的系统(10),其特征在于,所述数据块(DBk1,DBk2,DBk3,DBk4)的尺寸是可配置的。
3、如权利要求1或2之一所述的系统(10),其特征在于,所述第一认证代码(Auth_A)还确保所写入的一个或多个数据块的完整性,并且所述第三认证代码(Auth_C)还确保所述主块的完整性。
4、如权利要求1、2或3之一所述的系统(10),其特征在于,所述第二认证代码(Auth_B)是从所述最后写入的数据块以及从按照原样保存的其他数据块中的数据计算的,其中该最后的块中的数据被固定于中性值。
5、如权利要求1到4之一所述的系统,其特征在于,所述认证密钥(15)被包含在所述第一主块(MBk1)和所述第二主块(MBk2)中。
6、如权利要求5所述的系统(10),其特征在于,该系统还包括系统密钥(13),并且所述认证密钥(15)通过所述系统密钥(13)被加密。
7、如权利要求1到6之一所述的系统(10),其特征在于,所述数据块(DBk1,DBk2,DBk3,DBk4)通过加密密钥被加密。
8、如权利要求7所述的系统(10),其特征在于,所述加密密钥通过所述系统密钥(13)被加密。
9、用于使数据安全的方法,其特征在于该方法包括以下步骤:
提供单调计数器(11)、计算实体(12)、物理数据介质(14)和认证密钥(15);以及
在所述介质(14)上写入一个或多个数据块(DBk1,DBk2,DBk3,DBk4)、第一主块(MBk1)以及形成所述第一主块(MBk1)的复制品的第二主块(MBk2),其中所述第一主块包括从所述单调计数器(11)恢复的最后值(Vlast)、最后写入在所述介质(14)上的数据块(DBk)的标识符(IDlast)、确保所写入的一个或多个数据块的可靠性的第一认证代码(Auth_A)、从数据被固定于中性值的所述最后写入的数据块计算的第二认证代码(Auth_B)、以及确保所述第一主块(MBk1)的可靠性的第三认证代码(Auth_C)。
10、如权利要求9所述的方法,其特征在于,在所述系统(10)被启动时验证所述系统(10)的一致性。
11、如权利要求10所述的方法,其特征在于,为了验证所述系统(10)的一致性,验证所述第一主块(MBk1)的格式的合法性,并且如果所述第一主块(MBk1)非法,则在知道以下事实的情况下验证所述第二主块(MBk2)的合法性,即如果所述第二主块(MBk2)的格式合法,则用该第二主块(MBk2)来替换所述第一主块(MBk1),并且如果所述第二主块(MBk2)的格式非法,则认为所述系统被永久性破坏。
12、如权利要求10或11之一所述的方法,其特征在于,为了验证所述系统(10)的一致性,验证所述第三认证代码(Auth_C),并且随后如果所述第三认证代码(Auth_C)被成功验证,则在知道以下事实的情况下验证所述第一认证代码(Auth_A),即如果对所述第三认证代码(Auth_C)的验证失败,则触发用于恢复所述主块(MBk1)的程序,并且如果对所述第一认证代码(Auth_A)的验证失败,则触发数据恢复程序。
13、如权利要求9到12之一所述的方法,其特征在于,为了写入新数据,验证所述主块(MBk1)的格式的合法性,并且随后验证所述第三认证代码(Auth_C)。
14、如权利要求9到13之一所述的方法,其特征在于,为了写入新数据,生成新的第一主块(MBk1’),递增所述单调计数器(11),写入所述新的第一主块(MBk1’),写入新的第二主块(MBk2’),并且随后写入所述新数据。
15、如权利要求14所述的方法,其特征在于,为了生成所述新的第一主块(MBk1’),更新最后数据块的标识符,恢复所述单调计数器(11)的当前值,在所述新的第一主块(MBk1’)中记录该计数器的当前值(VC)加1,并且随后从这样构成的所述新的第一主块(MBk1’)计算所述认证代码。
16、如权利要求9到15之一所述的方法,其特征在于,为了读取数据,验证所述第一主块(MBk1)的合法性,并且随后验证所述第三认证代码(Auth_C)。
17、如权利要求9到16之一所述的方法,其特征在于,该方法包括数据恢复步骤,所述步骤被自动执行而无需重启所述系统(10)。
18、如权利要求17所述的方法,其特征在于,为了恢复数据,通过用预先指定的中性值填充最后写入的数据来计算认证代码,并且如果该计算的结果等于所述第二认证代码(Auth_B),则填充中性值数据并且把所述第二认证代码(Auth_B)复制在所述第一认证代码(Auth_A)中,利用所述单调计数器的当前值加1来计算所述第三认证代码(Auth_C),随后递增所述单调计数器并且复制所述主块。
19、如权利要求9到18之一所述的方法,其特征在于,该方法包括用于自动恢复主块的步骤。
20、如权利要求19所述的方法,其特征在于,为了恢复主块,恢复所述单调计数器的当前值,并且如果在所述主块中指示的所述单调计数器的值等于该值加1,则在假设单调计数器值等于所述当前值加1的情况下验证所述第三认证代码(Auth_C)。
21、如权利要求20所述的方法,其特征在于,如果验证成功完成,则递增所述单调计数器的值,而如果该验证失败,则验证所述第二主块(MBk2)的认证代码(Auth_C)。
22、如权利要求9到21之一所述的方法,其特征在于,该方法包括下面的连续步骤:利用所述单调计数器的当前值加1计算并且写入主块;递增所述单调计数器的相继值;写入所述第二主块(MBk2);以及随后写入最后数据块。
23、如权利要求9到22之一所述的方法,其特征在于,所述计算实体(12)执行数据块MAC计算,所述数据块可能被加密。
24、如权利要求9到23之一所述的方法,其特征在于,所述计算实体(12)把对数据阵列执行的计算的结果保存在随机存取存储器中,并且使用这些计算的结果来计算所述第一认证代码(Auth_A)和第二认证代码(Auth_B)的MAC,其中所述阵列的尺寸被记录在所述主块中。
25、如权利要求1到8之一所述的系统和/或如权利要求9到24之一所述的方法的应用,用于使数据一方面对于重放来说是安全的,并且另一方面对于突然的服务中断来说也是安全的。
CN2007800438635A 2006-09-27 2007-09-27 用于保护数据的系统和方法 Active CN101589399B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0608451 2006-09-27
FR0608451A FR2906380B1 (fr) 2006-09-27 2006-09-27 Systeme et procede de securisation de donnees.
PCT/FR2007/001582 WO2008037895A2 (fr) 2006-09-27 2007-09-27 Systeme et procede de securisation de donnees

Publications (2)

Publication Number Publication Date
CN101589399A true CN101589399A (zh) 2009-11-25
CN101589399B CN101589399B (zh) 2012-11-14

Family

ID=37888068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800438635A Active CN101589399B (zh) 2006-09-27 2007-09-27 用于保护数据的系统和方法

Country Status (7)

Country Link
US (1) US8880904B2 (zh)
EP (1) EP2100250B1 (zh)
JP (1) JP5076110B2 (zh)
KR (1) KR101443405B1 (zh)
CN (1) CN101589399B (zh)
FR (1) FR2906380B1 (zh)
WO (1) WO2008037895A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103988185A (zh) * 2011-12-20 2014-08-13 英特尔公司 安全的重放保护存储
US9411748B2 (en) 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
CN112740123A (zh) * 2018-08-21 2021-04-30 皮尔茨公司 用于监视安全关键过程的自动化系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3079044B1 (fr) 2018-03-14 2020-05-22 Ledger Traitement securise de donnees
KR20210104117A (ko) * 2018-12-21 2021-08-24 마이크론 테크놀로지, 인크. 보안 메모리 액세스를 보장하기 위한 방법 및 디바이스
CN111062057B (zh) * 2019-12-16 2022-06-14 英联(厦门)金融技术服务股份有限公司 一种中立的数据应用方法、装置以及系统
CN112582009B (zh) * 2020-12-11 2022-06-21 武汉新芯集成电路制造有限公司 单调计数器及其计数方法
KR102576566B1 (ko) 2021-05-17 2023-09-08 (주)유미테크 데이터 암호화 시스템 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2119788C (en) * 1992-07-24 1996-12-31 Peter L. Morse Computer method and system for allocating and freeing memory
WO2001033317A1 (en) * 1999-10-29 2001-05-10 Koninklijke Philips Electronics N.V. Assuring data integrity via a secure counter
CN1423766A (zh) * 2000-02-17 2003-06-11 通用仪器公司 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置
US6947556B1 (en) * 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
US20020152396A1 (en) * 2001-04-11 2002-10-17 Fox Michael S. Method for secure restoration of a database stroring non-secure content
KR100583635B1 (ko) * 2003-01-24 2006-05-26 삼성전자주식회사 다수의 동작 모드들을 지원하는 암호화 장치
US7325130B2 (en) * 2003-03-21 2008-01-29 International Business Machines Corporation Method for guaranteeing freshness of results for queries against a non-secure data store
US7596570B1 (en) * 2003-11-04 2009-09-29 Emigh Aaron T Data sharing
JP2005293357A (ja) * 2004-04-01 2005-10-20 Toshiba Corp ログインシステム及び方法
CN100590606C (zh) * 2005-12-14 2010-02-17 兆日科技(深圳)有限公司 闪速存储器数据完整性保护方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103988185A (zh) * 2011-12-20 2014-08-13 英特尔公司 安全的重放保护存储
US9405707B2 (en) 2011-12-20 2016-08-02 Intel Corporation Secure replay protected storage
US9411748B2 (en) 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
CN103988185B (zh) * 2011-12-20 2017-02-15 英特尔公司 用于安全的重放保护存储的系统、装置和方法
CN112740123A (zh) * 2018-08-21 2021-04-30 皮尔茨公司 用于监视安全关键过程的自动化系统
CN112740123B (zh) * 2018-08-21 2024-03-19 皮尔茨公司 用于监视安全关键过程的自动化系统

Also Published As

Publication number Publication date
CN101589399B (zh) 2012-11-14
WO2008037895A3 (fr) 2008-05-08
FR2906380B1 (fr) 2008-12-19
EP2100250B1 (fr) 2019-08-21
KR101443405B1 (ko) 2014-09-24
FR2906380A1 (fr) 2008-03-28
US8880904B2 (en) 2014-11-04
KR20090089285A (ko) 2009-08-21
WO2008037895A2 (fr) 2008-04-03
US20110162083A1 (en) 2011-06-30
EP2100250A2 (fr) 2009-09-16
JP2010505169A (ja) 2010-02-18
JP5076110B2 (ja) 2012-11-21

Similar Documents

Publication Publication Date Title
CN101589399B (zh) 用于保护数据的系统和方法
CN101388053B (zh) 对数据进行加密、完整性和防重发保护的方法、系统和装置
CN111723383B (zh) 数据存储、验证方法及装置
KR101845799B1 (ko) 외부 비휘발성 메모리에 저장된 데이터가 유효한지 여부를 결정하기 위한 집적 회로
CN102084373B (zh) 备份存储在安全存储设备中的数字内容
US7596812B2 (en) System and method for protected data transfer
CN102262721B (zh) 用于独立代理的数据加密转换
CN108170562B (zh) 一种固态硬盘及其数据处理方法和系统
CN101542972B (zh) 能够传送权限对象的装置和便携式存储装置及传送权限对象的方法
US20080016127A1 (en) Utilizing software for backing up and recovering data
JPWO2002057904A1 (ja) ダウンロード機能を有する制御装置
EP2343662B1 (en) Method of and apparatus for storing data
CN102362280A (zh) 在电子设备中安全地存储数据的系统和方法
CN101140544A (zh) 用于验证可移动存储介质上的加密密钥文件的方法和系统
CN101218609B (zh) 带有安全的数据处理的便携式数据载体
CN110832490A (zh) 数据存储装置的安全快照管理
CN108256351B (zh) 文件处理方法和装置、存储介质及终端
CN111539042A (zh) 一种基于核心数据文件可信存储的安全操作方法
CN101609492B (zh) 嵌入式设备的加解密方法和系统
CN101403985B (zh) 一种对软件保护装置中的软件许可进行备份的方法
CN110311773B (zh) 一种高级加密标准协处理器防注入式攻击的方法
CN111008389B (zh) 基于卫星中文件系统的数据处理方法及装置
CN108595988A (zh) 一种可同时加密并容错的硬盘
CN111143863A (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
CN117216813B (zh) 用于读写数据的方法、装置和安全芯片

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: TRUST LOGIC FLOW LIMITED

Free format text: FORMER OWNER: TRUSTED LOGIC

Effective date: 20120806

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120806

Address after: French Meudon

Applicant after: Trusted Logic

Address before: French Meudon

Applicant before: Trusted Logic

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Fa Guofanboen

Patentee after: Xintani company

Address before: Fa Guomodong

Patentee before: TRUSTED LOGIC