存储器加密制造技术

技术编号:3523686 阅读:194 留言:0更新日期:2012-04-11 18:40
加密器20使用两个密码术步骤在关联地址A的控制下加密数据字D。散列函数B1将关联地址A转换成经散列的地址B1(A)。组合器24,如XOR函数,组合数据字D与经散列的地址B1(A)。结果被进一步使用块密码器B2而加密。写入器30在关联地址A的控制下将经加密的字D’写给存储器60。解密器40解密已在关联地址A的控制下从读取器60读取的经加密的字D’。散列函数B1将关联地址A转换成经散列的地址B1(A)。逆块密码器B2↑[-1]将经加密的字D’解密成中间形式。分解器,如XOR,通过组合解密的经加密的字B2↑[-1](D’)与经散列的地址B1(A)来产生明码文本数据字D。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及加密/解密数据字以便于安全存储在存储器中,其中数据字是通过相应的地址来识别的。
技术介绍
密码术正变得日益重要。主要方面是内容加密/解密和访问管理功能。重要的是保护整个供应链,包括通过网络进行的传输或诸如CD的存储介质上的供应,以及再现设备上内容的实际使用。这也意味着在再现设备的固态随机存取存储器或智能卡中存储数据亦需要受到保护。原则上,基于块密码器的加密可被用于这种保护。在密码术上强有力的块密码器一次加密字的多于一个的分量(分量典型地是字节)。这样的字通常被称为块,块密码器因此而得名。例如,DES将8个字节加密在一起,AES将16个字节加密在一起。即使很小的块密码器亦加密一个块中的4个字节。将几个字节加密在一起是必要的,这是因为它使可能的密码本字的数量大得多并且它平坦化了统计分布。DES是最众所周知的块密码器之一并且使用十六个密码术舍入(round)。通过在ECB模式(电子密码本模式)下使用DES,八个字节的每个明码文本字被单独加密,从而给出经加密的八字节字。在例如用于再现数据的应用水平,许多简单的设备一次对一个字节进行运算。在常规ECB模式下使用块密码器对于这样的系统具有缺点。对字的字节之一的改变导致了对经加密的字的所有字节的改变。因此不直接有可能改变经加密的字的仅一个字节。有必要首先检索明码文本形式的字的所有其它字节。对于8字节块密码器,这意味着改变一个字节包含了从存储器读取对应的经加密的八字节字,解密该字,改变八个字节之一并重新加密更新的字。对于DES,这包含了三十二倍消费的密码术舍入。作为结果,对经加密的存储器的访问明显慢于对未加密的存储器的访问。这对于消费者电子设备尤其是问题,在其中价格压力使得难以借助附加的硬件来克服或减小附加的延迟。而且,亦需要将功耗保持为低。因此,对于需要快速存储器访问的应用,可能需要减小许多舍入,从而导致了较弱的保护。在所谓的计数器模式(CTR)下使用块密码器来进行存储器加密是已知的。这被说明于图1中。每个字D通过相应的地址A来识别。在ECB模式下使用块密码器将地址A加密成经加密的地址A’=B(A)。数据字D被与经加密的地址A’组合以给出经加密的字D’。该组合是使用XOR函数D’=XOR(D,B(A))来进行的。取代ECB模式下的块密码器,其它合适的单向函数(散列)亦可被使用。由于地址识别字的所有分量(如字节),经散列的地址对于所有分量是有效的。一个分量的改变可通过以下来实现重新计算经加密的地址A’=B(A),检索原始数据字(D=XOR(D’,B(A))),改变给出新明码文本字D1的字的分量,以及重新组合D1与经加密的地址(D1’=XOR(D1,B(A)))。以这种方案,仅进行了一个加密步骤(对于DES,需要16个舍入)。然而,已知的是,当被用于加密随机存取存储器时,CTR模式在密码术上是弱的。而正常情况下对于用于强力攻击的四字节字,总共2564对的字及其经加密的计数器部分需要被收集,在此各个字节可被攻击。因此,可通过收集仅4*256对就可攻破系统。本专利技术的目的是提供一种存储器加密体系结构,其使能快速访问同时维持足够的安全。进一步的目的是这样的体系结构可被有效地实施于硬件和软件中以允许在消费者电子应用中的广泛使用。
技术实现思路
为达到本专利技术的目的,所述系统包括如在权利要求1中描述的加密器和解密器。散列函数被用于加扰(scramble)地址,并且经加扰的地址和数据字的组合被进一步使用块密码器来加密。该最后步骤克服了CTR模式存储器加密的弱点。通过使用二步骤加密(地址散列和组合的加密),最后的排列(permutation)的加密强度可被减小,因此CTR模式的速度优点的大部分可被维持。依照从属权利要求2的措施,所述体系结构使能用于读取的两个密码术步骤的并行安排。这增加了存储器访问的速度。进一步的优点是读取速度可被增加,这是因为在许多系统中,可能需要暂停处理直到数据被读取,而在后台发生的写入期间,处理可被继续。依照从属权利要求3的措施,相同的块密码器舍入被用于地址散列和用经散列的地址进行的数据的加扰。这具有的优点是仅一个密码术功能需要被实施。依照从属权利要求4的措施,预定块密码器的缺省舍入数(例如DES使用16个舍入)被划分于对地址的散列以及经散列的地址和数据字的组合的加密上。同样,舍入的总数可被保持与在存储器加密的CTR模式下所使用的相同,同时与CTR相比,增加了密码术的强度。依照从属权利要求5的措施,对地址的散列以及对经散列的地址和数据字的组合的加密两者的运算使用至少三个舍入,从而确保了排列的合理水平。在如被描述于从属权利要求6的优选实施例中,所述两个运算使用相同的舍入数。这特别使并行运算为最优的快速。依照从属权利要求7的措施,所述体系结构使能快速更新字的一个或多个分量,其中该整个字不可用于明码文本形式。本专利技术的目的亦由分别在独立权利要求8和9中要求的加密器和解密器以及如在独立权利要求10到13中要求的加密的方法和计算机程序产品来实现。附图说明从附图中所示的实施例来看,本专利技术的这些和其它方面将是显然的,并且将参照所述实施例被描述。图1示出现有技术CTR存储器加密体系结构;并且图2说明依照本专利技术的存储器加密体系结构。具体实施例方式图2示出依照本专利技术的密码术系统。该系统包括具有加密器20和解密器40的密码术单元10。单元10典型地被连接于直接存取存储器60以便于以安全的方式来存储数据。将理解,程序(即任何形式的计算机指令,如可执行代码)亦意味着数据。在本说明书中,假定存储器是读和写类型的。然而,系统亦可被用于只读。优选地,密码术单元10被实施于安全模块中以减小篡改(tamper)的机会。加密器20通过输入26从处理单元接收由多个分量组成的数据字D。典型地,一个分量是一个字节,但其它大小,如四位字节或16位的分量亦可被使用。加密器20亦通过输入22接收地址A,其识别存储器60中的字的存储位置。优选地,提供字D和地址A的处理单元亦被引入到相同的安全模块中。加密器20包括散列函数B1,用于将地址转换成经散列的地址B1(A)。优选地,散列函数B1是以块密码器的舍入的形式而实施的键控散列函数。DES或TEA是众所周知的,并且是将在依照本专利技术的系统中使用的适当密码器。加密器20亦包括组合器24,用于组合经散列的地址B1(A)与所接收的字D。优选地,组合器24被实施为逐位XOR(异或)函数。这给出了XOR(D,B1(A))的中间结果。组合器24的输出通过加密器20的块密码器B2来馈送以给出经加密的字D’。写入器30在地址A的控制下将经加密的字D’写给存储器。该写入可处于地址A的直接控制下。然而,特别是如果存储器60位于安全模块之外,则优选的是加密器包括附加的加扰函数28,用于将地址A加扰成经加扰的地址A’,其被用于访问存储器60。然后经加扰的地址A’而不是地址A被提供给写入器30。加扰函数不应与散列函数B1相同,从而确保没有信息从安全模块泄漏。将理解,在正常情况下,地址将识别字的单独分量。通常可从分量地址以简单的方式得到字地址(例如,如果忽略字节水平地址的两个最低有效位,其中一个字中有四个字节)。解密器40执行加密器20的逆运算。通过输入42,解密器40从处理单本文档来自技高网
...

【技术保护点】
一种用于在存储器中以加密的形式来存储数据字的系统,所述数据字通过相应的关联地址来识别;该系统包括:加密器,用于在关联地址(A)的控制下加密数据字(D);该加密器包括:散列函数(B1),用于将关联地址(A)转换成经散列的地址( B1(A)),组合器,用于组合数据字(D)与经散列的地址(B1(A)),以及块密码器(B2),用于将经组合的字/经散列的地址加密成经加密的字(D’);写入器,用于在关联地址(A)的控制下将经加密的字(D’)写给存储器 ;读取器,用于在与所述字关联的地址(A)的控制下从存储器读取经加密的字(D’);散列函数(B1),用于将关联地址(A)转换成经散列的地址(B1(A));该散列函数与加密器所使用的相同;块密码器(B2↑[-1]),用于 解密经加密的字(D’);该块密码器是加密器的块密码器(B2)的逆;以及分解器,用于通过组合解密的经加密的字(B2↑[-1](D’))与经散列的地址(B1(A))来检索数据字(D)。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:SM范里斯沃
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL[荷兰]

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

1