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

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

Info

Publication number
WO2004001610A1
WO2004001610A1 PCT/JP2003/007782 JP0307782W WO2004001610A1 WO 2004001610 A1 WO2004001610 A1 WO 2004001610A1 JP 0307782 W JP0307782 W JP 0307782W WO 2004001610 A1 WO2004001610 A1 WO 2004001610A1
Authority
WO
WIPO (PCT)
Prior art keywords
lock
memory
storage device
information storage
data
Prior art date
Application number
PCT/JP2003/007782
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,070 priority Critical patent/US20040236919A1/en
Priority to EP03760901A priority patent/EP1519277A1/en
Priority to KR10-2004-7002773A priority patent/KR20050013523A/ko
Publication of WO2004001610A1 publication Critical patent/WO2004001610A1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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, an information storage device that implements access control for locking memory of an information storage device based on a data area of read data of data stored in the information storage device such as a memory card, and a memory access control device Methods and computer programs.
  • an information storage device that implements access control for locking memory of an information storage device based on a data area of read data of data stored in the information storage device such as a memory card, and a memory access control device.
  • PDA Personal Computer
  • PDA Personal Digital Digit Assistants
  • digital cameras have various storage devices such as hard disks, DVDs, CDs, and memory cards. Data recording and playback processing using the medium is executed.
  • Reading or writing of data stored in a memory card or the like is possible by attaching the card to a device having a memory card interface and performing data transfer via the interface.
  • Data recording and playback using a memory device can be configured so that anyone can freely execute it.However, for example, by setting a password or performing encryption processing, the memory can be stored only for a specific user or a specific device. ⁇ Allow access to unauthorized third parties Thus, a so-called habit limitation configuration that eliminates access by the user has been realized.
  • a password is transferred from a content using device as an information reproducing device to a content storage device such as a memory card, and a control unit (CPU or the like) of the memory card 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
  • a data storage device such as a memory card can be attached to various devices such as a PC, a PDA, and a digital camera, and these devices often use one memory card for each other.
  • a data usage mode if the above-described password verification processing, authentication processing, and the like are required each 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 has an access control that performs a lock process of a memory of an information storage device based on a data area of read data of data stored in an information storage device such as a memory card. It is an object to provide an information storage device, a memory access control method, and a computer program that realize the above. According to a first aspect of the present invention,
  • An information storage device comprising: a data storage memory; and a control unit that performs access control on the memory.
  • the control unit includes:
  • a determination process is performed to determine whether or not the data area of the data read from the memory is a predetermined hook-up data area.
  • the information storage device has a configuration for executing a lock process.
  • control unit is configured to execute the data area determination process based on a logical number of a cluster as area information of data stored in a memory. Yes, the configuration is such that the logical number of the cluster corresponding to the predetermined lip-corresponding data area is compared with the logical number of the read cluster.
  • control unit executes the data area determination process based on a logical number of a cluster as area information of data stored in a memory
  • the memory is configured to execute the memory hacking process on condition that it is determined that the data area corresponding to the logical number of a plurality of clusters has been read.
  • the information storage device has hook status information as hook status data of the information storage device, and the control unit performs the hook process as: It is characterized in that it is configured to execute the update processing of the hook status information.
  • the lock status information is stored in a non-volatile memory (NVM) in which stored information is maintained even after power is turned off, and the control unit includes the information storage device.
  • NVM non-volatile memory
  • An access control process for the memory after the power of the apparatus is turned on again is executed based on the lock status information.
  • the lock processing starts reading of the lock-compatible data area, ends reading of the lock-compatible data area, or the entire content having the lock-compatible data area. It is characterized in that it is configured to be executed on condition that any one of the processing detections of the end of reading is performed.
  • a second aspect of the present invention provides:
  • the determination processing step includes a step of executing the data area determination processing based on a logical number of a cluster as area information of data stored in a memory. And a step of executing a process of comparing a logical number of a cluster corresponding to a predetermined hook-up corresponding data area with a logical number of a read cluster.
  • the determination processing step executes the determination processing of the data area based on a logical number of a cluster as area information of data stored in a memory
  • the step of executing the hacking process is characterized in that the hacking process of the memory is executed on condition that it is determined that the reading process of the data area corresponding to the logical number of a plurality of continuous clusters has been performed. .
  • the step of executing the lock processing includes a step of executing a lock status information update process as the lock state data of the information storage device.
  • the memory access control method further comprises storing the wake-up status information in a non-volatile memory (NVM) whose stored information is maintained even after power is turned off.
  • the step of executing the hack process includes the step of executing access control processing to the memory after the information storage device is powered on again based on the hack status information.
  • the step of executing the lock processing includes starting reading of the lock corresponding data area, ending reading of the lock corresponding data area, or It is characterized in that it is executed on condition that any one of the processing detections of the end of reading of the entire content having the area is detected.
  • a third aspect of the present invention is that
  • a computer for executing a memory access control process in an information storage device having a data storage memory and a control unit for executing access control to the memory.
  • a computer program characterized by having:
  • an information storage device such as a memory card
  • the data area of the read data is predetermined. It is configured to determine whether or not the data is in the specified lip-correspondence data area, and to execute the lip-hook processing in the memory on condition that it is determined that the lip-correspondence data area has been read.
  • Data reading from an information storage device is prevented from being performed a plurality of times, and so-called Access control of one dounce becomes possible.
  • the read data area determination processing is executed based on the logical number of the cluster as the area information of the data stored in the memory, and the single or continuous plurality of clusters are determined. Executing the memory lock process on condition that the read process of the data area corresponding to the logical number is determined enables read-only access control in which various data areas such as the intro part of music data are set arbitrarily. Becomes
  • the lock status information is stored in the non-volatile memory (NVM) in which the storage information is maintained even after the power is turned off.
  • NVM non-volatile memory
  • the access control process for the memory can be executed based on the acknowledgment status information.
  • the computer program of the present invention is, for example, a storage medium or a communication medium provided in a computer-readable format to a general-purpose computer system capable of executing various program codes, for example, a storage medium such as a CDFD and an MO. It is a computer program that can be provided via a medium 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 for explaining an outline of a use form of an information storage device of the present invention.
  • FIG. 2 is a diagram showing a hardware configuration example of a host device using the information storage device.
  • FIG. 3 is a diagram showing an example of a hardware configuration of an 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 a 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 is a diagram showing a processing flow for explaining an unlocking process 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 illustrating a communication processing sequence between the information storage device and the host device in the hacking process using the 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 illustrating 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 illustrating an imprint process and an unlock process using 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 unpacking 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 imprint process for an information storage device and an unlock process using a subkey set.
  • 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 for 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 executing a hack / unhack for an information storage device.
  • FIG. 22 is a flowchart of a process of reading the wake-up state in the host device.
  • FIG. 23 is a flowchart for explaining the process at the time of the hook process in the host device and the indicator display process.
  • FIG. 24 is a flowchart for explaining the processing at the time of the unlock processing in the host device and the indicator display processing.
  • the information processing device 20 is equipped with an information storage device 30 such as a PC (Personal Computer) 21, a PDA (Personal Digital Assistant) 22, a mobile communication terminal 23, a digital camera 24, and the like. It is a device that can output information from the storage device 30.
  • an information storage device 30 such as a PC (Personal Computer) 21, a PDA (Personal Digital Assistant) 22, a mobile communication terminal 23, a digital camera 24, and the like. It is a device that can output information from the storage device 30.
  • These information processing apparatuses 20 are equipped with a memory card 30 equipped with a non-volatile memory (NVM) such as a flash memory, for example. Data is stored in the memory card 30, or data stored in the memory card is read.
  • NVM non-volatile memory
  • Each of PCs (Personal Computers) 21 and 22, PDAs (Personal Digital Assistants) 23, portable communication terminals 24 and digital cameras 25 may use one memory card 30 mutually.
  • image data captured by a digital camera 25 is stored in a memory card 30, and then the memory card 30 is inserted into a PC 21 to display stored image data and execute image processing, or 21 In 1, contents such as music data obtained via the Internet or the like or via CD, DVD, etc. are stored in the memory card 30, and then the memory card 30 storing the contents is stored in the PDA. 22 to be used to play contents 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 OS (Operating System). It performs lock processing as access restriction processing for the information storage device, which is described in detail later, various encryption processing including hash value calculation and random number generation in unlock processing, 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.
  • a DSP (Digital Signal Processor) 104 performs signal processing, equalizer adjustment (audio signal processing) at the time of playback processing of content input from the information storage device 200 such as a memory card via the storage device IZF 113, for example. Performs gain adjustment corresponding to the frequency band), and performs compression / decompression (encode / decode) processing.
  • the decoded and decompressed content is converted into an analog audio signal by a digital-to-analog conversion circuit 105, amplified by an amplification circuit 106, and then output to an audio output unit 1. Output via 07.
  • 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 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 IZF 115 is an interface for connecting an external device, and performs data transfer with the connected device by performing connection in a connection mode such as, for example, USB, IE 1394.
  • 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 makes it possible to implement one bit with one transistor.
  • the information storage device 200 having such a flash memory is mounted on 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. Then, the data stored in the memory unit 220 is output 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 includes a control unit 210, and the control unit 210 includes a CPU (Central Processing Unit) 211 and a CPU 211 serving as a processor for executing various programs. Information to be applied to the execution program of the ROM (Read Only Memory) 221 and CPU 211, which stores fixed data among the program to be executed and the calculation parameters, and the parameters that change as needed during execution And a RAM (Random Access Memory) 2 13 for storing data.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • RAM (Random Access Memory) 2 13 is the information described in detail later. It is also used as a storage area for the state value data of the hacking state that changes due to the hacking process and the hacking process as the access restriction process for the information storage device.
  • the control unit 210 further includes a device interface 214 as an interface for data input / output between the information processing devices, and a data input / output interface with the memory unit 220. It has a 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. Controls encryption processing and command transmission / reception.
  • 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 information storage device 320 such as a memory card, which is a data storage area, is performed.
  • the process of releasing 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 stores information. It includes an information processing device such as a PC, a PDA, a digital camera, and a DSC (Digital Still Camera) for performing data utilization by writing data to the device 320 or reading data from the information storage device 320. Furthermore, the host device 310 also includes a lock / unlock device 3 1 2 as a device dedicated to the execution of the 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 data storage memories, and further stores information such as a memory card. It has an interface for mounting the device 320 and executing data transfer, 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
  • the host device including 3 12 is called.
  • an ID for example, 16-byte data
  • a lock key as key data used for lock processing and unlock processing
  • LK for example, 8-byte data
  • the set (ID, LK) of the host device identifier (ID) unique to each host device and the lock key (LK) 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 lock 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 ⁇ ⁇ 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 master key (LMK) as a key, and the output is output to the lock key (ID) corresponding to the ID unique to each host device.
  • LK master key
  • MD5, S ⁇ , etc. can be applied as a hash algorithm. is there.
  • 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 executes a process of generating a predetermined length, for example, a 16-byte random number (Rms), 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 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) , Rm s).
  • E (X, Y) indicates the encryption process of message [Y] to which key [X] is applied.
  • Various algorithms can be applied to the ⁇ signal processing algorithm, for example, a DES encryption algorithm is applied.
  • the host device performs symbol processing of the received random number (Rms) using the lock key (LK) as an encryption processing key: E (LK, Rms), and as a result, the 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 reception ID is calculated.
  • the reception ID is stored and stored in its own memory.
  • the reception ID is used for the unlock process described later. Use when
  • the information storage device performs an encryption process: 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, the encryption processing data received from the host device: A collation processing is performed to determine whether or not the data matches E (LK, Rms).
  • E (LK, Rms) the encryption processing data received from the host device: A collation processing is performed to determine whether or not the data matches E (LK, Rms).
  • Various algorithms can be applied to the signal processing algorithm as long as it is the same algorithm as 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 host device that has a valid ID and LK combination data It determines that the request is a hacking process request, executes 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 the memory unit 220 composed of 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 encryption processing data calculated by itself: E (LK, Rms), the host that has a valid ID and LK pair data It determines that the device is not a 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.
  • the lock processing 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 and the like, and then This is a process in which execution of the unpacking process to be described is set to be 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 sent to the lock key of the host device together with the lock command.
  • (LK) encrypted data: E (LK, Rms) is sent to the memory card as an information storage device I do.
  • 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 the encryption processing of the random number (Rms) generated in step S101 based on the calculated lock key (LK), and obtains the encrypted data: E ( LK, Rms) are calculated as collation data.
  • step S106 the memory card hosts the encryption key data E (LK, Rms) calculated in step S105 and the lock command in step SI03.
  • 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 S106 the host device that has transmitted the lock command transmits the correct ID and 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. (Unlock processing)
  • 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) and the memory at the time of the previous ping process.
  • the ID of the host device that has been stored in the device that is, the ID of the host device that performed the hack process, is sent 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 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 of the host device in advance as the key for the key processing: 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, The lock key (LK) corresponding to the ID of the host device that executed the lock process is calculated by the hash value calculation process that applies the lock master key (LMK) to the read ID. That is,
  • the information storage device performs an encryption process: 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, the encryption processing data received from the host device: A collation processing is performed to determine whether or not the data matches E (LK, Rms).
  • E (LK, Rms) matches the encryption processing data calculated by itself: E (LK, Rms), the host with a valid ID and LK combination data It 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. If they do not match, 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 is detected without performing the unlocking process. Send the notification to the host device.
  • the unlocking process executed by the information storage device means the cancellation of the clicking process, and a memory unit configured by a flash memory or the like which is a data storage area for contents or the like (the memory unit in FIG. 3). This is the process of setting to allow access to 220).
  • step S201 a random number (R sm) is generated based on the reception of a random number generation request command from the memory card as an information storage 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. The host device determines that unlocking is possible when the ID read from the memory card matches its own host ID.
  • 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 executes the hooking process stored in the memory during the previous hooking process.
  • the read host device ID is read, and a hash value is calculated by applying the read master ID (LMK) stored in its own memory to the read ID, that is,
  • the memory card performs an encryption process on the random number (Rms) generated in step S201 first, and obtains encrypted data: E ( LK, Rms) are 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 process. The host device determines that the host device does not have the correct ID and LK key (LK), and sends an error notification to the host device without performing unlock processing, that is, unlocking.
  • the host device having the valid combination data of the lock ID (LK) corresponding to the host device ID can execute the lock process for the information storage device, and
  • the unlocking process as described above can be performed only by the host device that has executed the locking process.
  • only the information storage device performs the so-called one-side authentication process of executing the authentication process of the host device, so that the processing load on the host device side is reduced.
  • efficient processing becomes possible.
  • the lock processing and the unlock processing described above have a configuration in which a random number generated for each processing is applied on the information storage device side, it is impossible to apply the recording data in the past processing. Unauthorized processing based on traces of past processing can be effectively prevented.
  • 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 which has executed the lock can perform the undocking process. It was an example. However, in a configuration in which a plurality of host devices use one information storage device (memory card), an information storage device (memory card) that stores data in a certain host device (device A) and reads the data is used. A situation occurs in which another host device (device B) wants to use it.
  • 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 executes 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 data sets corresponding to IDs and LKs in the above-described processing example, and can be applied to the same mouthpiece processing and the same mouthlessness processing as the above-described processing.
  • IDs and LKs are a primary ID and a primary lock key, which are written into a memory such as a ROM in the host device at the time of manufacturing each host device, and are data which cannot be rewritten by a user.
  • These primary IDs (IDs) and primary lock keys (LKs) are used in one-to-one correspondence between host device and information storage device in the same manner as the LMK application process described above. Applicable to This key set consisting of a primary ID and a primary lock key unique to each host device: [ID s, LK s] is called a primary key set.
  • This primary key set The process of applying the lock [IDs, LKs] is called the standard lock process.
  • the information processing device as the host device outputs a standard lock command to the information storage device.
  • the standard lock is executed, and the unlock process is executed by the output of the unlock command.
  • This subkey set: [ID en, LK en] is a key that can be stored in common in a plurality of host devices, and a subkey set stored in another host device by the processing procedure described below: [ID en, LK en] can be copied and stored in another host device via the information storage device.
  • Subkeyset Apply [ID en, LK en] to the information storage device (memo Lip processing), and the sub-keyset applied to the lip processing can be copied and output to another host device via the information storage device (memory card).
  • the lock processing is called export processing.
  • This subkey set: Lock processing using [ID en, LK en] is called export lock processing, and an information processing device serving as a host device outputs an export lock command to an information storage device.
  • the export lock is executed, and the unlock process is executed by the output of the unlock command.
  • the sub-keyset [IDen, LKen] obtained by the host device from the information storage device (memory card) that has been exported can be written to the memory in the host device.
  • This sub-keyset copy writing process is called the implementation process.
  • the implementation process forms a group consisting of a plurality of host devices having the same subkeyset: [Iden, LKen].
  • the sub-key set: [ID en, LK en] is a key set applicable to the lip processing that can be output to the outside, that is, the export lip processing. , L! [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.
  • subkeyset 1 [ID el, LK e 1] is transferred from three host devices, PC (Personal Computer) —a, PC—b, and PDA (Personal Digital Assistants) —a as host devices.
  • PC Personal Computer
  • PDA Personal Digital Assistants
  • each host device stores the primary key set [ID s, LK s] consisting of the primary ID (ID s) and primary lock key (LK s) in memory. And store it,
  • PC—a is [I D e l, LK e l], [I D e 2, L K e 2]
  • PC—b is [ID el, LK el]
  • PDA-a is [IDel, LKe1]
  • PDA-b is [IDe2, LKe2]
  • the sub key set consisting of each sub ID and the sublock key is stored.
  • a sub-key set consisting of a set of these sub-IDs and sub-keys: [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 apply a common sub-ID (ID n) and a common sub-lock key (L Kn) to form a single information storage device (memory card). Locking and unlocking can be performed.
  • a lock master key is stored in a memory 525 such as a ROM in a control unit in the information storage device 520 such as a memory card.
  • Master key (LMK) stored in the information storage device 520, ID (including ID s and ID en) stored in the host device, and lock key (LK (including LK s and LK en)) Has the following relationship with
  • 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) The primary lock key — (LK s) is calculated, and the sub-lock key (LK en) force is calculated by a hash value calculation process using the master key LMK for the sub ID (ID en).
  • (a) applies 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) This is the standard lock process.
  • the lock process is executed by outputting a standard lock command from the host device 510 to the information storage device 5200, and the unlock process is executed by outputting the unlock command.
  • the primary key set [IDs] is stored in the standard lock key set storage area 54 1 of the storage unit (flash memory) of the lock information storage device (memory card) 52 , LK s] 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 only by the host device that has the same primary key set [IDs, LKs], that is, the only host device that has executed the standard lock process.
  • the primary key set [ID s, LK s] including the primary ID (ID s) and the primary lock key (LK s) has a one-to-one correspondence between the host device and the information storage device, just like the LMK application processing described above.
  • the present invention can be applied to the lip-locking process and the lip-locking process, and the lip-locking process and the unlock process in the same processes as those described with reference to FIGS. 5 to 8 are possible.
  • (b) is an export port to 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-key (LK en) is used. Process.
  • the export lock processing using the subkey set [ID en, L en] 5 32 is executed by outputting the export lock command from the host device 5 10 to the information storage device 520, and the unlock lock command is output.
  • the unlock process is executed by the output.
  • the sub-key set [ID en, LK en] is stored in the export lock key set storage area 542 of the storage unit (flash memory) of the lock information storage device (memory card) 520. Is stored.
  • the sub-key set [ID en, LK en] applied to the export port executes the imprint processing which will be described in detail later, so that another host device can execute the lock operation.
  • Information storage device (memory card) obtained from 520 It is possible to do.
  • the lock release (unlock) processing can be executed only by the host device that executed the lock processing and the subkey set [ID en] applied to the export lock by the implement processing. , LK e ⁇ ].
  • a sub-key set [ID en, LK en] 532 consisting of a sub-ID (ID e ⁇ ) and a sub-key (LK e ⁇ ) that can be shared by each host device 501 is applied.
  • This is the standard lock process. 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 unlock process is executed by the output of the unlock command.
  • the key set applied in this process is the subkey set [IDen, LKen] 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 [ID en, LK en] can execute the group lock release (unlock) process. However, in this case, not only the host device that executed the group hack, but also the host device that already obtained the same sub key set [ID en, LK en] in advance. For example, the same subkey set [ID en, LK en] is applied in advance. The host device that has obtained the same supkey set [ID en, LK en] by imprinting at the time of the export process is executed, and stores the same in memory. Mouth can be made.
  • the sequence of the standard lock applying the subkey set [ID en, LK en], that is, the lock processing and unlock processing in the group lock is the same as the LMK application processing described above (see FIGS. 5 to 8). . However, the difference is that there can be multiple host devices that can execute lock / unlock due to imprint processing.
  • the sub-ID (ID en) and sub-key (LK en) that can be shared by multiple host devices, that is, the lock processing using the sap key set [ID en, LK en], and the information storage device (
  • This section describes the process of storing the subkey set [ID en, LK en] in the host device via the memory card (printing process) and the process of unlocking the export device to release 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 processing that enables copy output to other host devices via the.
  • FIG. 11 shows a processing sequence diagram executed between the host device and the information storage device in the hacking process based on the sapki 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 a mouth click status flag 5 5 1 1 1, to hold a value indicating mouth click state in the information storage device.
  • the upper NVM is a memory section 220 composed of a flash memory and the like described in FIG.
  • N VM (Non-Volatile Memory) area is a flag stored in the area
  • the lower row is a flag stored in RAM213 in the control unit 210.
  • 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 information storage device (memory card) has a data storage area in the memory section (flash memory (NVM)) for storing the key set applied to the standard lock and the key set applied to the export lotter, respectively.
  • 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 an encryption processing key. Processing: Execute E (LK en, Rms). Various algorithms can be applied to the ⁇ No. processing algorithm, for example, the DES No. ⁇ processing algorithm is applied.
  • the host device performs symbol processing of the received random number (Rms) using the sap lock key (LKen) as an encryption processing key: E (LKen, Rms), and executes the resulting data [E (LKen, Rms)). ], And the sub ID (ID en) as a set of data corresponding to the sap lock key (LK en) stored in the memory in the host device in advance, together with the lock command, to the information storage device.
  • 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. That is,
  • a sub-key (LKen) 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 executes a cryptographic process: E (LK en, Rms) using the suplock key (LK en) obtained 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 symbol processing data received from the host device: E (LKen, Rms).
  • E (LKen, Rms) Various algorithms can be applied as long as the encryption algorithm is the same as that of the host device.
  • the valid sub-ID (ID en) is obtained. It determines that the request is a processing request from a legitimate host device that has a set of sub-keys (LK en), executes the export process, and sends a notification of the completion of the process to the host device. Send. 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 suplock key (LK en). The error notification is transmitted to the host device without performing the lock process.
  • the export process performed by the information storage device is An access to a memory section (memory section 220 in FIG. 3) constituted by a flash memory or the like, which is a data storage area, is executed by executing an unlocking process using a sub ID and a sub lock key described below.
  • the export key set applied to the exporter: [ID en, LK en] is stored in the memory part of the information storage device (memory card) (flash memory (NVM)). It is stored in the export lock key set storage area. 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 in step S303, the sub-ID (ID en) already stored in the storage unit of the host device together with the lock command is read.
  • the received random number (Rms) is stored in the storage unit of the host device.
  • Data is encrypted with K en) to generate data: E (LK en, Rms) and these concatenated data: ID en, E (LK en, R ms) are transmitted to the memory card as an information storage device I do.
  • 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 lock master key (LMK) stored in its own memory to calculate the hash value of the received sub ID (IDen), that is,
  • the memory card performs an encryption process on the random number (Rms) generated in step S301 based on the calculated sub-key (LKen) to obtain the encrypted data: E ( LK en, Rms) is calculated as collation data.
  • step S306 the process proceeds to step S308.
  • the host device that sent the lock command determines that the device is unauthorized and does not have the correct sub-ID (ID en) and sub-hook key (LK en) paired data, and executes the hooking process. Instead, an error notification is sent to the host device.
  • the information storage device subjected to the export process uses the same sub-key set [ID en, LK en] can be unlocked by the same processing procedure as the unlocking process described in [Processing Based on Lock Master Key (LMK)] above. .
  • unlocking is possible by replacing the applied ID and lock key with the sub ID (IDen) and sublock key (LKen).
  • other host devices that do not have the same key set as the sub-key set [ID en, LK en] that performed the hacking process will send the sub-key set [ID en, LK en Unless [en] is obtained, the information storage device cannot be unlocked, that is, cannot be accessed.
  • a host device having 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 used as an information storage device having an export lock.
  • the stored sub-key set [ID en, LK en] can be obtained from the information storage device, and the obtained sub-key set [ID en, LK en] is applied to release the hook. Becomes possible. Acquisition of the subkey set [IDen, LKen] via the information storage device is called imprint processing.
  • the mouth state is determined 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 expo trotta processing from the information storage device in the export port state, thereby obtaining the same sap set [ID].
  • en, LK en] is a member of a group consisting of multiple host devices that have After that, the lock can be released by applying the obtained subkey set [ID en, LK en].
  • the details of the imprint and the unlocking process will be described below. (Imprint and unlock processing)
  • the host device From the information storage device locked by the export process described above, the host device obtains a subkey set consisting of a sublock key (LK en) and a sub ID (ID en) [ID en, LK en].
  • LK en sublock key
  • ID en sub ID [ID en, LK en].
  • 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) and the sub key (LK en) applied to the export storage device for the information storage device.
  • the device stores the sub key 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 poke process.
  • the sub ID (ID en) in the sub key set [ID en, LK en] applied to the report 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 that has received the sub ID (ID en) and the random number (Rms) from the information storage device first makes the receiving sub ID (ID en) its own primary ID (ID s) Is determined. If they match, unlocking using the same primary lock key (LK s) as in the LMK application process (see Fig. 7) is possible.
  • receiving sub ID (ID en) does not match its own primary ID (ID s), it means that a lock has been performed by another host device, but this receiving sub ID (ID en) , And sublock key (LKen) can be assigned to the same group as another host device that has executed the export lock using the subkey set [ID en, LK en] Obviously
  • the sub-key set [IDen, LKen] is stored in its own memory by executing the implementation process to obtain the sub-ID (IDen) and the sub-lock key (LKen), respectively, and as a set of these data. Then, it becomes a host device belonging to the group, and it becomes possible to release the export lock by applying the acquired subkey set [ID en, LK en].
  • the host device stores the sub-ID (IDen) received from the information storage device in the memory.
  • the host device that executes the implementation process then performs encryption processing of the received random number (Rms) using the primary lock key (LK s) previously stored in the memory in the host device as the encryption 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 to apply 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). This is called a lock process.
  • LK s primary lock key corresponding to the primary ID (ID s) is calculated.
  • the information storage device applies a primary key (LK s) obtained by the above-described hash value calculation to the random number Rms stored in its own memory.
  • E (LK s, Rms) And executes the collation processing to determine whether or not it matches the encryption processing data received from the host device: E (LK s, Rms). If the data received from the host device: E (LKs, Rms) and the signal processing data calculated by itself: E (LKs, Rms) match, a valid primary ID (IDs) is obtained.
  • the host device having the primary key set [ID s, LK s] as the primary lock key (LK s) set data is determined to be an upper lock processing request from the host device, and the over lock process is executed. A lock completion notification is sent to the host device.
  • E (LKs, Rms) If the received data from the host device: E (LKs, Rms) does not match the encryption processing data: E (LKs, Rms) calculated by itself, a valid primary ID (IDs) is used. Judgment 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 overhook process.
  • IDs primary ID
  • the over-lock processing executed by the information storage device is a state in which the standard lock is further superimposed on the export lock state, and the acknowledgment status flag of the information storage device is as shown in the figure.
  • the host device that has received the overlock completion notification shall continue the imprint process and the lock 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 receives 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) to obtain the sap lock key (LK en). This is the sub-key (LKEn) corresponding to the previously acquired sub ID (IDen), and stores the obtained sub-key set [IDen, LKen] in the memory. With this implementation procedure, this host device can belong to the group of group No.n.
  • the host device determines the 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 random number (Rms2) received from the storage device is encrypted, 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 (LKen, Rms2) from the host device together with the unlock command, first sends the encrypted master key to the sub ID (ID en) stored in its own memory. (LMK) applied hash
  • the sub value key (LK en) corresponding to the sub ID (ID en) is calculated by the key value calculation process. That is,
  • the information storage device performs encryption processing by applying the sub-key (LKen) obtained by the above-described hash value calculation to the random number Rms2 stored in its own memory: E (LKen, Rms 2) is executed, and a check is performed to determine whether or not the encryption processing data received from the host device: E (LKen, Rms 2). 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) 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 unlocking process, execute the unlocking process, and notify the host of the completion of unlocking. Send to device.
  • E (LKen, Rms 2) is executed, and a check is performed to determine whether or not the encryption processing data received from the host device: E (LKen, Rms 2). If the data received from the host device: E (LKen, Rms2) matches
  • E (LKen, Rms2) and the encryption processing data calculated by itself: E (LKen, Rms2) do not match, a valid support ID (ID) en) and the sub-key set [ID en, LK en] as the sub-key set (ID en, LK en).
  • ID valid support ID
  • 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. This is a sequence in which the NVM flag information is copied to the RAM, and the control unit executes access restriction processing based on the RAM flag information.
  • 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.
  • the generated random number is transmitted to the information storage device by the host device that previously executed the export lock process in step S402, and is stored in the export lock key set storage area of the memory unit of the information storage device. It is read by the host device together with the sub ID (ID en). At this point, the host device acquires the sub ID (IDen) in the subkey set [IDen, LKen].
  • 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 over-the-top.
  • 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.
  • 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 card hosts the encrypted data calculated in step S405: E (LKs, Rms) and the standard lock command in step S403.
  • E (LKs, Rms) E (LKs, Rms) )? ].
  • the host device determines the primary key set [ID s] as a set of valid and correct primary ID (ID s) and primary lock key (LK s).
  • ID s primary ID
  • LK s] is determined to be a valid device, and in step S407, a standard lock process is executed in accordance with the standard lock command.
  • This is an overlock process in which the standard lock is further superimposed on the export lock state.
  • the lock status flag of the information storage device is set in the RAM to indicate that the export lock and the standard lock are both valid.
  • step S 406 if it is determined in step S 406 that the two values are not equal in step S 406, in step S 408, the host device that has transmitted the standard lock command transmits a valid primary ID (ID s) 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 the set data. One notification is sent to the host device.
  • ID s primary ID
  • LK s primary lock key
  • Standard lock is performed as overlock processing in step S407, and further.
  • the process proceeds to step S501 in FIG.
  • the host device that has received the notification of completion of over-acknowledging 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 random number generation command in step S501.
  • the process of generating a random number of 2 (Rms2) is executed.
  • IDs Primary ID
  • IDen sub ID
  • step S503 the host device transmits an unlock command as a hook release request to the information storage device.
  • the host device transmits encrypted data E (LKen, Rms2) together with the unlock command.
  • the method of generating the encrypted data E (LKen, Rms2) follows the following procedure.
  • 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). This is the sublock key (LKen) corresponding to the subID (IDen) obtained earlier.
  • the host device performs an encryption process on the random number (Rms2) received from the information storage device based on the sap lock key (LKen), and generates encrypted data: E (LKen, Rms2). Generate.
  • the host device stores the obtained subkey set: [IDen, LKen] in the memory, and the imprint process is completed. That is, the host device belongs to the group No. n by the imprint process.
  • step S504 the information storage device that has received the encrypted data: E (LKe ⁇ , 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.
  • a lock master key (LMK) is assigned to a sub ID (ID en) stored in its own memory.
  • the sub-key (LKen) corresponding to the sub-ID (ID en) is calculated by the applied hash value calculation processing. That is,
  • the suplock key (LKen) corresponding to the sub ID (IDen) is calculated. Further, by using the random number Rms2 generated in step S501 and stored in the memory, an encryption process using the sub-key (LKen) obtained by the hash value calculation described above: E (LKen, Execute Rms 2) to generate collation data. In step S506, the information storage device determines whether the collation data: E (LKen, Rms2) matches the encryption processing data: E (LKen, Rms2) received from the host device. The collation process is performed.
  • E (LK en, Rm S 2) matches the encryption processing data calculated by itself: E (LK en, Rm s 2), a valid sub-ID (ID en) It is determined that the request from the host device having the sub-key set [ID en, LK en] as the sub-key key (LK en) pair data is released, that is, the request is for the un-lack processing, Proceeding to step S507, an unlock process is executed, and an unlock completion notification is transmitted to the host device.
  • step S is performed.
  • an error notification is sent to the host device.
  • multiple host devices have a common sap key set [ID e ⁇ , LK en] and can lock and unlock using one information storage device (memory card).
  • the subkey set [ID en, LK en] can be copied and stored in another host device via the information storage device, thereby enabling flexible group formation.
  • the copy of the subkey set [ID en, LK en] to the host device that is, the imprint, possesses a valid primary ID (ID s) and a primary lock key (LK s), and Sub-key set for unauthorized devices [ID en, LK en] Copy (imprint) can be prevented.
  • the subkey set [IDen, LKen] is stored in the standard lock key storage area (see Fig. 10) of the information storage device, and the copy output to other host devices is not performed. Not done. In other words, only the host device that has already acquired the same subkey set [IDen, LKen] can be accessed by normal unlocking without imprinting.
  • 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 unlocking the export port by the unlock process, the export port lock is performed. In this example, the information storage device is allowed to access the memory when the power of the information storage device is turned on again on condition that the export lock is released.
  • a primary key set [IDs, LKs] including a primary ID (IDs) and a primary lock key (LKs) is stored in a memory such as a ROM in the host device.
  • a master key (LMK) is stored in a memory such as a ROM in a control unit in an information storage device such as a memory card.
  • the master key (LMK) stored in the information storage device, the ID (including ID s and ID en) stored in the host device, and the lock key (LK (including LK s and LK en)) are as follows: Have a relationship.
  • 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 [Process based on lip master key (LMK)].
  • the lock processing based on the sub ID (ID en) and the sublock key (LK en) is executed by the same sequence as that described in the above [Lock processing configuration in device group].
  • a description will be given of the process of maintaining the acknowledgment status flag in the imprint and unlock processes in this processing example. (Maintenance processing of the lip status flag in the imprint and unpacking processing)
  • a sub-key set consisting of a sub-key (LK en) and a sub-ID (ID en) [ID en, LK en Figure 16 shows the imprint process for acquiring the information storage device, the unlock process for unlocking the information storage device that has been 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 is executed between the host device described with reference to FIG. 13 and the information storage device in [Lock processing configuration in device group]. It is basically the same as the processing sequence diagram of the imprint processing and export lock unlock processing, 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
  • S indicating standard lock release 0 was set for N VM and RAM.
  • 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 a verification process for determining whether or not the unlock command can be executed.
  • step S602 the encrypted data received from the host device together with the unlock command: E (LK en, Rms 2), and the encrypted data generated by itself: E (LK en, Rms) 2) Execute the collation processing with. This process is the same as that described in [Hack Processing Configuration in Device Group].
  • step S 607 If the data received from the host device: E (LK en, Rms 2) does not match the signal processing data calculated by itself: E (LK en, R ms 2), step S 607 In, an error notification is returned to the host, and the process ends.
  • the power supply to the information storage device was stopped because the information storage device (memory card) was removed from the host device, and the NVM was set to NVM when the power was turned on again.
  • the processing flow in FIG. 18 shows the processing when 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 Refer to the lock status flag of.
  • step S704 in the processing flow of FIG. 18 is made.
  • the result is Yes, and the process of step S705, that is, the memory access permitting process on the condition of the export lock release process (see FIGS. 13 to 15) is 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 allowed
  • the state information that can determine whether the external output of the key set applicable to the lock processing or the unlock processing is in the standard lock (SL) state where the external lock is not allowed.
  • the information before the unlock process of the lock status flag is stored in the NVM, so that when the information storage device is turned on again after the power is turned off, it is unlocked based on the flag stored in the NVM. It is possible to faithfully reproduce the state of the mouth before the lock processing.
  • 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 triggered.
  • a predetermined data area for example, a specific cluster
  • the reading of data stored in the memory unit (memory unit 220 in FIG. 2) of the information storage device (memory card) is performed, for example, by using a reproduction management file generated in accordance with the stored data.
  • the data is managed by an aisle (PBLIST), and the control unit reads data from the memory unit (the memory unit 220 in FIG. 2) according to the reproduction management file and outputs the data to the host device.
  • control unit of the information storage device can monitor the read data.
  • audio data compressed by ATRAC 3 can monitor a cluster as a predetermined data unit as a read data unit.
  • audio data compressed by ATRAC 3 is composed of a cluster consisting of a plurality of SUs (sound units) as the minimum data unit, and a part composed of a plurality of clusters.
  • SU sound unit
  • a cluster is data consisting 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 set cluster logical number 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. If the cluster matches the logical number of the cluster corresponding to the hack, perform the hack process.
  • the timing of the lock processing may be the start time of reading the lock-capable cluster, the end time of reading the lock-capable cluster, or the lock-capable cluster.
  • Various settings such as the end time of reading the entire content can be made. A detection process corresponding to the settings is executed, and a hack process is performed based on the detection of the setting conditions. 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 stored in the control unit 210 (see FIG. 3). ) Is copied and stored in RAM 2 13. 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 S Proceed to 8 06. If unlocking has failed, an error notification is issued to the host device in step S810, and the process ends.
  • step S806 the lock status flags of the RAM and NVM are updated based on the successful unlocking, that is, the setting process of S0 indicating the unlocked state is executed.
  • 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 Will be prevented from being used randomly.
  • the lock information is set to be released when 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 status flag of the NVM is turned on when the power is turned on again. May be copied to the RAM of the control unit, and the locked state before the power is turned off may be maintained and reproduced.
  • the same configuration is also applied to the export lock, that is, the configuration is such that the reading of a predetermined data area is used as a trigger to apply the export port. Is possible.
  • Fig. 21 shows an example of the configuration of the lock-Z unlocking dedicated device, which has an indicator for indicating the status of the lock and various processing switches.
  • a lock / unlock dedicated device 720 having an interface capable of data transfer with the memory card 710 as an information storage device is used as a lock status indicator. [Unlocked] indicator that indicates the unlocked state 7 2 1 [Locked] indicator that indicates the unlocked state 7 2 2
  • FIG. 21 shows an example of an indicator configuration and a processing request switch configuration example of a mouthpiece unlocking dedicated device
  • the host device includes an information processing device such as a PC and a PDA, and a DSC and the like.
  • an information processing device such as a PC and a PDA, and a DSC and the like.
  • Various devices such as digital cameras and mobile communication terminals are included, and 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 the indicators 72:! To 724 corresponding to the lip states are turned on based on the lip state read information. That is, when the standard lock or group lock is executed, the [Locked] indicator 722 indicating the lock status is displayed (lit), and when the export locker is executed, the export is performed. [ ⁇ — Locked] indicator 7 23 indicating the lock status is displayed (lit), and if not locked, [Unlocked] indicator 7 21 indicating the unlocked status is displayed (lit). .
  • the click processing is executed based on the input by the processing request switches 73 2 to 7 34 in FIG.
  • step S911 the locked state of the information storage device (memory card) is detected. If not, the error (ERR) indicator is displayed in step S914. Display. A If it is in the unlocked state, in step S912, either the standard lock process, the export lock process, or the group hack process is executed. Activates the display of the lip indicator, ie, the [Locked] indicator 72 2 indicating the lip status, or the [E—Locked] indicator 72 3 indicating the lip status of the export .
  • the lip indicator ie, the [Locked] indicator 72 2 indicating the lip status, or the [E—Locked] indicator 72 3 indicating the lip status of the export .
  • the unlocking process is executed by pressing the unlocking request switch 731 in FIG.
  • the locked state of the information storage device is first detected.
  • the state detection is executed based on the acknowledgment status flag of the RAM in the control unit described above. If it is not in the lip state (step S921: No), the display of the error (E RR) indicator 724 is executed in step S923.
  • 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 S924: Yes the imprint and unpack process described with reference to FIGS. 16 to 18 is executed.
  • step S925 the over-lock processing by the primary ID (IDs) and the primary lock key (LKs) shown in step S925, the sub-ID (IDen) of step S926 and the sublock key (LKen)
  • step S927 the implementation (input storage) processing
  • step S927 the unlocking processing using the sub ID (ID en) and the suplock key (LK en) in step S927.
  • the details of this processing are as described above with reference to FIGS. 16 to 18.
  • the unlock indicator 721 is displayed in step S922.
  • step S922 if the lock state is other than the port lock, that is, if the lock state is the standard lock state, it is determined in step S922 whether or not the standard lock has been performed. If there is a lock, an unlock process is executed in step S930.
  • the key set applied to this unlocking process is the primary key set [IDs, LKs] or, in the case of a group lock, the subkey set [IDen, LKen].
  • a lock release indicator 7 21 is displayed in step S 9 28.
  • step S924 the lock state is other than the export lock. If it is determined in step S929 that the lock is not the standard lock, the flow advances to step S931 to display an error (ERR) indicator 724. Is done.
  • ERP error
  • the series of processes described in the specification can be executed by hardware, software, or a composite configuration of both.
  • executing the processing by software install the program recording the processing sequence in the memory of the computer built in dedicated hardware and execute it, or use a general-purpose computer that can execute various processing It is possible to install and run the program on a computer.
  • the program can be recorded in a hard disk or a ROM (Read Only Memory) as a recording medium in advance.
  • the program can be temporarily or permanently stored on a removable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical) disk, DVD (Digital Versatile Disc), magnetic disk, or semiconductor memory. Can be stored (recorded).
  • a removable recording medium can be provided as so-called package software.
  • the program can be installed on the computer from the removable storage medium as described above, or transferred from the download site wirelessly 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.
  • a system is a logical set configuration of a plurality of devices, and is not limited to a device in which each component is in the same housing.
  • INDUSTRIAL APPLICABILITY As described above, according to the configuration of the present invention, according to the configuration of the present invention, in the information storage device such as the memory card, the information from the memory in response to the request from the host device connected to the information storage device is obtained.
  • the read data area determination process is executed based on the logical number of the cluster as the area information of the data stored in the memory, and the single or continuous clusters are determined.
  • the acknowledgment status information is stored in the nonvolatile memory (NVM) in which the storage information is maintained even after the power is turned off.
  • NVM nonvolatile memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

メモリに格納されたデータの所定データ領域の読み出し判定を条件としたメモリのロックを行なう装置および方法を提供する。メモリカード等の情報記憶装置において、情報記憶装置に接続されたホスト装置からの要求に応じたメモリからのデータ読み出しの際、読み出しデータ領域が予め定められたロック対応データ領域であるか否かの判定を、例えば、クラスタの論理番号に基づいて実行し、ロック対応データ領域の読み出しがあったことの判定を条件としてメモリのロック処理を実行する。本構成により、メモリカード等の情報記憶装置からの複数回のデータ読み出しが防止され、いわゆるリードワンスのアクセス制御が可能となる。

Description

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

Claims

請求の範囲
1 . データ記憶用のメモリと、該メモリに対するアクセス制御を実行する 制御部とを有する情報記憶装置であり、
前記制御部は、
情報記憶装置に接続されたホスト装置からの要求に応じて、前記メモリから のデータ読み出し制御を実行する構成であり、
前記メモリからの読み出しデータのデータ領域が予め定められた口ック対 応データ領域であるか否かの判定処理を実行するとともに、口ック対応データ 領域読み出し判定を条件として、メモリの口ック処理を実行する構成を有する ことを特徴とする情報記憶装置。
2 . 前記制御部は、
前記データ領域の判定処理を、メモリに格納されたデータの領域情報として のクラスタの論理番号に基づいて実行する構成であり、
予め定めたロック対応データ領域に対応するクラスタの論理番号と、読み出 しクラスタの論理番号との照合処理を実行する構成であることを特徴とする 請求項 1に記載の情報記憶装置。
3 . 前記制御部は、
前記データ領域の判定処理を、メモリに格納されたデータの領域情報として のクラスタの論理番号に基づいて実行し、連続する複数のクラスタの論理番号 に対応するデータ領域の読み出し処理がなされたとの判定を条件として、メモ リのロック処理を実行する構成を有することを特徴とする請求項 1に記載の 情報記憶装置。
4 . 前記情報記憶装置は、
情報記憶装置のロック状態デ一タとしての口ックステータス情報を有し、 前記制御部は、
前記口ック処理として、前記口ックステータス情報の更新処理を実行する構 成であることを特徴とする請求項 1に記載の情報記憶装置。
5 . 前記口ックステータス情報は、電源オフ後も格納情報が維持される不 揮発性メモリ (N V M) に格納され、
前記制御部は、
前記情報記憶装置の電源再投入後の前記メモリに対するアクセス制御処理 を、前記口ックステータス情報に基づいて実行する構成であることを特徴とす る請求項 4に記載の情報記憶装置。
6 . 前記ロック処理は、
ロック対応データ領域の読み出し開始、 または、 ロック対応データ領域の読 み出し終了、 または、 口ック対応デ一タ領域を有するコンテンッ全体の読み出
L5 し終了のいずれかの処理検出を条件として実行する構成であることを特徴と する請求項 1に記載の情報記憶装置。
7 . データ記憶用のメモリと、該メモリに対するアクセス制御を実行する 制御部とを有する情報記憶装置におけるメモリアクセス制御方法であり、 0 情報記憶装置に接続されたホスト装置からの要求に応じて、前記メモリから のデータ読み出しを実行するステップと、
前記メモリからの読み出しデータのデータ領域が予め定められた口ック対 応データ領域であるか否かの判定処理を実行する判定処理ステップと、 口ック対応データ領域読み出し判定を条件として、メモリの口ック処理を実 5 行する口ック処理実行ステップと、
を有することを特徴とするメモリアクセス制御方法。
8 . 前記判定処理ステップは、
前記データ領域の判定処理を、メモリに格納されたデータの領域情報として のクラスタの論理番号に基づいて実行するステップであり、予め定めた口ック 対応データ領域に対応するクラスタの論理番号と、読み出しクラスタの論理番 号との照合処理を実行するステップを含むことを特徴とする請求項 7に記載 のメモリアクセス制御方法。
9 . 前記判定処理ステップは、
前記データ領域の判定処理を、メモリに格納されたデータの領域情報として のクラスタの論理番号に基づいて実行し、
前記口ック処理実行ステップは、
連続する複数のクラスタの論理番号に対応するデータ領域の読み出し処理 がなされたとの判定を条件として、メモリの口ック処理を実行することを特徴 とする請求項 7に記載のメモリアクセス制御方法。
1 0 . 前記ロック処理実行ステップは、
情報記憶装置の口ック状態データと してのロックステータス情報の更新処 理を実行するステップを含むことを特徴とする請求項 7に記載のメモリァク セス制御方法。
1 1 . 前記メモリアクセス制御方法は、 さらに、
前記口ックステータス情報を、電源オフ後も格納情報が維持される不揮発性 メモリ (N V M) に格納するステップを含み、
前記口ック処理実行ステップは、
前記口ックステータス情報に基づいて、前記情報記憶装置の電源再投入後の 前記メモリに対するアクセス制御処理を実行するステップを含むことを特徴 とする請求項 1 0に記載のメモリアクセス制御方法。
1 2 . 前記ロック処理実行ステップは、
口ック対応データ領域の読み出し開始、 または、 口ック対応データ領域の読 み出し終了、または、 口ック対応データ領域を有するコンテンッ全体の読み出 し終了のいずれかの処理検出を条件として実行することを特徴とする請求項 7に記載のメモリアクセス制御方法。
1 3 . データ記憶用のメモリ と、該メモリに対するアクセス制御を実行す る制御部とを有する情報記憶装置におけるメモリアクセス制御処理を実行す るコンピュータ · プログラムであって、
情報記憶装置に接続されたホスト装置からの要求に応じて、前記メモリから のデータ読み出しを実行するステップと、
前記メモリからの読み出しデータのデータ領域が予め定められた口ック対 応データ領域であるか否かの判定処理を実行する判定処理ステップと、 口ック対応データ領域読み出し判定を条件として、メモリの口ック処理を実 行する口ック処理実行ステップと、
を有することを特徴とするコンピュータ 'プログラム。
PCT/JP2003/007782 2002-06-25 2003-06-19 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム WO2004001610A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/487,070 US20040236919A1 (en) 2002-06-25 2003-06-19 Information storage device, memory access control method, and computer program
EP03760901A EP1519277A1 (en) 2002-06-25 2003-06-19 Information storage device, memory access control method, and computer program
KR10-2004-7002773A KR20050013523A (ko) 2002-06-25 2003-06-19 정보 기억 장치, 및 메모리 액세스 제어 방법, 및 컴퓨터프로그램

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=29996692

Family Applications (1)

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

Country Status (6)

Country Link
US (1) US20040236919A1 (ja)
EP (1) EP1519277A1 (ja)
JP (1) JP3979194B2 (ja)
KR (1) KR20050013523A (ja)
CN (1) CN1292357C (ja)
WO (1) WO2004001610A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602005013344D1 (de) * 2005-01-19 2009-04-30 St Microelectronics Srl Erweiterte sichere Speicherzugriffsmethode und Archtitektur
US20080189557A1 (en) * 2005-01-19 2008-08-07 Stmicroelectronics S.R.I. Method and architecture for restricting access to a memory device
US7409532B2 (en) 2005-03-24 2008-08-05 International Business Machines Corporation Method and apparatus for extending operations of an application in a data processing system
CN101233469B (zh) * 2005-07-21 2013-06-05 克莱夫公司 存储器加锁系统
ATE499658T1 (de) * 2005-08-03 2011-03-15 St Ericsson Sa Sicheres endgerät, routine und verfahren zum schützen eines geheimen schlüssels
US7613891B2 (en) * 2006-05-04 2009-11-03 Intel Corporation Methods and apparatus for providing a read access control system associated with a flash device
CN101377760B (zh) * 2007-08-30 2010-06-02 佛山普立华科技有限公司 影像文件保护系统及其方法
US10783232B2 (en) 2007-09-27 2020-09-22 Clevx, Llc Management system for self-encrypting managed devices with embedded wireless user authentication
US10778417B2 (en) 2007-09-27 2020-09-15 Clevx, Llc Self-encrypting module with embedded wireless user authentication
US10181055B2 (en) * 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
US11190936B2 (en) * 2007-09-27 2021-11-30 Clevx, Llc Wireless authentication system
US20100174913A1 (en) * 2009-01-03 2010-07-08 Johnson Simon B Multi-factor authentication system for encryption key storage and method of operation therefor
US9286493B2 (en) * 2009-01-07 2016-03-15 Clevx, Llc Encryption bridge system and method of operation thereof
JP5349114B2 (ja) * 2009-03-31 2013-11-20 株式会社バッファロー 記憶装置
JP5419776B2 (ja) 2010-03-30 2014-02-19 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理方法
JP2012108672A (ja) * 2010-11-16 2012-06-07 Toshiba Corp 記録媒体
JP2012234334A (ja) * 2011-04-28 2012-11-29 Toshiba Corp メモリ装置
CN103797491B (zh) * 2011-09-28 2017-06-23 惠普发展公司,有限责任合伙企业 对存储设备进行解锁
JP5734492B1 (ja) * 2014-05-08 2015-06-17 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US11030346B2 (en) * 2018-07-13 2021-06-08 Ememory Technology Inc. Integrated circuit and data processing method for enhancing security of the integrated circuit
US11169717B2 (en) 2018-12-28 2021-11-09 Micron Technology, Inc. Unauthorized access command logging using a key for a protected region of memory
US10768831B2 (en) 2018-12-28 2020-09-08 Micron Technology, Inc. Non-persistent unlock for secure memory
US11256427B2 (en) 2018-12-28 2022-02-22 Micron Technology, Inc. Unauthorized memory access mitigation
CN110851887A (zh) * 2019-10-18 2020-02-28 浙江大华技术股份有限公司 多媒体存储卡的数据保护方法、装置、设备和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61216059A (ja) * 1985-02-21 1986-09-25 Fujitsu Ltd 記憶デ−タ保護方式
JPH02162442A (ja) * 1988-12-15 1990-06-22 Nec Corp 読出し禁止機能付メモリ
JPH04217052A (ja) * 1990-12-19 1992-08-07 Casio Comput Co Ltd 記憶データ保護装置
JPH04362752A (ja) * 1991-06-10 1992-12-15 Sony Corp メモリのライトプロテクト回路
JPH09293022A (ja) * 1996-04-24 1997-11-11 Toshiba Corp データ記録再生装置及び同装置におけるデータ保護方法
JPH11237983A (ja) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法
JP2001022642A (ja) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp メモリの機密保持回路
JP2002108713A (ja) * 2000-09-29 2002-04-12 Sony Corp メモリ装置およびメモリアクセス制限方法
JP2002108714A (ja) * 2000-09-29 2002-04-12 Sony Corp メモリ装置およびメモリアクセス制限方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US40423A (en) * 1863-10-27 Improvement in corn-planters
US3602896A (en) * 1969-06-30 1971-08-31 Ibm Random access memory with flexible data boundaries
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4736419A (en) * 1984-12-24 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Electronic lock system
US5148534A (en) * 1986-11-05 1992-09-15 International Business Machines Corp. Hardware cartridge representing verifiable, use-once authorization
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US4937736A (en) * 1987-11-30 1990-06-26 International Business Machines Corporation Memory controller for protected memory with automatic access granting capability
US5231310A (en) * 1990-09-05 1993-07-27 Oh Soo Young Electrical and electronic appliance lock
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
US6002772A (en) * 1995-09-29 1999-12-14 Mitsubishi Corporation Data management system
US5963142A (en) * 1995-03-03 1999-10-05 Compaq Computer Corporation Security control for personal computer
US6169687B1 (en) * 1995-04-21 2001-01-02 Mark B. Johnson High density and speed magneto-electronic memory for use in computing system
US6131090A (en) * 1997-03-04 2000-10-10 Pitney Bowes Inc. Method and system for providing controlled access to information stored on a portable recording medium
US6330624B1 (en) * 1999-02-09 2001-12-11 International Business Machines Corporation Access limiting to only a planar by storing a device public key only within the planar and a planar public key only within the device
US6832317B1 (en) * 2001-05-10 2004-12-14 Advanced Micro Devices, Inc. Personal computer security mechanism
JP4690600B2 (ja) * 2001-08-23 2011-06-01 富士通株式会社 データ保護方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61216059A (ja) * 1985-02-21 1986-09-25 Fujitsu Ltd 記憶デ−タ保護方式
JPH02162442A (ja) * 1988-12-15 1990-06-22 Nec Corp 読出し禁止機能付メモリ
JPH04217052A (ja) * 1990-12-19 1992-08-07 Casio Comput Co Ltd 記憶データ保護装置
JPH04362752A (ja) * 1991-06-10 1992-12-15 Sony Corp メモリのライトプロテクト回路
JPH09293022A (ja) * 1996-04-24 1997-11-11 Toshiba Corp データ記録再生装置及び同装置におけるデータ保護方法
JPH11237983A (ja) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法
JP2001022642A (ja) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp メモリの機密保持回路
JP2002108713A (ja) * 2000-09-29 2002-04-12 Sony Corp メモリ装置およびメモリアクセス制限方法
JP2002108714A (ja) * 2000-09-29 2002-04-12 Sony Corp メモリ装置およびメモリアクセス制限方法

Also Published As

Publication number Publication date
JP2004030101A (ja) 2004-01-29
US20040236919A1 (en) 2004-11-25
JP3979194B2 (ja) 2007-09-19
KR20050013523A (ko) 2005-02-04
CN1292357C (zh) 2006-12-27
EP1519277A1 (en) 2005-03-30
CN1564981A (zh) 2005-01-12

Similar Documents

Publication Publication Date Title
JP4016741B2 (ja) 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
JP3979195B2 (ja) 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
WO2004001608A1 (ja) 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
WO2004001610A1 (ja) 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
JP4687703B2 (ja) 記録システム、情報処理装置、記憶装置、記録方法及びプログラム
NZ545771A (en) Digital rights management structure, portable storage device, and contents management method using the portable storage device
JP2008015622A (ja) 著作権保護記憶媒体、情報記録装置及び情報記録方法、並びに情報再生装置及び情報再生方法
JP2001014441A (ja) 半導体メモリカード及び読み出し装置
WO2001056224A1 (fr) Systeme d'authentification de dispositif de stockage
US20110022850A1 (en) Access control for secure portable storage device
JP2003233795A (ja) 半導体メモリカード及び読み出し装置
JP2003195758A (ja) データ処理装置、インタフェースボードおよびデータ秘匿方法
JP2006277697A (ja) コンテンツ転送システム,コンテンツ転送装置,コンテンツ再生装置,コンテンツ転送方法およびコンテンツ再生方法
JP4765377B2 (ja) コンテンツ提供サーバ,および携帯電話
WO2023178724A1 (zh) 智能门铃防盗版方法、系统、智能门铃及计算机可读存储介质
JP4863309B2 (ja) 通信システム、無線通信端末、接続方法およびプログラム
JP2011123625A (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: 2003760901

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020047002773

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: 20038011360

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 10487070

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003760901

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2003760901

Country of ref document: EP