数据存储装置、数据保护方法、以及通信装置转让专利

申请号 : CN200710136368.0

文献号 : CN101131678B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 村冈如竹

申请人 : 索尼株式会社

摘要 :

为了物理上提高了防篡改性,本发明提供了一种数据存储装置、数据保护方法、以及通信装置,该数据存储装置包括壳体中的存储器。该装置还包括:导线,以每一个对于壳体每个面的长度或宽度都非常窄的间隔对导线进行布线,其中,导线基本覆盖壳体的所有面,导线相对于壳体面的长度或宽度都非常细;检测器,用于检测导线中的断线;以及控制器,用于当检测到导线中的断线时,来控制存储器擦除存储在存储器中的数据。本发明可应用于存储装置领域。

权利要求 :

1.一种数据存储装置,包括设置在壳体中的存储器,所述数据存储装置包括:导线,以每一个对于所述壳体的每个面的长度或宽度都很窄的间隔对所述导线进行布线,其中,所述导线基本覆盖所述壳体的所有面,所述导线相对于所述壳体的所述面的长度或宽度细;

检测装置,用于检测所述导线中的断线;

控制装置,用于当检测到所述导线中的断线时,控制所述存储器来擦除存储在所述存储器中的数据;

分配装置,用于通过使用置乱密钥来置乱逻辑地址,将所述存储器中的物理地址分配给所述逻辑地址;以及变更装置,用于当检测到所述导线中的断线时,变更所述置乱密钥;

其中,所述控制装置包括:电池;由主电源或所述电池供电的电容器;电源调节器,用于向检测装置和控制装置提供电能,所述电能来自主电源、所述电池或所述电容器;以及电池电压检测器,用于确定在停止从所述电池提供电能之后是否已经历预定时间;以及所述控制装置还控制所述存储器当所述电池电压检测器确定在停止从所述电池提供电能之后已经历预定时间时擦除存储在所述存储器中的数据。

2.根据权利要求1所述的数据存储装置,其中:

在设置于所述壳体的一个内表面附近的基板的第一表面上,沿基本平行于所述第一表面的第一方向对所述导线进行长度方向布线;以及在所述基板的第二表面上,沿基本平行于与所述第一表面的所述第一方向基本垂直的第二方向对所述导线进行长度方向布线。

3.根据权利要求1所述的数据存储装置,其中:

所述存储器是易失性的;以及

所述控制装置通过停止向所述存储器供电来控制所述存储器擦除存储在所述存储器中的数据。

4.一种用于数据存储装置的数据保护方法,所述数据存储装置包括设置在壳体中的存储器,所述数据保护方法包括以下步骤:以每一个对于所述壳体的每个面的长度或宽度都很窄的间隔对导线进行布线,其中,所述导线基本覆盖所述壳体的所有面,所述导线相对于所述壳体的所述面的长度或宽度都细;

通过使用置乱密钥来置乱逻辑地址,将所述存储器中的物理地址分配给所述逻辑地址;

当检测到所述导线中的断线时,变更所述置乱密钥,并且控制所述存储器来擦除存储在所述存储器中的数据;以及检测在停止从电池提供电能之后是否已经历预定时间,在停止从电池提供电能之后已经历预定时间时擦除存储在所述存储器中的数据。

5.一种与具有非接触集成电路卡功能的不同装置进行通信的通信装置,所述通信装置包括设置在壳体中的用于存储从所述不同装置读取的数据的存储器,所述通信装置包括:导线,以每一个对于所述壳体的每个面的长度或宽度都很窄的间隔对所述导线进行布线,其中,所述导线基本覆盖所述壳体的所有面,所述导线相对于所述壳体的所述面的长度或宽度都细;

检测装置,用于检测所述导线中的断线;

控制装置,用于当检测到所述导线中的断线时,控制所述存储器来擦除存储在所述存储器中的数据;

分配装置,用于通过使用置乱密钥来置乱逻辑地址,将所述存储器中的物理地址分配给所述逻辑地址;以及变更装置,用于当检测到所述导线中的断线时,变更所述置乱密钥;

其中,所述控制装置包括:电池;由主电源或所述电池供电的电容器;电源调节器,用于向检测装置和控制装置提供电能,所述电能来自主电源、所述电池或所述电容器;以及电池电压检测器,用于确定在停止从所述电池提供电能之后是否已经历预定时间;以及所述控制装置还控制所述存储器当所述电池电压检测器确定在停止从所述电池提供电能之后已经历预定时间时擦除存储在所述存储器中的数据。

6.一种数据存储装置,包括设置在壳体中的存储器,所述数据存储装置包括:导线,以每一个对于所述壳体的每个面的长度或宽度都很窄的间隔对所述导线进行布线,其中,所述导线基本覆盖所述壳体的所有面,所述导线相对于所述壳体的所述面的长度或宽度都细;

检测器,用于检测所述导线中的断线;以及

控制器,用于当检测到所述导线中的断线时,控制所述存储器来擦除存储在所述存储器中的数据,其中,所述控制器包括:电池;由主电源或所述电池供电的电容器;电源调节器,用于向检测器和控制器提供电能,所述电能来自主电源、所述电池或所述电容器;以及电池电压检测器,用于确定在停止从所述电池提供电能之后是否已经历预定时间;以及所述控制器还控制所述存储器当所述电池电压检测器确定在停止从所述电池提供电能之后已经历预定时间时擦除存储在所述存储器中的数据。

说明书 :

技术领域

本发明涉及数据存储装置、数据保护方法、以及通信装置,更具体地,涉及用于物理提高防篡改性的数据存储装置、数据保护方法、以及通信装置。

背景技术

已经提出了一种技术(例如,参见日本未审查专利申请公开第2005-56439号),其中,通过使用机械开关来检测终端装置的壳体门的打开,以及通过使用光学传感器来检测该壳体的破坏,当检测到壳体门打开或壳体破坏时,则擦除存储在终端装置的RAM(随机存取存储器)中的数据。

发明内容

近年来,截取和篡改数据的技术已变得更加先进。从而,除在日本未审查专利申请公开第2005-56439号中公开的技术之外,必须物理提高防篡改性。
考虑到上述情况提出了本发明。期望可以物理提高防篡改性。
根据本发明第一实施例的数据存储装置包括设置在壳体中的存储器。根据第一实施例的数据存储装置包括:导线,以每一个对于壳体每个面的长度或宽度都非常窄的间隔来进行布线,其中,该导线基本覆盖了壳体的所有面,该导线相对于壳体面的长度或宽度非常细;检测装置,用于检测导线中的断线;以及控制装置,用于控制存储器,以当检测到导线中的断线时擦除存储在存储器中的数据。
优选地,在设置在壳体一个内表面附近的基板的第一表面上,导线沿基本平行于第一表面的第一方向的长度方向进行布线,以及在基板的第二表面上,导线沿基本平行于与第一表面的第一方向基本垂直的第二方向的长度方向进行布线。
存储器可以是易失性的,并且控制装置可以控制存储器,以通过停止向存储器供电来擦除存储在存储器中的数据。
数据存储装置还可以包括分配装置,用于通过使用置乱密钥置乱逻辑地址,来分配相对于逻辑地址的存储器中的物理地址;以及变更装置,用于当检测到导线中的断线时变更置乱密钥。
根据本发明第二实施例的一种用于包括设置在壳体中的存储器的数据存储装置的数据保护方法,包括以下步骤:以每一个对于壳体每个面的长度或宽度都非常窄的间隔来对导线进行布线,其中,导线基本覆盖壳体的所有面,导线相对于壳体面的长度或宽度来说非常细;以及当检测到导线中的断线时,控制存储器擦除存储在存储器中的数据。
根据本发明第三实施例的通信装置与具有非接触集成电路卡功能的不同装置进行通信。通信装置包括设置在壳体中的存储器,用于存储从不同装置中读取的数据。通信装置包括:导线,以每一个对于壳体每个面的长度或宽度都非常窄的间隔来对该导线进行布线,其中,导线基本覆盖了壳体的所有面,导线相对于壳体面的长度或宽度来说非常细;检测装置,用于检测导线中的断线;以及控制装置,用于当检测到导线中的断线时,控制存储器擦除存储在存储器中的数据。
在本发明的第一和第二实施例中,在检测到导线中的断线的情况下,擦除存储在存储器中的数据,其中,导线以每一个对于包括设置在壳体中的存储器的数据存储装置的壳体每个面的长度或宽度都非常窄的间隔来进行布线,该导线基本覆盖壳体的所有面,导线相对于壳体面的长度或宽度来说非常细。
在本发明的第三实施例中,在检测到导线中的断线的情况下,擦除存储在存储器中的数据,其中,导线以每一个对于包括设置在壳体中的存储器的数据存储装置的壳体每个面的长度或宽度都非常窄的间隔来进行布线,该导线基本覆盖壳体的所有面,导线相对于壳体面的长度或宽度来说非常细。
根据本发明的第一、第二、以及第三实施例,可以保护存储在存储器中的数据。根据本发明的第一、第二、以及第三实施例,可以物理地提高防篡改性。

附图说明

图1是示出了根据本发明实施例的读取器-写入器的方框图;
图2是示出了图1所示控制模块的结构实例的截面图;
图3是图2所示的一个保护基板的一个表面的结构实例的示图;
图4是图2所示的一个保护基板的其他表面的结构实例的示图;
图5是示出了图1所示的控制模块的功能结构的方框图;
图6是示出了图5所示的随机数输出单元的功能结构的方框图;
图7是示出了图5所示的总线置乱单元的功能结构的详细框图;
图8是示出了图5所示的一个篡改监控电路的结构实例的电路图;
图9是示出了图5所示的一个篡改监控电路的运行实例的时序图;
图10是示出了图5所示的电源控制器的结构实例的电路图;
图11是示出了图5所示的电源控制器的运行实例的时序图;
图12是示出了由图1所示的读取器-写入器执行的置乱密钥生成处理的流程图;
图13是示出了由图1所示的读取器-写入器执行的存储器存取控制处理的流程图;以及
图14是示出了由图1所示的读取器-写入器执行的损坏行为监控处理的流程图。

具体实施方式

在描述本发明的实施例之前,以下讨论权利要求的特征和本发明实施例中公开的具体元件之间的对应关系。这些描述旨在保证在本说明书中描述支持所要求的发明的实施例。因而,即使在随后实施例中的元件没有被描述为与本发明的某一特征相关,也不一定表示该元件与权利要求的该特征不相关。相反地,即使本文中将某元件描述为与权利要求的某一特征相关,也不一定表示该元件与权利要求的其他特征不相关。
根据本发明第一实施例的数据存储装置(例如,图1所示的控制模块13)包括设置在壳体(例如,图2所示的壳体31)中的存储器(例如,图5所示的RAM 171)。数据存储装置包括:导线(例如,图3所示的导线51A和图4所示的导线51B),以每一个对于壳体每个面的长度或宽度都非常窄的间隔来进行布线,其中,导线基本覆盖壳体的所有面,导线对于壳体面的长度或宽度非常细;检测装置(例如,图5所示的篡改监控电路105-1~105-6),用于检测导线中的断线;以及控制装置(例如,图5所示的电源控制器106),用于当检测到导线中的断线时,控制存储器来擦除存储在存储器中的数据。
根据第一实施例的数据存储装置还可以包括:分配装置(例如,图5所示的总线置乱单元144),用于通过使用置乱密钥置乱逻辑地址,来分配与该逻辑地址相对的存储器中的物理地址;以及变更装置(例如,图5所示的置乱密钥变更指令单元142和随机数生成单元143),用于当检测到导线中的断线时,变更置乱密钥。
根据本发明第二实施例的用于包括设置在壳体(例如,图2所示的壳体31)中的存储器(例如,图5所示的RAM 171)的数据存储装置(例如,图1所示的控制模块13)的数据保护方法包括以下步骤:以每一个对于壳体每个面的长度或宽度都非常窄的间隔来对导线(例如,图3所示导线51A和图4所示的导线51B)进行布线,其中,导线基本覆盖壳体的所有面,导线相对于壳体面的长度或宽度非常细;以及当检测到导线中的断线时,控制存储器来擦除存储在存储器中的数据。
根据本发明第三实施例的通信装置(例如,图1所示的读取器-写入器1)与具有非接触集成电路卡功能的不同装置(例如,图1所示的IC卡2)进行通信。通信装置包括存储器(例如,图5所示的RAM 171),设置在壳体(例如,图2所示的壳体31)中,用于存储从不同装置中读取的数据。通信装置包括:导线(例如,图3所示的导线51A和图4所示的导线51B),以每一个对于壳体每个面的长度或宽度都非常窄的间隔进行布线,其中,导线基本覆盖壳体的所有面,导线相对于壳体面的长度或宽度非常细;检测装置(例如,图5所示的篡改监控电路105-1~105-6),用于检测导线中的断线;以及控制装置(例如,图5所示的置乱密钥变更指令单元142和随机数生成单元143),用于当检测到导线中的断线时,控制存储器来擦除存储在存储器中的数据。
以下,参照附图描述本发明的实施例。
图1是示出了应用了本发明实施例的读取器-写入器1的实例的方框图。读取器-写入器1包括天线11、RF(射频)驱动基板12、控制模块13、以及主电源14。
RF驱动基板12经由天线11通过使用具有单一频率的载波来执行与非接触型IC(集成电路)卡2的电磁感应邻近通信。作为由RF驱动基板12使用的载波频率,例如,可以使用13.56MHz(兆赫)的ISM(工业、科学与医学)频带等。邻近通信表示当两个装置之间的距离在几十厘米内时,其可以彼此进行通信的通信。邻近通信包括为了使两个装置(的壳体)彼此接触而执行的一种通信类型。
控制模块13执行用于使用IC卡2来实现业务的处理。如果需要,控制模块13通过天线11和RF驱动基板12将用于业务的数据写到IC卡2上以及从IC卡2上读取用于业务的数据。另外,控制模块13可以并行地执行用于多种业务类型的处理。具体地,读取器-写入器1可以使用非接触型IC卡2来单独地提供多种业务,例如,电子货币业务、预付卡业务、以及用于各种交通工具的票卡业务。
主电源14提供使RF驱动基板12和控制模块13工作所需的电能。
图2是示出了控制模块13的结构实例的截面图。
形成控制模块13,以使主基板32和保护基板33~36设置在长方体的壳体31中。主基板32基本设置在壳体31的高度方向的中心附近。保护基板33~36与壳体31的面31A~31D的内表面在形状和面积上基本一致。保护基板33~36固定在壳体31的面31A~31D的内表面。另外,与保护基板33~36类似,在形状和面积上与壳体31的另两个面(未示出)的内表面基本一致的保护基板也固定在壳体31的另两个面的内表面。换句话说,布置了保护基板33~36和另两个保护基板(即,一共六个保护基板),从而基本上覆盖了壳体31的所有内表面并包围主基板32。在图2中,虽然控制模块13的每个内表面和每个保护基板之间都具有预定的间隙,但可以将保护基板布置为与壳体31的内表面接触。
主基板32具有用于在其上执行控制模块13的处理的部件,其中,控制模块13包括CPU(中央处理单元)101(图5)和RAM 171(图5)。
如下参照图8等所述,为了检测损坏行为(tampering action)而设置了六个保护基板,例如,该损坏行为为了诸如截取和篡改存储在设置在主基板32上的RAM 171中的数据的未授权行为而打开和破坏壳体31。
图3和图4示出了保护基板33的结构实例。图3示出了图2中的主基板32侧的保护基板33的表面33A的结构实例。图4示出了图2中的壳体31侧的保护基板33的表面33B的结构实例。
如上所述,保护基板33是大小和形状与壳体31的内表面31A基本一致的矩形。连接器41B基本设置在保护基板33的表面33A的中心处。在除了连接器41B之外的表面33A区域中,以每一个对于表面33A的长度或宽度都非常窄的间隔、沿基本平行于表面33A的长度的纵向来布置对于表面33A的长度或宽度都非常细的导线51A,其中,导线51A基本覆盖整个表面33A。在表面33B上,以每一个对于表面33B的长度或宽度都非常窄的间隔、沿基本平行于与表面33A上的导线51A的长度方向垂直的表面33B的宽度的长度方向来布置对于表面33B的长度或宽度非常细的导线51B,其中,导线51B基本覆盖整个表面33B。通过通孔(through via)52和53来连接导线51A和51B,以形成一条导电线。换句话说,基本在保护基板33的全部两个面33A和33B上,都以栅格的形式对导线进行布线。
接下来,如果需要,将导线51A和51B统称为“导线51”。
类似于保护基板33,对于除保护基板33之外的其他五个基板,基本在每个基板的全部两个面上,都以栅格的形式对导线进行布线(未示出且未描述)。即,以每一个对于壳体31的表面的长度或宽度都非常窄的间隔来对相对于壳体31的每个表面的长度或宽度非常细的导线进行布线,从而基本覆盖壳体31的整个面。因而,当发生破坏行为(例如,在壳体31中钻孔)时,基本覆盖壳体31的整个面的部分导线很可能断开。
在每个保护基板上,优选地,每条导线都尽可能地细,并且优选地,导线邻近部分之间的距离尽可能地窄。
再次参考图2,主基板32和保护基板33通过连接器41A和41B彼此电连接。主基板32和保护基板34通过连接器42A和42B彼此电连接。主基板32和保护基板35通过连接器43A和43B彼此电连接。主机板32和保护基板36通过连接器44A和44B彼此电连接。另外,未示出的两个保护基板通过未示出的连接器电连接至主基板32。换句话说,当打开壳体31的每个面时,都会断开固定在壳体31的每个内表面的保护基板和主基板32的电连接。
控制模块13不仅包括上述连接器,还包括用于电连接RF驱动基板12与主电源14的连接器。
图5是示出了图1所示的控制模块13的功能结构的方框图。控制模块13包括CPU 101、存储器存取控制器102、存储部103、复位电路104、篡改监控电路105-1~105-6、以及电源控制器106。存储器存取控制器102包括开关141、置乱密钥变更指令单元142、随机数输出单元143、以及总线置乱单元144。总线置乱单元144包括置乱密钥存储部151和地址总线置乱电路152。置乱密钥存储部151包括置乱密钥缓冲器161和内部存储器162。存储部103包括RAM 171和非易失性存储器172。
CPU 101和地址总线置乱电路152通过具有n位总线宽度的地址总线121相互连接。地址总线置乱电路152和存储部103通过具有等于地址总线121的总线宽度的n位总线宽度的地址总线122相互连接。此外,通过具有m位总线宽度的数据总线123,使CPU 101和存储部103相互连接。
通过执行预定程序,CPU 101执行用于使用IC卡2实现业务的处理。另外,CPU 101可以并行地执行对应于多种业务的程序。换句话说,CPU 101可以并行地执行用于多种业务的处理。
CPU 101将用于每个业务的数据写入存储部103中的RAM 171或非易失性存储器172中以及从存储部103中的RAM 171或非易失性存储器172中读取用于每个业务的数据。在以下描述中,如果必要,“将数据写入存储部103中的RAM 171或非易失性存储器172中”被简单地表示为“将数据写入存储部103中”,以及如果必要,“从存储部103中的RAM 171或非易失性存储器172中读取数据”被简单地表示为“从存储部103中读取数据”。
当CPU 101将数据写入存储部103中时,CPU 101使用地址总线121向地址总线置乱电路152提供表示逻辑地址(其表示逻辑数据写入位置)的逻辑地址信号,并使用数据总线123向存储部103提供包括写入数据且表示数据写入指令的写入信号。当CPU 101从存储部103读取数据时,CPU 101使用地址总线121向地址总线置乱电路152提供表示逻辑地址(其表示逻辑数据读取位置)的逻辑地址信号,并使用数据总线123向存储部103提供表示数据读取指令的读取信号。
存储器存取控制器102通过CPU 101来控制存储部103的存取。
在包括在存储器存取控制器102中的部件中,当用户给出变更置乱密钥的指令时,按下开关141。当用户按下开关141时,开关141向置乱密钥变更指令单元142提供表示开关141已被按下的信号。
当按下开关141时,置乱密钥变更指令单元142向随机数输出单元143提供置乱密钥变更指令。另外,当置乱密钥变更指令单元142基于从篡改监控电路105-1~105-6输出的监控信号来检测诸如壳体31的破坏和打开的损坏行为时,置乱密钥变更指令单元142向随机数输出单元143提供置乱密钥变更指令。
当置乱密钥变更指令单元142向随机数输出单元143提供表示置乱密钥变更指令的信号时,随机数输出单元143生成由n位串形成的伪随机数,并将伪随机数作为置乱密钥输出至置乱密钥缓冲器161。
总线置乱单元144执行将由CPU 101提供的逻辑地址表示的逻辑地址转换为将实际访问的存储部103中的物理地址的处理。
在包括在总线置乱单元144中的部件中,置乱密钥存储部151存储由随机数输出单元143提供的作为置乱密钥的伪随机数。具体地,置乱密钥存储部151中的置乱密钥缓冲器161存储由随机数输出单元143提供的作为置乱密钥的伪随机数。另外,置乱密钥缓冲器161还提供置乱密钥并将其存储在内部存储器162中。由诸如闪存的非易失性存储器或由电池支持的RAM等构成内部存储器162。即使主电源14处于关闭(OFF)状态,内部存储器162仍连续地存储置乱密钥。另外,当将主电源14从关闭状态变为接通状态时,置乱密钥缓冲器161读取并存储在内部存储器162中存储的置乱密钥。直到在接通主电源14之后完成了从内部存储器162读取置乱密钥,置乱密钥缓冲器161才向复位电路104提供复位指令信号。
通过使用存储在置乱密钥缓冲器161中的置乱密钥来置乱由从CPU 101提供的逻辑地址信号表示的逻辑地址,地址总线置乱电路152将逻辑地址转换为存储部103中将实际访问的物理地址。换句话说,通过置乱输入逻辑地址,地址总线置乱电路152将物理地址分配给逻辑地址。地址总线置乱电路152向存储部103提供表示通过转换获得的物理地址的物理地址信号。
在包括在存储部103中的部件中,RAM 171存储高安全性数据(例如,业务数据和个人信息)。通过来自电源控制器106的电能来保持存储在RAM 171中的数据。当停止提供来自电源控制器106的电能时,擦除所存储的数据。
例如,非易失性存储器172由非易失性存储器(例如,闪存)、EEPROM(电可擦可编程只读存储器)、HDD(硬盘驱动器)、MRAM(磁电阻式随机存取存储器)、FeRAM(铁电随机存取存储器)、以及OUM(双向通用存储器,ovonic unified memory)中的一个形成。非易失性存储器172存储低安全性数据。
当向RAM 171和非易失性存储器172中的每一个提供来自CPU 101的写入信号时,将包括在写入信号中的数据写入RAM 171和非易失性存储器172的每一个中的物理地址处,RAM 171和非易失性存储器172中的每一个其通过由地址总线置乱电路152提供的物理地址信号表示。另外,当提供来自CPU 101的读取信号时,读取在RAM 171和非易失性存储器172的每一个中的物理地址处的数据,RAM 171和非易失性存储器172中的每一个由从地址总线置乱电路152提供的物理地址信号来表示,并通过数据总线123将所读取的数据提供给CPU 101。
虽然从置乱密钥缓冲器161向复位电路104提供了复位指令信号,但复位电路104通过向CPU 101提供复位信号来初始化CPU101的状态。
如下参考图8等描述的,篡改监控电路105-1~105-6中的每一个都监控诸如壳体31的破坏或打开的损坏行为,并将表示监控结果的监控信号提供给电源控制器106和置乱密钥变更指令单元142。
在下文中,当不必区分篡改监控电路105-1~105-6中的每一个时,每个篡改监控电路均被称作“篡改监控电路105”。
如下参考图10等描述的,向电源控制器106提供来自主电源14的电能,并控制提供给控制模块13的每个部分的电能。当检测到对控制模块13进行了损坏行为时,电源控制器106停止向存储部103供电,从而擦除RAM 171中的数据。
图6是示出了随机数输出单元143的功能结构的方框图。随机数输出单元143包括随机数生成器201和开关202。
随机数生成器201包括:LFSR(线性反馈移位寄存器)随机数输出单元211,其包括具有L1位的移位寄存器;LFSR随机数输出单元212,其包括具有L2位的移位寄存器;以及EXOR(异或)电路213。
LFSR随机数输出单元211和212基于公知的LFSR原理,其中,具有通过移位寄存器中预定位所表示的值的异或逻辑和作为反馈值被输入至移位寄存器。随机数生成器201通过使用EXOR电路213来获得的由LFSR随机数输出单元211和212生成的两个不同的M序列伪随机数的每一位的异或逻辑和,来生成Gold序列随机数。包括在随机数生成器201中的LFSR随机数输出单元的数量不限于两个,也可以是三个或者更多个。
当从置乱密钥变更指令单元142接收到表示置乱密钥变更指令的输入信号时,接通开关202,从而通过开关202将表示由随机数发生器201生成的Gold序列随机数的位串输出至置乱密钥缓冲器161。
图7是示出了总线置乱单元144的功能结构的方框图。
置乱密钥缓冲器161包括具有n位的串行输入和并行输出移位寄存器。在置乱密钥缓冲器161中,由随机数输出单元143作为串行信号提供的伪随机数被存储为置乱密钥。
地址总线置乱电路161通过使用异或电路251-1~251-n来获得具有位A1~An且通过地址总线121从CPU 101提供的逻辑地址信号所表示的n位逻辑地址中的每个位与具有位K1~Kn且存储在置乱密钥缓冲器161中的n位置乱密钥中的每个位之间的异或逻辑和,来将逻辑地址转换为具有位SA1~SAn的n位物理地址。地址总线置乱电路152使用地址总线122向存储部103提供表示通过转换获得的物理地址的物理地址信号。
图8是示出了图5所示的篡改监控电路105-1的实例的电路图。篡改监控电路105-1包括均设置在保护基板33上的导线51、电阻器301、302、和303、p型MOSFET(金属氧化物半导体场效应晶体管)304、比较电压源元件305、以及电压比较器306。
MOSFET 304的栅极经由点A、连接器41A和41B、以及导线51连接至电阻器301的一端,并且经由点A连接至电阻器302的一端。MOSFET 304的源极经由点B连接至电阻器303的一端和电压比较器306的正极端子。MOSFET 304的漏极连接至电阻器302不同于连接至MOSFET 304的栅极那一端的另一端。MOSFET 304的漏极还连接至比较电压源元件305的负极端子并且接地。换句话说,篡改监控电路105-1由MOSFET 304的漏极接地的源极跟随器(source follower)电路构成。
电阻器301不同于连接至导线51的那一端的另一端经由连接器41B和41A连接至电源控制器106的另一端以及电阻器303不同于连接至点B的那一端的另一端。比较电压源元件305的正极端子连接至电压比较器306的负极端子。电压比较器306的输出端子经由点S1连接至电源控制器106和图5所示的置乱密钥变更指令单元142。
电阻器302的电阻远远大于电阻器301的电阻。因此,点A(即,MOSFET 304的栅极端)处的电压增大为基本上等于来自电源控制器106的输入电压的电压,并且MOSFET 304的源极电压随着变为基本上等于栅极电压。从而,点A和B具有基本相等的电压。因此,将基本等于来自电源控制器106的输入电压的电压输入至电压比较器306的正极端子。比较电压源元件305将约等于来自电源控制器106的输入电压的一半的电压输入至电压比较器306的负极端子。当输入至电压比较器306的正极端子的电压大于输入至电压比较器306的负极端子的电压时,从电压比较器306输出的监控信号的电压是通过放大电压比较器306的正极端子和负极端子之间的电压差而得到的值。当输入至电压比较器306的负极端子的电压大于输入至电压比较器306的正极端子的电压时,从电压比较器306输出的监控信号的电压约为0伏特。
参照图9,以下将描述篡改监控电路105-1的工作实例。图9示出了当对控制模块13的壳体31的面31A执行损坏行为(例如,打开或破坏)时点A、B、和S1处的电压改变实例。在图9中,时间t1表示执行损坏行为的时间。
如上所述,在没有异常情况出现的时间t1之前的状态下,点A和B处电压中的每一个都约等于来自电源控制器106的输入电压。因此,在电压比较器306的正极端子处的电压(即,点B处的电压)大于电压比较器306的负极端子处的电压(即,比较电压源元件305的电压)。因此,电压比较器306的输出电压(即,点S1处的电压)是通过放大电压比较器306的正极端子和负极端子之间的电压差而得到的正值。
例如,在时间t1处当打开控制模块13的壳体31的面31A以使连接器41A和41B分离、以及当执行诸如在面31A中钻孔的破坏行为从而使导线51断线的情况下,在电源控制器106和MOSFET304之间发生断线,使得点A具有0伏特的电压。因此,如图9所示,点B具有约为0伏特的电压,以及电压比较器306的负极端子处的电压大于电压比较器306的正极端子处的电压。因此,电压比较器306的输出电压(即,点S1处的电压)约为0伏特。
因此,基于从篡改监控电路105-1输出的监控信号,可以检测到损坏行为(例如,壳体31的打开或破坏)。
同样,篡改监控电路105-2~105-6在结构上与篡改监控电路105-1一致。因此,由于篡改监控电路105-2~105-6的描述是重复的所以没有描述它们。类似于篡改监控电路105-1,可以基于来自篡改监控电路105-2~105-6中的每一个的监控信号,来检测损坏行为(例如,壳体31的打开或破坏)。
因此,可以通过监控来自篡改监控电路105-1~105-6的监控信号来确保对壳体31的所有面的损坏行为(例如,打开或破坏)的检测。
在以下描述中,篡改监控电路105-2包括在保护基板34上的导线。篡改监控电路105-3包括在保护基板35上的导线。篡改监控电路105-4包括在保护基板36上的导线。篡改监控电路105-5和105-6包括在对应于壳体31的两个面(未示出)的保护基板上的导线。
图10是示出了图5所示的电源控制器106的结构实例的电路图。电源控制器106包括作为主电源14的后备电源的电池351、电池插座352、二极管353和354、电容器355、电源调节器356、电阻器357、电池电压检测器358、以及开关359。
电池351被安装在电池插座352中。在这种状态下,电池351的正极连接至用于防止回流的二极管353的正极、电阻器357的一端、以及电池电压检测器358的输入端T11。电池351的负极连接至电容器355的一端和电容器357不同于的连接至电池351正极的那一端的另一端,并且接地。二极管353的负极连接至用于防止回流的二极管354的负极、电容器355不同于连接至电池351的负极的那一端的另一端、以及电源调节器356的输入端T1。二极管354的正极连接至主电源14。
电源调节器356的输出端T2连接至电池电压检测器358的电源端T13、开关359的一端、CPU 101、存储器存取控制器102、复位电路104、以及篡改监控电路105-1~105-6。电池电压检测器358的输出端T12连接至开关359的电压检测端(未示出)。开关359不同于连接至电源调节器356的输出端T2的那一端的另一端被连接至存储部103。另外,开关359的电压检测端(未示出)经由点S1~S6连接至篡改监控电路105-1~105-6。
电源调节器356通过将从主电源14通过二极管354输入的电压或从电池351通过二极管353输入的电压转换为预定电压,来从输出端T2输出基本恒定的电压。从输出端T2输出的电压经由CPU101、存储器存取控制器102、复位电路104、篡改监控电路105-1~105-6、电池电压检测器358、以及开关359被提供给存储部103。换句话说,通过电源调节器356使来自主电源14或电池351的电能的电压稳定,并将稳定电压的电能提供给存储器存取控制器102、复位电路104、篡改监控电路105-1~105-6、电池电压检测器358、以及存储部103。因此,即使停止从主电源14和电池351之一提供的电能,也能将稳定的电能提供给CPU 101、存储器存取控制器102、复位电路104、篡改监控电路105-1~105-6、电池电压检测器358、以及存储部103。
另外,主电源14或电池351为电容器352充电,以使其达到预定电压,同时主电源14或电池351向电容器355提供电能。当停止从主电源14或电池351提供电能时,存储在电容器355中的电能经由电源调节器356、CPU 101、存储器存取控制器102、复位电路104、篡改监控电路105-1~105-6、电池电压检测器358、以及开关359被提供给存储部103。例如,电容器355由超级电容器(电偶层电容器)形成。电容器355能够为CPU 101、存储器存取控制器102、复位电路104、篡改监控电路105-1~105-6、电池电压检测器358、以及存储部103提供至少预定时间(例如,30至40分钟)的电能的充电容量。
电源调节器356通过检测输入至输入端T11的电压(即,由电池351施加给电阻器357的电压)来检测电池351的去除。当输入端T11处的电压等于或小于预定阈值时,电池电压检测器358通过使用内部计数器(未示出)来启动时间测量。当输入端T11处的电压等于或小于阈值的状态持续时,输出端T12处的电压从高电平(例如,5伏特)变为低电平(例如,0伏特)。
当来自篡改监控电路105-1~105-6的监控信号和来自电池电压检测器358的输出信号的电压中的任一个等于或小于预定阈值时,断开开关359,以停止从电源控制器106向存储部103提供电能。
以下将参照图11来描述电源控制器106的实例。图11示出了在主电源14处于切断状态且篡改监控电路105-1~105-6没有检测到损坏行为的状态下,从电池插座352中去除电池351的情况下,从电池电压检测器358的端子T11和T12输出的电压、以及电源控制器106向存储部103输出的电压的变化实例。在图11中,时间t11表示从电池插座352中去除电池351的时间。
在电池351被安装到电池插座352中的时刻t11之前的状态下,电池351将正电压输入至电池电压检测器358的输入端T11,以及电池电压检测器358的输出端T12将高电平电压输入至开关359。另外,由于篡改监控电路105-1~105-6没有检测到损坏行为,因此开关359接通,并且篡改监控电路105-1~105-6将正电压输入至开关359。这就经由开关359将从电源调节器356的输出端T2输出的电能提供给存储部103。此时,从电源调节器356的输出端T2输出的电能也被提供给CPU 101、存储器存取控制器102、复位电路104、篡改监控电路105-1~105-6、以及电池电压检测器358。
当在时间t11从电池插座352中去除电池351时,输入至电池电压检测器358的输入端T11的电压约为0伏特,并且电池电压检测器358通过使用内部计数器来启动时间测量。另外,电容器355启动放电,使得经由电源调节器356将存储在电容器355中的电能提供给CPU 101、存储器存取控制器102、复位电路104、篡改监控电路105-1~105-6、以及电池电压检测器358。
在电池电压检测器358启动时间测量之后经过了预定时间Ta的时间t12处,电池电压检测器358将输出端T12的电压从高电平变为低电平。这使得开关359断开,以停止向存储部103提供电能,从而擦除了存储在存储部103中的RAM 171中的数据。
同样,在时间t12之后,经由电源调节器356将来自电容器355的电能连续地提供给CPU 101、存储器存取控制器102、复位电路104、篡改监控电路105-1~105-6、以及电池电压检测器358。因此,即使去除了电池351,篡改监控电路105-1~105-6也连续执行损坏行为的监控。
在时间Ta期间,电池351连接至电池电压检测器358。当输入至输出端T11的电压超出预定阈值时,停止通过内部计数器进行的时间测量。因此,通过适当地设定时间Ta,即使主电源14处于断开状态,也可以在不擦除RAM 171中的数据的情况下更换电池351。当不必考虑电池351的更换时,在时间t11处,可以断开开关359。
接下来,下面将参照图12~14来描述读取器-写入器1的处理。
首先,以下将参照图12所示的流程图来描述由读取器-写入器1执行的置乱密钥生成处理。例如,当用户按下开关141时,开始置乱密钥生成处理。
在步骤S1中,随机数输出单元143输出伪随机数。具体地,开关141向置乱密钥变更指令单元142提供表示开关141已按下的信号。置乱密钥变更指令单元142通过向开关202提供表示置乱密钥变更指令的信号来接通开关202。在读取器-写入器1的主电源14处于接通状态时,随机数生成器201连续地生成伪随机数。开关202的接通启动通过开关202将伪随机数从随机数生成器201输出至置乱密钥缓冲器161。当从随机数生成器201输出了n位伪随机数时,断开开关202。
在步骤S2中,总线置乱单元144设置置乱密钥。此后,置乱密钥生成处理结束。具体地,在置乱密钥缓冲器161中,由n位串形成的并由随机数输出单元143提供的伪随机数作为置乱密钥被存储在内部寄存器中。置乱密钥缓冲器161提供置乱密钥并将其存储在内部存储器162中。换句话说,通过内部存储器162来备份置乱密钥。
可以将当读取器-写入器1的数量为多个时的每个控制模块13设置具有不同值并难以预测的置乱密钥。例如,在从工厂装运读取器-写入器1之前,执行置乱密钥生成处理。
接下来,以下将参照图13所示的流程图来描述由读取器-写入器1执行的存储器存取控制处理。例如,当接通读取器-写入器1的主电源14时,开始存储器存取控制处理。
在步骤S31中,接通读取器-写入器1的主电源14,从而置乱密钥缓冲器161开始向复位电路104提供复位指令信号。
在步骤S32中,复位电路104通过向CPU 101提供复位信号来复位CPU 101。这初始化了CPU 101的状态。
在步骤S33中,置乱密钥缓冲器161读取存储在内部存储器162中的置乱密钥。置乱密钥缓冲器161将所读取的置乱密钥存储在内部寄存器中。
在步骤S34中,置乱密钥缓冲器161停止向复位电路104提供复位指令信号。因此,复位电路104停止提供复位信号,并且CPU101开始执行程序。
在步骤S35中,CPU 101确定是否写入数据。如果在执行程序的过程中,在下一步骤中不执行数据写入,则CPU 101确定不写入数据,并且处理前进至步骤S36。
在步骤S36中,CPU 101确定是否读取数据。如果在执行程序的过程中,在下一步骤中不执行数据读取,则CPU 101确定不读取数据,并且处理返回至步骤S35。
在此之后,重复执行步骤S35和S36,直到在步骤S35中CPU101确定写入数据,或者在步骤S36中CPU 101确定读取数据。
如果在执行程序的过程中,在下一步骤中(在步骤S35中)执行了数据写入,则CPU 101确定写入数据,并且处理前进至步骤S37。
在步骤S37中,CPU 101给出写入数据的指令。具体地,CPU101使用地址总线121来向地址总线置乱电路152提供表示逻辑数据写入位置的逻辑地址信号。CPU 101还使用数据总线123来向存储部103提供包括写入数据并表示数据写入指令的信号。
在步骤S38中,地址总线置乱电路152将逻辑地址转换为物理地址。具体地,地址总线置乱电路152通过获得由逻辑地址信号表示的逻辑地址中的每一位和存储在置乱密钥缓冲器161中的置乱密钥中的每一位之间的异或逻辑和来将逻辑地址转换为物理地址。地址总线置乱电路152使用地址总线122向存储部103提供表示通过转换得到的物理地址的物理地址信号。
在步骤S39中,存储部103写入数据。具体地,在RAM 171或非易失性存储器172中,在由物理地址信号表示的RAM 171或非易失性存储器172中的物理地址处写入包括在从CPU 101提供的写入信号中的数据。因此,即使CPU 101给出将数据写入连续的逻辑地址处的指令,而实际上,数据被写入RAM 171或非易失性存储器172中以便进行随机地分配。因而,将难以分析和篡改存储在RAM 171或非易失性存储器172中的数据的内容。
此后,处理返回步骤S35,并执行S35和随后的步骤。
如果在执行程序的过程中,在下一步骤中(在步骤S36中)执行了数据读取,则CPU 101确定读取数据,并且处理前进至步骤S40。
在步骤S40中,CPU 101给出读取数据的指令。具体地,CPU101将地址总线121用于向地址总线置乱电路152提供表示逻辑数据读取位置的逻辑地址信号。CPU 101还使用数据总线123向存储部103提供表示数据读取指令的读取信号。
类似于步骤S38,在步骤S41中,逻辑地址被转换成物理地址。经由地址总线122将表示通过转换所得到的物理地址的物理地址信号从地址总线置乱电路152提供给存储部103。
在步骤S42中,存储部103读取数据。具体地,RAM 171或非易失性存储器172读取存储在由物理地址信号表示的物理地址处的数据,并且使用数据总线123向CPU 101提供所读取的数据。
此后,处理前进至步骤S35,并执行步骤S35以及随后的步骤。
如上所述,当读取器-写入器1的数量为多个时,可以容易地为每个控制模块13设置不同的置乱密钥。即使分析了为一个控制模块13设置的置乱密钥,也难以使用该置乱密钥来分析和篡改存储在另一控制模块13的RAM 171或非易失性存储器172中的数据。因此,可以使基于数据分布和数据篡改的破坏最小化。
另外,关于用于生成伪随机数的方法和用于置乱地址的方法,可以在不进行更改的情况下使用相关技术,而不必提供新的复杂电路。因此,除了输入置乱密钥变更指令,用户不必付出其他努力。因而,可以轻易地提高存储在RAM 171或非易失性存储器172中的数据的安全性。
接下来,以下将参照图14所示的流程图来描述读取器-写入器1执行的损坏行为监控处理。例如,当在从工厂装运了读取器-写入器1之后开始使用读取器-写入器1时,开始进行损坏行为监控处理。
在步骤S61中,电池电压检测器358确定是否已停止从电池351提供电能。参照图10和图11,如上所述,例如,当由于从电池插座352去除电池351而使输入端T11处的电压从超过预定阈值的状态变为等于或小于预定阈值的值时,电池电压检测器358确定已停止从电池351提供电能,并且处理前进至步骤S62。
在步骤S62中,电池电压检测器358通过使用内部计数器(未示出)来开始时间测量。
此后,处理返回至步骤S61,并执行步骤S61和随后的步骤。
如果在步骤S61中,输入端T11处的电压超过阈值,或者继续等于或小于阈值,则电池电压检测器358确定从电池351提供电能,或者持续已停止从电池351提供电能的状态,并且处理前进至步骤S63。
在步骤S63中,电池电压检测器358确定是否已重新开始从电池351提供电能。具体地,当输入端T11处的电压从等于或小于阈值的值变为超过阈值的值时,电池电压检测器358确定已重新开始从电池351提供电能,并且处理前进至步骤S64。
在步骤S64中,电池电压检测器358使用内部计数器(未示出)停止时间测量。
此后,处理返回至步骤S61,并执行步骤S61和随后的步骤。
在步骤S63中,当输入端T11处的电压继续大于阈值,或者继续等于或小于阈值时,电池电压检测器358确定保持从电池351提供电源的状态,或者保持已停止从电池351提供电源的状态,并且处理前进至S65。
在步骤S65中,电池电压检测器358确定在停止从电池351提供电能之后是否要经历预定时间。当内部计数器的值表示预定时间或者更多的时间时,电池电压检测器358确定在停止从电池351提供电能之后经历了预定时间,并且处理前进至步骤S66。
在步骤S66中,电源控制器106停止向存储部103提供电能,从而结束损坏行为监控处理。具体地,电池电压检测器358将输出端T12处的电压从高电平变为低电平。这使开关359断开,以停止从电源调节器359向存储部103提供电能,从而擦除了存储在存储部103的RAM 171中的数据。
在步骤S65中,当内部计数器(未示出)的值表示小于预定时间的值时,电池电压检测器358确定在停止从电池351提供电能之后未经历预定时间,或者未停止从电池351提供电能,并且处理前进至步骤S67。
在步骤S67中,电源控制器106确定是否已对壳体31执行了损坏行为。具体地,如上参照图8和图9所述,在由于壳体31的打开、破坏等而在电源控制器106与篡改监控电路105中的MOSFET(在图8中的篡改监控电路105-1的情况下为MOSFET304)的栅极之间发生断线的情况下,从发生断线的篡改监控电路105输出的监控信号具有约为0伏特的电压。当来自篡改监控电路105-1~105-6的监控信号中的任一个具有等于或小于预定阈值的值时,电源控制器106确定已对壳体31执行了损坏行为,并且处理前进至步骤S68。
在步骤S68中,电源控制器106停止向存储部103提供电能。具体地,来自篡改监控电路105-1~105-6的监控信号的电压中的任一个变为等于或小于预定阈值,从而断开开关359,并且停止从电源调节器356向存储部103提供电能。这擦除了存储在存储部103中的RAM 171中的数据。
在步骤S69,存储器存取控制器102变更置乱密钥,并且损坏行为监控处理结束。具体地,当来自篡改监控电路105-1~105-6的监控信号的电压中的任一个变为等于或小于预定阈值时,置乱密钥变更指令单元142通过向开关202提供表示置乱密钥变更指令的信号来接通随机数输出单元143中的开关202。开关202的接通启动了经由开关202从随机数生成器201向置乱密钥缓冲器161输出伪随机数。当从随机数生成器201输出了n位伪随机数时,断开开关202。在置乱密钥缓冲器161中,由n位串形成并从随机数输出单元143提供的伪随机数作为新的置乱密钥被存储在内部寄存器中。另外,置乱密钥缓冲器161提供置乱密钥并将其存储在内部存储器162中。
在步骤S69中,可以将由于未执行地址置乱而未被用作置乱密钥并且其数字均为零的位串值强制地设置为置乱密钥。
如果在步骤S67中,确定未对壳体31执行损坏行为,则处理返回至步骤S61,并且执行步骤S61和随后的步骤。
例如,如上所述,即使为了停止篡改监控电路105-1~105-6的工作而去除电池351,篡改监控电路105-1~105-6也继续工作。从而,可以提高控制模块13的防篡改性。另外,当在去除电池351之后预定时间结束时,擦除RAM 171中的数据。因此,可以进一步提高控制模块13的防篡改性。
此外,确保了检测损坏行为(例如,壳体31的打开或破坏)。由于当检测到损坏行为时擦除了RAM 171中的数据,因此,可以进一步提高控制模块13的防篡改性。
另外,当检测到损坏行为时,变更置乱密钥,因此,即使没有擦除RAM 171中的数据,也难以通过使用ICE(in-circuit emulator,回路仿真器)等来分析RAM 171中的数据。
上述的描述举例说明了保护RAM 171(易失性存储器)中的数据的情况。然而,例如,当检测到电池351的去除、或者壳体31的打开或破坏时,可以通过擦除或破坏非易失性存储器172中的数据来保护非易失性存储器172中的数据。在擦除作为易失性存储器的RAM 171中的数据的情况下,与擦除非易失性存储器172中的数据的情况相比,由于处理器(例如,CPU)不需要工作,因此,可以利用较少的电能来擦除数据。可以将电容器355的电容抑制为低值。
另外,通过形成具有多层结构的保护基板33~36,而不形成具有单层结构的保护基板33~36,导线布线图案可以设置在每一层上。
而且,每个保护基板上导线的导线布线图案不限于上述实例。代替地,可以每一个对于壳体31的每个面的长度或宽度都非常窄的间隔对导线进行布线,以基本覆盖壳体31的所有面。
另外,不必在每个保护基板上设置导线。相反地,可以将导线设置在壳体31的内表面上,或者可以将导线设置在壳体31的外表面和内表面之间。
在上述实施例中,电池351仅用于在不使用主电源14的情况下使控制模块13工作。
另外,用于处理上述实施例中电池351的去除的技术不限于上述篡改监控电路105-1~105-6。该技术对于需要向其提供用于工作的电能的篡改监控电路(例如,用于导致故障而监控热攻击的温度监控电路)是有效的。
尽管在上述描述中,为每个保护基板设置了篡改监控电路105,但是例如通过将在多个保护基板上的导线串联连接,可以减少篡改监控电路的数量。
另外,当检测到电池351的去除之后,类似于通过篡改监控电路105来检测损坏行为的情况,可以变更置乱密钥。
尽管上述描述举例证明了将Gold序列用作置乱密钥的情况,但是用作置乱密钥的随机数或伪随机数不限于上述实例。例如,可以使用在仅使用一个LFSR的情况下所获得的M序列伪随机数,以及可以使用利用了热噪声的物理随机数。
另外,用于置乱地址的方法不限于上述实例,而可以使用利用基于随机数或伪随机数来设置置乱密钥的另一方法。
尽管上述描述举例说明了作为与读取器-写入器1进行通信的一方的IC卡2,但读取器-写入器1可以与非接触IC卡功能装置(例如,便携式电话、PDA(个人数字助理)、计时器、以及具有非接触IC卡功能的计算机)进行通信。
另外,图5中示出的存储器存取控制器102可以应用于除了读取器-写入器1之外的其他存储器数据读取/写入装置。
本领域的技术人员应该理解,根据设计要求和其他因素,可以有多种修改、组合、子组合和改进,均应包含在本发明的权利要求或等同物的范围之内。
相关申请的交叉参考
本发明包含于2006年7月28日向日本专利局提交的日本专利申请JP 2006-205713的主题,其全部内容结合于此以供参考。