数据处理装置以及数据处理方法

文档序号:2406080阅读:260来源:国知局
专利名称:数据处理装置以及数据处理方法
技术领域
本发明涉及对存储装置中保存的数据进行保护的技术。
背景技术
移动电话等的嵌入设备由于具备付费内容等有价值的资产,所以成为非法获得该资产的攻击对象。作为该攻击之一,有数据探测(data probing)。数据探测是从MPU(Micro Processor Unit)芯片与外部RAM (Random Access Memory)之间露出的数据总线布线读出数据的攻击。作为防止因该数据探测而导致的信息泄漏的方法,有数据扰频(data scramble)。 数据扰频是通过在从MPU芯片向外发出数据之前将数据转换成扰频数据,来对攻击者加密该数据内容的技术。这里针对图1进行说明。图1中图解说明了现有的数据扰频的一个例子。在图1中,作为数据处理装置的MPU芯片1具有位宽都是w-bit的地址总线11和数据总线12,与作为存储装置的外部RAM2分别连接。并且,MPU芯片1在内部具有处理器 100和扰频部200。地址总线11输出由处理器100输出的、赋予给外部RAM2的地址数据。扰频部200对处理器100输出的写入数据、即与由地址总线11输出的地址数据确定的外部RAM2的存储位置对应的该写入数据进行扰频,来获得加密数据。数据总线12输出扰频部200获得的加密数据。对图1所示的扰频部200的构成进一步加以说明。扰频部200构成为具备密钥寄存器201、异或运算电路(以下称为“X0R电路” )202、替代函数处理部203、以及M)R电路204。密钥寄存器201是存储有W-bit扰频密钥数据K的寄存器。XOR电路202求出和地址总线11输出的地址数据相同的地址数据、与密钥寄存器 201中储存的扰频密钥数据的每一位的异或。替代函数处理部203进行使从XOR电路202输出的w_bit数据的输入,与由w_bit 位表现的任意一个数据唯一对应地加以输出的替代转换处理。XOR电路204在扰频动作时,求出处理器100输出的写入数据、与从替代函数处理部203输出的和地址数据对应的数据(掩码(mask)值)的每一位的异或。从该M)R电路 204输出的数据是将写入数据扰频后的加密数据,该数据被从数据总线12向外部RAM2输出。该加密数据被存储到外部RAM2中的、由地址总线11输出的地址数据确定的存储位置。在MPU芯片1从外部RAM2读出该加密数据的情况下,扰频部200进行去扰频 (descramble)动作。MPU芯片1从外部RAM2读出加密数据时由地址总线11输出的地址数据与写入该加密数据时的地址数据相同。因此,如果密钥寄存器201的扰频密钥数据K与替代函数处理部203中的替代转换F这两者和扰频动作时的相同,则加密数据读出时从替代函数处理部203输出的掩码值与加密数据写入时的掩码值相同。XOR电路204在去扰频动作时求出从外部RAM2读出的加密数据、与从替代函数处理部203输出的掩码值的每一位的异或。这里,由于加密数据写入时和读出时掩码值相同, 所以加密数据与掩码值的异或成为原来的写入数据。这样结束了加密数据的去扰频,得到的原来的写入数据被处理器100读入。这样,在图1所示的构成中,MPU芯片1内部的扰频部200进行向外部RAM2写入的数据的扰频。即,由于处理器100与扰频部200的布线没有露出到MPU芯片1外部,所以无法通过数据探测来读出被实施扰频前的写入数据。另外,在该图1所示的构成中,进行数据处理的处理器100 —般地利用在准备写入数据之前,可以对地址总线11准备地址数据这一特性,来进行掩码值的预先计算。如此地通过尽量减少针对写入数据的处理,实现了在处理器100与外部RAM2之间所被允许的延迟时间内完成扰频处理这一高速响应性能。一般在向存储装置写入的数据的扰频中,如果通过公共密钥分组加密等生成掩码值,则能够提高安全性,即使处理方式被公开了,也能够确保安全性。但是,由于公共密钥分组加密一般处理复杂,所以如果使用公共密钥分组加密,则难以满足传输写入数据的数据总线12所要求的条件、即高速响应性能。另一方面,采用图1所示的构成的扰频通过把扰频部200嵌入到MPU芯片1内,来将攻击者难以知晓生成掩码值的算法作为安全性的担保。由于采用该构成的扰频与即使扰频的算法被公开但引入了安全的加密处理的情况相比计算量少,所以具有能够高速处理这一特征。另外,图1所示的构成中的数据扰频部200使用从处理器100输出的写入数据与地址数据这两方信息,来生成扰频数据(加密数据)。这样,通过采用还取决于地址数据的数据扰频算法,即使在写入数据相同的情况下,写入到外部RAM2的扰频数据也会因地址数据的不同而不同,因此解析对抗性提高。另外,作为其他的背景技术,公知有在存储器单元侧也进行数据的扰频的技术;和对加密后的数据进一步加密的双重加密技术。专利文献1 日本特开2001-109667号公报专利文献2 日本特开2002-3^844号公报专利文献3 日本特开2004-110408号公报如上所述,通过在MPU芯片1内具备扰频部200,能够针对数据探测来使数据成为加密数据。但是,依然存在攻击者对扰频算法进行解析这一危险性。为了确保扰频的安全性,需要对扰频算法的安全性进行评价。对如图1的扰频部200中所采用那样的、使用扰频密钥数据进行数据扰频的算法、 即带密钥的扰频算法的安全性进行评价的项目之一,是对基于已知的明文电文攻击的密钥穷举搜索攻击的对抗性。在该密钥穷举搜索攻击中,扰频密钥数据、写入数据、扰频数据以及地址数据、与安装了扰频算法的硬件的组中,除了扰频密钥数据以外的数据被赋予给攻击者。攻击者在该情况下,任意地设定扰频密钥数据来执行扰频。然后,反复进行该执行,直到确定出在被赋予的组中使用的扰频密钥数据为止。
扰频密钥数据的密钥长度越长,针对该密钥穷举搜索攻击的对抗性越高。另外,可通过使该密钥穷举搜索攻击所需要的计算量采用在现实的时间内无法计算的值,来确保安全性。图1的扰频部200中采用的带密钥的扰频算法无法使扰频密钥数据的密钥长度 (位长)长至处理器100的字长以上。例如,目前多数面向嵌入设备的处理器的字长为32bit以下。这里,考虑对将字长设为32bit的情况下的、对图1的扰频部200的密钥穷举搜索攻击。如果假设每一秒钟能够执行1000次扰频,则经过50天就能够探索出扰频密钥数据。另外,作为对带密钥的扰频算法的攻击方法,公知有一种选择明文电文攻击的方法。在该攻击中,设想成攻击者虽然无法知晓扰频密钥数据,但能够自由设定数据和地址数据来获得扰频数据的情况。即,该攻击是假定攻击者的能力比密钥穷举搜索攻击高的攻击。在图1的扰频部200中,攻击者首先针对全部的地址数据生成写入数据与扰频数据的对儿。然后,如果计算出扰频数据与写入数据的异或,则就可以知晓针对全部扰频数据的掩码值。于是,攻击者可以在不知晓扰频密钥数据的状态下,使用得到的掩码值将任意地址的扰频数据去扰频成数据。

发明内容
本发明鉴于上述问题而提出,其想要解决的课题是,提供一种对选择明文电文攻击具有对抗性的数据扰频方式。本说明书中公开的数据处理装置具有地址总线、扰频部和数据总线。其中,地址总线用于输出对存储装置赋予的地址数据。扰频部用于对与由地址总线输出的地址数据确定的存储装置的存储位置对应的写入数据进行扰频,来获得加密数据。数据总线用于输出扰频部获得的加密数据。其中,扰频部具有第1扰频单元、第1转换单元和第2扰频单元。其中,第1扰频单元通过求出与和地址数据对应的第1掩码数据的每一位的异或,来对写入数据进行扰频从而获得第1扰频数据。第1转换单元用于对该第1扰频数据一对一地进行替代转换。第 2扰频单元通过求出与和地址数据对应的第2掩码数据的每一位的异或,来对由第1转换单元针对第1掩码数据实施转换后的数据进行扰频从而获得第2扰频数据。其中,扰频部将该第2扰频数据作为加密数据。该装置中,在第1转换单元对第1扰频单元扰频后的写入数据进行了替代转换的基础上,第2扰频单元进一步进行扰频。可防止由该第1转换单元针对写入数据的处理,成为与掩码值的单纯的异或。即,根据该装置的构成,扰频部的输入输出中的写入数据与加密数据的关系除了取决于地址数据以外,还取决于写入数据。因此,由该装置进行的数据扰频对选择明文电文攻击具有对抗性。另外,在该装置中,作为用于求出针对写入数据的掩码值的单元,具有第1扰频单元和第2扰频单元这2个扰频单元。这里,通过根据地址数据与第1扰频密钥数据求出第 1掩码数据,根据地址数据与第2扰频密钥数据求出第2掩码数据,能够使扰频密钥数据整体的密钥长度比现有的密钥长度长。由此,对密钥穷举搜索攻击的对抗性与前述的以往情况相比得以提高。
另外,在该装置的第1扰频单元以及第2扰频单元中,可以预先进行为了根据地址数据来获得掩码值的计算。因此,如果将转换单元设为高速,则该装置能够使扰频动作实现高速响应性能。另外,在本说明书中,还公开了通过该数据处理装置对存储装置中存储的加密数据进行去扰频,来获得原来的写入数据的去扰频装置。该去扰频装置具有地址总线、第1去扰频单元、逆转换单元和第2去扰频单元。其中,地址总线用于输出对存储装置赋予的地址数据。第1去扰频单元通过求出与前述的第2掩码数据的每一位的异或,来对从由地址数据确定的存储装置的存储位置读出的加密数据进行去扰频从而获得中间去扰频数据。逆转换单元针对该中间去扰频数据, 进行由前述的第1转换单元实施的替代转换的逆转换。第2去扰频单元通过求出与第1掩码数据的每一位的异或,来对由逆转换单元针对中间去扰频数据实施逆转换后的数据进行去扰频从而获得原来的写入数据。根据该去扰频装置,前述的数据处理装置读出存储装置中存储的加密数据并对其进行去扰频,能够获得原来的写入数据。另外,当然能够构成为前述的数据处理装置具有该去扰频装置的构成要素,由数据处理装置自身根据加密数据来获得原来的写入数据。而且,本说明书中还公开了上述的数据处理装置进行的数据处理方法、以及上述的去扰频装置进行的去扰频方法。根据本说明书中公开的装置以及方法,起到能够提供一种对选择明文电文攻击具有对抗性的数据扰频方式这一效果。


图1是图解表示现有的数据扰频的一个例子的图。图2是数据处理装置的整体构成图。图3是图解表示图2所示的扰频部的构成的第1例的图。图4是图解表示图2所示的扰频部的构成的第2例的图。图5是去扰频部的构成图。图6A是替代函数以及其逆函数的第1例。图6B是替代函数以及其逆函数的第2例。图7是图解表示图2所示的扰频部的构成的第3例的图。图8是图解表示图2所示的扰频部的构成的第4例的图。图9是图解表示图2所示的扰频部的构成的第5例的图。附图标记说明1-MPU芯片;2-外部RAM ;11_地址总线;12-数据总线;100-处理器;200-扰频部;201、211、221-l、221-2、221-n-密钥寄存器;202、204、212、214、221_1、 221-2、224-l、224-2、222-n、224-n-异或运算电路;203、213、220、223-1、223-2、230_1、 230-2、320、223-n、230-n-替代函数处理部;205、215_寄存器;206-基本部;206-1-第1基本部;206-2-第2基本部;216-扩展部;216-1-第1扩展部;216-2-第2扩展部;300-去扰频部。
具体实施例方式
8
以下,基于附图对本发明的实施方式进行说明。图2中图解表示了作为数据处理装置的MPU芯片1的整体构成。在图2中,MPU芯片1具有位宽都是w-bit的地址总线11和数据总线12,与作为存储装置的外部RAM2分别连接。并且,MPU芯片1在内部具有处理器100和扰频部200。地址总线11输出由处理器100输出的、赋予给外部RAM2的地址数据。扰频部200对处理器100输出的写入数据、即与由地址总线11输出的地址数据确定的外部RAM2的存储位置对应的该写入数据进行扰频,得到加密数据。数据总线12输出扰频部200得到的加密数据。对图2所示的扰频部200的构成进一步加以说明。图3中图解表示了该扰频部 200的构成的第1例。在图3中,扰频部200构成为具备密钥寄存器201及211、X0R电路202、204、212 及214、以及替代函数处理部203及213。密钥寄存器201是保存有w-bit扰频密钥数据KO的寄存器。该密钥寄存器201 中预先保存的扰频密钥数据KO (在以下的说明中,有时也将该密钥数据KO称为“第1扰频密钥数据”)能够变更。XOR电路202求出和地址总线11输出的地址数据相同的地址数据、与密钥寄存器 201中保存的第1扰频密钥数据的每一位的异或。替代函数处理部203进行使从M)R电路202输出的w_bit数据的输入,与由w_bit 位表现的任意一个数据唯一对应地输出的替代转换处理。在该替代函数处理部203中进行的替代转换FO —般将输入输出的关系设为非线形。其中,替代函数处理部203通过将基本逻辑元件(逻辑乘电路、逻辑和电路、非电路等)组合而构成。不过,如果处理速度不受限, 则例如也可以参照存储装置中预先存储的、对输入输出的对应关系预先进行了定义的表来进行替代转换。其中,在以下的说明中,将从该替代函数处理部203输出的数据中、与地址数据对应的该数据称为“第1掩码数据”。XOR电路204通过求出处理器100输出的写入数据、与从替代函数处理部203输出的第1掩码数据的每一位的异或,来进行该写入数据的扰频。在以下的说明中,将由密钥寄存器201JOR电路202及204、以及替代函数处理部 203进行的扰频称为“第1扰频”。另外,将通过该第1扰频而得到的数据称为“第1扰频数据”。密钥寄存器211是保存有w-bit扰频密钥数据Kl的寄存器。该密钥寄存器211 中预先保存的扰频密钥数据Kl (在以下的说明中,有时也将该密钥数据Kl称为“第2扰频密钥数据”)也能够变更。XOR电路212求出和地址总线11输出的地址数据相同的地址数据、与密钥寄存器 211中保存的第2扰频密钥数据的每一位的异或。替代函数处理部213进行使从XOR电路212输出的w_bit数据的输入,与由w_bit 位表现的任意一个数据唯一对应地输出的替代转换处理。在该替代函数处理部213中进行的替代转换Fl也与替代转换FO同样,一般将输入输出的关系设为非线形。该替代函数处理部213也通过将基本逻辑元件组合而构成,如果处理速度不受限,则例如也可以参照存储装置存储的对输入输出的对应关系进行了预先定义的表来进行替代转换。其中,在以下的说明中,将从该替代函数处理部213输出的数据中、与地址数据对应的该数据称为“第2 掩码数据”。XOR电路214通过求出基于第1扰频而得到的第1扰频数据、与从替代函数处理部 213输出的第2掩码数据的每一位的异或,来进行该第1扰频数据的扰频。在以下的说明中,将由密钥寄存器211JOR电路212及214、以及替代函数处理部 213进行的扰频称为“第2扰频”。另外,将通过该第2扰频而得到的数据称为“第2扰频数据”。在图3的构成中,通过该第2扰频而得到的第2扰频数据是对处理器100输出的写入数据进行扰频后的加密数据,该数据被从数据总线12向外部RAM2输出。该加密数据被存储到外部RAM2中的、由地址总线11输出的地址数据确定的存储位置。这样,图3所示的扰频部200的构成是将图1所示的现有构成纵列2级连接而成的构成。因此,为了对通过该构成而得到的加密数据进行去扰频从而得到原来的写入数据, 只要以与图3相反的顺序进行图1所示的现有构成中的去扰频即可。在图3的构成中,使用密钥长度都是w-bit的第1扰频密钥数据以及第2扰频密钥数据,来进行写入数据的扰频。因此,作为扰频部200整体,写入数据的扰频所使用的扰频密钥数据的密钥长度在表观上变成2倍(2w-bit),但由于图3的构成能够向与其等效的图1的构成转换,所以和图1相比安全性不变。接着,对图4进行说明。图4是图解表示了图2所示的扰频部200的构成的第2 例。在图4中,对与图3所示的要素相同的构成要素赋予了相同的附图标记。对这些构成要素的一部分省略说明。该图4所示的构成与图3所示的构成的第1例的不同之处在于追加了对通过第 1扰频而得到的第1扰频数据一对一地进行替代转换的替代函数处理部220。而且,在该图 4所示的构成的第2扰频中,通过由XOR电路214求出与第2掩码数据的每一位的异或来对替代函数处理部220对第1扰频数据转换后的数据进行扰频,从而得到第2扰频数据。而且,该第2扰频数据成为对处理器100输出的写入数据进行扰频后的加密数据。替代函数处理部220进行使w-bit第1扰频数据的输入,与由w-bit位表现的任意一个数据一对一对应地输出的替代转换处理。由该替代函数处理部220进行的替代转换 G也和替代转换F0、F1同样,一般将输入输出的关系设为非线形。该替代函数处理部220通过将基本逻辑元件组合而构成,如果处理速度不受限,则例如也可以参照存储装置预先保存的对输入输出的对应关系进行了预先定义的表来进行替代转换。不过,由于该替代函数处理部220进行向外部RAM2写入的数据的替代转换,所以优选转换处理为高速。在该图4所示的构成中,在替代函数处理部220对通过第1扰频进行了扰频后的写入数据(即第1扰频数据)实施了替代转换的基础上,第2扰频进一步进行扰频。由此, 能够防止针对写入数据的处理成为与掩码值的单纯的异或。即,根据该图4所示的构成,扰频部200的输入输出中的写入数据与加密数据的关系除了取决于地址数据之外,还取决于写入数据。因此,具有图4所示的构成的扰频部200所进行的数据扰频对选择明文电文攻击具有对抗性。另外,由于替代函数处理部220的输入输出不从扰频部向外露出,所以能够防止对替代函数处理部220的攻击。即,在将替代函数处理部220设置到204的左侧或214的右侧的情况下,成为针对替代函数处理部220的单纯差分攻击脆弱的构成。因此,在图4 所示的构成中,需要将替代函数处理部220设置在204与214之间。并且,在该图4所示的构成中,作为扰频部200整体,写入数据的扰频所使用的扰频密钥数据的密钥长度成为2倍(2w-bit)。因此,对密钥穷举搜索攻击的对抗性与图1的现有构成相比得以提高。接下来,对被具有该图4所示的构成的扰频部200的MPU芯片1存储在外部RAM2 中的加密数据的去扰频进行说明。图5是对该加密数据进行去扰频的去扰频部的构成图。在图5的构成中,作为数据处理装置的图2的MPU芯片1在内部具备去扰频部300。 当然也可以取代这样构成,而构成为与MPU芯片1独立的去扰频装置中具备去扰频部300。在图5中,对与图4所示的要素相同的构成要素赋予了相同的附图标记。省略了这些构成要素的一部分的说明。图5所示的去扰频部300构成为具备密钥寄存器201及211、X0R电路202、204、 212及214、以及替代函数处理部203、213及320。其中,地址总线11与图4所示的同样,输出由处理器100输出的、赋予给外部RAM2的地址数据。XOR电路214通过求出与前述第2掩码数据的每一位的异或来对从由地址数据确定的外部RAM2的存储位置读出的加密数据(即前述的第2扰频数据)进行去扰频。于是、 得到前述的由替代函数处理部220进行了转换后的第1扰频数据。这里将该去扰频称为 “第1去扰频”,将通过该第1去扰频而得到的数据称为“中间去扰频数据”。替代函数处理部320对M)R电路214得到的中间去扰频数据,进行由替代函数处理部220实施的替代转换G的逆转换G—1。于是,得到前述的第1扰频数据。这里,对图6A进行说明。图6A是替代函数G以及其逆函数G—1的第1例。其中, 该图6A的替代函数G的例子是输入输出的字长为4-bit( "0 "(2进制下“0000”) “f”(2 进制下“1111”)这16个值)的例子。图6A中表现了替代函数G例如被输入“8”时输出“0”的情况。而且,表现了如果作为该替代函数G的输出的“0”被输入给逆函数G—1,则输出对替代函数G输入的“8”的情况。在图6A中,该替代函数G与其逆函数G—1的输入输出的关系显然在“0” “f ”的所有值下都成立。另外,该替代函数G的输入输出关系也明显一对一地对应。其中,替代函数处理部320也和替代函数处理部220同样,通过将基本逻辑元件组合而构成。这里,如果处理速度不受限,则例如也可以参照存储装置中存储的对输入输出的对应关系进行了预先定义的表来进行替代转换。不过,由于该替代函数处理部320进行从外部RAM2读出的数据的替代转换,所以优选转换处理为高速,这也与替代函数处理部220 同样。返回到图5的说明。XOR电路204通过求出与前述的第1掩码数据的每一位的异或,来去扰频由替代函数处理部320对中间去扰频数据逆转换后的数据。于是,得到在扰频部200进行扰频动作时处理器100输出的原来的写入数据。这里将该去扰频称为“第2去扰频”。图5中表示了构成的去扰频部300所实施的去扰频动作如以上那样进行。这里,将图4的扰频部200的构成与图5的去扰频部300的构成进行对比。于是, XOR电路204无论在哪个构成中,都求出被输入的数据(在扰频部200中为写入数据,在去
11扰频部300中为中间去扰频数据的逆转换后的数据)与前述的第1掩码数据的异或。因此, 扰频部200的第1扰频与去扰频部300的第2去扰频中可以共享M)R电路204。另外,XOR 电路214无论在哪个构成中,都求出被输入的数据(在扰频部200中是第1扰频数据,在去扰频部300中是从外部RAM2读出的加密数据)与前述的第2掩码数据的异或。因此,扰频部200的第2扰频与去扰频部300的第1去扰频可以共享M)R电路204。这样,通过在扰频部200进行的扰频动作与去扰频部300进行的去扰频动作中共享XOR电路204及214,能够削减MPU芯片1的电路规模。并且,由密钥寄存器201、XOR电路202以及替代函数处理部203构成的用于获得第1掩码数据的构成,在扰频部200与去扰频部300中相同。而且,由密钥寄存器211、X0R 电路212以及替代函数处理部213构成的用于获得第2掩码数据的构成,在扰频部200与去扰频部300中也相同。因此,在使扰频部200与去扰频部300在单一的MPU芯片1内部共存的情况下,能够共享密钥寄存器201及211、X0R电路202及212、以及替代函数处理部 203及213。通过将这些构成要素在扰频部200进行的扰频动作与去扰频部300进行的去扰频动作中共享,也能够削减MPU芯片1的电路规模。另外,也可以在替代函数处理部220与替代函数处理部320中,共享对被输入的数据一对一地进行替代转换并且该替代转换的正转换与其逆转换为同态的替代函数处理部 (这里称为“同态替代转换”)。这里,对图6B进行说明。图6B是替代函数G以及其逆函数G—1的第2例。其中,该图6B的替代函数G的例子也与图6A所示的第1例同样,是输入输出的字长为4-bit ("0"(2 进制为“0000”) “f” O进制为“1111”)这16个值)的例子。图6B中表现了替代函数G例如被输入“0”时输出“3”的情况。而且,表现了将作为该替代函数G的输出的“3”输入给逆函数G—1时,输出对替代函数G输入的“0”的情况。 在图6B中,该替代函数G与其逆函数G—1的输入输出的关系显然在“0” “f”的所有值下都成立。而且,该替代函数G的输入输出关系也明显一对一地对应。并且,在图6B的例子中,替代函数G中的输入与输出的对应关系和其逆函数G—1中的对应关系也明显相同。因此,该图6B的替代函数正转换G与其逆转换G—1同态。如果构成进行这样的同态替代转换的函数处理部,则可以在替代函数处理部220 与替代函数处理部320中对其共享。即,通过将进行同态替代转换的函数处理部在扰频部 200中的替代函数处理部220与去扰频部300中的替代函数处理部320中共享,能够削减 MPU芯片1的电路规模。接下来,对由图4所示的扰频部200实施的扰频的安全性进行研究。例如,考虑将处理器的字长(即地址数据及写入数据的位宽)设为32-bit的情况。此时,可以将第1扰频密钥数据以及第2扰频密钥数据都设为32-bit。此时,扰频密钥数据整体的密钥长度为64-bit。该情况下,如果假设1秒钟能够进行1000次扰频动作,则针对前述的带密钥的扰频算法的密钥穷举搜索攻击需要584,942,417年。另外,即使1秒钟能够进行1,000, 000, 000次扰频动作,也需要584年。因此,想要在现实的时间内发现扰频密钥数据非常困难。其中,对处理器100而言,优选是对外部RAM2的访问为高速的处理器。因此,优选由扰频部200进行的扰频动作以及由去扰频部300进行的去扰频动作所需要的时间少。这里,如果将进行替代转换或其逆转换的替代函数处理部203、213、220以及320例如构成如以下那样,则能够缩短该时间。即,在将字长设为32-bit的情况下,取代将替代函数处理部203、213、220以及320 单纯地构成为32-bit的替代函数,而例如由32-bit的置换函数与8个4-bit替代函数的组合进行代替。一般而言,替代函数字长越长,构成的复杂度以指数级增加,转换所需要的时间也越长。因此,通过将由于只进行位的重新排列所以构成极其容易且转换时间短的置换函数、与字长短的替代函数组合,作为字长长的替代函数的代用,能够缩短替代转换所需要的时间。另外,作为代替而使用的替代函数并不限定于4-bit字长的函数,例如也可以使用2个6-bit替代函数与4个5-bit替代函数,或者可以使用4个8-bit置换函数。另外,替代函数处理部203及213不需要进行同态替代转换,可以进行非同态的替代转换。进行非同态的替代转换的电路有时与同态的相比处理速度高。接着,对图7进行说明。图7中图解表示了图2所示的扰频部200的构成的第3 例。在图7中,对与图4所示的要素相同的构成要素赋予了相同的附图标记。省略这些构成要素的一部分的说明。图7所示的扰频部200的构成适合于使扰频部200同步动作的情况,与图3所示的构成的第1例不同之处在于追加了寄存器205及215。寄存器205中存储保持有从替代函数处理部203输出的第1掩码数据。而在寄存器215中存储保持有从替代函数处理部213输出的第2掩码数据。在图7所示的构成中,进行数据处理的处理器100利用了在准备写入数据之前,可以对地址总线11准备地址数据这一一般的特性。S卩,首先进行由M)R电路202及204实现的地址数据与第1扰频密钥数据及第2 扰频密钥数据的异或运算、和该运算结果通过替代函数处理部203及213实现的替代转换。 然后,将得到的第1掩码数据以及第2掩码数据分别保存到寄存器205及215中。然后,在从处理器100输出写入数据时,执行XOR电路204的异或运算、其运算结果通过替代函数处理部220实施的替代转换、以及基于M)R电路214的异或运算。然后,作为其执行结果,将得到的加密数据向RAM2输出。其中,通过图7所示的构成的扰频部200的扰频而得到的加密数据的去扰频,例如可以使用图5所示的构成的去扰频部300来进行。接着,对图8进行说明。图8中图解表示了图2所示的扰频部200的构成的第4 例。在图8中,对与图4所示的要素相同的构成要素赋予了相同的附图标记。省略了这些构成要素的一部分的说明。其中,在这里将图4所示的扰频部200的构成、即由密钥寄存器201及211、XOR电路202、204、212及214、以及替代函数处理部203、213、及220构成的结构称为基本部。S卩,在图8所示的扰频部200的构成中,将由密钥寄存器201JOR电路 202及204、以及替代函数处理部203构成的结构称为第1基本部206-1。另外,在图8中, 将由密钥寄存器211、XOR电路212及214、以及替代函数处理部213及220构成的结构称为第2基本部206-2。另一方面,在图8中,将由密钥寄存器221-1、XOR电路222-1及224-1、以及替代函数处理部223-1及230-1构成的结构称为第1扩展部216-1。而且,在图8中,将由密钥寄存器221-2 JOR电路222-2及224-2、以及替代函数处理部223-2及230-2构成的和第1 扩展部216-1相同的结构,称为第2扩展部216-2。S卩,图8所示的扰频部200构成为具备第1基本部206-1及第2基本部206_2、 和都将对象数据扰频而输出扰频数据的第1扩展部216-1及第2扩展部216-2。这里,第2基本部206-2被输入通过由第1基本部206-1进行的前述的第1扰频而获得的数据(即第1扰频数据),作为对象数据。而且,第2基本部206-2进行前述的第 2扰频,输出前述的第2扰频数据。第1扩展部216-1被输入第2基本部206-2输出的扰频数据(第2扰频数据)作为对象数据。在第1扩展部216-1中,替代函数处理部230-1将该对象数据一对一地替代转换,并且密钥寄存器221-1、XOR电路222-1以及替代函数处理部223-1生成与地址数据对应的掩码数据。然后,XOR电路2M-1求出由替代函数处理部230-1进行的替代转换后的数据、与该掩码数据的每一位的异或。第1扩展部216-1如此进行第2基本部206-2输出的扰频数据的进一步的扰频。第2扩展部216-2被输入第1扩展部216-1输出的扰频数据,作为对象数据。在第2扩展部216-2中,替代函数处理部230-2将该对象数据一对一地替代转换,并且密钥寄存器221-2、XOR电路222-2以及替代函数处理部223-2生成与地址数据对应的掩码数据。 然后,XOR电路224-2求出由替代函数处理部230-2进行的替代转换后的数据、与该掩码数据的每一位的异或。第2扩展部216-2如此进行第1扩展部216-1输出的扰频数据的进一步的扰频。图8所示的扰频部200将第2扩展部216_2输出的扰频数据作为加密数据,从数据总线12向外部RAM2输出。这样,图8所示的扰频部200的构成是在图4所示的第2构成中,将紧接着基本部的扩展部纵列2级连接而成的构成。因此,为了对通过该构成而得到的加密数据进行去扰频,来得到原来的写入数据,只要倒序进行2次对于扩展部的去扰频,然后进行对于基本部的去扰频即可。图8所示的扰频部200利用4个密钥寄存器201及211以及221_1及221_2中保存的4个扰频密钥数据,进行写入数据的扰频。因此,作为扰频部200整体,写入数据的扰频所使用的扰频密钥数据的密钥长度成为4倍(#-bit)。从而,通过采用图8的构成,使得对密钥穷举搜索攻击的对抗性比图4的构成更加提高。接着,对图9进行说明。图9图解表示了图2所示的扰频部200的构成的第5例。 该第5例是将图8所示的第4例中的扩展部的纵列连接数扩展为η级的例子。在图9中,扰频部200具有基本部206 ;和扩展部216,其具备对对象数据进行扰频而输出扰频数据的η个(其中,η至少为1以上的整数)扩展扰频部。这里,第η扩展扰频部构成为具备密钥寄存器221-n、X0R电路222-η及224-η、以及替代函数处理部223-η及230-η。这里,替代函数处理部230_η对该第η扩展扰频部中的成为扰频对象的对象数据一对一地进行替代转换。另一方面,密钥寄存器221-n、XOR电路 222-η以及替代函数处理部223-η求出与处理器100输出的地址数据对应的掩码数据(追加掩码数据)。然后,XOR电路通过求出与该追加掩码数据的每一位的异或,来对由替代函数处理部230-Π对对象数据实施替代转换后的数据进行扰频,输出扰频数据(追加扰频数据)。其中,此时的对象数据是第(n-1)扩展扰频部输出的追加扰频数据(另外,在 η = 1时是基本部206输出的扰频数据)。图9的扰频部200如以上那样构成,将第η扩展扰频部获得的追加扰频数据作为加密数据,从数据总线12向外部RAM2输出。这样,图9所示的扰频部200的构成是在图4所示的第2构成中,将紧接着基本部的扩展部纵列η级连接而成的构成。因此,为了对由该构成得到的加密数据进行去扰频、得到原来的写入数据,只要按倒序进行η次针对扩展部的去扰频,然后进行针对基本部的去扰频即可。图9所示的扰频部200使用11+2个密钥寄存器201、211、、221-1、…、221_η中保存的η+2个扰频密钥数据,进行写入数据的扰频。因此,作为扰频部200整体,写入数据的扰频所使用的扰频密钥数据的密钥长度成为(η+2)倍((n+2)w-bit)。从而,通过采用图9 的构成,对密钥穷举搜索攻击的对抗性与图4的构成相比更加提高。另外,在图9的构成中,为了高速化,也可以在允许的安全性范围内将替代函数处理部230-n削减到小于η个。而且,本发明并不限于以上说明的实施方式,在实施阶段能够在不变更其主旨的范围进行各种变形。
权利要求
1.一种数据处理装置,其特征在于, 具有地址总线,其输出对存储装置赋予的地址数据;扰频部,其对写入数据进行扰频从而获得加密数据,其中,该写入数据对应于由该地址总线所输出的地址数据确定的该存储装置的存储位置;和数据总线,其输出该扰频部获得的加密数据, 该扰频部具有第1扰频单元,其通过求出与和该地址数据对应的第1掩码数据的每一位的异或,来对该写入数据进行扰频从而获得第1扰频数据;第1转换单元,其对该第1扰频数据一对一地进行替代转换;和第2扰频单元,其通过求出与和该地址数据对应的第2掩码数据的每一位的异或,来对由该第1转换单元针对该第1扰频数据实施转换后的数据进行扰频从而获得第2扰频数据,将该第2扰频数据作为该加密数据。
2.根据权利要求1所述的数据处理装置,其特征在于,该第1扰频单元对该地址数据与第1扰频密钥数据的每一位的异或进行替代转换,求出该第1掩码数据,该第2扰频单元对该地址数据与第2扰频密钥数据的每一位的异或进行替代转换,求出该第2掩码数据。
3.根据权利要求1所述的数据处理装置,其特征在于,还具有第1去扰频单元,其通过求出与该第2掩码数据的每一位的异或,来对从由该地址数据确定的该存储装置的存储位置读出的该加密数据进行去扰频从而获得中间去扰频数据;逆转换单元,其对该中间去扰频数据进行由该第1转换单元实施的替代转换的逆转换;和第2去扰频单元,其通过求出与该第1掩码数据的每一位的异或,来对由该逆转换单元针对该中间去扰频数据实施逆转换后的数据进行去扰频从而获得该写入数据。
4.根据权利要求3所述的数据处理装置,其特征在于, 还具有第1逻辑电路,其求出被输入的数据与该第1掩码数据的每一位的异或;和第2逻辑电路,其求出被输入的数据与该第2掩码数据的每一位的异或, 该第1扰频单元进行的扰频与该第2去扰频单元进行的去扰频共享该第1逻辑电路, 该第2扰频单元进行的扰频与该第1去扰频单元进行的去扰频共享该第2逻辑电路。
5.根据权利要求3所述的数据处理装置,其特征在于,该第1转换单元进行的替代转换与该逆转换单元进行的逆转换共享同态替代转换,在该同态替代转换中,对被输入的数据一对一地进行替代转换,该替代转换的正转换与逆转换是同态的。
6.根据权利要求1所述的数据处理装置,其特征在于, 该扰频部还具有对对象数据进行扰频的至少一个扩展扰频部, 该扩展扰频部分别具有追加转换单元,其对该对象数据一对一地进行替代转换;和追加扰频单元,其通过求出与和该地址数据对应的追加掩码数据的每一位的异或,来对由该追加转换单元针对该对象数据实施转换后的数据进行扰频从而获得追加扰频数据, 该扩展扰频部被输入该第2扰频数据作为对象数据,该扰频部将该扩展扰频部获得的追加扰频数据作为该加密数据来取代该第2扰频数据。
7.—种去扰频装置,用于对被权利要求1所述的数据处理装置存储在该存储装置中的该加密数据进行去扰频,从而获得该写入数据,该去扰频装置的特征在于,具有地址总线,其输出对存储装置赋予的地址数据;第1去扰频单元,其通过求出与该第2掩码数据的每一位的异或,来对从由该地址数据确定的该存储装置的存储位置读出的该加密数据进行去扰频从而获得中间去扰频数据;逆转换单元,其对该中间去扰频数据进行由该第1转换单元实施的替代转换的逆转换;和第2去扰频单元,其通过求出与该第1掩码数据的每一位的异或,来对由该逆转换单元针对该中间去扰频数据实施逆转换后的数据进行去扰频从而获得该写入数据。
8.一种数据处理方法,其特征在于,具有地址数据输出步骤,从地址总线输出对存储装置赋予的地址数据; 扰频步骤,对写入数据进行扰频来获得加密数据,其中,该写入数据对应于由该地址总线所输出的地址数据确定的该存储装置的存储位置加密;和加密数据输出步骤,从数据总线输出通过该扰频步骤获得的加密数据, 该扰频步骤具有第1扰频步骤,通过求出与和该地址数据对应的第1掩码数据的每一位的异或,来对该写入数据进行扰频从而获得第1扰频数据;第1转换步骤,对该第1扰频数据一对一地进行替代转换;和第2扰频步骤,通过求出与和该地址数据对应的第2掩码数据的每一位的异或,来对由该第1转换步骤针对该第1扰频数据实施转换后的数据进行扰频从而获得第2扰频数据, 将该第2扰频数据作为该加密数据。
9.根据权利要求8所述的数据处理方法,其特征在于,该第1扰频步骤对该地址数据与第1扰频密钥数据的每一位的异或进行替代转换,求出该第1掩码数据,该第2扰频步骤对该地址数据与第2扰频密钥数据的每一位的异或进行替代转换,求出该第2掩码数据。
10.根据权利要求8所述的数据处理方法,其特征在于,还具有第1去扰频步骤,通过求出与该第2掩码数据的每一位的异或,来对从由该地址数据确定的该存储装置的存储位置读出的该加密数据进行去扰频从而获得中间去扰频数据;逆转换步骤,针对该中间去扰频数据进行由该第1转换步骤实施的替代转换的逆转换;和第2去扰频步骤,通过求出与该第1掩码数据的每一位的异或,来对由该逆转换步骤针对该中间去扰频数据实施逆转换后的数据进行去扰频从而获得该写入数据。
11.根据权利要求10所述的数据处理方法,其特征在于,该第1扰频步骤中进行的扰频与该第2去扰频步骤中进行的去扰频共享求出被输入的数据与该第1掩码数据的每一位的异或的第1逻辑电路,该第2扰频步骤中进行的扰频与该第1去扰频步骤中进行的去扰频共享求出被输入的数据与该第2掩码数据的每一位的异或的第2逻辑电路。
12.根据权利要求10所述的数据处理方法,其特征在于,该第1转换步骤中进行的该替代转换与该逆转换步骤中进行的该逆转换共享替代函数部,该替代函数部是对被输入的数据一对一地进行替代转换并且该替代转换与该替代转换的逆转换为同态的替代函数部。
13.根据权利要求8所述的数据处理方法,其特征在于,该扰频步骤具有对对象数据进行扰频的至少一个扩展扰频步骤,该扩展扰频步骤分别具有追加转换步骤,对该对象数据一对一地进行替代转换;和追加扰频步骤,通过求出与和该地址数据对应的追加掩码数据的每一位的异或,来对由该追加转换步骤针对该对象数据实施转换后的数据进行扰频从而获得追加扰频数据,该扩展扰频步骤将该第2扰频数据作为对象数据进行扰频,该扰频步骤将通过该扩展扰频步骤而获得的追加扰频数据作为该加密数据来取代该第2扰频数据。
14.一种去扰频方法,用于对通过权利要求8所述的数据处理方法而存储在该存储装置中的该加密数据进行去扰频,获得该写入数据,该去扰频方法的特征在于,具有地址数据输出步骤,从地址总线输出对存储装置赋予的地址数据;第1去扰频步骤,通过求出与该第2掩码数据的每一位的异或,来对从由该地址数据确定的该存储装置的存储位置读出的该加密数据进行去扰频从而获得中间去扰频数据;逆转换步骤,针对该中间去扰频数据进行由该第1转换步骤实施的替代转换的逆转换;和第2去扰频步骤,通过求出与该第1掩码数据的每一位的异或,来对由该逆转换步骤针对该中间去扰频数据实施逆转换后的数据进行去扰频从而获得该写入数据。
全文摘要
数据处理装置具有地址总线、扰频部以及数据总线。地址总线输出对存储装置赋予的地址数据。扰频部对与由地址数据确定的存储装置的存储位置对应的写入数据进行扰频从而获得加密数据。数据总线输出加密数据。扰频部具有第1扰频部、第1转换部以及第2扰频部。第1扰频部求出和地址数据对应的第1掩码数据与写入数据的每一位的异或,并将其作为第1扰频数据。第1转换部对第1扰频数据一对一地进行替代转换。第2扰频部求出和地址数据对应的第2掩码数据、与由第1转换部对第1扰频数据实施转换后的数据的每一位的异或,将获得的第2扰频数据作为加密数据而输出。
文档编号G09C1/00GK102356418SQ20098015815
公开日2012年2月15日 申请日期2009年3月23日 优先权日2009年3月23日
发明者下山武司, 古川和快, 武仲正彦 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1