用于对文件系统加速加密的多密钥密码术的制作方法

文档序号:7994064阅读:239来源:国知局
用于对文件系统加速加密的多密钥密码术的制作方法
【专利摘要】提供了用加密属性进行加密和解密的方法和系统的实施例。加密属性包含标识文件的待加密的一段或多段的信息。加密过程对那些一段或多段加密以生成部分加密文件,而不是对整个文件加密。也即,文件包括一些被加密的数据和一些未被加密的数据。在一个实施例中,使用至少三个加密密钥,使得利用第三密钥对加密属性加密。
【专利说明】用于对文件系统加速加密的多密钥密码术
[0001]相关申请的交叉引用
[0002]本申请是于2008 年 9 月 4 日递交的、名称为“Accelerated Cryptography with anEncrypt1n Attribute”、申请号为12/204,658的部分继续申请,该申请转让给本发明的公司受让人且通过引用合并于此。
【技术领域】
[0003]本发明的实施例涉及内容安全领域,尤其涉及用于对数据进行加密和解密。
【背景技术】
[0004]对称密码术是这样一种密码学方法:即,加密操作和解密操作共享相同的密钥(或者,不太常见地,它们的密钥不同,但是以可易于计算的方式相关)。对称密码术算法的示例包括数据加密标准(DES)和高级加密标准(AES)。
[0005]另一方面,公钥加密算法使用非对称密钥用于加密和解密。非对称密钥包括私钥(其仅由其所有者持有)和公钥(其可供其他实体使用)。两种密钥是独立的,但是在功能上互补。用公钥加密的信息仅能够通过对应的私钥来解密。两种密钥一起称为密钥对或密钥组。RSA算法是公钥加密算法的示例。
[0006]加密文件系统(EFS)是一种带加密服务的文件系统。该技术明显地允许在文件系统上对文件进行加密和解密,从而保护机密数据,以防通过物理访问计算机的攻击者获知。EFS使用公钥密码术来确保不使用正确的密钥来解密文件在理论上不可行,或者需要非常长的时间来破解。
[0007]EFS是通过用对称密钥来对文件加密而起作用,对称密钥也称为文件加密密钥(FEK)。然后,用通常与用户关联且可供第三方使用的公钥对FEK加密。为了将加密的文件解密,EFS使用仅由用户访问的私钥来对加密的FEK解密。EFS然后对用FEK加密的文件进行解密。一般地,这些加密和解密操作是在比操作系统低的层上执行的,因此其对于用户和在其上运行的应用程序而言是透明的。
【专利附图】

【附图说明】
[0008]通过下面给出的详细说明以及本发明的各个实施例的附图,将更充分地理解本发明的实施例,然而,不应将这些详细说明和附图视为将本发明限制为具体的实施例,而仅仅是为了解释和理解。
[0009]图1是示出根据本发明的一个实施例的数据加密的数据流程图。
[0010]图2是示出根据本发明的一个实施例的数据解密的数据流程图。
[0011]图3是加密过程的一个实施例的流程图。
[0012]图4是解密过程的一个实施例的流程图。
[0013]图5示出了根据本发明的一个实施例的加密文件系统(EFS)的目录结构。
[0014]图6是密码术系统的一个实施例的框图。[0015]图7示出了可以使用本发明的一个实施例的计算机系统。
【具体实施方式】
[0016]提供了用加密属性进行加密和解密的方法和系统的实施例。加密属性包含标识文件的待加密的一段或多段的信息。加密过程对那些一段或多段加密以产生部分加密文件,而不是对整个文件进行加密。也即,文件包括一些被加密的数据和一些未被加密的数据。在一个实施例中,使用至少三个加密密钥,使得利用第三密钥对加密属性加密。
[0017]在一个实施例中,解密操作用包含在加密属性中的信息来标识部分加密文件中的被加密的那些段。在一个实施例中,授权用户,例如文件的所有者,设定与文件相关联的加密属性以标识文件的在加密操作过程中应当被加密的段。
[0018]在下面的说明中,阐述了多方面的具体细节以提供本发明的实施例的更全面的解释。然而,应理解的是,可以在不具有这些具体细节的情况来实施实施例。在其它实例中,为避免导致本发明的实施例变得不清晰,未详细论述公知的元件、规格和协议。
[0019]下面的详细说明的一些部分是根据对计算机存储器内的数据位的操作的算法和符号表征来呈现的。这些算法描述和表征是数据处理领域的技术人员用来向本领域其他技术人员最有效地传达他们的工作实质的手段。算法在此处一般设想为得到期望结果的步骤的自容序列。步骤是那些需要物理量的物理操纵的步骤。通常,虽然不是必要的,这些量呈现为能够被存储、传递、组合、比较以及以其它方式操纵的电信号或磁信号的形式。经证实,将这些信号称为位、值、要素、符号、字符、术语、数字等有时很方便,主要是为了共同使用的原因。
[0020]然而,应当牢记的是,所有这些以及相似的术语应当与恰当的物理量相关联且仅仅是应用于这些量的便利标签。除非特别指出,否则从下面的论述中显而易见的是,应理解为,在通篇说明中,使用诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语的论述,指的是计算机系统或类似电子计算设备的动作和过程,计算机系统或类似电子计算设备将计算机系统的寄存器和存储器内的表征为物理(电子)量的数据操纵和变换成计算机系统存储器或寄存器或其它此类信息存储、传输或显示设备内的类似地表征为物理量的其它数据。
[0021]本发明的实施例还涉及用于在其中执行操作的装置。一些装置可专门地构造以用于所要求的目的,或者其可以包括由存储在计算机中的计算机程序选择性启动或重配置的通用计算机。这种计算机程序可以存储在计算机可读存储介质中,计算机可读存储介质例如但不限于:任何类型的磁盘,包括软盘、光盘、⑶-ROM、DVD-ROM和磁光盘;只读存储器(ROM);随机存取存储器(RAM) ;EPR0M;EEPR0M;NVRAM;磁卡或光卡;或任何类型的适合于存储电子指令的介质,并且每一个与计算机系统总线耦合。
[0022]本文提供的算法和显示本质上不与任何特定的计算机或其它装置相关。各种通用系统可以与依照本文教导的程序一起使用,或者经证实构造用于执行所要求的方法步骤的更专用型的装置是方便的。用于这些各式各样的系统的要求的结构将从下面的说明书中显现。另外,本发明的实施例不是参考任何特定的编程语言来描述的。将理解的是,各种编程语言可用于实施如本文所描述的本发明的教导。
[0023]机器可读介质包括用来存储或传输可由机器(例如,计算机)读取的形式的信息的任何机构。例如,机器可读介质包括:只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等);等等。
[0024]篮览
[0025]图1是示出根据本发明的一个实施例的数据加密的数据流程图。参考图1,在一个实施例中,加密过程中的要素包括数据100、文件加密密钥(FEK) 104、加密属性105、加密引擎121-122、公钥112、加密数据120、加密引擎132、第三密钥133、加密的第三密钥137和加密的第三密钥138。
[0026]在一个实施例中,数据100是诸如例如媒体文件、文本文件、数据库的数据记录、或任何形式的数字信息内容的明文。为对数据100加密,加密引擎121接收加密属性105和作为加密密钥的FEK104。加密属性105包含标识数据100的待加密的一段或多段的信息。加密引擎121的结果是部分加密数据101。在一个实施例中,FEK104是利用加密引擎122用与用户相关联的公钥112加密的。加密引擎122的输出是加密的FEK107。
[0027]在一个实施例中,加密属性105是利用加密引擎132用第三密钥133加密的,第三密钥133不同于用户的公钥和FEK104。加密的加密属性111是加密引擎132的输出。在一个实施例中,第三密钥133是通过加密引擎用用户的公钥或FEK104加密的,从而生成加密的第三密钥137。
[0028]在一个实施例中,部分加密数据103、加密的FEK108、加密的加密属性110和加密的第三密钥138 —起存储在加密数据120中。在一个实施例中,因为不是对数据的所有段加密,所以用于执行加密操作的总时间减少。性能的提高取决于基于加密属性105中的信息将数据中的多少段进行标识为加密。在一个实施例中,加密数据120存储在EFS或文件系统上,或者被传输以在另一计算机系统中存储/使用。
[0029]在一个实施例中,数据100被划分成段,其中每段的长度是M位,使得该长度等于加密引擎121的区块尺寸之一。在一个实施例中,加密引擎121中的区块密码在每轮操作中处理128位的段。本领域技术人员将理解的是,可以使用任何适合于实现加密的区块尺寸以确定为加密目的而将数据100分段的段长。
[0030]在一个实施例中,基于数据100的分类或文件类型将加密属性105设定成缺省设定。用户、管理者或两者都能够修改缺省设定。在一个实施例中,加密属性105包含了诸如如下的信息:对应于要加密的段列表的数字列表、描述要对哪个(哪些)段加密的规则或规则集、对应于此一个(多个)规则的标识符、存储此一个(多个)规则或此数字列表的位置的指针、或它们的任意组合。本领域技术人员将理解的是,信息能够以不同方式呈现在加密属性105中以标识数据100的哪些段要进行加密。在一个实施例中,加密属性105包括诸如关于授权用户和指定恢复代理的信息的附加信息。
[0031]在一个实施例中,数据100是一些类型的文件的实例。对文件的报头(或前N段)加密足以保护文件免于非授权使用。例如,报头包括对于解释文件格式来说很重要的信息,例如:与视频编码算法关联的参数、与图像编码算法关联的参数、数据结构的数据字段、或用来保护文件的其他适当的安全措施。
[0032]在一个实施例中,对数据100的某些段加密使得数据无用,除非加密段被恢复。例如,如果患者姓名和他/她的标识号被加密且因此受保护以免非授权访问,则患者的医疗历史记录是无用的。如果人们不能将其与特定患者相关联,则医疗历史记录是不无用的。
[0033]在一个实施例中,通过对文件的每N段中的多个段进行加密来对诸如文件的数据100进行加密。例如,用该模式加密的视频文件具有受保护以防观看的一些视频帧。加密文件的观看者不能够不中断地享受整个长度的视频。由于不连续性,加密文件被视为不可用。相比而言,将视频文件的一些段加密比将整个视频文件加密节约了大量的计算时间。加密文件系统的性能随着对整个媒体文件加密和解密的负担减轻而提高。
[0034]在一个实施例中,数据100是文件。加密引擎121对文件的多段进行加密,例如:文件的报头、文件的重要部分的段、文件的交替的N段、或其任意组合,从而保护文件以防非授权访问。
[0035]在一个实施例中,加密属性105不经加密地附加到部分加密数据103上。
[0036]在一个实施例中,加密的加密属性111附到部分加密数据103上。在一个实施例中,加密的加密属性111增加于部分加密数据103之前。在一个实施例中,根据文件系统的结构,加密的加密属性110存储在与部分加密数据103相关联的位置。
[0037]在一个实施例中,基于各种密码术算法(例如,AES、DES、RSA等),加密引擎121-122能够执行对称密码术操作、非对称密码术操作或其组合。密码术操作是以本领域公知的区块密码、流密码或任何其他密码体系结构来实现的。
[0038]图2是示出数据解密的数据流程图。参考图2,在一个实施例中,解密过程中的要素包括私钥204、解密引擎221-222以及加密数据220,加密数据220还包括部分加密数据208、加密的FEK209、加密的加密属性210、第三密钥233、解密引擎232和加密的第三密钥237。在一个实施例中,私钥204属于用户并且仅被有读取/访问加密数据220的授权的人所知。
[0039]在一个实施例中,从加密数据220中提取加密的FEK206和加密的加密属性207。解密引擎221用私钥204对加密的FEK206解密以取回FEK202。
[0040]在一个实施例中,通过解密引擎用用户的私钥或FEK236对加密的第三密钥238解密以取回第三密钥233。第三密钥233是不同于用户的公钥(和私钥)以及FEK202的密钥。在一个实施例中,解密引擎232用第三密钥233对加密的加密属性207解密以取回加密属性203。
[0041]在一个实施例中,解密引擎222通过参考标识出部分加密数据205的哪些段被加密的加密属性203,用FEK202对部分加密数据205进行解密。解密引擎222的输出是数据201,其可以是文本文件、媒体文件、或数据库的数据记录、或任何形式的数字信息内容。
[0042]在一个实施例中,因为解密引擎222不需要对部分加密数据205的全部段进行解密,所以减少了用于执行解密操作的总时间。性能的提高取决于基于加密属性203中的信息对部分加密数据205有多少段标识为解密。在一个实施例中,加密数据220存储在EFS或文件系统上,或者从另一计算机系统接收。
[0043]在一个实施例中,部分加密数据205被分段为多段,其中每段的长度是M位,使得该长度等于解密引擎222的区块尺寸之一。在一个实施例中,解密引擎222中的区块密码在每轮操作中处理128位的段/区块。本领域技术人员将理解的是,可以使用适合于实现解密的任何区块尺寸来在为加密/解密目的而将部分加密数据205分段时确定段长。
[0044]在一个实施例中,加密属性203与图1的加密属性105相同。本领域技术人员将理解的是,加密属性203中的信息能够以不同方式呈现以标识部分加密数据205的哪些段要解密。通过对数据的不同部分的段进行加密,能够保护不同类型的数据,如上文参考图1所说明的。在一个实施例中,解密引擎222对多段解密,例如:文件的报头、文件的重要部分的段、文件的交替的N段或它们的任意组合,这些被加密以防非授权访问。
[0045]在一个实施例中,加密的加密属性210附加到部分加密数据208。在一个实施例中,加密的加密属性210加在部分加密数据208之前。在一个实施例中,根据文件系统的结构,加密的加密属性210存储在与部分加密数据208相关联的位置。
[0046]在一个实施例中,基于各种密码术算法(例如,AES、DES、RSA等),解密引擎221-222能够执行对称密码术操作、非对称密码术操作或其组合。密码术操作以本领域公知的区块密码、流密码或任何其他密码体系结构来实现。
[0047]图3示出了加密过程的一个实施例的流程图。该过程是通过处理逻辑来执行的,处理逻辑可包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合。参考图3,在一个实施例中,处理逻辑接收对文件加密的请求(处理块300)。处理逻辑读取与文件相关联的加密属性(处理块301)。处理逻辑将文件分段成多段(处理块302),其中每段的长度适合于由M位加密引擎来处理。
[0048]在一个实施例中,处理逻辑基于加密属性中所包含的信息来标识文件的要加密的一段或多段(处理块303)。处理逻辑确定是否要对文件的段加密(处理块310)。如果一段被标识为加密,则加密引擎用FEK(对称密钥)对该段加密(处理块304)。否则,加密引擎不对该段加密(处理块305)。处理逻辑对于文件的所有段重复该操作(处理块311)。
[0049]在一个实施例中,处理逻辑用公钥对FEK加密(处理块306)。处理逻辑用第三密钥对加密属性加密。在一个实施例中,不同的加密引擎用来对FEK和加密属性进行加密。
[0050]在一个实施例中,处理逻辑将部分加密文件、加密的加密属性和加密的FEK存储在文件中(处理块307)。在一个实施例中,处理逻辑发送文件以便用于另一计算机系统。在一个实施例中,处理逻辑根据文件系统的结构来存储部分加密文件、加密的加密属性和加密的FEK。
[0051]图4是解密过程的一个实施例的流程图。该过程是通过处理逻辑来执行的,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合。参考图4,在一个实施例中,处理逻辑接收对加密文件解密的请求(处理块400)。
[0052]在一个实施例中,加密文件包含部分加密加密文件、与部分加密文件相关联的加密的加密属性以及加密的FEK。在一个实施例中,处理逻辑对加密的加密属性解密以取回加密属性(用第三密钥)。处理逻辑对加密的FEK解密以取回FEK(处理块401)。处理逻辑将部分加密文件分段成多段(处理块403),其中每段的长度适合于由M位解密引擎来处理。
[0053]在一个实施例中,处理逻辑基于加密属性中包含的信息来标识部分加密文件的要解密的一段或多段(处理块404)。处理逻辑确定是否必须对文件的一段解密(处理块410)。如果一段被标识为要解密,则解密引擎用FEK将该段解密(处理块405)。否则,解密引擎不对该段解密(处理块406)。处理逻辑对于部分加密文件的所有段重复该操作(处理块411)。处理逻辑将解密文件存储在计算机存储设备上的文件中(处理块407)。[0054]在一个实施例中,处理逻辑用私钥对加密的FEK解密(处理块401)。处理逻辑用第三密钥对加密的加密属性解密。在一个实施例中,不同的解密引擎用于将加密的FEK和加密的加密属性解密。
[0055]在一个实施例中,处理逻辑将部分加密文件、加密的加密属性和加密的FEK接收到文件中。在一个实施例中,处理逻辑接收来自另一计算机系统的加密文件。在一个实施例中,根据文件系统的结构关联地存储部分加密文件、加密的加密属性和加密的FEK。
[0056]图5示出了根据本方面的一个实施例的加密文件系统(EFS)中的目录结构。参考图5,每个文件包括多个段。对用交叉阴影图案表示的段进行加密。文件的加密属性和FEK未显示在图中以避免使实施例的描述不清晰。文件不必具有相同的长度。
[0057]在一个实施例中,文件系统将文件存储在根目录501或其他子目录(例如,目录502,550)下。子目录可进一步包括其他子目录,诸如子目录520。在一个实施例中,在同一目录(例如,根目录501、目录520)下的文件能够以不同的方式加密。基于与每个文件相关联的加密属性来对文件510、文件511和文件513的不同段进行加密。例如,对从文件511的第二段开始的交替段加密。对文件513的每三段的两段进行加密。在一个实施例中,文件(文件511、513)在不同文件类型的类别下且被指派了不同的加密属性。在一个实施例中,文件(文件511、513)在同一文件类型的类别下,并且用户修改加密属性。
[0058]在一个实施例中,用相同的加密属性对处于同一目录(目录502)中的文件503-506加密。在一个实施例中,因为文件处于相同文件类型的类别下或属于相同的用户,所以用相同的加密属性对文件503-506加密。在一个实施例中,根据用户基于期望的安全级别设定的不同的加密属性对目录550中的文件551-554加密。
[0059]在一个实施例中,文件不具有缺省加密属性。例如,通过用户单独地创建文件521-523的每个加密属性。在一个实施例中,对文件521的重要部分的段加密,重要部分例如:信用卡号码、患者姓名等。在一个实施例中,对来自文件504的报头的段加密,从而不能基于报头中的编码信息来适当地对文件504解码/读取。
[0060]图6是密码术系统的一个实施例的框图。参考图6,在一个实施例中,密码术系统包括控制器600、加密属性逻辑601、文件分段逻辑603、使用FEK610的加密引擎、使用公钥611的加密引擎、使用FEK630的解密引擎、使用私钥631的解密引擎、FEK密钥生成器606、以及第三密钥逻辑633。在一个实施例中,存储驱动器620和非易失性磁盘621存储由密码术系统操作的文件。在一个实施例中,存储驱动器620和非易失性磁盘621由控制器600管理。在一个实施例中,控制器600运行具有管理存储驱动器620和非易失性磁盘621的服务的操作系统。
[0061]在一个实施例中,控制器600接收要加密的文件。加密属性逻辑601访问文件的加密属性。在一个实施例中,加密属性逻辑601基于文件类型将加密属性指派给文件。在一个实施例中,加密属性与文件相关联地存储。加密属性逻辑601基于加密属性中的信息来确定要对文件的哪些段加密。
[0062]在一个实施例中,文件分段逻辑603将文件分段成多段。每段的长度是对应于使用FEK610的加密引擎的区块尺寸之一的M位。使用FEK610的加密引擎与文件分段逻辑603相结合来对由加密属性逻辑610标识的段进行加密。在一个实施例中,使用FEK610的加密引擎是实现对称密码术算法的M位加密引擎。在一个实施例中,使用公钥611的加密引擎用公钥对FEK加密。在一个实施例中,使用公钥611的加密引擎执行非对称密码术算法。在一个实施例中,第三密钥逻辑633使用第三加密密钥对加密属性加密。
[0063]在一个实施例中,控制器600将部分加密数据、加密的第三密钥、加密的加密属性和加密的FEK存储到存储驱动器620上的文件中。在一个实施例中,控制器600将部分加密数据、加密的加密属性、加密的FEK、加密的第三密钥或其组合存储到借助文件系统彼此关联的(文件系统)的不同位置。
[0064]在一个实施例中,控制器600接收要解密的文件。文件包括部分加密文件、与文件关联的加密的加密属性、以及加密的FEK。在一个实施例中,使用私钥631的解密引擎对加密的FEK解密以生成FEK。在一个实施例中,使用私钥631的解密引擎执行非对称密码术算法。在一个实施例中,第三密钥逻辑633用第三加密密钥对加密的加密属性解密以生成加密属性。
[0065]在一个实施例中,加密属性逻辑601基于加密属性中的信息来确定部分加密文件中的哪些段要进行解密。在一个实施例中,文件分段逻辑603将部分加密文件分段成多段。每段是在长度上对应于使用FEK630的解密引擎的区块尺寸之一的M位。使用FEK630的解密引擎与文件分段逻辑603相结合对由加密属性逻辑601标识的段进行解密。在一个实施例中,使用FEK630的解密引擎是实现对称密码术算法的M位解密引擎。
[0066]在一个实施例中,控制器600将解密文件、加密属性和FEK存储到存储驱动器620上的文件中。在一个实施例中,控制器600将解密文件、加密属性、FEK或其组合存储到借助文件系统彼此关联的(文件系统的)不同位置。
[0067]在一个实施例中,FEK密钥生成器606基于使用FEK610的加密引擎中的不同轮的初始FEK来生成一系列密钥。
[0068]虽然本文描述为处理逻辑,但每个逻辑单元、每个加密弓I擎和每个解密引擎能够独立地、单独地或者在外部以不同组合来实现。本发明的实施例可在各种电子设备和逻辑电路中实现。此外,包括本发明的实施例的设备或电路可包含在各种计算机系统内。本发明的实施例还可包含在其他计算机系统拓扑结构和体系结构中。
[0069]图7示出了可以使用本发明的一个实施例的计算机系统。处理器705从级别I(Ll)的高速缓冲存储器706、级别2 (L2)的高速缓冲存储器710和主存储器715来访问数据。在本发明的其他实施例中,高速缓冲存储器706可以是多级高速缓冲存储器,其由LI高速缓存连同计算机系统存储器分层结构内的诸如L2高速缓存的其他存储器一起构成,并且高速缓冲存储器710是诸如L3高速缓存或更多级高速缓存的后续更低级高速缓冲存储器。此夕卜,在其他实施例中,计算机系统可以具有高速缓冲存储器710作为用于多于一个的处理器核的共享高速缓存。
[0070]处理器705可具有任意数量的处理核。然而,本发明的其他实施例可以在系统内的其他设备内实现或者以硬件、软件或其某种组合的形式遍布系统。
[0071]在一个实施例中,主存储器715装载操作系统750以经由应用程序接口(API)来提供文件系统。文件系统通过设备驱动器连接以与固态磁盘725、HDD720或两者通信。在一个实施例中,主存储器715装载通过API与操作系统750和文件系统接口的应用程序。文件系统通过设备驱动器连接以与固态磁盘725或HDD720通信以管理其上的文件。在一个实施例中,文件系统包含如下方法:(I)存储、引用、共享文件以及使文件安全;(2)访问文件数据;以及(3)维护文件完整性。尽管如此,在文件系统及其关联的操作系统之间不总是有明确的差别,尤其是那些包含在操作系统内的文件系统。
[0072]主存储器715可以在各种存储器源内实现,诸如动态随机存取存储器(DRAM)、硬盘驱动器(HDD) 720、基于NVRAM技术的固态磁盘725、或经由网络接口 730或者经由无线接口 740位于计算机系统远程的包含各种存储设备和技术的存储器源。高速缓冲存储器可位于处理器内或紧靠近处理器,诸如在处理器的本地总线707上。此外,高速缓冲存储器可以包含相对快速的存储器单元,诸如六晶体管^T)单元、或近似相等或更快访问速度的其他存储器单元。
[0073]然而,本发明的其他实施例可以存在于其他电路、逻辑单元或图7的系统内的设备中。此外,在本发明的其他实施例中,可以遍布于多个电路、逻辑单元或图7所示的设备中。
[0074]虽然在阅读上述说明书之后本发明的许多改动和修改对于本领域普通技术人员而言变得明显, 但是应当理解,通过示例的方式显示和描述的任何特定实施例绝不旨在视为限制。因此,各个实施例的细节的提及不意在限制权利要求的范围,权利要求本身仅记述对于本发明而言至关重要的那些特征。
【权利要求】
1.一种用于加密的方法,包括: 用第一密钥对第一数据的一段或多段进行加密,所述第一数据与至少一个加密属性相关联且具有多个段,其中所述加密属性包括用于标识所述第一数据的要加密的所述一段或多段的信息; 用第二密钥对所述第一密钥进行加密,所述第二密钥是公钥; 用第三密钥对所述加密属性进行加密以创建加密的加密属性,其中所述第一密钥、所述第二密钥和所述第三密钥不同;以及 存储第二数据的至少一部分,所述第二数据包括部分加密数据、加密的加密属性、所述第一密钥的加密版本和所述第三密钥的加密版本。
2.如权利要求1所限定的方法,其中,所述第一密钥是对称加密密钥。
3.如权利要求1所限定的方法,其中,结合所述第一密钥对所述第三密钥进行加密。
4.如权利要求1所限定的方法,其中,结合所述第二密钥对所述第三密钥进行加密。
5.如权利要求1所限定的方法,还包括发送所述第二数据。
6.如权利要求1所限定的方法,其中,所述一段或多段包括所述第一数据的前N段,其中N是正整数。
7.如权利要求1所限定的方法,其中,所述一段或多段包括所述第一数据的每N段中的至少一段,其中N是正整数。
8.如权利要求1所限定的方法,其中,所述加密属性基于所述第一数据的第一类型。
9.如权利要求1所限定的方法,其中,所述加密属性具有缺省设定并且能够由用户修改。
10.如权利要求1所限定的方法,还包括将所述第一数据分段成所述多个段,其中所述第一数据的每段的长度是M位,并且每段能够由M位加密引擎来处理。
11.一种用于解密的方法,包括: 访问第一数据,所述第一数据包括部分加密数据、加密属性的加密版本、利用作为公钥的第二密钥加密的第一密钥的版本以及第三密钥的加密版本,其中所述部分加密数据包括多个段; 用所述第三密钥对加密的加密属性进行解密以取回所述加密属性,其中所述加密属性包括用于标识所述部分加密数据的被加密的一段或多段的信息;以及 用所述第一密钥对所述部分加密数据的所述一段或多段进行解密。
12.如权利要求11所限定的方法,其中,所述第一密钥是对称加密密钥。
13.如权利要求11所限定的方法,其中,所述第三密钥的所述加密版本是结合所述第二密钥而产生的。
14.如权利要求11所限定的方法,其中,所述第三密钥的所述加密版本是结合所述第一密钥而产生的。
15.一种用于加密的系统,包括: 控制器,其接收对与至少一个加密属性相关联的第一数据进行加密的请求,其中所述第一数据包括多个段,其中所述加密属性包括用于标识所述第一数据的要加密的一段或多段的息; 第一加密引擎,其用第一密钥对所述第一数据的所述一段或多段进行加密以生成部分加密数据,其中所述第一密钥将被用第二密钥进行加密,所述第二密钥是公钥; 第二加密引擎,其能够操作以用第三密钥对所述加密属性进行加密以创建加密的加密属性;以及 存储设备,其存储第二数据的至少一部分,其中所述第二数据包括所述加密的加密属性、所述部分加密数据以及所述第三密钥的加密版本。
16.如权利要求15所限定的系统,其中,所述第三密钥的所述加密版本是结合所述第一密钥而产生的。
17.如权利要求15所限定的系统,其中,所述第三密钥的所述加密版本是结合所述第二密钥而产生的。
18.一种用于解密的系统,包括: 控制器,其访问包括部分加密数据和加密属性的加密版本的第一数据,其中所述部分加密数据包括多个段,其中所述部分加密数据是用第一密钥进行加密的,其中所述第一密钥的加密版本是结合作为公钥的第二密钥而创建的; 第一解密引擎,其用第三密钥对所述加密的加密属性进行解密以取回所述加密属性,其中所述加密属性包括用于标识所述部分加密数据的被加密的一段或多段的信息;以及第二解密引擎,其用第一密钥对所述部分加密数据的所述一段或多段进行解密。
19.如权利要 求18所限定的系统,其中,所述第三密钥的加密版本是结合所述第一密钥而产生的。
20.如权利要求18所限定的系统,其中,所述第三密钥的加密版本是结合所述第二密钥而产生的。
21.一种制造品,包括计算机可读存储介质,所述计算机可读存储介质包括存储有指令的数据,当由机器访问时,所述指令使所述机器执行包括以下的方法: 用第一密钥对第一数据的一段或多段进行加密,所述第一数据与至少一个加密属性相关联且具有多个段,其中所述加密属性包括用于标识所述第一数据的要加密的所述一段或多段的信息; 用第二密钥对所述第一密钥进行加密,所述第二密钥是公钥; 用第三密钥对所述加密属性进行加密以创建加密的加密属性,其中所述第一密钥、所述第二密钥和所述第三密钥不同;以及 存储第二数据的至少一部分,所述第二数据包括部分加密数据、加密的加密属性、所述第一密钥的加密版本和所述第三密钥的加密版本。
22.如权利要求21所限定的制造品,其中,所述第一密钥是对称加密密钥。
23.如权利要求21所限定的制造品,其中,结合所述第一密钥对所述第三密钥进行加LU O
24.如权利要求21所限定的制造品,其中,结合所述第二密钥对所述第三密钥进行加LU O
25.一种制造品,包括计算机可读存储介质,所述计算机可读存储介质包括存储有指令的数据,当由机器访问时,所述指令使所述机器执行包括以下的方法: 访问包括第一数据,所述第一数据部分加密数据、加密属性的加密版本、利用作为公钥的第二密钥加密的第一密钥的版本以及第三密钥的加密版本,其中所述部分加密数据包括多个段; 用所述第三密钥对加密的加密属性进行解密以取回所述加密属性,其中所述加密属性包括用于标识所述部分加密数据的被加密的一段或多段的信息;以及用所述第一密钥对所述部分加密数据的所述一段或多段进行解密。
26.如权利要求25所限定的制造品,其中,所述第三密钥的所述加密版本是结合所述第一密钥而产生的。
27.如权利要 求25所限定的制造品,其中,所述第三密钥的所述加密版本是结合所述第二密钥而产生的。
【文档编号】H04L9/30GK104040937SQ201280066389
【公开日】2014年9月10日 申请日期:2012年12月29日 优先权日:2011年11月9日
【发明者】Y·H·周 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1