CN101401105B - 用于提供加密文件系统的加密系统和方法 - Google Patents
用于提供加密文件系统的加密系统和方法 Download PDFInfo
- Publication number
- CN101401105B CN101401105B CN200780008842XA CN200780008842A CN101401105B CN 101401105 B CN101401105 B CN 101401105B CN 200780008842X A CN200780008842X A CN 200780008842XA CN 200780008842 A CN200780008842 A CN 200780008842A CN 101401105 B CN101401105 B CN 101401105B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- data block
- sequence
- modified
- 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.)
- Expired - Fee Related
Links
Images
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/602—Providing cryptographic facilities or services
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
提供了一种用于提供加密文件系统的加密装置和方法。示例性实施例的加密装置和方法使用加密方法组合,以便在需要修改加密文件系统中的文件的情况下减少所述文件所需的解密和重新加密量。对于每个明文块,所述加密方法是交织的或切换的。在一个示例性实施例中,交替使用明文块链接(PBC)和密码块链接(CBC)加密方法以加密数据块序列。明文块的加密依赖于明文或针对数据块序列中的上一数据块的明文生成的密码,以使加密比公知的电码本加密方法更安全。
Description
技术领域
本申请一般地涉及改进的数据处理系统和方法。更具体地说,本申请涉及一种用于提供加密文件系统的加密装置和方法。
背景技术
加密文件系统(EFS)是可用于Microsoft的Windows 2000TM、Windows XPTM、Windows Server 2003TM,以及现在Windows MediaCenter 2005TM操作系统的文件系统。EFS技术透明地允许将加密文件存储在NT文件系统(NTFS)或其他类型文件系统上,以保护机密数据免受具有计算机的物理访问权限的攻击者的攻击。
用户验证和访问控制列表可以在操作系统运行时保护文件免受未经授权的访问,但是如果攻击者获取计算机的物理访问权限,则它们会被轻易地避开。一种解决方案是将加密后的文件存储在计算机的盘上。EFS使用公钥加密执行此操作并旨在确保没有正确密钥实际上不可能解密文件。但是,EFS不会阻止对用户帐户密码的暴力攻击。换句话说,如果帐户密码被轻易猜中,则文件加密不会提供多少保护。
对于EFS,必须使用加密属性标记要由文件系统加密的文件和文件夹。例如,对于NTFS中的文件权限,如果文件夹被标记为进行加密,则默认情况下此文件夹中存在的所有文件和子文件夹也会被加密。当文件被复制到使用其他文件系统(例如FAT32)格式化的其他卷时,在将文件和/或文件夹复制到该文件系统之前,将对它们进行解密。唯一的例外是当备份文件时,在此情况下不解密文件。
EFS通过使用批量对称密钥(也称为文件加密密钥或FEK)加密文件来工作,使用此对称密钥是因为与使用非对称密钥密码相比,它加密和解密大量数据所用的时间相对较少。用于加密文件的对称密钥然后使用与加密文件的用户关联的公钥被加密,并且此加密后的数据被存储在加密文件的头部。为了解密文件,文件系统使用用户的私钥解密存储在文件头部的对称密钥。然后使用对称密钥解密文件。由于此操作在文件系统级别执行,因此对于用户是透明的。有关Microsoft的EFS的更多信息可以从www.wikipedia.org的Wikipedia以及www.microsoft.com的Microsoft获取。
EFS使用的加密被称为电码本(ECB)加密。对于ECB加密,使用诸如数据加密标准(DES)、三重数据加密标准(3DES)、高级加密标准(AES)之类的加密算法,通过加密密钥加密长度为加密密钥(例如56位、128位等)的数据块。图1概念地示出了ECB加密。如图1所示,将明文块110连同加密密钥120一起输入加密算法130。加密算法130使用加密密钥120加密明文110以生成第一密文140。针对每个明文块110、150和160执行此类加密以生成作为包括加密文件190的加密数据块序列的一部分的密文140、170和180。
使用ECB加密方法,密码破译者可以在没有发现加密密钥120的情况下破坏加密。此方法的弱点归因于抄袭,即公知的明文以及常规开头和结尾。例如,如果密钥破译者知道邮件以“To:Bob”开始并且密码是“oxG29vq”,则在所有其他邮件上,当密码破译者遇到“oxG29vq”时,密码破译者将知道明文是“To:Bob”。由于此漏洞,大多数安全系统(例如IPsec、ssh等)都不使用ECB。
由于加密机制可以被应用于明文的速度,因此将ECB加密与公知的加密文件系统一起使用。也就是说,如果需要更改加密文件系统中的文件的一部分,则可以快速解密、修改和重新加密需要修改的文件的一部分,因为每个明文块独立于每个其他明文块被加密。但是,如上所述,ECB加密在密文和明文之间生成映射的能力方面具有固有的缺点。在公知的加密文件系统中将不使用更精细和更安全的加密方法,因为每次对文件进行最细微的更改时,都需要对整个文件或文件的大部分进行解密、修改以及然后重新加密。此类加密机制将引起不适合与加密文件系统一起使用的显著性能恶化。
发明内容
示例性实施例提供了一种用于提供加密文件系统的加密装置和方法。示例性实施例的加密装置和方法使用加密方法组合,以便在需要修改加密文件系统中的文件的情况下减少所述文件所需的解密和重新加密量。对于每个明文块,所述加密方法是交织的或交替的。明文块的加密依赖于上一明文块的加密以使所述加密比ECB加密方法更安全,如先前所讨论的那样。示例性实施例的加密方法被称为交替块链接(ABC)加密方法。
当与公知的明文块链接(PBC)和密码块链接(CBC)方法单独相比时,ABC加密方法将减少必须被解密、修改和/或重新加密的文件块的数量。ABC加密方法将必须被解密、修改和/或重新加密的文件块的数量减少到被更改的块加上两个其他块,即三个明文数据块。
在一个示例性实施例中,这种对公知方法的改进通过在交替的明文数据块中组合PBC与CBC加密方法来获得。例如,可以使用CBC加密来加密所有奇数明文数据块,而可以使用PBC加密来加密所有偶数明文数据块。因此,重新加密循环将在两个明文数据块之后停止。此外,将明文数据块读入存储器时,仅需要解密所需的明文数据块和最多两个在先明文数据块。
此外,根据示例性实施例,ABC加密针对整个被加密的数据部分(例如文件)仅需要一个初始化向量。由于加密机制是交替的,因此初始化向量仅用于使用第一加密机制加密的第一数据块。后续数据块使用上一数据块的明文或密码来加密。此外,块链接可以在整个数据部分(例如文件)中使用,而不必在每次数据更改之后重新写入整个数据部分。
在一个示例性实施例中,提供了一种用于加密数据序列的方法。所述方法可以包括:接收所述数据序列;使用至少两种加密机制来处理所述数据序列中的数据块以生成加密数据序列;以及输出所述加密数据序列。使用至少两种加密机制来处理所述数据序列中的数据块可以包括:在所述数据序列中的每个数据块处,在所述至少两种加密机制之间交替。在一个示例性实施例中,输出所述加密数据序列可以包括将所述加密数据序列作为文件存储在加密文件系统(EFS)中。
在所述数据序列中的每个数据块处,在所述至少两种加密机制之间交替可以包括使用第一加密机制加密所述数据序列中的第一数据块,并且使用不同于所述第一加密机制的第二加密机制加密所述数据序列中的第二数据块。通过所述第二加密算法加密所述第二数据块可以依赖于所述第一加密机制的输入或输出之一。在所述至少两种加密机制之间交替还可以包括使用所述第一加密机制加密所述数据序列中的第三数据块。通过所述第一加密机制加密所述第三数据块可以依赖于所述第二加密机制的输入或输出之一。
在一个示例性实施例中,所述第一加密机制和所述第二加密机制中的至少一个机制可以实现明文块链接(PBC)加密方法。此外,在一个示例性实施例中,所述第一加密机制和所述第二加密机制中的至少一个机制可以实现密码块链接(CBC)加密方法。
此外,在一个示例性实施例中,所述第一加密机制实现密码块链接(CBC)加密方法并且所述第二加密机制实现明文块链接(PBC)加密方法。所述第一加密机制可以使用针对所述数据序列中的上一数据块生成的密码来生成所述CBC加密方法的第一密钥。所述第二加密机制可以使用所述数据序列中的上一数据块的明文数据来生成所述PBC加密方法的第二密钥。
在一个示例性实施例中,使用实现所述CBC加密方法的所述第一加密机制来加密所述数据序列中的所有奇数数据块。使用实现所述PBC加密方法的所述第二加密机制来加密所述数据序列中的所有偶数块。
在一个示例性实施例中,所述第一加密机制可以通过将针对所述上一数据块生成的所述密码与第一加密密钥逻辑地组合来使用所述密码生成所述第一密钥。所述第二加密机制可以通过将所述上一数据块的所述明文数据与第二加密密钥逻辑地组合来使用所述明文数据生成所述第二密钥。所述第二加密密钥是与所述第一加密密钥相同或不同的加密密钥。
在另一个示例性实施例中,所述方法可以包括:接收所述加密数据序列;标识所述数据序列中要被修改的数据块;确定用于加密所述要被修改的数据块的加密方法。所述方法还可以包括:根据所确定的用于加密所述数据块的加密方法来解密所述数据块;修改所述要被修改的数据块;以及在修改之后重新加密所述要被修改的数据块。
根据所确定的加密方法解密所述数据块可以包括:解密所述数据序列中恰好在所述要被修改的数据块之前的上一数据块,所述解密使用用于恰好在所述上一数据块之前的数据块的密码,以便获得所述上一数据块的明文数据。此外,解密所述数据块可以包括根据所获得的所述上一数据块的明文数据来解密所述要被修改的数据块。
在修改之后重新加密所述要被修改的数据块可以包括:除了所述要被修改的数据块之外,重新加密所述要被修改的数据块之后的最多两个其他数据块。此外,根据所确定的加密方法解密所述数据块可以包括:除了所述要被修改的数据块之外,解密所述数据序列中的所述要被修改的数据块之前的最多一个数据块。
在其他示例性实施例中,提供了一种包括具有计算机可读程序的计算机可用介质的计算机程序产品。当所述计算机可读程序在计算设备上执行时,将导致所述计算设备执行上面针对方法示例性实施例所述的各种操作和操作组合。
在再一个示例性实施例中,提供了一种用于加密数据序列的系统。所述系统可以包括处理器和连接到所述处理器的存储器。所述存储器可以包括指令,当所述指令由所述处理器执行时,将导致所述处理器执行上面针对方法示例性实施例所述的各种操作和操作组合。
附图说明
现在仅通过实例的方式参考附图描述本发明,这些附图是:
图1是示出了根据公知机制的用于加密明文的电码本加密方法的示意图;
图2是其中可以实现示例性实施例的数据处理系统的示意性方块图;
图3是示出了根据公知机制的用于加密明文的明文块链接加密方法的示意图;
图4是示出了根据公知机制的用于加密明文的密码块链接加密方法的示意图;
图5是示出了根据一个示例性实施例的用于提供加密文件系统(EFS)的主要操作组件的示意性方块图;
图6是示出了根据一个示例性实施例的使用ABC加密机制来加密/解密数据的一部分的示意图;
图7是示出了根据一个示例性实施例的用于加密数据的一部分的示意性操作的流程图;以及
图8是示出了用于对使用示例性实施例的ABC加密方法加密的加密数据块执行修改的示意性操作的流程图。
具体实施方式
示例性实施例涉及用于加密数据部分(例如文件)的机制。更具体地说,示例性实施例的机制提供了一种可以用于提供加密文件系统的加密方法,其中可以在维护高安全级别的同时快速并且高效地修改明文数据块。
示例性实施例的机制可以与任何数据处理设备一起使用以执行数据部分的加密。在示例性实施例中,所述机制用于提供加密文件系统。但是,本发明并不限于与加密文件系统一起使用,并且可以用于针对任何所需原因执行数据加密。
图2是其中可以实现示例性实施例的数据处理系统的示意性方块图。图2仅旨在是示例性的,并非旨在声明或暗示对其中可以实现示例性实施例的数据处理系统类型的任何限制。例如,虽然图2示出了单个数据处理系统,但示例性实施例的机制可以用于其中多个数据处理系统相互通信并且能够相互传输数据的分布式数据处理环境。一个或多个此类数据处理系统可以使用示例性实施例的加密方法以及利用示例性实施例的加密方法的加密文件系统。
参考图2,其中示出了根据一个示例性实施例的可以被实现为服务器、独立计算设备、客户端计算设备等的数据处理系统的方块图。数据处理系统200可以是包括多个连接到系统总线206的处理器202和204的对称多处理器(SMP)系统。备选地,可以使用单处理器系统。提供本地存储器209的接口的存储器控制器/高速缓存208也连接到系统总线206。I/O总线桥210连接到系统总线206并提供I/O总线212的接口。存储器控制器/高速缓存208和I/O总线桥210可以如示出的那样被集成。
连接到I/O总线212的外围组件互连(PCI)总线桥214提供PCI本地总线216的接口。多个调制解调器可以连接到PCI本地总线216。典型的PCI总线实施方式将支持四个PCI扩展槽或附加连接器。可以通过借助附加连接器连接到PCI本地总线216的调制解调器218和网络适配器220提供到其他数据处理系统的通信链路。
其他PCI总线桥222和224为其他PCI本地总线226和228提供接口,由此可以支持其他调制解调器或网络适配器。通过此方式,数据处理系统200允许连接多个网络计算机。存储器映射的图形适配器230和硬盘232也可以直接或间接连接到I/O总线212,如示出的那样。
本领域的技术人员将理解,图2中示出的硬件可以有所变化。例如,除了示出的硬件或替代示出的硬件,还可以使用诸如光盘驱动器之类的其他外围设备。示出的实例并非旨在暗示对于本发明的体系结构限制。
图2中示出的数据处理系统200可以例如是运行高级交互执行(AIX)操作系统或LINUX操作系统的IBM eServer pSeries系统,后者为位于纽约阿蒙克的国际商业机器公司的产品。备选地,数据处理系统200可以是被配置为无需依赖某种类型的网络通信接口便可引导的独立系统、连接网络的客户端数据处理设备、具备ROM和/或闪速ROM以提供非易失性存储器以便存储操作系统文件和/或用户生成的数据的个人数字助理(PDA)设备、无线通信设备、笔记本计算设备、手持计算设备、计算机化信息站、Web家电,或其中数据加密至关重要的任何其他类型的数据处理系统。
本领域的技术人员将理解,图2中的硬件可以根据实施方式而有所变化。除了图2中示出的硬件或替代图2中示出的硬件,可以使用其他内部硬件或外围设备,例如闪速只读存储器(ROM)、等效的非易失性存储器或光盘驱动器等。因此,图2中的示出实例并非旨在暗示体系结构限制。
在优选实施例中,数据处理系统200例如在硬盘232中实现加密文件系统(EFS)。可以在数据处理系统200中提供硬件、软件或硬件和软件机制的组合以提供与在此所述的示例性实施例一致的加密方法,以便能够维护此类EFS。
示例性实施例使用多种加密方法的组合以提供交替块链接(ABC)加密方法,而不是如通常在公知的基于EFS的系统中那样使用ECB加密。由于其上述的固有缺点,大多数安全系统使用明文块链接(PBC)或者密码块链接(CBC)。对于PBC加密,将明文块与加密密钥进行“异或”以针对每个密码生成新的加密密钥。对于CBC加密,将针对上一明文块生成的密码与加密密钥进行“异或”以生成新的加密密钥以便生成新的密码。
图3中示出了PBC加密。如图3所示,对于第一明文块310,将初始向量(IV)315与加密密钥320进行“异或”以生成第一生成加密密钥325以便加密第一明文块310。第一生成加密密钥325连同第一明文块310一起被提供给加密算法330,加密算法330根据第一生成加密密钥325对明文310执行运算并生成第一密文340。然后使用第一明文块310加密后续明文块350。
将第一明文块310与加密密钥320进行“异或”以生成第二生成加密密钥355。第二生成加密密钥355连同第二明文块350一起被提供给加密算法330。加密算法330根据第二生成加密密钥355对第二明文块350执行运算以生成第二密文360。针对每个使用根据上一明文块生成的加密密钥加密的后续明文块重复此过程。结果加密文件390包括例如密文340、370和380。对于PBC加密,不可能如在电码本加密中那样获得加密文本到明文的映射,因为在不同代码部分中出现的相同明文将不会以相同方式加密,这归因于将上一明文块与加密密钥进行“异或”以生成新的加密密钥以便实际加密明文块。
密码块链接(CBC)加密类似于PBC加密,但使用针对上一明文块生成的密码来生成新的加密密钥以便加密后续明文块。图4中示出了CBC加密。
如图4所示,将初始向量415与加密密钥420进行“异或”以生成第一加密密钥425,将第一加密密钥425连同第一明文块410一起提供给加密算法430。使用第一生成加密密钥425控制加密算法430对第一明文块410的运算以生成第一密文440。将第一密文440连同加密密钥425一起用于生成第二加密密钥455,第二加密密钥455被提供给加密算法430以加密第二明文数据块450。针对每个要加密的后续明文数据块重复此操作从而生成加密文件490。因此,类似于上述PBC加密机制,CBC加密使得对后续明文数据块的加密依赖于上一明文数据块的加密。
当尝试将PBC加密或CBC加密应用于加密文件系统(EFS)时,从处理器周期的角度,每个明文数据块的加密对上一明文数据块或通过加密上一明文数据块生成的密码的依赖性使得修改加密数据变得很耗时。当文件系统读取并解密数据(例如文件)的一部分以将其放入存储器时,将经历很长的滞后时间。
如果例如要在文件中更改单个位,则这将更改与加密密钥进行“异或”以生成用于加密下一明文数据块的明文或密码,依此类推。因此,需要针对此单个位更改重新加密整个文件或至少此文件的大部分。例如,对于PBC加密,在可以更改文件中的单个位之前,必须解密要被修改的明文数据块之前的所有加密数据块以显示其明文数据。这是因为加密要被修改的明文数据块基于它之前的块的明文,此明文根据它之前的块的明文加密,依此类推。因此,解密要被修改的数据块的唯一方法是解密要被修改的块之前的所有块。
对于CBC加密,虽然可以容易地标识上一数据块的密码,并且因此可以解密和修改要被修改的块,但对此块的修改将导致针对被修改块创建不同的密码。结果,要被修改的块之后的所有数据块必须解密并且然后使用被修改块的新密码重新加密。因此,在PBC和CBC中,必须解密和重新加密整个文件或文件的大部分以便在文件中做出最轻微的更改。
在频繁执行文件修改的EFS中,这种解密和重新加密整个文件或文件的大部分的需要将成为性能障碍。结果,公知的EFS系统(例如Microsoft提供的EFS)将在其EFS中使用电码本(ECB)加密。如上所述,ECB加密不是强壮的加密方法并且可以轻易地被密码破译者根据抄袭标识破坏。因此,有益的是,具有一种用于将更安全的加密方法与EFS一起使用的装置和方法。示例性实施例在此提供了此类装置和方法。
图5是示出了根据一个示例性实施例的用于提供加密文件系统(EFS)的主要操作组件的示意性方块图。如图5所示,主要操作组件包括处理器510、连接到处理器510的存储器520、交替块链接(ABC)加密机制530、输入/输出(I/O)控制器540以及数据存储设备550。处理器510可以通过ABC加密机制530和I/O控制器540访问数据存储设备550。在一个示例性实施例中,ABC加密机制530可以例如与I/O控制器540集成。在此类实施例中,可以作为集成到I/O接口芯片、卡等的独立硬件设备来提供ABC加密机制530。
在一个示例性实施例中,处理器510可以例如是图2中的处理器202或204。存储器520可以例如是图2中的本地存储器209,I/O控制器540可以是图2中的存储器/高速缓存控制器208,并且数据存储装置可以是图2中的硬盘232。ABC加密机制530可以例如被实现为图2中的数据处理系统200中的独立硬件设备、由图2中的处理器202或204执行的软件指令、硬件和软件的组合等。
在示出的实例实施方式中,ABC加密机制530包括PBC加密/解密模块532、CBC加密/解密模块534,以及用于控制和协调PBC加密/解密模块532和CBC加密/解密模块534的操作的控制器536。虽然示出的实例使用PBC和CBC加密/解密,但是示例性实施例并不限于此。相反,可以使用任何能够在逐数据块基础上交织或交替的加密方法而不偏离本发明的精神和范围。此外,虽然示出的实例实施方式仅使用两种不同的加密方法,但是示例性实施例并不限于此。相反,可以根据此后所述的机制交织或交替任何数量的加密方法而不偏离本发明的精神和范围。
ABC加密机制530还包括加密密钥存储装置550。加密密钥存储装置550存储在PBC和CBC加密/解密模块532和534中用于加密/解密输入到ABC加密机制530的明文数据的加密密钥。在一个示例性实施例中,根据执行的特定加密/解密,将加密密钥与明文数据块(或对于第一明文数据块为初始向量)或根据明文数据块针对在当前明文数据块之前被加密的上一明文数据块生成的密码进行“异或”。应当理解,虽然在示例性实施例中执行“异或”运算,但是本发明并不限于此类运算,并且可以使用其他用于将加密密钥与上一数据块的明文或密码相组合的逻辑运算而不偏离本发明的精神和范围。
如图5所示,文件或数据部分可以通过ABC加密机制530加密并从存储器520写入数据存储设备540的EFS560和/或从数据存储设备540的EFS560读取,解密并加载到存储器520。ABC加密机制530使用PBC和CBC加密/解密模块532和534交替加密输入到ABC加密机制530的数据块。例如,ABC加密机制530使用PBC加密/解密模块532加密/解密输入到ABC加密机制530的偶数数据块并使用CBC加密/解密模块534加密/解密奇数数据块。当然,如先前所讨论的,本发明并不限于此类排列。
图6是示出了根据一个示例性实施例的使用ABC加密机制加密/解密数据(例如文件)一部分的示意图。如图6所示,数据部分600包括多个数据块602-610。数据块602-610可以例如是4KB的数据块。可以使用其他块大小而不偏离本发明的精神和范围。
将数据部分600输入到ABC加密机制530时,数据部分600被分为数据块602-610并使用PBC和CBC加密/解密模块532和534加密交替的数据块以生成加密数据部分650。例如,第一数据块602使用CBC加密/解密模块534加密,第二数据块604使用PBC加密/解密模块532加密,第三数据块606使用CBC加密/解密模块534加密,并且第四数据块608使用PBC加密/解密模块532加密。这种对数据块交替应用PBC和CBC加密/解密模块532和534可以针对数据部分600中的所有数据块继续。
对于第一数据块602,将初始向量连同加密密钥和数据块602一起提供给ABC加密机制。将初始向量与加密密钥进行“异或”以生成CBC加密算法用于加密第一数据块602的明文数据的第一加密密钥。此第一数据块602的明文数据连同加密密钥和要加密的第二明文数据块一起被提供给PBC加密算法。将第一数据块602的明文数据与加密密钥进行“异或”以生成PBC加密算法用于加密第二数据块604的第二加密密钥。
将结果密文连同加密密钥和要加密的第三明文数据块一起作为输入提供给CBC加密算法。将来自第二数据块604的密文与加密密钥进行“异或”以生成CBC加密算法用于加密第三明文数据块606的第三加密密钥。将第三明文数据块连同加密密钥和要加密的第四明文数据块一起提供给PBC加密算法,并且过程以如上所述的类似方式继续。因此,后续明文数据块的每次加密都依赖被加密的上一数据块的明文数据或通过加密上一明文数据块生成的密文。结果,将提供比ECB加密提供的加密方法更安全的加密方法。
应当指出,虽然使用每次加密根据通过上一数据块的明文或密码修改的同一加密密钥来描述示例性实施例,但是本发明并不限于此。相反,不同的加密密钥可以与一个或多个被加密的数据块一起使用。如果使用不同的加密密钥,则在ABC加密机制530中提供一种用于跟踪哪些加密密钥用于每个数据块的机制。例如,可以确定针对每X数量的数据块更改加密密钥并且可以在可由ABC加密机制530访问的安全存储装置中维护特定顺序的加密密钥。示例性实施例可以使用任何可确定使用哪个加密密钥来生成用于加密ABC加密数据部分的一部分的加密密钥的方式。
为了读取和解密数据块(例如示出的实例中的块n),不需要解密上一块,因为块n使用CBC加密被加密。因此,需要知道的所有内容是先前加密的块n-1的密文的最后几个字节。密文的这最后几个字节用于与密钥进行“异或”并开始解密块n。修改块n之后,只有块n需要被重新加密以生成已加密的修改数据部分660。块n+1不需要被重新加密,因为它使用PBC加密被加密,并且在示出的实例中,块n的明文的最后几个字节未被修改。因此,只有已修改的块才需要被重新加密。
但是,如果修改块n的最后几个块,则n+1和n+2数据块需要被重新加密。也就是说,块n的明文将被更改,并且因此用于块n+1的PBC加密的加密密钥将被修改。结果,通过块n+1的PBC加密生成的密文也将被修改。然后,此已修改的密文将用于生成块n+2的新加密密钥,并且因此将从原始密文修改针对块n+2生成的密文。但是,由于下一数据块将使用PBC加密被加密,并且块n+2的明文未被修改,因此后续数据块(即n+3到文件尾(EOF))的加密将不会被修改。
还应指出,如果修改PBC加密的数据块i,则它之前的CBC加密的数据块(即块i-1)将需要被解密以获取用于解密块i的明文。除了已修改的块i之外,最多需要重新加密一个其他数据块。因此,通过示例性实施例的机制,当修改EFS的文件中的数据块时,最多需要重新加密已修改的数据块和两个其他数据块。此外,最多需要解密EFS中的文件的数据块序列中的一个先前数据块以便能够解密已加密的数据块,从而可以修改该已加密的数据块。
由于示例性实施例的机制限制了解密和重新加密量,因此示例性实施例的ABC加密方法可以高效地与EFS一起使用。也就是说,当修改EFS中的数据部分时,示例性实施例的ABC加密方法不会导致较长的滞后时间,因为解密和重新加密量已被降到最低。
图7-8是示出了示例性实施例的示意性操作的流程图。应当理解,流程图中的每个块和块的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给处理器或其他可编程数据处理装置以产生机器,以便在所述处理器或其他可编程数据处理装置上执行的指令将创建用于实现一个或多个流程图块中指定的功能的装置。这些计算机程序指令也可以被存储在引导处理器或其他可编程数据处理装置以特定方式执行功能的计算机可读存储器或存储介质中,以便存储在所述计算机可读存储器或存储介质中的所述指令产生一件包括实现所述一个或多个流程图块中指定的功能的指令装置的制品。
相应地,流程图的多个块支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合和用于执行指定功能的程序指令装置。还应理解,流程图中的每个块和流程图中的块的组合可以由执行指定功能或步骤的基于专用硬件的计算机系统来实现,或者通过专用硬件和计算机指令的组合来实现。
图7是示出了根据一个示例性实施例的用于加密数据的一部分的示意性操作的流程图。应当理解,图7中所述的操作可以在例如图5的ABC加密机制530内执行。因此,图7中所述的操作可以通过例如ABC加密机制530的PBC和CBC加密/解密模块532和534在控制器536的控制下执行。
如图7所示,操作开始于接收数据部分(步骤710)。将数据部分的第一数据块连同初始向量和加密密钥一起输入到第一加密算法(步骤715)。使用初始向量和加密密钥生成第一生成加密密钥(步骤720)。如上所述,可以通过例如将初始向量与加密密钥进行“异或”来生成第一生成加密密钥。使用第一生成加密密钥加密第一数据块并生成第一密文(步骤725)。
将数据部分中的第二数据块连同加密密钥一起提供给第二加密算法(步骤730)。根据第二加密算法的类型(例如PBC或CBC),还将第一数据块的明文数据或通过加密第一数据块生成的密文(此后称为加密密钥修改文本)输入到第二加密算法(步骤735)。使用加密密钥和加密密钥修改文本生成第二生成加密密钥(步骤740)。然后使用第二加密密钥加密第二数据块并生成第二密文(步骤745)。
判定是否存在其他要加密的数据块(步骤750)。如果否,则操作终止。如果存在其他要加密的数据块,则将数据部分中的第三数据块连同加密密钥一起提供给第一加密算法(步骤755)。将第二加密密钥修改文本,即来自第二数据块的明文数据或第二密文(具体取决于例如第一加密算法的类型)提供给第一加密算法(步骤760)。使用加密密钥和第二加密密钥修改文本生成第三生成加密密钥(步骤765)。然后第一加密算法使用第三生成加密密钥加密第三数据块(步骤770)。
确定是否存在其他要加密的数据块(步骤775)。如果否,则操作终止。如果存在其他要加密的数据块,则操作返回步骤730并重复操作,以便使用来自上一数据块的明文或密文加密后续数据块。
图8是示出了用于对使用示例性实施例的ABC加密方法加密的加密数据块执行修改的示意性操作的流程图。与上面的图7一样,应当指出,图8中所述的操作可以在例如图5的ABC加密机制530内执行。因此,图8中所述的操作可以通过例如ABC加密机制530的PBC和CBC加密/解密模块532和534在控制器536的控制下执行。
如图8所示,操作开始于确定用于加密要被修改的数据块的加密方法(步骤810)。例如,可以通过从包括数据块的数据部分的开头标识数据块的块编号来确定加密方法的类型。例如,如果ABC加密方法针对每个偶数数据块使用PBC加密并针对每个奇数数据块使用CBC加密,则确定要被修改的数据块的块编号可以用于标识对此数据块执行的加密的类型。
可以判定用于要被修改的数据块的加密类型是否是PBC加密类型(步骤820)。如果是,则可以解密数据部分中的数据块序列中的上一数据块以获取上一数据块的被用作加密密钥修改文本的明文数据(步骤830)。如果否,则使用与上一数据块关联的密文作为加密密钥修改文本(步骤840)。使用加密密钥和加密密钥修改文本解密要被修改的数据块以生成生成加密密钥(步骤850)。
然后,修改数据块的解密明文数据(步骤860)。然后使用对应的加密算法和生成加密密钥重新加密已修改的明文(步骤870)。判定后续数据块是否需要重新加密(步骤880)。此判定可以基于是否使用已修改数据块的已修改明文数据来修改后续数据块的加密密钥。如果是,则使用其关联的加密算法重新加密数据部分中的下两个数据块(步骤890)。然后操作终止。
因此,示例性实施例提供了一种用于加密和解密数据以使加密文件系统的性能更高效的机制。示例性实施例交替用于数据块序列的加密算法。加密算法的交替限制了对数据块序列中的数据块执行修改所需的解密和重新加密量。
应当指出,示例性实施例可以采取完全硬件实施例、完全软件实施例或包含硬件和软件元素两者的实施例的形式。在一个示例性实施例中,示例性实施例的机制以软件实现,所述软件包括但不限于固件、驻留软件、微代码等。
此外,示例性实施例可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供了可以被计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合的程序代码。出于此描述的目的,计算机可用或计算机可读介质可以是任何能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的装置。
所述介质可以是电、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前实例包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-R/W)和DVD。
如上所述,适于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线直接或间接连接到存储器元件的处理器。所述存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/O控制器与系统相连。网络适配器也可以被连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是几种当前可用的网络适配器类型。
Claims (14)
1.一种在数据处理系统中加密数据序列的方法,所述方法包括:
接收所述数据序列;
使用至少两种加密机制来处理所述数据序列中的数据块以生成加密数据序列;以及
输出所述加密数据序列;
其中使用至少两种加密机制来处理所述数据序列中的数据块以生成加密数据序列包括:在所述数据序列中的每个数据块处,在所述至少两种加密机制之间进行切换,其中,至少两种加密机制包括实现第一加密算法的第一加密机制和实现第二加密算法的第二加密机制,第一加密机制不同于第二加密机制;其中在所述数据序列中的每个数据块处,在所述至少两种加密机制之间进行切换包括:
使用第一加密机制加密所述数据序列中的第一数据块;
使用不同于所述第一加密机制的第二加密机制加密所述数据序列中的第二数据块,其中通过所述第二加密机制加密所述第二数据块依赖于所述第一加密机制的输入或输出之一;以及
使用所述第一加密机制加密所述数据序列中的第三数据块,其中通过所述第一加密机制加密所述第三数据块依赖于所述第二加密机制的输入或输出之一;
其中所述第一加密机制实现密码块链接加密方法并且所述第二加密机制实现明文块链接加密方法,并且其中所述第一加密机制使用针对所述数据序列中的上一数据块生成的密码来生成所述密码块链接加密方法的第一密钥,并且所述第二加密机制使用所述数据序列中的上一数据块的明文数据来生成所述明文块链接加密方法的第二密钥;其中
所述第一加密机制通过将针对所述上一数据块生成的所述密码与第一加密密钥逻辑地组合来使用所述密码生成所述第一密钥,
所述第二加密机制通过将所述上一数据块的所述明文数据与第二加密密钥逻辑地组合来使用所述明文数据生成所述第二密钥,以及
所述第二加密密钥是与所述第一加密密钥相同或不同的加密密钥。
2.如权利要求1中所述的方法,其中使用实现所述密码块链接加密方法的所述第一加密机制来加密所述数据序列中的所有奇数数据块,并且使用实现所述明文块链接加密方法的所述第二加密机制来加密所述数据序列中的所有偶数块。
3.如权利要求1中所述的方法,其中输出所述加密数据序列包括将所述加密数据序列作为文件存储在加密文件系统中。
4.如权利要求1中所述的方法,还包括:
接收所述加密数据序列;
标识所述加密数据序列中要被修改的数据块;
确定用于加密所述要被修改的数据块的加密方法;
根据所确定的用于加密所述要被修改的数据块的加密方法来解密所述要被修改的数据块;
修改所述要被修改的数据块;以及
在修改之后重新加密所述要被修改的数据块。
5.如权利要求4中所述的方法,其中根据所确定的用于加密所述要被修改的数据块的加密方法来解密所述要被修改的数据块包括:
解密所述数据序列中恰好在所述要被修改的数据块之前的上一数据块,所述解密使用用于恰好在所述上一数据块之前的数据块的密码,以便获得所述上一数据块的明文数据;以及
根据所获得的所述上一数据块的明文数据来解密所述要被修改的数据块。
6.如权利要求4中所述的方法,其中在修改之后重新加密所述要被修改的数据块包括:除了所述要被修改的数据块之外,重新加密所述要被修改的数据块之后的最多两个其他数据块。
7.如权利要求4中所述的方法,其中根据所确定的用于加密所述要被修改的数据块的加密方法来解密所述要被修改的数据块包括:除了所述要被修改的数据块之外,解密所述加密数据序列中的所述要被修改的数据块之前的最多一个数据块。
8.一种用于加密数据序列的系统,所述系统包括:
用于接收所述数据序列的装置;
用于使用至少两种加密机制来处理所述数据序列中的数据块以生成加密数据序列的装置;以及
用于输出所述加密数据序列的装置;
其中用于使用至少两种加密机制来处理所述数据序列中的数据块以生成加密数据序列的装置包括:用于在所述数据序列中的每个数据块处,在所述至少两种加密机制之间进行切换的装置,其中,至少两种加密机制包括实现第一加密算法的第一加密机制和实现第二加密算法的第二加密机制,第一加密机制不同于第二加密机制;其中所述用于在所述数据序列中的每个数据块处,在所述至少两种加密机制之间进行切换的装置包括:
使用第一加密机制加密所述数据序列中的第一数据块的装置;
使用不同于所述第一加密机制的第二加密机制加密所述数据序列中的第二数据块,其中通过所述第二加密机制加密所述第二数据块依赖于所述第一加密机制的输入或输出之一的装置;
使用所述第一加密机制加密所述数据序列中的第三数据块,其中通过所述第一加密机制加密所述第三数据块依赖于所述第二加密机制的输入或输出之一的装置;
其中所述第一加密机制实现密码块链接加密方法并且所述第二加密机制实现明文块链接加密方法,并且其中所述第一加密机制使用针对所述数据序列中的上一数据块生成的密码来生成所述密码块链接加密方法的第一密钥,并且所述第二加密机制使用所述数据序列中的上一数据块的明文数据来生成所述明文块链接加密方法的第二密钥;
所述第一加密机制通过将针对所述上一数据块生成的所述密码与第一加密密钥逻辑地组合来使用所述密码生成所述第一密钥,
所述第二加密机制通过将所述上一数据块的所述明文数据与第二加密密钥逻辑地组合来使用所述明文数据生成所述第二密钥,以及
所述第二加密密钥是与所述第一加密密钥相同或不同的加密密钥。
9.如权利要求8中所述的系统,其中使用实现所述密码块链接加密方法的所述第一加密机制来加密所述数据序列中的所有奇数数据块,并且使用实现所述明文块链接加密方法的所述第二加密机制来加密所述数据序列中的所有偶数块。
10.如权利要求8中所述的系统,其中所述输出所述加密数据序列的装置包括用于将所述加密数据序列作为文件存储在加密文件系统中的装置。
11.如权利要求8中所述的系统,其中还包括:
用于接收所述加密数据序列的装置;
用于标识所述加密数据序列中要被修改的数据块的装置;
用于确定用于加密所述要被修改的数据块的加密方法的装置;
用于根据所确定的用于加密所述要被修改的数据块的加密方法来解密所述要被修改的数据块的装置;
用于修改所述要被修改的数据块的装置;以及
用于在修改之后重新加密所述要被修改的数据块的装置。
12.如权利要求11中所述的系统,其中用于根据所确定的用于加密所述要被修改的数据块的加密方法来解密所述要被修改的数据块的装置包括:
用于解密所述数据序列中恰好在所述要被修改的数据块之前的上一数据块的装置,所述解密使用用于恰好在所述上一数据块之前的数据块的密码,以便获得所述上一数据块的明文数据;以及
用于根据所获得的所述上一数据块的明文数据来解密所述要被修改的数据块的装置。
13.如权利要求11中所述的系统,其中用于在修改之后重新加密所述要被修改的数据块的装置包括:
用于通过除了所述要被修改的数据块之外,重新加密所述要被修改的数据块之后的最多两个其他数据块,来在修改之后重新加密所述要被修改的数据块的装置。
14.如权利要求11中所述的系统,其中用于根据所确定的用于加密所述要被修改的数据块的加密方法来解密所述要被修改的数据块的装置包括:用于通过除了所述要被修改的数据块之外,解密所述加密数据序列中的所述要被修改的数据块之前的最多一个数据块,来根据所确定的加密方法解密所述要被修改的数据块的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/406,184 US7428306B2 (en) | 2006-04-18 | 2006-04-18 | Encryption apparatus and method for providing an encrypted file system |
US11/406,184 | 2006-04-18 | ||
PCT/EP2007/053519 WO2007118829A1 (en) | 2006-04-18 | 2007-04-11 | Encryption apparatus and method for providing an encrypted file system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101401105A CN101401105A (zh) | 2009-04-01 |
CN101401105B true CN101401105B (zh) | 2010-09-22 |
Family
ID=38066626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780008842XA Expired - Fee Related CN101401105B (zh) | 2006-04-18 | 2007-04-11 | 用于提供加密文件系统的加密系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7428306B2 (zh) |
EP (1) | EP2016525B1 (zh) |
CN (1) | CN101401105B (zh) |
AT (1) | ATE549688T1 (zh) |
WO (1) | WO2007118829A1 (zh) |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526795B2 (en) * | 2001-03-27 | 2009-04-28 | Micron Technology, Inc. | Data security for digital data storage |
TWI268081B (en) * | 2005-06-24 | 2006-12-01 | Hitrust Com Inc | Data-encrypting/decrypting method, data-saving media using the method, and data-encrypting/decrypting module |
KR20120115425A (ko) * | 2005-12-14 | 2012-10-17 | 엔디에스 리미티드 | 블록 사이퍼 암호화의 사용을 위한 방법 및 시스템 |
US8284929B2 (en) * | 2006-09-14 | 2012-10-09 | Uniloc Luxembourg S.A. | System of dependant keys across multiple pieces of related scrambled information |
CN101682506B (zh) | 2007-05-18 | 2013-10-16 | 美国唯美安视国际有限公司 | 用于确定在保护数据时应用的可编程处理步骤的系统和方法 |
US9324361B2 (en) * | 2007-08-14 | 2016-04-26 | Seagate Technology Llc | Protecting stored data from traffic analysis |
TWI366371B (en) * | 2007-10-17 | 2012-06-11 | Via Tech Inc | Encryption and decryption methods |
WO2009076232A1 (en) * | 2007-12-05 | 2009-06-18 | Uniloc Corporation | System and method for device bound public key infrastructure |
US8194854B2 (en) * | 2008-02-27 | 2012-06-05 | Intel Corporation | Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation |
US8634549B2 (en) * | 2008-05-07 | 2014-01-21 | Red Hat, Inc. | Ciphertext key chaining |
US8396209B2 (en) * | 2008-05-23 | 2013-03-12 | Red Hat, Inc. | Mechanism for chained output feedback encryption |
US8286171B2 (en) | 2008-07-21 | 2012-10-09 | Workshare Technology, Inc. | Methods and systems to fingerprint textual information using word runs |
US8880879B2 (en) * | 2008-09-04 | 2014-11-04 | Intel Corporation | Accelerated cryptography with an encryption attribute |
US9240883B2 (en) * | 2008-09-04 | 2016-01-19 | Intel Corporation | Multi-key cryptography for encrypting file system acceleration |
WO2010059747A2 (en) | 2008-11-18 | 2010-05-27 | Workshare Technology, Inc. | Methods and systems for exact data match filtering |
EP2197144A1 (en) * | 2008-12-15 | 2010-06-16 | Thomson Licensing | Methods and devices for a chained encryption mode |
US8250630B2 (en) * | 2009-03-05 | 2012-08-21 | Cisco Technology, Inc. | Detecting unauthorized computer access |
US9654285B2 (en) * | 2009-04-27 | 2017-05-16 | International Business Machines Corporation | Defining access rights to content |
WO2011013148A1 (en) * | 2009-07-28 | 2011-02-03 | Telecom Italia S.P.A. | Symmetric-key encryption method and cryptographic system employing the method |
US8526605B2 (en) * | 2009-10-09 | 2013-09-03 | Seagate Technology Llc | Data encryption to provide data security and memory cell bit wear leveling |
US9703586B2 (en) * | 2010-02-17 | 2017-07-11 | Microsoft Technology Licensing, Llc | Distribution control and tracking mechanism of virtual machine appliances |
US11030163B2 (en) | 2011-11-29 | 2021-06-08 | Workshare, Ltd. | System for tracking and displaying changes in a set of related electronic documents |
US10783326B2 (en) | 2013-03-14 | 2020-09-22 | Workshare, Ltd. | System for tracking changes in a collaborative document editing environment |
US20120136862A1 (en) | 2010-11-29 | 2012-05-31 | Workshare Technology, Inc. | System and method for presenting comparisons of electronic documents |
US8713300B2 (en) * | 2011-01-21 | 2014-04-29 | Symantec Corporation | System and method for netbackup data decryption in a high latency low bandwidth environment |
US8645713B2 (en) * | 2011-03-22 | 2014-02-04 | Fujitsu Limited | Encrypting method, recording medium of encrypting program, decrypting method, and recording medium of decrypting program |
US8495178B1 (en) | 2011-04-01 | 2013-07-23 | Symantec Corporation | Dynamic bandwidth discovery and allocation to improve performance for backing up data |
US8862902B2 (en) * | 2011-04-29 | 2014-10-14 | Seagate Technology Llc | Cascaded data encryption dependent on attributes of physical memory |
US9170990B2 (en) | 2013-03-14 | 2015-10-27 | Workshare Limited | Method and system for document retrieval with selective document comparison |
US9613340B2 (en) | 2011-06-14 | 2017-04-04 | Workshare Ltd. | Method and system for shared document approval |
US10963584B2 (en) | 2011-06-08 | 2021-03-30 | Workshare Ltd. | Method and system for collaborative editing of a remotely stored document |
US10880359B2 (en) | 2011-12-21 | 2020-12-29 | Workshare, Ltd. | System and method for cross platform document sharing |
US10574729B2 (en) | 2011-06-08 | 2020-02-25 | Workshare Ltd. | System and method for cross platform document sharing |
CN102254127A (zh) * | 2011-08-11 | 2011-11-23 | 华为技术有限公司 | 文件的加密和解密方法、装置及系统 |
IL214743A0 (en) * | 2011-08-18 | 2012-02-29 | Nds Ltd | Block cipher modes of operation |
US8958550B2 (en) * | 2011-09-13 | 2015-02-17 | Combined Conditional Access Development & Support. LLC (CCAD) | Encryption operation with real data rounds, dummy data rounds, and delay periods |
US20130254536A1 (en) * | 2012-03-22 | 2013-09-26 | Workshare, Ltd. | Secure server side encryption for online file sharing and collaboration |
US9152811B2 (en) * | 2012-03-12 | 2015-10-06 | International Business Machines Corporation | Transparent real-time access to encrypted non-relational data |
CN102594549B (zh) * | 2012-03-22 | 2015-02-11 | 山东泰信电子股份有限公司 | 一种数据多级加密、解密方法 |
CN102546152B (zh) * | 2012-03-22 | 2014-11-05 | 山东泰信电子股份有限公司 | 一种实现数据多级加密、解密的方法 |
KR101329084B1 (ko) * | 2012-05-17 | 2013-11-14 | 한국전자통신연구원 | 무중단 암호통신을 위한 암복호 통신 방법 및 장치 |
CN103427987B (zh) * | 2012-05-25 | 2016-05-18 | 纬创资通股份有限公司 | 数据加密的方法、数据验证方法及电子装置 |
US9172698B1 (en) | 2012-10-12 | 2015-10-27 | Ut-Battelle, Llc | System and method for key generation in security tokens |
US10911492B2 (en) | 2013-07-25 | 2021-02-02 | Workshare Ltd. | System and method for securing documents prior to transmission |
CN104683093B (zh) * | 2013-11-27 | 2018-01-26 | 财团法人资讯工业策进会 | 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法 |
US10044835B1 (en) | 2013-12-11 | 2018-08-07 | Symantec Corporation | Reducing redundant transmissions by polling clients |
US10277559B2 (en) * | 2014-05-21 | 2019-04-30 | Excalibur Ip, Llc | Methods and systems for data traffic control and encryption |
US9258117B1 (en) | 2014-06-26 | 2016-02-09 | Amazon Technologies, Inc. | Mutual authentication with symmetric secrets and signatures |
US9923923B1 (en) | 2014-09-10 | 2018-03-20 | Amazon Technologies, Inc. | Secure transport channel using multiple cipher suites |
US10567434B1 (en) | 2014-09-10 | 2020-02-18 | Amazon Technologies, Inc. | Communication channel security enhancements |
US10374800B1 (en) * | 2014-09-10 | 2019-08-06 | Amazon Technologies, Inc. | Cryptography algorithm hopping |
US9992118B2 (en) | 2014-10-27 | 2018-06-05 | Veritas Technologies Llc | System and method for optimizing transportation over networks |
US10009169B2 (en) | 2014-12-02 | 2018-06-26 | Zettaset, Inc. | Format-preserving cipher |
US9979537B2 (en) | 2014-12-02 | 2018-05-22 | Zettaset, Inc. | Format-preserving cipher |
US9313023B1 (en) | 2014-12-02 | 2016-04-12 | Zettaset, Inc. | Format-preserving cipher |
EP3032453B1 (en) * | 2014-12-08 | 2019-11-13 | eperi GmbH | Storing data in a server computer with deployable encryption/decryption infrastructure |
US10133723B2 (en) | 2014-12-29 | 2018-11-20 | Workshare Ltd. | System and method for determining document version geneology |
US11182551B2 (en) | 2014-12-29 | 2021-11-23 | Workshare Ltd. | System and method for determining document version geneology |
US10122689B2 (en) | 2015-06-16 | 2018-11-06 | Amazon Technologies, Inc. | Load balancing with handshake offload |
US10122692B2 (en) | 2015-06-16 | 2018-11-06 | Amazon Technologies, Inc. | Handshake offload |
US11763013B2 (en) | 2015-08-07 | 2023-09-19 | Workshare, Ltd. | Transaction document management system and method |
CN106547527B (zh) * | 2015-09-22 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 一种JavaScript文件构建方法及装置 |
US10116667B2 (en) | 2016-01-26 | 2018-10-30 | Bank Of America Corporation | System for conversion of an instrument from a non-secured instrument to a secured instrument in a process data network |
US9825931B2 (en) | 2016-01-26 | 2017-11-21 | Bank Of America Corporation | System for tracking and validation of an entity in a process data network |
US10142347B2 (en) | 2016-02-10 | 2018-11-27 | Bank Of America Corporation | System for centralized control of secure access to process data network |
US10438209B2 (en) | 2016-02-10 | 2019-10-08 | Bank Of America Corporation | System for secure routing of data to various networks from a process data network |
US10129238B2 (en) | 2016-02-10 | 2018-11-13 | Bank Of America Corporation | System for control of secure access and communication with different process data networks with separate security features |
US11374935B2 (en) | 2016-02-11 | 2022-06-28 | Bank Of America Corporation | Block chain alias person-to-person resource allocation |
US10636033B2 (en) | 2016-02-22 | 2020-04-28 | Bank Of America Corporation | System for routing of process authorizations and settlement to a user in a process data network |
US10026118B2 (en) | 2016-02-22 | 2018-07-17 | Bank Of America Corporation | System for allowing external validation of data in a process data network |
US10140470B2 (en) | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for external validation of distributed resource status |
US10440101B2 (en) | 2016-02-22 | 2019-10-08 | Bank Of America Corporation | System for external validation of private-to-public transition protocols |
US10679215B2 (en) | 2016-02-22 | 2020-06-09 | Bank Of America Corporation | System for control of device identity and usage in a process data network |
US10142312B2 (en) | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
US10607285B2 (en) | 2016-02-22 | 2020-03-31 | Bank Of America Corporation | System for managing serializability of resource transfers in a process data network |
US10387878B2 (en) | 2016-02-22 | 2019-08-20 | Bank Of America Corporation | System for tracking transfer of resources in a process data network |
US10475030B2 (en) | 2016-02-22 | 2019-11-12 | Bank Of America Corporation | System for implementing a distributed ledger across multiple network nodes |
US10318938B2 (en) | 2016-02-22 | 2019-06-11 | Bank Of America Corporation | System for routing of process authorization and settlement to a user in process data network based on specified parameters |
US10178105B2 (en) | 2016-02-22 | 2019-01-08 | Bank Of America Corporation | System for providing levels of security access to a process data network |
US10135870B2 (en) | 2016-02-22 | 2018-11-20 | Bank Of America Corporation | System for external validation of secure process transactions |
US10762504B2 (en) | 2016-02-22 | 2020-09-01 | Bank Of America Corporation | System for external secure access to process data network |
US10496989B2 (en) | 2016-02-22 | 2019-12-03 | Bank Of America Corporation | System to enable contactless access to a transaction terminal using a process data network |
US10437630B2 (en) | 2016-04-10 | 2019-10-08 | Bank Of America Corporation | System for transforming large scale electronic processing using application block chain and multi-structured data stores |
WO2017185312A1 (zh) * | 2016-04-28 | 2017-11-02 | 华为技术有限公司 | 加密、解密方法及装置 |
US9979718B2 (en) | 2016-05-11 | 2018-05-22 | Bank Of America Corporation | System for managing security and access to resource sub-components |
US10402796B2 (en) | 2016-08-29 | 2019-09-03 | Bank Of America Corporation | Application life-cycle transition record recreation system |
US10069672B2 (en) | 2016-10-07 | 2018-09-04 | Bank Of America Corporation | Real time event capture, analysis and reporting system |
US10158737B2 (en) | 2016-10-07 | 2018-12-18 | Bank Of America Corporation | Real time event capture and analysis of transient data for an information network |
US10067994B2 (en) | 2016-10-07 | 2018-09-04 | Bank Of America Corporation | Real time event capture and transformation of transient data for an information network |
CN106599723B (zh) * | 2016-12-19 | 2020-03-17 | 武汉斗鱼网络科技有限公司 | 一种文件加密方法及装置、文件解密方法及装置 |
US11631077B2 (en) | 2017-01-17 | 2023-04-18 | HashLynx Inc. | System for facilitating secure electronic communications between entities and processing resource transfers |
US10887080B2 (en) * | 2017-03-16 | 2021-01-05 | King Fahd University Of Petroleum And Minerals | Double-hashing operation mode for encryption |
CN108632215B (zh) * | 2017-03-20 | 2021-04-20 | 展讯通信(上海)有限公司 | 数字通信加解密方法及装置 |
US10924263B2 (en) * | 2017-09-25 | 2021-02-16 | The Boeing Company | Systems and methods for facilitating iterative key generation and data encryption and decryption |
US10965456B2 (en) | 2017-09-25 | 2021-03-30 | The Boeing Company | Systems and methods for facilitating data encryption and decryption and erasing of associated information |
CN108390759A (zh) * | 2018-03-21 | 2018-08-10 | 平安普惠企业管理有限公司 | 代码加密、解密方法、装置、计算机设备和存储介质 |
US10929545B2 (en) | 2018-07-31 | 2021-02-23 | Bank Of America Corporation | System for providing access to data stored in a distributed trust computing network |
CN109271800A (zh) * | 2018-09-19 | 2019-01-25 | 中国银联股份有限公司 | 一种文件处理方法及装置 |
CN109446751A (zh) * | 2018-09-30 | 2019-03-08 | 深圳市迷你玩科技有限公司 | 生成包括多个子文件的数据集的方法、装置和存储介质 |
CN109710899B (zh) * | 2018-12-20 | 2023-07-14 | 山东省滨海公安局 | 存储介质内文件解密、取证方法和装置 |
KR20200085095A (ko) * | 2019-01-04 | 2020-07-14 | 삼성전자주식회사 | 블록체인 기반으로 데이터를 관리하는 전자 장치 및 데이터 관리 방법 |
US10853495B2 (en) * | 2019-03-29 | 2020-12-01 | Microsoft Technology Licensing, Llc | Method for patching and updating encrypted disk images in a reliable and secure fashion |
KR20210028422A (ko) * | 2019-09-04 | 2021-03-12 | 삼성전자주식회사 | 전자장치 및 그 제어방법 |
US11483147B2 (en) * | 2020-01-23 | 2022-10-25 | Bank Of America Corporation | Intelligent encryption based on user and data properties |
US10897351B1 (en) * | 2020-07-02 | 2021-01-19 | Slack Technologies, Inc. | Encryption key management for an automated workflow |
CN111654511A (zh) * | 2020-07-13 | 2020-09-11 | 中国银行股份有限公司 | 一种链式数据加密方法、链式数据解密方法及相应的系统 |
CN114301718A (zh) * | 2022-03-10 | 2022-04-08 | 北京微芯感知科技有限公司 | 一种采用单密钥进行链式加密的文件传输方法 |
US20240089105A1 (en) * | 2022-09-12 | 2024-03-14 | Capital One Services, Llc | Systems and methods for user control and exclusion of cryptographic tokenized data |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4074066A (en) * | 1976-04-26 | 1978-02-14 | International Business Machines Corporation | Message verification and transmission error detection by block chaining |
EP0982894A1 (en) * | 1998-08-24 | 2000-03-01 | Kabushiki Kaisha Toshiba | Block cipher with chaining |
CN1638331A (zh) * | 2003-12-31 | 2005-07-13 | 惠普开发有限公司 | 使用密码块链接的个人识别号验证 |
US6952477B1 (en) * | 2000-07-03 | 2005-10-04 | International Business Machines Corporation | Fault intolerant cipher chaining |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE59708572D1 (de) * | 1996-09-03 | 2002-11-28 | Siemens Ag | Anordnung und verfahren zur kryptographischen bearbeitung eines digitalen datenstroms, der eine beliebige anzahl von daten aufweist |
US6526144B2 (en) * | 1997-06-02 | 2003-02-25 | Texas Instruments Incorporated | Data protection system |
US6405315B1 (en) * | 1997-09-11 | 2002-06-11 | International Business Machines Corporation | Decentralized remotely encrypted file system |
US6249866B1 (en) * | 1997-09-16 | 2001-06-19 | Microsoft Corporation | Encrypting file system and method |
US7096358B2 (en) * | 1998-05-07 | 2006-08-22 | Maz Technologies, Inc. | Encrypting file system |
TW375721B (en) * | 1998-06-17 | 1999-12-01 | Ind Tech Res Inst | DES chip processor capable of executing data encryption standard (DES) operation |
JP3824121B2 (ja) * | 1999-04-01 | 2006-09-20 | 株式会社日立製作所 | 暗号データの復号化処理方法および装置 |
GB9930145D0 (en) * | 1999-12-22 | 2000-02-09 | Kean Thomas A | Method and apparatus for secure configuration of a field programmable gate array |
US6813252B2 (en) * | 2000-01-07 | 2004-11-02 | Lucent Technologies Inc. | Method and system for interleaving of full rate channels suitable for half duplex operation and statistical multiplexing |
US7270193B2 (en) * | 2000-02-14 | 2007-09-18 | Kabushiki Kaisha Toshiba | Method and system for distributing programs using tamper resistant processor |
US7093126B1 (en) * | 2000-04-14 | 2006-08-15 | International Business Machines Corporation | Encryption schemes with almost free integrity awareness |
EP1281254A4 (en) * | 2000-04-20 | 2003-06-04 | Noel D Matchett | CRYPTOGRAPHIC SYSTEM FOR DATA ENCRYPTION STANDARD |
US7151831B2 (en) * | 2001-06-06 | 2006-12-19 | Sony Corporation | Partial encryption and PID mapping |
US7006627B2 (en) * | 2001-09-28 | 2006-02-28 | Tarari, Inc. | Cipher block chaining mode in encryption/decryption processing |
GB2374260B (en) | 2001-10-12 | 2003-08-13 | F Secure Oyj | Data encryption |
US7103180B1 (en) * | 2001-10-25 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Method of implementing the data encryption standard with reduced computation |
FR2837332A1 (fr) * | 2002-03-15 | 2003-09-19 | Thomson Licensing Sa | Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants |
US7343493B2 (en) * | 2002-03-28 | 2008-03-11 | Lenovo (Singapore) Pte. Ltd. | Encrypted file system using TCPA |
CA2487319C (en) * | 2002-06-07 | 2009-01-06 | General Instrument Corporation | Seamless switching between multiple pre-encrypted video files |
US20050144468A1 (en) * | 2003-01-13 | 2005-06-30 | Northcutt J. D. | Method and apparatus for content protection in a personal digital network environment |
US7055039B2 (en) * | 2003-04-14 | 2006-05-30 | Sony Corporation | Protection of digital content using block cipher crytography |
US7392400B2 (en) * | 2003-04-18 | 2008-06-24 | Via Technologies, Inc. | Microprocessor apparatus and method for optimizing block cipher cryptographic functions |
US7243237B2 (en) * | 2003-05-02 | 2007-07-10 | Microsoft Corporation | Secure communication with a keyboard or related device |
CN100483992C (zh) * | 2003-05-06 | 2009-04-29 | 国际商业机器公司 | 数据流的加密、解密方法和装置 |
US7200226B2 (en) * | 2003-09-04 | 2007-04-03 | Intel Corporation | Cipher block chaining decryption |
WO2005029292A1 (en) * | 2003-09-24 | 2005-03-31 | Accenture Global Services Gmbh | Server-based digital signature |
US7280956B2 (en) * | 2003-10-24 | 2007-10-09 | Microsoft Corporation | System, method, and computer program product for file encryption, decryption and transfer |
US7802085B2 (en) * | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
US7702104B2 (en) * | 2004-04-01 | 2010-04-20 | International Business Machines Corporation | System and method for securing genomic information |
US20060075225A1 (en) * | 2004-06-30 | 2006-04-06 | Flynn James P | Digital content protection for peer to peer networks |
US7746853B2 (en) * | 2004-08-16 | 2010-06-29 | Cisco Technology, Inc. | Method and apparatus for transporting broadcast video over a packet network including providing conditional access |
US7506160B2 (en) * | 2004-11-12 | 2009-03-17 | Toshiba Corporation | System and method for enhanced data security in office machine environment |
JP4549303B2 (ja) * | 2005-02-07 | 2010-09-22 | 株式会社ソニー・コンピュータエンタテインメント | パイプラインを用いてメッセージ認証コードを提供する方法および装置 |
US20060294595A1 (en) * | 2005-06-27 | 2006-12-28 | Check Point Software Technologies Ltd. | Component selector |
-
2006
- 2006-04-18 US US11/406,184 patent/US7428306B2/en not_active Expired - Fee Related
-
2007
- 2007-04-11 WO PCT/EP2007/053519 patent/WO2007118829A1/en active Application Filing
- 2007-04-11 AT AT07727987T patent/ATE549688T1/de active
- 2007-04-11 CN CN200780008842XA patent/CN101401105B/zh not_active Expired - Fee Related
- 2007-04-11 EP EP07727987A patent/EP2016525B1/en active Active
-
2008
- 2008-08-20 US US12/194,610 patent/US8107621B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4074066A (en) * | 1976-04-26 | 1978-02-14 | International Business Machines Corporation | Message verification and transmission error detection by block chaining |
EP0982894A1 (en) * | 1998-08-24 | 2000-03-01 | Kabushiki Kaisha Toshiba | Block cipher with chaining |
US6952477B1 (en) * | 2000-07-03 | 2005-10-04 | International Business Machines Corporation | Fault intolerant cipher chaining |
CN1638331A (zh) * | 2003-12-31 | 2005-07-13 | 惠普开发有限公司 | 使用密码块链接的个人识别号验证 |
Non-Patent Citations (1)
Title |
---|
摘要、说明书第[0048]-[0062]段、附图1-3. |
Also Published As
Publication number | Publication date |
---|---|
WO2007118829A1 (en) | 2007-10-25 |
US20080310624A1 (en) | 2008-12-18 |
CN101401105A (zh) | 2009-04-01 |
ATE549688T1 (de) | 2012-03-15 |
EP2016525A1 (en) | 2009-01-21 |
US7428306B2 (en) | 2008-09-23 |
US8107621B2 (en) | 2012-01-31 |
EP2016525B1 (en) | 2012-03-14 |
US20070253549A1 (en) | 2007-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101401105B (zh) | 用于提供加密文件系统的加密系统和方法 | |
CN100487715C (zh) | 一种数据安全存储系统和装置及方法 | |
KR101588541B1 (ko) | 무선 데이터 보호 시스템 및 방법 | |
EP0002388B1 (en) | Data processing terminal | |
RU2371756C2 (ru) | Безопасная связь с клавиатурой или родственным устройством | |
CN104040937A (zh) | 用于对文件系统加速加密的多密钥密码术 | |
EP2290871A2 (en) | Encryption method and apparatus using composition of ciphers | |
CN104660590B (zh) | 一种文件加密安全云存储方案 | |
CN112069555B (zh) | 一种基于双硬盘冷切换运行的安全计算机架构 | |
Adamov et al. | An analysis of lockergoga ransomware | |
CN110298186B (zh) | 一种基于动态可重构密码芯片的无密钥数据加解密方法 | |
US9571273B2 (en) | Method and system for the accelerated decryption of cryptographically protected user data units | |
WO2006118101A1 (ja) | 機密情報処理用ホスト機器および機密情報処理方法 | |
CN102270182B (zh) | 基于同步用户和主机认证的加密可移动存储设备 | |
US7436966B2 (en) | Secure approach to send data from one system to another | |
CN103390135A (zh) | 一种文件保护系统及其实现方法 | |
CN102622561A (zh) | 一种软件中调用数据的加密及解密方法 | |
Karanam et al. | Performance Evaluation of Cryptographic Security Algorithms on Cloud | |
KR20020071274A (ko) | Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치 | |
CN101018117A (zh) | 网页日志加密系统及方法 | |
Verma et al. | An enhanced cryptographic system for fast and efficient data transmission | |
JP6162556B2 (ja) | 記憶装置及び情報処理システム | |
US20240356727A1 (en) | Method and Apparatus for Activating a Remote Device | |
EP4307155A1 (en) | Method and circuit for protecting an electronic device from a side-channel attack | |
Tan et al. | A High-security Configuration Circuit Design for SoPC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100922 |