加密和认证数据以及解密和验证数据真实性的方法和装置制造方法及图纸

技术编号:3498824 阅读:230 留言:0更新日期:2012-04-11 18:40
一种用于加密和认证数据的方法,包括以下步骤:首先,通过认证加密(S1)从一个或多个明文数据块(P1-Pi)生成密文数据块(C1-Ci)和相应的认证标记(标记1-标记i)。然后,通过所述认证标记(标记1-标记i)生成标记树(3)。所述密文数据块(C1-Ci)和所述标记树(3)的标记树数据被存储在不可信存储器(1)中,并且所述标记树(3)的根标记被存储在可信存储器(2)中。

【技术实现步骤摘要】

本专利技术涉及一种用于加密和认证数据的方法、一种用于解密数据和验证数据的真实性的方法、一种用于生成标记认证树的方法,以及一种用于解密标记树的加密认证标记和验证其真实性的方法。这些方法可以在例如逐块存储数据的存储介质中使用。
技术介绍
文件系统将数据组织成一组文件和一目录层次结构,以便在可以是硬盘或其他存储介质的存储设备上存储。因为存储设备的存储空间典型地是以块构成的,目录连同文件一起被逐块存储到存储设备上。存储介质可能被暴露给来自第三方的未授权的访问,并且在这种情况下,存储数据的机密性和/或完整性或真实性可能会遭到破坏。为了保护数据免遭这样的破坏,密码文件系统采用基于公钥签名、消息认证码或散列法的加密和密码认证。于是,维持存储数据的机密性和完整性的问题便可以被缩减为维持相应的加密钥和认证值的机密性和完整性。M.Blaze在1993年的Proc.1stACM Conference on Communicationsand Computing Security中的“A cryptographic file system for Unix”中描述了称为CFS的密码文件系统,其通过在将数据存储到磁盘上之前使用块密码(block cipher)加密数据来保护机密性。为了加密长数据流,块密码使用链接模式(chaining mode),例如A.J.Menezes,P.C.van Oorschot和S.A.Vanstone在“Handbook of Applied Cryptography”(Boca Raton,FLCRC Press,1997)中描述的用于拼接加密块的称为CBC模式的密码块链接模式,或称为OFB模式的输出反馈模式,以避免关于明文数据的信息可能从密文变得显而易见。根据设计,仅可以从开始到结束顺序地读取和写入这样的流。因为文件系统需要随机地访问加密文件,密码文件系统不应该在一个单元中加密整个文件,而应是一次仅一个存储块。由于密码的块尺寸典型地是8或16字节,它远小于存储设备典型地是512或4096字节的块尺寸。因此,这仍旧需要链接模式。为了保护密码文件系统的机密性和完整性,可以使用用于该目的的散列树。Merkle在美国专利US4309569中提出了用于认证数据的散列树。散列磁盘块上的(加密)数据并且将得到的散列值指派给散列树中的叶。这意味着存储数据被加密并且被散列。在利用块加密链接模式所获得的加密数据即密文上计算散列树。这样,机密性和完整性保护之间相互正交,并且因此,能够读访问文件的客户机不能修改它的内容。另一方面,这是昂贵且耗时的,因为它涉及在每一个存储块上读取和写入两遍一遍用于使用块密码链接模式加密,以及一遍用于计算散列值。
技术实现思路
本专利技术的目标是提供一种用于加密和认证数据的方法、一种用于解密数据和验证数据的真实性的方法、一种用于生成标记认证树的方法、以及一种用于解密标记树的加密标记和验证其真实性的方法,其有效、省时并且易于实现。根据本专利技术的一方面,通过具有独立权利要求1的特征的用于加密和认证数据的方法实现所述目标。根据本专利技术用于加密和认证数据的方法包括以下步骤在第一步中,通过认证加密从一个或多个明文数据块生成密文数据块以及相应的认证标记。在另一步骤中,通过认证标记生成标记树。根据本专利技术的另一方面,通过具有独立权利要求5的特征的用于解密数据和验证数据的真实性的方法实现所述目标。根据本专利技术用于解密数据和验证数据的真实性的方法包括以下步骤在第一步中,通过认证解密从一个或多个密文数据块以及相应的来自标记树的认证标记生成明文数据块和验证值。在另一步骤中,通过根标记验证认证标记,并且如果验证值以及认证标记的验证证实了数据和认证标记的真实性,那么输出明文数据块。根据本专利技术的另一方面,通过具有独立权利要求7的特征的用于生成标记认证树的方法实现所述目标。根据本专利技术用于生成标记认证树的方法包括以下步骤在第一步中,通过认证加密从明文数据块生成认证标记。在另一步骤中,将认证标记拼接为拼接认证标记。通过认证加密从拼接认证标记生成加密认证标记和用于认证加密认证标记的认证标记。根据本专利技术的另一方面,通过具有独立权利要求9的特征的用于解密标记树的加密认证标记和验证其真实性的方法实现所述目标。根据本专利技术用于解密标记树的加密认证标记和验证其真实性的方法包括以下步骤在第一步中,通过认证解密从加密认证标记和父认证标记生成解密认证标记和标记验证值。在另一步骤中,通过认证解密从一个或多个密文数据块生成明文数据块和比较标记。如果标记验证值以及比较标记的验证证实了数据和认证标记的真实性,那么输出明文数据块。本专利技术的有利的进一步展开来自于专利从属权利要求中所指出的特征。优选地,在根据本专利技术用于加密和认证的方法中,标记树包括标记树数据和代表根认证标记的数据,其中标记树数据被存储在不可信存储器中,并且代表根认证标记的数据被存储在可信存储器中。在根据本专利技术用于加密和认证的方法的实施例中,密文数据块被存储在不可信存储器中。在根据本专利技术用于加密和认证的方法的另一实施例中,认证加密由AES(高级加密标准(Advanced Encryption Standard))在IAPM(完整性感知可并行模式(Integrity Aware Parallelizable Mode))、OCB(偏移码本模式(Offset Codebook Mode))或GCM(伽罗瓦/计数器模式(Galois/Counter Mode))操作模式中实现。这些操作模式之一还可以用于例如在用于解密数据和验证数据的真实性的方法中的认证解密。在根据本专利技术用于生成标记认证树的方法的实施例中,加密认证标记被存储在不可信存储器中,并且最后生成的认证标记被存储在可信存储器中。在根据本专利技术用于解密标记树的加密认证标记和验证其真实性的方法的实施例中,比较标记之一的验证包括比较标记与相应的解密认证标记的比较。最后,在根据本专利技术的这些方法中,不可信和/或可信存储器可以优选地是以块构成的存储器。此外,可以提供计算机程序元件,其包括在被装载进计算设备的数字处理器的时候用于执行根据以上所提方法之一的步骤的计算机程序代码。另外,可以提供存储在计算机可用介质上的计算机程序产品,其包括用于使计算设备执行所提方法之一的计算机可读程序代码。附图说明通过参照下面对依据本专利技术的目前是优选的但仍然是示例性的实施例的详细描述并结合附图,本专利技术及其实施例将得到更为全面的理解。附图示出了图1是根据本专利技术用于加密和认证数据的方法的流程图;图2是标记树;图3是根据本专利技术用于解密数据和验证数据真实性的方法的流程图;图4是根据本专利技术用于使用认证加密生成标记认证树的叶节点和内部节点的方法的流程图的第一部分;图5是生成标记认证树的根节点的方法的流程图的第二部分;图6是根据本专利技术用于解密标记认证树的标记和验证其真实性的方法的流程图。具体实施例方式为了使对根据本专利技术的方法的解释保持简单,图1以及图3到图6的流程图示出了简单扼要的例子。然而本专利技术并不限定为该例子,并且特别地不限定为如图2中所描述的具有8个标记的标记树。根据本专利技术的方法可以应用于具有任意数目的节点或标记以及任意数目的对于父节点的子节点的标记树。图1中的流程图描述了根据本专利技术用本文档来自技高网
...

【技术保护点】
一种用于加密和认证数据的方法,包括以下步骤:    通过认证加密(S1)从一个或多个明文数据块(P1-Pi)生成密文数据块(C1-Ci)和相应的认证标记(标记1-标记i);以及    通过所述认证标记(标记1-标记i)生成标记树(3)。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:C卡金RA普赖特卡PT赫尔利
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1