WO2004001607A1 - 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム - Google Patents

情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
WO2004001607A1
WO2004001607A1 PCT/JP2003/007779 JP0307779W WO2004001607A1 WO 2004001607 A1 WO2004001607 A1 WO 2004001607A1 JP 0307779 W JP0307779 W JP 0307779W WO 2004001607 A1 WO2004001607 A1 WO 2004001607A1
Authority
WO
WIPO (PCT)
Prior art keywords
lock
storage device
information storage
memory
information
Prior art date
Application number
PCT/JP2003/007779
Other languages
English (en)
French (fr)
Inventor
Takumi Okaue
Kenichi Nakanishi
Jun Tashiro
Hideaki Okubo
Original Assignee
Sony Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to US10/487,008 priority Critical patent/US7962713B2/en
Priority to KR1020047002772A priority patent/KR100998855B1/ko
Priority to EP03760898.1A priority patent/EP1519275B1/en
Publication of WO2004001607A1 publication Critical patent/WO2004001607A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present invention relates to an information storage device, a memory access control method, and a computer program. More specifically, in response to a command input from the information processing device, the memory unlocking process is executed as the memory unlocking process, and the information storage device is turned on again after the power is turned off.
  • the present invention relates to an information storage device that realizes memory access control based on a reproduction lock state by reproducing the lock state data before the unlock processing, a memory access control method, and a computer program. Background art
  • Various information processing devices such as PCs (Personal Computers), PDAs (Personal Digital Assistants), ⁇ r, flash cameras, data recording / reproducing devices, and game devices, include hard disks, DVDs, CDs, and memories. Data recording / reproduction processing using various storage media such as cards is executed.
  • a small card-type memory device including a memory unit configured by a flash memory and the like and a control unit configured by a CPU and the like is capable of storing various software data (contents) such as music data, image data, and programs. (Content)) is often used as a storage means.
  • Reading or writing of data stored in a memory card or the like can be performed by mounting the card on a device having a memory card interface and performing data transfer via an interface.
  • Data recording and playback using a memory device can be configured so that anyone can freely execute it. For example, by setting a password or processing a password, a so-called “restricted configuration” is realized, in which memory access is permitted only to specific users or specific devices, and access by unauthorized third parties is eliminated. Have been.
  • a password that only an authorized user can know is set, the password is transferred from the content using device as the information reproducing device to the content storage device such as a memory card, and the control unit (CPU, etc.) on the memory card side is used. ), The password is verified, and the content is output from the content storage device, such as a memory card, to the content-using device as the information reproducing device, or the content reproducing device is used as the information reproducing device.
  • a mutual authentication process is performed between the content use device and the content storage device such as a memory card, and the content use device as an information playback device is transferred from the content storage device such as a memory card to the condition that mutual authentication is established. For example, there is a configuration that outputs content to
  • data storage devices such as memory cards can be mounted on various devices such as PCs, PDAs, and digital cameras, and these devices often use one memory card for each other.
  • data usage mode if the above-described password verification processing, authentication processing, and the like are required every time the memory card is inserted into the device, it takes time to perform data reading or data writing. In other words, the processing efficiency decreases.
  • the present invention has been made in view of the above-described problems, and executes an undocking process as a memory undoing process in response to a command input from an information processing device, and stores information in a memory.
  • the memory status based on the reproduced lock status is reproduced by reproducing the lock status data before the unlock process. It is an object of the present invention to provide an information storage device that realizes control, a memory access control method, and a computer program. According to a first aspect of the present invention,
  • An information storage device comprising: a memory for storing data; and a control unit that performs access control on the memory.
  • the control unit includes:
  • an unlocking process is performed as a process for releasing the memory from being unlocked
  • the lock state data before the unlock processing is stored in the storage means, and when the information storage device is turned on again after the power is turned off, the lock state of the memory is changed based on the lock state data stored in the storage means.
  • An information storage device having a configuration for reproducing and executing memory access control based on a reproduction state. Further, in one embodiment of the information storage device of the present invention, the information storage device is configured to store lock status information as hook state data of the information storage device in the storage means, Is characterized by having a configuration in which the above-mentioned status information is stored in a non-volatile memory (NVM) as a first storage means in which the stored information is maintained even after the information storage device is turned off.
  • NVM non-volatile memory
  • control unit stores the information in the non-volatile memory (NVM) in a memory in the control unit as a second storage unit after turning on the power of the information storage device again.
  • NVM non-volatile memory
  • the present invention is characterized in that the hack status information is stored in a copy, and access control is executed based on the copy storage information.
  • the information storage device is configured to store, in the storage unit, hook status information as hook status data of the information storage device, Is the export lock (EL) state, which is a state in which external output of the key set applicable to the hacking process or unlocking process is allowed, and whether the lock process or unlock process is performed. External output of the key set applicable to the lock processing is not allowed. And determining whether the state is a standard lock (SL) state, which is a locked state, and wherein the control unit performs memory access control based on the determination information.
  • SL standard lock
  • control unit is configured to restart the information storage device based on the reproduced hook state by turning on the power of the information storage device again.
  • the key set is a key set [ID, LK] including an ID possessed by the information processing device and a lock key (LK) corresponding to the ID.
  • the control unit is configured to execute verification of the information processing device possession key set input from the information processing device based on a hash key (LK) obtained by calculating a hash value using the hash master key (LMK).
  • the control unit executes a random number generation process, and encrypts the random number (Rms) based on a lock key (LK) owned by the information processing device.
  • E (L k, Rms)] from the information processing apparatus, and receives the encrypted data [E (L k, R m s)] calculated based on the received encrypted data and the Kick key (LK) obtained by the hash value calculation. k, Rms)].
  • a second aspect of the present invention provides:
  • a memory access control method in an information storage device including a data storage memory and a control unit that performs access control on the memory
  • the memory state of the memory is reproduced based on the lock state data stored in the storage means, and the memory access control based on the reproduced memory state is executed. And a memory access control step.
  • the step of storing the lock status data includes the step of storing lock status information as the lock status data of the information storage device after the power of the information storage device is turned off. And storing the stored information in a non-volatile memory (NVM) as a first storage means in which the stored information is maintained.
  • NVM non-volatile memory
  • the memory access control method further comprises the step of: turning on the power of the information storage device again and storing the non-volatile memory in the control unit memory as second storage means. (NVM) is stored, and the memory access control step is a step of executing an access control based on the copy storage information.
  • NVM non-volatile memory
  • the step of storing the hook status data is a step of storing the hook status information as lock status data of the information storage device in a storage unit.
  • the lock status information includes information on whether or not the external port is in an export locker (EL) state in which external output of the key set applicable to the hacking process or the hacking process is permitted
  • the memory access includes determination information as to whether or not the external lock of the key set applicable to the hacking process or the hacking process is in the standard lock (SL) state in which the hacking state is not allowed.
  • the control step is a step of reproducing a memory state of the memory based on the discrimination information and executing a memory access control based on the reproduced memory state.
  • the memory access control method further comprises: An unlocking request response processing step of executing a process for an unlocking request from the information processing device based on the determined unlocking state, wherein the unlocking request response processing step includes: A verification processing step of performing verification processing of a key set including an identifier (ID) of the information processing apparatus that has output the unlock request, and, on condition that the verification is established, a wake-up release processing based on the unlock request. And a step of performing a mouth release processing step of executing the step.
  • ID identifier
  • the key set is a key set [ID, LK] consisting of an ID possessed by the information processing device and a lock key (LK) force corresponding to the ID.
  • the information storage device has a relationship between L KH (L MK, ID), that is, a lock master key that can calculate a lock key (LK) as a hash value obtained by applying a lock master key (LMK) to the ID.
  • L KH L MK, ID
  • the verification processing step comprises: verifying a key set possessed by the information processing device input from the information processing device to a verification key (LK) obtained by calculating a hash value using the verification master key (LMK). And performing a verification based on the verification.
  • the memory access control method further executes a random number generation process, and executes the random number (Rms) based on a lock key (LK) owned by the information processing device.
  • the verification processing step includes the step of receiving the encrypted data and the secret key acquired by calculating the hash value. [E (L k, Rms)] And performing a verification process including a check with the encrypted data [E (L k, Rms)] calculated based on (LK).
  • a third aspect of the present invention is that
  • the memory state of the memory is reproduced based on the lock state data stored in the storage means, and the memory access control based on the reproduced memory state is executed. And a memory access control step.
  • an unlock process as a memory unlock process is executed in response to a command input from the information processing device, and an unlock process before the unlock process is performed.
  • the hook state data is stored in the storage means, and when the information storage device is turned on after the power is turned off, the hook state of the memory is reproduced and reproduced based on the hook state data stored in the storage means. Since the configuration is such that the memory access control is performed based on the wake state, it is possible to effectively prevent a third party from accessing the memory due to loss or theft of the information storage device.
  • the lock status information as the lock state data of the information storage device is stored in the non-volatile memory (NVM) as the first storage means in which the storage information is maintained even after the power is turned off. Then, after the power is turned on again, the acknowledgment status information is copied to the memory in the control unit as the second storage means, and the access control is executed, so that the wake-up state can be maintained even when the power is turned off. In other words, memory access due to loss of lock information can be prevented.
  • NVM non-volatile memory
  • the export lock (EL) state as a lock state in which external output of a key set applicable to the lip processing or the lip processing is permitted. Access control based on lock status information including discrimination information as to whether or not the external output of the key set is not permitted in the standard lock (s L) state. This makes it possible to perform memory access control in this mode.
  • the verification processing of the key set including the identifier (ID) of the information processing apparatus that has output the unlock request is executed, and the verification is performed on condition that the verification is established.
  • Unlocking based on the unlocking request Since the configuration is such that processing is executed, secure memory access control is realized on condition that the host device is a legitimate host device.
  • the computer program of the present invention is, for example, a storage medium or a communication medium provided in a computer-readable format for a general-purpose computer system capable of executing various programs' codes, for example, a CD, FD, MO, or the like. It is a computer program that can be provided via a storage medium such as the Internet or a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer 'system.
  • a system is a logical set of a plurality of devices, and the devices of each configuration are not limited to those in the same housing.
  • FIG. 1 is a diagram illustrating an overview of usage of the information storage apparatus of the present invention
  • c diagram illustrates a hardware configuration example of a host device using an information storage device
  • FIG. 3 is a diagram illustrating a hardware configuration example of the information storage device.
  • FIG. 4 is a diagram for explaining data stored in the information storage device and the host device of the present invention.
  • FIG. 5 is a diagram illustrating a communication processing sequence between the information storage device and the host device in the hacking process for the information storage device.
  • FIG. 6 is a diagram showing a processing flow for explaining the hacking process for the information storage device.
  • FIG. 7 is a diagram illustrating a communication processing sequence between the information storage device and the host device in the unlocking process on the information storage device.
  • FIG. 8 shows a processing flow for explaining the unlock processing for the information storage device.
  • FIG. 9 is a diagram for explaining data stored in the information storage device and the host device of the present invention.
  • FIG. 10 is a diagram for explaining a hook processing mode for the information storage device of the present invention.
  • FIG. 11 is a diagram for explaining a communication processing sequence between an information storage device and a host device in a hack process using a subkey set for the information storage device.
  • FIG. 12 is a diagram showing a process flow for explaining a hack process using a subkey set for an information storage device.
  • FIG. 13 is a diagram for explaining a communication processing sequence between the information storage device and the host device in the unpacking process using the imprint and the subkey set for the information storage device.
  • FIG. 14 is a flowchart for explaining an imprint process using an imprint and a subkey set for an information storage device.
  • FIG. 15 is a flowchart illustrating an imprint process using an imprint and a subkey set for an information storage device.
  • FIG. 16 is a diagram illustrating a communication processing sequence between the information storage device and the host device in the unlocking process using the imprint and the subkey set for the information storage device.
  • FIG. 17 is a flowchart illustrating a lock status flag update process in an unlock process using an imprint and a subkey set for the information storage device.
  • FIG. 18 is a flowchart illustrating a process of referring to a hook status flag in an unlock process for an information storage device.
  • FIG. 19 is a diagram illustrating a cluster configuration as a data storage mode in the information storage device.
  • FIG. 20 is a flowchart illustrating a hacking process based on reading of a specific data area (cluster).
  • FIG. 21 is a diagram for explaining a configuration of a device for performing a hack / unhook operation on an information storage device.
  • FIG. 22 is a flowchart of a lock state reading process in the host device.
  • FIG. 23 is a flowchart for explaining the process at the time of the hacking process and the indicator display process in the host device.
  • FIG. 24 is a flowchart for explaining the process at the time of the unlock process in the host device and the indicator display process.
  • the information processing device 20 is equipped with an information storage device 30 such as a PC (Personal Computer) 21, a PDA (Personal Digital Assistants) 22, a mobile communication terminal 23, a digital camera 24, etc.
  • an information storage device 30 such as a PC (Personal Computer) 21, a PDA (Personal Digital Assistants) 22, a mobile communication terminal 23, a digital camera 24, etc.
  • a device that can output information from the device 30 is equipped with an information storage device 30 such as a PC (Personal Computer) 21, a PDA (Personal Digital Assistants) 22, a mobile communication terminal 23, a digital camera 24, etc.
  • These information processing devices 20 are equipped with a memory card 30 equipped with a nonvolatile memory (NVM: Non-Volatile Memory) such as a flash memory, and store data in the memory card 30 or Executes reading of data stored in the memory card.
  • NVM Non-Volatile Memory
  • Each of PCs (Personal Computers) 21 and 22, PDA (Personal Digital Assistants) 23, portable communication terminal 24 and digital camera 25 may use one memory card 30 mutually.
  • the image data captured by the digital camera 25 is stored in the memory card 30, and then the memory card 30 is inserted into the PC 21 to display stored image data, execute image processing, or perform other operations on the PC 2.
  • contents such as music data obtained through a network such as the Internet or through a CD or DVD are stored in a memory card 30; After that, the memory card 30 storing the content is attached to the PDA 22, and the content is reproduced on the go using the PDA 22.
  • FIG. 2 shows a configuration example of an information processing apparatus to which an information storage device such as a memory card can be attached.
  • the CPU (Central Processing Unit) 101 is a processor that executes various application programs and an OS (Operating System). It performs various kinds of encryption processing including hash value calculation, random number generation, and the like in the hacking processing as access restriction processing for the information storage device, which will be described in detail later, and control in command transmission and reception.
  • OS Operating System
  • a ROM (Read Only Memory) 102 stores a program executed by the CPU 101, fixed data of calculation parameters, and the like. It stores a hacking process, an hacking process program, and the like as access restriction processing for the information storage device, which will be described in detail later.
  • a RAM (Random Access Memory) 103 stores information applied to an execution program of the CPU 101, parameters that change as appropriate in the execution, and the like.
  • the DSP (Digital Signal Processor) 104 is used for encryption processing and equalizer adjustment (audio signal) when playing back content input from the information storage device 200 such as a memory card via the storage device IZF113. Adjustment of the gain corresponding to the frequency band), compression / decompression (encode / decode) processing, etc.
  • the decoded and decompressed content is converted into an analog audio signal by a digital-to-analog conversion circuit 105, amplified by an amplifier circuit 106, and then output via an audio output unit 107.
  • the output of the image data is executed by the display unit 109 such as an LCD via the display controller 108.
  • Digital signals or analog signals are input from an external source from the input I ZF112, and AZD conversion is performed when analog signals are input.
  • the AZD conversion converts an input input signal into a digital signal.
  • An input digital signal from an external source is converted into a digital signal having a predetermined sampling frequency and a predetermined number of quantization bits by a sampling rate converter (SRC) and input.
  • SRC sampling rate converter
  • the input / output I / F 115 is an interface for connecting an external device.
  • the input / output I / F 115 can be connected to a device connected by a connection mode such as USB or IEEE 1394. Is performed.
  • Flash memory is a form of electrically erasable non-volatile memory called EPROM (Electrically Erasable Programmable ROM).
  • EPROM Electrically Erasable Programmable ROM
  • Conventional EEPROMs have a large area occupied by one bit because one bit is composed of two transistors, and there is a limit to increasing the degree of integration. This has made it possible to implement one bit with one transistor.
  • the information storage device 200 having such a flash memory is attached to an information processing device such as a PC, a PDA, or a digital camera, and stores data input from the information processing device in the memory unit 220. Also, it outputs the data stored in the memory unit 220 to the information processing device.
  • an information processing device such as a PC, a PDA, or a digital camera
  • the information storage device 200 further has a control unit 210, and the control unit 210 is executed by a CPU (Central Processing Unit) 211 and a CPU 211 as processors for executing various programs.
  • ROM ReadOnlyMemory
  • ROM ReadOnlyMemory
  • RAM Random Access Memory 2 13
  • a RAM (Random Access Memory) 2 13 is a state value of a wake-up state which is changed by a wake-up process as a process of restricting access to an information storage device and a wake-up process which will be described in detail later. Also used as data storage area.
  • the control unit 210 further functions as a device interface 2 14 as an interface for data input / output between the information processing devices, and as a data input / output interface with the memory unit 220.
  • Memory interface 2 16 Memory interface 2 16.
  • the CPU 211 includes various types of processing including a hash value calculation in an hacking process as an access restriction process, an unhinging process, a random number generation, and the like, which are performed with an information processing device described in detail later. Executes control for encryption processing, command transmission / reception, etc. I do.
  • a process for enabling access restriction to a memory section (memory section 220 in FIG. 3) constituted by a flash memory or the like, which is a data storage area for contents of the information storage device 320 such as a memory card, is described.
  • the process to release the access restriction is called the unlock process. It is the host device 310 that executes the hacking process and the hacking process.
  • the host device 310 has an interface for executing data transfer with the information storage device 320 such as a memory device, and the information storage device. It includes an information processing device such as a PC, a PDA, a digital camera, and a DSC (Digital Still Camera) that uses data by writing data to the 320 or reading data from the information storage device 320. Furthermore, the host device 310 also includes a lock / unlock device 312 as a device dedicated to performing a lock process / unlock process for the information storage device 320 such as a memory card.
  • a lock / unlock device 312 as a device dedicated to performing a lock process / unlock process for the information storage device 320 such as a memory card.
  • the lock / unlock device 3 1 2 has a CPU as a control means for executing the lock / unlock processing algorithm, a ROM and a RAM as a data storage memory, and further includes information such as a memory card. It has an interface for mounting the storage device 320 and transferring data, and is configured as a device dedicated to lock processing and unlock processing for the information storage device 320.
  • a device that performs a hacking process and an undocking process on the information storage device 320 that is, a PC, a PDA and other information processing devices, and a lock and unlock device 3
  • the host device including 1 and 2 is called.
  • the memory 315 such as ROM in the host device stores an identifier unique to each host device. ID (for example, 16-byte data) and a lock key (LK) (for example, 8-byte data) as key data to be applied to the hacking process and the hacking process.
  • ID for example, 16-byte data
  • LK lock key
  • the set (ID, LK) of the unique identifier (ID) of each host device and the lock key (LK) of the host device is called a key set.
  • a lock master key is stored in a memory 325 such as a ROM in a control unit in an information storage device 320 such as a memory card.
  • LTK lock master key
  • the master key (LMK) stored in the information storage device 320, the ID stored in the host device, and the lock key (LK) have the following relationship.
  • H (X, Y) indicates a hash value calculation process for message Y to which key X is applied. That is, a hash key (LK) corresponding to the ID is obtained by a hash value calculation process applying the lock master key (LMK) to the ID.
  • LK hash key
  • LLMK lock master key
  • the hash function is a one-way function, and it is very difficult to find the input from the output.
  • a one-way function is applied to the ID unique to each host device using the LMK as a key, and the output is output to the lock key corresponding to the ID unique to each host device.
  • LK LMK
  • MD5, SHA, etc. can be applied as the hash algorithm.
  • FIG. 5 shows a processing sequence diagram executed between the host device and the information storage device in the hacking process.
  • the host device and the information storage device are connected to each other so that data can be transferred.
  • the host device outputs a random number generation command to the information storage device.
  • the information storage device that has received the random number generation command A random number (Rms), for example, is generated, and the generated random number (Rms) is transmitted to the host device.
  • the information storage device stores the generated random numbers (Rms) in a memory such as a RAM in the control unit.
  • the host device that has received the random number (Rms) from the information storage device performs encryption processing of the received random number (Rms) using the encryption key (LK) stored in advance in the memory of the host device as an encryption key: E ( LK, Rms).
  • E (X, Y) indicates the symbol processing of message [Y] to which key [X] is applied.
  • Various algorithms can be applied to the cryptographic algorithm, for example, the DESS cryptographic algorithm is applied.
  • the host device performs encryption processing of the received random number (Rms) using the encryption key (LK) as an encryption processing key: E (LK, Rms), and as a result, data [E (LK, Rms)] and
  • the host device transmits an identifier (ID) unique to the host device, which is stored in a memory in the host device in advance, together with the lock command to the information storage device.
  • the lock key (LK) corresponding to the received ID is calculated.
  • the received ID is stored and retained in its own memory.
  • the received ID is used in the unlocking process described later.
  • the information storage device executes a signal processing: E (LK, Rms) using the lock key (LK) calculated by the above hash value calculation on the random number Rms stored in its own memory. Then, a collation process is performed to determine whether or not it matches the encrypted data: E (LK, Rms) received from the host device.
  • E (LK, Rms) the encrypted data received from the host device.
  • E (LK, Rms) If the data received from the host device: E (LK, Rms) matches the encryption processing data calculated by itself: E (LK, Rms), the valid ID and LK combination data It determines that the request is a hacking process request from the host device that has the data, executes the hacking process, and sends a lock completion notification to the host device.
  • the information storage device stores and holds the key set [ID, LK] of the host device that has executed the lock processing in a memory unit 220 constituted by a non-volatile memory (NVM) such as a flash memory. .
  • NVM non-volatile memory
  • E (LK, Rms) If the data received from the host device: E (LK, Rms) does not match the symbol processing data calculated by itself: E (LK, Rms), it has a valid ID and LK pair data. It determines that the device is not the host device, determines that the request is for a hacking process from an unauthorized device, and sends an error notification to the host device without performing the hacking process.
  • a memory unit memory unit 220 in FIG. 3 constituted by a flash memory or the like which is a data storage area for contents and the like will be described below. This is a process in which execution of the unlock process is permitted as a condition.
  • step S101 the memory card as the information storage device generates a random number (R sm) based on the reception of the random number generation request command from the host device.
  • the generated random number is read out by the host device in step S102, and in step S103, the ID of the host device and the random number (Rms) are transmitted along with the lock command together with the lock key (LKM) of the host device.
  • E (LK, Rms) is transmitted to a memory card as an information storage device.
  • step S104 the memory card writes the received ID and the encrypted data: E (LK, Rms) to the memory in the information storage device.
  • step S105 the memory card calculates the hash value of the received ID by applying the master key (LMK) stored in its own memory, that is,
  • the memory card executes an encryption process of the random number (Rms) generated in step S101 beforehand, and performs an encryption process.
  • Data: E (LK, Rms) is calculated as collation data.
  • the host device determines that the device is a legitimate device having a paired data of a valid correct ID and a lock key (LK), and in step S107, the host device determines that the device is valid.
  • the acknowledgment process that is, the setting to enable access to the memory is performed on condition that the undocking process described later succeeds.
  • the information storage device stores the key set [ID, LK] of the host device that has executed the lock processing in a memory section 220 constituted by a non-volatile memory (NVM) such as a flash memory.
  • NVM non-volatile memory
  • step S108 the host device that has transmitted the lock command transmits the correct ID and the lock key (LK). Judgment is made that the unauthorized device does not have the set data, and the error notification is sent to the host device without performing the hack process.
  • FIG. 7 shows a processing sequence diagram executed between the host device and the information storage device in the unlocking process.
  • the host device and the information storage device are connected to each other so that data can be transferred.
  • the host device outputs a random number generation command to the information storage device.
  • the information storage device that has received the random number generation command executes a process of generating a predetermined length, for example, a 16-byte random number (Rms), and generates the generated random number (Rms). ms), and the ID of the host device stored in the memory at the time of the previous hack process, that is, the ID of the host device that has performed the hack process, is transmitted to the host device.
  • the information storage device stores the generated random numbers (Rnis) in a memory such as a RAM in the control unit.
  • the host device that has received the ID and the random number (Rms) from the information storage device first determines whether or not the received ID matches its own ID. If they do not match, it means that another host device is executing the hack, and the hack cannot be released.
  • the host device executes the encryption process of the received random number (Rms) using the lock key (LK) stored in the memory in the host device in advance as the encryption process key: E (LK, Rms). Then, the result data is transmitted to the information storage device together with the unlock command.
  • the information storage device Upon receiving the encrypted data: E (LK, Rms), the information storage device first reads the host device ID stored in its own memory, that is, the ID of the host device that has executed the hack process, A lock key (LK) corresponding to the ID of the host device that executed the lock process is calculated by a hash value calculation process that applies a lock master key (LMK) to the read ID. That is,
  • LK lip key
  • the information storage device executes a symbol processing: E (LK, Rms) on the random number Rms stored in its own memory, by applying the hack key (LK) obtained by the above-described hash value calculation. Then, a collation process is performed to determine whether or not it matches the encrypted data: E (LK, Rms) received from the host device.
  • E (LK, Rms) matches the encryption processing data calculated by itself: E (LK, Rms)
  • the host determines that the request is an unlocking process request from the device, executes the unlocking process, and sends an unlock completion notification to the host device. Place of disagreement In this case, it is determined that the host device does not have a valid ID and LK pair data, it is determined that the request is for an unlocking process from an unauthorized device, and an error notification is sent without performing the unlocking process. Send to device.
  • the unlocking process executed by the information storage device means the cancellation of the hacking process
  • a memory unit (a memory unit 22 in FIG. 3) constituted by a flash memory or the like which is a data storage area for contents and the like. This is a process for setting to permit access to (0).
  • step S201 a random number (Rsm) is generated based on the memory card power as an information storage device and the reception of a random number generation request command from the host device.
  • step S202 the generated random number is read by the host device together with the ID of the host device that has performed the hacking process earlier. When the ID read from the memory card and the host ID of the host device match, the host device determines that unlocking is possible.
  • step S203 the host device receives the unlock command and the received random number (Rms). Is encrypted with the lock key (LK) of the host device: E (LK, Rms) is transmitted to the memory card as the information storage device.
  • LK lock key
  • step S204 the memory card writes the received encrypted data: E (LK, Rms) into the memory in the information storage device.
  • the memory card reads the ID of the host device that executed the hacking process stored in the memory at the time of the previous hacking process, and compares the read ID with its own memory.
  • the hash value is calculated by applying the master key (LMK) stored in the
  • the memory card executes the encryption processing of the random number (Rms) generated in step S201 based on the calculated lock key (LK), and obtains the encrypted data: E (LK, Rms) is calculated as collation data.
  • the host device determines that the device is a legitimate device having a paired data of a legitimate ID and a lock key (LK). Performs the undocking process in response to the wake-up command, that is, the setting that enables access to the memory.
  • the host device that has transmitted the unlock command executes the lock processing. It determines that the host device does not have the correct ID and lock key (LK) data, and sends an error notification to the host device without performing the unlocking process, that is, unlocking.
  • the above-mentioned hacking process and undocking process are executed as processes corresponding to the information storage device for each host device, and only the host device that has executed the hacking process can perform the undocking process.
  • This is a configuration example. However, if multiple host devices In a configuration that uses an information storage device (memory card), you want to use an information storage device (memory card) that stores and locks data in one host device (device A) with another host device (device B). Such a situation occurs.
  • a process for enabling access restriction to a memory section (memory section 220 in FIG. 3) constituted by a flash memory or the like, which is a data storage area of information storage device 520 such as a memory card, is used.
  • the process of releasing the access restriction is called the unlock process. This is the same as the above-described processing example.
  • the host device 5100 performs the wake-up process and the undocking process.
  • the host device 5100 has an interface for executing data transfer with the information storage device 5200 such as a memory device, and the information storage device.
  • the information storage device 5200 such as a memory device
  • the information storage device Includes information processing devices such as PCs, PDAs, digital cameras, and DSCs (Digital Still Cameras) that perform data use by writing data to or reading data from the information storage device.
  • IDs for example, 16-byte data
  • key data to be applied to the hacking process and the hacking process are stored.
  • Lock key (LK s) (for example, 8-byte data) is stored.
  • IDs and LKs are sets of data corresponding to IDs and LKs in the above-described processing example, and can be applied to the same mouthpiece processing and the same mouthpiece processing as the above-described processing.
  • ID s and LK s are the primary ID and primary lock key.
  • IDs and LKs are used in one-to-one correspondence between host devices and information storage devices, and in the same way as in the LMK application process described above. Applicable for processing.
  • This lock process using the primary key set: [ID s, LK s] is called the standard lock process.
  • the information processing device as the host device sends a standard lock command to the information storage device.
  • the output will execute the standard lock, and the output of the unlock command will execute the unlock process.
  • This subkey set: [ID en, LK en] is a key that can be stored in common in multiple host devices, and the sub key set stored in another host device by the processing procedure described below: [ID en, LK en] en, LK en] can be copied and stored in another host device via the information storage device.
  • Sub key set Applying [ID en, LK en] to execute the hacking process on the information storage device (memory card), the sub key set applied to the hacking process is stored in the information storage device (memory card).
  • a process that allows copying and output to another host device via) is referred to as an export process.
  • This sub-keyset Lock processing using [ID en, LK en] is called export processing, and an export rotter command is output from the information processing device as the host device to the information storage device. As a result, the export lock is executed, and the unlock process is executed by the output of the unlock command.
  • the sub-keyset obtained by the host device from the information storage device (memory card) that was exported is: [ID en, LK en] is the host device. It becomes possible to write to the memory inside.
  • This copy processing of the subkey set is called an imprint processing.
  • a group consisting of a plurality of host devices having the same supkey set: [ID en, LK en] is formed.
  • the sub key set: [ID en, LK en] is a key set that can be applied to the external lock process, that is, the export (export) lock process. And [e].
  • n in [en] indicates the subkeyset number, which corresponds to the set number of groups.
  • Each host device can store multiple different subkey sets.
  • sub key set 1 [ID el, LK e 1] is transferred from three host devices, PC (Personal Computer; -a, PC-b, PDA (Personal Digital Assistants) a), as host devices.
  • PC Personal Computer
  • -a Personal Computer
  • PC-b Personal Digital Assistants
  • PDA Personal Digital Assistants
  • set sub key set 2 [ID e 2, LK e 2] to the shared sub key set of the group PC-a, PDA-a.
  • each host device stores the primary key set [IDs, LKs] consisting of the primary ID (IDs) and primary lock key (LKs) in the memory.
  • P C—a is [I D e l, L K e 1], [I D e 2, L K e 2]
  • P C—b is [I D e l, L K e 1]
  • PDA—a is [IDel, LKe1], [IDe2, LKe2]
  • PDA-b is [IDe2, LKe2]
  • a subkey set consisting of each sub-ID and sub-keys is stored.
  • a sub-keyset consisting of a set of these sub-IDs and a sublock key: [ID en, LK en] is written in its own memory 515 to form a host device group consisting of one or more host devices.
  • the members of group n can apply the common sub ID (ID n) and common sub lock key (LKn) to one information storage device (memory card). versus Locking and unlocking can be performed.
  • a memory master such as a ROM in a control unit in the information storage device such as a memory card stores a master key (LMK).
  • LK master key
  • ID including ID s and ID en
  • LK lock key
  • the correspondence between the lock master key (LMK) and the ID and LK is exactly the same as the above-described processing of applying the LM K.
  • the hash value calculation processing that applies the lock master key LMK to the primary ID (ID s) Then, the primary lock key (LK s) is calculated, and the sublock key (LK en) is calculated by a hash value calculation process using the master key LMK for the sub ID (ID en).
  • a primary key set [ID s, LK s] 531 consisting of a primary ID (ID s) unique to each host device 501 and a primary lock key (LK s), is applied. This is the standard lock process.
  • Standard lock processing using 511 is executed by outputting a standard lock command from the host device 510 to the information storage device 520.
  • the unlocking process is executed by the output of the unlocking command.
  • the primary key set [ID s, LK s] is stored in the standard lock key set storage area 541 of the storage section (flash memory) of the lock information storage device (memory card) 520 Is stored.
  • the primary key set [IDs, LKs] applied to the standard lock is not output from the lock information storage device (memory card) 520 to the outside.
  • the unlocking (unlocking) process can be executed It is the only host device that has the same primary key set [IDs, LKs], that is, the only host device that has performed the standard lock processing.
  • the primary key set [IDs, LKs] consisting of the primary ID (IDs) and the primary lock key (LKs) is a one-to-one correspondence between the host device and the information storage device, just like the LMK application process described above.
  • the present invention can be applied to the lip-lock processing and the lip-lock processing, and the lip-lock processing and the unlock processing in the same processing as the processing described with reference to FIGS. 5 to 8 can be performed.
  • (b) shows an export lock process in which a sub-key set [ID en, LK en] 532 comprising a sub-ID (ID en) that can be shared by a plurality of host devices and a sub-lock key (LK en) is applied. is there.
  • the export lock processing to which the subkey set [ID en, LK en] 5 32 is applied is executed by outputting an export lock command from the host device 5 10 to the information storage device 5 20.
  • the unlock processing is executed by the output of.
  • the sub-key set [ID en, LK en] is stored in the export lock key set storage area 542 of the storage section (flash memory) of the lock information storage device (memory card). ] Is stored.
  • the sub-key set [ID en, LK en] applied to the export lotter is executed by the other host device by executing the mount processing described in detail later. It can be obtained from the storage device (memory card) 520.
  • unlocking (unlocking) processing can be executed only for the host device that executed the lock processing and the subkey set applied to the export lock by the imprint processing. This is the host device that has obtained [ID en, LK e ⁇ ].
  • (c) is a standard to which a subkey set [ID en, LK en] 532 consisting of a sub ID (ID en) that can be shared by each host device 501 and a sub lock key (LK en) is applied.
  • Lock processing This process is called a group process.
  • a standard lock command is output from the host device 5 10 to the information storage device 5 20.
  • the unlocking process is executed by the output of the unlock command.
  • the key set applied in this process is the sub key set [ID en, LK en] 532.
  • the key set to be applied is the subkey set [IDen, LKen] 532.
  • the sub key set [ID en, LK en] is stored in the standard lock key set storage area 541 of the storage section (flash memory) of the lock information storage device (memory card) 520. Is stored.
  • the sub key set [ID en, LK en] applied to the group lock is stored in the standard lock key set storage area 541, so that the lock information storage device (memory) No output is made from the card (520).
  • the host device that has the same subkey set [IDen, LKen] can execute this group unlocking (unlocking) process.
  • this case not only the host device that executed the group hack, but also the host device that has already obtained the same sub key set [IDen, LKen] in advance.
  • an export lock process using the same subkey set [IDen, LKen] is performed in advance, and the same subkeyset [IDen, LKen] is imprinted when the export lock process is executed. ], And the host device stored in the memory can be unlocked.
  • the sequence of the lock process and unlock process in the standard lock using the supkey set [ID en, LK en], that is, the gnore lock is the same sequence as the LMK application process described above (see FIGS. 5 to 8). . However, the difference is that there can be more than one host device that can execute lip-locking depending on the implementation process.
  • sub ID en sub port that can be shared by multiple host devices Lock key (LK en), ie, a hacking process using the sub key set [ID en, LK en], and a sub key set [ID en, LK en] for the host device via the information storage device (memory card)
  • Lock key ie, a hacking process using the sub key set [ID en, LK en]
  • sub key set [ID en, LK en] sub key set for the host device via the information storage device (memory card)
  • copy storage processing in-print processing
  • unlock processing for releasing the export lock.
  • the sub-keyset: [ID en, LK en] is applied to the information storage device (memory card), and the sub-key set applied to the information processing device (memory card) is processed. This enables export lock processing that enables copy output to other host devices via.
  • FIG. 11 shows a processing sequence diagram executed between the host device and the information storage device in the hacking process based on the subkey set.
  • the host device and the information storage device are connected to each other so that data can be transferred.
  • the information storage device has an acknowledgment status flag 551 shown in FIG. 11 and holds a value indicating a locked state in the information storage device.
  • the upper NVM is a flag stored in an NVM (Non-Volatile Memory) area of the memory unit 220 constituted by the flash memory and the like described in FIG. 3, and the lower NVM is a flag stored in the control unit 210.
  • NVM Non-Volatile Memory
  • the control unit 210 are stored in the RAM 2 13 of the RAM.
  • the flag in the RAM is erased, but the flag data of the NVM is maintained. Therefore, the flag data is copied to the NVM in response to the rewriting of the flag in the RAM, and when the power is turned on after the power is turned off, the flag information of the NVM is copied to the RAM.
  • SL is the standard lock
  • EL is the export lock
  • 1 indicates the locked state
  • 0 indicates the unlocked state.
  • the standard lock is a lock mode in which the external output of the key set [ID, LK] applied to the lock is not allowed.
  • the export lock is applied to the lock. This is a lock mode in which the external output of the key set [ID, LK] is recognized.
  • the information storage device (memory card) has a data storage area in the memory (flash memory (NVM)) for storing the key set applied to the standard lock and the key set applied to the export lock.
  • flash memory flash memory
  • the host device In this initial state, first, the host device outputs a random number generation command to the information storage device.
  • the information storage device that has received the random number generation command executes a process of generating a random number (Rms) of a predetermined length, for example, 16 bytes, and transmits the generated random number (Rms) to the host device.
  • the information storage device stores the generated random numbers (Rms) in a memory such as a RAM in the control unit.
  • the host device Upon receiving the random number (Rms) from the information storage device, the host device encrypts the received random number (Rms) using the sub-key (LKen) stored in the memory of the host device in advance as a ⁇ signal processing key. : Executes E (LK en, Rms).
  • Various algorithms can be applied to the cryptographic processing algorithm. For example, the DESSII processing algorithm is applied.
  • the host device executes symbol processing of the received random number (Rms) using the sub-key (LKen) as an encryption processing key: E (LKen, Rms), and executes the resulting data [E (LKen, Rm). s)], and the sub-ID (ID en) as combined data corresponding to the sublock key (LK en) stored in the memory of the host device in advance, together with the lock command.
  • Rms received random number
  • LKen sub-key
  • E LKen, Rms
  • ID en sub-ID
  • the information storage device that has received the ID en, E (LK en, Rms) first sends the received master ID (LMK) stored in its own memory to the received sub ID (ID en).
  • the sub-hook key (LKen) corresponding to the reception server ID (ID en) is calculated by the applied hash value calculation processing. sand
  • the sap lock key (LK e ⁇ ) corresponding to the reception sub ID (IDen) is calculated.
  • the reception sub ID (IDen) is stored and held in its own memory.
  • the reception sub ID (IDen) is used at the time of unpacking processing described later.
  • the information storage device performs a cryptographic process of applying the sub-key (LKen) obtained by the above-described hash value calculation to the random number Rms stored in its own memory: E (LKen, Rms) Is executed, and a collation process is performed to determine whether or not it matches the cryptographic process data received from the host device: E (LKen, Rms).
  • E (LKen, Rms) the cryptographic process data received from the host device.
  • E (LKen, Rms) and the signal processing data calculated by itself match E (LKen, Rms)
  • a valid sub-ID (ID en) is obtained. It determines that the request is a process request from a legitimate host device that has a set of sub-lock key (LKen), executes the export process, and sends a lock completion notification to the host device. In the case of a mismatch, it is determined that the host device does not have a pair data of a valid sub-ID (ID en) and a sub-key (LK en). An error notification is transmitted to the host device without performing the hack process.
  • LKen sub-lock key
  • the export lock process executed by the information storage device is performed by accessing a memory unit (memory unit 220 in FIG. 3) constituted by a flash memory or the like, which is a data storage area for contents, etc. This is a setting that allows the unlocking process with the sublock key applied as a condition.
  • the export key set applied to the export lock: [ID en, LK en] Store it in the export lock key set storage area of the memory section (flash memory (NVM)) of the storage device (memory card). Further, the lock status flag is rewritten.
  • the subkey stored in the set storage area can be output to another host device by an imprint process described later.
  • step S301 the memory card as the information storage device generates a random number (R sm) based on the reception of the random number generation request command from the host device.
  • the generated random number is read by the host device in step S302, and the sub-ID (ID en) stored in the storage unit of the host device together with the lock command in step S303.
  • the received random number (Rms) is encrypted with the suplock key (LKen) stored in the storage unit of the host device, and data: E (LKen, Rms) is generated.
  • Concatenated data: ID en, E (LK en, R ms) are transmitted to the memory card as the information storage device.
  • step S304 the memory card writes the received sub ID (IDen) and the encrypted data: E (LKen, Rms) to the memory in the information storage device.
  • step S305 the memory card applies the master key (LMK) stored in its own memory to calculate the hash value of the reception sub ID (IDen), that is,
  • H (LMK, ID en) LK en To calculate the suplock key (LK en) corresponding to the reception sub ID (ID en).
  • the memory card executes an encryption process of the random number (Rms) generated in step S301 before to obtain an encrypted data: E (LKen). , Rm s) is calculated as the collation data.
  • step S 306 the lock command is issued in step S 308.
  • the host device that has sent the password determines that the device is unauthorized and does not have the correct sub-ID (ID en) and sub-key (LK en) paired data, does not perform the packet processing, and returns an error. Send a notification to the host device.
  • the information storage device on which the export lock has been performed uses the same subkey set [IDen] as the paired data of the sub-ID (ID en) and the sub-key (LK en) that performed the lock processing , LK en] can be unlocked by the same procedure as the unlocking process described in [Processing based on Lock Master Key (LMK)] above. Becomes In other words, unlocking is possible by replacing the applicable ID and lock key with the sub ID (ID en) and sub lock key (LK en).
  • a host device that has a primary key set [ID s, LK s] as a set of a valid primary ID (ID s) and a primary lock key (LK s) is stored in an information storage device with an export lock. It is possible to obtain the subkey set [ID en, LK en] from the information storage device, and to apply the obtained sub key set [ID en, LK en] to release the lock. Become. Acquisition of the subkey set [IDen, LKen] via the information storage device is called imprint processing.
  • the mouth state is set based on a certain subkey set [ID en, LK en], and the mouth state in which the sub key set [ID en, LK en] can be output to another host device is exported. It is referred to as a lip lock state.
  • the host device obtains (imprints) the subkey set [ID en, LK en] applied to the eta-spot lock process from the information storage device in the export port state, thereby obtaining the same sub key set [ID en, LK en]. It becomes a member of a group composed of multiple host devices that have [ID en, LK en], and can then release the lock by applying the obtained subkey set [ID en, LK en].
  • imprint and unlock processing (unlock processing)
  • a sap key set consisting of a sap lock key (LK en) and a sub ID (ID en) [ID en, LK en] from an information storage device that has been hacked by the export hack process described above. And the port of the information storage device that has been The unlocking process for releasing the lock will be described.
  • FIG. 13 shows a processing sequence diagram of imprint processing and unlock processing executed between the host device and the information storage device.
  • the host device and the information storage device are connected to each other so that data can be transferred therebetween.
  • the host device does not have the sub key set [ID en, LK en] including the sub ID (ID en) applied to the export lock on the information storage device and the sublock key (LK en), and the information storage device Stores the subkey set [ID en, LK en] in the export key storage area.
  • the information storage device is in a so-called export lock state.
  • the host device outputs a random number generation command to the information storage device.
  • the information storage device that has received the random number generation command executes a process of generating a predetermined length, for example, a 16-byte random number (Rms), and stores the generated random number (Rms) in the memory at the time of the previous export port process.
  • the stored sub ID (ID en) that is, the sub ID (ID en) in the sub key set [ID en, LK en] applied to the export lock processing is transmitted to the host device.
  • the information storage device stores the generated random numbers (Rms) in a memory such as a RAM in the control unit.
  • the host device Upon receiving the sub ID (ID en) and the random number (Rms) from the information storage device, the host device first determines whether the received sub ID (ID en) matches its own primary ID (ID s). judge. If they match, unlocking using the same primary lock key (LK s) as in the LMK application process (see Fig. 7) is possible.
  • ID s its own primary ID
  • LK s primary lock key
  • the receiving sub-ID (ID en) does not match its own primary ID (ID s), it means that another host device has performed hacking, but this receiving sub-ID (ID en) has not been executed. ) And obtain the lock key (LK en)
  • imprint processing it is possible to belong to the same group as the other host device that executed the export lock using the sub key set [ID en, LK en] Becomes In other words, by executing imprint processing, a sub ID (ID en) and a sub lock key (LK en) are respectively obtained, and a sub key set [ID en, LK en] is stored in its own memory as a set of these data.
  • the host device stores the sub ID (ID en) received from the information storage device in the memory.
  • the host device that executes the imprint processing then performs encryption processing of the received random number (Rm s) using the primary lock key (LK s) stored in the memory in the host device in advance as a code processing key: E (LK s, R ms) is executed, and the result data and the primary ID (ID s) are transmitted to the information storage device together with the standard lock command.
  • this lock process is a process of applying a standard lock with the primary lock key (LK s) to the information storage device that has already been exported with the sub lock key (LK en). Called processing.
  • the information storage device that has received the primary ID (ID s) and the encrypted data: E (LK s, Rms) from the host device first sends a lock master key (LMK) to the received primary ID (ID s). ) Is applied to calculate the primary key (LK s) corresponding to the primary ID (ID s). That is,
  • LK s primary lock key corresponding to the primary ID (ID s) is calculated.
  • the information storage device applies the primary lock key (LK s) obtained by the above-described hash value calculation to the random number Rms stored in its own memory.
  • E (LKs, Rms) If the data received from the host device: E (LKs, Rms) does not match the signal processing data calculated by itself: E (LKs, Rms), a valid legitimate ID (IDs) It is determined that the host device does not have the primary key set [ID s, LK s] as the primary lock key (LK s) group data, and that it is an over-hook processing request from an unauthorized device. Then, an error notification is sent to the host device without performing the over-snap processing.
  • the over-hook processing executed by the information storage device is a state in which the standard lock is further superimposed on the export lotter status, and the acknowledgment status flag of the information storage device is as shown in the figure.
  • EL 1, which indicates that the export lock is valid, is set in the NVM and RAM, respectively
  • SL 1, which indicates the state in which the standard lock is valid, is set in the RAM due to overlock processing. .
  • the flag information set in RAM is copied to NVM before the power is turned off.
  • the host device that has received the over-hook completion notification shall continue the implementation process and the wake-up release.
  • the host device transmits the random number utterance command to the information storage device again.
  • the information storage device that has received the random number generation command newly performs a process of generating a second random number (Rms2)
  • the information storage device stores the generated random number (Rms2) in a memory such as a RAM in the control unit.
  • the host device that has received the data: IDs, Rms2, IDen, E (LKs, LKen) from the information storage device first stores the encrypted data: E (LKs, LKen) in its own memory. Decrypt by applying the stored primary lock key (LK s) and obtain the sub lock key (LK en). This is the sub-key (LKen) corresponding to the previously acquired sub ID (IDen), and stores the acquired sub-key set [IDen, LKen] in the memory. By this imprinting procedure, the host device can belong to the group No. n.
  • the host device continues the unlocking process of the information storage device.
  • the host device obtains information based on the sub-lock key (LK en) obtained by decrypting the encrypted data received from the information storage device: E (LK s, LK en) using the primary lock key (LK s).
  • the encryption processing of the random number (Rms2) received from the storage device is executed, and encrypted data: E (LKen, Rms2) is generated and transmitted to the information storage device together with the unlock command.
  • the information storage device that has received the encrypted data: E (LK e ⁇ , Rms 2) from the host device together with the unlock command first transmits the sub-ID (ID en) stored in its own memory to the information storage device.
  • the sub-key (LK en) corresponding to the sub-ID (ID en) is calculated by the knuckle value calculation processing using the LM master key (LMK). That is,
  • the information storage device performs a signal process of applying a suplock key (LKen) obtained by the above hash value calculation to the random number Rms2 stored in its own memory: E (LKen, Rms2) ), And performs the matching process to determine whether or not it matches the symbol processing data received from the host device: E (LKen, Rms2). If the data received from the host device: E (LK en, Rms 2) matches the encryption processing data calculated by itself: E (LK en, Rms 2), a valid sub-ID (ID en) And release the lock from the host device that has the data of the pair of sub-keys (LKen), that is, determine that the request is an unlock process, execute the unlock process, and send an unlock completion notification to the host device. To send.
  • LKen suplock key
  • E (LKen, Rms2) does not match the encryption processing data calculated by itself: E (LKen, Rms2), a valid sub ID (ID) en) and the sub-key (LK en) as a set of sub-keys [ID en, LK en]. Judge, and send an error notification to the host device without performing the unlock process.
  • the lock status flag change sequence first, the storage flag of the RAM in the control unit is rewritten, and then, for example, the flag information in the RAM is copied to the NVM before the power-off is executed as appropriate, and the power is turned on again. Sometimes, this is a sequence in which the NVM flag information is copied to the RAM, and the control unit executes an access restriction process based on the RAM flag information.
  • the information storage device locked by the export lock process performs the sublock key operation.
  • step S401 the memory card as the information storage device generates a random number (R sm) based on the reception of the random number generation request command from the host device.
  • step S402 the generated random number is The host device that has executed the processing transmits the information to the information storage device, and is read by the host device together with the sub ID (ID en) stored in the exporter key set storage area of the memory unit of the information storage device. At this point, the host device acquires the sub ID (ID en) in the sub key set [ID en, LK en]. The host device confirms that the sub ID (ID en) read from the memory card and its own primary ID (ID s) do not match, so that the information storage device is not in the standard It is determined that it is in the state.
  • step S403 the host device encrypts the received random number (Rms) with the primary lock key (LKs) of the host device, together with the standard lock command as an overhook.
  • Digitized data: E (LKs, Rms) and its own primary ID (IDs) are transmitted to a memory card as an information storage device.
  • step S404 the information storage device (memory card) stores the primary ID (IDs) received from the host device and the encrypted data: E (LKs, Rms) in the memory in the information storage device.
  • E LKs, Rms
  • the memory card executes encryption processing of the random number (Rms) generated in step S401 first, and obtains encrypted data: E ( LK s, Rms) are calculated as collation data.
  • the memory device sends the encrypted data calculated in step S405: E (LKs, Rms) and the host device together with the standard lock command in step S403.
  • E (LKs, Rms) E (LKs, Rms) ? ].
  • the host device determines that the It is determined that the device is a legitimate device that has the primary key set [IDs, LKs] as the set data of the primary ID (IDs) and the primary lock key (LKs).
  • step S 406 determines whether the two values are not equal in step S 406. If it is determined in step S 406 that the two values are not equal in step S 406, the host device that has transmitted the standard lock command in step S 408 sets the valid primary ID (IDs ) And the primary lock key (LK s), it is determined that the host device does not have the primary key set [ID s, LK s] as a set of data. Send to host device.
  • IDs primary ID
  • LK s primary lock key
  • Standard lock is performed as an over-lock process in step S407, and further.
  • the process proceeds to step S501 in FIG.
  • the host device that has received the overlock completion notification transmits the random number generation command to the information storage device again, and the information storage device that has received the random number generation command renews the second random number command in step S501. (Rms 2) generation processing is executed. In step S502, the host device
  • IDs Primary ID
  • IDen sub ID
  • step S503 the host device determines whether or not the Send an unlock command as a removal request.
  • the host device transmits the unlocked command together with the encrypted data E (LK en, R ms 2).
  • the method of generating the encrypted data E (LKen, Rms2) follows the following procedure.
  • step S502 the host device that has read the data: IDs, Rms2, IDen, E (LKs, LKen) from the information storage device firstly encrypts the data: E (LKs, LKs, LKen).
  • LK en) is decrypted by applying the primary lock key (LK s) stored in its own memory to obtain a sublock key (LK en).
  • the host device performs an encryption process on the random number (Rms2) received from the information storage device based on the sub-key (LKen), and obtains encrypted data: E (LKen, Rms2). ) Is generated.
  • the host device stores the obtained subkey set: [IDen, LKen] in the memory, and the implementation process is completed. That is, this host device belongs to the group No. n by the implementation process.
  • step S504 the information storage device that has received the encrypted data: E (LKEn, Rms2) from the host device writes the received data: E (LKEn, Rms2) to the memory. Further, in step S505, calculation of collation data is executed.
  • the process of calculating the data for collation is performed in the following procedure.
  • the sub ID (ID en) stored in its own memory is hashed by applying the lock master key (LMK) to the sub ID key (LK en) corresponding to the sub ID (ID en). Is calculated. That is,
  • the sub-key (LK en) corresponding to the sub ID (ID en) is calculated. Further, for the random number Rms2 generated in step S501 and stored in the memory, an encryption process using the sub-key (LKen) obtained by the above hash value calculation: E (LKen, Rm Execute s 2) to generate collation data.
  • the information storage device stores the collation data: E (LKen, Rms2) and the encryption processing data: E (LKen, Rm) received from the host device. s Perform collation processing to see if it matches 2).
  • step S507 If the data received from the host device: E (LKen, Rms2) matches the encryption processing data calculated by itself: E (LKen, Rms2), a valid sub-ID (IDen ) And the release of the lock from the host device having the subkey set [ID en, LK en] as the set data of the sub-key (LK en) It is determined that there is, and the process advances to step S507 to execute an unlock process, and transmits an unlock completion notification to the host device. In the case of a mismatch, it is determined that the host device does not have a valid subkey set [ID en, LK en], that the request is an unlocking process request from an unauthorized device, and that the unlocking process is not performed. In S508, an error notification is transmitted to the host device.
  • a plurality of host devices have a common subkey set [ID e ⁇ , LK en], and a lock and unlock using one information storage device (memory card) are not possible. It becomes possible. Also, the subkey set [ID en, LK en] can be copied and stored in another host device via the information storage device by executing the export lotter, and flexible group formation is possible. Become. In addition, a copy of the subkey set [ID en, LK en] to the host device. Since it is a condition that lock processing can be performed, copying (imprinting) of the subkey set [ID en, LK en] to unauthorized devices can be prevented.
  • the subkey set [ID en, LK en] is stored in the standard lock key storage area (see Fig. 10) of the information storage device, and is copied to another host device. Is not done. In other words, only the host device that has already acquired the same supkey set [ID en, LK en] can be accessed by normal unlock processing without imprint processing. [Lock status flag maintenance configuration]
  • the information storage device unlocked in this way is obtained by an unauthorized third party due to loss, theft, or the like, the memory can be freely accessed. Such a situation is not desirable when storing confidential information.
  • the example described below is made in view of the above-mentioned problem. Even when the host device turns off the power after releasing the export port by the unlocking process, the export port is not required. In this example, the information storage device is allowed to access the memory when the power is turned on again, provided that the export lock is released.
  • the primary ID (IDs) and the primary lock key are stored in the memory such as ROM in the host device, as described earlier with reference to FIG. 9 in the “lock processing configuration in device group”.
  • the primary key set [ID s, LK s] consisting of (LK s) is stored, and the sub key set [ID en, LK] of the sub ID and sub-key that can be applied to the export port processing is also stored.
  • LLMK lock master key
  • Lock processing and unlock processing based on the primary ID (ID s) and primary lock key (LK s) by the host device are executed in the same sequence as described in [Processing based on lip master key (LMK)] above.
  • the lock processing based on the sub ID (ID en) and the sublock key (LK en) is executed by the same sequence as described in the above [Lock processing configuration in device group].
  • the process of maintaining the lock status flag in the imprint and unlock processes in this processing example will be described.
  • the host device obtains a sub key set [ID en, LK en] consisting of a sap lock key (LK en) and a sub ID (ID en) from the information storage device locked by export processing.
  • Fig. 16 shows the imprint process for printing, the unlock process for releasing the lock of the information storage device locked by the export lock process, and the process for maintaining the status flag of the lock executed by the information storage device. This will be described with reference to the following.
  • the sequence diagram shown in FIG. 16 shows the print processing and export lock executed between the host device and the information storage device described above with reference to FIG. 13 in [Lock processing configuration in device group]. This is basically the same as the processing sequence diagram for unlocking the lock, and the processing procedure is also the same.
  • the information processing device executes the NVM flag setting process after the completion notification of the unlocking executed as the final process of the sequence diagram.
  • EL 0 indicating export lock release
  • SL 0 indicating standard lock release.
  • the details of the acknowledgment status flag setting process for the NVM will be described with reference to FIG.
  • the processing flow of FIG. 17 is a flow for explaining the processing procedure in the information storage device after receiving the unlock request (unlock command) in the sequence diagram of FIG. 16 (similar to FIG. 13). .
  • step S601 when the information storage device (memory card) receives a lock release request (unlock command), the information storage device performs verification processing for determining whether or not the unlock command can be executed.
  • step S602 the encrypted data received together with the unlock command from the host device: E (LK en, Rms 2), and the encrypted data generated by itself: E (LK en, R ms 2) is executed. This process is the same as that described in [Hack Processing Configuration in Device Group].
  • step S 607 In an error notification is returned to the host, and the process ends.
  • the memory access can be executed freely, and the host device that has executed the unlock processing is the memory of the information storage device. (The memory unit 220 in FIG. 3) can be accessed.
  • the processing flow in FIG. 18 shows the processing in the case where the power of the information storage device is once turned off and the power supply is turned on again.
  • step S701 when the information storage device (memory card) is switched from the power-off state to the on-state, for example, by being set in the host device, the information storage device returns to the NVM in step S702. Copy the lip status flags (SL, EL) stored in the RAM of the control unit.
  • the control unit executes control according to the status flag of the RAM.
  • step S703 when a memory access request or an unlock command is input from the connected host device, the control unit of the information storage device refers to the RAM status flag in the RAM.
  • step S704 In the processing flow becomes Yes, and the process of step S705, that is, the export port unlocking process (see Figs. 13 to 15) is a condition. Will be performed.
  • the external device is in the export lock (EL) state in which the external output of the key set applicable to the hacking process or the hacking process is permitted. Or a lock state in which external output of a keyset applicable to lock or unlock processing is not allowed. Since the information before the unlock process of the lock status flag, which consists of status information that can determine whether or not the device is in the locked state (SL), is stored in the NVM, the power supply after the power of the information storage device is turned off At the time of re-input, it is possible to faithfully reproduce the lock state before the unlock processing based on the flag stored in the NVM.
  • EL export lock
  • SL locked state
  • the export lock state is maintained, and when the power of the information storage device is turned off and then turned on again, Memory access can be permitted on condition that the lock is released. Therefore, the hacking can be released only when the host device having the valid primary key set [ID s, LK s] executes the predetermined procedure including the above-mentioned over hacking process. Access can be eliminated.
  • the reading of data from the information storage device (memory card) to the host device is monitored by the control unit of the information storage device, and the execution of reading of a predetermined data area (for example, a specific cluster) is used as a trigger.
  • a predetermined data area for example, a specific cluster
  • the reading of data stored in the memory section (memory section 220 in FIG. 2) of the information storage device (memory card) is managed by, for example, a playback management file (PBLIST) generated according to the stored data, and is controlled.
  • the unit reads data from the memory unit (memory unit 220 in FIG. 2) according to the reproduction management file, and outputs the data to the host device.
  • the control unit of the information storage device can monitor the read data. For example, for audio data compressed by ATRAC3, a cluster as a predetermined data unit can be read and monitored as a data unit.
  • audio data compressed by ATRAC 3 consists of a cluster consisting of multiple SUs (sound units) as the smallest data unit, A part is composed of a plurality of clusters.
  • the SU sound unit reduces the audio data of 1024 samples (1024 x 16 bits x 2 channels) obtained at a sampling frequency of 44.1 kHz to approximately 1/10.
  • a cluster is data composed of several SUs (for example, two SUs). If one cluster consists of 42 SUs, one cluster can represent about 1 second of sound.
  • Each cluster is assigned a logical number unique to each cluster, and is managed by the logical number.
  • the control unit 210 (see FIG. 3) of the information storage device can check whether or not a specific cluster has been read based on the logical number. For example, when the output data is a music content, the logical number of one or more clusters corresponding to the intro or rust portion of the music content is extracted as a cluster corresponding to the content and extracted.
  • the cluster logical number thus set is set as registration information corresponding to the content, and is stored together with the memory unit (flash memory) for storing the content.
  • the registration information is temporarily stored in a memory (RAM) in the control unit of the information storage device, and the control unit executes a matching process between the cluster of the read content and the cluster corresponding to the acknowledgment. If the cluster of the same as the logical number of the cluster corresponding to the hack, perform the hack process.
  • Various settings can be made for the lock processing timing, such as the start time of reading of the lock-capable cluster, the end time of reading of the lock-capable cluster, or the end time of reading of the entire content having the clutter-compatible cluster. Yes, a detection process corresponding to the setting is executed, and a lock process is performed based on the detection of the setting condition. If the lock is executed, re-reading must execute the unlock process.
  • step S801 when the power of the information storage device is turned on, in step S802, the acknowledgment status flag stored in the NVM is transmitted to the control unit 210 (see FIG. 3). Copied and stored in RAM213. The control unit executes control according to the status flag of the RAM 2 13.
  • the unlocking process is the same as the process described with reference to FIGS. 7 and 8, for example.
  • the verification process in the information storage device verifies that the host device has a valid primary ID and primary lock key, and if the unlock succeeds (S805: Yes), the step S806 is performed. Proceed to. If unlocking has failed, an error notification is issued to the host device in step S810, and the process ends.
  • step S 807 when data reading from the host device is started, the control unit of the information storage device monitors in step S 807 whether or not there is a preset reading process of the cluster corresponding to the hook. I do.
  • Unlock processing can be performed only by the host device that has the same primary ID (ID s) and primary lock key (LK s) as the one that executed the lock, and the locked information storage device (memory card ) May be used randomly Will be prevented.
  • the lock information is set to be released when the power of the information storage device is turned off, or as described above, the lock status flag is set in the NVM even when the power is turned off, and the lock of the NVM is turned on when the power is turned on again.
  • the configuration may be such that the status flag is copied to the RAM of the control unit, and the locked state before the power is turned off is maintained and reproduced.
  • the same configuration can be applied to the export lock, that is, a configuration in which the export lock is triggered by reading a predetermined data area as a trigger. It is.
  • Fig. 21 shows an example of the configuration of a dedicated device for acknowledgment of acknowledgment with acknowledgment status and various processing switches.
  • a memory device 710 as an information storage device and a device for exclusive use of a lock / unlock device having an interface capable of transferring data are used as lock status indicators.
  • FIG. 21 shows an example of an indicator configuration and a processing request switch configuration of a device for exclusive use of a mouth-stick / un-stick, but as described above, the host device includes information such as a PC and a PDA.
  • Various devices such as a processing device, a digital camera such as a DSC, and a mobile communication terminal are included. In these devices, a command transmission configuration to an information storage device (memory card) via respective input means is possible.
  • FIG. 22 is a flowchart for explaining a hook state reading process executed when an information storage device (memory card) is connected to the host device, for example.
  • the hook state reading process may be executed by a command input by the user, or may be automatically executed when an information storage device (memory card) is connected to the host device.
  • step S901 the lip state is read from the information storage device.
  • This state information is based on the acknowledgment status flag stored in the RAM 2 13 of the control unit 210 (see FIG. 3) of the information storage device described above.
  • step S902 based on the lock state read information, the key corresponding to the lock state
  • the indicators 7 2 1 to 7 2 4 light up. That is, when the standard lock or group lock is executed, the [Locked] indicator 722 indicating the lock state is displayed (lit), and when the export lock is executed, the export is performed. [E— Locked] indicator 7 23 indicating the lock status is displayed (lit), and if not locked, [Un locked] indicator 7 21 1 indicating the unlocked status is displayed (lit). .
  • the lip-locking process is executed based on the input by the process request switches 732 to 732 of FIG.
  • sub-ID (ID en) and sub-key set of sublock key (LK en) [ID en, LK en] are applied to export processing request.
  • the input is performed by the [G_Lock] switch 733.
  • step S911 the locked state of the information storage device (memory card) is detected. If the unlocked state is not established, an error (E RR) is detected in step S914. Perform indicator display. If it is in the unlocked state, in step S912, one of the standard lock process, the export lock process, and the group lock process is executed. Executes the display of the corresponding lock indicator, that is, the [Locked] indicator 72 2 indicating the lock status, or the [E—Locked] indicator 72 3 indicating the export lock status. I do.
  • the unlock process is performed by pressing the unlock request switch 731 in FIG. 21. More executed.
  • the unlock request switch is pressed, first, the state of the information storage device is detected. The state detection is executed based on the acknowledgment status flag of the RAM in the control unit described above. If not in the lip state (step S921: No), an error (ERR) indicator 724 is displayed in step S922.
  • ERR error
  • step S922 of reading the lock state it is determined whether the information storage device is in the export lock state or the standard lock state. Based on the lock status flag described above, it is determined whether it is in the export lock state or the standard lock state. Based on the identification result, the indicators 72 1 to 72 4 corresponding to the lip states shown in FIG. 21 light up.
  • step S922: Yes the imprint and unpacking processes described above with reference to FIGS. 16 and 18 are executed.
  • step S 925 the over-lock processing using the primary ID (ID s) and the primary lock key (LK s) shown in step S 925, the sub-ID (ID en) in step S 9 26, and the sub-lock key (LK en)
  • Print (input storage) processing and furthermore, a mouth release processing in which a sub-ID (ID en) and a sub-mouth key (LK en) are applied in step S927.
  • a lock release indicator 721 is displayed in step S922.
  • step S922 If the lock state is other than the export lock state in step S922, that is, if the lock state is the standard lock state, it is determined in step S922 whether or not the standard lock is performed. If there is a standard lock, an unlock process is executed in step S930.
  • the key set applied to this unlocking process is a primary key set [IDs, LKs] or, in the case of a group lock, a subkeyset [IDen, LKen].
  • a lock release indicator 7 21 is displayed in step S 9 28.
  • step S922 the lock state is other than the etasport lock
  • step S922 If it is determined in step S922 that the lock is not the standard lock, the flow advances to step S931 to display an error (ERR) indicator 7224.
  • ERR error indicator 7224.
  • the series of processes described in the specification can be executed by hardware, software, or a combination of both.
  • a program recording the processing sequence is installed and executed in a memory in a computer built in dedicated hardware, or a general-purpose computer capable of executing various processing. It is possible to install and run the program on a computer.
  • the program can be recorded in a hard disk or ROM (Read Only Memory) as a recording medium in advance.
  • the program is a removable recording medium such as a flexible disk, a CD-ROM (Compact Disk Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disk), a magnetic disk, or a semiconductor memory. Can be stored (recorded) temporarily or permanently.
  • a removable recording medium can be provided as so-called package software.
  • the program can be installed on the computer from a removable recording medium as described above, or transmitted wirelessly from the download site to the computer, or wired to the computer via a network such as a LAN (Local Area Network) or the Internet.
  • the computer can receive the transferred program and install it on a recording medium such as a built-in hard disk.
  • the acknowledgment state data before the undocking process is stored in the storage means, and when the power of the information storage device is turned on after the power is turned off, the hacking state stored in the storage means is stored.
  • Memory access control based on data is reproduced based on data and the memory access control is performed based on the reproduced memory access status.
  • Effective for memory access by a third party due to loss or theft of information storage device Can be prevented.
  • the acknowledgment status information as the acknowledgment state data of the information storage device is stored in the non-volatile memory (NVM) as the first storage means in which the storage information is maintained even after the power is turned off. Then, after the power is turned on again, the acknowledgment status information is copied to the memory in the control unit as the second storage means, and the access control is executed, so that the wake-up state can be maintained even when the power is turned off. In other words, it is possible to prevent memory access due to the loss of the stick information.
  • NVM non-volatile memory
  • the export lock (EL) state as a lock state in which external output of a key set applicable to the lip processing or the lip processing is permitted.
  • the access control is performed based on the status information including the discrimination information on whether or not the external output of the key set is not permitted in the standard lock (SL) state. This makes it possible to perform memory access control in this mode.
  • the key set including the identifier (ID) of the information processing apparatus that has output the unhook request is executed, and the verification is established.
  • the lock release processing based on the unlock request is executed, so that the security condition must be a legitimate host device. Cure memory access control is realized.

Abstract

メモリのロック解除処理としてのアンロック処理に際して、アンロック以前のロック状態を維持し、電源再投入後に再現する装置および方法を提供する。メモリカード等の情報記憶装置において、情報処理装置からのコマンド入力に応じて、メモリのロック解除処理としてのアンロック処理を実行するとともに、アンロック処理前のロック状態データを不揮発性メモリ(NVM)に格納し、情報記憶装置の電源オフ後の電源再投入時に、記憶手段に格納したロック状態データに基づいて、メモリのロック状態を再現し、再現ロック状態に基づくメモリアクセス制御を実行する構成とした。

Description

明 細 書 情報記憶装置、 およびメモリアクセス制御方法、 並びにコンピュータ ·プログ ラム 技術分野 本発明は、 情報記憶装置、 およびメモリアクセス制御方法、 並びにコンビュ ータ ·プログラムに関する。 さらに詳細には、 情報処理装置からのコマンド入 力に応じて、メモリの口ック解除処理としてのアン口ック処理を実行するとと もに、情報記憶装置の電源オフ後の電源再投入時に、 アン口ック処理前の口ッ ク状態データを再現して、再現ロック状態に基づくメモリアクセス制御を実現 した情報記憶装置、 およびメモリアクセス制御方法、 並びにコンピュータ 'プ 口グラムに関する。 背景技術
P C (Personal Computer)、 P D A (Persona丄 Di gi ta丄 Ass i stants)、 ~r、ノ タルカメラ、 データ記録再生装置、 あるいはゲーム機器等、様々な情報処理装 置では、 ハードディスク、 D V D、 C D、 メモリカード等、 様々な記憶媒体を 利用したデータの記録、 再生処理が実行される。
昨今では、 フラッシュメモリ等によって構成されるメモリ部と、 C P U等に よって構成される制御部とを備えた小型のカード型メモリ装置が、音楽データ、 画像データ、プログラム等、様々なソフトウェアデータ(コンテンツ(Content) ) の記憶手段として多く利用されている。
メモリカード等に格納されたデータの読み出し、あるいはデータ書き込みは、 メモリカード 'ィンタフヱースを有する機器にカードを装着し、インタフエ一 スを介してデータ転送を行なうことにより可能となる。メモリ装置を利用した データ記録再生は、 誰もが自由に実行できる構成とすることも可能であるが、 例えばパスワード設定、 あるいは喑号処理などによって、 特定ユーザ、 あるい は特定機器のみに対してメモリ ·アクセスを許可し、権限を持たない第三者に よるアクセスを排除した、 いわゆるァクセ制限構成が実現されている。
例えばァクセス権限を有するユーザのみが知り得るパスワードを設定して、 情報再生装置としてのコンテンツ利用機器から、メモリカード等のコンテンツ 格納機器に対してパスワードを転送し、 メモリカード側の制御部 (C P U等) においてパスヮードの検証を実行して、検証成立を条件として、 メモリカード 等のコンテンツ格納機器から、情報再生装置としてのコンテンツ利用機器に対 してコンテンツを出力する構成、 あるいは、情報再生装置としてのコンテンツ 利用機器と、メモリカード等のコンテンツ格納機器間において相互認証処理を 実行して、相互認証が成立したことを条件として、 メモリカード等のコンテン ッ格納機器から、情報再生装置としてのコンテンツ利用機器に対してコンテン ッを出力する構成等がある。
発明の開示 このように、 データ (コンテンツ) 利用権限を確認した上でデータを利用可 能とする形態は、 様々な形態がある。
しかしながら、 メモリカード等のデータ記憶装置は、 P C、 P D A、 デジタ ルカメラ等、 様々な機器に装着可能であり、 これらの機器で、 相互に 1つのメ モリカードを利用する場合も多い。 このようなデータ利用形態において、 メモ リカードを機器に装着する毎に上述したパスヮード検証処理、認証処理等の実 行が要求されると、データ読み取りあるいはデータ書き込み等の処理に至るま でに時間を要し、 処理効率が低下することになる。
本発明は、上述の問題点に鑑みてなされたものであり、情報処理装置からの コマンド入力に応じて、メモリの口ック解除処理としてのアン口ック処理を実 行するとともに、情報記憶装置の電源オフ後の電源再投入時に、 アンロック処 理前の口ック状態データを再現して、再現口ック状態に基づくメモリアクセス 制御を実現した情報記憶装置、およびメモリアクセス制御方法、並びにコンビ ユータ · プログラムを提供することを目的とする。 本発明の第 1の側面は、
データ記憶用のメモリ と、該メモリに対するアクセス制御を実行する制御部 とを有する情報記憶装置であり、
前記制御部は、
情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアンロック処理を実行するとともに、
アンロック処理前のロック状態データを記憶手段に格納し、該情報記憶装置 の電源オフ後の電源再投入時に、前記記憶手段に格納したロック状態データに 基づいて、前記メモリの口ック状態を再現し、再現口ック状態に基づくメモリ アクセス制御を実行する構成を有することを特徴とする情報記憶装置にある。 さらに、本発明の情報記憶装置の一実施態様において、前記情報記憶装置は、 情報記憶装置の口ック状態データと してのロックステータス情報を前記記憶 手段に格納する構成であり、前記制御部は、前記情報記憶装置の電源オフ後も 格納情報が維持される第 1の記憶手段としての不揮発性メモリ (N V M) に前 記口ックステ一タス情報を格納する構成を有することを特徴とする。
さらに、 本発明の情報記憶装置の一実施態様において、 前記制御部は、 前記 情報記憶装置の電源再投入後に第 2の記憶手段としての制御部内メモリに前 記不揮発性メモリ (N V M) に格納した前記口ックステータス情報をコピー格 納し、該コピー格納情報に基づいてアクセス制御を実行する構成であることを 特徴とする。
さらに、本発明の情報記憶装置の一実施態様において、前記情報記憶装置は、 情報記憶装置の口ック状態データとしての口ックステータス情報を前記記億 手段に格納する構成であり、前記口ックステータス情報は、 口ック処理または アンロック処理に適用可能なキーセッ トの外部出力が許容される口ック状態 であるエクスポートロック (E L ) 状態であるか否か、 および、 ロック処理ま たはアン口ック処理に適用可能なキーセッ トの外部出力が許容されない口ッ ク状態であるスタンダードロック (S L) 状態であるか否か、 についての判別 情報を含み、前記制御部は、前記判別情報に基づいてメモリアクセス制御を実 行する構成であることを特徴とする。
さらに、 本発明の情報記憶装置の一実施態様において、 前記制御部は、 前記 情報記憶装置の電源再投入により、再現された口ック状態に基づいて、情報処 理装置からのアン口ック要求に対する処理を実行する構成であり、アン口ック 要求を出力した情報処理装置の識別子( I D) を含むキーセッ トの検証処理を 実行し、該検証の成立を条件として、前記アン口ッタ要求に基づく口ック解除 処理を実行する構成であることを特徴とする。
さらに、 本発明の情報記憶装置の一実施態様において、 前記キーセットは、 情報処理装置の保有 I Dと該 I Dに対応する口ックキー(L K) からなるキー セッ ト [ I D, L K] であり、 前記情報記憶装置は、 L K = H (LMK, I D) の関係、 すなわち、 I Dに対するロックマスターキー (LMK) を適用したハ ッシュ値としてロックキー (L K) の算出が可能な口ックマスターキー (LM K) を有し、 前記制御部は、 情報処理装置から入力する情報処理装置保有キー セットの検証を前記口ックマスターキー (LMK) を適用したハッシュ値算出 により取得する口ックキー (L K) に基づいて実行する構成であることを特徴 とする。
さらに、 本発明の情報記憶装置の一実施態様において、 前記制御部は、 乱数 発生処理を実行し、 情報処理装置の所有するロックキー (L K) に基づく前記 乱数 (Rm s ) の暗号化データ [E (L k , Rm s )] を該情報処理装置から 受信し、該受信暗号化データと、前記ハッシュ値算出により取得した口ックキ 一 (LK) に基づいて算出した暗号化データ [E ( L k , Rm s )] との照合 を含む検証処理を実行する構成であることを特徴とする。
さらに、 本発明の第 2の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部 とを有する情報記憶装置におけるメモリアクセス制御方法であり、
情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアン口ック処理を実行するアン口ック処理実行ステップと、 アン口ック処理前の口ック状態データを記憶手段に格納する口ック状態デ ータ記憶ステップと、
情報記憶装置の電源オフ後の電源再投入時に、前記記憶手段に格納したロッ ク状態データに基づいて、前記メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行するメモリアクセス制御ステップと、 を有することを特徴とするメモリアクセス制御方法にある。
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記口ッ ク状態データ記憶ステップは、情報記憶装置の口ック状態データとしてのロッ クステータス情報を、前記情報記憶装置の電源オフ後も格納情報が維持される 第 1の記憶手段と しての不揮発性メモリ (N V M) に格納するステップを含む ことを特徴とする。
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記メモ リアクセス制御方法は、 さらに、前記情報記憶装置の電源再投入後に第 2の記 憶手段としての制御部内メモリに前記不揮発性メモリ (N V M) に格納した前 記口ックステータス情報をコピー格納するステップを有し、前記メモリァクセ ス制御ステップは、前記コピー格鈉情報に基づいてアクセス制御を実行するス テツプであることを特徴とする。
さらに、本発明のメモリアクセス制御方法の一実施態様において、前記口ッ ク状態データ記憶ステップは、情報記憶装置のロック状態データとしての口ッ クステータス情報を記憶手段に記憶するステップであり、前記ロックステータ ス情報は、口ック処理またはアン口ック処理に適用可能なキーセットの外部出 力が許容される口ック状態であるェクスポートロッタ (E L )状態であるか否 力 および、 口ック処理またはアン口ック処理に適用可能なキーセットの外部 出力が許容されない口ック状態であるスタンダードロック (S L )状態である か否か、 についての判別情報を含み、 前記メモリアクセス制御ステップは、 前記判別情報に基づいて前記メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行するステップであることを特徴とする。 さらに、本発明のメモリアクセス制御方法の一実施態様において、前記メモ リアクセス制御方法は、 さらに、 前記情報記憶装置の電源再投入により、 再現 された口ック状態に基づいて、情報処理装置からのアン口ック要求に対する処 理を実行するアン口ック要求対応処理ステップを有し、前記アン口ック要求対 応処理ステップは、 アンロック要求を出力した情報処理装置の識別子 ( I D) を含むキーセッ トの検証処理を実行する検証処理ステップ、該検証の成立を条 件として、前記アン口ック要求に基づく口ック解除処理を実行する口ック解除 処理ステップ、 を含むことを特徴とする。
さらに、本発明のメモリアクセス制御方法の.一実施態様において、前記キー セットは、 情報処理装置の保有 I Dと該 I Dに対応する口ックキー ( LK) 力、 らなるキーセット [ I D, L K] であり、 前記情報記憶装置は、 L K-H (L MK, I D) の関係、 すなわち、 I Dに対するロックマスタ一キー (LMK) を適用したハッシュ値としてロックキー (L K) の算出が可能な口ックマスタ 一キー (LMK) を有し、 前記検証処理ステップは、 情報処理装置から入力す る情報処理装置保有キーセットの検証を前記口ックマスターキー (LMK) を 適用したハッシュ値算出により取得する口ックキー (L K) に基づいて検証を 実行するステップを含むことを特徴とする。
さらに、本発明のメモリアクセス制御方法の一実施態様において、 前記メモ リアクセス制御方法は、 さらに、 乱数発生処理を実行し、 情報処理装置の所有 するロックキー (L K) に基づく前記乱数 (Rm s ) の暗号化データ [E (L k , Rm s )] を該情報処理装置から受信スルステップを有し、 前記検証処理 ステップは、前記受信暗号化データと、前記ハッシュ値算出により取得した口 ックキー (L K) に基づいて算出した暗号化データ [E (L k , Rm s )] と の照合を含む検証処理を実行するステップを含むことを特徴とする。
さらに、 本発明の第 3の側面は、
データ記憶用のメモリと、該メモリに対するアクセス制御を実行する制御部 とを有する情報記憶装置におけるメモリ アクセス制御処理を実行するコンビ ユータ 'プログラムであって、
情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアンロック処理を実行するアンロック処理実行ステップと、
アン口ック処理前の口ック状態データを記憶手段に格納する口ック状態デ ータ記憶ステップと、
情報記憶装置の電源オフ後の電源再投入時に、前記記憶手段に格納したロッ ク状態データに基づいて、前記メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行するメモリアクセス制御ステップと、 を有することを特徴とするコンピュータ ' プログラムにある。 本発明の構成によれば、 メモリカード等の情報記憶装置において、情報処理 装置からのコマンド入力に応じて、メモリのロック解除処理としてのアンロッ ク処理を実行するとともに、アン口ック処理前の口ック状態データを記憶手段 に格納し、情報記憶装置の電源オフ後の電源再投入時に、記憶手段に格納した 口ック状態データに基づいて、 メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行する構成としたので、情報記憶装置の紛失、 盗難等による第三者によるメモリアクセスを効果的に防止することが可能と なる。
さらに、本発明の構成によれば、情報記憶装置のロック状態データとしての 口ックステータス情報を電源オフ後も格納情報が維持される第 1の記憶手段 と しての不揮発性メモリ (N V M) に格納し、 電源再投入後に第 2の記憶手段 と しての制御部内メモリに口ックステータス情報をコピーして、アクセス制御 を実行する構成としたので、電源オフによっても、 口ック状態維持が可能とな り、 ロック情報の消失によるメモリアクセスを防止できる。
さらに、本発明の構成によれば、 口ック処理またはアン口ック処理に適用可 能なキーセッ トの外部出力が許容される口ック状態としてのエクスポート口 ック (E L ) 状態であるか否か、 キーセットの外部出力が許容されないスタン ダードロック (s L )状態であるか否かについての判別情報を含むロックステ 一タス情報に基づいて、 アクセス制御を行なう構成としたので、様々な態様で のメモリアクセス制御が可能となる。
さらに、 本発明の構成によれば、 再現した口ック状態において、 アンロック 要求を出力した情報処理装置の識別子( I D ) を含むキーセッ トの検証処理を 実行し、該検証の成立を条件として、前記アン口ック要求に基づく口ック解除 処理を実行する構成であるので、正当なホスト装置であることを条件としたセ キュアなメモリアクセス制御が実現される。
なお、 本発明のコンピュータ · プログラムは、 例えば、 様々なプログラム' コードを実行可能な汎用コンピュータ'システムに対して、 コンピュータ可読 な形式で提供する記憶媒体、 通信媒体、 例えば、 C Dや F D、 M Oなどの記憶 媒体、 あるいは、ネットワークなどの通信媒体によって提供可能なコンビユー タ .プログラムである。 このようなプログラムをコンピュータ可読な形式で提 供することにより、 コンピュータ 'システム上でプログラムに応じた処理が実 現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付す る図面に基づく、 より詳細な説明によって明らかになるであろう。 なお、 本明 細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装 置が同一筐体内にあるものには限らない。
図面の簡単な説明 図 1は、本発明の情報記憶装置の利用形態の概要について説明する図である c 図 2は、情報記憶装置を利用するホスト装置のハード構成例を示す図である c 図 3は、 情報記憶装置のハード構成例を示す図である。
図 4は、本発明の情報記憶装置、およびホスト装置の格納データについて説 明する図である。
図 5は、情報記憶装置に対する口ック処理における情報記憶装置とホスト装 置間の通信処理シーケンスについて説明する図である。
図 6は、情報記憶装置に対する口ック処理を説明する処理フローを示す図で あ 0。
図 7は、情報記憶装置に対するアン口ック処理における情報記憶装置とホス ト装置間の通信処理シーケンスについて説明する図である。
図 8は、情報記憶装置に対するアン口ック処理を説明する処理フローを示す 図である。
図 9は、本発明の情報記憶装置、およびホスト装置の格納データについて説 明する図である。
図 1 0は、本発明の情報記憶装置に対する口ック処理態様について説明する 図である。
図 1 1は、情報記憶装置に対するサブキーセットを適用した口ック処理にお ける情報記憶装置とホス ト装置間の通信処理シーケンスについて説明する図 である。
図 1 2は、情報記憶装置に対するサブキーセットを適用した口ック処理を説 明する処理フローを示す図である。
図 1 3は、情報記憶装置に対するインプリントおよびサブキーセットを適用 したアン口ック処理における情報記憶装置とホスト装置間の通信処理シーケ ンスについて説明する図である。
図 1 4は、情報記憶装置に対するインプリントおよびサブキーセットを適用 したアン口ック処理について説明するフロー図である。
図 1 5は、情報記憶装置に対するインプリントおよびサブキーセットを適用 したアン口ック処理について説明するフロー図である。
図 1 6は、情報記憶装置に対するインプリントおよびサブキーセットを適用 したアンロ ック処理における情報記憶装置とホスト装置間の通信処理シーケ ンスについて説明する図である。
図 1 7は、情報記憶装置に対するィンプリントおよびサブキーセットを適用 したアンロック処理におけるロックステータスフラグの更新処理について説 明するフロー図である。
図 1 8は、情報記憶装置に対するアン口ック処理における口ックステータス フラグ参照処理について説明するフロー図である。
図 1 9は、情報記憶装置に対するデータ格納態様としてのクラスタ構成につ いて説明する図である。
図 2 0は、 特定データ領域 (クラスタ) 読み出しに基づく口ック処理につい て説明するフロー図である。 図 2 1は、情報記憶装置に対する口ック /アン口ック実行機器の構成につい て説明する図である。
図 2 2は、 ホスト装置におけるロック状態読み出し処理フロー図である。 図 2 3は、 ホス ト装置における口ック処理時における処理、およびィンジケ ータ表示処理を説明するフロー図である。
図 2 4は、 ホス ト装置におけるアン口ック処理時における処理、およびィン ジケータ表示処理を説明するフロー図である。
発明を実施するための最良の形態 以下、本発明の情報記憶装置、 メモリアクセス制御処理の実施例詳細につい て、 図面を参照して詳細に説明する。
まず、本発明の情報記憶装置を適用したデータ利用構成の概要について、図 1を参照して説明する。情報処理装置 2 0は、例えば P C (Personal Computer) 2 1、 P DA (Personal Digital Assistants) 2 2、 携帯通信端末 2 3、 デ ジタルカメラ 2 4等、情報記憶装置 3 0を装着し、情報記憶装置 3 0からの情 報を出力可能な機器である。
これらの情報処理装置 2 0は、例えばフラッシュメモリ等の不揮発性メモリ (NVM: Non-Volatile Memory) を搭載したメモリカード 3 0を装着し、 メ モリカード 3 0に対してデータを格納し、あるいはメモリカードに格納された データの読み出しを実行する。
P C (Personal Computer) 2 1、 2 2、 P D A (Personal Digital Assistants; 2 3、携帯通信端末 2 4、 デジタルカメラ 2 5の各々は、 1つのメモリカード 3 0を相互に利用する場合もある。例えばデジタルカメラ 2 5で撮影した画像 データをメモリカード 3 0に格納し、その後、 メモリカード 3 0を P C 2 1に 装着して格納画像データの表示、 画像処理等を実行したり、 あるいは、 P C 2 1において、 ィンターネット等のネットワークを介して、 または C D、 DVD 等を介して入手した音楽データ等のコンテンツをメモリカード 3 0に格納し、 その後、 コンテンッを格納したメモリカード 3 0を PDA 2 2に装着して、外 出先で、 PDA 2 2を用いてコンテンツを再生するなどの利用が行なわれる。 図 2にメモリカード等の情報記憶装置を装着可能な情報処理装置の構成例 を示す。 C PU (Central Processing Unit) 1 0 1は、 各種アプリケーショ ンプログラム、 O S (Operating System)を実行するプロセッサである。 後段 で詳細に説明する情報記憶装置に対するアクセス制限処理としての口ック処 理、アン口ック処理におけるハッシュ値算出、乱数生成等を含む各種暗号処理、 およびコマンド送受信等における制御を実行する。
ROM (Read Only Memory) 1 0 2は、 C P U 1 0 1が実行するプログラム や演算用のパラメータのうちの固定データ等を格納する。後段で詳細に説明す る情報記憶装置に対する対するアクセス制限処理としての口ック処理、アン口 ック処理プログラム等が格納される。 RAM (Random Access Memory) 1 0 3 は、 C P U 1 0 1の実行プログラムに適用する情報や、その実行において適宜 変化するパラメータ等を格納する。
D S P (Digital Signal Processor) 1 04は、 例えばメモリカード等の情報 記憶装置 2 0 0から記憶装置 I ZF 1 1 3を介して入力したコンテンッの再 生処理の際の暗号処理、イコライザ調整(音声信号の周波数帯域に対応した利 得の調整)、 圧縮伸長 (エンコード/デコード) 処理等を実行する。
復号、伸長されたコンテンツは、デジタルアナログ変換回路 1 0 5でアナ口 グ音声信号に変換され、増幅回路 1 0 6において増幅された後、音声出力部 1 0 7を介して出力する。 また、 画像データの出力は、 表示コントローラ 1 0 8 を介して L C D等の表示部 1 0 9において実行される。入力 I ZF 1 1 2から は、 外部ソースからデジタル信号、 またはアナログ信号を入力し、 アナログ信 号入力時には AZD変換する。 AZD変換は、入力される入力信号をデジタル 信号へ変換する。 また、 外部ソースからの入力デジタル信号は、 S RC (サン プリングレートコンバータ) により、所定のサンプリング周波数、 量子化ビッ ト数を持つデジタル信号に変換されて入力される。
入出力 I /F 1 1 5は、外部機器を接続するインタフェースであり、例えば U S B, I E E E 1 3 9 4等の接続態様による接続を行ない接続された機器と のデータ転送が実行される。
次に、 図 3を参照して、 フラッシュメモリ等の不揮発性メモリ (NVM : Non-Volatile Memory) を搭載したメモリカード等の情報記憶装置 2 0 0の構 成例を示す。 フラッシュメモリ は、 E E P R O M (Electrically Erasable Programmable ROM)と呼ばれる電気的に書き換え可能な不揮発性メモリの一形 態である。従来の E E P ROMは、 1ビットを 2個のトランジスタで構成する ために、 1ビット当たりの占有面積が大きく、集積度を高くするのに限界があ つたが、 フラッシュメモリは、全ビット一括消去方式により 1 ビッ トを 1 トラ ンジスタで実現することが可能となった。
このよ うなフラッシュメモリを持つ情報記憶装置 2 0 0は、 P C、 P DA, デジタルカメラ等の情報処理装置に装着され、情報処理装置から入力するデー タを、 メモリ部 2 2 0に格納し、 また、 メモリ部 2 2 0に格納されたデータを 情報処理装置に対して出力する。
情報記憶装置 2 0 0は、 さらに制御部 2 1 0を有し、 制御部 2 1 0は、 各種 プログラムを実行するプロセッサとしての C P U (Central Processing Unit) 2 1 1、 C PU 2 1 1が実行するプログラムや演算用のパラメータのうちの固 定データ等を格納する ROM (ReadOnlyMemory) 2 1 2、 C PU 2 1 1の実 行プログラムに適用する情報や、その実行において適宜変化するパラメータ等 を格納する RAM (Random Access Memory) 2 1 3を有する。
なお、 RAM (Random Access Memory) 2 1 3は、 後段で詳細に説明する情 報記憶装置に対する対するアクセス制限処理としての口ック処理、アン口ック 処理によって変化する口ック状態の状態値データの格納領域としても使用さ れる。
制御部 2 1 0は、 さらに、情報処理装置間とのデータ入出力用のインタフエ ースと しての機器ィンタフェース 2 1 4、メモリ部 2 2 0とのデータ入出力用 のインタフェースと してのメモリインタフェース 2 1 6を有する。
C PU 2 1 1は、後段で詳細に説明する情報処理装置との間で実行されるァ クセス制限処理としての口ック処理、アン口ック処理におけるハッシュ値算出、 乱数生成等を含む各種暗号処理、およびコマンド送受信等における制御を実行 する。
[ロックマスターキー (LMK) に基づく処理]
次に、情報記憶装置に対するアクセス制限機構の一処理例として、 ロックマ スターキー (LMK) を適用した口ック処理及びアン口ック処理について説明 する。 図 4を参照して本処理例、 すなわちロックマスターキー (LMK) を適 用した処理の概要を説明する。
メモリカード等の情報記憶装置 3 2 0のコンテンツ等のデータ格納領域で あるフラッシュメモリ等によって構成されるメモリ部 (図 3のメモリ部 2 2 0) に対するアクセス制限を有効にする処理を口ック処理とし、アクセス制限 を解除する処理をアン口ック処理とする。この口ック処理およびアン口ック処 理を実行するのが、 ホスト装置 3 1 0である。
ホスト装置 3 1 0は、 先に図 1、 図 2を参照して説明したように、 メモリ力 一ド等の情報記憶装置 3 2 0 とのデータ転送を実行するインタフェースを有 し、情報記憶装置 3 2 0に対するデータ書き込みあるいは情報記憶装置 3 2 0 からのデータ読み出しを実行してデータ利用を行なう P C、 PDA、デジタル カメラ、 D S C (Digital Still Camera) 等の情報処理装置を含む。 さらに、 ホスト装置 3 1 0には、メモリカード等の情報記憶装置 3 20に対する口ック 処理/アンロック処理実行専用機器としてのロック 'アン口ック用機器 3 1 2 も含まれる。
ロック 'アン口ック用機器 3 1 2は、 ロック 'アン口ック処理アルゴリズム を実行する制御手段としての C PU、およびデータ格納メモリ としての ROM, RAMを有し、 さらにメモリカード等の情報記憶装置 3 2 0の装着、データ転 送を実行するインタフェースを有し、情報記憶装置 3 2 0に対するロック処理 およびアンロック処理専用の機器として構成される。
以下の説明では、情報記憶装置 3 2 0に対して口ック処理、 アン口ック処理 を実行する機器、 すなわち、 P C, PDA他の情報処理装置と、 ロック 'アン 口ック用機器 3 1 2を含めてホスト装置と呼ぶ。
ホスト装置内の ROM等のメモリ 3 1 5には、各ホスト装置固有の識別子と しての I D (例えば 1 6バイ トデータ) と、 口ック処理、 アン口ック処理に適 用する鍵データとしてのロックキー (LK) (例えば 8バイ トデータ) が格納 される。 ホスト装置の有する各ホスト装匱固有の識別子 ( I D) と、 ロックキ 一 ( L K) のセッ ト [ I D, LK] をキーセットと呼ぶ。
—方、メモリカード等の情報記憶装置 3 2 0内の制御部内の R OM等のメモ リ 3 2 5には、ロックマスターキー(LMK)が格納される。これらの情報は、 例えば各機器の製造時に各機器に対して書き込まれ、ユーザによる書き換え不 可能なデータとされる。
情報記憶装置 3 2 0に格納される口ックマスターキー (LMK) と、 ホス ト 装置に格納される I Dと、 ロックキー (LK) とは、 以下の関係を持つ。
L K = H ( LMK, I D)
なお、 H (X, Y) は、 キー Xを適用したメッセージ Yに対するハッシュ値 算出処理を示す。 すなわち、 I Dに対して、 ロックマスターキー (LMK) を 適用したハッシュ値算出処理により I Dに対応する口ックキー(LK) が求め られる。
ハッシュ関数は、一方向性関数であり、その出力から逆に入力を求めるのは 非常に困難となる関数である。上記式においては、各ホスト装置に固有の I D に対して、口ックマスタ一キー(LMK)を鍵として一方向性関数を適用して、 その出力を各ホスト装置に固有の I Dに対応するロックキー (LK) とした設 定である。 ハッシュ ·アルゴリズムとしては MD 5 , SH Aなどが適用可能で める。 ,
(口ック処理)
次に上述した口ックマスターキー (LMK) を適用した口ック処理、 すなわ ち情報記憶装置に対するアクセス制限を有効にする処理について説明する。 図 5に口ック処理におけるホス ト装置と、情報記憶装置間で実行される処理 シーケンス図を示す。 ホスト装置と、 情報記憶装置は、 それぞれ相互にデータ 転送可能に接続されている。 まず、 ホス ト装置が、 乱数発生コマンドを情報記 憶装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定 長、例えば 1 6バイ ト乱数(Rm s ) の発生処理を実行し、発生乱数(Rm s ) をホス ト装置に対して送信する。 なお、 情報記憶装置は、 発生乱数 (Rm s ) を制御部内の RAM等のメモリに格納しておく。
情報記憶装置から乱数 (Rm s ) を受信したホスト装置は、 予めホス ト装置 内のメモリに格納済みの口ックキー(LK)を暗号処理キーとした受信乱数(R m s ) の暗号処理: E (LK, Rm s ) を実行する。 なお、 E (X, Y) は、 キー [X] を適用したメッセージ [Y] の喑号処理を示す。 暗号処理アルゴリ ズムは様々なアルゴリズムの適用が可能であり、例えば D E S暗号処理アルゴ リズムが適用される。
ホスト装置は、 口ックキー(LK) を暗号処理キーとした受信乱数(Rm s ) の暗号処理: E ( L K, Rm s ) を実行し、 その結果データ [E (LK, R m s )] と、 ホス ト装置が予めホス ト装置内のメモリに格納しているホス ト装置 固有の識別子( I D)とを、ロックコマンドとともに情報記憶装置に送信する。 データ : I D, E (LK, Rm s ) を受信した情報記憶装置は、 まず、 受信 した I Dに対して、 自己のメモリに格納されている口ックマスターキー (LM K)を適用したハッシュ値算出処理により、受信 I Dに対応する口ックキー(L K) を算出する。 すなわち、
LK = H ( LMK, I D)
により、 受信 I Dに対応するロックキー (LK) を算出する。 なお、 受信 I Dは、 自己のメモリに格納保持する。 受信 I Dは、 後述するアン口ック処理の 際に利用する。
さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm sに対して、 上 述のハッシュ値算出により求めたロックキー (LK) を適用した喑号処理: E (LK, Rm s ) を実行し、 ホスト装置から受信した暗号処理データ : E (L K, Rm s ) と一致するか否かの照合処理を実行する。 なお、 暗号処理アルゴ リズムはホス ト装置と同一のアルゴリズムであれば、様々なアルゴリズムの適 用が可能である。
ホスト装置からの受信データ : E (LK, Rm s ) と、 自身が算出した暗号 処理データ : E (LK, Rm s ) とが一致すれば、 正当な I Dと LKの組デー タを持つホスト装置からの口ック処理要求であると判定し口ック処理を実行 し、 ロック完了通知をホス ト装置に対して送信する。 情報記憶装置は、 ロック 処理を実行したホスト装置のキーセッ ト [ I D, LK] をフラッシュメモリ等 の不揮発性メモリ (NVM: Non-Volatile Memory) によって構成されるメモ リ部 2 2 0に格納保持する。
ホス ト装置からの受信データ : E (LK, Rm s ) と、 自身が算出した喑号 処理データ : E (LK, Rm s ) とが不一致の場合は、 正当な I Dと LKの組 データを持つホスト装置では無いと判定し、不正機器からの口ック処理要求で あると判定し、 口ック処理を行なわずエラー通知をホスト装置に送信する。 なお、情報記憶装置の実行するロック処理は、 コンテンツ等のデータ格納領 域であるフラッシュメモリ等によつて構成されるメモリ部(図 3のメモリ部 2 2 0) に対するアクセスを、次に説明するアン口ック処理を実行することを条 件として許可する設定とする処理である。
次に、図 6に示すフロ一チヤ一トを参照して、 ロック処理の手順について説 明する。 ステップ S 1 0 1において、 情報記憶装置と してのメモリカードが、 ホスト装置からの乱数発生要求コマンドの受信に基づいて、 乱数 (R s m) を 発生する。 発生した乱数は、 ステップ S 1 0 2において、 ホスト装置によって 読み出され、 ステップ S 1 0 3において、 ロックコマンドとともに、 ホスト装 置の I D、 および乱数 (Rm s ) をホスト装置の口ックキー (LK) で暗号化 したデータ : E (LK, Rm s ) を情報記憶装置としてのメモリカードに送信 する。
ステップ S 1 0 4において、 メモリカードは、 受信した I D、 および暗号化 データ : E (LK, Rm s ) とを情報記憶装置内のメモリに書き込む。 ステツ プ S 1 0 5において、 メモリカードは、 自身のメモリに格納した口ックマスタ 一キー (LMK) を適用して、 受信 I Dのハッシュ値算出、 すなわち、
H ( LMK, I D) = L
を実行し、 受信 I Dに対応するロックキー (LK) を算出する。
さらに、 メモリカードは、 算出したロックキー (LK) に基づいて、 先にス テツプ S 1 0 1で発生した乱数 (Rm s ) の暗号化処理を実行して、 暗号化デ ータ : E (L K, Rm s ) を照合用データとして算出する。
次に、 メモリカードは、 ステップ S 1 0 6において、 ステップ S 1 0 5で算 出した暗号化データ : E (LK, Rm s ) と、 ステップ S 1 0 3でロックコマ ンドとともにホスト装置から受信し、ステップ S 1 0 4で、 メモリに格納した 暗号化データ : E (L K, Rm s ) との比較照合処理 [E (LK, R m s ) = E (LK, Rm s ) ?] を実行する。
この比較照合処理において、 両値が等しければ、 ホスト装置は、 正当な正し い I Dと口ックキー(LK)の組データを保有した正当な機器であると判定し、 ステップ S 1 0 7において口ックコマンドに応じた口ック処理、すなわち、後 述するアン口ック処理の成功を条件としてメモリに対するアクセスを可能と する設定を実行する。 この際、 情報記憶装置は、 ロック処理を実行したホス ト 装置のキーセット [ I D, LK] をフラッシュメモリ等の不揮発性メモリ (N VM: Non-Volatile Memory) によって構成されるメモリ部 2 2 0に格納保持 する。
一方、 ステップ S 1 0 6の比較照合処理において、両値が等しくないと判定 されると、ステップ S 1 0 8において、 ロックコマンドを送信してきたホスト 装置は、 正しい I Dと口ックキー (LK) の組データを保有していない不正機 器であると判定し、 口ック処理を実行せず、エラー通知をホスト装置に対して 送信する。
(アンロック処理)
次に上述した口ックマスターキー(LMK) を適用した口ック処理による口 ックを解除するアン口ック処理、すなわち情報記憶装置に対するアクセス制限 を解除する処理について説明する。
図 7にアン口ック処理におけるホスト装置と、情報記憶装置間で実行される 処理シーケンス図を示す。 ホスト装置と、 情報記憶装置は、 それぞれ相互にデ ータ転送可能に接続されている。 まず、 ホスト装置が、 乱数発生コマンドを情 報記憶装置に対して出力する。 乱数発生コマンドを受信した情報記憶装置は、 所定長、 例えば 1 6バイ ト乱数 (Rm s ) の発生処理を実行し、 発生乱数 (R m s ) と、 先の口ック処理の際にメモリに格納済みのホスト装置の I D、 すな わち口ック処理を実行したホスト装置の I Dをホスト装置に対して送信する。 なお、 情報記憶装置は、 発生乱数 (Rni s ) を制御部内の RAM等のメモリに 格納しておく。
情報記憶装置から I Dと、 乱数 (Rm s ) を受信したホス ト装置は、 まず、 受信 I Dが自己の I Dと一致するか否かを判定する。 一致していない場合は、 他のホスト装置による口ックが実行されていることになり、その口ックを解除 することはできない。
受信 I Dが自己の I Dと一致する場合は、そのホスト装置自身が実行した口 ックであり、 解除処理としてのアン口ックが可能となる。 この場合、 ホス ト装 置は、 予めホスト装置内のメモリに格納済みの口ックキー (L K) を暗号処理 キーとした受信乱数 (Rm s ) の暗号処理: E (L K, Rm s ) を実行し、 そ の結果データを、 アンロックコマンドとともに情報記憶装置に送信する。 暗号化データ : E (L K, Rm s ) を受信した情報記憶装置は、 まず、 自己 のメモリに格納されているホスト装置 I D、すなわち、 口ック処理を実行した ホスト装置の I Dを読み出して、読み出した I Dに対して、 ロ ックマスターキ 一 (LMK) を適用したハッシュ値算出処理により、 ロック処理を実行したホ ス ト装置の I Dに対応するロックキー (L K) を算出する。 すなわち、
L K = H ( LMK, I D)
により、 口ック処理を実行したホスト装置の I Dに対応する口ックキー(L K) を算出する。
さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm sに対して、 上 述のハッシュ値算出により求めた口ックキー (L K) を適用した喑号処理: E (LK, Rm s ) を実行し、 ホスト装置から受信した暗号処理データ : E (L K, Rm s ) と一致するか否かの照合処理を実行する。
ホス ト装置からの受信データ : E (L K, Rm s ) と、 自身が算出した暗号 処理データ : E (L K, Rm s ) とが一致すれば、 正当な I Dと LKの組デー タを持つホスト装置からのアン口ック処理要求であると判定しアンロ ック処 理を実行し、 アンロック完了通知をホスト装置に対して送信する。不一致の場 合は、正当な I Dと LKの組データを持つホスト装置では無いと判定し、不正 機器からのアン口ック処理要求であると判定し、アン口ック処理を行なわずェ ラー通知をホスト装置に送信する。
なお、情報記憶装置の実行するアン口ック処理は、 口ック処理の解除を意味 し、コンテンッ等のデータ格納領域であるフラッシュメモリ等によって構成さ れるメモリ部(図 3のメモリ部 2 2 0) に対するアクセスを許可する設定とす る処理である。
次に、 図 8に示すフローチヤ一トを参照して、アン口ック処理の手順につい て説明する。 ステップ S 2 0 1において、情報記憶装置としてのメモリカード 力、ホスト装置からの乱数発生要求コマンドの受信に基づいて、乱数(R s m) を発生する。 発生した乱数は、 ステップ S 2 0 2において、 先に口ック処理を 実行したホスト装置の I Dとともに、 ホスト装置によって読み出される。 ホスト装置は、メモリカードから読み出した I Dと自己のホス ト I Dがー致 することで、 アン口ック可能と判断し、 ステップ S 2 0 3において、 アンロッ クコマンドとともに、 受信乱数 (Rm s ) をホス ト装置のロックキー (LK) で暗号化したデータ : E (LK, Rm s ) を情報記憶装置としてのメモリカー ドに送信する。
ステップ S 2 0 4において、メモリカードは、受信した暗号化データ: E (L K, Rm s ) とを情報記憶装置内のメモリに書き込む。 ステップ S 2 0 5にお いて、 メモリカードは、先の口ック処理時にメモリに格納した口ック処理を実 行したホス ト装置 I Dを読み出して、読み出した I Dに対して、 自身のメモリ に格納した口ックマスターキー (LMK) を適用してハッシュ値算出、 すなわ ち、
H (LMK, I D) = L K
を実行し、 I Dに対応するロックキー (LK) を算出する。 ' さらに、 メモリカードは、 算出したロックキー (LK) に基づいて、 先にス テツプ S 2 0 1で発生した乱数 (Rm s ) の暗号化処理を実行して、 暗号化デ ータ : E (LK, Rm s ) を照合用データとして算出する。
次に、 メモリカードは、 ステップ S 2 0 6において、 ステップ S 2 0 5で算 出した暗号化データ : E (L K, Rm s ) と、 ステップ S 2 0 3でアンロック コマンドとともにホス ト装置から受信し、 ステップ S 2 04で、 メモリに格納 した暗号化データ : E (L K, Rm s ) との比較照合処理 [E ( L K, Rm s ) = E (LK, Rm s ) ?] を実行する。
この比較照合処理において、 両値が等しければ、 ホスト装置は、 正当な正し い I Dと口ックキー(LK)の組データを保有した正当な機器であると判定し、 ステップ S 2 0 7においてアン口ックコマンドに応じたアン口ック処理、すな わち、 メモリに対するアクセスを可能とする設定を実行する。 一方、 ステップ S 2 0 6の比較照合処理において、两値が等しくないと判定されると、ステツ プ S 2 0 8において、アンロックコマンドを送信してきたホスト装置は、 口ッ ク処理を実行した正しい I Dとロックキー ( L K) の組データを保有したホス ト装置ではないと判定し、 アンロック処理、 すなわちロック解除を実行せず、 エラー通知をホス ト装置に対して送信する。
上述したように、本処理例によれば、 ホスト装置 I Dと対応する口ックキー (L K) の正当な組み合わせデータを持つホス ト装置のみが、情報記憶装置に 対するロック処理が実行でき、 また、 ロック解除としてのアンロック処理は、 口ック処理を実行したホスト装置によってのみ可能となる。 また、上述の口ッ ク処理およびアン口ック処理において、情報記憶装置のみがホスト装置の認証 処理を実行するいわゆる片側認証処理を実行する構成であるので、ホスト装置 側の処理負担が軽減され、 効率的な処理が可能となる。
また、 上述したロック処理、 アンロック処理は、 情報記憶装置側において、 その処理毎に発生した乱数を適用する構成であるので、過去の処理における記 録データを適用するとことは不可能であり、過去処理のトレースに基づく不正 処理を効果的に防止できる。
[機器グループでの口ック処理構成]
上述した口ック処理、 アン口ック処理は、 1つのホス ト装置毎に情報記憶装 置が対応する処理として実行され、口ックを実行したホスト装置のみがアン口 ック処理が可能となる構成例であった。 しかし、 複数のホスト装置が、 1つの 情報記憶装置(メモリカード)を利用する構成においては、あるホスト装置(機 器 A) でデータを格納しロック した情報記憶装置 (メモリカー ド) を他のホス ト装置 (機器 B) で利用したいといった状況が発生する。
このような場合、ホスト装置(機器 A)で口ック解除処理を行なわない限り、 ホス ト装置 (機器 B) ではロック解除が実行できないことになる。 以下では、 このような場合に対応可能な構成、すなわち複数のホスト装置によって構成さ れるホスト装置のグループにおいて、各ホスト装置各々が口ック処理アン口ッ ク処理を実行可能とした処理例について説明する。 まず、図 9を参照して本処 理例の概要を説明する。
メモリカード等の情報記憶装置 5 2 0のコンテンッ等のデータ格納領域で あるフラッシュメモリ等によって構成されるメモリ部 (図 3のメモリ部 2 2 0) に対するアクセス制限を有効にする処理を口ック処理とし、 アクセス制限 を解除する処理をアン口ック処理とする。 この点は、前述した処理例と同様で ある。 口ック処理およびアン口ック処理を実行するのが、ホスト装置 5 1 0で ある。
ホスト装置 5 1 0は、 先に図 1、 図 2を参照して説明したように、 メモリ力 一ド等の情報記憶装置 5 2 0とのデータ転送を実行するィンタフエースを有 し、情報記憶装置 5 2 0に対するデータ書き込みあるいは情報記憶装置 5 2 0 からのデータ読み出しを実行してデータ利用を行なう P C、 PDA,デジタル カメラ、 D S C (Digital Still Camera) 等の情報処理装置を含み、 さらに、 ' メモリカード等の情報記憶装置 5 2 0に対する口ック処理、アン口ック処理実 行専用機器としてのロック ·アン口ック用機器 5 1 2も含まれる。
ホスト装置内の ROM等のメモリ 5 1 5には、各ホスト装置固有の識別子と しての I D s (例えば 1 6バイ トデータ) と、 口ック処理、 アン口ック処理に 適用する鍵データとしてのロックキー (LK s ) (例えば 8バイ トデータ) 力 S 格納される。 この I D s, LK sは前述の処理例における I D, LKに対応す るデータの組であり、上述の処理と同様の口ック処理、 アン口ック処理に適用 可能である。
この I D s、 L K sは、 プライマリ I D、 プライマリロックキーであり、 各 ホス ト装置の製造時にホス ト装置内の ROM等のメモリに書き込まれ、ユーザ による書き換え不可能なデータとされる。これらのプライマリ I D ( I D s )、 プライマリロックキー (L K s ) は、 上述した LMK適用処理と全く同様、 ホ ス ト装置対情報記憶装置の 1対 1対応の口ック処理、アン口ック処理に適用で きる。 この、 各ホスト装置に固有のプライマリ I D、 プライマリ ロックキーか らなるキーセッ ト : [ I D s , L K s ] をプライマリキーセッ トと呼ぶ。
このプライマリキーセッ ト : [ I D s, L K s ] を適用した口ック処理をス タンダードロック処理と呼び、ホス ト装置と しての情報処理装置からスタンダ 一ドロックコマンドを情報記憶装置に対して出力することでスタンダードロ ックが実行され、アン口ックコマンドの出力によりアンロック処理が実行され る。
ホス ト装置内の ROM等のメモリ 5 1 5には、 さらに、 他のホス ト装置に対 してコピー供給可能なキーセッ トと してのサブ I Dとサブ口ックキ一の組デ ータと してのサブキーセッ ト : [ I D e n, L K e n ] ( n = 1 , 2 , · · ) 力 S 1以上格納可能となる。
このサブキーセッ ト : [ I D e n, LK e n] は、 複数のホス ト装置におい て共通に格納可能な鍵であり、 後述する処理手順により、他のホス ト装置に格 納済みのサブキーセッ ト : [ I D e n, LK e n] は、 情報記憶装置を介して 他のホス ト装置にコピー格納することが可能である。
サブキーセッ ト : [ I D e n , L K e n ] を適用して、 情報記憶装置 (メモ リカード) に対して口ック処理を実行し、 口ック処理に適用したサブキーセッ トを、 情報記憶装置 (メモリカード) を介して他のホス ト装置にコピー出力可 能とした態様の口ック処理をェクスポート口ック処理と呼ぶ。
このサブキーセッ ト : [ I D e n, LK e n] を適用したロック処理をェク スポート口ック処理と呼び、ホス ト装置と しての情報処理装置からェクスポー トロッタコマンドを情報記憶装置に対して出力することでェクスポートロッ クが実行され、アン口ックコマンドの出力によりアン口ック処理が実行される。 エクスポート口ックのなされた情報記憶装置 (メモリカード) から、 ホス ト 装置が入手したサブキーセッ ト : [ I D e n, LK e n] は、 そのホス ト装置 内のメモリに書き込み可能となる。このサプキーセッ トのコピー書き込み処理 をイ ンプリ ント処理と呼ぶ。 インプリ ント処理により、 同一のサプキーセッ ト : [ I D e n, LK e n] を有する複数のホス ト装置からなるグループが形 成される。
このよ うに、 サブキーセッ ト : [ I D e n, LK e n] は、 外部に出力可能 な設定と した口ック処理、 すなわちェクスポート ( e x p o r t ) ロック処理 に適用可能なキーセッ トであり、それぞれ、 I D, LKに [ e ] を添えて示す。
[e n] の nは、 サブキーセッ トナンバーを示し、 設定したグループ数に相当 する。
各ホス ト装置は、 複数の異なるサブキーセッ トを格納可能である。 例えば、 サブキーセッ ト 1 : [ I D e l , L K e 1 ] を、 ホス ト装置と しての P C (Personal Computer; ― a , P C— b , PDA (Personal Digital Assistants) 一 aの 3つのホス ト装置からなるグループの共有サブキーセッ ト (サブ 1 ) と して設定し、 サブキーセッ ト 2 : [ I D e 2, LK e 2] を、 P C— a , P D A— a . P DA— bのグループの共有サブキーセッ ト (サブ 2) として設定し た場合、 各ホス ト装置は、 それぞれのプライマリ I D ( I D s ), プライマリ ロックキー (L K s ) からなるプライマリキーセッ ト [ I D s , LK s ] をメ モリに格納するとともに、
P C— aは、 [ I D e l , L K e 1 ], [ I D e 2 , L K e 2 ]
P C— bは、 [ I D e l , L K e 1 ]
PDA— aは、 [ I D e l , L K e 1 ], [ I D e 2 , L K e 2 ]
PDA— bは、 [ I D e 2, L K e 2 ]
の各サブ I Dとサブ口ックキーからなるサプキーセッ トを、それぞれ格納す ることになる。
これらのサブ I Dとサブロックキーの組データからなるサブキーセッ ト : [ I D e n , LK e n] を自己のメモリ 5 1 5内に書き込むことで、 1以上の ホス ト装置からなるホス ト装置グループ一 nの構成メンバーとなることがで き、 グループ nのメンバは、 共通に保有するサブ I D ( I D n)、 共通のサブ ロックキー (LKn) を適用して、 1つの情報記憶装置 (メモリカード) に対 するロック処理、 アンロック処理が可能となる。
一方、メモリカード等の情報記憶装置 5 2 0内の制御部内の ROM等のメモ リ 5 2 5には、 口ックマスターキー (LMK) が格納される。 情報記憶装置 5 2 0に格納されるロックマスターキー (LMK) と、 ホス ト装置に格納される I D ( I D sおよび I D e nを含む) と、 ロックキー (LK (LK s と LK e nを含む)) とは、 以下の関係を持つ。
L K = H (LMK, I D)
このロックマスターキー (LMK) と、 I D, LKとの対応は、 前述の LM Kの適用処理と全く同様であり、 プライマリ I D ( I D s ) に対する口ックマ スターキー LMKを適用したハツシュ値算出処理により、プライマリ ロックキ 一 (LK s ) が算出され、 サプ I D ( I D e n) に対する口ックマスターキー LMKを適用したハッシュ値算出処理により、 サブロックキー (LK e n) が 算出される。
プライマリキーセッ ト [ I D s , LK s ] と、 サブキーセッ ト [ I D e n, LK e n] を利用したロック処理態様について、 図 1 0を参照して説明する。 ロック処理態様には、 図 1 0 ( a ) 〜 ( c) に示す 3つの態様がある。
( a) は、 各ホス ト装置 5 1 0に固有のプライマリ I D ( I D s ) と、 プラ ィマリ ロックキー (LK s ) とからなるプライマリキーセッ ト [ I D s , LK s ] 5 3 1 を適用したスタンダードロック処理である。
プライマリキーセッ ト : [ I D s, LK s ] 5 3 1を適用したスタンダード 口ック処理は、ホス ト装置 5 1 0から情報記憶装置 5 2 0に対してスタンダー ドロックコマンドを出力することで実行され、アン口ックコマンドの出力によ りアン口ック処理が実行される。
スタンダードロック処理がなされると、ロック情報記憶装置(メモリカード) 5 2 0の記憶部(フラッシュメモリ) のスタンダードロックキーセッ ト格納領 域 5 4 1にプライマリキーセッ ト [ I D s , LK s ] が格納される。 このロッ ク処理が実行されると、スタンダードロックに適用したプライマリキーセッ ト [ I D s , LK s ] は、 口ック情報記憶装置 (メモリカード) 5 2 0から外部 に出力されることはなく、 ロック解除 (アンロック) 処理が実行できるのは、 同一のプライマリ キーセッ ト [ I D s , L K s ] を有するホス ト装置、 すなわ ちスタンダードロック処理を実行した唯一のホス ト装置となる。
プライマリ I D ( I D s ), プライマリ ロックキー (LK s ) からなるプラ ィマリキーセッ ト [ I D s , LK s ]は、上述した LMK適用処理と全く同様、 ホス ト装置対情報記憶装置の 1対 1対応の口ック処理、アン口ック処理に適用 でき、 図 5乃至図 8を参照して説明した処理と同様な処理での口ック処理、 ァ ンロック処理が可能である。
(b) は、 複数のホス ト装置が共有可能なサブ I D ( I D e n) と、 サプロ ックキー (LK e n ) とからなるサブキーセッ ト [ I D e n, LK e n] 5 3 2を適用したエクスポートロック処理である。
サプキーセッ ト [ I D e n, LK e n] 5 3 2を適用したェクスポートロッ ク処理は、ホス ト装置 5 1 0から情報記憶装置 5 2 0に対してェクスポート口 ックコマンドを出力することで実行され、アン口ックコマンドの出力により了 ンロック処理が実行される。
エクスポート口ック処理がなされると、口ック情報記憶装置(メモリカード) 5 20の記憶部 (フラッシュメモリ) のェクスポートロックキーセッ ト格納領 域 54 2にサブキーセッ ト [ I D e n, LK e n] が格納される。 このロック 処理が実行された場合、 ェクスポートロッタに適用したサブキーセッ ト [ I D e n, LK e n] は、 後段で詳細に説明するインプリ ント処理を実行すること で、 他のホス ト装置が、 ロック情報記憶装置 (メモリカード) 5 2 0から入手 することが可能となる。
このエクスポートロック処理が実行された場合、 ロ ック解除 (アンロック) 処理が実行できるのは、 口ック処理を実行したホス ト装置と、 ィンプリント処 理によって、 ェクスポートロックに適用したサブキーセッ ト [ I D e n, L K e η] を入手したホス ト装置となる。
( c) は、 各ホス ト装置 5 1 0が共有可能なサブ I D ( I D e n) と、 サブ ロックキ一 (LK e n) とからなるサプキーセッ ト [ I D e n, LK e n] 5 3 2を適用したスタンダードロック処理である。この処理をグループ口ックと 呼ぶ。 サプキーセッ ト [ I D e n, LK e n] 5 3 2を適用したスタンダードロッ ク処理、 すなわちグループ口ック処理は、 ホス ト装置 5 1 0から情報記憶装置 5 2 0に対してスタンダードロックコマンドを出力することで実行され、アン ロックコマン ドの出力によ りアン口ック処理が実行される。 ただし、 この処理 の際に適用するキーセッ トは、 サブキーセッ ト [ I D e n, L K e n ] 5 3 2 となる。
これは、 基本的には、 スタンダ一ドロックと同様の処理であり、 適用するキ 一セッ トをサプキーセッ ト [ I D e n, LK e n] 5 3 2 と した処理である。 このグループロック処理がなされると、 ロック情報記憶装置 (メモリカード) 5 2 0の記憶部 (フラッシュメモリ) のスタンダードロックキーセッ ト格納領 域 5 4 1にサブキーセッ ト [ I D e n, LK e n] が格納される。 このロック 処理が実行されると、 グループロックに適用したサブキーセッ ト [ I D e n, LK e n] は、 スタンダードロックキーセッ ト格納領域 5 4 1に格納されるの で、 口ック情報記憶装置 (メモリカード) 5 2 0から外部に出力されることは ない。
このグループ口ックの解除 (アンロック) 処理が実行できるのは、 同一のサ ブキーセッ ト [ I D e n, LK e n] を有するホス ト装置である。 ただし、 こ の場合、 グループ口ックを実行したホス ト装置のみならず、 すでに同一のサブ キーセッ ト [ I D e n, L K e n] を事前に入手したホス ト装置が含まれる。 例えば、 事前に同一のサブキーセッ ト [ I D e n , LK e n] を適用したェ クスポートロック処理が行なわれ、そのェクスポート口ック処理の実行時にィ ンプリント処理により同一のサプキーセッ ト [ I D e n, LK e n]を入手し、 メモリに格納しているホス ト装置は、 アン口ックが可能となる。
サプキーセッ ト [ I D e n, LK e n] を適用したスタンダードロック、 す なわちグノレープロックにおけるロック処理、 アンロック処理のシーケンスは、 上述した LMK適用処理と同様のシーケンス (図 5乃至図 8参照) となる。 た だし、 口ック アン口ックを実行できるホス ト装置が、 インプリ ント処理によ り複数になり得る点が異なる。
以下、 複数のホス ト装置において共有可能なサブ I D ( I D e n), サブ口 ックキー (LK e n)、 すなわち、 サブキーセット [ I D e n, LK e n] を 適用した口ック処理、 および、 情報記憶装置 (メモリカード) を介したホス ト 装置に対するサブキーセッ ト [ I D e n, LK e n] のコピー格納処理 (ィン プリント処理) および、ェクスポートロックの解除としてのアン口ック処理に ついて説明する。
(サブキーセットに基づく口ック処理)
まず、 サブ I D ( I D e n), サプロックキー (LK e n ) からなるサブキ 一セッ ト [ I D e n, LK e n] を適用した情報記憶装置 (メモリカード) に 対するロック処理の詳細について説明する。
前述したように、 サブキーセッ ト : [ I D e n, LK e n] を適用した情報 記憶装置 (メモリカード) に対する口ック処理により、 口ック処理に適用した サブキーセッ トを、 情報記憶装置 (メモリカード) を介して他のホスト装置に コピー出力可能としたェクスポートロック処理が可能となる。
図 1 1にサブキ一セットに基づく口ック処理におけるホスト装置と、情報記 憶装置間で実行される処理シーケンス図を示す。 ホスト装置と、情報記憶装置 は、 それぞれ相互にデータ転送可能に接続されている。
なお、情報記憶装置は、図 1 1に示す口ックステータスフラグ 5 5 1を有し、 情報記憶装置におけるロック状態を示す値を保持する。上段の NVMは、図 3 において説明したフラッシュメモリ等によって構成されるメモリ部 2 2 0の N VM (Non-Volatile Memory) 領域に格納されるフラグであり、 下段は、 制 御部 2 1 0内の RAM 2 1 3に格納されるフラグである。情報記憶装置の電源 オフにより、 RAM内のフラグは消去されるが、 NVMのフラグデータは維持 される。従って RAMのフラグの書き換えに応じて、 NVMに対するフラグデ ータのコピーが実行され、 電源オフ後、 新たに電源オンとなった場合に、 NV Mのフラグ情報が RAMにコピーされる。 なお S Lはスタンダードロック、 E Lはエクスポートロックであり、 1がロック状態、 0が非ロック状態を示す。 スタンダードロックは、 ロックに適用したキーセット [ I D, L K] の外部 出力を認めない口ック態様であり、ェクスポートロックは、 ロックに適用した キーセッ ト [ I D, L K]の外部出力を認めた口ック態様であり、 S L = 1は、 スタンダードロック状態であること、 E L= 1は、エクスポートロック状態で あることを示している。
情報記憶装置 (メモリカード) は、 スタンダードロックに適用したキーセッ トと、エクスポートロックに適用したキーセットとをそれぞれ格納するデータ 格納領域をメモリ部 (フラッシュメモリ (NVM)) 内に有する。
初期状態としては、 図に示すように、 S L = 0 , E L= 0であり、 スタンダ ードロック ( S L)、ェクスポートロック (E L) のいずれも行われていない、 すなわちすべてのホスト装置が情報記憶装置のメモリ部に対してアクセス可 能な状態である。
この初期状態において、 まず、 ホス ト装置が、 乱数発生コマンドを情報記憶 装置に対して出力する。乱数発生コマンドを受信した情報記憶装置は、所定長、 例えば 1 6バイ トの乱数 (Rm s ) の発生処理を実行し、 発生乱数 (Rm s ) をホス ト装置に対して送信する。 なお、 情報記憶装置は、 発生乱数 (Rm s ) を制御部内の RAM等のメモリに格納しておく。
情報記憶装置から乱数 (Rm s ) を受信したホスト装置は、 予めホスト装置 内のメモリに格納済みのサブ口ックキー (L K e n) を喑号処理キーとした受 信乱数 (Rm s ) の暗号処理: E (LK e n, Rm s ) を実行する。 暗号処理 アルゴリズムは様々なアルゴリズムの適用が可能であり、例えば D E S喑号処 理アルゴリズムが適用される。
ホスト装置は、 サブ口ックキー (LK e n) を暗号処理キーとした受信乱数 (Rm s ) の喑号処理: E (L K e n , Rm s ) を実行し、その結果データ [E (LK e n, Rm s )] と、 ホス ト装置が予めホス ト装置内のメモリに格納し ているサブロックキー(LK e n)に対応する組みデータと してのサブ I D ( I D e n) とを、 ロックコマンドとともに情報記憶装置に送信する。
データ : I D e n, E (LK e n, Rm s ) を受信した情報記憶装置は、 ま ず、 受信したサブ I D ( I D e n) に対して、 自己のメモリに格納されている 口ックマスターキー (LMK) を適用したハッシュ値算出処理により、 受信サ プ I D ( I D e n) に対応するサブ口ックキー (LK e n) を算出する。 すな わち、
L K e n =H ( LMK, I D e n)
により、 受信サブ I D ( I D e n) に対応するサプロックキー ( L K e ιι ) を算出する。 なお、 受信サブ I D ( I D e n) は、 自己のメモリに格納保持す る。受信サブ I D ( I D e n)は、後述するアン口ック処理の際に利用される。 さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm sに対して、 上 述のハッシュ値算出により求めたサブ口ックキー(LK e n) を適用した暗号 処理: E (L K e n , Rm s ) を実行し、 ホスト装置から受信した暗号処理デ ータ: E (LK e n, Rm s ) と一致するか否かの照合処理を実行する。なお、 暗号処理アルゴリズムはホスト装置と同一のアルゴリズムであれば、様々なァ ルゴリズムの適用が可能である。
ホスト装置からの受信データ : E (LK e n , Rm s ) と、 自身が算出した 喑号処理データ: E (LK e n, Rm s ) とが一致すれば、正当なサブ I D ( I D e n) と、 サブロ ックキー (LK e n) の組データを持つ正当なホスト装置 からの口ック処理要求であると判定しェクスポート口ック処理を実行し、口ッ ク完了通知をホスト装置に対して送信する。 不一致の場合は、正当なサブ I D ( I D e n ) とサブ口ックキー (L K e n) の組データを持つホスト装置では 無いと判定し、不正機器からの口ック処理要求であると判定し、ェクスポート 口ック処理を行なわずエラー通知をホスト装置に送信する。
なお、情報記憶装置の実行するエクスポートロック処理は、 コンテンツ等の データ格納領域であるフラッシュメモリ等によって構成されるメモリ部(図 3 のメモリ部 2 2 0) に対するアクセスを、 次に説明するサブ I D、 サブロック キーを適用したアン口ック処理を実行することを条件として許可する設定と する処理であり、ェクスポ一トロックに適用されたェクスポートキーセッ ト : [ I D e n , LK e n] を情報記憶装置 (メモリカード) のメモリ部 (フラッ シュメモリ (NVM))のエクスポートロ ックキーセッ ト格納領域に格納する。 さらに、 ロックステータスフラグの書き換えを実行する。
エクスポート口ックが実行されると、図に示すように、 ロックステータスフ ラグは、 ェクスポートロックが有効な状態を示すフラグ: E L = 1が N VM, RAMそれぞれに格納される。 これらのフラグは、 まず情報記憶装置の制御部 内の RAM 2 1 3 (図 3参照) に E L = 1が設定された後、 N VM (ブラッシ ュメモリによって構成されるメモリ部 2 2 0) に E L= 1がコピーされる。 こ の状態で、情報記憶装置の電源がオフとなると、 RAMのフラグ情報は消去さ れるが、 NVMのフラグ情報は維持され、 その後、 再び情報記憶装置の電源が オンとなると、 NVMのフラグ情報 (E L = 1 ) が RAMにコピーされ、 制御 部 2 1 0 (図 3参照) は、 R AMのフラグ情報 (E L = 1 ) に基づく処理を行 なう。
フラグ情報が E L = 1である場合は、ェクスポート口ック状態であることを 示し、 情報記憶装置 (メモリカード) の NVM (ブラッシュメモリによって構 成されるメモリ部 2 2 0)のェクスポートロックキーセッ ト格納領域に格納さ れたサブキーは、後述するィンプリ ント処理によって他のホス ト装置に出力可 能となる。
次に、 図 1 2に示すフローチヤ一トを参照して、ェクスポート口ック処理の 手順について説明する。 ステップ S 3 0 1において、 情報記憶装置と してのメ モリカードが、 ホス ト装置からの乱数発生要求コマンドの受信に基づいて、 乱 数 (R s m) を発生する。 発生した乱数は、 ステップ S 3 0 2において、 ホス ト装置によって読み出され、 ステップ S 3 0 3において、 ロックコマンドとと もに、 ホス ト装置の記憶部に格納済みのサブ I D ( I D e n) を取得し、 さら 〖こ、受信乱数(Rm s )をホス ト装置の記憶部に格納済みのサプロックキ一(L K e n) で暗号化し、 データ : E (LK e n , R m s ) を生成し、 これらの連 結データ : I D e n, E (LK e n, R m s ) を情報記憶装置と してのメモリ カードに送信する。
ステップ S 3 0 4において、メモリカードは、受信したサプ I D ( I D e n)、 および暗号化データ : E (LK e n, R m s ) とを情報記憶装置内のメモリ に 書き込む。 ステップ S 3 0 5において、 メモリカードは、 自身のメモリに格納 した口ックマスターキー (LMK) を適用して、 受信サブ I D ( I D e n ) の ハッシュ値算出、 すなわち、
H ( LMK, I D e n) = LK e n を実行し、 受信サブ I D ( I D e n) に対応するサプロックキー (LK e n) を算出する。
さらに、メモリカードは、算出したサプロックキー(LK e n) に基づいて、 先にステップ S 3 0 1で発生した乱数 (Rm s ) の暗号化処理を実行して、 暗 号化データ : E (LK e n, Rm s ) を照合用データと して算出する。
次に、 メモリカードは、 ステップ S 3 0 6において、 ステップ S 3 0 5で算 出した暗号化データ : E (LK e n , R m s ) と、 ステップ S 3 0 3でロック コマンドとともにホス ト装置から受信し、 ステップ S 3 0 4で、 メモリに格納 した暗号化データ : E (LK e n, Rm s ) との比較照合処理 [E (LK e n, Rm s ) = E (LK e n, R m s ) ?] を実行する。
この比較照合処理において、 両値が等しければ、 ホス ト装置は、 正当な正し いサブ I D ( I D e n ) とサプロックキー ( L K e n ) の組データと してのサ プキーセッ ト [ i D e n, LK e n] を保有した正当な機器であると判定し、 ステップ S 3 0 7において口ックコマンドに応じた口ック処理、 すなわち、 後 述するサブキーセッ ト [ I D e n, LK e n] を適用した口ックの解除処理と してのアン口ック処理の成功を条件と してメモリに対するアクセスを可能と する設定を実行する。 この際、 前述の口ックステータスフラグを E L = 1に設 定する。
一方、 ステップ S 3 0 6の比較照合処理において、 E (LK e n, R m s ) =E (LK e n, Rm s ) が成立しないと判定されると、 ステップ S 3 0 8に おいて、 ロックコマンドを送信してきたホス ト装置は、 正しいサブ I D ( I D e n) とサブ口ックキー (LK e n) の組データを保有していない不正機器で あると判定し、 口ック処理を実行せず、 エラー通知をホス ト装置に対して送信 する。
上述した処理に従って、 エクスポートロックのなされた情報記憶装置は、 口 ック処理を実行したサブ I D ( I D e n) とサブ口ックキー ( LK e n) の組 データと して、 同一のサプキーセッ ト [ I D e n, LK e n] を保有したホス ト装置であれば、 前述の [ロックマスターキー (LMK) に基づく処理] にお いて説明したアン口ック処理と、同様の処理手続きによってアン口ックが可能 となる。 すなわち、 適用する I Dとロックキーを、 サプ I D ( I D e n) とサ プロックキー (LK e n) に置き換えることでアンロックが可能となる。 しかし、 口ック処理を実行したサプキーセット [ I D e n, LK e n] と同 一のキーセットを保有していない他のホスト装置は、ロック処理に適用された サブキーセット [ I D e n , L K e n ] を取得しない限り情報記憶装置のロッ ク解除、 すなわちアクセスができない。
正当なプライマリ I D ( I D s ) とプライマリロックキー (LK s ) の組デ ータとしてのプライマリーキーセット [ I D s , L K s ]を持つホスト装置は、 ェクスポートロックのなされた情報記憶装置に格納されているサブキーセッ ト [ I D e n, L K e n ] を情報記憶装置から取得することが可能であり、 取 得したサブキーセット [ I D e n, LK e n] を適用してロックを解除するこ とが可能となる。情報記憶装置を介したサブキーセッ ト [ I D e n, LK e n] の取得をィンプリント処理と呼ぶ。
このように、 あるサブキーセット [ I D e n, LK e n] に基づいて、 口ッ ク状態とされ、 そのサブキーセッ ト [ I D e n, LK e n] を他のホスト装置 に出力可能な口ック状態をェクスポート口ック状態と呼ぶ。
ホス ト装置は、 エクスポート口ック状態にある情報記憶装置から、エタスポ 一トロック処理に適用されたサブキーセット [ I D e n, LK e n]を取得(ィ ンプリント) することで、 同一のサブキーセット [ I D e n, LK e n] を保 有する複数のホスト装置によって構成されるグループの構成メンバーとなり、 その後、 取得したサブキーセット [ I D e n, LK e n] を適用してロックを 解除することができる。 以下、 このインプリントおよび、 ロック解除処理 (ァ ンロック処理) の詳細について説明する。 (インプリントおよびアンロック処理)
ホスト装置が、上述したェクスポート口ック処理による口ックがなされてい る情報記憶装置から、 サプロックキー (LK e n) と、 サブ I D ( I D e n) とからなるサプキーセット [ I D e n, LK e n] を取得するィンプリント処 理と、ェクスポート口ック処理による口ックがなされている情報記憶装置の口 ックを解除するアン口ック処理について説明する。
図 1 3にホスト装置と、情報記憶装置間で実行されるインプリント処理とァ ンロック処理の処理シーケンス図を示す。 ホスト装置と、 情報記憶装置は、 そ れぞれ相互にデータ転送可能に接続されている。 なお、情報記憶装置の口ック ステータスフラグは、図に示すように、ェクスポート口ックが有効である状態 を示す E L = 1が N VM, RAMにそれぞれ設定されているものとする。 ホスト装置は、情報記憶装置に対するェクスポートロックに適用したサブ I D ( I D e n ) とサブロックキー (LK e n) とからなるサブキーセッ ト [ I D e n, LK e n] を有しておらず、 情報記憶装置は、 サブキーセット [ I D e n, LK e n] をエクスポートキー格納領域に格納している。 情報記憶装置 は、 いわゆるエクスポートロック状態にある。
まず、 ホス ト装置が、 乱数発生コマンドを情報記憶装置に対して出力する。 乱数発生コマンドを受信した情報記憶装置は、所定長、例えば 1 6バイト乱数 (Rm s ) の発生処理を実行し、 発生乱数 (Rm s ) と、 先のェクスポート口 ック処理の際にメモリに格納済みのサプ I D ( I D e n)、 すなわちェクスポ ートロック処理に適用されたサプキーセッ ト [ I D e n, LK e n] 中のサブ I D ( I D e n) をホス ト装置に対して送信する。 なお、 情報記憶装置は、 発 生乱数 (Rm s ) を制御部内の RAM等のメモリに格納しておく。
情報記憶装置からサブ I D ( I D e n) と、 乱数 (Rm s ) を受信したホス ト装置は、 まず、受信サブ I D ( I D e n) が自己のプライマリ I D ( I D s ) と一致するか否かを判定する。 一致していれば、 前述の LMK適用処理 (図 7 参照) と同様のプライマリロックキ一 (LK s ) を適用したアン口ックが可能 である。
受信サブ I D ( I D e n) が自己のプライマリ I D ( I D s ) と一致してい ない場合は、他のホスト装置による口ックが実行されていることになるが、 こ の受信サブ I D ( I D e n)、 およびサブロックキー (LK e n) を取得する インプリント処理により、 サブキーセット [ I D e n , LK e n] を適用した ェクスポートロックを実行した他のホスト装置と同一のグループに属するこ とが可能となる。 すなわち、 インプリント処理を実行して、 サプ I D ( I D e n)、 サブロッ クキー (LK e n) をそれぞれ取得し、 これらの組データとしてのサブキーセ ット [ I D e n, LK e n] を自己のメモリに格納し、 グループに属するホス ト装置となり、 取得したサブキーセット [ I D e n, LK e n] を適用してェ タスポート口ックの解除が可能となる。ィンプリント処理を実行する場合、 ホ スト装置は、 情報記憶装置から受信したサブ I D ( I D e n) をメモリに格納 する。
インプリント処理を実行するホスト装置は、次に、予めホスト装置内のメモ リに格鈉済みのプライマリロックキー(LK s ) を喑号処理キーとした受信乱 数 (Rm s ) の暗号処理: E (LK s , R m s ) を実行し、 その結果データと プライマリ I D ( I D s ) とを、 スタンダードロックコマンドとともに情報記 憶装置に送信する。 なおこのロック処理は、 すでに、 サブロ ックキー (LK e n)によるェクスポート口ックがなされている情報記憶装置に対してさらにプ ライマリロックキー(LK s ) によるスタンダードロックをかける処理である のでォ一パーロック処理と呼ぶ。
ホスト装置から、 プライマリ I D ( I D s ) と暗号化データ : E (L K s , Rm s ) を受信した情報記憶装置は、 まず、受信したプライマリ I D ( I D s ) に対して、 ロックマスターキー (LMK) を適用したハッシュ値算出処理によ り、 プライマリ I D ( I D s ) に対応するプライマリ口ックキー ( L K s ) を 算出する。 すなわち、
L K s = H ( LMK, I D s )
により、 プライマリ I D ( I D s ) に対応するプライマリロックキー (LK s ) を算出する。
さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm sに対して、 上 述のハッシュ値算出により求めたプライマリロックキー(LK s ) を適用した 暗号処理: E (LK s , Rm s ) を実行し、 ホスト装置から受信した暗号処理 データ : E (LK s , Rm s ) と一致するか否かの照合処理を実行する。 ホスト装置からの受信データ : E (LK s , Rm s ) と、 自身が算出した暗 号処理データ : E (LK s , Rm s ) とがー致すれば、 正当なプライマリ I D ( I D s ) と、 プライマリロックキー (LK s ) の組データとしてのプライマ , リキーセット [ I D s , L K s ] を持つホスト装置からのオーバー口ック処理 要求であると判定しオーバー口ック処理を実行し、オーバー口ック完了通知を ホスト装置に対して送信する。
ホスト装置からの受信データ : E (LK s , Rm s ) と、 自身が算出した喑 号処理データ : E (LK s , Rm s ) とが不一致の場合は、 '正当なプライマリ I D ( I D s ) と、 プライマリロックキー (LK s ) の組データとしてのプラ ィマリキーセッ ト [ I D s , LK s ] を持つホスト装置では無いと判定し、 不 正機器からのオーバー口ック処理要求であると判定し、オーバー口ック処理を 行なわずエラー通知をホスト装置に送信する。
なお、情報記憶装置の実行するオーバー口ック処理は、ェクスポートロッタ 状態にさらにスタンダードロックを重ねて行なった状態とするもので、情報記 憶装置の口ックステータスフラグは、図に示すように、エクスポートロックが 有効である状態を示す E L = 1が NVM, RAMにそれぞれ設定され、さらに、 オーバー口ック処理により、スタンダードロックが有効である状態を示す S L = 1が RAMに設定される。 なお、 RAMに設定されたフラグ情報は、 電源ォ フ以前に N VMにコピーされる。
さらに、オーバー口ック完了通知を受信したホスト装置は、インプリ ント処 理および、 口ック解除を続けて行なうものとする。 ホスト装置は、 再度、 乱数 発声コマンドを情報記憶装置に送信する。
乱数発生コマンドを受信した情報記憶装置は、新たに第 2の乱数(Rm s 2) の発生処理を実行し、
発生乱数 (Rm s 2) と、
スタンダードロックを実行したホスト装置のプライマリ I D ( I D s ) と、 エクスポートロック処理に適用されたサブ I D ( I D e n) と、 さらに、 サブ I D ( I D e n) に対応するサプロックキー (LK e n) をプライマリ I D ( I D s ) 対応するプライマリロックキー (LK s ) によって暗号化した 暗号化データ : E (LK s , LK e n) の連結データ、
すなわち、 I D s , Rm s 2 , I D e n , E (LK s , L K e n )
をホスト装置に対して送信する。 なお、 情報記憶装置は、 発生乱数 (Rm s 2) を制御部内の RAM等のメモリに格納しておく。
情報記憶装置からデータ : I D s , Rm s 2 , I D e n, E (LK s , L K e n) を受信したホスト装置は、 まず、 暗号化データ : E (LK s , LK e n) を自身のメモリに格納されたプライマリロックキー (LK s ) を適用して復号 し、 サブ口ックキー (LK e n) を取得する。 これは、 先に取得したサプ I D ( I D e n) に対応するサブ口ックキー (L K e n) であり、 取得したサブ一 キーセッ ト [ I D e n, LK e n] をメモリに格納する。 このインプリント手 続きにより、 このホス ト装置は、 グループ N o . nのグループに属することが できる。
次に、 ホスト装置は、 情報記憶装置のロック解除処理を続けて実行する。 ホ スト装置は、情報記憶装置から受信した暗号化データ: E (LK s , LK e n) に対するプライマリ ロックキー(LK s ) を適用した復号により取得したサブ ロックキー (LK e n) に基づいて、 情報記憶装置から受信した乱数 (Rm s 2) の暗号化処理を実行し、 暗号化データ : E (LK e n, Rm s 2) を生成 して、 アンロックコマンドとともに情報記憶装置に送信する。
ホス ト装置から、アン口ックコマンドとともに暗号化データ: E ( L K e η , Rm s 2) を受信した情報記憶装置は、 まず、 自身のメモリに格納済みのサブ I D ( I D e n) に対して、 口ックマスタ一キー ( LMK) を適用したノヽッシ ュ値算出処理により、 サブ I D ( I D e n) に対応するサブ口ックキー (LK e n) を算出する。 すなわち、
L K e n =H (LMK, I D e n)
により、 サブ I D ( I D e n) に対応するサプロックキー (LK e n) を算 出する。
さらに、 情報記憶装置は、 自己のメモリに格納した乱数 Rm s 2に対して、 上述のハッシュ値算出により求めたサプロックキ一 (L K e n) を適用した喑 号処理: E (LK e n, Rm s 2) を実行し、 ホスト装置から受信した喑号処 理データ: E (LK e n, Rm s 2 )と一致するか否かの照合処理を実行する。 ホスト装置からの受信データ : E (LK e n, Rm s 2) と、 自身が算出し た暗号処理データ : E (LK e n, Rm s 2) とが一致すれば、 正当なサブ I D ( I D e n ) と、 サブ口ックキー (LK e n) の組データを持つホスト装置 からのロックの解除、すなわちアンロック処理要求であると判定しアンロ ック 処理を実行し、 アンロック完了通知をホス ト装置に対して送信する。
ホスト装置からの受信データ : E (LK e n, Rm s 2) と、 自身が算出し た暗号処理データ : E (LK e n, R m s 2 ) とが不一致の場合は、 正当なサ ブ I D ( I D e n) と、 サブ口ックキー (L K e n) の組データとしてのサプ 一キーセット [ I D e n, LK e n] を持つホスト装置では無いと判定し、 不 正機器からのアン口ック要求であると判定し、アン口ック処理を行なわずエラ 一通知をホスト装置に送信する。
アンロック処理により、 ロックステータスフラグは、 E L== 1から E L = 0 に変更され、またェクスポートロッタに対するオーバー口ックとして設定され たスタンダードロックも解除され S L= 1から S L= 0に変更される。すなわ ち、 スタンダードロックは、 エクスポートロックの解除に併せて解除される。 なお、 ロックステータスフラグの変更シーケンスは、 まず、 制御部内の RA Mの格納フラグが書き替えられ、 その後、 適宜、 例えば電源オフ実行前に NV Mに RAM内のフラグ情報がコピーされ、電源再投入時には、 NVMのフラグ 情報が RAMにコピーされるシーケンスであり、制御部は、 RAMのフラグ情 報に基づくアクセス制限処理を実行する。
次に、 図 1 4および図 1 5に示すフローチヤ一トを参照して、ェクスポート ロック処理によるロックがなされている情報記憶装置から、 サブロックキー
(LK e n) と、サブ I D ( I D e n)からなるサブ一キーセッ ト [ I D e n, LK e n] を取得するィンプリント処理と、ェクスポートロック処理による口 ックがなされている情報記憶装置の口ックを解除するアン口ック処理の手順 について説明する。
ステップ S 4 0 1において、情報記憶装置としてのメモリカー ドが、 ホス ト 装置からの乱数発生要求コマンドの受信に基づいて、 乱数 (R s m) を発生す る。 発生した乱数は、 ステップ S 4 0 2において、 先にェクスポートロック処 理を実行したホスト装置が情報記憶装置に送信し、情報記憶装置のメモリ部の ェクスポートロッタキーセット格納領域に格納されたサプ I D ( I D e n) と ともに、 ホスト装置によって読み出される。 ホスト装置は、 この時点で、 サブ キーセッ ト [ I D e n, L K e n] 中のサブ I D ( I D e n) を取得する。 ホスト装置は、 メモリカードから読み出したサブ I D ( I D e n) と自己の プライマリ I D ( I D s ) がー致しないことの確認により、 情報記憶装置が、 スタンダード口ック状態ではなく、ェクスポート口ック状態にあると判断する。 ホス ト装置は、 次に、 ステップ S 4 0 3において、 オーバー口ックと してのス タンダードロックコマンドとともに、 受信乱数 (Rm s ) をホスト装置のブラ ィマリロックキー (LK s ) で暗号化したデータ : E (LK s , Rm s ) と、 自己のプライマリ I D ( I D s ) を情報記憶装置としてのメモリカードに送信 する。
ステップ S 4 04において、 情報記憶装置 (メモリカード) は、 ホスト装置 から受信したプライマリ I D ( I D s ) と、 暗号化デ一タ : E (LK s , Rm s ) とを情報記憶装置内のメモリに書き込む。 ステップ S 40 5において、 メ モリカードは、 受信したプライマリ I D ( I D s ) に対して、 自身のメモリに 格納した口ックマスターキー(LMK)を適用してハッシュ値算出、すなわち、 H (LMK, I D s ) = L K s
を実行し、 プライマリ I D ( I D s ) に対応するプライマリロックキー (L K s ) を算出する。
さらに、 メモリカードは、 算出したプライマリロックキー (LK s ) に基づ いて、 先にステップ S 4 0 1で発生した乱数 (Rm s ) の暗号化処理を実行し て、 暗号化データ : E (LK s , Rm s ) を照合用データとして算出する。 次に、 メモリカードは、 ステップ S 4 0 6において、 ステップ S 4 0 5で算 出した暗号化データ : E (LK s , Rm s ) と、 ステップ S 4 0 3でスタンダ ードロックコマンドとともにホスト装置から受信し、 ステップ S 4 04で、 メ モリに格納した暗号化データ: E (LK s , Rm s ) との比較照合処理 [E (L K s , Rm s ) = E (LK s , Rm s ) ?] を実行する。
この比較照合処理において、 両値が等しければ、 ホスト装置は、 正当な正し いプライマリ I D ( I D s ) とプライマリロックキー (LK s ) の組データと してのプライマリキーセッ ト [ I D s , LK s ] を保有した正当な機器である と判定し、ステップ S 4 0 7においてスタンダードロックコマンドに応じたス タンダードロック処理を実行する。 これは、ェクスポートロック状態にさらに スタンダードロックを重ねて行なうオーバー口ック処理である。情報記憶装置 のロックステータスフラグは、 エクスポートロック、 スタンダードロックがと もに有効である状態を示す E L = 1、 S L = 1が RAMに設定される。
一方、 ステップ S 4 0 6の比較照合処理において、両値が等しくないと判定 されると、 ステップ S 4 0 8において、 スタンダードロックコマンドを送信し てきたホスト装置は、 正当なプライマリ I D ( I D s ) とプライマリロックキ 一 (LK s ) の組データとしてのプライマリキーセット [ I D s , LK s ] を 保有したホスト装置ではないと判定し、 オーバー口ック処理を実行せず、エラ 一通知をホスト装置に対して送信する。
ステップ S 4 0 7のオーバー口ック処理と してのスタンダードロックが行 われ、 さらに。 インプリント処理、 口ック解除を実行する場合は、 図 1 5のス テツプ S 5 0 1に進む。
オーバーロック完了通知を受信したホスト装置は、再度、乱数発生コマンド を情報記憶装置に送信し、乱数発生コマンドを受信した情報記憶装置は、 ステ ップ S 5 0 1において、新たに第 2の乱数(Rm s 2 )の発生処理を実行する。 ステップ S 5 0 2において、 ホス ト装置は、
乱数 (Rm s 2 ) と、
スタンダードロックを実行したホスト装置のプライマリ I D ( I D s ), サブ I D ( I D e n)、 さらに、
サプ I D ( I D e n) に対応する組みデータとしてのサプロックキー (LK e n) をプライマリ I D ( I D s ) 対応する組みデ一タとしてのプライマリ口 ックキー(LK s )によって暗号化した暗号化データ: E (LK s , LK e n)、 これらの連結データ、 すなわち、 [ I D s , Rm s 2 , I D e n, E (LK s , LK e n)] を情報記憶装置から読み出す。
ステップ S 5 0 3において、 ホスト装置は、情報記憶装置に対する口ック解 除要求としてのアンロックコマンドを送信する。 ホスト装置は、 このアンロッ クコマンドに、 暗号化データ E (LK e n, R m s 2 ) を併せて送信する。 暗号化データ E (LK e n, R m s 2 ) の生成手法は、 以下の手順に従った ものである。 ステップ S 5 0 2において、 情報記憶装置からデータ : I D s , R m s 2 , I D e n, E (LK s , LK e n) を読み出したホスト装置は、 ま ず、 暗号化データ : E (LK s , LK e n) を自身のメモリに格納されたプラ ィマリロックキー (LK s ) を適用して復号し、 サブロックキー (LK e n) を取得する。 これは、 先に取得したサブ I D ( I D e n) に対応するサブロッ クキー (L K e n) である。 次に、 ホスト装置は、 サブ口ックキー (LK e n) に基づいて、 情報記憶装置から受信した乱数 (Rm s 2) の暗号化処理を実行 し、 暗号化データ : E (LK e n, Rm s 2) を生成する。
なお、 ホスト装置は、 取得したサブキーセッ ト : [ I D e n, LK e n] を メモリに格納して、 インプリ ント処理は完了する。 すなわち、 インプリ ント処 理により、 このホス ト装置は、 グループ N o . nのグループに属する。
ステップ S 5 0 4において、ホスト装置から、暗号化データ: E (LK e n, Rm s 2) を受信した情報記憶装置は、受信データ: E (LK e n, Rm s 2) をメモリに書き込む。 さらにステップ S 5 0 5において、照合用データの算出 を実行する。
照合用データの算出処理は、 以下の手順で実行する。 まず、 自身のメモリに 格納済みのサブ I D ( I D e n) に対して、 ロックマスターキー (LMK) を 適用したハッシュ値算出処理により、 サブ I D ( I D e n) に対応するサブ口 ックキー (LK e n) を算出する。 すなわち、
LK e n =H (LMK, I D e n)
により、 サブ I D ( I D e n) に対応するサブ口ックキー (LK e n) を算 出する。 さらに、 ステップ S 5 0 1で発生しメモリに格納した乱数 Rm s 2に 対して、 上述のハッシュ値算出により求めたサブ口ックキー ( L K e n ) を適 用した暗号処理: E (LK e n, Rm s 2)を実行し照合用データを生成する。 ステップ S 5 0 6において、情報記憶装置は、照合用データ: E (LK e n, Rm s 2 ) と、 ホスト装置から受信した暗号処理データ : E (LK e n, Rm s 2) と一致するか否かの照合処理を実行する。
ホス ト装置からの受信データ : E (LK e n, Rm s 2) と、 自身が算出し た暗号処理データ : E (LK e n, Rm s 2 ) とが一致すれば、 正当なサブ I D ( I D e n ) と、 サブ口ックキー (LK e n ) の組データと してのサブキー セッ ト [ I D e n, LK e n] を持つホス ト装置からの口ックの解除、 すなわ ちアン口ック処理要求であると判定し、 ステップ S 5 0 7に進み、 アンロック 処理を実行し、 アン口ック完了通知をホス ト装置に対して送信する。 不一致の 場合は、 正当なサブキーセッ ト [ I D e n, LK e n] を持つホス ト装置では 無いと判定し、 不正機器からのアン口ック処理要求であると判定し、 アンロッ ク処理を行なわずステップ S 5 0 8において、エラー通知をホス ト装置に送信 する。
本処理例に従えば、複数のホス ト装置が、共通のサブキーセッ ト [ I D e η, LK e n]を保有し、 1つの情報記憶装置(メモリカー ド)を利用した口ック、 アンロックが可能となる。 また、 サブキーセッ ト [ I D e n, LK e n] は、 ェクスポートロッタを実行することにより、情報記憶装置を介して他のホス ト 装置にコピー格納するこが可能であり、 柔軟なグループ形成が可能となる。 ま た、 サブキーセッ ト [ I D e n, LK e n] のホス ト装置に対するコピー、 す なわちィンプリ ントにおいては、 正当なプライマリ I D ( I D s ) とプライマ リ口ックキー (LK s ) を所有し、 オーバー口ック処理が実行可能であること が条件となるので、 不正機器に対するサブキーセッ ト [ I D e n, LK e n] のコピー (インプリント) は防止可能となる。
なお、 先に図 1 0 ( c) を参照して説明したように、 サブキーセッ ト [ I D e n, LK e n]を適用したスタンダードロック処理(=グループ口ック処理) の実行も可能であり、 このグループ口ック処理を実行した場合は、 サブキーセ ッ ト [ I D e n, L K e n ] は、 情報記憶装置のスタンダードロックキー格納 領域 (図 1 0参照) に格納され、 他のホス ト装置に対するコピー出力はなされ ない。 すなわち、 すでに同一のサプキーセッ ト [ I D e n, LK e n] を取得 済みのホス ト装置のみが、インプリント処理を伴わない通常のアンロック処理 によりアクセス可能となる。 [ロック状態フラグの維持構成]
上述した 「機器グループでのロック処理構成」 において、 エクスポートロッ ク状態にある情報記憶装置に対してアン口ックを実行すると、全てのロックス テータス (状態) フラグがリセッ ト、 すなわち、 エクスポートロック解除を示 す E L = 0, スタンダードロック解除を示す S L= 0が NVM, RAMに設定 される。 このように、 E L= 0, S L = 0の設定のまま、 電源をオフにし、 そ の後、 電源を再度オンとした場合、 N VMには、 E L = 0, S L = 0が設定さ れているので、 制御部の RAMも S L= 0, E L = 0の設定状態となり、 全て の口ック状態が解放され、各ホス ト装置が自由にメモリに対するアクセスを行 なうことが可能となる。
このようにロックが解除された情報記憶装置は、 紛失、 盗難等により、 不正 な第三者に取得された場合、 自由にメモリアクセスが可能となる。 このような 状況は、 秘密情報を格納する場合には好ましいとは言えない。
以下に説明する例は、上記問題点に鑑みてなされたものであり、 ホスト装置 がアン口ック処理により、ェクスポート口ックの解除を行なった後に電源をォ フとした場合においてもェクスポート口ック状態を維持する構成としたもの であり、 情報記憶装置が、 再度電源オンとなった場合、 エクスポートロックの 解除処理を条件としてメモリアクセスを許容する構成とした例である。
本構成例は、 先に 「機器グループでのロック処理構成」 において図 9を参照 して説明したと同様、 ホスト装置内の R OM等のメモリには、 プライマリ I D ( I D s ),プライマリロックキー(L K s ) からなるプィマリキーセッ ト [ I D s, L K s ] が格納され、 さらに、 ェクスポート口ック処理に適用可能なサ ブ I Dとサブ口ックキーの,袓データとしてのサブキーセット [ I D e n , L K 6 11 ] ( 11 = 1, 2 , ' ' ) が 1以上格納可能な構成であり、 メモリカード等の 情報記憶装置内の制御部内の ROM等のメモリには、 口ックマスターキー(L MK)が格納される。情報記憶装置に格納される口ックマスターキー(LMK) と、 ホスト装置に格納される I D ( I D sおよび I D e nを含む) と、 ロック キー (LK (LK s と LK e nを含む)) とは、 以下の関係を持つ。 LK = H (LMK, I D)
ホス ト装置によるプライマリ I D ( I D s ), プライマリロックキー (LK s ) に基づく ロック処理、 アンロック処理は、前述の [口ックマスターキー( L MK)に基づく処理]において説明したと同様のシーケンスによって実行され、 また、 サブ I D ( I D e n)、 サブロックキー ( L K e n ) に基づく ロック処 理は、 前述の [機器グループでのロック処理構成] において説明したと同様の シーケンスによって実行される。 以下、 本処理例におけるインプリントおよび アンロック処理におけるロックステータスフラグの維持処理について説明す る。
(インプリ ン トおよびアンロック処理におけるロックステータスフラグの 維持処理)
ホス ト装置が、ェクスポート口ック処理によるロックがなされている情報記 憶装置から、 サプロックキー (L K e n) と、 サブ I D ( I D e n) とからな るサブキーセッ ト [ I D e n, LK e n] を取得するィンプリ ント処理と、 ェ クスポートロック処理によるロックがなされている情報記憶装置の口 ックを 解除するアン口ック処理、 さらに、 情報記憶装置が実行する口ックステータス フラグの維持処理について図 1 6以下を参照して説明する。
図 1 6に示すシーケンス図は、 先に、 [機器グループでのロック処理構成] において図 1 3を参照して説明したホス ト装置と、情報記憶装置間で実行され るィンプリ ント処理とェクスポートロ ックのアンロック処理の処理シーケン ス図と基本的に同一であり、 処理手順も同様である。
ただし、シーケンス図の最終処理として実行されるアン口ック完了通知の後 に、 情報処理装置が NVMフラグ設定処理を実行する点が異なる。 すなわち、 前述の [機器グループでのロック処理構成] において説明した処理では、 エタ スポートロックのアンロックが実行されると、ェクスポート口ック解除を示す E L = 0 , スタンダードロック解除を示す S L = 0が N VM, RAMに設定さ れていた。 しかし、 本構成では、 NVMに、 エクスポートロック、 スタンダー ドロックがなされていることを示す E L= 1, S L = 1を設定する。 図 1 7を参照して、 NVMに対する口ックステータスフラグ設定処理の詳細 について説明する。 図 1 7の処理フローは、 図 1 6 (図 1 3と同様) のシーケ ンス図において口ック解除要求(アンロックコマンド) を受信した以降の情報 記憶装置における処理手順を説明するフローである。
まず、 ステップ S 6 0 1において、 情報記憶装置 (メモリカード) がロック の解除要求 (アンロックコマンド) を受信すると、 情報記憶装置は、 アンロッ クコマンドの実行可否を判定するための検証処理として、ステップ S 6 0 2に おいて、 ホス ト装置から、 アンロックコマンドとともに受信した暗号化デー タ : E (LK e n, Rm s 2 ) と、 自身が生成した暗号化データ : E (LK e n , R m s 2 ) との照合処理を実行する。 この処理は、 [機器グループでの口 ック処理構成] において説明したと同様の処理である。
ホスト装置からの受信データ : E (LK e n, R m s 2 ) と、 自身が算出し た喑号処理データ : E (LK e n, Rm s 2 ) とが一致しない場合は、 ステツ プ S 6 0 7において、 エラー通知をホストに返して処理を終了する。
一方、 ホスト装置からの受信データ : E (LK e n, Rm s 2 ) と、 自身が 算出した暗号処理データ : E (LK e n, Rm s 2 ) とが一致した場合は、、 正当なサブキーセット [ I D e n, LK e n] を持つホスト装置からのアン口 ック処理要求であると判定し、 ステップ S 6 0 3において、 アン口ック処理を 実行し、 アンロック完了通知をホス ト装置に対して送信する。
さらに、 情報記憶装置 (メモリカード) は、 ステップ S 6 0 4において、 制 御部の RAMに格納されているロックステータスフラグ(S L = 1 , E L = 1 ) を NVMにコピーし、 N VMのロックステータスフラグを S L = 1, E L = 1 に設定する。 S L = 1は、 スタンダードロックがなされていること、 E L = 1 は、 エクスポートロックがなされていることを示す。
ステップ S 6 0 4のフラグコピー処理が終了すると、 さらに、 ステップ S 6 0 5において、 制御部の RAMの口ックステータスフラグ (S L- 1 , E L = 1 ) のリセット、 すなわち R A1V [の口ックステータスフラグを S L = 0 , E L = 0に設定する。 S L- 0は、 スタンダードロックがなされていないこと、 E L = 0は、 ェクスポートロックがなされていないことを示す。 この設定状態、すなわち RAMの口ックステータスフラグが S L = 0, E L = 0の設定においてはメモリアクセスが自由に実行可能となり、アンロック処 理を実行したホス ト装置は、 情報記憶装置のメモリ (図 3のメモリ部 2 2 0) に対するアクセスが可能となる。
しかし、 その後、 情報記憶装置 (メモリカード) がホスト装置から抜き取ら れるなどにより、 情報記憶装置 (メモリカード) に対する電源供給がス トップ し、 再度、 電源オンとなった時点で、 NVMに設定された口ックステータスフ ラグ (S L= 1 , E L = 1 ) 情報が制御部の RAMにロードされ、 制御部は、 RAMに設定された口ックステータスフラグ (S L= 1 , E L = 1 ) に基づく 処理を行なうことになる。 図 1 8の処理フローを参照して、情報記憶装置の電 源再投入後の処理について説明する。
図 1 8の処理フローは、 一旦、 情報記憶装置の電源がオフとされ、 再度、 電 源オン状態に移行した場合の処理を示している。
ステップ S 7 0 1において、 情報記憶装置 (メモリカード) がホス ト装置に セッ トされることなどにより、電源オフ状態からオン状態に移行すると、情報 記憶装置は、 ステップ S 7 0 2において、 NVMに格納してある口ックステー タスフラグ (S L, E L) を制御部の RAMにコピーする。 制御部は、 RAM のステータスフラグに応じて制御を実行する。
ステップ S 7 0 3において、接続されたホス ト装置からメモリアクセス要求、 あるいはアン口ックコマンドを入力すると、情報記憶装置の制御部は、 RAM の口ックステータスフラグを参照する。
ステップ S 7 04において、 RAMのステータスフラグが E L = 1であると 判定されると、 ステップ S 7 0 5において、 口ック解除処理 (図 1 3〜図 1 5 参照) を実行する。 この際、 ホストが、 その情報記憶装置のエクスポートロッ クに適用されたサブキーセット [ I D e n, LK e n ]を有していない場合は、 インプリ ント処理を実行することが必要となる。 この処理において、先に図 1 3〜図 1 5を参照して説明した検証により正当なホスト装置からのアン口ッ ク要求であることが確認されるとアンロック処理が実行(ステップ S 7 0 8 : Y e s ) され、 ステップ S 7 0 9においてメモリアクセスが許可される。 検証 によ り不正なホス ト装置からのアン口ック要求であると判定されるとアン口 ック処理が実行されず、 (ステップ S 7 0 8 : N o )、 エラー通知 (S 7 1 0) がなされる。
また、 ステップ S 7 0 4において、 RAMのステータスフラグが E L = 0で あると判定されると、 ステップ S 7 0 6において、 RAMのステータスフラグ が S L = 1であるかい中が判定される。 RAMのステータスフラグが S L = 1 であると判定されると、 ステップ S 7 0 7において、 スタンダードロック解除 処理 (図 7〜図 8参照) を実行する。 先に図 7〜図 8を参照して説明した検証 によ り正当なホス ト装置からのアン口ック要求であることが確認されるとァ ンロック処理が実行 (ステップ S 7 0 8 : Y e s ) され、 ステップ S 7 0 9に おいてメモリアクセスが許可される。検証により不正なホス ト装置からのアン 口ック要求であると判定されるとアン口ック処理が実行されず、 (ステップ S 7 0 8 : N o)、 エラー通知 (S 7 1 0) がなされる。
ステップ S 7 0 4において、 RAMのステータスフラグが E L = 0であると 判定され、 ステップ S 7 0 6において、 RAMのステータスフラグが S L = 0 であると判定されると、 口ック状態にはないことになり、 ステップ S 7 0 9に 進み、 メモリアクセスが許可されることになる。
先に、 図 1 6,図 1 7を参照して説明したように、 あるホス ト装置により、 ェクスポートロックが解除され、 その後電源がオフとなった場合は、 N VMの 口ックステータスフラグが S L = 1 , E L = 1に設定され、 その後、 電源オン となった時点で、 RAMの口ックステータスフラグが S L = 1 , E L = 1に設 定されることになり、 図 1 8の処理フローにおけるステップ S 7 0 4の判定 (E L = 1 ?) が Y e s となり、 ステップ S 7 0 5の処理、 すなわち、 ェクス ポート口ック解除処理 (図 1 3〜図 1 5参照) を条件と したメモリアクセス許 可処理が行なわれることになる。
上述したように、 本処理例においては、 口ック処理またはアン口ック処理に 適用可能なキーセッ トの外部出力が許容される口ック状態であるェクスポー トロック (E L) 状態であるか否か、 および、 ロック処理またはアンロック処 理に適用可能なキーセッ トの外部出力が許容されない口ック状態であるスタ ンダードロック (S L )状態であるか否かについて判別可能な状態情報からな るロックステータスフラグのアンロック処理前の情報を N V Mに格納する構 成としたので、情報記憶装置の電源オフ後の電源再投入時に、 N V Mに格納さ れたフラグに基づいて、アン口ック処理前のロック状態を忠実に再現すること が可能となる。
本処理例によれば、 例えば、 あるホスト装置が、 エクスポートロックの解除 を行なった場合でも、エクスポート口ック状態を維持し、情報記憶装置の電源 オフ後、再度電源オンとなった場合において、 ロックの解除処理を条件とした メモリアクセスの許可が可能となる。従って、正当なプライマリキーセッ ト[ I D s , L K s ] を有するホスト装置が前述のオーバー口ック処理を含む所定の 手続きを実行した場合にのみ口ック解除が可能となり、不正な装置からのァク セス排除が可能となる。
[特定データ領域読み出し検出による自動口ック処理]
次に、 情報記憶装置 (メモリカード) からホスト装置に対するデータの読み 出しを情報記憶装置の制御部において監視し、ある予め定められたデータ領域 (例えば特定クラスタ) の読み出し実行をトリガとして、 口ック処理を実行す る処理例について説明する。
情報記憶装置 (メモリカード) のメモリ部 (図 2のメモリ部 2 2 0 ) に格納 されるデータの読み出しは、例えば格納データに応じて生成される再生管理フ アイル (P B L I S T ) によって管理され、 制御部では、 再生管理ファイルに 従って、 メモリ部 (図 2のメモリ部 2 2 0 ) からデータを読み出して、 ホス ト 装置に出力する。
データが読み出される場合、情報記憶装置の制御部は、読み出しデータの監 視を行なうこが可能である。例えば、 A T R A C 3で圧縮されたオーディオデ ータは、所定のデータ単位としてのクラスタを読み出しデータ単位として監視 することができる。
図 1 9に示すように、 A T R A C 3で圧縮されたオーディオデータは、最小 データ単位としての S U (サウンドユニット) を複数集めたクラスタ、 さらに 複数のクラスタによってパーツが構成される。 S U (サウンドユニット) は、 4 4 . 1 k Hz のサンプリング周波数で得られた 1 0 2 4サンプル分 ( 1 0 2 4 X 1 6ビット X 2チャンネル)のオーディォデータを約 1 / 1 0に圧縮した 数百バイ トのデータであり、 クラスタは、 複数の S U (たとえば S U 4 2個) によって構成されるデータである。 1クラスタが 4 2個の S Uで構成される場 合、 1クラスタで約 1秒の音を表すことができる。
各クラスタには、各クラスタ固有の論理番号が付与され、論理番号による管 理がなされる。 情報記憶装置の制御部 2 1 0 (図 3参照) は、 特定クラスタの 読み出しの有無を論理番号に基づいてチェックすることができる。例えば、 出 力データがある音楽コンテンツであるときに、その音楽コンテンツのィントロ、 あるいはさび部分に相当する 1以上のクラスタの論理番号を、そのコンテンツ に対応する口ック対応クラスタとして抽出し、抽出したクラスタ論理番号をコ ンテンッに対応する登録情報として設定して、コンテンッを格納するメモリ部 (フラッシュメモリ) に併せて格納する。
コンテンツの読み出し時に、 登録情報を情報記憶装置の制御部内のメモリ ( R AM)に一次格納し、制御部において、読み出しコンテンツのクラスタと、 口ック対応クラスタとの照合処理を実行し、読み出しコンテンツのクラスタが 口ック対応クラスタの論理番号に一致した場合に、 口ック処理を実行する。 な お、 ロック処理のタイミングは、 ロック対応クラスタの読み出し開始時点、 口 ック対応クラスタの読み出し終了時点、 あるいは、 口ック対応クラスタを持つ コンテンッ全体の読み出し終了時点等、様々な設定が可能であり、設定に応じ た検出処理を実行して、設定条件検出に基づいてロック処理を行なう。 ロック が実行された場合は、再度の読み出しは、アン口ック処理を実行することが必 要となる。
以下、 図 2 0を参照して、 情報記憶装置の制御部 2 1 0において、 メモリ部 2 2 0 (図 3参照) から特定データ領域 (例えば特定クラスタ) が読み出され たことを条件としてロック処理を実行する処理について説明する。
なお、 図 2 0の処理フローでは、 簡単のためにスタンダードロック (S L ) についてのみ記載しているが、 エクスポートロック (E L ) についても同様の 処理が可能である。
まず、 ステップ S 8 0 1において、 情報記憶装置の電源がオンされると、 ス テツプ S 8 0 2において、 NVMに格納された口ックステータスフラグが制御 部 2 1 0 (図 3参照) の RAM 2 1 3にコピー格納される。 制御部は、 RAM 2 1 3のステータスフラグに応じた制御を実行する。
ステップ S 8 0 3において、 スタンダードロックが S L = 1であるか否か、 すなわち口ック状態にあるか否かが判定される。 S L= 1である場合は、 ステ ップ S 8 0 4においてアン口ック処理が実行される。 アン口ック処理は、例え ば図 7、 図 8を参照して説明した処理と同様の処理である。
ホスト装置が正当なプライマリ I Dとプライマリロックキーを保有してい ることが、情報記憶装置における検証処理により検証され、 アンロックが成功 する (S 8 0 5 : Y e s ) と、 ステップ S 8 0 6に進む。 アンロックに失敗し た場合は、ステップ S 8 1 0においてホスト装置に対するエラー通知が実行さ れて処理を終了する。
ステップ S 8 0 6では、 アン口ック成功に基づいて、 RAM, NVMのロッ クステータスフラグの更新、すなわち、 口ック解除状態を示す S L = 0の設定 処理が実行される。
次に、 ホスト装置からのデータ読み出しが開始されると、情報記憶装置の制 御部は、 ステップ S 8 0 7において、 あらかじめ設定された口ック対応クラス タの読み出し処理の有無の監視を実行する。口ック対応クラスタのデータ読み 出しを検出すると、 ステップ S 8 0 8において、 制御部 2 1 0 (図 3参照) の RAM 2 1 3のロックステータスフラグを口ック状態( S L = 1 )に設定する。 さらに、 ステップ S 8 0 9において、 NVMのロックステータスフラグをロッ ク状態 (S L = 1 ) に設定する。
このように、所定のクラスタの読み出し処理を行なうことにより、 ロックが かけられ、 その後、 再度読み出し処理を実行する場合は、 アンロック処理が必 要となる。 アン口ック処理は、 口ックを実行したと同一のプライマリ I D ( I D s ) とプライマリロックキー (LK s ) を有するホスト装置のみが可能とな り、 ロックされた情報記憶装置 (メモリカード) が無秩序に利用されることが 防止されることになる。
なお、 ロック情報は、 情報記憶装置の電源オフ時に解除される設定、 あるい は、前述したように、電源オフ時にも口ックステータスフラグを NVMに置き、 電源再投入時に NVMの口ックステータスフラグを制御部の RAMにコピー して、 電源オフ前のロック状態を維持して再現する構成としてもよい。
このように本処理例においては、 アン口ック処理後、データ読み出し処理を 実行する場合、 1度限りの読み出しを可能とした、いわゆるリードワンスのァ クセス制限処理構成が実現される。
なお、図 2 0の処理例ではスタンダードロックについてのみ示したが、ェク スポートロックにおいても同様の構成、すなわち、所定のデータ領域の読み出 しをトリガとしてエクスポートロックをかける構成とすることが可能である。
[ホスト装置における口ック状態提示構成]
次に、様々な口ック状態を取り得る情報記憶装置に対するアクセスを実行す るホスト装置において、情報記憶装置のロック状態を検出するための提示構成 および提示処理について説明する。
図 2 1に口ックノアン口ック専用機器における口ック状態提示ィンジケ一 タと、各種処理スィツチを持つ構成例を示す。情報記憶装置としてのメモリ力 ード 7 1 0とデータ転送可能なィンタフェースを持つ口ック /アン口ック専 用機器 7 2 0は、 ロック状態インジケータとして、
口ック解除状態を示す [U n l o c k e d] ィンジーケータ 7 2 1 口ック状態を示す [L o c k e d] ィンジーケータ 7 2 2
エクスポート口ック状態を示す [E— L o c k e d]インジ一ケータ 7 2 3 エラー通知を示す [ERR] ィンジーケータ 7 24
を有する。
また、 各種処理要求スィッチとして、
口ック解除処理要求スィツチとしての [U n l o c k] スィッチ 7 3 1 プライマリキーセッ トによるスタンダードロック処理要求スィツチとして の [P— L o c k] スィッチ 7 3 2 サブキーセッ トによるスタンダードロック (グループ口ック) 処理要求スィ ツチとしての [G— L o c k] スィッチ 7 3 3
サプキーセッ トによるェクスポート口ック処理要求スィツチとしての [E— L o c k] スィッチ 7 3 4を有する。
さらに、 図 2 1 (b) に示すロック Zアンロック専用機器の例は、 上記スィ ツチの他に、ェクスポート口ック状態にある情報記憶装置に格納されたサブ I D ( I D e n) とサプロックキー (LK e n)、 すなわちサプキーセッ ト [ I D e n, LK e n] とをホスト装置に格納するインプリント処理のみの実行要 求スィ ッチと しての [ I mp r i n t ] スィ ッチ 7 3 5を有する。
なお、図 2 1には、 口ック /アン口ック専用機器のィンジケータ構成と処理 要求スィツチ構成例を示したが、先に説明したように、ホスト装置には、 P C, PDA等の情報処理装置、 D S C等のデジタルカメラ、携帯通信端末等の様々 な装置が含まれ、 これらの装置においては、それぞれの入力手段を介した情報 記憶装置 (メモリカード) に対するコマンド送出構成が可能である。 また、 口 ック状態表示処理も、それぞれの機器において L CD等のディスプレイに表示 したり、 あるいは、 音声、 アラーム等により通知する構成とすることが可能で ある。
図 2 2以下を参照して、ホスト装置における口ック状態提示処理、およびホ ス ト装置から情報記憶装置(メモリカード) に対するコマンド送信処理につい て説明する。
図 2 2は、 例えば、 ホスト装置に対して情報記憶装置 (メモリ力一ド) を接 続したときに実行される口ック状態読み出し処理を説明するフローである。口 ック状態読み出し処理は、ユーザによるコマンド入力によって実行する構成と してもよいが、 ホスト装置に対して情報記憶装置 (メモリカー ド) を接続した ときに自動実行する構成としてもよい。
ステップ S 9 0 1において、 口ック状態が情報記憶装置から読み出される。 この状態情報は、 先に説明した情報記憶装置の制御部 2 1 0 (図 3参照) の R AM 2 1 3に格納された口ックステータスフラグに基づく。ステップ S 9 0 2 において、 このロック状態読み出し情報に基づいて、 ロック状態に対応するィ ンジケータ 7 2 1〜 7 2 4が点灯する。 すなわち、 スタンダードロック、 グル 一プロックが実行されている場合は、 口ック状態を示す [L o c k e d] イン ジーケータ 7 2 2が表示 (点灯) され、 ェクスポートロックが実行されている 場合は、 エクスポート口ック状態を示す [E— L o c k e d] ィンジーケータ 7 2 3が表示 (点灯) され、 ロック状態にない場合は、 ロック解除状態を示す [Un l o c k e d] ィンジーケータ 7 2 1が表示 (点灯) される。
次に、 図 2 3を参照して、 口ック処理要求、 実行に基づくィンジケータ表示 処理について説明する。 口ック処理は、 図 2 1の、 処理要求スィツチ 7 3 2〜 7 3 4のスィツチによる入力に基づいて実行される。
プライマリ I D ( I D s ) と、 プライマリ 口ックキー (LK s ) のプライマ リキーセッ ト [ j D s , L K s ] を適用したスタンダードロック処理要求の場 合は、 [S— L o c k] スィッチ 7 3 2による入力、 サブ I D ( I D e n ) と、 サブロックキー (LK e n) のサブキーセッ ト [ I D e n, LK e n] を適用 したェクスポート口ック処理要求の場合は、 E— L o c k] スィッチ 7 3 4に よる入力、 サブキーセッ ト [ I D e n, LK e n] を適用したスタンダードロ ック、 すなわちグループロック処理要求の場合は、 [G_ L o c k] スィッチ 7 3 3による入力を実行する。。
これらのいずれかの入力を受けると、 ステップ S 9 1 1において、 情報記憶 装置 (メモリカード) のロック状態を検出し、 アンロック状態でない場合は、 ステップ S 9 1 4において、 エラー (E RR) ィンジケータ表示を行なう。 ァ ンロック状態である場合は、 ステップ S 9 1 2において、 スタンダードロック 処理、 またはェクスポートロック処理、 またはグループ口ック処理のいずれか を実行し、 口ック処理完了の後、 ホス ト装置の対応口ックインジケータ、 すな わち、 口ック状態を示す [L o c k e d] ィンジーケータ 7 2 2、 またはェク スポート口ック状態を示す [E— L o c k e d] ィンジーケータ 7 2 3の表示 を実行する。
次に、 図 24を参照して、 アン口ック処理時におけるホス ト装置の操作、 ィ ンジケータ表示について説明する。
アン口ック処理は、図 2 1におけるアン口ック要求スィツチ 7 3 1の押下に より実行される。 アン口ック要求スィツチの押下により、 まず、 情報記憶装置 の口ック状態検出が実行される。 状態検出は、先に説明した制御部内の R A M の口ックステータスフラグに基づいて実行される。 口ック状態にない場合 (ス テツプ S 9 2 1 : N o ) は、 ステップ S 9 2 3においてエラー (E R R ) イン ジケータ 7 2 4の表示を実行する。
また、 ステップ S 9 2 2の口ック状態読み出しにおいて、 情報記憶装置がェ クスポート口ック状態にあるかスタンダードロック状態にあるかが判定され る。先に説明したロックステータスフラグに基づいてエクスポートロック状態 にあるかスタンダード口ック状態にあるかを識別する。 識別結果に基づいて、 図 2 1に示す口ック状態に対応するィンジケータ 7 2 1〜 7 2 4が点灯する。 まず、 ェクスポートロ ッタである場合 (ステップ S 9 2 4 : Y e s ) は、 先 に図 1 6乃萆図 1 8を参照して説明したインプリントおよびアン口ック処理 を実行する。 すなわちステップ S 9 2 5に示すプライマリ I D ( I D s ) とプ ライマリ ロックキー (L K s ) によるオーバー口ック処理、 ステップ S 9 2 6 のサブ I D ( I D e n ) と、 サブ口ックキー ( L K e n ) のィンプリ ント (入 力格納) 処理、 さらに、 ステップ S 9 2 7におけるサブ I D ( I D e n ) と、 サブ口ックキー (L K e n ) を適用した口ック解除処理である。 この処理の詳 細は、 先に図 1 6乃至図 1 8を参照して説明した通りである。 これらの処理に より、 ロックが解除されると、 ステップ S 9 2 8において、 口ック解除ィンジ ケータ 7 2 1が表示される。
ステップ S 9 2 4において、 ェクスポート口ック以外の口ック状態、 すなわ ちスタンダードロ ック状態である場合は、 ステップ S 9 2 9において、 スタン ダードロックがなされているか否かが判定され、スタンダードロックありの場 合は、 ステップ S 9 3 0において、 アンロック処理を実行する。 このアンロッ ク処理に適用するキーセッ トは、プライマリ一キーセッ ト [ I D s , L K s ] , あるいはグループ口ックである場合は、サブキーセッ ト [ I D e n , L K e n ] である。この処理により、ロックが解除されると、ステップ S 9 2 8において、 口ック解除ィンジケータ 7 2 1が表示される。
ステップ S 9 2 4において、 エタスポ一トロック以外のロック状態であり、 ステップ S 9 2 9において、 スタンダードロックでないと判定されると、 ステ ップ S 9 3 1に進み、 エラー (E R R ) インジケータ 7 2 4が表示される。 以上、 特定の実施例を参照しながら、 本発明について詳解してきた。 しかし ながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成 し得ることは自明である。すなわち、例示という形態で本発明を開示してきた のであり、限定的に解釈されるべきではない。本発明の要旨を判断するために は、 冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウエア、 またはソフ ト ウェア、 あるいは両者の複合構成によって実行することが可能である。 ソフ ト ウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、 専用のハードウエアに組み込まれたコンピュータ内のメモリにィンス トール して実行させるか、 あるいは、各種処理が実行可能な汎用コンピュータにプロ グラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクや R O M (Read Only Memory)に予め記録しておくことができる。 あるいは、 プログラムはフレキシ ブノレディスク、 C D— R O M (Compact Di sc Read Only Memory) , M O (Magneto opt ical)ディスク, D V D (D i gi tal Versat i le Di sc)、 磁気ディスク、 半導体 メモリなどのリムーバブル記録媒体に、 一時的あるいは永続的に格納 (記録) しておくことができる。 このようなリムーバプル記録媒体は、 いわゆるパッケ ージソフ トウェアとして提供することができる。
なお、 プログラムは、上述したようなリムーバブル記録媒体からコンビユー タにインストールする他、 ダウンロードサイ トから、 コンピュータに無線転送 したり、 L A N (Local Area Network)、 インターネットといったネットワーク を介して、 コンピュータに有線で転送し、 コンピュータでは、 そのようにして 転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体に ィンス トールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行される のみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあ るいは個別に実行されてもよい。 また、 本明細書においてシステムとは、 複数 の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限 らない。 産業上の利用可能性 以上説明してきたように、本発明の構成によれば、 メモリカード等の情報記 憶装置において、情報処理装置からのコマンド入力に応じて、 メモリのロック 解除処理としてのアン口ック処理を実行するとともに、アン口ック処理前の口 ック状態データを記憶手段に格納し、情報記憶装置の電源オフ後の電源再投入 時に、記憶手段に格納した口ック状態データに基づいて、 メモリの口ック状態 を再現し、再現口ック状態に基づくメモリアクセス制御を実行する構成とした ので、情報記憶装置の紛失、盗難等による第三者によるメモリアクセスを効果 的に防止することが可能となる。
さらに、本発明の構成によれば、情報記憶装置の口ック状態データとしての 口ックステータス情報を電源オフ後も格納情報が維持される第 1の記憶手段 としての不揮発性メモリ (N V M) に格納し、 電源再投入後に第 2の記憶手段 と しての制御部内メモリに口ックステータス情報をコピーして、アクセス制御 を実行する構成としたので、電源オフによっても、 口ック状態維持が可能とな り、 口ック情報の消失によるメモリアクセスを防止できる。
さらに、本発明の構成によれば、 口ック処理またはアン口ック処理に適用可 能なキーセッ トの外部出力が許容される口ック状態としてのエクスポート口 ック (E L ) 状態であるか否か、 キーセットの外部出力が許容されないスタン ダードロック (S L )状態であるか否かについての判別情報を含む口ックステ 一タス情報に基づいて、 アクセス制御を行なう構成としたので、 様々な態様で のメモリアクセス制御が可能となる。
さらに、 本発明の構成によれば、 再現した口ック状態において、 アン口ック 要求を出力した情報処理装置の識別子( I D ) を含むキーセットの検証処理を 実行し、該検証の成立を条件として、前記アンロック要求に基づく口ック解除 処理を実行する構成であるので、正当なホスト装置であることを条件としたセ キュアなメモリアクセス制御が実現される。

Claims

請求の範囲
1 . データ記憶用のメモリと、 該メモリに対するアクセス制御を実行する 制御部とを有する情報記憶装置であり、
前記制御部は、
情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアン口ック処理を実行するとともに、
アン口ック処理前の口ック状態データを記憶手段に格納し、該情報記憶装置 の電源オフ後の電源再投入時に、前記記憶手段に格納したロック状態データに 基づいて、前記メモリの口ック状態を再現し、再現口ック状態に基づくメモリ アクセス制御を実行する構成を有することを特徴とする情報記憶装置。
2 . 前記情報記憶装置は、
情報記憶装置の口ック状態データとしての口ックステータス情報を前記記 憶手段に格納する構成であり、
前記制御部は、
前記情報記憶装置の電源オフ後も格納情報が維持される第 1の記憶手段と しての不揮発性メモリ (N V M ) に前記ロックステータス情報を格納する構成 を有することを特徴とする請求項 1に記載の情報記憶装置。
3 . 前記制御部は、
前記情報記憶装置の電源再投入後に第 2の記憶手段としての制御部内メモ リに前記不揮発性メモリ (N V M ) に格納した前記ロックステータス情報をコ ピー格納し、該コピー格納情報に基づいてアクセス制御を実行する構成である ことを特徴とする請求項 2に記載の情報記憶装置。
4 . 前記情報記憶装置は、
情報記憶装置の口ック状態データとしてのロックステ一タス情報を前記記 憶手段に格納する構成であり、
前記口ックステータス情報は、
口ック処理またはアン口ック処理に適用可能なキーセッ トの外部出力が許 容される口ック状態であるエクスポート口ック (E L) 状態であるか否か、 お よび、
口ック処理またはアン口ック処理に適用可能なキーセッ トの外部出力が許 容されないロック状態であるスタンダードロック (S L) 状態であるか否か、 についての判別情報を含み、
前記制御部は、
前記判別情報に基づいてメモリアクセス制御を実行する構成であることを 特徴とする請求項 1に記載の情報記憶装置。
5. 前記制御部は、
前記情報記憶装置の電源再投入により、 再現された口ック状態に基づいて、 情報処理装置からのアン口ック要求に対する処理を実行する構成であり、 アン口ック要求を出力した情報処理装置の識別子 ( I D) を含むキーセット の検証処理を実行し、該検証の成立を条件として、前記アン口ック要求に基づ く口ック解除処理を実行する構成であることを特徴とする請求項 1に記載の 情報記憶装置。
6. 前記キーセットは、情報処理装置の保有 I Dと該 I Dに対応する口ッ クキー (L K) からなるキーセッ ト [ I D, L K] であり、
前記情報記憶装置は、
L K = H (LMK, I D) の関係、 すなわち、 I Dに対するロックマスター キー (LMK) を適用したハッシュ値としてロックキー (LK) の算出が可能 なロックマスターキー (LMK) を有し、
前記制御部は、
情報処理装置から入力する情報処理装置保有キーセッ トの検証を前記口ッ クマスターキー( LMK) を適用したハッシュ値算出により取得する口ックキ 一(LK) に基づいて実行する構成であることを特徴とする請求項 5に記載の 情報記憶装置。
7. 前記制御部は、
乱数発生処理を実行し、 情報処理装置の所有するロックキー (LK) に基づ く前記乱数 (Rm s ) の暗号化データ [E (L k , Rm s )] を該情報処理装 置から受信し、 該受信暗号化データと、
前記ハッシュ値算出により取得した口ックキー(LK) に基づいて算出した 暗号化データ [E (L k, Rm s )] との照合を含む検証処理を実行する構成 であることを特徴とする請求項 6に記載の情報記憶装置。
8. データ記憶用のメモリと、該メモリに対するアクセス制御を実行する 制御部とを有する情報記憶装置におけるメモリアクセス制御方法であり、 情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアン口ック処理を実行するアン口ック処理実行ステップと、
アン口ック処理前の口ック状態データを記憶手段に格納する口ック状態デ ータ.記憶ステップと、
情報記憶装置の電源オフ後の電源再投入時に、前記記憶手段に格納したロッ ク状態データに基づいて、前記メモリのロック状態を再現し、 再現ロック状態 に基づくメモリアクセス制御を実行するメモリアクセス制御ステップと、 を有することを特徴とするメモリアクセス制御方法。
9. 前記ロック状態データ記憶ステップは、
情報記憶装置の口ック状態データとしてのロックステータス情報を、前記情 報記憶装置の電源オフ後も格納情報が維持される第 1の記憶手段としての不 揮発性メモリ (NVM) に格納するステップを含むことを特徴とする請求項 8 に記載のメモリアクセス制御方法。
1 0. 前記メモリアクセス制御方法は、 さらに、 前記情報記憶装置の電源再投入後に第 2の記憶手段としての制御部内メモ リに前記不揮発性メモリ (N V M ) に格納した前記ロックステータス情報をコ ピー格納するステップを有し、
前記メモリアクセス制御ステツプは、
前記コピー格納情報に基づいてアクセス制御を実行するステップであるこ とを特徴とする請求項 9に記載のメモリアクセス制御方法。
1 1 . 前記ロック状態データ記憶ステップは、
情報記憶装置の口ック状態データとしての口ックステータス情報を記憶手 段に記憶するステップであり、
前記口ックステータス情報は、
ロック処理またはアン口ック処理に適用可能なキーセッ トの外部出力が許 容される口ック状態であるェクスポートロック (E L ) 状態であるか否か、 お よび、
口ック処理またはアン口ック処理に適用可能なキーセッ トの外部出力が許 容されないロック状態であるスタンダードロック (S L ) 状態であるか否か、 についての判別情報を含み、
前記メモリアクセス制御ステップは、
前記判別情報に基づいて前記メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行するステップであることを特徴とする請 求項 8に記載のメモリアクセス制御方法。
1 2 . 前記メモリアクセス制御方法は、 さらに、
前記情報記憶装置の電源再投入により、 再現された口ック状態に基づいて、 情報処理装置からのアン口ック要求に対する処理を実行するアン口ック要求 対応処理ステップを有し、
前記アン口ック要求対応処理ステップは、
アン口ック要求を出力した情報処理装置の識別子 ( I D ) を含むキーセット の検証処理を実行する検証処理ステップ、 該検証の成立を条件として、前記アン口ック要求に基づく口ック解除処理を 実行する口ック解除処理ステップ、
を含むことを特徴とする請求項 8に記載のメモリアクセス制御方法。
1 3. 前記キーセッ トは、情報処理装置の保有 I Dと該 I Dに対応する口 ックキー ( L K) からなるキーセット [ I D, LK] であり、
前記情報記憶装置は、
LK = H (LMK, I D) の関係、 すなわち、 I Dに対するロックマスター キー (LMK) を適用したハッシュ値としてロックキー (LK) の算出が可能 な口ックマスターキー ( LMK) を有し、
前記検証処理ステップは、
情報処理装置から入力する情報処理装置保有キーセッ トの検証を前記口ッ クマスターキー(LMK) を適用したハッシュ値算出により取得する口ックキ 一 (LK) に基づいて検証を実行するステップを含むことを特徴とする請求項 1 2に記載のメモリアクセス制御方法。
1 4. 前記メモリアクセス制御方法は、 さらに、
乱数発生処理を実行し、 情報処理装置の所有するロックキー (LK) に基づ く前記乱数 (Rm s ) の暗号化データ [E (L k, Rm s )] を該情報処理装 置から受信スルステップを有し、
前記検証処理ステップは、
前記受信暗号化データと、 前記ハッシュ値算出により取得したロックキー (LK) に基づいて算出した暗号化データ [E (L k , Rm s )] との照合を 含む検証処理を実行するステップを含むことを特徴とする請求項 1 3に記載 のメモリアクセス制御方法。
1 5. データ記憶用のメモリ と、該メモリに対するアクセス制御を実行す る制御部とを有する情報記憶装置におけるメモリアクセス制御処理を実行す るコンピュータ · プログラムであって. 情報処理装置からのコマンド入力に応じて、前記メモリの口ック解除処理と してのアン口ック処理を実行するアン口ック処理実行ステップと、
アン口ック処理前の口ック状態データを記憶手段に格納する口ック状態デ ータ記憶ステップと、
情報記憶装置の電源オフ後の電源再投入時に、前記記憶手段に格納したロッ ク状態データに基づいて、前記メモリの口ック状態を再現し、再現口ック状態 に基づくメモリアクセス制御を実行するメモリアクセス制御ステップと、 を有することを特徴とするコンピュータ 'プログラム。
PCT/JP2003/007779 2002-06-25 2003-06-19 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム WO2004001607A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/487,008 US7962713B2 (en) 2002-06-25 2003-06-19 Memory device having secure non-volatile locking functionality
KR1020047002772A KR100998855B1 (ko) 2002-06-25 2003-06-19 정보 기억 장치, 및 메모리 액세스 제어 방법, 및 컴퓨터 프로그램을 기록한 기록 매체
EP03760898.1A EP1519275B1 (en) 2002-06-25 2003-06-19 Information storage device, memory access control method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002183883A JP3979195B2 (ja) 2002-06-25 2002-06-25 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
JP2002-183883 2002-06-25

Publications (1)

Publication Number Publication Date
WO2004001607A1 true WO2004001607A1 (ja) 2003-12-31

Family

ID=29996695

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/007779 WO2004001607A1 (ja) 2002-06-25 2003-06-19 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US7962713B2 (ja)
EP (1) EP1519275B1 (ja)
JP (1) JP3979195B2 (ja)
KR (1) KR100998855B1 (ja)
CN (1) CN1304964C (ja)
WO (1) WO2004001607A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1769355A2 (en) * 2004-06-21 2007-04-04 Motorola, Inc. Secure data backup and recovery

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245000B2 (en) * 2005-05-20 2012-08-14 Stec, Inc. System and method for managing security of a memory device
JP4590321B2 (ja) * 2005-07-25 2010-12-01 キヤノン株式会社 画像処理装置、記録再生装置、制御方法
JP4748165B2 (ja) * 2005-10-20 2011-08-17 株式会社Yamato データファイル記録システム及びデータファイル記録方法
US20070254713A1 (en) * 2006-04-28 2007-11-01 Isaac Lagnado System and method for managing operation of a system based at least in part on a component of the system being physically accessible
JP4936834B2 (ja) * 2006-09-20 2012-05-23 三洋電機株式会社 半導体メモリカードにおけるデータ保護方法、および半導体メモリカード
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
JP4867760B2 (ja) * 2007-03-30 2012-02-01 ソニー株式会社 情報処理装置および方法、並びに情報処理システム
US11237956B2 (en) 2007-08-13 2022-02-01 Digital Kiva, Inc. Apparatus and system for object-based storage solid-state device
US9824006B2 (en) 2007-08-13 2017-11-21 Digital Kiva, Inc. Apparatus and system for object-based storage solid-state device
JP5042313B2 (ja) * 2007-08-28 2012-10-03 パナソニック株式会社 電子機器およびロック解除方法
JP4953316B2 (ja) * 2007-12-13 2012-06-13 株式会社メガチップス 記憶装置および情報処理システム
US8353026B2 (en) * 2008-10-23 2013-01-08 Dell Products L.P. Credential security system
TWI385522B (en) * 2008-12-31 2013-02-11 Recognizing method of memory storage device
JP5499807B2 (ja) * 2010-03-19 2014-05-21 富士通株式会社 情報処理プログラム、情報処理方法及び情報処理装置
US8839371B2 (en) * 2010-08-26 2014-09-16 Standard Microsystems Corporation Method and system for securing access to a storage device
AU2013221600B2 (en) * 2012-02-13 2016-09-29 Xceedid Corporation Credential management system
CN103634347B (zh) * 2012-08-24 2019-04-12 腾讯科技(深圳)有限公司 一种并行业务处理方法、设备及系统
TWI497297B (zh) * 2013-01-15 2015-08-21 Innostor Technology Corp Portable storage device and its data security control method
US10140828B2 (en) 2015-06-04 2018-11-27 August Home, Inc. Intelligent door lock system with camera and motion detector
US11421445B2 (en) 2013-03-15 2022-08-23 August Home, Inc. Smart lock device with near field communication
US11072945B2 (en) 2013-03-15 2021-07-27 August Home, Inc. Video recording triggered by a smart lock device
US11043055B2 (en) 2013-03-15 2021-06-22 August Home, Inc. Door lock system with contact sensor
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
US10443266B2 (en) 2013-03-15 2019-10-15 August Home, Inc. Intelligent door lock system with manual operation and push notification
US11527121B2 (en) 2013-03-15 2022-12-13 August Home, Inc. Door lock system with contact sensor
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
US9470018B1 (en) 2013-03-15 2016-10-18 August Home, Inc. Intelligent door lock system with friction detection and deformed door mode operation
US9916746B2 (en) 2013-03-15 2018-03-13 August Home, Inc. Security system coupled to a door lock system
US10181232B2 (en) 2013-03-15 2019-01-15 August Home, Inc. Wireless access control system and methods for intelligent door lock system
US11802422B2 (en) 2013-03-15 2023-10-31 August Home, Inc. Video recording triggered by a smart lock device
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
US10388094B2 (en) 2013-03-15 2019-08-20 August Home Inc. Intelligent door lock system with notification to user regarding battery status
US11352812B2 (en) 2013-03-15 2022-06-07 August Home, Inc. Door lock system coupled to an image capture device
CN104182706B (zh) * 2013-05-24 2019-01-04 中兴通讯股份有限公司 一种移动终端存储卡的保密方法、装置及移动终端
US10496553B2 (en) 2015-05-01 2019-12-03 Hewlett Packard Enterprise Development Lp Throttled data memory access
US10095572B2 (en) * 2015-12-18 2018-10-09 CPI Card Group—Colorado, Inc. System and method for providing IC chip cards
CN110414276B (zh) * 2018-04-27 2021-05-18 联华电子股份有限公司 电子元件的加密方法
CN111478770A (zh) * 2020-03-31 2020-07-31 西安广和通无线软件有限公司 安全校验方法、装置、计算机设备和存储介质
US20220021544A1 (en) * 2020-07-15 2022-01-20 Micron Technology, Inc. Secure Serial Peripheral Interface (SPI) Flash
JP2023542359A (ja) 2020-09-17 2023-10-06 アッサ・アブロイ・インコーポレイテッド ロック位置用磁気センサ

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04139552A (ja) * 1990-10-01 1992-05-13 Nec Corp メモリカード
JPH05113932A (ja) * 1991-10-23 1993-05-07 Kyocera Corp パーソナルコンピユータ
JPH09134330A (ja) * 1995-11-07 1997-05-20 Fujitsu Ltd セキュリティ保護システム
JPH09293022A (ja) * 1996-04-24 1997-11-11 Toshiba Corp データ記録再生装置及び同装置におけるデータ保護方法
WO1999018504A1 (en) 1997-10-03 1999-04-15 Atmel Corporation Secure memory having multiple security levels
JPH11237983A (ja) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法
JPH11265318A (ja) * 1998-03-17 1999-09-28 Bug:Kk 相互認証システム、相互認証方法及び記録媒体
JP2001022642A (ja) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp メモリの機密保持回路
JP2001092718A (ja) * 1999-09-21 2001-04-06 Casio Comput Co Ltd セキュリティ管理システム、記憶媒体アクセス方法、データ配布装置、及び携帯端末装置
JP2001195551A (ja) * 2000-01-14 2001-07-19 Ntt Data Corp Icカード読取装置及びicカードシステム
JP2001236333A (ja) * 2000-02-21 2001-08-31 Hitachi Ltd 電子署名付移動エージェント
JP2002108713A (ja) * 2000-09-29 2002-04-12 Sony Corp メモリ装置およびメモリアクセス制限方法
JP2002108714A (ja) * 2000-09-29 2002-04-12 Sony Corp メモリ装置およびメモリアクセス制限方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4786900A (en) * 1985-09-30 1988-11-22 Casio Computer Co. Ltd. Electronic key apparatus
JPH0622030B2 (ja) * 1988-10-03 1994-03-23 富士通株式会社 取引の正当性確認方式
US5231310A (en) * 1990-09-05 1993-07-27 Oh Soo Young Electrical and electronic appliance lock
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
US5963142A (en) * 1995-03-03 1999-10-05 Compaq Computer Corporation Security control for personal computer
KR100378112B1 (ko) * 1995-07-25 2003-05-23 삼성전자주식회사 무선통신을이용한자동잠금/풀림장치및방법
US5638448A (en) * 1995-10-24 1997-06-10 Nguyen; Minhtam C. Network with secure communications sessions
US5857021A (en) 1995-11-07 1999-01-05 Fujitsu Ltd. Security system for protecting information stored in portable storage media
WO1998003920A1 (fr) * 1996-07-22 1998-01-29 Sony Corporation Changeur de supports, procedes de verrouillage et deverrouillage, procede d'execution de commandes d'execution et ordinateur adressant de telles commandes au changeur
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
US6119020A (en) * 1997-12-16 2000-09-12 Motorola, Inc. Multiple user SIM card secured subscriber unit
US6179205B1 (en) * 1998-03-05 2001-01-30 Visa International Service Association System and method for locking and unlocking and application in a smart card
JP2002514839A (ja) * 1998-05-05 2002-05-21 シー. チェン,ジェイ 電子商取引用の暗号のシステムおよび方法
JP2000020402A (ja) 1998-07-03 2000-01-21 Nec Corp 情報処理システム
EP1125262A1 (en) * 1998-10-27 2001-08-22 Visa International Service Association Delegated management of smart card applications
US6848047B1 (en) * 1999-04-28 2005-01-25 Casio Computer Co., Ltd. Security managing system, data distribution apparatus and portable terminal apparatus
US7315949B1 (en) * 2000-06-24 2008-01-01 Palm, Inc. Method and system for providing a personal identification security feature to a portable computing device
GB0020370D0 (en) 2000-08-18 2000-10-04 Hewlett Packard Co Trusted device
US6782477B2 (en) * 2002-04-16 2004-08-24 Song Computer Entertainment America Inc. Method and system for using tamperproof hardware to provide copy protection and online security
JP4016741B2 (ja) * 2002-06-25 2007-12-05 ソニー株式会社 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
US20080189557A1 (en) * 2005-01-19 2008-08-07 Stmicroelectronics S.R.I. Method and architecture for restricting access to a memory device
US7818255B2 (en) * 2006-06-02 2010-10-19 Microsoft Corporation Logon and machine unlock integration

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04139552A (ja) * 1990-10-01 1992-05-13 Nec Corp メモリカード
JPH05113932A (ja) * 1991-10-23 1993-05-07 Kyocera Corp パーソナルコンピユータ
JPH09134330A (ja) * 1995-11-07 1997-05-20 Fujitsu Ltd セキュリティ保護システム
JPH09293022A (ja) * 1996-04-24 1997-11-11 Toshiba Corp データ記録再生装置及び同装置におけるデータ保護方法
WO1999018504A1 (en) 1997-10-03 1999-04-15 Atmel Corporation Secure memory having multiple security levels
JPH11237983A (ja) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法
JPH11265318A (ja) * 1998-03-17 1999-09-28 Bug:Kk 相互認証システム、相互認証方法及び記録媒体
JP2001022642A (ja) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp メモリの機密保持回路
JP2001092718A (ja) * 1999-09-21 2001-04-06 Casio Comput Co Ltd セキュリティ管理システム、記憶媒体アクセス方法、データ配布装置、及び携帯端末装置
JP2001195551A (ja) * 2000-01-14 2001-07-19 Ntt Data Corp Icカード読取装置及びicカードシステム
JP2001236333A (ja) * 2000-02-21 2001-08-31 Hitachi Ltd 電子署名付移動エージェント
JP2002108713A (ja) * 2000-09-29 2002-04-12 Sony Corp メモリ装置およびメモリアクセス制限方法
JP2002108714A (ja) * 2000-09-29 2002-04-12 Sony Corp メモリ装置およびメモリアクセス制限方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1519275A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1769355A2 (en) * 2004-06-21 2007-04-04 Motorola, Inc. Secure data backup and recovery
EP1769355A4 (en) * 2004-06-21 2010-12-01 Motorola Inc SECURE BACKUP AND RECOVERY

Also Published As

Publication number Publication date
CN1304964C (zh) 2007-03-14
KR100998855B1 (ko) 2010-12-08
US7962713B2 (en) 2011-06-14
CN1556954A (zh) 2004-12-22
EP1519275A1 (en) 2005-03-30
JP3979195B2 (ja) 2007-09-19
EP1519275B1 (en) 2019-03-27
EP1519275A4 (en) 2008-11-12
KR20050013522A (ko) 2005-02-04
JP2004030104A (ja) 2004-01-29
US20040243779A1 (en) 2004-12-02

Similar Documents

Publication Publication Date Title
WO2004001607A1 (ja) 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
KR100968733B1 (ko) 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및컴퓨터 프로그램
WO2004001608A1 (ja) 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
JP3979194B2 (ja) 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
US8761403B2 (en) Method and system of secured data storage and recovery
JP3389186B2 (ja) 半導体メモリカード及び読み出し装置
TW514844B (en) Data processing system, storage device, data processing method and program providing media
WO2001054099A1 (fr) Systeme d'authentification de donnees
WO2003088058A1 (fr) Dispositif de gestion d'information, procede, support d'enregistrement et programme correspondants
JP2009080772A (ja) ソフトウェア起動システム、ソフトウェア起動方法、及びソフトウェア起動プログラム
JP4120135B2 (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2005196582A (ja) データバックアップシステムおよびデータバックアップ方法
JP2007193477A (ja) コンテンツ保護装置及びプログラム
JP4863309B2 (ja) 通信システム、無線通信端末、接続方法およびプログラム
JP2011123625A (ja) トラステッド・プラットフォーム・モジュールに適したパスワード管理及び認証方法
JP2004240719A (ja) ソフトウェア実行制御方法
JP2006229672A (ja) コンテンツ再生装置、セキュア処理プログラム、セキュア処理プログラムが記録された記録媒体、権利管理プログラム、及び権利管理プログラムが記録された記録媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

WWE Wipo information: entry into national phase

Ref document number: 2003760898

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020047002772

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 20038010860

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 10487008

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003760898

Country of ref document: EP