CN100520741C - 存储器存取控制装置和方法、以及通信装置 - Google Patents
存储器存取控制装置和方法、以及通信装置 Download PDFInfo
- Publication number
- CN100520741C CN100520741C CNB2007101300395A CN200710130039A CN100520741C CN 100520741 C CN100520741 C CN 100520741C CN B2007101300395 A CNB2007101300395 A CN B2007101300395A CN 200710130039 A CN200710130039 A CN 200710130039A CN 100520741 C CN100520741 C CN 100520741C
- Authority
- CN
- China
- Prior art keywords
- random number
- scramble
- scramble key
- logical address
- pseudo random
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
一种存储器存取控制装置,包括以下元件:置乱密钥生成器,被配置为生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及分配单元,被配置为使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址。
Description
相关申请的交叉参考
本发明包含于2006年7月25日向日本专利局提交的日本专利申请JP 2006-201505的主题,其全部内容结合于此作为参考。
技术领域
本发明涉及存储器存取控制装置和方法以及通信装置,特别是,涉及一种易于提高存储器中的数据的安全性的存储器存取控制装置和方法,并涉及一种通信装置。
背景技术
例如在PCT日文翻译专利公开第2003-500786号中,已经提出了通过将被指定由处理器(例如中央处理单元(CPU)或类似物)访问的逻辑地址置乱,来把实际访问的物理地址分配给存储器,从而使存储器里的数据难于分析或篡改的提案。
发明内容
近年来,非授权的数据拦截和篡改已经变得越发巧妙,除了在PCT日文翻译专利公开第2003-500786号中描述的技术以外,还强烈要求加强存储器中数据的安全性。
期望能够很容易地加强存储器中的数据的安全性。
根据本发明的第一实施例,提供了一种存储器存取控制装置,包括以下元件:置乱密钥生成装置,用于生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及分配装置,用于使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址。
置乱密钥生成装置可生成其中的固定值是只包括1的比特流的置乱密钥。
该存储器存取控制装置可进一步包括用于生成随机数或伪随机数的随机数生成装置。
随机数生成装置可生成Gold序列伪随机数。
在生成的随机数或生成的伪随机数等于预定值的情况下,随机数生成装置可生成新的随机数或新的伪随机数。
根据本发明的第一实施例,提供了一种存储器存取控制方法,包括以下步骤:生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址。
根据本发明的第二实施例,提供了一种通信装置,包括以下元件:置乱密钥生成装置,用于生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及分配装置,用于使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址,该物理地址被用于存储从具有非接触集成电路卡功能的装置中读取的数据。
根据本发明的第一实施例,生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数,以及通过使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址。
根据本发明的第二实施例,生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及通过使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址,该物理地址被用于存储从具有非接触集成电路卡功能的装置中读取的数据。
根据本发明的第一或第二实施例,存储器里的数据变得难以分析或篡改。根据本发明的第一或第二实施例,能够很容易地提高存储器中数据的安全性。
附图说明
图1是根据本发明实施例的读/写器的框图;
图2是示出图1所示的控制模块的功能结构的框图;
图3是示出图2所示的随机数输出单元的功能结构的框图;
图4是示出图2所示的总线置乱器的详细功能结构的框图;
图5是描述图2所示的置乱密钥缓存器的内部寄存器中的值的序列的示图;
图6是描述由图1所示的读/写器执行的置乱密钥生成处理的流程图;
图7是描述由图1所示的读/写器执行的存储器存取控制处理的流程图;
图8是示出根据本发明第二实施例的图2所示的随机数输出单元的功能结构的框图;以及
图9是描述在读/写器具有图8所示的随机数输出单元的情况下,由图1所示的读/写器执行的置乱密钥生成处理的流程图。
具体实施方式
在描述本发明的实施例之前,以下描述了权利要求的特征与参照说明书或附图描述的本发明的实施例中公开的特定元素之间的对应关系。该描述的目的是确保在说明书或附图中描述了支持所要求的发明的实施例。因此,即使下面实施例中的元素在说明书或附图中没有相关于本发明的特定特征进行描述,这也不一定意味着该元素不与权利要求中的特征相关。相反,即使某一元素在本文中被描述为与权利要求中的特定特征相关,这并不一定意味着该元素不与权利要求的其他特征相关。
根据本发明的第一实施例,提供了一种存储器存取控制装置(例如,图2所示的总线置乱器43),包括以下元件:置乱密钥生成装置(例如,图2所示的置乱密钥缓存器61),用于生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及分配装置(例如,图2所示的存储器33),通过使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址。
根据本发明第一实施例的存储器存取控制装置可进一步包括用于生成作为置乱密钥的随机数或伪随机数的随机数生成装置(例如,图3所示的随机数生成器101)。
根据本发明的第一实施例,提供了一种存储器存取控制方法,包括以下步骤:生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数(例如,图6所示的步骤S2或图9所示的步骤S105);以及使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址(例如,图7所示的步骤S38或S41)。
根据本发明的第二实施例,提供了一种用于与具有非接触集成电路卡功能的装置(例如,图1所示的IC卡2)进行通信的通信装置(例如,图1所示的读/写器1),包括以下元件:置乱密钥生成装置(例如,图2所示的置乱密钥缓存器61),用于生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及分配装置(例如,图2所示的地址总线置乱电路52),用于使用置乱密钥来置乱逻辑地址,从而将物理地址分配给逻辑地址,该物理地址被用于存储从具有非接触集成电路卡功能的装置中读取的数据。
下面将参考附图描述本发明的实施例。
图1是根据本发明的实施例的读/写器的框图。根据本发明该实施例的读/写器1包括天线11、射频(RF)驱动板12和控制模块13。
RF驱动板12经由天线11,使用单频率载波与非接触集成电路(IC)卡2执行基于电磁感应的近距离通信。RF驱动板12使用的载波的频率可以是例如在工业、科学和医学(ISM)频段中的13.56MHz。近距离通信指的是当装置之间的距离在几十厘米以内时,装置能够相互通信,它还包括装置(的外壳)相互接触的通信。
控制模块13执行用于实施使用IC卡2的服务的处理。根据需要,控制模块13通过天线11和RF驱动板12从/向IC卡2读取/写入服务中使用的数据。控制模块13能够执行提供多种服务类型的并行处理。即,一个读/写器1能够提供使用非接触IC卡的多种服务,如电子货币服务、预付卡服务以及多种交通类型的票卡服务。
图2是示出图1所示的控制模块13的功能结构的框图。控制模块13包括CPU 31、存储器存取控制器32、存储器33以及复位电路34。存储器存取控制器32包括置乱密钥变更指示单元41、随机数输出单元42以及总线置乱器43。总线置乱器43包括置乱密钥保存器51和地址总线置乱电路52。置乱密钥保存器51包括置乱密钥缓存器61和内部存储器62。
CPU 31和地址总线置乱电路52通过设于其间的地址总线35相互连接,地址总线35的总线带宽为n位。地址总线置乱电路52和存储器33通过设于其间的地址总线36相互连接,地址总线36的总线带宽一样是n位。CPU 31和存储器33通过设于其间的数据总线37相互连接,数据总线37的总线带宽是m位。
CPU 31执行预定的程序来执行实施使用IC卡2的服务的处理。CPU 31能够执行与相互并行的服务相关联的程序。换句话说,CPU31能够执行并行处理以提供多种服务。
CPU 31从/向存储器33读取/写入各种服务中使用的数据。当向存储器33写数据时,CPU 31经由地址总线35将表示逻辑数据写入位置的逻辑地址的逻辑地址信号提供给地址总线置乱电路52,并经由数据总线37将包括要写入的数据和表示数据写入指令的写入信号提供给存储器33。当从存储器33中读数据时,CPU 31经由地址总线35将表示逻辑数据读取位置的逻辑地址的逻辑地址信号提供给总线置乱电路52,并经由数据总线37将表示数据读取指令的读取信号提供给存储器33。
存储器存取控制器32控制CPU 31对存储器33的存取。
在包含于存储器存取控制器32的各个元件中,置乱密钥变更指示单元41包括,例如,按钮、开关、或类似物。为了改变置乱密钥保存器51中保存的置乱密钥,例如,用户经由置乱密钥变更指示单元41输入改变置乱密钥的指令。
在从置乱密钥变更指示单元41将表示改变置乱密钥的指令的信号提供给随机数输出单元42的情况下,随机数输出单元42生成包括n-p位的比特流的伪随机数,并将生成的伪随机数作为置乱密钥输出给置乱密钥缓存器61。
总线置乱器43执行将从CPU 31提供的逻辑地址信号所表示的逻辑地址转换成用于实际访问存储器33的物理地址的处理。
在包含于总线置乱器43的各个元件中,置乱密钥保存器51使用从随机数输出单元42提供的伪随机数生成置乱密钥,并保存所生成的置乱密钥。更具体地,置乱密钥保存器51的置乱密钥缓存器61使用从随机数输出单元42提供的伪随机数生成置乱密钥,并保存所生成的置乱密钥。同时,置乱密钥缓存器61提供生成的置乱密钥并将其存储在内部存储器62中。内部存储器62是非易失性存储器,如闪存、或由电池或类似物支持的随机存取存储器(RAM)。即使在控制模块13的电源被关闭的情况下,内部存储器62仍持续地保存置乱密钥。当控制模块13从关闭的状态变为开启时,置乱密钥缓存器61读出存储在内部存储器62中的置乱密钥,并保存该置乱密钥。然后,在从控制模块13开启到完成从内部存储器62读取置乱密钥的期间内,置乱密钥缓存器61向复位电路34提供复位指示信号。
利用置乱密钥缓存器61中保存的置乱密钥,地址总线置乱电路52把从CPU 31提供的逻辑地址信号表示的逻辑地址置乱,从而将逻辑地址转换成用于实际访问存储器33的物理地址。换句话说,地址总线置乱电路52置乱输入逻辑地址,从而给逻辑地址分配物理地址。地址总线置乱电路52通过地址总线36将表示经过转换的物理地址的物理地址信号提供给存储器33。
存储器33是非易失性存储器,如闪存、电可擦除可编程只读存储器(EEPROM)、硬盘驱动(HDD)、磁阻RAM(MRAM)、铁电RAM(FeRAM)或Ovonic统一存储器(Ovonic UnifiedMemory)。在从CPU 31向存储器33提供写入信号的情况下,包含在该写入信号中的数据被写入到存储器33上的物理地址,该地址由从地址总线置乱电路52提供的物理地址信号所表示。在从CPU31向存储器33提供读取信号的情况下,从存储器上的物理地址(该地址由从地址总线置乱电路52提供的物理地址信号所表示)读取数据,然后读出的数据经由数据总线37提供给CPU 31。
当从置乱密钥缓存器61提供复位指示信号时,复位电路34提供复位信号给CPU 31,从而初始化CPU 31的状态。
图3是示出随机数输出单元42的功能结构的框图。随机数输出单元42包括随机数字生成器101和开关102。
随机数生成器101包括具有L1位移位寄存器的线性反馈移位寄存器(LFSR)随机数生成器111、具有L2位移位寄存器的LFSR随机数生成器112和异或(EXOR)电路113。
LFSR随机数生成器111和112基于移位寄存器的预定位的值的异或作为反馈值输入到该移位寄存器的现有LFSR原理。随机数生成器101使用异或电路113,通过一位一位地计算分别由LFSR随机数生成器111和112生成的两个不同的最大长度序列(M序列)伪随机数的异或来生成Gold序列(Gold-sequence)伪随机数。随机数生成器101中包含的LFSR随机数生成器111和112的数目并不限于两个。随机数生成器101可以具有三个或更多个LFSR随机数生成器。
开关102响应于表示来自置乱密钥变更指示单元41的改变置乱密钥的指令的信号的输入而接通。表示由随机数生成器101生成的Gold序列伪随机数的比特流经由开关102输出至置乱密钥缓存器61。
图4是示出总线置乱器43的详细功能结构的框图。
置乱密钥缓存器61包括具有串行及并行输入和并行输出的n位移位寄存器。如图5所示,在置乱密钥缓存器61的内部寄存器之中,低阶的p位(K1~Kp位)是固定值,而作为串行信号从随机数输出单元42提供的伪随机数被设至剩余的高阶n-p位(Kp+1d~Kn位)。即,置乱密钥缓存器61生成并保存为固定值的预定低阶p位和作为伪随机数的剩余n-p位的二进制置乱密钥。具有固定值的p位的最低有效位(LSB)总是设为1。即,置乱密钥的LSB总被设为1。
地址总线置乱电路52利用异或电路151-1~151-n,一位接一位地计算包括经由地址总线35从CPU31提供的逻辑地址信号所表示的A1~An位的n位逻辑地址和包括置乱密钥缓存器61中保存的K1~Kn位的n位置乱密钥的异或,从而将逻辑地址转换为包括SA1~SAn位的n位物理地址。地址总线置乱电路52经由地址总线36将表示转换后的物理地址的物理地址信号提供给存储器33。
下面将参照图6和图7描述读/写器1执行的处理。
参照图6所示的流程图,将描述由读/写器1执行的置乱密钥生成处理。当在读/写器1开启的情况下,用户通过置乱密钥变更指示单元41输入改变置乱密钥的指令时该处理开始。
在步骤S1中,随机数输出单元42输出伪随机数。更具体地,置乱密钥变更指示单元41向开关102提供表示改变置乱密钥的指令的信号,从而开启开关102。在读/写器1的电源打开的情况下,随机数生成器101始终生成伪随机数。通过接通开关102,随机数生成器101开始经由开关102向置乱密钥缓存器61输出伪随机数。在随机数生成器101输出n-p位的伪随机数的情况下,开关102关闭。
在步骤S2中,总线置乱器43设置置乱密钥,并且置乱密钥生成处理结束。具体来说,置乱密钥缓存器61将包括从随机数输出单元42提供的n-p位的比特流的伪随机数设置为内部寄存器的高阶n-p位。从而,生成了包括p个低阶位固定值和n-p个高阶位伪随机数的n位置乱密钥。置乱密钥缓存器61在内部寄存器中保存生成的置乱密钥,并提供和在内部存储器62中存储置乱密钥。即,置乱密钥被备份在内部存储器62中。
从而,能够给每个控制模块13设置具有不同值并难于预测的置乱密钥。该置乱密钥设置处理例如在读/写器1从工厂出货之前执行。
接下来,参照图7的流程图,描述由读/写器1执行的存储器存取控制处理。该处理例如在读/写器1开启的情况下开始。
在步骤S31中,在读/写器1开启且控制模块13开启的情况下,置乱密钥缓存器61开始向复位电路34提供复位指示信号。
在步骤S32中,复位电路34开始向CPU 31提供复位信号,从而复位CPU 31。因此,CPU 31的状态被初始化。
在步骤S33中,置乱密钥缓存器61读取内部寄存器62中保存的置乱密钥。置乱密钥缓存器61将读出的置乱密钥保存到内部寄存器中。
在步骤S34中,置乱密钥缓存器61停止向复位电路34提供复位指示信号。相应地,复位电路34停止向CPU 31提供复位信号。CPU 31开始执行程序。
在步骤S35中,CPU 31确定是否写入数据。在由CPU 31执行的程序中的下一处理不涉及写入数据的情况下,CPU 31确定不写入数据,流程进行到步骤S36。
在步骤S36中,CPU 31确定是否读取数据。在由CPU 31执行的程序中的下一处理不涉及读取数据的情况下,CPU 31确定不读取数据,流程返回到步骤S35。
重复步骤S35和S36中的处理,直到确定在步骤S35中写入数据或在步骤S36中读取数据。
在步骤S35中由CPU 31执行的程序中的下一处理涉及写入数据的情况下,CPU 31确定写入数据,流程进行到步骤S37。
在步骤S37中,CPU 31给出写入数据的指令。更具体地,CPU31经由地址总线35向地址总线置乱电路52提供表示逻辑数据写入位置的逻辑地址的逻辑地址信号,并经由数据总线37向存储器33提供包括将被写入的数据和表示写入数据的指令的写入信号。
在步骤S38中,地址总线置乱电路52将逻辑地址转换为物理地址。具体来说,地址总线置乱电路52一位接一位地计算由逻辑地址信号表示的逻辑地址与置乱密钥缓存器61中保存的置乱密钥的异或来置乱逻辑地址,从而将逻辑地址转换为物理地址。地址总线置乱电路52经由地址总线36向存储器33提供表示转换后的物理地址的物理地址信号。
在步骤S39中,存储器33写入数据。具体来说,存储器33将从CPU 31提供的写入信号中包含的数据写入到存储器33上的物理地址,该地址由物理地址信号表示。从而,即使在CPU 31给出将数据写入连续的逻辑地址的指令的情况下,数据也实际上被写入存储器33上随机安排的位置。从而,难于分析或篡改存储器33中存储的数据。
在置乱密钥的连续低阶位是零的情况下,与连续为零的位相对应的逻辑地址低阶位不转换为物理地址而进行分配。因此,在存储器33上低阶位没有转换的范围中,数据以与逻辑地址相同的序列排列。例如,在置乱密钥的三个连续的低阶位为零的情况下,逻辑地址的三个低阶位不转换为物理地址而进行分配,而且,在存储器33上低阶位没有转换的范围中,数据以与逻辑地址相同的序列排列。因此,数据更有可能被分析。与此相反,如上文所描述的,置乱密钥缓存器61中保存的置乱密钥的LSB被固定为1,因此逻辑地址的LSB始终被置乱。因此,在存储器上,避免了数据以与逻辑地址相同的序列排列,从而能更可靠地使数据变得更难于分析。
通过将置乱密钥的固定值设置为只包括1的比特流,数据流能够被可靠地置乱,并以更详细的方式排列,从而数据变得更加难于分析。
之后,流程返回步骤S35,执行步骤S35以下的处理。
在步骤S36中,在由CPU 31执行的程序中的下一处理涉及读取数据的情况下,CPU 31确定读取数据,流程进行到步骤S40。
在步骤S40中,CPU 31给出读取数据的指令。具体来说,CPU31经由地址总线35向地址总线置乱电路52提供表示逻辑数据读取位置的逻辑地址的逻辑地址信号,并经由数据总线37向存储器33提供表示数据读取指令的读取信号。
在步骤S41中,与上文描述的步骤S38中的处理一样,逻辑地址被转换成物理地址,并经由地址总线36将表示转换后的物理地址的物理地址信号从地址总线置乱电路52提供给存储器33。
在步骤S42中,存储器33读取数据。具体来说,存储器33读取存储在由物理地址信号表示的物理地址上的数据,并经由数据总线37向CPU 31提供读出的数据。
之后,流程返回步骤S35,执行步骤S35以下的处理。
如上文所描述的,能够容易地为不同的控制模块13设置不同的置乱密钥。即使在设置给一个控制模块13的置乱密钥被分析出来的情况下,也能防止使用该置乱密钥分析或篡改存储在另一控制模块13的存储器33中的数据。因此,由于数据泄漏或篡改造成的破坏能够被保持在最小。
在执行伪随机数生成方法和地址置乱方法中可采用现有的技术。由于不需要新的复杂电路,而且用户只需执行输入改变置乱密钥的指令的附加步骤,因而能够容易地提高存储器33中的数据安全性。
如上所述,防止了数据在存储器33中以与逻辑地址相同的序列排列,因此能更可靠地使数据变得更难于分析。
下面参照图8和图9,描述根据本发明第二实施例的随机数输出单元42。
图8是示出根据第二实施例的随机数输出单元42的功能结构的框图。图8所示的随机数输出单元42包括随机数生成器101、比特流检查器201、开关202、包括n-p位移位寄存器的随机数存储单元203和开关204。在图8中,对应于图3的部分使用相同的附图标号表示,为避免冗余而省略了执行相同处理的部分的描述。
比特流检查器201从置乱密钥变更指示单元41获得表示改变置乱密钥的指令的信号。在从置乱密钥变更指示单元41提供表示改变置乱密钥的指令的信号的情况下,比特流检查器201接通开关202。因此,表示由随机数生成器101生成的Gold序列伪随机数的比特流经由开关202从随机数生成器101提供至随机数存储单元203,并被存储在随机数存储单元203中。
比特流检查器201检查随机数存储单元203中存储的伪随机数是否与任意预定的禁用值一致。在随机数存储单元203中存储的伪随机数与一禁用值一致的情况下,比特流检查器201接通开关202,并从随机数输出单元101向随机数存储单元203输出包括预定数目位的伪随机数,从而改变存储在随机数存储单元203中的伪随机数的值。在随机数存储单元203中存储的伪随机数与任何禁用值都不一致的情况下,比特流检查器201接通开关204。从而,经由开关204向置乱密钥缓存器61输出存储在随机数存储单元203中的包括n-p位比特流的伪随机数。即,在由随机数生成器101生成的伪随机数等于预定的禁用值的情况下,比特流检查器201控制随机数生成器101以生成新的随机数,并将这个不同于禁用值的随机值输出至置乱密钥缓存器61。
接下来,参照图9的流程图,描述在读/写器1中设置了图8所示的随机数输出单元42的情况下,由读/写装置1执行的不同于图6的流程图的置乱密钥生成处理。当例如在读/写器1的电源打开的情况下用户通过置乱密钥变更指示单元41输入改变置乱密钥的指令时,该处理开始。
在步骤S101中,随机数输出单元42生成伪随机数。具体来说,置乱密钥变更指示单元41向比特流检查器201提供表示改变置乱密钥的指令的信号。比特流检查器201接通开关202。当读/写器1的电源打开时,随机数生成器101不断地生成伪随机数。通过接通开关202,随机数生成器101开始经由开关202向随机数存储单元203输出伪随机数。在随机数生成器101输出n-p位的伪随机数的情况下,比特流检查器201断开开关202。
在步骤S102中,比特流检查器201确定伪随机数是否为禁用值。例如,比起其他值来说可能更容易预测的值,例如包括相同连续值的比特流(例如,111...111),或具有交替不同值的比特流(例如,0101...0101或1010...1010),被用户作为禁止用作置乱密钥的值而预先设置在比特流检查器201中。在通过从这些禁用值的每一个中除去置乱密钥的低阶固定值而获得的值与存储在随机数存储单元203中的伪随机数一致的情况下,比特流检查器201确定伪随机数是禁用值,流程进行到步骤S103。
在步骤S103中,比特流检查器201生成新的伪随机数。具体来说,比特流检查器201接通开关202,并从随机数生成器101向随机数存储单元203输出包括预定数目位的伪随机数。随机数存储单元203将存储的比特流向上移位新输入的伪随机数的位的数目,并将输入的伪随机数加到该比特流的末尾。即,由随机数生成器101生成的新的伪随机数被存储在随机数存储单元203中。
之后,流程返回到步骤S102。重复步骤S102和S103中的处理,直到在步骤S102中确定伪随机数不是禁用值。
在步骤S102中确决定伪随机数不是禁用值的情况下,处理进行到步骤S104。
在步骤S104中,随机数输出单元42输出伪随机数。具体来说,比特流检查器201接通开关204。从而,存储在随机数存储单元203中的伪随机数经由开关204输出至置乱密钥缓存器61。
在步骤S105中,与图6所示的步骤S2中的上述处理一样,设置置乱密钥,置乱密钥生成处理结束。
由于以上面描述的方式避免了容易预测的值被设置为置乱密钥,因而难于分析或篡改存储器33中存储的数据,从而加强了存储器33中数据的安全性。此外,通过在例如更换或初始化存储器33时改变置乱密钥,使得置乱密钥变得更加难于分析。
在上文的描述中,已经描述了Gold序列伪随机数被用作置乱密钥的情况。然而,用作置乱密钥的随机数或伪随机数并不限于上述举例。例如,可以使用通过仅使用一个LFSR生成的M序列伪随机数或利用热噪声的物理随机数。
置乱地址的方法并不限于上述举例。也可以采用使用通过随机数或伪随机数设置的置乱密钥的其他方法。
在上文的描述中,IC卡2被描述为读/写器1的通信伙伴。勿庸置疑,读/写器1可与具有非接触IC卡功能的装置进行通信,例如移动电话、个人数字助理(PDA)、计时器以及具有非接触IC卡功能的计算机。
除读/写器外,图2所示的存储器存取控制器32还可以应用于从/向存储器读/写数据的其他装置。
在图8所示的随机数输出单元42中,除上文描述的禁止输出容易预测的值作为置乱密钥之外,还可以根据应用任意设置禁止被输出的值。
尽管在上文中描述了图2所示的存储器33是非易失性存储器的情况,但毫无疑问,存储器存取控制器32也可以用于控制易失性存储器。
可以允许用户设置置乱密钥的固定值的LSB以外的值。
进一步,可以允许用户设置置乱密钥的固定值以外的可变值。
本领域技术人员应该明白,根据设计要求和其他因素,在所附的权利要求或其等同范围以内,本发明可以进行各种修改、组合、自组合和变更。
Claims (7)
1.一种存储器存取控制装置,包括:
置乱密钥生成装置,用于生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及
分配装置,用于使用所述置乱密钥来置乱逻辑地址,从而将物理地址分配给所述逻辑地址。
2.根据权利要求1所述的存储器存取控制装置,其中,所述置乱密钥生成装置生成所述固定值是只包括1的比特流的所述置乱密钥。
3.根据权利要求1所述的存储器存取控制装置,进一步包括用于生成所述随机数或所述伪随机数的随机数生成装置。
4.根据权利要求3所述的存储器存取控制装置,其中,所述随机数生成装置生成Gold序列伪随机数。
5.根据权利要求3所述的存储器存取控制装置,其中,在所生成的随机数或所生成的伪随机数等于预定值的情况下,所述随机数生成装置生成新的随机数或新的伪随机数。
6.一种存储器存取控制方法,包括以下步骤:
生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及
使用所述置乱密钥来置乱逻辑地址,从而将物理地址分配给所述逻辑地址。
7.一种用于与具有非接触集成电路卡功能的装置进行通信的通信装置,包括:
置乱密钥生成装置,用于生成包括为固定值的预定低阶位的二进制置乱密钥,其中,最低有效位的值是1,剩余位是随机数或伪随机数;以及
分配装置,用于使用所述置乱密钥来置乱逻辑地址,从而将物理地址分配给所述逻辑地址,所述物理地址被用于存储从所述具有非接触集成电路卡功能的装置中读取的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006201505A JP2008027327A (ja) | 2006-07-25 | 2006-07-25 | メモリアクセス制御装置および方法、並びに、通信装置 |
JP2006201505 | 2006-07-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101114257A CN101114257A (zh) | 2008-01-30 |
CN100520741C true CN100520741C (zh) | 2009-07-29 |
Family
ID=38617287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101300395A Expired - Fee Related CN100520741C (zh) | 2006-07-25 | 2007-07-25 | 存储器存取控制装置和方法、以及通信装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080025506A1 (zh) |
EP (1) | EP1884873A3 (zh) |
JP (1) | JP2008027327A (zh) |
CN (1) | CN100520741C (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090012528A (ko) * | 2007-07-30 | 2009-02-04 | 삼성전자주식회사 | 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법 |
US8555015B2 (en) * | 2008-10-23 | 2013-10-08 | Maxim Integrated Products, Inc. | Multi-layer content protecting microcontroller |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
GB2486635B (en) * | 2010-12-14 | 2016-12-14 | Stmicroelectronics (Research & Development) Ltd | Detecting key corruption |
IL210169A0 (en) * | 2010-12-22 | 2011-03-31 | Yehuda Binder | System and method for routing-based internet security |
CN102591804A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种flash数据加密保护的方法 |
GB2487530A (en) * | 2011-01-19 | 2012-08-01 | Nds Ltd | Detection of illegal memory readout by using permanently programmed cells |
EP2503760B1 (de) | 2011-03-24 | 2014-05-07 | Siemens Aktiengesellschaft | Verfahren zum Einrichten eines Kommunikationsnetzes aus Geräten einer Automatisierungsanlage |
US20130097403A1 (en) * | 2011-10-18 | 2013-04-18 | Rambus Inc. | Address Mapping in Memory Systems |
EP2674891A1 (en) * | 2012-06-12 | 2013-12-18 | Thomson Licensing | A method, a device and a computer program support for execution of encrypted computer code |
KR20140100908A (ko) * | 2013-02-07 | 2014-08-18 | 페어차일드 세미컨덕터 코포레이션 | 안전한 암호 키 생성 및 배포 |
US9182943B2 (en) * | 2013-03-08 | 2015-11-10 | Qualcomm Incorporated | Methods and devices for prime number generation |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
CN105743652B (zh) * | 2014-12-11 | 2019-01-22 | 上海华虹集成电路有限责任公司 | 基于地址异或的数据总线加密方法 |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
KR102644274B1 (ko) * | 2018-11-22 | 2024-03-06 | 삼성전자주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 메모리 컨트롤러의 동작 방법 |
TWI781544B (zh) * | 2020-03-31 | 2022-10-21 | 台灣積體電路製造股份有限公司 | 積體電路裝置以及產生用於積體電路裝置的安全密鑰的方法及系統 |
US11528135B2 (en) * | 2020-03-31 | 2022-12-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit (IC) signatures with random number generator and one-time programmable device |
US11962693B2 (en) * | 2020-03-31 | 2024-04-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit (IC) signatures with random number generator and one-time programmable device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60177498A (ja) * | 1984-02-23 | 1985-09-11 | Fujitsu Ltd | 半導体記憶装置 |
US5890199A (en) * | 1996-10-21 | 1999-03-30 | Ramtron International Corporation | Data processor incorporating a ferroelectric memory array selectably configurable as read/write and read only memory |
US6272637B1 (en) * | 1997-04-14 | 2001-08-07 | Dallas Semiconductor Corporation | Systems and methods for protecting access to encrypted information |
DE19922155A1 (de) * | 1999-05-12 | 2000-11-23 | Giesecke & Devrient Gmbh | Speicheranordnung mit Adreßverwürfelung |
-
2006
- 2006-07-25 JP JP2006201505A patent/JP2008027327A/ja active Pending
-
2007
- 2007-06-15 EP EP07011781A patent/EP1884873A3/en not_active Withdrawn
- 2007-07-19 US US11/780,207 patent/US20080025506A1/en not_active Abandoned
- 2007-07-25 CN CNB2007101300395A patent/CN100520741C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101114257A (zh) | 2008-01-30 |
JP2008027327A (ja) | 2008-02-07 |
EP1884873A2 (en) | 2008-02-06 |
EP1884873A3 (en) | 2008-02-27 |
US20080025506A1 (en) | 2008-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100520741C (zh) | 存储器存取控制装置和方法、以及通信装置 | |
EP3208788B1 (en) | Method of protecting a circuit against a side-channel analysis | |
US11055065B2 (en) | PUF-based true random number generation system | |
CN101097510A (zh) | 随机数生成设备及控制方法、存储器存取控制设备及通信设备 | |
US7086087B1 (en) | Information processing device, card device and information processing system | |
RU2251726C2 (ru) | Микропроцессорное устройство с шифрованием | |
US20060265563A1 (en) | Word-individual key generation | |
CN101097550A (zh) | 存储器存取控制设备和方法、以及通信设备 | |
CN107430670A (zh) | 用于存储器保护的柔性计数器系统 | |
CN103403670A (zh) | 用于伪随机数生成的半导体存储器件 | |
KR101818441B1 (ko) | 데이터 처리 장치 및 이의 동작 방법 | |
US20150103598A1 (en) | Protection against side-channel attacks on non-volatile memory | |
CN112800491B (zh) | 具有数据安全机构的设备及其操作方法 | |
CN112887077A (zh) | 一种ssd主控芯片随机缓存保密方法和电路 | |
CN104375079A (zh) | 芯片 | |
US20090327709A1 (en) | Memory address obfuscation | |
US9531535B2 (en) | Secure memories using unique identification elements | |
CN109560927A (zh) | 一种设备指纹实现方法及装置 | |
US11928077B2 (en) | Data processing circuit, data storage device including the same, and operating method thereof | |
US11195582B2 (en) | Non-volatile memory device and method of writing to non-volatile memory device | |
US7609568B2 (en) | Method and device for securing an integrated circuit, in particular a microprocessor card | |
CN100561443C (zh) | 用于对集成电路中的单元内容进行加扰的方法及装置 | |
JP2010237772A (ja) | メモリ装置、メモリ認証システム、及びメモリ認証プログラム | |
RU2787933C1 (ru) | Устройство хранения данных с системой шифрования | |
CN205051726U (zh) | 互联网移动终端的内置式安全管控装置及互联网移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1111244 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090729 Termination date: 20100725 |