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

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

Info

Publication number
WO2004001609A1
WO2004001609A1 PCT/JP2003/007781 JP0307781W WO2004001609A1 WO 2004001609 A1 WO2004001609 A1 WO 2004001609A1 JP 0307781 W JP0307781 W JP 0307781W WO 2004001609 A1 WO2004001609 A1 WO 2004001609A1
Authority
WO
WIPO (PCT)
Prior art keywords
lock
key
storage device
information processing
information storage
Prior art date
Application number
PCT/JP2003/007781
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29996694&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2004001609(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP03760900.5A priority Critical patent/EP1517244B1/en
Priority to KR1020047002720A priority patent/KR100968733B1/ko
Priority to US10/486,094 priority patent/US7636826B2/en
Publication of WO2004001609A1 publication Critical patent/WO2004001609A1/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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations

Definitions

  • the present invention relates to an information storage device, a memory access control system and a method, and a computer program. More specifically, the present invention realizes various configurations for restricting access to data stored in an information storage device such as a memory card, and performs a process of hacking or undoing a memory in the information storage device.
  • TECHNICAL FIELD The present invention relates to an information storage device, a memory access control system, a method, and a computer program, which can be realized in a common and secure manner for a plurality of information processing devices using the information processing device. Background art
  • PCs Personal Computers
  • PDAs Personal Digital Assistants
  • Various storage media such as hard disks, DVDs, CDs, memory cards, etc. Data recording and playback processing is performed using.
  • a small card-type memory device including a memory unit configured by a flash memory and the like and a control unit configured by a CPU and the like is capable of storing various software data (contents) such as music data, image data, and programs. (Content)) is often used as a storage means.
  • Reading or writing of data stored in a memory card or the like is made possible by mounting the card on 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. For example, by setting a password or performing a cryptographic process, a so-called exclusion restriction configuration is realized in which memory access is permitted only to specific users or specific devices, and access by unauthorized third parties is eliminated. ing.
  • 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 every time the memory card is inserted into the device, it takes time to perform data reading or data writing. In other words, the processing efficiency decreases.
  • the present invention has been made in view of the above-described problems, and realizes various configurations for restricting access to storage data of an information storage device such as a memory card.
  • an information storage device such as a memory card.
  • Implementing the hacking process or the hacking process commonly and securely for multiple information processing devices that use information storage devices It is an object of the present invention to provide an information storage device, a memory access control system and a method, and a computer program, which enable the above.
  • 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:
  • the memory has a configuration for executing a hacking process based on a lock command and an identifier (ID) input from the information processing device,
  • the information storage device is characterized in that it has a configuration for judging which of the above and storing the discrimination information in a storage means.
  • the information storage device is configured to store the acknowledgment status information in the storage means as discrimination information of the acknowledgment state of the information storage device; Contains information that can determine whether or not the device is in the standard lock state and whether or not the device is in the export lock state.
  • the control unit controls the information storage device based on the lock status information. On the condition that it is determined that the user is in the lip-locked state, the configuration is such that the process of outputting the above-mentioned Ethernet lock key set to the information processing apparatus is performed.
  • control unit has a configuration for executing a process of determining whether or not output processing of the export port key set to the information processing device is possible, and the determination process includes an information processing process. Including verification processing of a key set unique to the information processing apparatus input from the apparatus, output processing of the export lock key set to the information processing apparatus at least on condition that the verification is established. Is performed.
  • the key set unique to the information processing device includes a primary ID (IDs) as a unique ID of the information processing device and a lock key corresponding to the unique ID.
  • a lock master key (LMK) capable of calculating a primary lock key (LK s) as a hash value obtained by applying the lock master key (LMK) to the information processing device. It is characterized in that the unique key set is verified based on a lock key (LK) obtained by calculating a hash value using the above-mentioned master key (LMK).
  • the control unit executes a random number generation process, and encrypts the random number (Rms) based on a primary lock key (LKs) owned by the information processing device.
  • the data [E (L ks, Rms)] is received from the information processing apparatus, and the encryption calculated based on the received encrypted data and the primary lock key (LK s) obtained by the hash value calculation is performed. It is characterized in that it is configured to execute verification processing including collation with data [E (L ks, Rms)].
  • the information processing device includes, as a unique key set, a primary ID (ID s), which is a unique ID of the information processing device, and the primary ID (ID s). It has a primary key set [ID s, LK s] consisting of a primary lock key (LK s) set correspondingly, and the control unit responds to the output request of the export lock key set from the information processing device.
  • the configuration data of the export lock key set is encrypted and output based on the primary lock key (LK s) of the information processing apparatus.
  • the export key set is input from the information processing device that has executed the export lock.
  • a sub key set [ID en, LK en] constituted by a data set of a sub ID (ID en and a sublock key (LK en) set corresponding to the sub ID (ID en);
  • a second aspect of the present invention provides:
  • An information storage device having a memory for data storage and a control unit for executing access control to the memory, and an interface to the information storage device, and executing a memory access in the information storage device via the interface
  • a memory access control system having an information processing device;
  • the information processing device includes
  • a key set including an identifier (ID) and a lock key (LK) is stored in a storage means,
  • the control unit of the information storage device includes
  • the key set including the identifier (ID) is: (a) a standard lock key set as a key set that does not allow external output;
  • the memory access control system has a configuration for determining whether or not to output a keyset to the information processing device based on the determination information.
  • the information processing device includes a primary ID (ID s) as a unique ID of the information processing device, and a primary ID as a lock key corresponding to the unique ID.
  • a primary key set [ID s, LK s] consisting of a lock key (LK s) is stored in the storage means,
  • the information storage device control unit obtains verification of a key set unique to the information processing device, which is input from the information processing device, by calculating a hash value to which the lip master key (LMK) is applied. It is characterized in that it is executed based on the lip key (LK).
  • the control unit of the information storage device executes a random number generation process, and executes the random number generation process based on a primary lock key (LK s) owned by the information processing device.
  • Rm s) encrypted data [E (L ks, Rm s)] is received from the information processing apparatus, and based on the received encrypted data and the primary lock key (LK s) obtained by the hash value calculation. It is characterized in that verification processing including collation with the calculated encrypted data [E (L ks, Rms)] is executed.
  • the information processing device includes, as a unique key set, a primary ID (ID s) that is a unique ID of the information processing device, and the primary ID (ID s). ), A primary key set [ID s, LK s] including a primary lock key (LK s) set in correspondence with the information storage device.
  • a primary key set [ID s, LK s] including a primary lock key (LK s) set in correspondence with the information storage device.
  • encrypted data obtained by encrypting the configuration data of the export lock key set based on a primary lock key (LK s) of the information processing device is output, and the information processing device outputs the encrypted data.
  • the decrypted data is subjected to a decryption process based on the primary lock key (LK s) of the information processing device to execute the export lock key set. Characterized in that it is a construction you get the growth data.
  • the export lock key set includes a sub ID (ID en) input from the information processing apparatus that has executed the export lotter, and the sub ID (ID en).
  • ID en input from the information processing apparatus that has executed the export lotter
  • ID en sub ID
  • ) Is set by the data set of the suplock key (LKen) set corresponding to The sub-key set [ID en, LK en], and the control unit of the information storage device, based on the primary lock key (LK s) of the sub-key set output request information processing device, Encrypted data generated by encryption: [E (LKs, LKen)] is output to the information processing device.
  • a third aspect of the present invention is that
  • a memory access control method in an information storage device including a data storage memory and a control unit that performs access control on the memory
  • the key set including the identifier (ID) is: (a) a standard lock key set as a key set that does not allow external output;
  • a memory access control method comprising the steps of: determining which of the two types; and storing the determination information in a storage unit.
  • the discrimination information is a hook status information as a hook state discrimination information
  • the lock status information is a standard lock state or not
  • the memory access control method further includes determining that the information storage device is in the export lock state based on the lock status information. Performing a process of outputting the export / keyset to the information processing device, on condition that the determination is made.
  • the memory access control method further includes a step of determining whether or not output processing of the export lock key set to the information processing apparatus can be performed by the information processing apparatus. Performs verification of the key set unique to the information processing device to be input, and at least confirms that the verification is successful. As a condition, output processing of the export lock key set to the information processing device is performed.
  • the key set unique to the information processing device includes a primary ID (ID s) as a unique ID of the information processing device and a lock key corresponding to the unique ID.
  • a primary key set [ID s, LK s] consisting of a certain primary lock key (LK s), and the information storage device has a relationship of LK s H (LMK, ID s), that is, a primary ID (ID s) has a lock master key (LMK) capable of calculating a primary lock key (LK s) as a hash value obtained by applying the lock master key (LMK) to the lock master key (LMK). Verifying the unique key set on the basis of the LK key obtained by calculating the hash value using the LK master key (LMK). Sign.
  • the verification process execution step executes a random number generation process, and executes the random number (Rms) based on a primary lock key (LKs) owned by the information processing apparatus. ) Is received from the information processing apparatus, and is calculated based on the received encrypted data and the primary lock key (LK s) obtained by the hash value calculation. And performing a verification process including a check with the encrypted data [E (L ks, Rms)].
  • the information processing device includes, as a unique key set, a primary ID (ID s) that is a unique ID of the information processing device, and the primary ID (ID s). ), A primary key set [ID s, LK s] consisting of a primary lock key (LK s) set in accordance with the above.
  • the memory access control method further includes an export lock key set from the information processing device. An encryption output step of encrypting and outputting the configuration data of the export lock key set based on a primary lock key (LK s) of the information processing apparatus in response to a request for output of the export lock key set. You.
  • the export key set includes a sub-ID (ID en) input from the information processing apparatus that has executed the export, and the sub ID (ID en).
  • ID en) is a supkey set [ID en, LK en] composed of a sap lock key (LK en) data set that is set corresponding to the sub-encryption key (LK en). ) Based on the primary key (LK s) of the sub-keyset output request information processing device, and outputs encrypted data: [E (LK s, LK en)].
  • a fourth aspect of the present invention is that
  • a computer for executing a memory access control process in an information storage device having a memory for storing data and a control unit for executing access control to the memory.
  • the key set including the identifier (ID) is: (a) a standard lock key set as a key set that does not allow external output;
  • an information storage device such as a memory card
  • (a) external output is not allowed according to a mouth command input from an information processing device serving as a host device such as a PC. It determines whether it is a standard lock key set as a key set, or (b) an export lock key set as a key set that allows external output, and stores each key set information.
  • an export lock key set the required Since the configuration is such that external output is permitted as a condition, a configuration is realized in which only a plurality of valid information processing devices can execute memory hacking or unlocking processing.
  • the memory access control is performed based on the lock status information that can determine whether the lock state is the standard lock state or the export lock state. Since the key set output process is executed only in the lock state, various memory access restriction processes can be performed according to the memory usage mode.
  • the exporter key set when the exporter key set is output to the information processing device, a verification process of a key set unique to the information processing device input from the information processing device is performed. Since the configuration is such that the output processing of the memory is executed, unrestricted memory access is prevented, and secure memory access control is realized.
  • the information processing apparatus is provided with a primary ID (IDs) as a unique ID of the information processing apparatus, and a primary lock key (LKL) which is a lock key corresponding to the unique ID.
  • IDs a primary ID
  • LKL primary lock key
  • the sub-key set [ID en, LK en] composed of the data set of (en) is stored.
  • the computer program of the present invention is, for example, a storage medium and a communication medium provided in a computer-readable format for a general-purpose computer system capable of executing various programs and codes, such as a CD FD and an MO. It is a computer program that can be provided via a storage 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 is not limited to a device in which each component is located in the same housing.
  • FIG. 1 is a diagram for explaining an outline of a use form of the information storage device of the present invention.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of a host device using an information storage device.
  • FIG. 3 is a diagram illustrating an example of a hardware configuration of the information storage device.
  • FIG. 4 is a diagram for explaining data stored in the information storage device and the host device of the present invention.
  • FIG. 5 is a diagram illustrating a communication processing sequence between the information storage device and the host device in the hacking process for the information storage device.
  • FIG. 6 is a diagram showing a processing flow for explaining 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 for explaining a communication processing sequence between the information storage device and the host device in the lock process applying the subkey set to 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 sub-keyset for the information storage device.
  • FIG. 14 is a flowchart for explaining an imprint process using an imprint and a subkey set for an information storage device.
  • FIG. 15 is a flowchart illustrating an imprint process using an imprint and a subkey set for an information storage device.
  • FIG. 16 is a diagram illustrating a communication processing sequence between the information storage device and the host device in the unpacking process using the imprint and the subkey set for the information storage device.
  • FIG. 17 is a flowchart illustrating a process of updating the acknowledgment status flag in the undocking process using the imprint and the subkey set for the information storage device.
  • FIG. 18 is a flowchart illustrating a process of referring to a hook status flag in an unlock process for an information storage device.
  • FIG. 19 is a diagram illustrating a cluster configuration as a data storage mode in the information storage device.
  • FIG. 20 is a flowchart illustrating a hacking process based on reading of a specific data area (cluster).
  • FIG. 21 is a diagram for explaining a configuration of a hook-and-loop-free execution device for the 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 processing at the time of the lock processing in the host device and the indicator display processing.
  • FIG. 24 is a flowchart for explaining the process at the time of the unlocking process in the host device and the indicator display process.
  • the information processing device 20 is equipped with an information storage device 30 such as a PC (Personal Computer) 21, a PDA (Personal Digital Assistants) 22, a mobile communication terminal 23, a digital camera 24, etc.
  • an information storage device 30 such as a PC (Personal Computer) 21, a PDA (Personal Digital Assistants) 22, a mobile communication terminal 23, a digital camera 24, etc.
  • a device that can output information from the device 30 is equipped with an information storage device 30 such as a PC (Personal Computer) 21, a PDA (Personal Digital Assistants) 22, a mobile communication terminal 23, a digital camera 24, etc.
  • These information processing devices 20 are equipped with a memory card 30 equipped with a nonvolatile memory (NVM: Non-Volatile Memory) such as a flash memory, and store data in the memory card 30 or Executes reading of data stored in the memory card.
  • NVM Non-Volatile Memory
  • Each of the PCs (Personal Computers) 21 and 22, the PDAs (Personal Digital Assistants) 23, the mobile communication terminal 24, and the digital camera 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 various kinds of encryption processing including hash value calculation, random number generation, and the like in the hacking processing as access restriction processing for the information storage device, which will be described in detail later, and control in command transmission and reception.
  • OS Operating System
  • the ROM (Read Only Memory) 102 stores a program executed by the CPU 101 and fixed data among calculation parameters. This will be explained in detail later. That mouth click processing as an access restriction process against to the information storage device is stored en-locking processing program force s.
  • a RAM (Random Access Memory) 103 stores information applied to the execution program of the CPU 101, parameters that change as appropriate in the execution, and the like.
  • a DSP (Digital Signal Processor) 104 is used to perform symbol processing and equalizer adjustment (audio processing) when playing back content input from the information storage device 200 such as a memory card via the storage device IZF 113. Performs gain adjustment according to the frequency band of the signal), 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 amplifier circuit 106, and then output via an audio output unit 107.
  • the output of the image data is executed by the display unit 109 such as a CD via the display controller 108.
  • Digital or analog signals are input from an external source from the input I / F 112, and AZD conversion is performed when analog signals are input.
  • the AZD conversion converts an input input signal into a digital signal.
  • An input digital signal from an external source is converted into a digital signal having a predetermined sampling frequency and a predetermined number of quantization bits by a sampling rate converter (SRC) and input.
  • SRC sampling rate converter
  • the input / output IZF 115 is an interface for connecting an external device, and performs data transfer with a connected device by making a connection in a connection mode such as, for example, USB.
  • Flash memory is a form of electrically rewritable nonvolatile 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, which limits the degree of integration.However, flash memory erases all bits at once. With this method, one bit can be realized with one transistor.
  • the information storage device 200 having such flash memory is a PC, PDA, Data that is attached to an information processing device such as a digital camera and is input from the information processing device is stored in the memory unit 220, and data stored in the memory unit 220 is output to the information processing device. I do.
  • the information storage device 200 further includes a control unit 210, and the control unit 210 is executed by a CPU (Central Processing Unit) 211 as a processor that executes various programs.
  • ROM Read Only Memory
  • ROM Read Only Memory
  • RAM Random Access Memory 2 13
  • a RAM (Random Access Memory) 2 13 is a state value of a wake-up state which is changed by a wake-up process as a process of restricting access to an information storage device and a wake-up process which will be described in detail later. Also used as data storage area.
  • the control unit 210 further functions as a device interface 2 14 as an interface for data input / output between the information processing devices, and as a data input / output interface with the memory unit 220.
  • Memory interface 2 16 Memory interface 2 16.
  • the CPU 211 performs various types of encryption including hash processing, hash value calculation, random number generation, and the like in the hacking process as an access restriction process executed with the information processing device described in detail below. Executes processing and control of command transmission and 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 contents and the like of the information storage device 320 such as a memory card, is executed.
  • Processing and access restrictions Is referred to as an unlocking process.
  • the host device 310 performs the lock process and the unlock process.
  • the host device 310 has an interface for executing data transfer with the information storage device 320 such as a memory device, and has an information storage device. It includes an information processing device such as a PC, a PDA, a digital camera, and a DSC (Digital Still Camera) that performs data utilization by writing data to the 320 or reading data from the information storage device 320. Further, the host device 310 also includes a lock / unlock device 3 1 2 as a device dedicated to performing a hook process / unlock process with respect to 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 hacking and unlocking of the information storage device 320.
  • a device that performs a hooking process and an unlocking process on the information storage device 320 that is, a PC, a PDA and other information processing devices, and a lock / unlock device 3
  • the host device including 1 and 2 is called.
  • An ID for example, 16-byte data
  • a memory 315 such as a ROM in the host device
  • a lock key (LK) (for example, 8-byte data) is stored as key 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 the 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.
  • LK H (LMK, ID)
  • H (X, Y) indicates a hash value calculation process for message Y to which key X is applied. That is, a lock key (L K) corresponding to the ID is obtained by a hash value calculation process using the lock master key (LMK) for the ID.
  • L K lock 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 used as the key (LK) corresponding to the ID unique to each host device. ).
  • MD5, SHA, etc. can be applied as the hash 'algorithm.
  • FIG. 5 shows a processing sequence diagram executed between the host device and the information storage device in the hacking process.
  • the host device and the information storage device are connected to each other so that data can be transferred.
  • the host device outputs a random number generation command to the information storage device.
  • the information storage device that has received the random number generation command performs 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) , R ms).
  • E (X, Y) indicates the symbol processing of message [Y] to which key [X] is applied.
  • Various algorithms can be applied to the cryptographic algorithm, for example, the DESS cryptographic algorithm is applied.
  • the host device uses the lock key (LK) as the key to process the received random number (Rms).
  • Symbol processing Executes E (LK, Rms), and as a result, the data [E (LK, Rms)] and the host device's unique information stored in the memory in the host device in advance. Is transmitted to the information storage device together with the lock command.
  • Data The information storage device that has received the ID, E (LK, Rms) first performs a hash value calculation process that applies the received master ID (LMK) stored in its own memory to the received ID. Calculate the lock key (LK) corresponding to the reception ID. That is,
  • the lock key (LK) corresponding to the received ID is calculated.
  • the received ID is stored and retained in its own memory.
  • the received ID is used in the unlocking process described later.
  • the information storage device executes a symbol processing: E (LK, Rms) on the random number Rms stored in its own memory, by applying the hack key (LK) obtained by the above-described hash value calculation. Then, a collation process is performed to determine whether or not it matches the encrypted data: E (LK, Rms) received from the host device.
  • E (LK, Rms) the encrypted data received from the host device.
  • E (LK, Rms) If the data received from the host device: E (LK, Rms) matches the encryption processing data calculated by itself: E (LK, Rms), the host with a valid ID and LK combination data It determines that the request is a hacking process request from the device, executes the hacking process, and sends a lock completion notification to the host device.
  • the information storage device stores and holds the key set [ID, LK] of the host device that has executed the lock processing in a memory unit 220 constituted by a non-volatile memory (NVM) such as a flash memory. .
  • NVM non-volatile memory
  • E (LK, Rms) If the data received from the host device: E (LK, Rms) does not match the symbol processing data calculated by itself: E (LK, Rms), it has a valid ID and LK pair data. It determines that the device is not the host device, determines that the request is for a hacking process from an unauthorized device, and sends an error notification to the host device without performing the hacking process. It should be noted that the packet processing executed by the information storage device is based on data storage such as content. To access the memory section (memory section 220 in Fig. 3) composed of flash memory, etc., which is the area, as a condition to execute the unpacking process described below. It is.
  • step S101 the memory card as the information storage device generates a random number (R sm) based on the reception of the random number generation request command from the host device.
  • the generated random number is read out by the host device in step S102, and in step S103, the ID of the host device and the random number (Rms) are transmitted along with the lock command together with the lock key (LKM) of the host device.
  • E (LK, Rms) is transmitted to the memory card as the information storage device.
  • step S104 the memory card writes the received ID and the encrypted data: E (LK, Rms) to the memory in the information storage device.
  • step S105 the memory card calculates the hash value of the received ID by applying the master key (LMK) stored in its own memory, that is,
  • the memory card executes the encryption processing of the random number (Rms) generated in step S101 based on the calculated P-key (LK), and obtains the 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), and the host device determines in step S 107 Memory, which can be accessed on the condition that the acknowledgment process responds to the Perform the settings you want.
  • the information storage device stores the key set [ID, LK] of the host device that has executed the lock process in a memory section 220 constituted by a non-volatile memory (NVM) such as a flash memory.
  • NVM non-volatile memory
  • step S108 the host device that has transmitted the lock command transmits the correct ID and the lock key (LK). Judgment is made that the unauthorized device does not have the set data, and the error notification is sent to the host device without performing the hack process.
  • FIG. 7 shows a processing sequence diagram executed between the host device and the information storage device in the unlocking process.
  • the host device and the information storage device are connected to each other so that data can be transferred.
  • the host device outputs a random number generation command to the information storage device.
  • the information storage device that has received the random number generation command executes a process of generating a predetermined length, for example, a 16-byte random number (Rms), and stores the generated random number (Rms) in the memory at the time of the previous hack process.
  • the ID of the stored host device that is, the ID of the host device that executed the hack process, 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 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 a lock has been executed by another host device, and the lock cannot be released.
  • the host device If the received ID matches its own ID, it means that the host device itself has executed the lock, and it is possible to unlock it as the release processing.
  • the host The device performs encryption processing of the received random number (Rms) using the lock key (LK) stored in the memory in the host device in advance as the key for processing the key: E (LK, Rms), and executes the resulting 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,
  • LK lip key
  • the information storage device executes a symbol processing: E (LK, Rms) on the random number Rms stored in its own memory, by applying the hack key (LK) obtained by the above-described hash value calculation. Then, a collation process is performed to determine whether or not it matches the encrypted data: E (LK, Rms) received from the host device.
  • E (LK, Rms) matches the encryption processing data calculated by itself: E (LK, Rms)
  • the host determines that the request is an unlocking process request from the device, executes the unlocking process, and transmits an unlocking completion notification to the host device.
  • the host device does not have a valid ID and LK pair data, it is determined that the request is an unlocking process request from an unauthorized device, and the unlocking process is not performed.
  • the unlocking process executed by the information storage device means the cancellation of the unlocking process, and a memory unit configured by a flash memory or the like, which is a data storage area for contents and the like (the memory unit 22 in FIG. 3). This is a process for setting to permit access to (0).
  • step S201 a random number (R sm) is set based on the reception of a random number generation request command from the memory card as the information storage device. Occurs.
  • step S202 the generated random number is read by the host device together with the ID of the host device that has executed the hooking process earlier.
  • the host device determines that unlocking is possible when the ID read from the memory card matches its own host ID, and in step S203, the host device transmits the received random number (Rms) together with the unlock command.
  • Data encrypted with the lock key (LK) of the remote device: E (LK, Rms) is transmitted to the memory card as the information storage device.
  • step S204 the memory card writes the received encrypted data: E (LK, Rms) into the memory in the information storage device.
  • the memory card reads the host device ID that executed the hacking process stored in the memory at the time of the previous hacking process, and reads the read ID into its own memory.
  • a hash value is calculated by applying the stored lock master key (LMK), 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 transmits the unlock command. It is determined that the host device does not have the correct ID and lock key (LK) pair data that has been subjected to the lock process, and an error notification is sent to the host device without performing the unlock process, that is, unlocking. I do.
  • the host device having the valid combination data of the host device ID and the corresponding lock key (LK) can execute the lock process on the information storage device.
  • Unlock processing as unlocking can be performed only by the host device that executed the lock processing.
  • 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 above-described hacking process and undocking process are executed as processes corresponding to the information storage device for each host device, and only the host device that has executed the hacking process can perform the undocking process.
  • This is a configuration example.
  • an information storage device (memory card) in which data is stored and locked by a certain host device (device A).
  • a situation arises in which the user wants to use this on another host device (device B).
  • the process of validating the access restriction on the memory unit (the memory unit 220 in FIG. 3) constituted by a flash memory or the like is defined as a hacking process, and the process of releasing the access restriction is defined as an undocking process. This is the same as the above-described processing example.
  • the host device 5100 performs the wake-up process and the undocking process.
  • the host device 5100 has an interface for executing data transfer with the information storage device 520 such as a memory device, and the information storage device.
  • the information storage device 520 such as a memory device
  • the information storage device. 5 Includes information processing devices such as PCs, PDAs, digital cameras, and DSCs (Digital Still Cameras) that use data by writing data to or reading data from information storage device 520. And the like, as well as a device for locking and unlocking the information storage device 520, which is a device dedicated to executing the hacking process and the unlocking process.
  • a memory 515 such as a ROM in the host device has an ID s (for example, 16-byte data) as an identifier unique to each host device, and a key data to be applied to the hacking process and the hacking process.
  • Lock key (LK s) (for example, 8-byte data) as a key is stored.
  • IDs and LKs are sets of data corresponding to IDs and LKs in the above-described processing example, and can be applied to the same mouthpiece processing and the same mouthpiece processing as those described above.
  • the IDs and LKs are a primary ID and a primary lock key, and are written into a memory such as a ROM in the host device at the time of manufacturing each host device, and are data that cannot be rewritten by a user.
  • These primary IDs (IDs) and primary hack keys (LK s) 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 A 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, and 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.
  • a memory 515 such as a ROM in the host device further stores a supkey set as a combination of a sup ID and a suplock key as a key set that can be supplied for copying to another host device.
  • This subkey set: [ID en, LK en] is a key that can be stored in common in multiple host devices, and is stored in another host device by the processing procedure described below: [ID en, LK en] en, LK en] can be copied and stored in another host device via the information storage device.
  • Subkeyset Apply [ID en, LKen] to perform the hacking process on the information storage device (memory card), and apply the subkeyset applied to the hacking process to the information storage device (memory card).
  • the process that enables copying and output to other host devices via) is called export processing.
  • This sub-keyset Lock processing using [ID en, LK en] is called export lock processing, and an export lock command is sent from the information processing device as the host device to the information storage device. The output locks the export port, and the output of the unlock command executes the unlocking process.
  • the sub-keyset [IDen, LKen] obtained by the host device from the information storage device (memory card) on which the port lock has been made 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 subkey set: [ID en, LK en] is a key set that can be applied to the mouth processing set to be able to output to the outside, that is, the export processing (eXport) mouth processing. , ID, and LK with [ e ] appended.
  • n in [en] indicates the subkeyset number, which corresponds to the set number of groups.
  • Sub key set 1 [ID el, LK el] is shared by a group of three host devices: PC (Personal Computer) as host device-a, PC-b, PDA (Personal Digital Assistants) Set as a subkey set (Sub1), and set Subkeyset2: [ID e2, LKe2] as a shared subkeyset (Sub2) for the group of PC_a, PDA-a.
  • PC Personal Computer
  • PDA Personal Digital Assistants
  • Subkeyset2 [ID e2, LKe2] as a shared subkeyset (Sub2) for the group of PC_a, PDA-a.
  • PDA-b When set, each host device stores the primary key set [ID s, LK s] consisting of the primary ID (ID s) and the primary lock key (LK s) in the memory,
  • P C—a is [I D e l, LK e l], [I D e 2, L K e 2]
  • P C—b is [I D e l, LK e l]
  • PDA-a is [IDel, LKel], [IDel2, LKel2]
  • PDA-b is [I D e 2, L K e 2]
  • the sub key set consisting of each sub ID and sub key is stored.
  • a sub key set including these sub IDs and data of the sub key keys By writing [ID en, LK en] in its own memory 5 15, a sub key set including these sub IDs and data of the sub key keys:
  • the members of group n can use a common sub-ID (ID n) and a common sub-lock key (LKn) to associate with one information storage device (memory card). Locking and unlocking can be performed.
  • a memory master such as a ROM in a control unit in the information storage device such as a memory card stores a master key (LMK).
  • a master key (LMK) stored in the information storage device 520, an ID (including ID s and ID en) stored in the host device, and a lock key (LK (including LK s and LK en)) Has the following relationship:
  • 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) , Primary rock key (LK s) is calculated, and the hash value calculation processing using the lock master key LMK for the sub ID (ID en) is performed to calculate the sub lock key (LK 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.
  • Standard lock processing using 531 is executed by outputting a standard lock command from the host device 5100 to the information storage device 5200.
  • the unlocking process is executed by the output of the unlocking command.
  • the primary key set [IDs, LKs] is stored in the standard lock keyset storage area 541 of the storage section (flash memory) of the lock information storage device (memory card) 520. ] Is stored.
  • the primary key set [IDs, LKs] applied to the standard lock is not output from the lock information storage device (memory card) 520 to the outside.
  • the unlocking (unlocking) process can be executed 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 consisting of a sub-ID (ID en) that can be shared by multiple host devices and a sub-lock key (LK en) is used. Processing.
  • the export lock processing using the subkey set [ID en, LK en] 532 is executed by outputting an export lock command from the host device 501 to the information storage device 52, and an unlock command.
  • the unlock process is executed by the output of.
  • the sub-key set [ID en, LK en] is stored in the export lock key set storage area 542 of the storage section (flash memory) of the lock information storage device (memory card) 520. Is stored.
  • the sub-key set [ID en, LK en] applied to the export port executes the imprint processing described in detail later, so that other host devices can execute the lock processing.
  • the unlocking (unlocking) processing can be executed only for the host device that executed the lock processing and the subkey set applied to the export lottery by the imprint processing.
  • G [ID en, LK e ⁇ ].
  • (c) is a standard to which a sub-key set [ID en, LK en] 532 consisting of a sub ID (ID en) that can be shared by each host device 501 and a sub lock key (LK en) is used. Lock processing. This process is called a group process.
  • a standard lock command is output from the host device 5 10 to the information storage device 5 20.
  • the unlock process is executed by the output of the unlock command.
  • the key set applied in this process is the subkey set [IDen, LKen] 5332.
  • the key set to be applied is a subkey set [ID en, LK en] 532.
  • the standard lock key set storage area of the lock information storage device (memory card) 520 storage unit (flash memory) is stored.
  • the subkey set [ID en, LK en] is stored in area 541.
  • the subkey set [ID en, LK en] applied to the group lock is stored in the standard lock key set storage area 541, so the lock information storage device (memory card) ) There is no output from 520.
  • the host device that has the same subkey set [IDen, LKen] can execute this group unlocking (unlocking) process.
  • the host device that executed the group hack not only the host device that executed the group hack, but also the host device that already obtained the same sub key set [IDen, LKen] in advance.
  • export lock processing using the same subkey set [ID en, LK en] is performed in advance, and the same sub key set [ID en, LK en] is obtained by imprint processing when the export lock processing is executed. ], And the host device stored in the memory can be unlocked.
  • the sequence of the standard lock using the sub-key set [ID en, LK en], that is, the lock processing and unlock processing sequence in the gnole wrapper is the same as the LMK application processing described above (see FIGS. 5 to 8). Becomes However, the difference is that there can be more than one host device that can execute mouth-to-mouth and mouth-to-mouth due to imprint processing.
  • a sub-ID (ID en) and a sub-key (LK en) that can be shared by a plurality of host devices, that is, a packet processing using a sub-key set [ID en, LK en], and an information storage device (Copy processing of sub key set [ID en, LK en] to the host device via (memory card) (imprint processing) and unclamping processing to release export port explain.
  • the sub-keyset The sub-key set applied to the lip-locking process is processed by the lip-locking process for the information storage device (memory card) to which [ID en, LK en] is applied. This enables export lock processing that enables copy output to other host devices via.
  • FIG. 11 shows a processing sequence diagram executed between the host device and the information storage device in the hacking process based on the sap key 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 hook status flag 551 shown in FIG. 11 and holds a value indicating the hook state in the information storage device.
  • the upper NVM is a flag stored in an NVM (Non-Volatile Memory) area of the memory unit 220 constituted by the flash memory described in FIG. 3 and the lower NVM is a control unit 210. This is a flag stored in RAM 2 13 in the RAM. When the power of the information storage device is turned off, the flag in the RAM is erased, but the flag data of the NVM is maintained. Therefore, the flag data is copied to the NVM in response to the rewriting of the flag in the RAM, and when the power is turned on after the power is turned off, the flag information of the NVM is copied to the RAM.
  • NVM Non-Volatile Memory
  • 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 unit (flash memory (NVM)) for storing the key set applied to the standard lock and the key set applied to the export lotter.
  • flash memory flash memory
  • the memory unit of the storage device can be accessed.
  • 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) previously stored in the memory of the host device as an encryption key: Execute E (LK en, Rms).
  • LKen sub-key
  • Various algorithms can be applied to the encryption algorithm, for example, the DES encryption algorithm is applied.
  • the host device executes the encryption processing of the received random number (Rms) using the sub-key (LKen) as the symbol processing key: E (LKen, Rms), and executes the resulting data [E (LKen, Rm). s)], and the sub-ID (ID en) as a set of data corresponding to the sublock key (LK en) stored in the memory of the host device in advance, together with the lock command, in 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 suplock key (LKen) corresponding to the received sub ID (ID en) is calculated by the applied hash value calculation processing. That is,
  • a sublock key (LK en) corresponding to the reception sub ID (ID en) is calculated.
  • the reception sub ID (ID en) is stored and retained in its own memory.
  • the reception sub-ID (ID en) is used at the time of the unlock process described later.
  • the information storage device performs a cryptographic process of applying the sub-key (LKen) obtained by the above-described hash value calculation to the random number Rms stored in its own memory: E (LKen, Rms) And executes the collation processing to determine whether or not it matches the encryption processing data received from the host device: E (LKen, Rms).
  • E (LKen, Rms) the encryption algorithm
  • various algorithms are used. Algorithms can be applied.
  • a valid sub-ID (ID en) is obtained.
  • the request is a processing request from a legitimate host device that has the set data of the sublock key (LKen)
  • executes the export processing and sends a notification of the completion of the process to the host device.
  • the export lock process executed by the information storage device will be described below with respect to access to 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.
  • This process is a setting that allows the unlocking process to be applied with the sub ID and sub lock key, and stores the information of the export key set applied to the export lotter: [ID en, LK en]. Store it in the exporter key set storage area of the memory section (flash memory (NVM)) of the device (memory card). Further, the lock status flag is rewritten.
  • 1 1 is copied.
  • the flag information of the RAM is erased, but the flag information of the NVM is maintained. Thereafter, when the power of the information storage device is turned on again, the flag information of the NVM is turned off.
  • the sub key stored in the export lock key set storage area of the memory unit 220) 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) stored in the storage unit of the host device together with the lock command is read.
  • the received random number (Rms) is encrypted with the sub-key (LKen) stored in the storage unit of the host device, and data: E (LKen, Rms) is generated.
  • ID en, E (LKe ⁇ , Rms) are transmitted to a memory card as an information storage device.
  • step S304 the memory card writes the received sub ID (IDen) and the encrypted data: E (LKen, Rms) to the memory in the information storage device.
  • step S305 the memory card applies the master key (LMK) stored in its own memory to calculate the hash value of the reception sub ID (IDen), that is,
  • 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 encrypted data: E ( LK en, Rms) is calculated as collation data.
  • step S306 the memory card receives the encrypted data calculated in step S305: E (LK en, Rms) from the host device together with the lock command in step S303.
  • the host device has a subkey set [iDen, LKen] as a paired data of a valid and correct sub ID (ID en) and a sap lock key (LK en).
  • step S306 the lock command is issued in step S308.
  • the host device that has transmitted the message determines that the device is unauthorized and does not have the correct sub-ID (ID en) and suplock key (LK en) data. Send to host device.
  • the information storage device on which the export lock has been performed 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. . That is, unlocking becomes possible by replacing the applied ID and lock key with the sub ID (IDen) and the sublock key (LKen).
  • LLK Lock Master Key
  • other host devices that do not have the same key set as the supkey set [ID en, LK en] that has performed the lock process will use the sub key set [ID en, LK en] applied to the hack process. ].
  • the information storage device cannot be unlocked, that is, cannot be accessed.
  • a host device that has a primary key set [ID s, LK s] as a set of a valid primary ID (ID s) and a primary lock key (LK s) is an information storage device that has been exported.
  • the sub key set [ID en, LK en] stored in the information storage device can be obtained from the information storage device.
  • the lock can be released by applying the obtained sub key set [ID en, LK en]. Acquisition of the subkey set [ID en, LK en] via the information storage device is called imprint processing.
  • the lip state is set based on a certain sub-key set [ID en, LK en], and the lip state where the sup-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 exporter processing from the information storage device in the export port state, thereby obtaining the same sub key set [ID en, LK en], becomes a member of a group composed of multiple host devices, and then unlocks by applying the acquired subkey set [ID en, LK en].
  • the details of this implementation and the unlocking process (unlock process) will be described below.
  • the host device obtains a subkey set including a sublock key (LKen) and a sub ID (IDen) [ID en, LK en] from the information storage device that has been locked by the export lock process described above.
  • LKen sublock key
  • IDen sub ID [ID en, LK en]
  • FIG. 13 shows a processing sequence diagram of an imprint process and an unlock process performed between the host device and the information storage device.
  • the host device and the information storage device are connected so as to be able to transfer data to each other.
  • the host device does not have the sub key set [ID en, LK en] including the sub ID (ID en) applied to the export lock on the information storage device and the sublock key (LK en), and the information storage device Stores the subkey set [ID en, LK en] in the export key storage area.
  • Information storage device Is in the 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 processing for generating a predetermined length, for example, a 16-byte random number (Rms), and stores the generated random number (Rms) in the memory at the time of the previous export port processing.
  • the sub ID (ID en) stored in the sub key set (ID en), that is, the sub ID (ID en) in the sub key set [ID en, LK en] applied to the export lock processing is transmitted to the host device.
  • the information storage device stores the generated random numbers (Rms) in a memory such as a RAM in the control unit.
  • the host device Upon receiving the sub ID (ID en) and the random number (R ms) from the information storage device, the host device first determines whether the received sub ID (ID en) matches its own primary ID (ID s). judge. If they match, unlocking using the same primary lock key (LK s) as in the LMK application process (see Fig. 7) is possible.
  • ID s its own primary ID
  • LK s primary lock key
  • receiving sub-ID (ID en) does not match its own primary ID (ID s), it means that another host device has performed hacking, but this receiving sub-ID (ID en) has not been executed. ) And sublock key (LKen) by imprint processing, it is possible to belong to the same group as another host device that has executed the export lock using the subkey set [ID en, LKen]. Become.
  • the sub-ID (ID en) and sub-lock key (LK en) are obtained by executing the imprint process, and the sub-key set [ID en, LK en] is stored in its own memory 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 obtained 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 imprint process then performs encryption processing of the received random number (Rms) using the primary lock key (LKs) stored in the memory in the host device in advance as a symbol processing key: E (LK s, Rm s)
  • the primary ID (IDs) is transmitted to the information storage device together with the standard lock command.
  • this lock process is a process to further apply the standard lock with the primary lock key (LKs) to the information storage device that has already been exported with the sublock key (LKen). This is called overlock processing.
  • the information storage device that has received the primary ID (ID s) and the encoded data: E (LK s, Rms) from the host device first sends the lock master key (ID s) to the received primary ID (ID s).
  • the primary key (LK s) corresponding to the primary ID (ID s) is calculated by the hash value calculation processing applying LMK). That is,
  • LK s primary lock key corresponding to the primary ID (ID s) is calculated.
  • the information storage device applies the primary lock key (LK s) obtained by the above-described hash value calculation to the random number Rms stored in its own memory.
  • Signal processing: E (LK s, Rms) And executes the collation processing to determine whether it matches the signal processing data received from the host device: E (LK s, Rm s). 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) pair data determines that the request is an over acknowledgment processing request, and executes the over acknowledgment processing. Sends the acknowledgment 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. It is determined that the host device does not have the primary key set [ ⁇ D 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. Judge, and send an error notification to the host device without performing over-hook processing. Note that the over-lock processing executed by the information storage device is a state in which the export lock state is further overlapped with the standard lock, and the information storage device's acknowledgment status flag is set as shown in the figure.
  • EL 1, which indicates that the port lock is enabled, is set in the NVM and RAM, respectively
  • SL 1, which indicates the state in which the standard lock is enabled, is set in the RAM by the over-lock process. You. The flag information set in RAM is copied to NVM before the power is turned off.
  • the host device that has received the over-hook completion notification performs the imprint process and the wake-up release continuously.
  • the host device transmits the random number utterance command to the information storage device again.
  • the information storage device that has received the random number generation command newly performs a process of generating a second random number (Rms2)
  • the information storage device stores the generated random number (Rms2) in a memory such as a RAM in the control unit.
  • the host device that has received the data: IDs, Rms2, IDen, E (LKs, LKen) from the information storage device first stores the encrypted data: E (LKs, LKen) in its own memory. Decrypt by applying the stored primary lock key (LK s) to obtain the sap lock key (LK en). This is the sub-key key (LKen) corresponding to the previously acquired sub ID (ID en), and stores the obtained sub-key key set [ID en, LK en] in the memory. By this imprint procedure, this host device must belong to the group No.n. it can.
  • the host device continues the unlocking process of the information storage device.
  • the host device obtains 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, Rms 2) from the host device together with the unlock command, first sends the unlock master key to the sub-ID (ID en) stored in its own memory.
  • the sub value key (LK en) corresponding to the sub ID (ID en) is calculated by the hash value calculation processing using (LMK). That is,
  • the information storage device performs a cryptographic process of applying the suplock key (LKen) obtained by the above-described hash value calculation to the random number Rms2 stored in its own memory: E (LKen, Rms2). Is executed, and a collation process is performed to determine whether or not the encryption process data received from the host device: E (LKen, Rms2).
  • LKen suplock key
  • E (LK en, R ms 2) matches the encryption processing data calculated by itself: E (LK en, R ms 2), a valid sub-ID (ID en)
  • ID en a valid sub-ID
  • 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 request, execute the unlocking process, and send an unlocking completion notification to the host device.
  • the storage flag of the RAM in the control unit is first rewritten, and then, for example, the flag information in the RAM is copied to the NVM before the power is turned off, and the power is restarted. At the time of insertion, 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.
  • step S402 the generated random number is transmitted to the information storage device by the host device that has executed the export lock process first, 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 (ID en) in the sub key set [ID en, LK en].
  • the host device confirms that the sub ID (ID en) read from the memory card and its own primary ID (ID s) do not match, and the information storage device is in the export lock state instead of the standard lock state. Judge. Next, in step S403, the host device transmits the received random number (Rms) with the primary lock key (LKs) of the host device together with the standard lock command as an overhook.
  • the dangling data: E (LK s, Rm s) Sends its own primary ID (IDs) to the memory card as an information storage device.
  • step S404 the information storage device (memory card) stores the primary ID (IDs) received from the host device and the encrypted data: E (LKs, Rms) in the memory in the information storage device.
  • E LKs, Rms
  • step S405 the memory card calculates a hash value by applying a received master key (LMK) stored in its own memory to the received primary ID (IDs), that is,
  • 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 that the primary key set [ID s, as a set of valid primary ID (ID s) and primary lock key (LK s) LK s] is determined to be a legitimate device, and in step S407, standard lock processing corresponding to the standard lock command is executed.
  • This is an over-the-mouth process in which the standard lock is further added to the export-the-open state.
  • step S 406 determines whether the two values are not equal in step S 406 or not equal in step S 406 or in step S 408, the host device that has transmitted the standard lock command transmits a valid primary ID (ID s) and the primary rock key It is determined that the host device does not have the primary key set [ID s, LK s] as the set data of one (LK s), does not execute over-snap processing, and sends an error notification to the host device. Send.
  • ID s primary ID
  • LK s the primary rock 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 over-acknowledgement completion notification transmits the random number generation command to the information storage device again, and the information storage device that has received the random number generation command newly transmits the second random number command in step S501.
  • the random number Rms 2
  • 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 the unlock command together with the encrypted data E (LK en, R ms 2).
  • the method of generating the encrypted data E (LKen, Rms2) follows the following procedure.
  • step S502 the host device that has read the data: IDs, Rms2, IDen, E (LKs, LKen) from the information storage device firstly encrypts the data: E (LKs, LKs, LKen).
  • LK en) is decrypted by applying the primary lock key (LK s) stored in its own memory to obtain a sublock key (LK en).
  • the host device performs an encryption process on the random number (Rms2) received from the information storage device based on the sublock key (LKen). Then, encrypted data: E (LK en, Rms 2) is generated.
  • 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 processing.
  • step S504 the information storage device that has received the encrypted data: E (LKEn, Rms2) from the host device writes the received data: E (LKEn, Rms2) to the memory. Further, in step S505, calculation of collation data is executed.
  • the process of calculating the data for collation is performed in the following procedure.
  • the sub ID (ID en) stored in its own memory is hashed by applying the lock master key (LMK) to the sub ID key (LK en) corresponding to the sub ID (ID en). Is calculated. That is,
  • the suplock key (LKen) corresponding to the sub ID (IDen) is calculated. Furthermore, the random number Rms2 generated in step S501 and stored in the memory is subjected to an encryption process using the suplock key (LKen) obtained by the above hash value calculation: E (LKen, Rms2). ) 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.
  • step S507 If the data received from the host device: E (LK en, Rms 2) matches the symbol processing data calculated by itself: E (LK en, Rms 2), a valid sub ID (ID en) ) And the sap lock key (LK en) is released from the host device having the sap key set [ID en, LK en] as the set data, that is, it is determined that the request is an unlock processing request. Proceeding to S507, the unlock process is executed and an unlock completion notification is transmitted to the host device. In the case of a mismatch, it is determined that the host device does not have a valid subkey set [ID en, LK en], that the request is an unlocking process request from an unauthorized device, and that the unlocking process is not performed. In step S508, an error notification is sent to the host device I do.
  • a plurality of host devices have a common sub-key set [ID e ⁇ , LK en], and a lock and unlock using one information storage device (memory card) are performed. It becomes possible.
  • the subkey set [ID en, LK en] can be copied and stored in another host device via the information storage device by executing the export lock, which enables flexible group formation. Become.
  • the subkey set [ID en, LK en] is stored in the standard lock key storage area (see Fig. 10) of the information storage device, and is copied to another host device. Is not done. In other words, only the host device that has already acquired the same 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 preferable when storing confidential information.
  • the example described below is made in view of the above-described problem. Even when the host device turns off the power after releasing the export port by the unlock process, the export port can be performed. In this example, when the information storage device is turned on again, the memory access is permitted on condition that the export lotter is released.
  • the primary ID (ID s) and the primary lock key (ID s) are stored in the memory such as the ROM in the host device, as described earlier with reference to FIG. 9 in “Lock processing configuration in device group”.
  • Primary key set [ID s, LK s] consisting of sub-keys [ID en, LK s) is stored.
  • 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 [Processing based on lock master key (LMK)] above.
  • the lock processing based on the sub ID (ID en) and sub lock key (LK en) is executed by the same sequence as described in the above [Lock processing configuration in device group].
  • the process of maintaining the lip status flag in the imprinting and undocking processes in this processing example will be described. (Maintenance of the lip status flag in the imprint and undo processing)
  • the host device obtains a sub-key set [ID en, LK en] including a sub-key (LK en) and a sub-ID (ID en) from the information storage device locked by the export-port process.
  • Fig. 16 shows the imprint process to acquire, the unlock process to release the lock of the information storage device locked by the export lock process, and the process to maintain the status flag of the lock executed by the information storage device. This will be described with reference to the following.
  • the sequence diagram shown in FIG. 16 shows the imprint processing and export lock executed between the host device and the information storage device described above with reference to FIG. 13 in [Lock processing configuration in device group].
  • the unlocking process is basically the same as the process sequence diagram, and the processing procedure is also the same.
  • FIG. 17 is a flow for explaining the processing procedure in the information storage device after receiving the acknowledgment release request (unlocking command) in the sequence diagram of FIG. 16 (similar to FIG. 13). .
  • step S601 when the information storage device (memory device) receives a lock release request (unlock command), the information storage device performs a verification process to determine whether or not the unlock command can be executed.
  • step S602 the encrypted data received together with the unlock command from the host device: E (LK en, R ms 2), and the encrypted data generated by itself: E (LK en , Rms 2). This process is described in [Device Group Configuration] is the same as that described in [1.
  • the information storage device (memory card) is removed from the host device, and then the power supply to the information storage device (memory card) is stopped.
  • the processing flow in FIG. 18 shows the processing in the case where the power of the information storage device is once turned off and the power supply is turned on again.
  • step S701 when the information storage device (memory card) is turned on from the power-off state by, for example, being set in the host device, the information storage device returns to N in step S702.
  • the lock status flags (SL, EL) stored in the VM are copied to the RAM of the control unit.
  • the control unit executes control according to the status flag of the RAM.
  • step S703 when a memory access request or an unlock command is input from the connected host device, the control unit of the information storage device refers to the RAM status flag in the RAM.
  • step S704 the processing flow becomes Yes, and the processing of step S705, that is, the export port unlocking processing (see Figs. 13 to 15) is a condition.
  • the memory access permission process is performed.
  • the export lock state is maintained, and the information storage device is turned off and then turned on again.
  • a host device having a valid primary key set [ID s, LK s] can perform a predetermined operation including the above-described overhook processing. Only when the procedure is executed can the unlocking be performed, and access from unauthorized devices can be eliminated.
  • reading of data from the information storage device (memory card) to the host device is monitored by the control unit of the information storage device, and the execution of reading of a predetermined data area (for example, a specific cluster) is used as a trigger to read data.
  • a predetermined data area for example, a specific cluster
  • the reading of data stored in the memory section (memory section 220 in FIG. 2) of the information storage device (memory card) is managed by, for example, a playback management file (PBLIST) generated according to the stored data, and is controlled.
  • the unit reads data from the memory unit (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.
  • the audio data compressed by ATRAC 3 consists 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
  • SU sound unit
  • One hundred bytes of data, and a cluster is data composed of multiple SUs (eg, 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, if the output data is music content, the intro of the music content, Alternatively, the logical number of one or more clusters corresponding to the rust part is extracted as a hackable cluster corresponding to the content, the extracted cluster logical number is set as registration information corresponding to the content, and the content is stored.
  • the registration information is stored in the memory in the control unit of the information storage device.
  • the control unit executes a matching process between the cluster of the read content and the cluster corresponding to the hack, and when the cluster of the read content matches the logical number of the cluster corresponding to the hack, Executes the licking process.
  • Various settings can be made for the lock processing timing, such as the start time of reading of the lock-capable cluster, the end time of reading of the lock-capable cluster, or the end time of reading of the entire contents having the clutter-compatible cluster. Yes, a detection process according to the setting is executed, and a hooking process is performed based on the detection of the setting condition. If the lock is executed, re-reading must execute the unlock process.
  • step S801 when the power of the information storage device is turned on, in step S802, the acknowledgment status flag stored in the NVM is transmitted to the control unit 210 (see FIG. 3). Copied and stored in RAM 2 13. The control unit executes control according to the status flag of the RAM 213.
  • the unlocking process is the same as the process described with reference to FIGS. 7 and 8, for example.
  • the host device has a valid primary ID and primary lock key. Is verified by the verification process in the information storage device, and if the unlocking succeeds (S805: Yes), the process proceeds to step S806. If unlocking has failed, an error notification is issued to the host device in step S810, and the process ends.
  • step S 807 when data reading from the host device is started, the control unit of the information storage device monitors in step S 807 whether or not there is a preset reading process of the cluster corresponding to the hook. I do.
  • the lock is applied, and then, when the read processing is executed again, the unlock processing is required.
  • the unlocking process can be performed only by the host device having the same primary ID (IDs) and the primary lock key (LKs) as when the lock is executed, and the locked information storage device (memory card) can be unlocked. It will be prevented from being used randomly.
  • the lock information is set to be released when the power of the information storage device is turned off, or as described above, the lock status flag is set in the NVM even when the power is turned off, and the lock of the NVM is turned on when the power is turned on again.
  • the status flag may be copied to the RAM of the control unit, and the wake-up state before power off may be maintained and reproduced.
  • Fig. 21 shows an example of the configuration of the dedicated Z-unlock dedicated device, which has an indicator for indicating the state of the zipper and various processing switches.
  • a lock Z unlock device 720 with a memory card as an information storage device and an interface capable of transferring data is used as a lock status indicator.
  • [Imp rint] switch 735 is a switch for requesting execution of only imprint processing. .
  • Fig. 21 shows the indicator configuration and processing of the dedicated Although an example of the required switch configuration is shown, as described above, the host device includes a PC,
  • an information processing device such as a PDA, a digital camera such as a DSC, and a mobile communication terminal.
  • a command transmission configuration to an information storage device (memory card) via respective input means is included. It is possible.
  • the acknowledgment state presentation processing in the host device and the command transmission processing from the host device to the information storage device will be described.
  • FIG. 22 is a flowchart illustrating 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 1 to 724 corresponding to the lock state are turned on based on the lock state read information. That is, when the standard lock and the group lock are executed, the [Locked] indicator 722 indicating the lock state is displayed (lit), and when the export lock is executed, The [ ⁇ — Locked] indicator 7 23 that indicates the export lock status is displayed (lit), and if not locked, the [Unlocked] indicator 7 21 that indicates the unlock status is displayed (lit). You.
  • the lip-locking process is executed based on the input by the process request switches 732 to 732 of FIG.
  • step S911 the locked state of the information storage device (memory card) is detected. If the unlocked state is not established, an error (E RR) is detected in step S914. Perform indicator display. If it is in the unlocked state, in step S912, one of the standard lock processing, the export lock processing, and the group lock processing is executed, and after the lock processing is completed, the corresponding port of the host device is executed.
  • the lock indicator ie, the [Locked] indicator 722 indicating the lock status or the [E—Locked] indicator 723 indicating the export lock status is executed.
  • the unlocking process is executed by pressing the unlocking request switch 731 in FIG.
  • the state of the information storage device is detected.
  • the state detection is executed based on the acknowledgment status flag of the RAM in the control unit described above. If it is not in the lip state (step S921: No), an error (ERR) indicator 724 is displayed in step S923.
  • ERR error
  • step S922 of reading the lock state it is determined whether the information storage device is in the export lock state or the standard lock state. Based on the above-mentioned acknowledgment status flag, whether the port is in the export lock state or the standard lock state is identified. Based on the identification result, the indicators 72 1 to 72 4 corresponding to the lip states shown in FIG. 21 light up.
  • step S922: Yes the imprint and unlock processing described above 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 This is a print (input storage) process, and further, a lock release process using a sub ID (ID en) and a sap lock key (LK en) in step S927.
  • the details of this processing are as described above with reference to FIGS. 16 to 18.
  • a lip release indicator 721 is displayed in step S922.
  • step S922 If it is determined in step S922 that the lock state is other than the export lock state, that is, in the standard lock state, it is determined in step S922 whether or not the standard lock has been performed. If there is a standard 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 subkeyset [IDen, LKen].
  • a lock release indicator 7 21 is displayed in step S 9 28.
  • step S924 If the lock state is other than the export lock in step S924, and it is determined in step S929 that the lock is not the standard lock, the flow advances to step S931 to display the error (E RR) indicator 7 2 4 Is displayed.
  • E RR error indicator 7 2 4 Is displayed.
  • the series of processes described in the specification can be executed by hardware, software, or a combination of both.
  • a program that records the processing sequence It can be installed and executed in a memory inside a computer built into dedicated hardware, or the program can be installed and executed on a general-purpose computer that can execute various processes.
  • the program can be recorded in a hard disk or ROM (Read Only Memory) as a recording medium in advance.
  • the program may be a removable recording medium such as a flexi disk, a CD-ROM (Compact Disk Read Only Memory), an MO (Magneto opt i cal) disk, a DVD (Digital Versatile Disk), a magnetic disk, or a semiconductor memory. It can be stored (recorded) temporarily or permanently.
  • a removable recording medium can be provided as so-called package software.
  • the program is installed in the computer from the removable recording medium as described above, and can be wirelessly transferred to a computer from a download site or via a network such as a LAN (Local Area Network) or the Internet. Then, the program can be transferred to a computer via a wire, and the computer can receive the transferred program and install it on a recording medium such as a built-in hard disk.
  • a network such as a LAN (Local Area Network) or the Internet.
  • the program can be transferred to a computer via a wire, and 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, in the information storage device such as a memory card, a lock command input from an information processing device as a host device such as a PC (A) a standard lock keyset as a keyset that does not allow external output, and (b) an export lock keyset as a keyset that allows external output. Determine each key set The external information is allowed only when the key is an export key set, and only when a certain verification is established. A configuration that enables the execution of the licking process is realized.
  • the memory access control is performed based on the lock status information that can determine whether the device is in the standard lock state or the export rotator state, and the device is in the export lock state. Only in this case, the output processing of the key set is executed, so that various memory access restriction processing can be performed according to the use state of the memory.
  • the process of verifying the key set unique to the information processing device input from the information processing device is performed. Since the configuration is such that the output processing of the memory is executed, unrestricted memory access is prevented, and secure memory access control is realized.
  • a primary ID (ID s) as a unique ID of the information processing device and a primary lock key as a lock key corresponding to the unique ID are provided to the information processing device.
  • (LK s) a primary key set [ID s, LK s], a sub ID (ID en) that can execute export lock, and a sub key set corresponding to the sub ID (ID en) (LK en) is configured to store the sub key set [ID en, LK en].

Landscapes

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

Abstract

メモリカードのアクセス制御処理としてのメモリロック、アンロックを複数の情報処理装置において、共通にかつセキュアに実行する装置および方法を提供する。メモリカード等の情報記憶装置において、PC等のホスト装置としての情報処理装置から入力するロックコマンドに応じて、(a)外部出力を許容しないキーセットとしてのスタンダードロックキーセット、(b)外部出力を許容するキーセットとしてのエクスポートロックキーセットのいずれであるかを判別してそれぞれのキーセット情報を格納するとともに、エクスポートロックキーセットである場合にのみ、所定の検証の成立を条件として、外部出力を許容する構成とした。

Description

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

Claims

請求の範囲
1 . データ記憶用のメモリ と、該メモリに対するアクセス制御を実行する 制御部とを有する情報記憶装置であり、
前記制御部は、
情報処理装置からのロックコマンドおよび識別子 ( I D ) 入力に基づいて、 前記メモリの口ック処理を実行する構成を有するとともに、
前記ロックコマンドに応じて、 前記識別子 ( I D ) を含むキーセットが、 ( a )外部出力を許容しないキーセットとしてのスタンダードロックキーセ ッ 卜、
( b )外部出力を許容するキーセッ トと してのェクスポートロックキーセッ ト、
のいずれであるかを判別し、該判別情報を記憶手段に格納する構成を有する ことを特徴とする情報記憶装置。
2 . 前記情報記憶装置は、
情報記憶装置の口ック状態の判別情報と して口ックステータス情報を記憶 手段に格納する構成であり、
該ロックステータス情報は、スタンダードロック状態であるか否か、および、 ェクスポートロック状態であるか否かを判別可能な情報を含み、
前記制御部は、
前記口ックステータス情報に基づいて、情報記憶装置がェクスポートロック 状態にあると判定したことを条件として、前記ェクスポートロッタキーセット の情報処理装置に対する出力処理を実行する構成であることを特徴とする請 求項 1に記載の情報記憶装置。
3 . 前記制御部は、
前記ェクスポートロックキーセッ トの情報処理装置に対する出力処理の可 否判定処理を実行する構成を有し、
前記判定処理は、
情報処理装置から入力する情報処理装置固有のキーセッ トの検証処理を含 み、少なくとも該検証の成立を条件として、前記ェクスポートロックキーセッ トの情報処理装置に対する出力処理を実行する構成であることを特徴とする 請求項 1に記載の情報記憶装置。
4. 前記情報処理装置固有のキーセッ トは、
情報処理装置の固有 I Dとしてのプライマリ I D ( I D s ) と、 該固有 I D に対応するロックキー あるプライマリ口ックキー (LK s ) からなるプライ マリキーセッ ト [ I D s , LK s ] であり、
前記情報記憶装置は、
LK s =H (LMK, I D s ) の関係、 すなわち、 プライマリ I D ( I D s ) に対する口ックマスターキー(LMK) を適用したハッシュ値としてプライマ リロックキー(LK s )の算出が可能な口ックマスターキー(LMK)を有し、 前記制御部は、
情報処理装置から入力する情報処理装置固有のキーセットの検証を前記口 ックマスターキー (LMK) を適用したハツシュ値算出により取得するロック キー(LK) に基づいて実行する構成であることを特徴とする請求項 3に記載 の情報記憶装置。
5. 前記制御部は、
乱数発生処理を実行し、情報処理装置の所有するプライマリロックキー(L K s ) に基づく前記乱数 (Rm s ) の暗号化データ [E (L k s , R m s )] を該情報処理装置から受信し、 該受信暗号化データと、
前記ハッシュ値算出により取得したプライマリロックキー(LK s ) に基づ いて算出した暗号化データ [E (L k s , Rm s )] との照合を含む検証処理 を実行する構成であることを特徴とする請求項 4に記載の情報記憶装置。
6. 前記情報処理装置は、 固有のキーセッ トとして、
情報処理装置の固有 I Dであるプライマリ I D ( I D s ) と、 該プライマリ I D ( I D s ) に対応して設定されるプライマリロックキー (LK s ) からな るプライマリキーセット [ I D s , L K s ] を有し、
前記制御部は、
情報処理装置からのェクスポートロックキーセットの出力要求に応じ、前記 ェクスポートロックキーセットの構成データを、該情報処理装置の有するプラ ィマリロックキー (LK s ) に基づいて暗号化して出力する構成であることを 特徴とする請求項 1に記載の情報記憶装置。
7. 前記ェクスポートロッタキーセットは、ェクスポートロックを実行し た情報処理装置から入力したサブ I D ( I D e n)、 および該サブ I D ( I D e n) に対応して設定されるサブ口ックキー (LK e n) のデータセットによ つて構成されるサプキーセット [ I D e n , LK e n] であり、
前記制御部は、
前記サブ口ックキー (LK e n) を、 サブキーセットの出力要求情報処理装 置の有するプライマリ口ックキー (LK s ) に基づいて暗号化して生成した喑 号化データ : [E (L K s , LK e n)] を出力する構成であることを特徴とす る請求項 6に記載の情報記憶装置。
8. データ記憶用のメモリと、該メモリに対するアクセス制御を実行する 制御部とを有する情報記憶装置と、前記情報記憶装置に対するインタフェース を有し、該インタフエ一スを介して情報記憶装置内のメモリアクセスを実行す る情報処理装置とを有するメモリアクセス制御システムであり、
前記情報処理装置は、
識別子 ( I D) およびロックキー (L K) を含むキーセッ トを記憶手段に格 納し、
前記情報記憶装置の制御部は、
前記情報処理装置から入力する口ックコマンドおよび識別子( I D) に基づ いて、 前記メモリのロック処理を実行する構成を有するとともに、 前記ロックコマンドに応じて、 前記識別子 ( I D) を含むキーセットが、 ( a )外部出力を許容しないキーセッ トとしてのスタンダードロックキーセ ッ卜、
(b)外部出力を許容するキーセッ トとしてのエクスポートロックキーセッ 卜、
のいずれであるかを判別して判別情報を記億手段に格納し、
前記判別情報に基づいて、情報処理装置に対するキ—セット出力の可否を判 定する構成を有することを特徴とするメモリアクセス制御システム。
9. 前記情報処理装置は、
情報処理装置の固有 I Dとしてのプライマリ I D ( I D s ) と、 該固有 I D に対応するロックキーであるプライマリロックキー(LK s ) からなるプライ マリキーセット [ I D s , LK s ] を記憶手段に格納し、
前記情報記憶装置は、
LK s =H (LMK, I D s ) の関係、 すなわち、 プライマリ I D ( I D s ) に対するロックマスターキー(LMK) を適用したハッシュ値としてプライマ リロックキー(LK s )の算出が可能な口ックマスターキー(LMK)を有し、 前記情報記憶装置の制御部は、
情報処理装置から入力する情報処理装置固有のキーセッ トの検証を前記口 ックマスターキー (LMK) を適用したハツシュ値算出により取得するロック キー(LK) に基づいて実行する構成であることを特徴とする請求項 8に記載 のメモリアクセス制御システム。
1 0. 前記情報記憶装置の制御部は、
乱数発生処理を実行し、情報処理装置の所有するプライマリロックキー(L K s ) に基づく前記乱数 (Rm s ) の暗号化データ [E (L k s , R m s )] を該情報処理装置から受信し、 該受信暗号化データと、
前記ハッシュ値算出により取得したプライマリロックキ一(LK s ) に基づ いて算出した暗号化データ [E (L k s , Rm s )] との照合を含む検証処理 を実行する構成であることを特徴とする請求項 8に記載のメモリアクセス制 御システム。
1 1. 前記情報処理装置は、 固有のキーセッ トと して、
情報処理装置の固有 I Dであるプライマリ I D ( I D s ) と、 該プライマリ I D ( I D s ) に対応して設定されるプライマリロックキー (LK s ) 力 らな るプライマリキーセッ ト [ I D s , LK s ] を有し、
前記情報記憶装置の制御部は、
情報処理装置からのェクスポートロックキ一セットの出力要求に応じ、前記 ェクスポートロックキーセットの構成データを、該情報処理装置の有するプラ ィマリロックキー (LK s ) に基づいて暗号化した暗号化データを出力し、 前記情報処理装置は、
前記暗号化デ一タを該情報処理装置の有するプライマリロックキー (LK s )に基づく復号処理を実行して前記ェクスポート口ックキーセットの構成デ ータを取得する構成であることを特徴とする請求項 8に記載のメモリァクセ ス制御システム。
1 2. 前記ェクスポートロックキーセットは、ェクスポートロッタを実行 した情報処理装置から入力したサブ I D ( I D e n)、 および該サブ I D ( I
D e n) に対応して設定されるサプロックキー (LK e n) のデータセットに よって構成されるサブキーセット [ I D e n, LK e n] であり、
前記情報記憶装置の制御部は、
前記サプロックキー (LK e n) を、 サブキーセッ トの出力要求情報処理装 置の有するプライマリロックキー (LK s ) に基づいて暗号化して生成した喑 号化データ : [E (LK s , LK e n)] を情報処理装置に対して出力する構成 であることを特徴とする請求項 1 1に記載のメモリアクセス制御システム。
1 3. データ記憶用のメモリと、該メモリに対するアクセス制御を実行す る制御部とを有する情報記憶装置におけるメモリアクセス制御方法であり、 情報処理装置からの口ックコマンドおよび識別子 ( I D ) の入力を実行する ステップと、
前記ロックコマンドに応じて、 前記識別子 ( I D ) を含むキーセットが、 ( a )外部出力を許容しないキーセッ トとしてのスタンダードロックキーセ ッ 卜、
( b )外部出力を許容するキーセットと してのエクスポートロックキーセッ
K
のいずれであるかを判別し、 該判別情報を記憶手段に格納するステップと、 を有することを特徴とするメモリアクセス制御方法。
1 4 . 前記判別情報は、 ロ ック状態判別情報と してのロックステータス情 報であり、
該ロックステータス情報は、スタンダードロック状態であるか否か、および、 エクスポート口ック状態であるか否かを判別可能な情報を含み、
前記メモリアクセス制御方法は、 さらに、
前記口ックステータス情報に基づいて、情報記憶装置がェクスポートロック 状態にあると判定したことを条件として、前記ェクスポートロックキーセット の情報処理装置に対する出力処理を実行するステップ、
を含むことを特徴とする請求項 1 3に記載のメモリ アクセス制御方法。
1 5 . 前記メモリアクセス制御方法は、 さらに、
前記ェクスポートロックキーセットの情報処理装置に対する出力処理の可 否判定処理として、情報処理装置から入力する情報処理装置固有のキーセット の検証処理を実行し、少なく とも該検証の成立を条件として、前記ェクスポー トロックキーセッ トの情報処理装置に対する出力処理を実行することを特徴 とする請求項 1 3に記載のメモリ アクセス制御方法。
1 6 . 前記情報処理装置固有のキーセットは、 情報処理装置の固有 I Dとしてのプライマリ I D ( I D s ) と、 該固有 I D に対応する口ックキーであるプライマリロックキー (LK s ) からなるプライ マリキーセット [ I D S , LK s ] であり、
前記情報記憶装置は、
LK s =H (LMK, I D s ) の関係、 すなわち、 プライマリ I D ( I D s ) に対する口ックマスターキー(LMK) を適用したハッシュ値としてプライマ リロックキー(LK s )の算出が可能な口ックマスターキー(LMK)を有し、 前記検証処理は、
情報処理装置から入力する情報処理装置固有のキーセッ トの検証を前記口 ックマスターキー (LMK) を適用したハツシュ値算出により取得するロック キー(LK) に基づいて実行するステップを含むことを特徴とする請求項 1 5 に記載のメモリアクセス制御方法。
1 7. 前記検証処理実行ステップは、
乱数発生処理を実行し、情報処理装置の所有するプライマリロックキー(L
K s ) に基づく前記乱数 (Rm s ) の暗号化データ [E (L k s , Rm s )] を該情報処理装置から受信し、 該受信暗号化データと、
前記ハッシュ値算出により取得したプライマリロックキー (LK s ) に基づ いて算出した暗号化データ [E (L k s , R m s ) ] との照合を含む検証処理 を実行するステップを含むことを特徴とする請求項 1 6に記載のメモリアク セス制御方法。
1 8. 前記情報処理装置は、 固有のキーセットとして、
情報処理装置の固有 I Dであるプライマリ I D ( I D s ) と、 該プライマリ I D ( I D s ) に対応して設定されるプライマリロックキー (LK s ) からな るプライマリキーセッ ト [ I D s , LK s ] を有し、
前記メモリアクセス制御方法は、 さらに、
情報処理装置からのェクスポートロックキーセッ トの出力要求に応じ、前記 ェクスポートロックキーセットの構成データを、該情報処理装置の有するプラ ィマリロックキー (LK s ) に基づいて暗号化して出力する暗号化出カステツ プを含むことを特徴とする請求項 1 3に記載のメモリアクセス制御方法。
1 9. 前記ェクスポートロックキーセッ トは、ェクスポートロックを実行 した情報処理装置から入力したサブ I D ( I D e n)、 および該サブ I D ( I D e n) に対応して設定されるサブ口ックキー (LK e n) のデータセットに よって構成されるサブキーセット [ I D e n, LK e n] であり、
前記暗号化出力ステップは、
前記サブ口ックキー (LK e n) を、 サブキーセッ トの出力要求情報処理装 置の有するプライマリロックキー(LK s ) に基づいて暗号化して生成した喑 号化データ : [E (L K s , LK e n)] を出力するステップであることを特徴 とする請求項 1 8に記載のメモリアクセス制御方法。
2 0. データ記憶用のメモリと、該メモリに対するアクセス制御を実行す る制御部とを有する情報記憶装置におけるメモリアクセス制御処理を実行す るコンピュータ · プログラムであって、
情報処理装置からの口ックコマンドおよび識別子 ( I D) の入力を実行する ステップと、
前記ロックコマンドに応じて、 前記識別子 ( I D) を含むキーセットが、 ( a )外部出力を許容しないキーセットとしてのスタンダードロックキーセ ッ卜、
(b)外部出力を許容するキーセットとしてのエクスポート口ックキーセッ 卜、
のいずれであるかを判別し、 該判別情報を記憶手段に格納するステップと、 を有することを特徴とするコンピュータ 'プログラム。
PCT/JP2003/007781 2002-06-25 2003-06-19 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム WO2004001609A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP03760900.5A EP1517244B1 (en) 2002-06-25 2003-06-19 Information storage device, memory access control system and method, and computer program
KR1020047002720A KR100968733B1 (ko) 2002-06-25 2003-06-19 정보 기억 장치, 메모리 액세스 제어 시스템 및 방법, 및컴퓨터 프로그램
US10/486,094 US7636826B2 (en) 2002-06-25 2003-06-19 Systems and methods for locking and exporting the locking of a removable memory device

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=29996694

Family Applications (1)

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

Country Status (6)

Country Link
US (2) US7636826B2 (ja)
EP (1) EP1517244B1 (ja)
JP (1) JP4016741B2 (ja)
KR (1) KR100968733B1 (ja)
CN (1) CN1278245C (ja)
WO (1) WO2004001609A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3979195B2 (ja) * 2002-06-25 2007-09-19 ソニー株式会社 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
KR100476929B1 (ko) * 2002-09-03 2005-03-16 삼성전자주식회사 카드형 유에스비 인터페이스 컨넥터를 갖는 유에스비 시스템
US8099762B2 (en) * 2003-12-02 2012-01-17 Integic Technologies Llc Secure digital content trading systems and methods
JP2009503656A (ja) 2005-07-21 2009-01-29 クレブエックス・リミテッド・ライアビリティ・カンパニー メモリロックシステム
US8996482B1 (en) * 2006-02-10 2015-03-31 Amazon Technologies, Inc. Distributed system and method for replicated storage of structured data records
WO2008017913A2 (en) * 2006-08-07 2008-02-14 Nokia Corporation Connecting a first device and a second device
KR100782113B1 (ko) * 2006-11-13 2007-12-05 삼성전자주식회사 메모리 카드 시스템 및 그것의 호스트 식별 정보 전송 방법
US7877563B2 (en) * 2006-12-07 2011-01-25 International Business Machines Corporation Programmable memory device security
KR100841982B1 (ko) * 2007-02-08 2008-06-27 삼성전자주식회사 호스트 식별 정보를 저장하는 메모리 카드 및 그것의액세스 방법
US8438652B2 (en) * 2007-03-23 2013-05-07 Seagate Technology Llc Restricted erase and unlock of data storage devices
US8566611B2 (en) * 2007-08-28 2013-10-22 Panasonic Corporation Electronic device, unlocking method, and program
US8271736B2 (en) * 2008-02-07 2012-09-18 International Business Machines Corporation Data block frequency map dependent caching
US20100174913A1 (en) * 2009-01-03 2010-07-08 Johnson Simon B Multi-factor authentication system for encryption key storage and method of operation therefor
US9286493B2 (en) 2009-01-07 2016-03-15 Clevx, Llc Encryption bridge system and method of operation thereof
US8365304B2 (en) 2010-05-24 2013-01-29 Microsoft Corporation Restricting access to volumes
US8081013B1 (en) * 2010-07-13 2011-12-20 Amlogic Co., Ltd. Digital phase and frequency detector
US20120047582A1 (en) * 2010-08-20 2012-02-23 Nexcom International Co., Ltd. Data deleting method for computer storage device
JP5198539B2 (ja) * 2010-11-05 2013-05-15 株式会社東芝 記憶装置、アクセス装置およびプログラム
US9322194B2 (en) 2013-03-15 2016-04-26 August Home, Inc. Intelligent door lock system
US11441332B2 (en) 2013-03-15 2022-09-13 August Home, Inc. Mesh of cameras communicating with each other to follow a delivery agent within a dwelling
US9916746B2 (en) 2013-03-15 2018-03-13 August Home, Inc. Security system coupled to a door lock system
US9704314B2 (en) 2014-08-13 2017-07-11 August Home, Inc. BLE/WiFi bridge that detects signal strength of Bluetooth LE devices at an exterior of a dwelling
US10140828B2 (en) 2015-06-04 2018-11-27 August Home, Inc. Intelligent door lock system with camera and motion detector
US11352812B2 (en) 2013-03-15 2022-06-07 August Home, Inc. Door lock system coupled to an image capture device
US10443266B2 (en) 2013-03-15 2019-10-15 August Home, Inc. Intelligent door lock system with manual operation and push notification
US9706365B2 (en) * 2013-03-15 2017-07-11 August Home, Inc. BLE/WiFi bridge that detects signal strength of bluetooth LE devices at an interior of a dwelling
US11527121B2 (en) 2013-03-15 2022-12-13 August Home, Inc. Door lock system with contact sensor
US10691953B2 (en) 2013-03-15 2020-06-23 August Home, Inc. Door lock system with one or more virtual fences
US11802422B2 (en) 2013-03-15 2023-10-31 August Home, Inc. Video recording triggered by a smart lock device
US10388094B2 (en) 2013-03-15 2019-08-20 August Home Inc. Intelligent door lock system with notification to user regarding battery status
US10181232B2 (en) 2013-03-15 2019-01-15 August Home, Inc. Wireless access control system and methods for intelligent door lock system
US11072945B2 (en) 2013-03-15 2021-07-27 August Home, Inc. Video recording triggered by a smart lock device
US11421445B2 (en) 2013-03-15 2022-08-23 August Home, Inc. Smart lock device with near field communication
US11043055B2 (en) 2013-03-15 2021-06-22 August Home, Inc. Door lock system with contact sensor
KR20150101232A (ko) * 2014-02-26 2015-09-03 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치의 동작 방법
US11210238B2 (en) * 2018-10-30 2021-12-28 Cypress Semiconductor Corporation Securing data logs in memory devices
CN111478770A (zh) * 2020-03-31 2020-07-31 西安广和通无线软件有限公司 安全校验方法、装置、计算机设备和存储介质
US20220021544A1 (en) * 2020-07-15 2022-01-20 Micron Technology, Inc. Secure Serial Peripheral Interface (SPI) Flash
WO2022060704A1 (en) 2020-09-17 2022-03-24 ASSA ABLOY Residential Group, Inc. Magnetic sensor for lock position
CN112859694A (zh) * 2021-01-20 2021-05-28 深圳池航科技有限公司 一种基于互联网的智能头盔锁远程控制系统
US11782621B2 (en) 2021-06-30 2023-10-10 Western Digital Technologies, Inc. Lock or unlock indicator on a data storage device

Citations (13)

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

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602896A (en) * 1969-06-30 1971-08-31 Ibm Random access memory with flexible data boundaries
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4736419A (en) * 1984-12-24 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Electronic lock system
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US5148534A (en) * 1986-11-05 1992-09-15 International Business Machines Corp. Hardware cartridge representing verifiable, use-once authorization
US4937736A (en) * 1987-11-30 1990-06-26 International Business Machines Corporation Memory controller for protected memory with automatic access granting capability
US5231310A (en) * 1990-09-05 1993-07-27 Oh Soo Young Electrical and electronic appliance lock
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
US5287519A (en) * 1992-09-17 1994-02-15 International Business Machines Corp. LAN station personal computer system with controlled data access for normal and unauthorized users and method
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5282247A (en) * 1992-11-12 1994-01-25 Maxtor Corporation Apparatus and method for providing data security in a computer system having removable memory
GB9323453D0 (en) * 1993-11-13 1994-01-05 Calluna Tech Ltd Security system for portable hard disk drive
AU1265195A (en) * 1993-12-06 1995-06-27 Telequip Corporation Secure computer memory card
US6002772A (en) * 1995-09-29 1999-12-14 Mitsubishi Corporation Data management system
US5963142A (en) * 1995-03-03 1999-10-05 Compaq Computer Corporation Security control for personal computer
US6169687B1 (en) * 1995-04-21 2001-01-02 Mark B. Johnson High density and speed magneto-electronic memory for use in computing system
US5638448A (en) * 1995-10-24 1997-06-10 Nguyen; Minhtam C. Network with secure communications sessions
US5857021A (en) * 1995-11-07 1999-01-05 Fujitsu Ltd. Security system for protecting information stored in portable storage media
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
US7031946B1 (en) * 1999-12-28 2006-04-18 Matsushita Electric Industrial Co., Ltd. Information recording medium, noncontact IC tag, access device, access system, life cycle management system, input/output method, and access method
US6832317B1 (en) * 2001-05-10 2004-12-14 Advanced Micro Devices, Inc. Personal computer security mechanism
JP4690600B2 (ja) * 2001-08-23 2011-06-01 富士通株式会社 データ保護方法
US20030135507A1 (en) * 2002-01-17 2003-07-17 International Business Machines Corporation System and method for managing and securing meta data using central repository

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04139552A (ja) * 1990-10-01 1992-05-13 Nec Corp メモリカード
JPH05113932A (ja) * 1991-10-23 1993-05-07 Kyocera Corp パーソナルコンピユータ
JPH09134330A (ja) * 1995-11-07 1997-05-20 Fujitsu Ltd セキュリティ保護システム
JPH09293022A (ja) * 1996-04-24 1997-11-11 Toshiba Corp データ記録再生装置及び同装置におけるデータ保護方法
JPH11237983A (ja) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp ワンチップマイコンおよびこのワンチップマイコンにおけるブート領域アクセスのためのエントリー方法
JPH11265318A (ja) * 1998-03-17 1999-09-28 Bug:Kk 相互認証システム、相互認証方法及び記録媒体
JP2001022642A (ja) * 1999-07-08 2001-01-26 Mitsubishi Electric Corp メモリの機密保持回路
JP2001092718A (ja) * 1999-09-21 2001-04-06 Casio Comput Co Ltd セキュリティ管理システム、記憶媒体アクセス方法、データ配布装置、及び携帯端末装置
JP2001195551A (ja) * 2000-01-14 2001-07-19 Ntt Data Corp Icカード読取装置及びicカードシステム
JP2001236333A (ja) * 2000-02-21 2001-08-31 Hitachi Ltd 電子署名付移動エージェント
US20020002654A1 (en) 2000-07-03 2002-01-03 Ichiro Tomohiro Semiconductor storage device
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
KR20050010749A (ko) 2005-01-28
US7636826B2 (en) 2009-12-22
JP4016741B2 (ja) 2007-12-05
US20100049993A1 (en) 2010-02-25
KR100968733B1 (ko) 2010-07-08
CN1564982A (zh) 2005-01-12
EP1517244B1 (en) 2019-01-09
JP2004030103A (ja) 2004-01-29
US8402240B2 (en) 2013-03-19
US20040215910A1 (en) 2004-10-28
CN1278245C (zh) 2006-10-04
EP1517244A1 (en) 2005-03-23
EP1517244A4 (en) 2008-11-19

Similar Documents

Publication Publication Date Title
JP3979195B2 (ja) 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
JP4016741B2 (ja) 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
WO2004001608A1 (ja) 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
JP3979194B2 (ja) 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム
US9037875B1 (en) Key generation techniques
TW514844B (en) Data processing system, storage device, data processing method and program providing media
US6618789B1 (en) Security memory card compatible with secure and non-secure data processing systems
JP4687703B2 (ja) 記録システム、情報処理装置、記憶装置、記録方法及びプログラム
US7124436B2 (en) Security unit for use in memory card
WO2001054099A1 (fr) Systeme d'authentification de donnees
WO2002033880A9 (fr) Reproduction de donnees/appareil d'enregistrement/procede et procede de mise a jour d'une liste
WO2004051483A1 (ja) ライセンス移動装置及びプログラム
JP2006237881A (ja) 携帯情報端末およびデータ保護方法
WO2011157242A2 (zh) 文件的保护方法及装置
JP2003195758A (ja) データ処理装置、インタフェースボードおよびデータ秘匿方法
JP2007193477A (ja) コンテンツ保護装置及びプログラム
WO2023178724A1 (zh) 智能门铃防盗版方法、系统、智能门铃及计算机可读存储介质

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

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2003760900

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020047002720

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

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2003760900

Country of ref document: EP