CN1564982A - 信息存储器件、存储器存取控制系统及方法以及计算机程序 - Google Patents
信息存储器件、存储器存取控制系统及方法以及计算机程序 Download PDFInfo
- Publication number
- CN1564982A CN1564982A CNA038011387A CN03801138A CN1564982A CN 1564982 A CN1564982 A CN 1564982A CN A038011387 A CNA038011387 A CN A038011387A CN 03801138 A CN03801138 A CN 03801138A CN 1564982 A CN1564982 A CN 1564982A
- Authority
- CN
- China
- Prior art keywords
- locking
- key
- information
- signal conditioning
- output
- 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.)
- Granted
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
-
- 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
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Storage Device Security (AREA)
- Lock And Its Accessories (AREA)
Abstract
一种器件和方法,允许多个信息处理单元普通和安全地执行作为对存储卡的存取控制处理的存储器锁定或解锁。根据用作从诸如PC这样的主器件的信息处理单元输入的锁定命令,诸如存储卡这样的信息存储器件确定那一个密钥集是:(a)不允许向外输出的标准锁定密钥集和(b)允许向外输出的输出锁定密钥集。该信息存储器件存储密钥集信息,并且仅仅当密钥集是输出锁定密钥集时,才预定验证成功执行的情况下允许向外输出。
Description
技术领域
本发明涉及信息存储器件、存储器存取控制系统和方法和计算机程序。更具体地,本发明涉及信息存储器件,诸如存储卡,用于实现以各种模式对于在信息存储器件中存储的数据进行存取控制,并且用于普通和安全地使得多个使用信息存储器件的信息处理装置可以锁定或解锁在信息存储器件中的存储器,本发明也涉及存储器存取控制系统和方法,并且涉及计算机程序。
背景技术
各种信息处理装置,诸如PC(个人计算机)、PDA(个人数字助理)、数字摄像机、数据读取器/写入器和游戏机,使用各种存储媒体来读写数据,所述存储媒体诸如硬盘、DVD、CD和存储卡。
现在,小型卡式存储器件被广泛地用作存储各种类型的软件数据(内容)的存储装置,其中每个小型卡式存储器件包括诸如闪存等的存储器和诸如CPU等的控制器,所述软件数据诸如音乐数据、图像数据和程序。
读取存储在存储卡等上的数据或向这样的存储卡写入数据是通过将所述卡放入具有存储卡接口的单元并且经由所述接口传送数据来完成的。可以由任何人不经许可来进行存储器件的数据读写。或者,通过例如设置密码或进行加密来实现所谓的存取控制方案,以便仅仅指定的用户或指定的单位被允许存取存储器,而没有许可的第三方用户被拒绝存取存储器。
例如,产生仅仅具有存取许可的用户知道的密码。这个密码被从作为信息读取器的内容使用单元向诸如存储卡的内容存储单元传送。存储卡的控制器(CPU等)验证密码,并且只要验证成功时,从诸如存储卡的内容存储单元向作为信息读取器的内容使用单元输出内容。或者,在作为信息读取器的内容使用单元和诸如存储卡的内容存储单元之间执行相互的认证。只有相互认证成功时,内容才从诸如存储卡的内容存储单元向作为信息读取器的内容使用单元输出。
发明内容
存在仅仅在验证数据(内容)使用许可之后才允许数据存取的各种结构。
诸如存储卡的数据存储器可以被置入各种单元中,包括PC、PDA和数字摄像机。在许多情况下,这些单元共享一个存储卡。在这样的数据使用结构中,当每次存储卡被置入这些单元之一请求上述的密码验证或认证时,需要时间来等到它变得准备好读取或写入数据。因此降低了处理的效率。
考虑到上述问题,本发明的一个目的是提供:一种信息存储器件,诸如存储卡,用于实现以各种模式对于在信息存储器件中存储的数据进行存取控制,并且用于普通和安全地使得多个使用信息存储器件的信息处理装置可以锁定或解锁在信息存储器件中的存储器,本发明也涉及存储器存取控制系统和方法,并且涉及计算机程序。
按照本发明的第一方面,提供了一种信息存储器件,包括:存储器,用于存储数据;控制器,用于执行对存储器的存取控制。
所述控制器根据从信息处理装置输入的锁定命令和标识符(ID)来执行存储器的锁定。
所述控制器根据锁定命令来确定包括标识符(ID)的密钥集是
(a)用作禁止输出密钥集的标准锁定密钥集,还是
(b)用作允许输出密钥集的输出锁定密钥集,并且
在存储装置中存储确定信息。
在本发明的信息存储器件的一种模式中,信息存储器件在存储装置中存储锁定状态信息,所述锁定状态信息用作确定信息,根据它来确定信息存储器件的锁定状态。所述锁定状态信息包括这样的信息,基于它来确定信息存储器件是被标准锁定还是被输出锁定。如果确定信息存储器件被输出锁定(export-lock),则所述控制器根据锁定状态信息来向信息处理装置输出输出锁定密钥集。
在本发明的信息存储器件的一个模式中,所述控制器确定是否允许向信息处理装置输出输出锁定密钥集(export lock key set)。所述确定包括验证从信息处理装置输入的、对于信息处理装置唯一的密钥集,并且至少如果验证成功,则向信息处理装置输出输出锁定密钥集(output an export lock key set)。
在本发明的信息存储器件的一个模式中,信息处理装置唯一的密钥集是主密钥集[ID,LK],其中包括用作信息处理装置的唯一ID的主ID和用作与唯一ID相关联的锁定密钥的主锁定密钥(LK)。所述信息存储器件具有适用于计算主锁定密钥(LK)的锁定主密钥(LMK),它是基于关系式LK=H(LMK,ID)的散列值,所述散列值是通过应用锁定主密钥(LMK)来对于ID计算的。控制器根据通过应用锁定主密钥(LMK)计算散列值而获得的锁定密钥(LK)来验证从信息处理装置输入的、对于信息处理装置唯一的密钥集。
在本发明的信息存储器的一种模式中,控制器产生一个随机数,并且从信息处理装置接收加密的数据[E(Lk,Rms)],所述加密的数据是通过根据由信息处理装置持有的主锁定密钥(LK)加密所述随机数(Rms)而产生的。控制器执行验证,包括对于根据通过计算散列值获得的主锁定密钥(LK)而计算的加密数据[E(Lk,Rms)]查看所接收的加密数据。
在本发明的信息存储器件的一种模式中,信息处理装置具有用作唯一密钥集的主密钥集[ID,LK],它包括用作信息处理装置的唯一ID的主ID和与主ID相关联地定义的主锁定密钥(LK)。响应于来自信息处理装置的输出锁定密钥集输出请求,所述控制器根据由信息处理装置持有的主锁定密钥(LK)来加密输出锁定密钥集的数据,并且输出加密数据。
在本发明的信息存储器件的一种模式中,输出锁定密钥集是子密钥集[IDen,LKen],其中包括从已经执行输出锁定的信息处理装置输入的子ID(IDen)和与子ID(IDen)相关联地定义的子锁定密钥(LKen)的数据集。所述控制器根据由已经做出子密钥集请求的信息处理装置持有的主锁定密钥(LK)来加密子锁定密钥(LKen),并且输出加密数据[E(LK,LKen)]。
按照本发明的第二方面,提供了一种存储器存取控制系统,包括信息存储器件,所述信息存储器件包括:存储器,用于存储数据;控制器,用于对存储器执行存取控制,所述存储器存取控制系统还包括信息处理装置,所述信息处理装置包括与信息存储器件的接口,并且经由所述接口存取在信息存储器件中的存储器。
信息处理装置在存储装置中存储密钥集,其中包括标识符(ID)和锁定密钥(LK)。
所述控制器根据从信息处理装置输入的锁定命令和标识符(ID)来执行存储器的锁定。
所述控制器根据锁定命令来确定包括标识符(ID)的密钥集是
(a)用作禁止输出密钥集的标准锁定密钥集,还是
(b)用作允许输出密钥集的输出锁定密钥集,并且
在存储装置中存储确定信息。
根据确定信息,信息存储器件的控制器确定是否允许向信息处理装置输出密钥集。
在本发明的存储器存取控制系统的一个模式中,信息处理装置在存储装置中存储主密钥集[ID,LK],其中包括用作信息处理装置的唯一ID的主ID和用作与唯一ID相关联的锁定密钥的主锁定密钥(LK)。所述信息存储器件具有适用于计算主锁定密钥(LK)的锁定主密钥(LMK),它是基于关系式LK=H(LMK,ID)的散列值,所述散列值是通过应用锁定主密钥(LMK)来对于ID计算的。信息存储器件的控制器根据通过应用锁定主密钥(LMK)计算散列值而获得的锁定密钥(LK)来验证从信息处理装置输入的、对于信息处理装置唯一的密钥集。
在本发明的存储器存取控制系统的一种模式中,信息存储器件的控制器产生一个随机数,并且从信息处理装置接收加密的数据[E(Lk,Rms)],所述加密的数据是通过根据由信息处理装置持有的主锁定密钥(LK)加密所述随机数(Rms)而产生的。信息存储器件的控制器执行验证,包括对于根据通过计算散列值获得的主锁定密钥(LK)而计算的加密数据[E(Lk,Rms)]查看所接收的加密数据。
在本发明的存储器存取控制系统的一种模式中,信息处理装置具有用作唯一密钥集的主密钥集[ID,LK],它包括用作信息处理装置的唯一ID的主ID和与主ID相关联地定义的主锁定密钥(LK)。响应于来自信息处理装置的输出锁定密钥集输出请求,信息存储器件的控制器根据由信息处理装置持有的主锁定密钥(LK)来加密输出锁定密钥集的数据,并且输出加密数据。信息处理装置通过根据由信息处理装置持有的主锁定密钥(LK)解密所述加密数据来获得输出锁定密钥集的数据。
在本发明的存储器存取控制系统的一种模式中,输出锁定密钥集是子密钥集[IDen,LKen],其中包括从已经执行输出锁定的信息处理装置输入的子ID(IDen)和与子ID(IDen)相关联地定义的子锁定密钥(LKen)的数据集。信息存储器件的控制器根据由已经做出子密钥集请求的信息处理装置持有的主锁定密钥(LK)来加密子锁定密钥(LKen),并且向信息处理装置输出加密数据[E(LK,LKen)]。
按照本发明的第三方面,提供了一种存储器存取控制方法,用于信息存储器件,所述信息存储器件包括用于存储数据的存储器和用于对存储器执行存取控制的控制器。
所述方法包括:接收从信息处理装置输入的锁定命令和标识符(ID)的步骤;
根据锁定命令来确定包括标识符(ID)的密钥集是
(a)用作禁止输出密钥集的标准锁定密钥集,还是
(b)用作允许输出密钥集的输出锁定密钥集,并且
在存储装置中存储确定信息的步骤。
在本发明的存储器存取控制方法的一种模式中,确定信息是用作锁定状态信息的锁定状态信息。锁定状态信息包括这样的信息,基于它来确定信息存储器件是被标准锁定还是被输出锁定。如果确定信息存储器件被输出锁定,则所述存储器存取控制方法还包括步骤:根据锁定状态信息来向信息处理装置输出输出锁定密钥集。
在本发明的存储器存取控制方法的一个模式中,作为确定是否允许向信息处理装置输出锁定密钥集,验证从信息处理装置输入的、对于信息处理装置唯一的密钥集,并且至少如果验证成功,则向信息处理装置输出输出锁定密钥集。
在本发明的存储器存取控制方法的一个模式中,信息处理装置唯一的密钥集是主密钥集[ID,LK],其中包括用作信息处理装置的唯一ID的主ID和用作与唯一ID相关联的锁定密钥的主锁定密钥(LK)。所述信息存储器件具有适用于计算主锁定密钥(LK)的锁定主密钥(LMK),它是基于关系式LK=H(LMK,ID)的散列值,所述散列值是通过应用锁定主密钥(LMK)来对于ID计算的。所述验证包括根据通过应用锁定主密钥(LMK)计算散列值而获得的锁定密钥(LK)来验证从信息处理装置输入的、对于信息处理装置唯一的密钥集的步骤。
在本发明的存储器存取控制方法的一种模式中,验证步骤包括步骤:产生一个随机数,并且从信息处理装置接收加密的数据[E(Lk,Rms)],所述加密的数据是通过根据由信息处理装置持有的主锁定密钥(LK)加密所述随机数(Rms)而产生的;并且执行验证,包括对于根据通过计算散列值获得的主锁定密钥(LK)而计算的加密数据[E(Lk,Rms)]查看所接收的加密数据。
在本发明的存储器存取控制方法的一种模式中,信息处理装置具有用作唯一密钥集的主密钥集[ID,LK],它包括用作信息处理装置的唯一ID的主ID和与主ID相关联地定义的主锁定密钥(LK)。存储器存取控制方法还包括加密和输出步骤:响应于来自信息处理装置的输出锁定密钥集输出请求,根据由信息处理装置持有的主锁定密钥(LK)来加密输出锁定密钥集的数据,并且输出加密数据。
在本发明的存储器存取控制方法的一种模式中,输出锁定密钥集是子密钥集[IDen,LKen],其中包括从已经执行输出锁定的信息处理装置输入的子ID(IDen)和与子ID(IDen)相关联地定义的子锁定密钥(LKen)的数据集。所述加密和输出步骤是这样的步骤:根据由已经做出子密钥集请求的信息处理装置持有的主锁定密钥(LK)来加密子锁定密钥(LKen),并且输出加密数据[E(LK,LKen)]。
按照本发明的第四方面,提供了一种计算机程序,用于对信息存储器执行存储器存取控制,所述信息存储器包括用于存储数据的存储器和用于对存储器执行存取控制的控制器。
所述程序包括:接收从信息处理装置输入的锁定命令和标识符(ID)的步骤;
根据锁定命令来确定包括标识符(ID)的密钥集是
(a)用作禁止输出密钥集的标准锁定密钥集,还是
(b)用作允许输出密钥集的输出锁定密钥集,并且
在存储装置中存储确定信息的步骤。
按照本发明的结构,响应于从诸如PC的用作主机的信息处理装置输入的锁定命令,诸如存储卡的信息存储器件确定是否检测到(a)用作禁止输出密钥集的标准锁定密钥集,或(b)用作允许输出密钥集的输出锁定密钥集,并且存储对应的密钥集信息。仅仅当检测到输出锁定密钥集时,如果预定的验证成功,则允许输出。因此,仅仅允许多个有效的信息处理装置来锁定或解锁存储器。
按照本发明的结构,根据锁定状态信息来执行存储器存取控制,其中根据所述锁定状态信息来确定是否信息存储器件被标准锁定或输出锁定。仅仅当信息存储器件被输出锁定时,输出密钥集。因此,依赖于存储器的使用,可以执行各种类型的存储器存取控制。
按照本发明的结构,为了向信息处理装置输出输出锁定密钥集,对于从信息处理装置输入的、信息处理装置唯一的密钥集执行验证。如果验证成功,则输出密钥集。因此,防止了无限制的存储器存取,并且实现了安全的存储器存取控制。
按照本发明的结构,存储主密钥集[ID,LK]和子密钥集[IDen,LKen],其中主密钥集[ID,LK]包括用作信息处理装置的唯一ID的主ID和用作与唯一ID相关联的锁定密钥的主锁定密钥(LK),子密钥集[IDen,LKen]包括从已经执行输出锁定的信息处理装置输入的子ID(IDen)和与子ID(IDen)相关联地定义的子锁定密钥(LKen)的数据集。依赖于一个处理,改变要应用的密钥集,因此容易按照所述处理来实现存储器存取控制。
本发明的计算机程序是可以在诸如CD、FD或MO的存储介质或诸如网络的通信介质上提供的计算机程序,用于以计算机可读的格式向可以执行各种程序代码的一般计算机提供计算机程序。通过以计算机可读的格式提供这样的程序,可以在计算机系统上执行按照所述程序的处理。
通过下面参照附图详细说明本发明的优选实施例,本发明的其他目的、特点和优点将会变得更加清楚。本说明书中的词“系统”指的是多个装置的逻辑组,它们不必然被包括在单个的外壳中。
附图说明
图1是说明本发明的信息存储器的使用的示意图。
图2是示出使用信息存储器的主器件的硬件配置的示例的图。
图3是示出信息存储器的硬件配置的示例的图。
图4是说明在本发明的信息存储器中存储的数据和在主器件中存储的数据的视图。
图5是说明在锁定信息存储器中在信息存储器和主器件之间执行的通信处理的序列的视图。
图6是说明锁定信息存储器的处理的流程图。
图7是说明在解锁信息存储器中在信息存储器和主器件之间执行的通信处理的序列的视图。
图8是说明解锁信息存储器的处理的流程图。
图9是说明在本发明的信息存储器中存储的数据和在主器件中存储的数据的视图。
图10是说明锁定本发明的信息存储器的模式的视图。
图11是说明在通过应用子密钥集而锁定信息存储器中在信息存储器和主器件之间执行的通信处理的序列。
图12是说明通过应用子密钥集而锁定信息存储器的处理的流程图。
图13是说明在通过应用子密钥集而解锁信息存储器中在信息存储器和主器件之间执行的通信处理的序列的视图。
图14是说明通过应用子密钥集而压印和解锁信息存储器的处理的流程图。
图15是说明通过应用子密钥集而压印和解锁信息存储器的处理的流程图。
图16是说明在通过应用子密钥集而压印和解锁信息存储器中在信息存储器和主器件之间执行的通信处理的序列的视图。
图17是说明在通过应用子密钥集而压印和解锁信息存储器中更新锁定状态标记的处理的流程图。
图18是说明在解锁信息存储器中引用锁定状态标记的处理的流程图。
图19是说明作为信息存储器的数据存储格式的簇结构的视图。
图20是说明基于具体数据区域(簇)的读取的锁定处理的流程图。
图21是说明用于锁定/解锁信息存储器的锁定/解锁单元的结构的视图。
图22是说明主器件读取锁定状态的处理的流程图。
图23是说明当锁定信息存储器时主器件执行的处理和指示器显示处理的流程图。
图24是说明当解锁信息存储器时主器件执行的处理和指示器显示处理的流程图。
具体实施方式
参照附图,将详细说明按照本发明的实施例的信息存储器和存储器存取控制处理。
参见图1,将说明通过应用本发明的信息存储器而使用数据。信息处理装置20包括:例如,PC(个人计算机)21、PDA(个人数字助理)22、移动通信终端23、数字摄像机24等。信息存储器30可以被布置在这些信息处理装置20中,并且信息处理装置20可以从信息存储器30输出信息。
例如,具有诸如闪存的非易失性存储器(NVM)的存储卡30被布置到每个信息处理装置20中。每个信息处理装置20在存储卡30上存储数据或读取在存储卡上存储的数据。
存在这样的情况,其中PC(个人计算机)21和22、PDA(个人数字助理)23、移动通信终端24、数字摄像机25共享一个存储卡30。例如,由数字摄像机25捕获的图像数据被存储在存储卡30上,并且随后,存储卡30被置入PC 21以显示所存储的图像数据或处理图像。或者,PC 21经由诸如因特网的网络或经由CD或DVD来获得诸如音乐数据的内容,并且在存储卡30上存储内容,随后,其上存储内容的存储卡30被置入PDA 22中,因此使得可以使用PDA22在远处站点读取内容。
图2示出了其中可以布置诸如存储卡的信息存储器的信息处理装置的配置的一个示例。CPU(中央处理器)101是执行各种应用程序和OS(操作系统)的处理器。CPU 101控制在锁定和解锁信息存储器中的散列值计算、包括随机数产生的各种类型的加密和命令发送和接收,所述在锁定和解锁信息存储器中用于下述的在信息存储器上的存取控制。
ROM(只读存储器)102存储由CPU 101执行的程序的固定数据和计算参数。ROM 102存储用于锁定和解锁信息存储器的程序,所述锁定和解锁信息存储器用于下面详细说明的信息存储器上的存取控制。
RAM(随机存取存储器)103存储被施加到由CPU 101执行的程序和随着程序的执行适当改变的参数的信息。
DSP(数字信号处理器)104当读取已经经由存储器接口113从诸如存储卡的信息存储器200输入的内容时执行加密、均衡器调整(按照音频信号的频带的增益调整)、压缩/解压(编码/解码)等。
解密、解压的内容被数字/模拟转换器电路105转换为模拟音频信号,而所述模拟音频信号被放大器电路106放大并且从音频输出电路107输出。图像数据经由显示控制器108被诸如LCD的显示单元109输出。经由输入接口112从外部来源输入数字信号或模拟信号。当输入模拟信号时,这个模拟信号被模/数转换。利用模/数转换,输入信号被转换为数字信号。从外部来源输入的数字信号被SRC(采样率转换器)转换为具有预定采样频率和预定量化比特数量的数字信号,并且被转化的信号被输入。
输入/输出接口115是连接到外部单元的接口。例如,输入/输出接口115通过例如USB或IEEE 1394连接来与与其连接的单元进行数据传送。
参见图3,将说明信息存储器200的配置的一个示例,诸如具有非易失性存储器(NVM)的存储卡,所述非易失性存储器诸如闪存。所述闪存是被称为EEPROM(电子可擦除可编程ROM)的一种类型的电子可重写非易失性存储器。因为已知的EEPROM每个比特由两个晶体管组成,因此每个比特占用的面积大。对于提高每个芯片的部件的数量有一个限制。另一方面,利用所有比特删除方案,闪存包括的每个比特由晶体管组成。
具有这样的闪存的信息存储器200被安装在诸如PC、PDA或数字摄像机的信息处理装置中。从信息处理装置输入的数据被存储在存储器220上,并且在存储器220上存储的数据被输出到信息处理装置上。
信息存储器200还包括控制器210。控制器210包括CPU(中央处理单元)211,用作执行各种程序的处理器;ROM(只读存储器)212,用于存储由CPU 211执行的程序的固定数据和计算参数;RAM(随机存取存储器)213,用于存储被施加到由CPU 211执行的程序的信息和随着程序的执行适当改变的参数。
RAM(随机存取存储器)213也被用作存储状态值数据的区域,所述状态值指示信息存储器的锁定状态,它由于信息存储器的锁定和解锁而改变,信息存储器的锁定和解锁作为对于下面详细所述的信息存储器上的存取控制。
控制器210还包括:单元接口214,它用作与信息处理装置的数据输入/输出接口;存储器接口216,它用作与存储器220数据输入/输出接口。
CPU 211控制在信息存储器和信息处理装置之间执行的锁定和解锁处理中的散列值计算、包括随机数产生的各种类型的加密、命令发送和接收,所述锁定和解锁处理用作下面详细所述的存取控制。
[基于锁定主密钥(LMK)的处理]
作为用于在信息存储器上存取控制的处理的示例,将说明通过应用锁定主密钥(LMK)而对信息存储器的锁定和解锁。参见图4,将示意性地说明这个处理、即通过应用锁定主密钥(LMK)而执行的处理的示例。
锁定使得在诸如闪存的存储器(图3的存储器220)上的存取控制有效,所述存储器是用于存储诸如存储卡的信息存储器320的诸如内容的数据的区域。解锁用于去除存取控制。通过主器件310来执行锁定和解锁。
如上参照图1和2所述,主器件310包括多个信息处理装置,诸如PC、PDA、数字摄像机和DSC(数字照相机),每个具有用于执行与诸如存储卡的信息存储器320的数据传送的接口,每个向信息存储器320写入数据或从信息存储器320读取和使用数据。主器件310还包括锁定/解锁单元312,它用作专用于锁定/解锁诸如存储卡的信息存储器320的单元。
锁定/解锁单元312包括:CPU,用作执行锁定和解锁算法的控制装置;ROM和RAM,用作数据存储存储器;接口,其中布置了诸如存储卡的信息存储器320,并且通过它来进行数据传送。锁定/解锁单元312是专用于锁定和解锁信息存储器320的单元。
以下,锁定和解锁信息存储器320的单元,即包括PC、PDA、其它信息处理装置和锁定/解锁单元312的单元被称为主器件。
在主器件中的诸如ROM的存储器315存储ID(例如16字节的数据)和锁定密钥(LK)(例如8字节的数据),所述ID作为每个主器件唯一的标识符,所述锁定密钥作为用作施加到锁定和解锁信息存储器320的密钥数据。每个主器件唯一的标识符(ID)和锁定密钥(LK)的集[ID,LK]被称为密钥集。
同时,在诸如存储卡的信息存储器320中的控制器中的诸如ROM的存储器325存储锁定主密钥(LMK)。这些信息在例如制造每个单元时被写入到每个单元,并且不能被用户重写。
存储在信息存储器320中的锁定主密钥(LMK)和存储在主器件中的ID和锁定密钥(LK)具有下列关系:
LK=H(LMK,ID)
H(X,Y)表示通过应用密钥X对消息Y的散列值的计算。换句话说,通过应用锁定主密钥(LMK)计算ID的散列值来计算与ID相关联的锁定密钥(LK)。
散列函数是单向函数,并且难于反推,即在给定输出的情况下,很难计算输入。在上述的方程中,通过应用锁定主密钥(LMK)来作为密钥而向每个主器件唯一的ID应用单向函数,因此计算输出,所述输出是与每个主器件唯一的ID相关联的锁定密钥(LK)。可以应用诸如MD5或SHA的散列算法。
(锁定)
将说明通过应用上述的锁定主密钥(LMK)、即使得在信息存储器上的存取控制有效的锁定。
图5示出了在锁定中在主器件和信息存储器之间执行的处理序列。主器件和信息存储器相互连接以便彼此传送数据。主器件向信息存储器输出随机数产生命令。在接收到随机数产生命令时,信息存储器产生诸如16字节的预定长度的随机数(Rms),并且向主器件发送所产生的随机数。信息存储器在信息存储器的控制器中的诸如RAM的存储器中存储所产生的随机数(Rms)。
在从信息存储器接收到随机数(Rms)时,主器件使用存储在主器件的存储器中的锁定密钥(LK)作为加密密钥来执行所接收的随机数(Rms)的加密E(LK,Rms),其中E(X,Y)表示通过应用密钥[X]对消息[Y]的加密。各种算法可以被作为加密算法应用。例如,应用DES加密算法。
主器件使用锁定密钥(LK)作为加密密钥来执行所接收的随机数(Rms)的加密E(LK,Rms),并且向信息存储器发送结果数据[E(LK,Rms)]、由主器件预先存储在主器件的存储器中的主器件唯一的标识符(ID)、锁定命令。
在接收到包括ID和E(LK,Rms)的数据时,信息存储器通过应用在信息存储器的存储器中存储的锁定主密钥(LMK)来计算所接收的ID的散列值,于是计算与所接收的ID相关联的锁定密钥(LK)。即,信息存储器计算与所接收的ID相关联的锁定密钥(LK):
LK=H(LMK,ID)
所接收的ID被存储在信息存储器的存储器中。所接收的ID用于解锁中,将在后面说明这一点。
信息存储器通过应用通过上述散列值计算而计算的锁定密钥(LK)来执行对存储在信息存储器的存储器中的随机数Rms的加密E(LK,Rms),并且查看是否这个加密的数据等于从主器件接收的加密数据E(LK,Rms)。各种算法可以适用,只要它们与由主器件使用的算法相同。
当从主器件接收的数据E(LK,Rms)等于由信息存储器计算的加密数据E(LK,Rms)时,验证命令是来自具有有效ID和LK的设置数据的主器件的锁定请求。锁定被执行,并且锁定完成通知被发送到主器件。信息存储器在包括诸如闪存的非易失性存储器(NVM)的存储器220中存储已经执行了锁定的主器件的密钥集[ID,LK]。
当从主机接收的数据E(LK,Rms)不等于由信息存储器计算的加密数据E(LK,Rms)时,确定主器件不是具有有效ID和LK的设置数据的主器件,并且命令是来自未经授权的单元的锁定请求。不执行锁定,并且向主器件发送差错通知。
如果执行后述的解锁,则由信息存储器执行的锁定是允许存取包括闪存的存储器(图3的存储器220),所述包括闪存的存储器是用于存储诸如内容的数据的区域。
参见图6的流程图,现在说明锁定处理的步骤。在步骤S101,用作信息存储器的存储卡响应于从主器件接收到随机数产生请求命令而产生随机数(Rms)。在步骤S102,所产生的随机数被主器件读取。在步骤S103,主器件除了锁定命令之外还向用作信息存储器的存储卡发送主器件的ID和通过使用主器件的锁定密钥(LK)加密随机数(Rms)而产生的加密数据E(LK,Rms)。
在步骤S104,存储卡向在信息存储器中的存储器写入所接收的ID和加密数据E(LK,Rms)。在步骤S105,存储卡通过应用在存储卡的存储器中存储的锁定主密钥(LMK)来计算所接收的ID的散列值,即计算与所接收的ID相关联的锁定密钥(LK):
H(LMK,ID)=LK。
根据所计算的锁定密钥(LK),存储卡加密在步骤S101中先前产生的随机数(Rms),并且计算用作查看数据的加密数据E(LK,Rms)。
在步骤S106,存储卡执行比较和查看在步骤S105中计算的加密数据E(LK,Rms)的[E(LK,Rms)=E(LK,Rms)?]和除了在步骤S103中的锁定命令还从主器件接收的和在步骤S104中在存储器中存储的加密数据E(LK,Rms),以便查看是否两个数据是相同的。
当通过比较和查看确定这两个值相等时,主器件被验证为有效正确ID的数据和锁定密钥(LK)的设置数据的有效单元。在步骤S107中,响应于锁定命令而执行锁定,因此如果后述的解锁成功则允许存取存储器。信息存储器在包括诸如闪存的非易失性存储器(NVM)的存储器220中存储已经执行了锁定的主机的密钥集[ID,LK]。
当通过比较和查看在步骤106中确定所述两个值不相等时,在步骤S108,已经发送了锁定命令的主器件被确定为没有正确ID和锁定密钥(LK)的设置数据的未经授权的单元。不执行锁定,并且向主器件发送差错通知。
(解锁)
将说明解锁或释放通过经由应用如上所述的锁定主密钥(LMK)、即去除在信息存储器上的存取控制来锁定而设置的锁定。
图7示出了在解锁中在主器件和信息存储器之间执行的处理的序列。所述主器件和信息存储器相互连接以便彼此传送数据。主器件向信息存储器输出随机数产生命令。在接收到随机数产生命令时,信息存储器产生诸如16字节的预定长度的随机数(Rms),并且向主器件发送所产生的随机数(Rms)和已经在前一个锁定处理中被存储在存储器中的主器件的ID,所述主器件的ID即已经执行了锁定的主器件的ID。信息存储器在信息存储器的控制器中的诸如RAM的存储器中存储了所产生的随机数(Rms)。
在从信息存储器接收到ID和随机数(Rms)时,主器件相对于主器件的ID查看所接收的ID,以便查看两个ID是否相等。当两个ID不相等时,所述锁定被另一个主器件设置并且不能被释放。
当所接收的ID等于主器件的ID时,所述锁定被这个主器件设置并且可以被释放或解锁。在这种情况下,主器件使用在主器件中的存储器中存储的锁定密钥(LK)作为加密密钥来执行所接收的随机数的加密E(LK,Rms),并且除了解锁命令之外还向信息存储器发送结果产生的数据。
在接收到加密数据E(LK,Rms)时,信息存储器读取在信息存储器的存储器中存储的主器件ID,即已经执行了锁定的主器件的ID,并且通过应用锁定主密钥(LMK)来计算所读取的ID的散列值,因此计算与已经执行锁定的主器件的ID相关联的锁定密钥(LK)。即,信息存储器计算与已经执行锁定的主器件的ID相关联的锁定密钥(LK):
LK=H(LMK,ID)
信息存储器通过应用经由上述散列值计算而计算的锁定密钥(LK)来执行存储在信息存储器的存储器中的随机数(Rms)的加密E(LK,Rms),并且相对于从主器件数据的加密数据E(LK,Rms)查看这个加密数据,以便查看两个数据是否相等。
当从主器件接收的数据E(LK,Rms)等于由信息存储器计算的加密数据E(LK,Rms)的时候,验证解锁命令是来自具有有效ID和LK的设置数据的主器件的解锁请求。执行解锁,并且向主器件发送解锁完成通知。当两个数据不相同时,确定主器件不是具有有效ID和LK的设置数据的主器件,并且解锁命令是来自未经授权的单元的解锁请求。不执行解锁,并且向主器件发送差错通知。
由信息存储器执行的解锁表示释放锁定,即允许访问包括闪存等的存储器(图3的存储220),所述存储器是用于存储诸如内容的数据的区域。
参见图8的流程图,现在说明解锁处理的步骤。在步骤S201,用作信息存储器的存储卡响应于从主器件接收到随机数产生请求命令而产生随机数(Rms)。在步骤S202,主器件除了已经先前执行了锁定的主器件的ID之外还读取所产生的随机数。
当从存储卡读取的ID等于主器件的主ID时,主器件确定可以解锁锁定。在步骤S203,主器件除了解锁命令之外还向用作信息存储器的存储卡发送通过使用主器件的锁定密钥(LK)加密所接收的随机数(Rms)而产生的加密数据E(LK,Rms)。
在步骤S204,存储卡向在信息存储器中的存储器中写入所接收的加密数据E(LK,Rms)。在步骤S205,存储卡读取在前一个锁定处理中在存储器中存储的、已经执行了锁定的主器件的ID,并且通过应用在存储卡的存储器中存储的锁定主密钥(LMK)来计算所读取的ID的散列值,因此计算与ID相关联的锁定密钥(LK):
H(LMK,ID)=LK。
根据所计算的锁定密钥(LK),存储卡加密在步骤S201中先前产生的随机数(Rms),并且产生作为查看数据的加密数据E(LK,Rms)。
在步骤S206中,存储卡除了在步骤S203中的锁定命令和在步骤S204中在存储器中存储的锁定命令之外还执行比较和查看在步骤S205中计算的加密数据E(LK,Rms)的[E(LK,Rms)=E(LK,Rms)?]和从主器件接收的加密数据E(LK,Rms),以便查看是否两个数据是相同的。
当通过比较和查看确定这两个值是相等的时,主器件被验证为具有有效正确的ID和锁定密钥(LK)的设置数据的有效单元。在步骤S207,响应于解锁命令而执行解锁,因此允许存取存储器。相反,当通过比较和查看在步骤S206确定两个值不相等时,已经发送解锁命令的主器件被确定为没有正确ID和锁定密钥(LK)的设置数据的未经授权的单元,所述正确ID和锁定密钥(LK)的设置数据被应用到锁定。不执行解锁,即不释放锁定,并且向主器件发送差错通知。
如上所述,按照处理的这个示例,仅仅具有主器件ID和与主器件ID相关联的锁定密钥(LK)的有效设置数据的主器件被允许锁定信息存储器。可以仅仅通过已经执行锁定的主器件来执行解锁或释放锁定。在上述的锁定和解锁处理中,执行一端的验证,其中仅仅信息存储器执行主器件的验证。在主器件上的处理负载被减小,并且有效地执行处理。
在上述的锁定和解锁处理中,在信息存储器端执行在每个处理中产生的随机数。在过去处理中记录的数据不能被应用,因此有效地防止基于过去处理的轨迹的未经授权的处理。
[由单元组的锁定]
每个主器件在信息存储器上执行上述的锁定和解锁处理。仅仅由已经锁定了信息存储器的主器件来解锁锁定。在多个主器件使用一个信息存储器(存储卡)的情况中,主器件(单元A)在信息存储器上存储数据,并且锁定这个存储卡,另一个主器件(单元B)可以要使用这个信息存储器(存储卡)。
在这样的情况下,可以由主器件(单元B)来释放锁定,除非由主器件(单元A)释放锁定。以下,说明用于解决这个问题的处理的示例。即,主器件被使得能够独立的锁定和解锁信息存储器。参见图9,现在示意性地说明所述处理的示例。
锁定是使得在诸如闪存的存储器(图3中的存储器220)上的存取控制有效,所述存储器是用于存储诸如存储卡的信息存储器520的诸如内容的数据的区域。解锁是去除存取控制。这些与在处理的前一个示例中的那些相同。由主器件510执行锁定和解锁。
如上参照图1和2所述,主器件510包括信息处理装置,诸如PC、PDA、数字摄像机和DSC(数字照相机),每个具有用于执行与诸如存储卡的信息存储器520的数据传送的接口,每个向信息存储器520写入数据或从信息存储器520读取和使用数据。主器件510还包括锁定/解锁单元512,它用作专用于锁定/解锁诸如存储卡的信息存储器520的单元。
在主器件中的诸如ROM的存储器515存储用作每个主器件唯一的标识符的ID(诸如16字节的数据)和用作施加到锁定和解锁的密钥数据的锁定密钥(LK)(诸如8字节的数据)。如上所述,ID和LK是对应于在处理的前一个示例中的ID和LK的一组数据。象在前一个处理中一样,ID和LK可以被应用到锁定和解锁。
ID是主ID,LK是主锁定密钥。在制造每个主器件时,ID和LK被写入到每个主器件的诸如ROM的存储器,并且不能被用户重写。象在其中应用LMK的处理的前一个示例中一样,主ID主锁定密钥(LK)可以应用到其中主器件与信息存储器具有一对一的关系的锁定或解锁。包括每个主器件唯一的主ID和主锁定密钥的密钥集[ID,LK]被称为主密钥集。
通过应用这个主密钥集[ID,LK]的锁定被称为标准锁定。通过从用作主器件的信息处理装置向信息存储器输出标准锁定命令,执行标准锁定。通过输出解锁命令,执行解锁。
在主器件中的诸如ROM的存储器515可以存储用作子ID和子锁定密钥的设置数据的至少一个子密钥集[IDen,LKen](n=1,2,..),它作为可以被复制和提供到另一个主器件的密钥集。
这个子密钥集[IDen,LKen]是可以通常被存储在多个主器件中的密钥。利用下述的处理,存储在另一个主器件中的这个子密钥集[IDen,LKen]可以经由信息存储器被复制和存储在另一个主器件中。
通过施加子密钥集[IDen,LKen]锁定信息存储器被称为输出锁定,所述子密钥集[IDen,LKen]可以经由信息存储器(存储卡)被复制和输出到另一个主器件。
通过应用子密钥集[IDen,LKen]的锁定被称为输出锁定。通过从作为主器件的信息处理装置向信息存储器输出输出锁定命令,执行输出锁定。通过输出解锁命令,执行解锁。
由主器件从输出锁定的信息存储器(存储卡)获得的子密钥集[IDen,LKen]可以被写入到主器件的存储器中。子密钥集的这个复制和写入被称为压印。通过压印,形成包括多个具有相同的子密钥集[IDen,LKen]的主器件的一组。
因此,子密钥集[IDen,LKen]是适用于其中可以输出子密钥集[IDen,LKen]的锁定、即输出锁定的密钥集。通过向ID和LK加上[e]来表示子密钥集[IDen,LKen],其中[en]的n指示对应于所定义的组的数量的子密钥集数量。
每个主器件可以存储多个不同的子密钥集。例如,子密钥集1[IDe1,IKe1]被设置为在包括PC(个人计算机)-a、PC-b和PDA(个人数字助理)-a的三个主器件的组中共享的一个公共子密钥集(sub 1);子密钥集2[IDe2,IKe2]被设置为在PC-a、PDA-a和PDA-b的组中共享的一个子密钥集(sub 2)。在这样的情况下,每个主器件在存储器中存储对应的主密钥集[ID,LK],其中包括主ID(ID)和主锁定密钥(LK)。另外,主器件存储下列子密钥集,每个包括子ID和子锁定密钥:
PC-a存储[IDe1,IKe1]和[IDe2,IKe2];
PC-b存储[IDe1,IKe1];
PDA-a存储[IDe1,IKe1]和[IDe2,IKe2];
PDA-b存储[IDe2,IKe2]。
通过将包括子ID和子锁定密钥的设置数据的子密钥集[IDen,LKen]写入每个主器件的存储器515,每个主器件变为主器件组n的一个成员,所述主器件组-n包括至少一个主器件。组n的每个成员应用公共存储的子ID(IDn)和公共子锁定密钥(LKn)以锁定和解锁一个信息存储器(存储卡)。
相反,在诸如存储卡的信息存储器520中的控制器中诸如ROM的存储器525存储锁定主密钥(LMK)。在信息存储器520中存储的锁定主密钥(LMK)和存储在主器件中的锁定密钥(LK(包括LK和LKen))具有下列关系:
LK=H(HMK,ID)
具有ID和LK的锁定主密钥(LMK)的关系与其中应用LMK的前一个所述处理中的相同。通过经由锁定主密钥LMK来计算主ID的散列值,计算主密钥按键(LK)。通过经由锁定主密钥LMK来计算子ID(IDen)的散列值,计算子密钥按键(LKen)。
参见图10,现在说明使用主密钥集[ID,LK]和子密钥集[IDen,LKen]的锁定模式。锁定模式包括在图10的部分(a)-(c)中所示的三个模式。
部分(a)示出了标准锁定,其中应用主密钥集[ID,LK]531,包括每个主器件510唯一的主ID和主锁定密钥(LK)。
是通过从主器件510向信息存储器520输出标准锁定命令来执行通过应用主密钥集[ID,LK]531的标准锁定。通过输出解锁命令,执行解锁。
当信息存储器520被标准锁定时,主密钥集[ID,LK]被存储在信息存储器(存储卡)520的存储器(闪存)的标准锁定密钥集541中。应用到标准锁定的主密钥集[ID,LK]不从锁定的信息存储器(存储卡)520输出。信息存储器520可以仅仅被具有相同的主密钥集[ID,LK]的主器件、即已经执行标准锁定的主器件解锁。
象在其中应用LMK的上述处理中一样,包括主ID和主锁定密钥(LK)的主密钥集[ID,LK]可以被应用到锁定和解锁,其中主器件具有与信息存储器的一对一的关系。可以执行与参照图5-8说明的那些类似的锁定和解锁。
部分(b)示出了输出锁定,其中应用子密钥集[IDen,LKen]532,包括可以在多个主器件之间共享的子ID(IDen)和子锁定密钥(LKen)。
通过从主器件510向信息存储器520输出输出锁定命令来执行通过应用子密钥集[IDen,LKen]532的输出锁定。通过输出解锁命令来执行解锁。
当信息存储器520被输出锁定时,子密钥集[IDen,LKen]被存储在锁定的信息存储器(存储卡)520的存储器(闪存)的输出锁定密钥集存储区域542中。当执行这种类型的锁定时,由另一个主器件通过压印从被锁定的信息存储器(存储卡)520可以获得被应用到输出锁定的子密钥集[IDen,LKen],所述压印以后详细说明。
当信息存储器520被输出锁定时,信息存储器520可以被已经锁定了信息存储器520的主器件和已经执行了压印和获得应用到输出锁定的子密钥集[IDen,LKen]的主器件解锁。
部分(c)示出了标准锁定,其中应用了包括子ID(IDen)和子锁定密钥(LKen)的子密钥集[IDen,LKen]532,它可以在多个主器件510之间被共享。
通过从主器件510向信息存储器520输出标准锁定命令来执行通过应用子密钥集[IDen,LKen]532、即组锁定的标准锁定。通过输出解锁命令来执行解锁。施加到组锁定的密钥集是子密钥集[IDen,LKen]532。
基本上,组锁定类似于标准锁定。应用到组锁定的密钥集是子密钥集[IDen,LKen]532。当信息存储器520被组锁定时,子密钥集[IDen,LKen]被存储在信息存储器520的存储器(闪存)的标准锁定密钥集存储区域541中。当执行这种类型的锁定,应用到组锁定的子密钥集[IDen,LKen]被存储在标准锁定密钥集存储区域541中。当执行这种类型的锁定时,应用到组锁定的子密钥集[IDen,LKen]被存储在标准锁定密钥集存储区域541中。因此,子密钥集[IDen,LKen]不从锁定信息存储器(存储卡)520输出。
组锁定信息存储器520可以仅仅被具有相同子密钥集[IDen,LKen]的主器件解锁。在这种情况下,这些主器件不仅包括已经组锁定信息存储器520的主器件,而且包括已经提前获得相同的子密钥集[IDen,LKen]的主器件。
例如,通过事先应用相同的子密钥集[IDen,LKen]执行输出锁定。在执行该输出锁定的同时,主器件执行压印获得该相同的子密钥集[IDen,LKen],并且将该子密钥集[IDen,LKen]存储在存储器中。这个主器件可以执行解锁。
通过应用子密钥集[IDen,LKen]的、标准锁定(即组锁定)中的锁定和解锁序列类似于通过应用LMK而执行的锁定和解锁序列(见图5-8)。仅仅差别是,多个器件可以利用压印执行锁定和解锁。
以下,将说明通过下列方式的锁定:应用子密钥集[IDen,LKen]、复制和经由信息存储器(存储卡)向主器件中存储(压印)子密钥集[IDen,LKen]、解锁或释放被产生锁定的信息存储器(存储卡),子密钥集[IDen,LKen]包括子ID(IDen)和子锁定密钥(LKen),它可以在多个主器件之间被共享。
[基于子密钥集的锁定]
将详细说明通过应用包括子ID(IDen)和子锁定密钥(LKen)的子密钥集[IDen,LKen]的信息存储器(存储卡)的锁定。
如上所述,通过经由应用子密钥集[IDen,LKen]来锁定信息存储器(存储卡),信息存储器(存储卡)被输出锁定,其中应用到锁定的子密钥集可以经由信息存储器(存储卡)来被复制和输出到另一个主器件。
图11示出了在基于子密钥集的锁定中在主器件和信息存储器之间执行的处理序列。主器件和信息存储器相互连接以便彼此传送数据。
信息存储器包括图11所示的锁定状态标记551。每个锁定状态标记551保持一个值,它指示信息存储器的锁定状态。在上部的NVM包括存储在诸如图3中所示的闪存的存储器220的NVM(非易失性存储器)区域中的标记。下部包括存储在控制器210中的RAM 213中的标记。通过关断信息存储器,删除在RAM中的标记,而保持在NVM中的标记数据。在RAM中重写所述标记后,复制在NVM中的标记数据。当电源被断开然后接通时,在NVM中的标记信息被复制到RAM。SL表示标准锁定;EL表示输出锁定;1表示锁定状态;0表示解锁状态。
标准锁定是其中可以输出应用到锁定的密钥集[ID,LK]的锁定模式。输出锁定是其中可以输出应用到锁定的密钥集[ID,LK]的锁定模式。当SL=1时,信息存储器被标准锁定。当EL=1时,信息存储器被输出锁定。
信息存储器(存储卡)具有数据存储区域,用于分别存储应用到标准锁定的密钥集和应用到输出锁定的密钥集,所述数据存储区域在存储器(闪存(NVM))中。
在初始状态中,如图所示,SL=0和EL=0,其中不执行标准锁定(SL)也不执行输出锁定(EL)。即,所有的主器件可以访问信息存储器的存储器。
在初始状态中,一个主器件向信息存储器输出随机数产生命令。在接收到随机数产生命令后,信息存储器产生诸如16字节的预定长度的随机数(Rms),并且向主器件发送所产生的随机数。信息存储器在控制器中的诸如RAM的存储器中存储所产生的随机数(Rms)。
在从信息存储器接收到随机数(Rms)时,主器件使用提前存储在主器件的存储器中的子锁定密钥(LKen)作为加密密钥来执行所接收的随机数(Rms)的加密E(LK,Rms)。各种算法可以被作为加密算法应用。例如,应用DES加密算法。
主器件使用子锁定密钥(LKen)作为加密密钥来执行所接收的随机数(Rms)的加密E(LKen,Rms),并且向信息存储器发送结果数据[E(LK,Rms)]、由主器件预先存储在主器件的存储器中的作为与子锁定密钥(LKen)相关联的设置数据的子ID(IDen)、锁定命令。
在接收到包括IDen和E(LKen,Rms)的数据时,信息存储器通过应用在信息存储器的存储器中存储的锁定主密钥(LMK)来计算所接收的子ID(IDen)的散列值,于是计算与所接收的子ID(IDen)相关联的子锁定密钥(LKen)。即,信息存储器计算与所接收的子ID(IDen)相关联的子锁定密钥(LKen):
LK=H(LMK,ID)
所接收的子ID(IDen)被存储在信息存储器的存储器中。所接收的子ID(IDen)用于解锁中,将在后面说明这一点。
信息存储器通过应用经由上述散列值计算而计算的子锁定密钥(LKen)来执行对存储在信息存储器的存储器中的随机数Rms的加密E(LK,Rms),并且查看是否这个加密的数据等于从主器件接收的加密数据E(LK,Rms)。各种算法可以适用,只要它们与由主器件使用的算法相同。
当从主器件接收的数据E(LKen,Rms)等于由信息存储器计算的加密数据E(LKen,Rms)时,验证命令是来自具有有效ID(IDen)和子锁定密钥(LKen)的设置数据的主器件的锁定请求。输出锁定被执行,并且锁定完成通知被发送到主器件。当从主器件接收的数据E(LKen,Rms)不等于通过信息存储器而计算的加密数据E(LKen,Rms)的时候,确定主器件不是具有有效子ID(IDen)和子锁定密钥(LKen)的设置数据的主器件,并且命令是来自未经授权的单元的锁定请求。不执行输出锁定,并且向主器件发送差错通知。
如果执行后述的通过应用子ID和子锁定密钥的解锁,则由信息存储器执行的输出锁定是允许存取包括闪存的存储器(图3中的存储器220),所述存储器是用于存储诸如内容的数据的区域。应用到输出锁定的输出密钥集[IDen,LKen]被存储在信息存储器(存储卡)的存储器(闪存(NVM))中的输出锁定密钥集存储区域中。锁定状态标记被重写。
当执行输出锁定时,如图所示,锁定状态标记被改变为EL=1,用于指示输出锁定是有效的并且被存储在NVM和RAM中。这些标记通过下列方式来被改变:向在信息存储器中的控制器中的RAM 213(见图3)设置EL=1,并且随后向NVM(包括闪存等的存储器220)复制EL=1。当在这种状态下关断电源时,删除在RAM中的标记信息,而保持在NVM中的标记信息。以后,当接通电源时,在NVM(EL=1)中的标记信息被复制到RAM,并且控制器210(见图3)根据在RAM中的标记信息(EL=1)来执行处理。
所述标记信息EL=1指示信息存储器被输出锁定。在信息存储器(存储卡)的NVM(包括闪存等的存储器220)的输出锁定密钥集存储区域中存储的子密钥可以通过后述的压印被输出到另一个主器件。
参见图12的流程图,现在说明输出锁定处理的步骤。在步骤S301中,用作信息存储器的存储卡响应于从主器件接收到随机数产生请求命令而产生随机数(Rms)。在步骤S302中,主器件读取所产生的随机数。在步骤S303中,主器件除了锁定命令之外还获得已经被存储在主器件的存储器中的子ID(IDen),使用已经存储在主器件的存储器中的子锁定密钥(LKen)来加密所接收的随机数(Rms),向作为信息存储器的存储卡发送包括IDen和E(LKen,Rms)的这些相关联的数据。
在步骤S304,存储卡向信息存储器的存储器中写入所接收的子ID(IDen)和加密数据E(LKen,Rms)。在步骤S305中,存储卡通过应用存储在存储卡的存储器中的锁定主密钥(LMK)来计算所接收的子ID的散列值,因此计算与所接收的子ID(IDen)相关联的子锁定密钥(LKen)。即,信息存储器计算与所接收的子ID(IDen)相关联的子锁定密钥(LKen):
H(LMK,IDen)=LKen。
根据所计算的子锁定密钥(LKen),存储卡加密在步骤S301中先前产生的随机数(Rms),并且产生用作查看数据的加密数据E(LKen,Rms)。
在步骤S306,存储卡执行比较和查看在步骤S305中计算的加密数据E(LKen,Rms)的[E(LKen,Rms)=E(LK,Rms)?]和除了在步骤S303中的锁定命令之外还从主器件接收的和在步骤S304存储在存储器中的加密数据E(LKen,Rms),以便查看两个数据是否相等。
当这两个值通过比较和查看确定相等时,主器件被验证为具有用作有效正确的子ID(IDen)和子锁定密钥(LKen)的设置数据的子密钥集[IDen,LKen]的有效单元。在步骤S307,响应于所述锁定命令而执行锁定,因此如果后述的通过应用子密钥集[IDen,LKen]的解锁和释放锁定成功则允许存取存储器。上述的锁定状态标记被设置为EL=1。
当在步骤S308中通过比较和查看在步骤S306中确定E(LKen,Rms)=E(LKen,Rms)不为真时,已经发送了锁定命令的主器件被确定为没有正确子ID(IDen)和子锁定密钥(LKen)的设置数据的未经授权的单元。不执行锁定,并且向主器件发送差错通知。
通过上述处理输出被输出锁定的输出锁定信息存储器可以由主器件通过类似于前一个(基于锁定主密钥(LMK)的处理)中所述的解锁的处理来解锁,所述主器件具有在锁定信息存储器中使用的、相同的作为子ID(IDen)和子锁定密钥(Iken)的设置数据的子密钥集[IDen,LKen]。即,可以通过将要应用的ID和锁定密钥替换为子ID(IDen)和子锁定密钥(LKen)来解锁信息存储器。
没有与在锁定信息存储器中使用的子密钥集[IDen,LKen]相同的密钥集的另一个主器件不能解锁信息存储器,即不能存取信息存储器,除非这个主器件获得应用到锁定信息存储器的子密钥集[IDen,LKen]。
具有用作有效主ID和主锁定密钥(LK)的设置数据的主密钥集[ID,LK]的主器件可以从信息存储器获得在输出锁定信息存储器中存储的子密钥集[IDen,LKen]。这个主器件可以通过应用所获得的子密钥集[IDen,LKen]来解锁信息存储器。经由信息存储器获得子密钥集[IDen,LKen]被称为压印。
当根据子密钥集[IDen,LKen]来锁定信息存储器时,信息存储器被输出锁定,其中子密钥集[IDen,LKen]可以被输出到另一个主器件。
通过从输出锁定的信息存储器获得(压印)用于到输出锁定的子密钥集[IDen,LKen],主器件变为包括多个具有相同子密钥集[IDen,LKen]的主器件的组中的一员。随后,这个主器件可以将所获得的子密钥集[IDen,LKen]应用来解锁信息存储器。以下,详细说明压印和解锁。
(压印和解锁)
现在说明从输出锁定的信息存储器由主器件压印或获得包括子锁定密钥(LKen)和子ID(IDen)的子密钥集[IDen,LKen]。
图13示出了在主器件和信息存储器之间执行的压印和解锁处理的序列。主器件和信息存储器相互连接以便彼此传送数据。如图所示,信息存储器的锁定状态标记被设置为EL=1,用于指示输出锁定是有效的并且被存储在NVM和RAM中。
主器件没有应用到信息存储器的输出锁定的、包括子ID(IDen)和子锁定密钥(LKen)的子密钥集[IDen,LKen]。信息存储器在输出密钥存储区域中存储子密钥集[IDen,LKen]。信息存储器在所谓的输出锁定状态中。
主器件向信息存储器输出随机数产生命令。在接收到随机数产生命令时,信息存储器产生诸如16字节的预定长度的随机数(Rms),并且向主器件发送所产生的随机数(Rms)和已经在前一个输出锁定处理中被存储在存储器中的子ID(IDen),所述子ID(IDen)即应用到输出锁定的子ID(IDen)。信息存储器在控制器中的诸如RAM的存储器中存储所产生的随机数(Rms)。
在从信息存储器接收到子ID(IDen)和随机数(Rms)时,主器件相对于主器件的主ID查看所接收的子ID(IDen),以便查看两个ID是否相等。当两个ID相等时,可以通过应用主锁定密钥(LK)来解锁信息存储器,这与其中应用LMK的上述处理类似(参见图7)。
当所接收的子ID不等于主器件的主ID时,意味着信息存储器被另一个主器件锁定。通过压印或获得所接收的子ID(IDen)和子锁定密钥(LKen),主器件可以通过应用子密钥集[IDen,LKen]来加入与已经执行输出锁定的另一个主器件相同的组。
即,主器件执行压印来获得子ID(IDen)和子锁定密钥(LKen),并且在主器件的存储器中存储这些数据作为设置数据,即子密钥集[IDen,LKen],因此加入组。通过应用所获得的子密钥集[IDen,LKen],主器件可以解说输出锁定的信息存储器。当执行压印时,主器件在存储器中存储从信息存储器接收的子ID(IDen)。
执行压印的主器件使用已经存储在主器件的存储器中的主锁定密钥(LK)作为加密密钥来对所接收的随机数(Rms)执行加密E(LK,RMs),并且向信息存储器发送结果数据、主ID和标准锁定命令。因为这个锁定处理是增加,因此通过应用主锁定密钥(LK)向已经通过应用子锁定密钥(LKen)被输出锁定的输出锁定信息存储器加上标准锁定,因此这个锁定处理被称为过锁定。
在从主器件接收到主ID和加密数据E(LK,Rms)时,信息存储器通过应用锁定主密钥(LMK)来计算所接收的主ID的散列值,因此计算与主ID相关联的主锁定密钥(LK)。即,信息存储器计算与主ID相关联的主锁定密钥(LK):
LK=H(LMK,ID)
信息存储器通过应用经由上述的散列值计算而计算的主锁定密钥(LK)来执行存储在信息存储器的存储器中的随机数Rms的加密E(LK,Rms),并且查看这个加密数据是否等于从主器件接收的加密数据E(LK,Rms)。
当从主器件接收的数据E(LK,Rms)等于由信息存储器计算的加密数据E(LK,Rms)时,验证所述命令是来自具有作为有效主ID和主锁定密钥(LK)的设置数据的主密钥集[ID,LK]的主器件的过锁定请求。执行过锁定,并且向主器件发送过锁定完成通知。
当从主器件接收的数据E(LK,Rms)不等于由信息存储器计算的加密数据E(LK,Rms)时,确定主器件不是具有作为有效主ID和主锁定密钥(LK)的设置数据的主密钥集[ID,LK]的主器件,并且所述命令是来自未经授权的单元的过锁定请求。不执行过锁定,并且向主器件发送差错通知。
通过信息存储器执行的过锁定是标准锁定被输出锁定的信息存储器。在NVM和RAM中的信息存储器的锁定状态标记如图所示被设置为EL=1,指示输出锁定是有效的。通过执行过锁定(overlocking),指示标准锁定是有效的SL=1被设置到RAM。在电源被关断之前,在RAM中设置的标记信息被复制到NVM。
在接收到过锁定完成通知后,主器件连续执行压印和解锁。主器件再次向信息存储器发送随机数产生命令。
在接收到随机数产生命令时,信息存储器产生第二随机数(Rms2),并且向主器件发送下列包括ID、Rms2、IDen和E(LK,LKen)的相关联的数据,即:
所产生的随机数(Rms2);
已经执行标准锁定的主器件的主ID;
应用到输出锁定的子ID(IDen);
通过下列方式产生的加密数据E(LK,LKen):使用与主ID相关联的主锁定密钥(LK)来加密与子ID(IDen)相关联的子锁定密钥(LKen)。
信息存储器在控制器中的诸如RAM的存储器中存储所产生的随机数(Rms2)。
在从信息存储器接收到包括ID、Rms2、IDen和E(LK,LKen)的数据时,主器件通过应用在主器件的存储器中存储的主锁定密钥(LK)以获得子锁定密钥(LKen)来解密加密数据E(LK,LKen)。这是与先前获得的子ID(IDen)相关联的子锁定密钥(LKen)。所获得的子密钥集[IDen,LKen]被存储在存储器中。通过执行压印,主器件加入第n组。
主器件连续地解说信息存储器。主器件通过应用组锁定密钥(LK)、根据通过解密获得的子锁定密钥(LKen)来加密从信息存储器接收的随机数(Rms2),并且产生加密数据E(LKen,Rms2)。主器件向信息存储器发送加密数据E(LKen,Rms2)和解锁命令。
在从主器件接收到解锁命令和加密数据E(LKen,Rms2)时,信息存储器通过应用锁定主密钥(LKS)来计算已经被存储在信息存储器的存储器中的子ID(IDen)的散列值,因此计算与子ID(IDen)相关联的子锁定密钥(LKen)。即,信息存储器计算与子ID(IDen)相关联的子锁定密钥(LKen):
LKen=H(LMK,IDen)
信息存储器通过应用经由上述散列值计算而计算的子锁定密钥(LKen)来执行对存储在信息存储器的存储器中的随机数Rms2的加密E(LKen,Rms2),并且查看这个加密数据是否等于从主器件接收的加密数据E(LKen,Rms2)。
当从主器件接收的数据E(LKen,Rms2)等于由信息存储器计算的加密数据E(LKen,Rms2)时,验证所述命令是来自具有有效子ID(IDen)和子锁定密钥(IKen)的设置数据的主器件的锁定释放请求,即,解锁请求。解锁被执行,并且解锁完成通知被发送到主器件。
当从主器件接收的数据E(LKen,Rms2)不等于由信息存储器计算的加密数据(LKen,Rms2)时,确定主器件不是具有作为有效子ID(IDen)和子锁定密钥(LKen)的设置数据的子密钥集[IDen,LKen]的主器件,并且所述命令不是来自未经授权的单元的解锁请求。不执行解锁,并且向主器件发送差错通知。
通过解锁信息存储器,锁定状态标记被从EL=1改变为EL=0。用作输出锁定的信息存储器的过锁定的标准锁定也被释放,并且SL=1被改变为SL=0。即,按照输出锁定的释放来释放标准锁定。
锁定状态标记的改变顺序如下。首先,重写在控制器中的RAM中存储的标记。其后,在例如关断电源之前,在RAM中的标记信息被适当地复制到NVM。当电源再次接通时,在NVM中的标记信息被复制到RAM中。控制器根据在RAM中的标记信息来执行存取控制。
参见图14和15的流程图,现在说明压印或获得来自输出锁定的信息存储器的子密钥集[IDen,LKen]和解锁输出锁定的信息存储器的步骤,其中所述子密钥集[IDen,LKen]包括子锁定密钥(LKen)和子ID(IDen)。
在步骤S401中,用作信息存储器的存储卡响应于从主器件接收随机数产生请求命令而产生随机数(Rms)。在步骤S402,所产生的随机数和子ID(IDen)被主器件读取,所述子ID(IDen)被从已经执行输出锁定的主器件向信息存储器发送,并且它已经被存储在信息存储器的存储器的输出锁定密钥集存储区域中。此时,主器件获得子密钥集[IDen,LKen]的子ID(IDen)。
因为主器件确定从存储卡读取的子ID(IDen)不等于主器件的主ID,因此主器件确定信息存储器不被标准锁定,而是被输出锁定。在步骤S403,主器件除了标准锁定命令(用作过锁定)之外,还向用作信息存储器的存储卡发送加密数据E(LK,Rms)和主器件的主ID,所述加密数据E(LK,Rms)是通过使用主器件的主锁定密钥(LK)加密所接收的随机数(Rms)而产生的。
在步骤S404,信息存储器(存储卡)向在信息存储器中的存储器写入从主器件接收的主ID和加密数据E(LK,Rms)。在步骤S405,存储卡通过应用存储在存储卡的存储器中的锁定主密钥(LMK)来计算所接收的主ID的散列值,因此计算与主ID相关联的主锁定密钥(LK)。即,存储卡计算与主ID相关联的主锁定密钥(LK):
H(LMK,ID)=LK。
根据所计算的主锁定密钥(LK),存储卡加密先前在步骤S401中产生的随机数(Rms),并且产生用作查看数据的加密数据E(LK,Rms)。
在步骤S406中,存储卡执行比较和查看在步骤S405计算的加密数据E(LK,Rms)的[E(LK,Rms)=E(LK,Rms)?]和在步骤S403除了标准锁定命令之外还从主器件接收的并且在步骤S404存储在存储器中的加密数据E(LK,Rms),以便查看两个数据是否相等。
当通过比较和查看确定这两个值相等时,主器件被验证为有效单元,它具有主密钥集[ID,LK],所述主密钥集[ID,LK]用作有效、正确主ID和主锁定密钥(LK)的设置数据。在步骤S407,执行响应于标准锁定命令的标准锁定。这对应于过锁定,其中输出锁定的信息存储器被标准锁定。在RAM中的信息存储器的锁定状态标记被设置为EL=1和SL=1,指示输出锁定和标准锁定都是有效的。
当通过比较和查看在步骤S406确定两个值不相等时,在步骤S408,确定已经发送了标准锁定命令的主器件不是具有主密钥集[ID,LK]的主器件,所述主密钥集[ID,LK]用作有效主ID和主锁定密钥(LK)的设置数据。不执行过锁定,并且向主器件发送差错通知。
当在步骤S407中执行用作过锁定的标准锁定时,处理进行到图15的步骤S501,其中要执行压印和解锁。
在接收到过锁定完成通知时,主器件再次向信息存储器发送随机数产生命令。在接收到随机数产生命令时,在步骤S501,信息存储器产生第二随机数(Rms2)。在步骤S502中,主器件从信息存储器读取下列相关联的数据[ID,Rms2,IDen和E(LK,LKen)]:
所产生的随机数(Rms2);
已经执行了标准锁定的主器件的主ID;
子ID(IDen);
通过使用与主ID相关联的设置数据的主锁定密钥(LK)加密与子ID(IDen)相关联的设置数据的子锁定密钥(LKen)而产生的加密数据E(LK,LKen)。
在步骤S503中,主器件向信息存储器发送锁定释放请求或解锁命令。主器件除了解密数据E(LKen,Rms2)之外还发送这个解锁命令。
通过下列步骤来产生加密数据E(LKen,Rms2)。在步骤S502中,主器件从信息存储器读取数据,其中包括ID、Rms2、IDen和E(LK,LKen)。主器件通过应用在主器件的存储器中存储的主锁定密钥(LK)以获得子锁定密钥(LKen)来解密解密数据E(LK,LKen)。这是与先前获得的子ID(IDen)相关联的子锁定密钥(LKen)。根据所述子锁定密钥(LKen),主器件加密从信息存储器接收的随机数(Rms2)以产生加密数据E(LKen,Rms2)。
主器件在存储器中存储所获得的子密钥集[IDen,LKen],并且因此完成压印。换句话说,主器件执行压印以加入第n组。
在步骤S504中,已经从主器件接收到加密数据E(LKen,Rms2)的信息存储器向存储器写入所接收的数据E(LKen,Rms2)。在步骤S505中,信息存储器计算查看数据。
通过下列步骤来计算查看数据。通过应用锁定主密钥(LMK)来对于在信息存储器的存储器中存储的子ID(IDen)计算散列值,因此计算与子ID相关联的子锁定密钥(LKen)。即,计算与子ID(IDen)相关联的子锁定密钥(LKen):
LKen=H(LMK,IDen)。
信息存储器通过应用经由上述散列值计算而计算的子锁定密钥(LKen)来执行随机数Rms2的加密E(LKen,Rms2),所述随机数Rms2在步骤S501中被产生,并且被存储在存储器中,因此产生查看数据。
在步骤S506中,信息存储器比较查看数据E(LKen,Rms2)与从主器件数据的加密数据E(LKen,Rms2)以查看是否它们相同。
当从主器件接收的数据E(LKen,Rms2)等于由信息存储器计算的加密数据E(LKen,Rms2)时,确定所述命令是来自具有子密钥集[IDen,LKen]的主器件的锁定释放请求,即解锁请求,所述子密钥集[IDen,LKen]用作有效子ID(IDen)和子锁定密钥(LKen)的设置数据。在步骤S507中,执行解锁,并且向主器件发送解锁完成通知。当两个数据不相等时,确定主器件不是具有有效子密钥集[IDen,LKen]的主器件,并且所述命令是来自未经授权的单元的解锁请求。不执行解锁。在步骤S508,向主器件发送差错通知。
按照处理的这个示例,多个主器件具有共同的子密钥集[IDen,LKen],并且可以锁定和解锁信息存储器(存储卡)。当信息存储器被输出锁定时,子密钥集[IDen,LKen]可以经由信息存储器被复制和存储在另一个主器件中。因此,可以以灵活的方式来形成一个组。只要主器件具有有效组ID和主锁定密钥(LK)并且主器件可以执行过锁定,则可以执行在信息存储器中的子密钥集[IDen,LKen]的复制或压印。则防止向未经授权的单元复制(压印)子密钥集[IDen,LKen]。
如参照图10(c)所述,也可以实现通过应用子密钥集[IDen,LKen](=组锁定)的标准锁定。当执行组锁定时,子密钥集[IDen,LKen]被存储在信息存储器的标准锁定密钥存储区域中(见图10),并且不能被复制或输出到另一个主器件。换句话说,仅仅已经获得了相同的子密钥集[IDen,LKen]的主器件可以通过执行不涉及压印的正常解锁来访问信息存储器。
[保持锁定状态标记]
在上述的[通过单位组的锁定]中,当解锁输出锁定的信息存储器时,所有的锁定状态标记被复位,即在NVM和RAM中设置指示输出锁定被释放的EL=0和指示标准锁定被释放的SL=0。当设置EL=0和SL=0时,当电源被关闭然后接通时,因为已经在NVM中设置了EL=0和SL=0,因此也在控制器中的RAM中设置SL=0和EL=0。所有的锁定状态被释放,并且每个主器件可以不经验证地存取存储器。
当这样的解锁信息存储器被偷盗或丢失并且落入未经授权的第三方用户的错误的手中时,这个未经授权的第三方用户可以不经验证地存取存储器。当存储秘密信息时,这样的情况是不利的。
考虑到上述问题,现在说明下列示例。即使当输出锁定的信息存储器被主器件解锁然后被关断时,信息存储器保持输出锁定。当电源再次被接通时,只要释放输出锁定,就允许向信息存储器的存储器存取。
在这个示例中,象参照图9所述的[通过单位组的锁定]的在前的说明中,在主器件的诸如ROM的存储器中存储组密钥集[ID,LK],其中包括主ID和主锁定密钥(LK)。可以在主器件的诸如ROM的存储器中存储至少一个子密钥集[IDen,LKen],它用作可以被应用到输出锁定的子ID和子锁定密钥的设置数据。锁定主密钥(LMK)被存储在信息存储器的控制器中输入ROM的存储器中。在信息存储器中存储锁定主密钥(LMK)和在主器件中存储的ID(包括ID和IDen)和锁定密钥(LK(包括LK和LKen))具有下列关系:
LK=H(LMK,ID)
以类似于在前述的[基于锁定主密钥(LMK)的处理]中所述的序列来执行基于主ID和主锁定密钥(LK)的锁定和解锁。以类似于在前述的[通过单位主的锁定]中所述的序列来执行基于子ID(IDen)和子锁定密钥(LKen)的锁定。现在说明在这个处理示例中的压印和解锁中的锁定状态标记的保持。
(在压印和解锁中保持锁定状态标记)
参见图16等,现在说明由主器件从输出锁定的信息存储器压印或获得包括子锁定密钥(LKen)和子ID(IDen)的子密钥集[IDen,LKen]、解锁输出锁定的信息存储器和由信息存储器保持锁定状态标记。
图16所示的时序图基本上与参照图13所述的相同,图13示出了压印和解锁输出锁定的信息存储器的处理,这是在主器件和信息存储器之间进行的。处理的步骤也相同。
图16所示的时序图与图13所示的不同在信息存储器在时序图的最后步骤中发送解锁完成通知后在NVM中设置标记。具体上,在前述的[通过单位主的锁定]中所述的处理中,当解锁输出锁定信息存储器时,在NVM和RAM中设置指示释放输出锁定的EL=0和指示释放标准锁定的SL=0。相反,按照这个处理,在NVM中设置EL=1和SL=1,用于指示信息存储器被输出锁定和标准锁定。
参见图17,现在详细说明在NVM中设置锁定状态标记的处理。图17所示的流程是在图16(类似于图13)所示的时序图中信息存储器在接收到锁定释放请求(解锁命令)后执行的处理的步骤的流程。
在步骤S601,信息存储器(存储卡)接收锁定释放请求(解锁命令)。信息存储器确定是否执行解锁命令。在步骤S602中,信息存储器对于由信息存储器产生的加密数据E(LKen,Rms2)除了解锁命令之外还查看从主器件接收的加密数据E(LKen,Rms2)。这类似于在[通过单元组的锁定]中所述的。
当在步骤S607中从主器件接收的数据E(LKen,Rms2)不等于由信息存储器计算的加密数据E(LKen,Rms2)时,向主器件发送差错通知。终止该处理。
相反,当从主器件接收的数据E(LKen,Rms2)等于由信息存储器计算的加密数据E(LKen,Rms2)时,确定命令是来自具有有效子密钥集[IDen,LKen]的主器件的解锁请求。在步骤S603中执行解锁,并且向主器件发送解锁完成通知。
在步骤S604中,信息存储器(存储卡)向NVM复制在控制器中的RAM中存储的锁定状态标记(SL=1和EL=1),并且将在NVM中的锁定状态标记设置为SL=1和EL=1,其中SL=1指示信息存储器被标准锁定,EL=1指示信息存储器被输出锁定。
在步骤S604中完成复制标记后,在步骤S605中,在控制器中的RAM中的锁定状态标记(SL=1和EL=1)被复位,即在RAM中的锁定状态标记被设置为SL=0和EL=0,其中SL=9指示信息存储器不被标准锁定,EL=0指示信息存储器不被输出锁定。
在这种状态中,即,当在RAM中的锁定状态标记被设置为SL=0和EL=0时,存储器存取变得自由可获得,即已经解锁了信息存储器的主器件变得可以获得对于在信息存储器中的存储器(图3的存储器220)的存取。
当信息存储器(存储卡)被从主器件取出并且停止向信息存储器(存储卡)供电和当电源再次接通时,在NVM中设置的锁定状态标记信息(SL=1和EL=1)被装到在控制器中的RAM中。所述控制器根据在RAM中设置的锁定状态标记(SL=1和EL=1)来执行处理。参见图18所示的处理流程,现在说明在信息存储器再次被接通后执行的处理。
图18所示的处理流程示出了当信息存储器被关断和然后接通时执行的处理。
在步骤S701,信息存储器(存储卡)被布置在主器件中,并且从电源关断状态改变到接通状态。在步骤S702,信息存储器将存储在NVM中的锁定状态标记(SL和EL)复制到控制器中的RAM中。控制器根据在RAM中的状态标记来执行控制。
在步骤S703中,信息存储器从连接的主器件接收存储器存取请求或解锁命令。信息存储器的控制器应用在RAM中的锁定状态标记。
当在步骤S704中确定在RAM中的状态标记是EL=1时,在步骤S705,执行解锁(见图13-15)。当主器件没有应用到信息存储器的输出锁定的子密钥集[IDen,LKen]时,主器件必须执行压印。当通过参照图13-15所述的验证确定所述命令是来自有效主器件的解锁请求时,执行解锁(步骤S708中的“是”)。在步骤S709中,存储器存取被允许。当通过验证确定命令是来自未经授权的主器件的解锁请求时,不执行解锁(步骤S708中的“否”),并且发送差错通知(S710)。
当在步骤S704确定在RAM中的状态标记是EL=0时,在步骤S706中,确定是否在RAM中的状态标记是SL=1。当确定在RAM中的状态标记是SL=1时,在步骤S707中,释放标准锁定(见图7和8)。当通过参照图7和8所述的验证确定命令是来自有效主器件的解锁请求时,执行解锁(步骤S708中的“是”)。在步骤S709中,允许存储器存取。当通过验证确定所述命令是来自未经授权的主器件的解锁请求时,不执行解锁(在步骤S708中的“否”)。在步骤S709,允许存储器存取。当通过验证确定所述命令是来自未经授权的主器件的命令时,不执行解锁(在步骤S708中的“否”),并且发送差错通知(S710)。
当在步骤S704中确定在RAM中的状态标记是EL=0,并且当在步骤S706中确定在RAM中的状态标记是SL=0时,不锁定信息存储器。在步骤S709中,允许存储器存取。
如参照图16和17中所述,当输出锁定信息存储器被主器件解锁并且然后信息存储器被关断时,在NVM中的锁定状态标记被设置为SL=1和EL=1。在随后的电源启动时,在RAM中的锁定状态标记被设置为SL=1和EL=1。因此,在图18的处理流程的步骤S704中的确定(EL=1?)是“是”。执行在步骤S705中的处理。即,只要解锁输出锁定信息存储器则允许存储器存取(见图13-15)。
如上所述,按照处理的这个示例,锁定状态标记被存储在NVM中,所述锁定状态标记包括状态信息,根据状态信息来确定是否在解锁之前、信息存储器被输出锁定(EL)或标准锁定,在输出锁定中,可应用到锁定或解锁的密钥集可以被输出,在标准锁定中,可应用到锁定或解锁的密钥集不能被输出。当信息存储器被关闭然后被接通时,根据在NVM中存储的标记来忠实地再现在解锁之前的锁定状态。
按照处理的示例,例如,即使当输出锁定的信息存储器被主器件解锁时,保持输出锁定的状态。当信息存储器被关断然后被接通时,只要执行解锁则允许存储器存取。可以仅仅当具有有效主密钥集子密钥集[ID,LK]的主器件执行包括上述的过锁定的预定处理时,才执行解锁。来自未经授权的单元的存取被防止。
[通过检测具体数据区域的读取的自动锁定]
现在说明下述处理的一个示例:通过信息存储器的控制器来监控其中从信息存储器(存储卡)读取数据,并且响应于触发即预定数据区域(例如具体的簇)的读取来执行锁定。
通过例如按照所存储的数据而产生的重放管理文件(PBLIST)来管理信息存储器(存储卡)的存储器(图2的存储器220)中存储的数据的读取。按照重放管理文件,控制器从存储器读取数据(图2的存储器220),并且向主器件输出数据。
当读取数据时,信息存储器的控制器可以监控所读取的数据。例如,可以以诸如用作被读取的数据的单位的簇的预定单位来监控以ATRAC3压缩的音频数据。
如图19所示,以ATRAC3压缩的音频数据包括多个部分,每个部分包括多个簇,每个簇包括多个作为最小数据单位的SU(声音单元)。每个SU(声音单位)包括几百字节的数据,通过将以采样频率44.1kHz获得的1024个采样(1024×16比特×2信道)的音频数据压缩为大致1/10而产生每个SU。每个簇包括由多个SU(例如42个SU)构成的数据。由42个SU组成的一个簇表示持续大约一秒的声音。
每个簇被提供了唯一的逻辑号,并且被这个逻辑号管理。信息存储器的控制器210(见图3)根据逻辑号查看是否读取了具体的簇。例如,当输出数据是音乐内容时,对应于音乐内容的引入或抑制的至少一个簇的逻辑号被提取作为与内容相关联的锁定相关联的簇。所提取的簇逻辑号被设置为与内容相关联的登记信息,并且被存储在存储内容的存储器(闪存)中。
在读取内容时,登记信息被暂时存储在信息存储器的控制器的存储器(RAM)中。控制器对于锁定相关联的簇查看所读取那的每个簇。当所读取内容的簇对应于锁定相关联的簇的逻辑号时执行锁定。可以在不同的时间执行锁定,例如开始去度锁定相关联的簇的时间、结束读取锁定相关联的簇的时间或结束读取包括锁定相关联的簇的整体内容的时间。执行按照设置的检测,并且根据控制设置的检测来执行锁定。当执行锁定时,只要执行解锁则必须执行重新读取。
参见图20,现在说明只要从存储器220(见图3)读取具体的数据区域(例如具体的簇)在由信息存储器的控制器210执行的锁定处理。
虽然图20的处理流程仅仅包括标准锁定(SL)以便简化说明,但是在输出锁定(EL)的情况下可以执行类似的处理。
在步骤S801,信息存储器被接通。在步骤S802,在NVM中存储的锁定状态标记被复制和存储在控制器210的RAM 213中(见图3)。控制器按照在RAM 213中的状态标记来执行控制。
在步骤S803中,确定是否信息存储器被标准锁定(SL=1)。当SL=1时,在步骤S804中,信息存储器被解锁。解锁例如类似于参照图7和8所述的解锁。
当通过验证由信息存储器确定主器件具有有效的主ID和主锁定密钥时并且当解锁成功时(在S805中的“是”),处理进行到步骤S806。当解锁失败时,在步骤S810,向主器件发送差错通知,并且处理结束。
如果解锁成功,则步骤S806更新在RAM和NVM中的锁定状态标记,即锁定状态标记被设置为指示释放锁定的SL=0。
当在步骤S807中主器件开始读取数据时,信息存储器的控制器监控是否读取预定的锁定相关联的簇。当检测到从锁定相关联的簇读取数据时,在步骤S808,在控制器213的RAM213中的锁定状态标记(见图3)被设置为锁定状态(SL=1)。在步骤S809,在NVM中的锁定状态标记被设置为锁定状态(SL=1)。
通过读取预定的簇,锁定信息存储器。当其后执行重新读取时,必须执行解锁。可以仅仅由具有与在锁定信息存储器中使用的那些相同的主ID和相同的主锁定密钥(LK)的主器件执行解锁。这防止无限制地使用锁定的信息存储器(存储卡)。
当信息存储器被关闭时锁定信息可以被设置成将被释放。或者,如上所述,即使当关断电源时,锁定状态标记被保持在NVM中。当再次接通电源时,在NVM中的锁定状态标记被复制到控制器中的RAM中,因此在关断电源之前保持和再现锁定状态。
按照所述处理的这个示例,当在解锁之后读取数据时,所谓的一次读取存取控制被实施,其中仅仅允许一次读取。
在图20的处理的示例中,仅仅示出了标准的锁定。但是,可以在输出锁定的情况下执行类似的处理。即,信息存储器可以响应于触发即读取预定数据区域而被输出锁定。
[在主器件上的锁定状态表示]
现在说明在可以处于各种锁定状态的用于存取信息存储器的主器件中,用于检测信息存储器的锁定状态的表示结构和处理。
图21示出了具有锁定状态表示指示器和各种处理开关的锁定/解锁单元的结构的一个示例。锁定/解锁单元720具有一个接口,通过这个接口可以与用作信息存储器的存储卡710传送数据,锁定/解锁单元720具有下列锁定状态指示器:
解锁指示器721,用于指示解锁状态;
锁定指示器722,用于指示锁定状态;
E锁定指示器723,用于指示输出锁定的状态;
ERR指示器724,用于指示差错通知。
各种处理请求开关包括:
解锁开关731,用作解锁请求开关;
P锁定开关732,用作使用主密钥集来请求标准锁定的开关;
G-锁定开关733,用作使用子密钥集来请求标准锁定的(主锁定)的开关;
E锁定开关734,用作使用子密钥集来请求输出锁定的开关。
图21(b)中所示的锁定/解锁单元的示例除了上述的开关之外还包括压印开关735,用作专有地请求压印的开关,所述压印是在主器件中存储子密钥集[IDen,LKen],所述子密钥集[IDen,LKen]包括子ID(IDen)和子锁定密钥(LKen),它们被存储在输出锁定信息存储器中。
在图21中示出了锁定/解锁单元的指示器和处理请求开关。如上所述,主器件包括各种单元,其中包括:信息处理装置,诸如PC、PDA等;数字摄像机,诸如DSC;移动通信终端。这些单元的每个可以经由其输入装置向信息存储器(存储卡)发送命令。锁定状态可以被显示在这些单元的每个的LCD等上,或者可以通过声音、警告等被报告。
参见图22等,现在说明由主器件提供锁定状态和从主器件向信息存储器(存储卡)发送命令的处理。
图22示出了描述当例如信息存储器(存储卡)连接到主器件时读取锁定状态的处理的流程。可以响应于从用户输入的命令来执行锁定状态读取处理,或者当信息存储器(存储卡)连接到主器件时可以自动执行锁定状态读取处理。
在步骤S901,从信息存储器读取锁定状态。这个状态信息是基于在信息存储器的控制器210的RAM 213中存储的锁定状态标记(见图3)。在步骤S902,根据所读取的锁定状态信息,与锁定状态相关联的指示器721-724之一被接通。换句话说,当信息存储器被标准锁定或组锁定时,显示(接通)用于指示输出锁定状态的被锁定指示器722。当信息存储器被输出锁定时,显示(接通)指示输出锁定状态的E锁定指示器723。当不锁定信息存储器时,显示(接通)用于指示解锁状态的被解锁指示器721。
参见图23,现在说明基于锁定请求和锁定的执行来显示指示器的处理。根据来自图21所示的处理请求开关732-734之一的输入来执行锁定。
通过来自S锁定开关732的输入来做出对通过应用包括主ID和主锁定密钥(LK)的主密钥集[ID,LK]的标准锁定的请求。通过来自E锁定开关734的输入来做出对通过应用包括子ID(IDen)和子锁定密钥(LKen)的子密钥集[IDen,LKen]的输出锁定的请求。通过来自G锁定开关733的输入来做出对通过应用子密钥集[IDen,LKen]的标准锁定的请求。
当接收到这些输入的任何一个时,在步骤S911中,检测信息存储器(存储卡)的锁定状态。当信息存储器未被锁定时,在步骤S914,显示差错(ERR)指示器。当解锁信息存储器时,在步骤S912,执行标准锁定、输出锁定和主锁定中的任何一个。在完成锁定后,显示主器件的相关联的锁定指示器、即指示锁定状态的被锁定指示器922和指示输出锁定状态的E锁定指示器723。
参见图24,现在说明当解锁信息存储器和显示指示器时的主器件的操作。
通过按下图21的解锁请求开关731来执行解锁。通过按下解锁请求开关,检测信息寄存器的锁定状态。根据在控制器中的RAM中的上述锁定状态标记来执行状态检测。当信息存储器被解锁时(在步骤S921中的“否”),在步骤S923,显示差错(ERR)指示器724。
在其中读取锁定状态的步骤S922中,确定是否信息存储器被输出锁定或标准锁定。根据上述的锁定状态标记,确定是否信息存储器被输出锁定或标准锁定。根据确定结果,图21所示的与锁定状态相关联的指示器721-724之一被接通。
当信息存储器被输出锁定(步骤S924中的“是”),执行已经参照图16-18所述的压印和解锁。即,在步骤S925中,通过应用主ID和主锁定密钥(LK)来执行过锁定。在步骤S926,执行子ID(IDen)和子锁定密钥(LKen)的压印(接收和存储)。在步骤S927,通过应用子ID(IDen)和子锁定密钥(LKen)来执行解锁。这些处理已经参照图16-18而详细地被说明。因此,释放锁定。在步骤S928,显示解锁指示器721。
当在步骤S924中确定锁定状态不是输出锁定时,即锁定状态指示标准锁定时,在步骤S929,确定是否信息存储器被标准锁定。当信息存储器被标准锁定时,在步骤S930,执行解锁。应用到解锁的密钥是主密钥集[ID,LK],或在主锁定的情况下是子密钥集[IDen,IKen]。当释放锁定时,在步骤S928,显示解锁指示器721。
当在步骤S924确定锁定状态不是输出锁定时并且当其中步骤S929确定信息存储器不被标准锁定时,在步骤S931,显示差错(ERR)指示器724。
虽然参照具体的实施例详细说明了本发明,但是应当清楚,在不脱离本发明的范围的情况下,可以进行各种改变和替换。换句话说,已经利用示例说明了本发明,本发明不应当被以限定和含义来解释。本发明的范围要由在开始时所述的权利要求来唯一地确定。
可以通过硬件或软件或两者来执行在说明书中所述的一系列处理。当通过软件执行处理时,记录处理序列的程序被安装在专用的硬件中包括的内置计算机中的存储器上并且被执行。或者,所述程序可以被安装在能够执行各种处理的通用计算机上并且被执行。
例如,所述程序可以被提前记录在用作记录介质的硬盘或ROM(只读存储器)上。或者,所述程序可以被暂时或永久地存储(记录)在可移动记录介质上,诸如软盘、CD-ROM(紧密盘只读存储器)、MO(磁光)盘、DVD(数字多用途盘)、磁盘或半导体存储器。这样的可移动记录介质可以被提供作为所谓的封装软件。
除了从上述的可移动记录介质在计算机上安装程序,所述程序可以无线地从下载站点向计算机传送或经由诸如因特网的网络向计算机有线传送。所述计算机接收被传送的程序,并且在诸如音频的内置记录介质上安装程序。
在说明书中所述的各种处理可以不仅基于说明书以时间序列模式被执行,而且依赖于执行处理的装置的全部或必要性而以并行或独立的方式被执行。在本说明书中的词汇“系统”指的是多个装置的逻辑组,它们不必然被包括在单个外壳中。
产业上的应用
如上所述,按照本发明的结构,响应于从诸如PC的用作主机的信息处理装置输入的锁定命令,诸如存储卡的信息存储器件确定是否检测到(a)用作禁止输出密钥集的标准锁定密钥集,或(b)用作允许输出密钥集的输出锁定密钥集,并且存储对应的密钥集信息。仅仅当检测到输出锁定密钥集时,如果预定的验证成功,则允许输出。因此,仅仅允许多个有效的信息处理装置来锁定或解锁存储器。
按照本发明的结构,根据锁定状态信息来执行存储器存取控制,其中根据所述锁定状态信息来确定是否信息存储器件被标准锁定或输出锁定。仅仅当信息存储器件被输出锁定时,输出密钥集。因此,依赖于存储器的使用,可以执行各种类型的存储器存取控制。
按照本发明的结构,为了向信息处理装置输出输出锁定密钥集,对于从信息处理装置输入的、信息处理装置唯一的密钥集执行验证。如果验证成功,则输出密钥集。因此,防止了无限制的存储器存取,并且实现了安全的存储器存取控制。
按照本发明的结构,存储主密钥集[ID,LK]和子密钥集[IDen,LKen],其中主密钥集[ID,LK]包括用作信息处理装置的唯一ID的主ID和用作与唯一ID相关联的锁定密钥的主锁定密钥(LK),子密钥集[IDen,LKen]包括从已经执行输出锁定的信息处理装置输入的子ID(IDen)和与子ID(IDen)相关联地定义的子锁定密钥(LKen)的数据集。依赖于一个处理,改变要应用的密钥集,因此容易按照所述处理来实现存储器存取控制。
Claims (20)
1.一种信息存储器件,包括:存储器,用于存储数据;控制器,用于执行对存储器的存取控制,其中
所述控制器根据从信息处理装置输入的锁定命令和标识符(ID)来执行存储器的锁定。
所述控制器根据锁定命令来确定包括标识符(ID)的密钥集是
(a)用作禁止输出密钥集的标准锁定密钥集,还是
(b)用作允许输出密钥集的输出锁定密钥集,并且
在存储装置中存储确定信息。
2.按照权利要求1的信息存储器件,其中,信息存储器件在存储装置中存储锁定状态信息,所述锁定状态信息用作确定信息,根据它来确定信息存储器件的锁定状态,
所述锁定状态信息包括这样的信息,基于它来确定信息存储器件是被标准锁定还是被输出锁定,以及
如果确定信息存储器件被输出锁定,则所述控制器根据锁定状态信息来向信息处理装置输出输出锁定密钥集。
3.按照权利要求1的信息存储器件,其中,所述控制器确定是否允许向信息处理装置输出锁定密钥集,以及
所述确定包括验证从信息处理装置输入的、对于信息处理装置唯一的密钥集,并且至少如果验证成功,则向信息处理装置输出输出锁定密钥集。
4.按照权利要求3的信息存储器件,其中,信息处理装置唯一的密钥集是主密钥集[ID,LK],其中包括用作信息处理装置的唯一ID的主ID和用作与唯一ID相关联的锁定密钥的主锁定密钥(LK),
所述信息存储器件具有适用于计算主锁定密钥(LK)的锁定主密钥(LMK),它是基于关系式LK=H(LMK,ID)的散列值,所述散列值是通过应用锁定主密钥(LMK)来对于ID计算的,以及
所述控制器根据通过应用锁定主密钥(LMK)计算散列值而获得的锁定密钥(LK)来验证从信息处理装置输入的、对于信息处理装置唯一的密钥集。
5.按照权利要求4的信息存储器件,其中,控制器产生一个随机数,并且从信息处理装置接收加密的数据[E(Lk,Rms)],所述加密的数据是通过根据由信息处理装置持有的主锁定密钥(LK)加密所述随机数(Rms)而产生的,以及
控制器执行验证,包括对于根据通过计算散列值获得的主锁定密钥(LK)而计算的加密数据[E(Lk,Rms)]查看所接收的加密数据。
6.按照权利要求1的信息存储器件,其中,信息处理装置具有用作唯一密钥集的主密钥集[ID,LK],它包括用作信息处理装置的唯一ID的主ID和与主ID相关联地定义的主锁定密钥(LK),以及
响应于来自信息处理装置的输出锁定密钥集输出请求,所述控制器根据由信息处理装置持有的主锁定密钥(LK)来加密输出锁定密钥集的数据,并且输出加密数据。
7.按照权利要求6的信息存储器件,其中,输出锁定密钥集是子密钥集[IDen,LKen],其中包括从已经执行输出锁定的信息处理装置输入的子ID(IDen)和与子ID(IDen)相关联地定义的子锁定密钥(LKen)的数据集,以及
所述控制器根据由已经做出子密钥集请求的信息处理装置持有的主锁定密钥(LK)来加密子锁定密钥(LKen),并且输出加密数据[E(LK,LKen)]。
8.一种存储器存取控制系统,包括信息存储器件,所述信息存储器件包括:存储器,用于存储数据;控制器,用于对存储器执行存取控制,所述存储器存取控制系统还包括信息处理装置,所述信息处理装置包括与信息存储器件的接口,并且经由所述接口存取在信息存储器件中的存储器,
其中,信息处理装置在存储装置中存储包括标识符(ID)和锁定密钥(LK)的密钥集,
所述控制器根据从信息处理装置输入的锁定命令和标识符(ID)来执行存储器的锁定,
所述控制器根据锁定命令来确定包括标识符(ID)的密钥集是
(a)用作禁止输出密钥集的标准锁定密钥集,还是
(b)用作允许输出密钥集的输出锁定密钥集,
在存储装置中存储确定信息,以及
根据确定信息,信息存储器件的控制器确定是否允许向信息处理装置输出密钥集。
9.按照权利要求8的存储器存取控制系统,其中,信息处理装置在存储装置中存储主密钥集[ID,LK],其中包括用作信息处理装置的唯一ID的主ID和用作与唯一ID相关联的锁定密钥的主锁定密钥(LK),
所述信息存储器件具有适用于计算主锁定密钥(LK)的锁定主密钥(LMK),它是基于关系式LK=H(LMK,ID)的散列值,所述散列值是通过应用锁定主密钥(LMK)来对于ID计算的,以及
信息存储器件的控制器根据通过应用锁定主密钥(LMK)计算散列值而获得的锁定密钥(LK)来验证从信息处理装置输入的、对于信息处理装置唯一的密钥集。
10.按照权利要求8的存储器存取控制系统,其中,信息存储器件的控制器产生一个随机数,并且从信息处理装置接收加密的数据[E(Lk,Rms)],所述加密的数据是通过根据由信息处理装置持有的主锁定密钥(LK)加密所述随机数(Rms)而产生的,以及
信息存储器件的控制器执行验证,包括对于根据通过计算散列值获得的主锁定密钥(LK)而计算的加密数据[E(Lk,Rms)]查看所接收的加密数据。
11.按照权利要求8的存储器存取控制系统,其中,信息处理装置具有用作唯一密钥集的主密钥集[ID,LK],它包括用作信息处理装置的唯一ID的主ID和与主ID相关联地定义的主锁定密钥(LK),
响应于来自信息处理装置的输出锁定密钥集输出请求,信息存储器件的控制器根据由信息处理装置持有的主锁定密钥(LK)来加密输出锁定密钥集的数据,并且输出加密数据,以及
信息处理装置通过根据由信息处理装置持有的主锁定密钥(LK)解密所述加密数据来获得输出锁定密钥集的数据。
12.按照权利要求11的存储器存取控制系统,其中,输出锁定密钥集是子密钥集[IDen,LKen],其中包括从已经执行输出锁定的信息处理装置输入的子ID(IDen)和与子ID(IDen)相关联地定义的子锁定密钥(LKen)的数据集,以及
信息存储器件的控制器根据由已经做出子密钥集请求的信息处理装置持有的主锁定密钥(LK)来加密子锁定密钥(LKen),并且向信息处理装置输出加密数据[E(LK,LKen)]。
13.一种存储器存取控制方法,用于信息存储器件,所述信息存储器件包括用于存储数据的存储器和用于对存储器执行存取控制的控制器,所述方法包括:
接收从信息处理装置输入的锁定命令和标识符(ID)的步骤;
根据锁定命令来确定包括标识符(ID)的密钥集是
(a)用作禁止输出密钥集的标准锁定密钥集,还是
(b)用作允许输出密钥集的输出锁定密钥集,并且
在存储装置中存储确定信息的步骤。
14.按照权利要求8的存储器存取控制方法,其中,确定信息是用作锁定状态信息的锁定状态信息,
锁定状态信息包括这样的信息,基于它来确定信息存储器件是被标准锁定还是被输出锁定,以及
所述存储器存取控制方法还包括步骤:如果确定信息存储器件被输出锁定,则根据锁定状态信息来向信息处理装置输出输出锁定密钥集。
15.按照权利要求13的存储器存取控制方法,其中,作为是否允许向信息处理装置输出锁定密钥集的确定,验证从信息处理装置输入的、对于信息处理装置唯一的密钥集,并且至少如果验证成功,则向信息处理装置输出输出锁定密钥集。
16.按照权利要求15的存储器存取控制方法,其中,信息处理装置唯一的密钥集是主密钥集[ID,LK],其中包括用作信息处理装置的唯一ID的主ID和用作与唯一ID相关联的锁定密钥的主锁定密钥(LK),
所述信息存储器件具有适用于计算主锁定密钥(LK)的锁定主密钥(LMK),它是基于关系式LK=H(LMK,ID)的散列值,所述散列值是通过应用锁定主密钥(LMK)来对于ID计算的,以及
所述验证包括根据通过应用锁定主密钥(LMK)计算散列值而获得的锁定密钥(LK)来验证从信息处理装置输入的、对于信息处理装置唯一的密钥集的步骤。
17.按照权利要求16的存储器存取控制方法,其中,验证步骤包括步骤:产生一个随机数,并且从信息处理装置接收加密的数据[E(Lk,Rms)],所述加密的数据是通过根据由信息处理装置持有的主锁定密钥(LK)加密所述随机数(Rms)而产生的,并且
执行验证包括对于根据通过计算散列值获得的主锁定密钥(LK)而计算的加密数据[E(Lk,Rms)]查看所接收的加密数据。
18.按照权利要求13的存储器存取控制方法,其中,信息处理装置具有用作唯一密钥集的主密钥集[ID,LK],它包括用作信息处理装置的唯一ID的主ID和与主ID相关联地定义的主锁定密钥(LK),
存储器存取控制方法还包括加密和输出步骤:响应于来自信息处理装置的输出锁定密钥集输出请求,根据由信息处理装置持有的主锁定密钥(LK)来加密输出锁定密钥集的数据,并且输出加密数据。
19.按照权利要求18的存储器存取控制方法,其中,输出锁定密钥集是子密钥集[IDen,LKen],它包括从已经执行输出锁定的信息处理装置输入的子ID(IDen)和与子ID(IDen)相关联地定义的子锁定密钥(LKen)的数据集,
所述加密和输出步骤根据由已经做出子密钥集请求的信息处理装置持有的主锁定密钥(LK)来加密子锁定密钥(LKen),并且输出加密数据[E(LK,LKen)]。
20.一种计算机程序,用于对信息存储器执行存储器存取控制,所述信息存储器包括用于存储数据的存储器和用于对存储器执行存取控制的控制器,所述程序包括:
接收从信息处理装置输入的锁定命令和标识符(ID)的步骤;
根据锁定命令来确定包括标识符(ID)的密钥集是
(a)用作禁止输出密钥集的标准锁定密钥集,还是
(b)用作允许输出密钥集的输出锁定密钥集,并且
在存储装置中存储确定信息的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002183882A JP4016741B2 (ja) | 2002-06-25 | 2002-06-25 | 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム |
JP183882/2002 | 2002-06-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1564982A true CN1564982A (zh) | 2005-01-12 |
CN1278245C CN1278245C (zh) | 2006-10-04 |
Family
ID=29996694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038011387A Expired - Fee Related CN1278245C (zh) | 2002-06-25 | 2003-06-19 | 信息存储器件、存储器存取控制系统及方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7636826B2 (zh) |
EP (1) | EP1517244B1 (zh) |
JP (1) | JP4016741B2 (zh) |
KR (1) | KR100968733B1 (zh) |
CN (1) | CN1278245C (zh) |
WO (1) | WO2004001609A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478770A (zh) * | 2020-03-31 | 2020-07-31 | 西安广和通无线软件有限公司 | 安全校验方法、装置、计算机设备和存储介质 |
CN112859694A (zh) * | 2021-01-20 | 2021-05-28 | 深圳池航科技有限公司 | 一种基于互联网的智能头盔锁远程控制系统 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3979195B2 (ja) * | 2002-06-25 | 2007-09-19 | ソニー株式会社 | 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム |
KR100476929B1 (ko) * | 2002-09-03 | 2005-03-16 | 삼성전자주식회사 | 카드형 유에스비 인터페이스 컨넥터를 갖는 유에스비 시스템 |
US8099762B2 (en) * | 2003-12-02 | 2012-01-17 | Integic Technologies Llc | Secure digital content trading systems and methods |
EP3029597A1 (en) | 2005-07-21 | 2016-06-08 | Clevx, LLC | Memory lock system |
US8996482B1 (en) * | 2006-02-10 | 2015-03-31 | Amazon Technologies, Inc. | Distributed system and method for replicated storage of structured data records |
WO2008017913A2 (en) * | 2006-08-07 | 2008-02-14 | Nokia Corporation | Connecting a first device and a second device |
KR100782113B1 (ko) * | 2006-11-13 | 2007-12-05 | 삼성전자주식회사 | 메모리 카드 시스템 및 그것의 호스트 식별 정보 전송 방법 |
US7877563B2 (en) * | 2006-12-07 | 2011-01-25 | International Business Machines Corporation | Programmable memory device security |
KR100841982B1 (ko) * | 2007-02-08 | 2008-06-27 | 삼성전자주식회사 | 호스트 식별 정보를 저장하는 메모리 카드 및 그것의액세스 방법 |
US8438652B2 (en) * | 2007-03-23 | 2013-05-07 | Seagate Technology Llc | Restricted erase and unlock of data storage devices |
JP5042313B2 (ja) * | 2007-08-28 | 2012-10-03 | パナソニック株式会社 | 電子機器およびロック解除方法 |
US8271736B2 (en) * | 2008-02-07 | 2012-09-18 | International Business Machines Corporation | Data block frequency map dependent caching |
US20100174913A1 (en) * | 2009-01-03 | 2010-07-08 | Johnson Simon B | Multi-factor authentication system for encryption key storage and method of operation therefor |
US9286493B2 (en) | 2009-01-07 | 2016-03-15 | Clevx, Llc | Encryption bridge system and method of operation thereof |
US8365304B2 (en) | 2010-05-24 | 2013-01-29 | Microsoft Corporation | Restricting access to volumes |
US8081013B1 (en) * | 2010-07-13 | 2011-12-20 | Amlogic Co., Ltd. | Digital phase and frequency detector |
US20120047582A1 (en) * | 2010-08-20 | 2012-02-23 | Nexcom International Co., Ltd. | Data deleting method for computer storage device |
JP5198539B2 (ja) * | 2010-11-05 | 2013-05-15 | 株式会社東芝 | 記憶装置、アクセス装置およびプログラム |
US11352812B2 (en) | 2013-03-15 | 2022-06-07 | August Home, Inc. | Door lock system coupled to an image capture device |
US9322194B2 (en) | 2013-03-15 | 2016-04-26 | August Home, Inc. | Intelligent door lock system |
US11527121B2 (en) | 2013-03-15 | 2022-12-13 | August Home, Inc. | Door lock system with contact sensor |
US10691953B2 (en) | 2013-03-15 | 2020-06-23 | August Home, Inc. | Door lock system with one or more virtual fences |
US11072945B2 (en) | 2013-03-15 | 2021-07-27 | August Home, Inc. | Video recording triggered by a smart lock device |
US10140828B2 (en) | 2015-06-04 | 2018-11-27 | August Home, Inc. | Intelligent door lock system with camera and motion detector |
US11441332B2 (en) | 2013-03-15 | 2022-09-13 | August Home, Inc. | Mesh of cameras communicating with each other to follow a delivery agent within a dwelling |
US11802422B2 (en) | 2013-03-15 | 2023-10-31 | August Home, Inc. | Video recording triggered by a smart lock device |
US10443266B2 (en) | 2013-03-15 | 2019-10-15 | August Home, Inc. | Intelligent door lock system with manual operation and push notification |
US9916746B2 (en) | 2013-03-15 | 2018-03-13 | August Home, Inc. | Security system coupled to a door lock system |
US10388094B2 (en) | 2013-03-15 | 2019-08-20 | August Home Inc. | Intelligent door lock system with notification to user regarding battery status |
US11421445B2 (en) | 2013-03-15 | 2022-08-23 | August Home, Inc. | Smart lock device with near field communication |
US9704314B2 (en) | 2014-08-13 | 2017-07-11 | August Home, Inc. | BLE/WiFi bridge that detects signal strength of Bluetooth LE devices at an exterior of a dwelling |
US9706365B2 (en) * | 2013-03-15 | 2017-07-11 | August Home, Inc. | BLE/WiFi bridge that detects signal strength of bluetooth LE devices at an interior of a dwelling |
US10181232B2 (en) | 2013-03-15 | 2019-01-15 | August Home, Inc. | Wireless access control system and methods for intelligent door lock system |
US11043055B2 (en) | 2013-03-15 | 2021-06-22 | August Home, Inc. | Door lock system with contact sensor |
KR20150101232A (ko) * | 2014-02-26 | 2015-09-03 | 삼성전자주식회사 | 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치의 동작 방법 |
US11210238B2 (en) * | 2018-10-30 | 2021-12-28 | Cypress Semiconductor Corporation | Securing data logs in memory devices |
US20220021544A1 (en) * | 2020-07-15 | 2022-01-20 | Micron Technology, Inc. | Secure Serial Peripheral Interface (SPI) Flash |
WO2022060704A1 (en) | 2020-09-17 | 2022-03-24 | ASSA ABLOY Residential Group, Inc. | Magnetic sensor for lock position |
US11782621B2 (en) | 2021-06-30 | 2023-10-10 | Western Digital Technologies, Inc. | Lock or unlock indicator on a data storage device |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3602896A (en) * | 1969-06-30 | 1971-08-31 | Ibm | Random access memory with flexible data boundaries |
US4405829A (en) * | 1977-12-14 | 1983-09-20 | Massachusetts Institute Of Technology | Cryptographic communications system and method |
US4736419A (en) * | 1984-12-24 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Electronic lock system |
US4817140A (en) * | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US5148534A (en) * | 1986-11-05 | 1992-09-15 | International Business Machines Corp. | Hardware cartridge representing verifiable, use-once authorization |
US4937736A (en) * | 1987-11-30 | 1990-06-26 | International Business Machines Corporation | Memory controller for protected memory with automatic access granting capability |
US5231310A (en) * | 1990-09-05 | 1993-07-27 | Oh Soo Young | Electrical and electronic appliance lock |
JPH04139552A (ja) * | 1990-10-01 | 1992-05-13 | Nec Corp | メモリカード |
US5231668A (en) * | 1991-07-26 | 1993-07-27 | The United States Of America, As Represented By The Secretary Of Commerce | Digital signature algorithm |
JPH05113932A (ja) * | 1991-10-23 | 1993-05-07 | Kyocera Corp | パーソナルコンピユータ |
US5287519A (en) * | 1992-09-17 | 1994-02-15 | International Business Machines Corp. | LAN station personal computer system with controlled data access for normal and unauthorized users and method |
US5293424A (en) * | 1992-10-14 | 1994-03-08 | Bull Hn Information Systems Inc. | Secure memory card |
US5282247A (en) * | 1992-11-12 | 1994-01-25 | Maxtor Corporation | Apparatus and method for providing data security in a computer system having removable memory |
GB9323453D0 (en) * | 1993-11-13 | 1994-01-05 | Calluna Tech Ltd | Security system for portable hard disk drive |
AU1265195A (en) * | 1993-12-06 | 1995-06-27 | Telequip Corporation | Secure computer memory card |
US6002772A (en) * | 1995-09-29 | 1999-12-14 | Mitsubishi Corporation | Data management system |
US5963142A (en) * | 1995-03-03 | 1999-10-05 | Compaq Computer Corporation | Security control for personal computer |
US6169687B1 (en) * | 1995-04-21 | 2001-01-02 | Mark B. Johnson | High density and speed magneto-electronic memory for use in computing system |
US5638448A (en) * | 1995-10-24 | 1997-06-10 | Nguyen; Minhtam C. | Network with secure communications sessions |
JPH09134330A (ja) * | 1995-11-07 | 1997-05-20 | Fujitsu Ltd | セキュリティ保護システム |
US5857021A (en) * | 1995-11-07 | 1999-01-05 | Fujitsu Ltd. | Security system for protecting information stored in portable storage media |
JPH09293022A (ja) * | 1996-04-24 | 1997-11-11 | Toshiba Corp | データ記録再生装置及び同装置におけるデータ保護方法 |
US6131090A (en) * | 1997-03-04 | 2000-10-10 | Pitney Bowes Inc. | Method and system for providing controlled access to information stored on a portable recording medium |
JPH11237983A (ja) * | 1998-02-20 | 1999-08-31 | Mitsubishi Electric Corp | ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法 |
JPH11265318A (ja) * | 1998-03-17 | 1999-09-28 | Bug:Kk | 相互認証システム、相互認証方法及び記録媒体 |
US6330624B1 (en) * | 1999-02-09 | 2001-12-11 | International Business Machines Corporation | Access limiting to only a planar by storing a device public key only within the planar and a planar public key only within the device |
JP3528701B2 (ja) | 1999-09-21 | 2004-05-24 | カシオ計算機株式会社 | セキュリティ管理システム |
JP2001022642A (ja) * | 1999-07-08 | 2001-01-26 | Mitsubishi Electric Corp | メモリの機密保持回路 |
US7031946B1 (en) * | 1999-12-28 | 2006-04-18 | Matsushita Electric Industrial Co., Ltd. | Information recording medium, noncontact IC tag, access device, access system, life cycle management system, input/output method, and access method |
JP4104801B2 (ja) * | 2000-01-14 | 2008-06-18 | 株式会社エヌ・ティ・ティ・データ | Icカード読取装置及びicカードシステム |
JP2001236333A (ja) * | 2000-02-21 | 2001-08-31 | Hitachi Ltd | 電子署名付移動エージェント |
JP3734408B2 (ja) * | 2000-07-03 | 2006-01-11 | シャープ株式会社 | 半導体記憶装置 |
JP4678083B2 (ja) * | 2000-09-29 | 2011-04-27 | ソニー株式会社 | メモリ装置およびメモリアクセス制限方法 |
JP4678084B2 (ja) | 2000-09-29 | 2011-04-27 | ソニー株式会社 | メモリ装置およびメモリアクセス制限方法 |
US6832317B1 (en) * | 2001-05-10 | 2004-12-14 | Advanced Micro Devices, Inc. | Personal computer security mechanism |
JP4690600B2 (ja) * | 2001-08-23 | 2011-06-01 | 富士通株式会社 | データ保護方法 |
US20030135507A1 (en) * | 2002-01-17 | 2003-07-17 | International Business Machines Corporation | System and method for managing and securing meta data using central repository |
-
2002
- 2002-06-25 JP JP2002183882A patent/JP4016741B2/ja not_active Expired - Fee Related
-
2003
- 2003-06-19 WO PCT/JP2003/007781 patent/WO2004001609A1/ja active Application Filing
- 2003-06-19 US US10/486,094 patent/US7636826B2/en not_active Expired - Fee Related
- 2003-06-19 CN CNB038011387A patent/CN1278245C/zh not_active Expired - Fee Related
- 2003-06-19 KR KR1020047002720A patent/KR100968733B1/ko not_active IP Right Cessation
- 2003-06-19 EP EP03760900.5A patent/EP1517244B1/en not_active Expired - Fee Related
-
2009
- 2009-11-05 US US12/612,706 patent/US8402240B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478770A (zh) * | 2020-03-31 | 2020-07-31 | 西安广和通无线软件有限公司 | 安全校验方法、装置、计算机设备和存储介质 |
CN112859694A (zh) * | 2021-01-20 | 2021-05-28 | 深圳池航科技有限公司 | 一种基于互联网的智能头盔锁远程控制系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1517244B1 (en) | 2019-01-09 |
EP1517244A1 (en) | 2005-03-23 |
US20040215910A1 (en) | 2004-10-28 |
US8402240B2 (en) | 2013-03-19 |
JP4016741B2 (ja) | 2007-12-05 |
EP1517244A4 (en) | 2008-11-19 |
KR100968733B1 (ko) | 2010-07-08 |
US20100049993A1 (en) | 2010-02-25 |
US7636826B2 (en) | 2009-12-22 |
JP2004030103A (ja) | 2004-01-29 |
CN1278245C (zh) | 2006-10-04 |
WO2004001609A1 (ja) | 2003-12-31 |
KR20050010749A (ko) | 2005-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1278245C (zh) | 信息存储器件、存储器存取控制系统及方法 | |
CN1306425C (zh) | 信息存储器件、存储器存取控制系统和方法 | |
CN1304964C (zh) | 信息存储器件、存储器访问控制方法 | |
CN1292357C (zh) | 信息存储设备、存储器存取控制方法 | |
CN1236581C (zh) | 用于加密数据传送的数据处理方法、装置和系统 | |
CN1293491C (zh) | 信息处理设备和方法,以及程序存储介质 | |
CN1211975C (zh) | 信息管理系统和方法 | |
CN1208729C (zh) | 记录/再现设备、数据移动方法和数据删除方法 | |
CN1396568A (zh) | 数字作品保护系统、记录媒体装置、发送装置和重放装置 | |
CN1249571C (zh) | 信息处理系统 | |
CN1363077A (zh) | 数据处理设备和数据处理方法 | |
CN1270470C (zh) | 用于装置之间相互识别的数据处理系统和方法 | |
CN101053200A (zh) | 信息处理设备、信息存储媒体、内容管理系统、数据处理方法、以及计算机程序 | |
CN1459167A (zh) | 信息记录重放装置和方法 | |
CN1682174A (zh) | 组形成/管理系统,组管理装置,以及成员装置 | |
CN100343831C (zh) | 能够不重叠地存储多个历史信息项的数据存储设备 | |
CN1476580A (zh) | 内容使用权管理系统和管理方法 | |
CN1759559A (zh) | 数字作品的保护系统、记录设备、再现设备及记录介质 | |
CN1735939A (zh) | 内容发布系统、记录设备和方法、重放设备和方法及程序 | |
CN101047495A (zh) | 用于传送数据的方法和系统 | |
CN1940952A (zh) | 用于管理内容数据的系统和装置 | |
CN1256459A (zh) | 数字作品保护系统 | |
CN1914649A (zh) | 认证系统, 认证设备,以及记录介质 | |
CN1366637A (zh) | 数据记录再现播放器、保存数据处理方法和程序提供媒体 | |
CN1820315A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061004 Termination date: 20210619 |