CN101097510A - 随机数生成设备及控制方法、存储器存取控制设备及通信设备 - Google Patents
随机数生成设备及控制方法、存储器存取控制设备及通信设备 Download PDFInfo
- Publication number
- CN101097510A CN101097510A CNA2007101124656A CN200710112465A CN101097510A CN 101097510 A CN101097510 A CN 101097510A CN A2007101124656 A CNA2007101124656 A CN A2007101124656A CN 200710112465 A CN200710112465 A CN 200710112465A CN 101097510 A CN101097510 A CN 101097510A
- Authority
- CN
- China
- Prior art keywords
- random number
- pseudo
- generate
- scramble key
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/58—Indexing scheme relating to groups G06F7/58 - G06F7/588
- G06F2207/583—Serial finite field implementation, i.e. serial implementation of finite field arithmetic, generating one new bit or trit per step, e.g. using an LFSR or several independent LFSRs; also includes PRNGs with parallel operation between LFSR and outputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Abstract
随机数生成设备生成并输出随机数或伪随机数。随机数生成设备包括:随机数生成器,用于生成随机数或伪随机数;以及随机数输出控制器,用于当由随机数生成器生成的随机数或伪随机数等于预定值时,控制随机数生成器,以生成并输出不同于预定值的新的随机数或伪随机数。
Description
相关申请的交叉参考
本发明包含与于2006年6月26日向日本专利局提交的日本专利申请JP 2006-174808相关的主题,其全部内容结合于此作为参考。
技术领域
本发明涉及随机数生成设备、随机数生成控制方法、存储器存取控制设备以及通信设备,具体地,涉及用于防止将可容易估计出的值设置为在置乱数据时使用的置乱密钥(scramble key)的随机数生成设备、随机数生成控制方法、存储器存取控制设备以及通信设备。
背景技术
已经提出了一种技术(例如,参见日本未审查专利申请公开第2005-249969号),其中,通过识别随机数串中连续相同的数字,并基于随机数串中的相同数字或相同数字组的数量检查将被输出的随机数的周期性,确定随机数生成电路是否发生故障。
发明内容
存在随机数被用作在置乱各种类型的数据时使用的置乱密钥的情况。例如,当将诸如000...000和111...111的具有连续相同数字的位串以及诸如0101...0101、0101...010、1010...1010和1010...101的不同的数字组交替重复的位串设置为置乱密钥时,存在这样的一种可能性:通过解析如何置乱数据,与设置其他位串的情况相比可以容易地估计置乱密钥的值。
然而,在日本未审查专利申请公开第2005-249969号中公开的技术没有考虑到检查随机数是否适合作为置乱密钥,这是因为所公开的技术旨在检查由随机数生成电路生成的随机数的周期性的异常。
考虑到上述情况提出了本发明。期望防止将可容易估计出的位串值设置为置乱密钥。
根据本发明第一实施例的随机数生成设备生成并输出随机数或伪随机数。随机数生成设备包括:随机数生成装置,用于生成随机数或伪随机数;以及随机数输出控制装置,用于当由随机数生成装置生成的随机数或伪随机数等于预定值时,控制随机数生成装置,以生成并输出不同于该预定值的新的随机数或伪随机数。
随机数生成装置可以生成Gold序列伪随机数作为生成的伪随机数。
随机数输出控制装置可控制随机数生成装置以生成并输出不同于具有连续相同数字的位串以及不同的数字组交替重复的位串的随机数或伪随机数作为新的随机数或伪随机数。
根据本发明第二实施例的随机数生成控制方法用于包括生成并输出随机数或伪随机数的随机数生成器的随机数生成设备,该方法包括以下步骤:当由随机数生成器生成的随机数或伪随机数等于预定值时,控制随机数生成器,以生成并输出不同于该预定值的新的随机数或伪随机数。
根据本发明第三实施例的存储器存取控制设备通过使用置乱密钥来置乱输入逻辑地址,将存储器中被实际访问的物理地址分配给输入逻辑地址。存储器存取控制设备包括:随机数生成装置,用于生成随机数或伪随机数;以及随机数输出控制装置,用于当由随机数生成装置生成的随机数或伪随机数等于预定值时,控制随机数生成装置,以生成并输出不同于该预定值的新的随机数或伪随机数作为置乱密钥。
根据本发明第四实施例的通信设备与具有非接触集成电路卡功能的设备通信。通信设备包括:存储器存取控制装置,用于通过使用置乱密钥来置乱输入逻辑地址,将存储器中被实际访问的物理地址分配给输入逻辑地址;随机数生成装置,用于生成随机数或伪随机数;以及随机数输出控制装置,用于当由随机数生成装置生成的随机数或伪随机数等于预定值时,控制随机数生成装置,以生成并输出作为置乱密钥的不同于该预定值的新的随机数或伪随机数。
在本发明的第一和第二实施例中,当生成的随机数或伪随机数等于预定值时,控制随机数生成设备来生成并输出不同于该预定值的新的随机数或伪随机数。
在本发明的第三实施例中,当生成的随机数或伪随机数等于预定值时,控制存储器存取控制设备来生成并输出不同于预定值的新的随机数或伪随机数作为置乱密钥。
在本发明的第四实施例中,当生成的随机数或伪随机数等于预定值时,控制通信设备来生成并输出不同于预定值的新的随机数或伪随机数作为置乱密钥。
在本发明的第一至第四实施例中,可以输出其值不同于预定值的随机数。另外,根据本发明的第一至第四实施例,可以防止将可容易估计出的位串值设置为用于置乱数据的置乱密钥。
附图说明
图1是示出根据本发明实施例的读取器-写入器的框图;
图2是示出图1中所示控制模块的功能结构的框图;
图3是示出图2中所示随机数输出单元的第一实例的功能结构的框图;
图4是示出图2中所示随机数输出单元的功能结构的详细框图;
图5是示出由图1中所示读取器-写入器执行的置乱密钥生成处理的流程图;
图6是示出由图1中所示读取器-写入器执行的存储器存取控制处理的流程图;
图7是示出图2中所示随机数输出单元的第二实例的功能结构的框图;以及
图8是示出当包括图7中所示随机数输出单元时,由图1中所示读取器-写入器执行的置乱密钥生成处理的流程图。
具体实施方式
在描述本发明的实施例之前,下面讨论权利要求的特征和本发明实施例中公开的特定元件之间的对应关系。这些描述旨在保证在该说明书中描述了支持所要求的发明的实施例。因此,即使在随后实施例中的元件没有被描述为与本发明的某一特征相关,也不一定表示该元件与权利要求的该特征不相关。相反,即使本文中将某元件描述为与权利要求的某一特征相关,也不一定表示该元件与权利要求的其他特征不相关。
根据本发明第一实施例的随机数生成设备(例如,图7中所示的随机数字输出单元42)生成并输出随机数或伪随机数。该随机数生成设备包括:随机数生成装置(例如,图7所示的随机数生成器101),用于生成随机数或伪随机数;以及随机数输出控制装置(例如,图7所示的位串检查器201),用于当由随机数生成装置生成的随机数或伪随机数等于预定值时,控制随机数生成装置,以生成并输出不同于该预定值的新的随机数或伪随机数。
根据本发明第二实施例的随机数生成控制方法用于包括随机数生成器(例如,图7所示的随机数生成器101)的生成并输出随机数或伪随机数的随机数生成设备(例如,图7所示的随机数输出单元42),该方法包括以下步骤:当由随机数生成器生成的随机数或伪随机数等于预定值时,控制随机数生成器,以生成并输出不同于该预定值的新的随机数或伪随机数(例如,图8中所示的步骤S102和S103)。
根据本发明的第三实施例的存储器访问控制设备(例如,图2中所示的存储器访问控制器32)通过使用置乱密钥来置乱输入逻辑地址,将存储器(例如,图2中所示的存储器33)中将被实际访问的物理地址分配给输入逻辑地址。该存储器访问控制设备包括:随机数生成装置(例如,图7中所示的随机数生成器101),用于生成随机数或伪随机数;以及随机数输出控制装置(例如,图7中所示的位串检查器201),用于当由随机数生成装置生成的随机数或伪随机数等于预定值时,控制随机数生成装置,以生成并输出作为置乱密钥的不同于该预定值的新的随机数或伪随机数。
根据本发明第四实施例的通信设备(例如,图1中所示的读取器-写入器1)与具有非接触集成电路卡功能的装置(例如,图1中所示的IC卡2)进行通信。该通信设备包括:存储器访问控制装置(例如,图2中所示的存储器存取控制器32),用于通过使用置乱密钥来置乱输入逻辑地址,将存储器(例如,图2所示的存储器33)中被实际访问的物理地址分配给输入逻辑地址;随机数生成装置(例如,图7所示的随机数生成器101),用于生成随机数或伪随机数;以及随机数输出控制装置(例如,图7所示的位串检查器201),用于当由随机数生成装置生成的随机数或伪随机数等于预定值时,控制随机数生成装置,以生成并输出作为置乱密钥的不同于该预定值的新的随机数或伪随机数。
下面参照附图描述本发明的实施例。
图1是示出根据本发明实施例的读取器-写入器1的框图。根据该实施例的读取器-写入器1包括天线11、RF(射频)驱动基板12、以及控制模块13。
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单独提供多种服务,例如,电子货币服务、预付卡服务、以及各种运输的票卡服务。
图2是示出图1中所示控制模块13的功能结构的框图。控制模块13包括CPU 31、存储器存取控制器32、存储器33、以及复位电路34。存储器存取控制器32包括置乱密钥改变命令单元41、随机数输出单元42、以及总线置乱单元43。总线置乱单元43包括置乱密钥存储部51和地址总线置乱电路52。置乱密钥存储部51包括置乱密钥缓冲器61和内部存储器62。
CPU 31和地址总线置乱电路52通过具有n位总线宽度的地址总线35互相连接。地址总线置乱电路52和存储器33通过具有等于地址总线35的总线宽度的n位总线宽度的地址总线36互相连接。CPU 31和存储器33通过具有m位总线宽度的数据总线37相互连接。
通过执行预定程序,CPU 31执行用于实现使用IC卡2的服务的处理。另外,CPU 31可并行执行对应于服务的程序。换句话说,CPU 31可并行执行用于多种服务的处理。
CPU 31将用于每种服务的数据写入存储器33以及从存储器33读取用于每种服务的数据。当CPU 31将数据写入存储器33时,CPU31使用地址总线35来为地址总线置乱电路52提供表示逻辑地址的逻辑地址信号,该逻辑地址表示逻辑数据写入位置,以及使用数据总线37来为存储器33提供写入信号,该写入信号包括写入数据并表示数据写入命令。当CPU 31从存储器33读取数据时,CPU 31使用地址总线35来为地址总线置乱电路52提供表示逻辑地址的逻辑地址信号,该逻辑地址表示逻辑数据读取位置,以及使用数据总线37来为存储器33提供表示数据读取命令的读取信号。
存储器存取控制器32通过CPU 31控制存储器33的存取。
在存储器存取控制器32中包含的部件之中,例如,置乱密钥改变命令单元41包括按钮和开关。例如,在改变存储在置乱密钥存储部51中的置乱密钥的情况下,用户使用置乱密钥改变命令单元41来输入置乱密钥改变命令。
当置乱密钥改变命令单元41为随机数输出单元42提供表示置乱密钥改变命令的信号时,随机数输出单元42生成由n位串形成的伪随机数,并将生成的伪随机数作为置乱密钥输出至置乱密钥缓冲器61。
总线置乱单元43执行用于将由CPU 31提供的逻辑地址表示的逻辑地址转换为在存储器33中将被实际访问的物理地址。
在包括总线置乱单元43中的部件中,从随机数输出单元42提供的伪随机数被作为置乱密钥存储在置乱密钥存储部51中。具体地,置乱密钥存储部51中的置乱密钥缓冲器61将由随机数输出单元42提供的伪随机数作为置乱密钥进行存储。另外,置乱密钥缓冲器61还提供置乱密钥并将其存储在内部存储器62中。内部存储器62由诸如闪存的非易失性存储器或由电池支持的RAM(随机存取存储器)等形成。即使控制模块13的电源处于关闭状态,内部存储器62仍持续地存储置乱密钥。另外,当控制模块13的电源从关闭状态变为开启状态时,置乱密钥缓冲器61读取并存储在内部存储器62中存储的置乱密钥。到在控制模块13的电源开启后完成从内部存储器62读取置乱密钥为止,置乱密钥缓冲器61向复位电路34提供复位命令信号。
通过使用存储在置乱密钥缓冲器61中的置乱密钥来置乱由从CPU 31提供的逻辑地址信号所表示的逻辑地址,地址总线置乱电路52将该逻辑地址转换为在存储器33中将被实际访问的物理地址。换句话说,通过置乱输入逻辑地址,地址总线置乱电路52将物理地址分配给逻辑地址。地址总线置乱电路52为存储器33提供表示通过转换所获得的物理地址的物理地址信号。
例如,存储器33由诸如闪存、EEPROM(电可擦除可编程只读存储器)、HDD(硬盘驱动器)、MRAM(磁阻随机存取存储器)、FeRAM(铁电随机存取存储器)、以及OUM(双向通用存储器)的非易失性存储器中的一种形成。当被提供有来自CPU 31的写入信号时,存储器33写入包括在由地址总线置乱电路52提供的物理地址信号表示的存储器33中的物理地址处的写入信号中的数据。另外,当被提供有来自CPU 31的读取信号时,存储器33读取由地址总线置乱电路52提供的物理地址信号表示的存储器33中的物理地址处的数据,并通过数据总线37将读取的数据提供给CPU 31。
当将复位命令信号从置乱密钥缓冲器61提供给复位电路34时,复位电路34通过向CPU 31提供复位信号来初始化CPU 31的状态。
图3是示出随机数输出单元42的第一实例的功能结构的框图。随机数字输出单元42包括随机数字生成器101和开关102。
随机数生成器101包括:LFSR(线性反馈移位寄存器)随机数输出单元111,包括具有L1位的移位寄存器;LFSR随机数输出单元112,包括具有L2位的移位寄存器;以及EXOR(异或)电路113。
LFSR随机数输出单元111和112基于已知的LFSR原理,其中,具有由移位寄存器中预定数目的位所表示的值的异或逻辑和被作为反馈值输入移位寄存器。随机数生成器101通过使用异或电路113以获得由LFSR随机生成单元111和112生成的两个不同的M序列伪随机数的每一位的异或逻辑和,来生成Gold序列随机数。包括在随机数生成器101中的LFSR随机数输出单元的数目并不限于两个,而可以是三个或更多。
当从置乱密钥改变命令单元41接收表示置乱密钥改变命令的输入信号时,开关102被接通,从而通过开关102将表示由随机数生成器101生成的Gold序列随机数的位串输出到置乱密钥缓冲器61。
图4是示出总线置乱单元43的功能结构的详细框图。
置乱密钥缓冲器61包括具有n位的串行输入和并行输出移位寄存器。在置乱密钥缓冲器61中,将从随机数输出单元42中作为串行信号提供的伪随机数存储为置乱密钥。
地址总线置乱电路52通过使用EXOR电路151-1~151-n将逻辑地址转换为具有位SA1~SAn的n位物理地址,从而获得具有位A1~An的并且由通过地址总线35从CPU 31提供的逻辑地址信号所表示的n位逻辑地址的每一位与具有位K1~Kn并且存储在置乱密钥缓冲器61中的n位置乱密钥的每一位之间的异或逻辑和。地址总线置乱电路52为存储器33提供表示通过转换而获得的物理地址的物理地址信号。
下面,将参照图5和图6描述读取器-写入器1的处理。
首先,下面参照图5所示的流程图描述由读取器-写入器1执行的置乱密钥生成处理。例如,在接通读取器-写入器1的电源时的情况下,用户使用置乱密钥改变命令单元41输入置乱密钥改变命令以改变置乱密钥开始置乱密钥生成处理。
在步骤S1中,随机数输出单元42输出伪随机数。具体地,置乱密钥改变命令单元41通过向开关102提供表示置乱密钥改变命令的信号来接通开关102。当读取器-写入器1的电源接通时,随机数生成器101持续生成伪随机数。开关102的接通开始了通过开关102将伪随机数从随机数生成器101输出至置乱密钥缓冲器61。当从随机数生成器101输出了n位伪随机数时,开关102断开。
在步骤S2中,总线置乱单元43设置置乱密钥。之后,置乱密钥生成处理结束。具体地,在置乱密钥缓冲器61中,由n位串形成并由随机数输出单元42提供的伪随机数被作为置乱密钥存储在内部寄存器中。置乱密钥缓冲器61提供置乱密钥并将其存储在内部存储器62中。换句话说,置乱密钥通过内部存储器62备份。
这使得当读取器-写入器1的数量为多个时可以为每个控制模块13都设置具有不同值且难以预测的置乱密钥。例如在从工厂运送读取器-写入器1之前执行置乱密钥生成处理。
接下来,下面参照图6所示的流程图描述由读取器-写入器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确定不写入数据,并且处理前进到步骤S36。
在步骤S36中,CPU 31决定是否读取数据。在执行程序的过程中,如果在下一步骤中没有执行数据读取,则CPU 31确定不读取数据,并且处理返回至步骤S35。
之后,重复执行步骤S35和S36,直到CPU 31在步骤S35中确定写入数据或在步骤S36中确定读取数据。
在执行程序的过程中,如果在下一步骤中执行数据写入,则在步骤S35中,CPU 31确定写入数据,并且处理前进到步骤S37。
在步骤S37中,CPU 31命令写入数据。具体地,CPU 31使用地址总线35来为地址总线置乱电路52提供表示逻辑地址的逻辑地址信号,该逻辑地址表示逻辑数据写入位置。另外,CPU 31使用数据总线37来为存储器33提供包括写入数据并表示数据写入命令的写入信号。
在步骤S38中,地址总线置乱电路52将逻辑地址转换成物理地址。具体地,地址总线置乱电路52通过获得由逻辑地址信号表示的逻辑地址的每一位与存储在置乱密钥缓冲器61中的置乱密钥的每一位之间的异或逻辑和以及置乱逻辑地址来将逻辑地址转换成物理地址。地址总线置乱电路52使用地址总线36来为存储器33提供表示通过转换所获得的物理地址的物理地址信号。
在步骤S39中,将数据写入存储器33中。具体地,存储器33将包括在由CPU 31提供的写入信号中的数据写入到由物理地址信号表示的存储器33中的物理地址处。即使通过CPU 31命令存储器33在连续的物理地址处写入数据,而实际上将数据写入存储器33以被随机配置。因此,难以解析和篡改存储在存储器33中的数据内容。
然后,处理返回步骤S35,并执行步骤S35和随后的步骤。
在执行程序的过程中,如果在下一步骤执行数据读取,则在步骤S36中,CPU 31确定读取数据,并且处理前进到步骤S40。
在步骤S40中,CPU 31命令读取数据。具体地,CPU 31使用地址总线35为地址总线置乱电路52提供表示逻辑地址的逻辑地址信号,该逻辑地址表示逻辑数据读取位置。另外,CPU 31使用数据总线37为存储器33提供表示数据读取命令的读取信号。
类似于步骤S38,在步骤S41中,将逻辑地址转换成物理地址,并通过地址总线36将表示通过转换所获得的物理地址的物理地址信号从地址总线置乱电路52提供给存储器33。
在步骤S42中,存储器33读取数据。具体地,存储器33读取存储在由物理地址信号表示的物理地址处的数据,并使用数据总线37将读取的数据提供给CPU 31。
之后,处理返回至步骤S35,并执行步骤S35和随后的步骤。
如上所述,当读取器-写入器1的数量是多个时,可容易地为每个控制模块13设置不同的置乱密钥。即使解析了为一个控制模块13设置的置乱密钥,仍然难以使用该置乱密钥来解析和篡改存储在不同控制模块13的存储器33中的数据。因此,可使基于数据分配和篡改数据的破坏最小化。
另外,对于用于生成伪随机数的方法和用于置乱地址的方法,可以在不进行修改的情况下使用相关技术,而不需要设置新的复杂电路。因此,除输入置乱密钥改变命令之外,不需要用户的其它努力。因而,可容易地提高存储在存储器33中的数据的安全性。
接下来,下面参照图7和图8描述随机数输出单元42的第二实例。
图7是示出随机数输出单元42的第二实例的功能结构的框图。图7中所示的随机数输出单元42包括随机数生成器101、位串检查器201、开关202、由具有n位的移位寄存器形成的随机数寄存器203、以及开关204。在图7中,对应于图3中所示那些部分的部分由相同的参考标号表示,并且处理相同的部分由于它们的描述是重复的而不再进行描述。
位串检查器201从置乱密钥改变命令单元41获取表示置乱密钥改变命令的信号。当置乱密钥改变命令单元41为位串检查器201提供置乱密钥改变命令时,位串检查器201接通开关202。从而,通过开关202从随机数生成器101提供由随机数生成器101生成的Gold序列伪随机数表示的位串并将其存储在随机数寄存器203中。
另外,位串检查器201检查存储在随机数寄存器203中的伪随机数是否等于被禁止用作置乱密钥的预定值。如果存储在随机数寄存器203中的伪随机数等于被禁止用作置乱密钥的预定值,则位串检查器201接通开关202,以将具有预定位数的伪随机数从随机数生成器101输出至随机数寄存器203,从而改变了存储在随机数寄存器203中的伪随机数的值。如果存储在随机数寄存器203中的伪随机数不等于被禁止用作置乱密钥的预定值,则位串检查器201接通开关204。这使存储在随机数寄存器203中的伪随机数(由n位串形成)通过开关204输出至置乱密钥缓冲器61。换句话说,如果由随机数生成器101生成的伪随机数等于被禁止用作置乱密钥的预定值,则位串检查器201控制随机数生成器101,使得随机数生成器101生成新的伪随机数并将生成的不同于被禁止用作置乱密钥的值的伪随机数输出至置乱密钥缓冲器61。
接下来,下面参照图8中所示的流程图描述当读取器-写入器1包括图7中所示的随机数输出单元42时,代替图5中所示的置乱密钥生成处理的由读取器-写入器1执行的置乱密钥生成处理。例如,在读取器-写入器1的电源接通时的情况下,用户使用置乱密钥改变命令单元41输入置乱密钥改变命令开始图8中所示的置乱密钥生成处理。
在步骤S101中,随机数输出单元42生成伪随机数。具体地,置乱密钥改变命令单元41为位串检查器201提供表示置乱密钥改变命令的信号。位串检查器201接通开关202。在读取器-写入器1的电源接通时,随机数生成器101持续生成伪随机数。开关202的接通开始了通过开关202将伪随机数从随机数生成器101输出至随机数寄存器203。当通过随机数生成器101输出n位伪随机数时,位串检查器201断开开关202。
在步骤S102中,位串检查器201确定伪随机数是否是被禁止用作置乱密钥的值。具体地,位串检查器201将存储在随机数寄存器203中的伪随机数与被禁止用作置乱密钥的值进行比较。例如,用户预先设置与其它值比较起来容易被估计的值作为禁止用作置乱密钥的值,例如,诸如000...000和111...111的具有连续相同数字的位串以及诸如0101...0101、0101...010、1010...1010、和1010...101的不同的数字组交替重复的位串。如果位串检查器201确定存储在随机数寄存器203中的伪随机数是被禁止用作置乱密钥的值中的一个,则处理前进到步骤S103。
在步骤S103中,位串检查器201生成新的伪随机数。具体地,通过接通开关202,位串检查器201控制随机数生成器101,以向随机数寄存器203输出具有预定位数的伪随机数。随机数寄存器203将所存储的位串向上移位输入至随机数寄存器203的新的伪随机数的位数,并将新的伪随机数加到存储的位串的末尾。换句话说,由随机数生成器101生成的新的伪随机数被存储在随机数寄存器203中。
之后,处理返回步骤S102,并重复执行步骤S102和S103,直到在步骤S102中确定伪随机数不是被禁止用作置乱密钥的值。
在步骤S102中,如果确定伪随机数不是被禁止用作置乱密钥的值,则处理前进到步骤S104。
在步骤S104中,随机数输出单元42输出伪随机数。具体地,位串检查器201接通开关204。这使得通过开关204将存储在随机数寄存器203中的伪随机数输出至置乱密钥缓冲器61。
类似于图5中的步骤S2,在步骤S105中,设置置乱密钥,并结束图8中所示的置乱密钥生成处理。
如上所述,防止将可容易估计出的值设置成置乱密钥。因此,难以解析和篡改存储在存储器33中的数据,从而提高了存储在存储器33中的数据的安全性。另外,例如,通过以交换或初始化存储器33的定时改变置乱密钥,使得更加难以解析置乱密钥。
前面的描述描述了Gold序列伪随机数被用作置乱密钥的情况。然而,用作置乱密钥的随机数或伪随机数并不限于上述实施例,而是例如可以使用在仅使用一个LFSR的情况下获得的M序列伪随机数,以及可以使用利用热噪声的物理伪随机数。
另外,用于置乱地址的方法不限于上述实例。然而,还可以使用基于随机数或伪随机数设置的置乱密钥的另一种方法。
前面的描述举例说明了作为与读取器-写入器1通信方的IC卡2。显然,读取器-写入器1可与非接触IC卡功能装置进行通信,例如,具有非接触IC卡功能的便携式电话、PDA(个人数字助理)、计时器、以及计算机。
另外,图2中所示的存储器存取控制器32可应用于不同于读取器-写入器1的存储数据读取/写入装置。
此外,除上述禁止图7中所示的随机数输出单元42输出可容易估计出的值作为置乱密钥之外,可以根据需要设置禁止输出的任意值。
另外,尽管前面的描述描述了图2中所示的存储器33是非易失性存储器的情况,但是很显然,可将随机数输出单元42用作易失性存储器。
本领域的技术人员应该理解,根据设计要求和其他因素,可以有多种修改、组合、子组合和改进,均应包含在本发明的权利要求或等同物的范围之内。
Claims (9)
1.一种用于生成并输出随机数或伪随机数的随机数生成设备,所述随机数生成设备包括:
随机数生成装置,用于生成所述随机数或伪随机数;以及
随机数输出控制装置,用于当由所述随机数生成装置生成的所述随机数或伪随机数等于预定值时,控制所述随机数生成装置,以生成并输出不同于所述预定值的新的随机数或伪随机数。
2.根据权利要求1所述的随机数生成设备,其中,所述随机数生成装置生成Gold序列伪随机数作为所述伪随机数。
3.根据权利要求1所述的随机数生成设备,其中,所述随机数输出控制装置控制所述随机数生成装置,以生成并输出不同于具有连续相同数字的位串以及不同的数字组交替重复的位串的随机数或伪随机数作为所述新的随机数或伪随机数。
4.一种用于随机数生成设备的随机数生成控制方法,所述随机数生成设备包括用于生成并输出随机数或伪随机数的随机数生成器,所述随机数生成控制方法包括以下步骤:当由所述随机数生成器生成的所述随机数或伪随机数等于预定值时,控制所述随机数生成器,以生成并输出不同于所述预定值的新的随机数或伪随机数。
5.一种存储器存取控制设备,用于通过使用置乱密钥来置乱输入逻辑地址,将存储器中被实际访问的物理地址分配给所述输入逻辑地址,所述存储器存取控制设备包括:
随机数生成装置,用于生成随机数或伪随机数;以及
随机数输出控制装置,用于当由所述随机数生成装置生成的所述随机数或伪随机数等于预定值时,控制所述随机数生成装置,以生成并输出不同于所述预定值的新的随机数或伪随机数作为所述置乱密钥。
6.一种用于与具有非接触集成电路卡功能的设备进行通信的通信设备,所述通信设备包括:
存储器存取控制装置,用于通过使用置乱密钥来置乱输入逻辑地址,将存储器中被实际访问的物理地址分配给所述输入逻辑地址;
随机数生成装置,用于生成随机数或伪随机数;以及
随机数输出控制装置,用于当由所述随机数生成装置生成的所述随机数或伪随机数等于预定值时,控制所述随机数生成装置,以生成并输出不同于所述预定值的新的随机数或伪随机数作为所述置乱密钥。
7.一种用于生成并输出随机数或伪随机数的随机数生成设备,所述随机数生成设备包括:
随机数生成器,用于生成所述随机数或伪随机数;以及
随机数输出控制器,用于当由所述随机数生成器生成的所述随机数或伪随机数等于预定值时,执行所述随机数生成器的控制,以生成并输出不同于所述预定值的新的随机数或伪随机数。
8.一种存储器存取控制设备,用于通过使用置乱密钥来置乱输入逻辑地址,将存储器中被实际访问的物理地址分配给所述输入逻辑地址,所述存储器存取控制设备包括:
随机数生成器,用于生成随机数或伪随机数;以及
随机数输出控制器,用于当由所述随机数生成器生成的所述随机数或伪随机数等于预定值时,执行所述随机数生成器的控制,以生成并输出不同于所述预定值的新的随机数或伪随机数作为所述置乱密钥。
9.一种用于与具有非接触集成电路卡功能的设备进行通信的通信设备,所述通信设备包括:
存储器存取控制器,用于通过使用置乱密钥来置乱输入逻辑地址,将存储器中被实际访问的物理地址分配给所述输入逻辑地址;
随机数生成器,用于生成随机数或伪随机数;以及
随机数输出控制器,用于当由所述随机数生成器生成的所述随机数或伪随机数等于预定值时,执行所述随机数生成器的控制,以生成并输出不同于所述预定值的新的随机数或伪随机数作为所述置乱密钥。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006174808A JP2008003438A (ja) | 2006-06-26 | 2006-06-26 | 乱数生成装置、乱数生成制御方法、メモリアクセス制御装置、および、通信装置 |
JP2006174808 | 2006-06-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101097510A true CN101097510A (zh) | 2008-01-02 |
Family
ID=38874693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101124656A Pending CN101097510A (zh) | 2006-06-26 | 2007-06-26 | 随机数生成设备及控制方法、存储器存取控制设备及通信设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070299894A1 (zh) |
JP (1) | JP2008003438A (zh) |
CN (1) | CN101097510A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107980135A (zh) * | 2017-10-27 | 2018-05-01 | 福建联迪商用设备有限公司 | 一种终端随机数发生的方法及系统 |
TWI749654B (zh) * | 2019-07-25 | 2021-12-11 | 熵碼科技股份有限公司 | 亂數產生器及產生亂數輸出的方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003976A (ja) * | 2006-06-26 | 2008-01-10 | Sony Corp | メモリアクセス制御装置および方法、並びに、通信装置 |
JP4625936B2 (ja) * | 2007-06-12 | 2011-02-02 | 独立行政法人産業技術総合研究所 | 乱数発生器 |
US8484518B2 (en) | 2009-04-28 | 2013-07-09 | Alcatel Lucent | System and method for consecutive identical digit reduction |
US20110075840A1 (en) * | 2009-09-30 | 2011-03-31 | Zayas Fernando A | Method and system for generating random numbers in a storage device |
US9838226B2 (en) * | 2012-01-27 | 2017-12-05 | Apple Inc. | Methods and apparatus for the intelligent scrambling of control symbols |
JP6697618B2 (ja) * | 2019-06-11 | 2020-05-20 | キオクシア株式会社 | ランダマイザおよび半導体記憶装置 |
US11227046B2 (en) | 2019-12-24 | 2022-01-18 | Stmicroelectronics International N.V. | Dynamic randomization of password challenge |
US11281795B2 (en) | 2019-12-24 | 2022-03-22 | Stmicroelectronics International N.V. | Hierarchical random scrambling of secure data storage resulting in randomness across chips and on power on resets of individual chips |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4423287A (en) * | 1981-06-26 | 1983-12-27 | Visa U.S.A., Inc. | End-to-end encryption system and method of operation |
US5539769A (en) * | 1994-03-28 | 1996-07-23 | University Of Southern California | Adaptive fuzzy frequency hopping system |
US6272637B1 (en) * | 1997-04-14 | 2001-08-07 | Dallas Semiconductor Corporation | Systems and methods for protecting access to encrypted information |
CA2242526C (en) * | 1997-07-10 | 2001-09-11 | Yamaha Corporation | Method and device for incorporating additional information into main information through electronic watermarking technique |
US5943283A (en) * | 1997-12-05 | 1999-08-24 | Invox Technology | Address scrambling in a semiconductor memory |
US7051067B1 (en) * | 1999-11-22 | 2006-05-23 | Sun Microsystems, Inc. | Object oriented mechanism for dynamically constructing customized implementations to enforce restrictions |
JP2002328845A (ja) * | 2001-05-07 | 2002-11-15 | Fujitsu Ltd | 半導体集積回路及びicカードのセキュリティー保護方法 |
US7149764B2 (en) * | 2002-11-21 | 2006-12-12 | Ip-First, Llc | Random number generator bit string filter |
US7295674B2 (en) * | 2002-02-21 | 2007-11-13 | Nxp B.V. | On-line randomness test for detecting irregular pattern |
FR2844941B1 (fr) * | 2002-09-24 | 2005-02-18 | At & T Corp | Demande d'acces securise aux ressources d'un reseau intranet |
US7139225B2 (en) * | 2003-03-27 | 2006-11-21 | Qualcomm, Incorporated | Virtual real-time clock based on time information from multiple communication systems |
JP3740540B2 (ja) * | 2003-06-20 | 2006-02-01 | 独立行政法人情報通信研究機構 | パルス生成器、パルス生成方法、通信装置および通信方法 |
WO2005004385A1 (ja) * | 2003-06-30 | 2005-01-13 | Fujitsu Limited | 無線通信認証プログラムおよび無線通信プログラム |
US7154313B2 (en) * | 2004-09-30 | 2006-12-26 | Intel Corporation | Wideband spread spectrum clock |
TW200629192A (en) * | 2005-02-03 | 2006-08-16 | Sanyo Electric Co | Random number generating circuit |
WO2007001287A1 (en) * | 2005-06-23 | 2007-01-04 | Thomson Licensing | Multi-media access device registration system and method |
-
2006
- 2006-06-26 JP JP2006174808A patent/JP2008003438A/ja active Pending
-
2007
- 2007-06-20 US US11/765,840 patent/US20070299894A1/en not_active Abandoned
- 2007-06-26 CN CNA2007101124656A patent/CN101097510A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107980135A (zh) * | 2017-10-27 | 2018-05-01 | 福建联迪商用设备有限公司 | 一种终端随机数发生的方法及系统 |
TWI749654B (zh) * | 2019-07-25 | 2021-12-11 | 熵碼科技股份有限公司 | 亂數產生器及產生亂數輸出的方法 |
US11876899B2 (en) | 2019-07-25 | 2024-01-16 | PUFsecurity Corporation | Random number generator and method of generating output random number |
Also Published As
Publication number | Publication date |
---|---|
US20070299894A1 (en) | 2007-12-27 |
JP2008003438A (ja) | 2008-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101097510A (zh) | 随机数生成设备及控制方法、存储器存取控制设备及通信设备 | |
EP1884873A2 (en) | Memory access control apparatus and method, and communication apparatus | |
CN101097550A (zh) | 存储器存取控制设备和方法、以及通信设备 | |
US8976586B2 (en) | Semiconductor memory device for pseudo-random number generation | |
US7273163B2 (en) | Non-contact IC card | |
Prabhu et al. | Extracting device fingerprints from flash memory by exploiting physical variations | |
US11063768B2 (en) | Systems and methods for downloading code and data into a secure non-volatile memory | |
JP4659149B2 (ja) | 電子チップの不正行為に対する保護の非対称暗号通信法 | |
JP2000222176A (ja) | 乱数生成回路、当該乱数生成回路を内蔵する非接触icカード及びリーダ/ライタ、並びに、当該乱数生成回路を内蔵する装置のテスト方法 | |
CN101131678A (zh) | 数据存储装置、数据保护方法、以及通信装置 | |
US8069196B2 (en) | Method and device for creating a starting value for a pseudorandom number generator | |
US20090314841A1 (en) | Ic card and authentication processing method in ic card | |
US7500110B2 (en) | Method and arrangement for increasing the security of circuits against unauthorized access | |
CN115668196A (zh) | 基于熔丝阵列的装置识别的设备、系统和方法 | |
US11928077B2 (en) | Data processing circuit, data storage device including the same, and operating method thereof | |
US6058481A (en) | Smart cards | |
CN102315936A (zh) | 认证处理装置及其相关移动装置 | |
US8781119B2 (en) | User-controlled Random-ID generation function for smartcards | |
TW202137036A (zh) | 用來針對非揮發性記憶體進行資訊保護的方法及設備 | |
JP2006024140A (ja) | 乱数生成装置 | |
Малсугенов et al. | DEVELOPMENT OF THE METHOD OF IMPLICIT STORAGE OF KEY INFORMATION USING SRAM PUF IN SMART CARDS | |
KR100580380B1 (ko) | 스마트 카드를 이용한 지불 방법 및 그 장치 | |
US10545666B2 (en) | Data storage in a flash memory | |
Fredriksson | A case study in smartcard security Analysing Mifare Classic Rev. | |
KR20040027637A (ko) | Alpu 를 사용한 ufid 혹은 rfid 등 연계 방법 및 이용 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080102 |