WO2006054380A1 - メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法 - Google Patents

メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法 Download PDF

Info

Publication number
WO2006054380A1
WO2006054380A1 PCT/JP2005/015197 JP2005015197W WO2006054380A1 WO 2006054380 A1 WO2006054380 A1 WO 2006054380A1 JP 2005015197 W JP2005015197 W JP 2005015197W WO 2006054380 A1 WO2006054380 A1 WO 2006054380A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
encryption key
command
encryption
information processing
Prior art date
Application number
PCT/JP2005/015197
Other languages
English (en)
French (fr)
Inventor
Takashi Oshikiri
Takanobu Nakashima
Original Assignee
Takashi Oshikiri
Takanobu Nakashima
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Takashi Oshikiri, Takanobu Nakashima filed Critical Takashi Oshikiri
Priority to EP05772620A priority Critical patent/EP1830240A4/en
Publication of WO2006054380A1 publication Critical patent/WO2006054380A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Definitions

  • Memory information protection system semiconductor memory, and memory information protection method
  • the present invention relates to a technique for protecting confidentiality of data stored in a semiconductor memory.
  • Patent Documents 1 and 2 describe a method of encrypting data using key data.
  • Patent Document 3 discloses a method for enabling data input / output only when an encrypted command is input.
  • Patent Document 1 Japanese Patent Laid-Open No. 9 106690
  • Patent Document 2 JP-A-7-219852
  • Patent Document 3 Japanese Patent Laid-Open No. 2001-35171
  • Patent Document 3 when encrypting a command, it is possible to improve the security strength by complicating the encryption method. For example, a different encryption is adopted for each semiconductor memory. Such a response is difficult, and data encrypted by the same encryption method is always supplied.
  • the main object of the present invention is to increase the security of data stored in a semiconductor memory, To provide a memory information protection system, a memory information protection method, and a semiconductor memory that can effectively prevent illegal reading of stored data.
  • Another object of the present invention is to make it difficult to illegally read out stored data in a semiconductor memory without complicating the configuration on the semiconductor memory side, resulting in a significant increase in the cost of the semiconductor memory.
  • the present invention also provides a memory information protection system, a memory information protection method, and a semiconductor memory in which stored data is protected.
  • Still another object of the present invention is to provide a memory information protection system, a memory information protection method, and a semiconductor memory, which make it difficult to analyze a security system of a semiconductor memory and enhance the security of stored data. Is to provide.
  • a memory information protection system includes an information processing device (10) and a semiconductor memory (20) that is detachably attached to the information processing device.
  • Information protection system (1) includes an information processing device (10) and a semiconductor memory (20) that is detachably attached to the information processing device.
  • the semiconductor memory stores data including a program to be protected, and is provided with a data storage means (21) accessed by the information processing apparatus, a command including an instruction code and address data power from the information processing apparatus.
  • the original data storage unit (24) cannot access the decryption key data serving as the decryption key used for determining that the information processing apparatus is allowed to be used from the information processing apparatus.
  • a decryption key data storage means (25) for storing in the form, and a decryption means (23a) for decrypting an encryption command given from the information processing apparatus using the decryption key data Including memory control means (23).
  • the information processing apparatus is connected to a first input / output terminal portion of the semiconductor memory, outputs the instruction code and the command having the address data power, and the data read from the semiconductor memory is Input second input / output terminal (13), processing means (11) for processing data read from the semiconductor memory and generating the command to be given to the semiconductor memory, related to the decryption key data Encryption generation data storage means (14) for storing encryption generation data for generating encryption key data to be transmitted, the encryption key source data Encryption key data generation means (15) for generating the encryption key data based on the encryption key source data and the encryption generation data read from the data storage unit, and generated by the encryption key data generation means Temporary storage means (12) for temporarily storing the encryption key data, and generating the encryption key command obtained by encrypting the command generated by the processing means using the encryption key data (S107) The encryption key command is output to the second input / output terminal unit (S108).
  • the memory control means further performs control (S208) to read data stored in the data storage means using the command decoded by the decoding means.
  • the information processing apparatus uses the encryption key data generated according to the information read from the semiconductor memory, and Communicate. Therefore, compared to the case where the same encryption key data is always used or the case where the encryption key data information itself is transmitted and received between the information processing device and the semiconductor memory.
  • a second aspect of the memory information protection system is the first aspect thereof, wherein the encryption key data generation means uses the encryption key source data and adds the encryption key data to the encryption generation data. Based on this, the encryption key data having a predetermined relationship with the decryption key data is generated.
  • encryption key data is generated according to the encryption key source data. Therefore, even if the encryption key source data is read, the encryption key data is not acquired.
  • a third aspect of the memory information protection system according to the present invention is the first aspect or the second aspect thereof, wherein the encryption key data storage means is ten times or more than the encryption key source data. Senior! /, Storing the encryption key data.
  • a fourth aspect of the memory information protection system according to the present invention is any one of the first aspect to the third aspect, wherein the encryption key data generation means and the encryption means Also used by the processing means.
  • the processing means computes the encryption key original data and the encryption generation data to obtain the encryption key data and writes it to the temporary storage means (S105), and uses the encryption key data to write the original command. It encrypts (S107) and outputs the encryption command (S108).
  • the operation of the encryption key data generation means and the encryption means is realized by one processing means. Therefore, the memory information protection system can be realized with a simple configuration as compared with the case where each is independent.
  • a fifth aspect of the memory information protection system according to the present invention is the first aspect thereof, wherein the encryption generation data storage means is connected to the second input / output terminal section from outside the information processing apparatus. It is arranged as a memory space that cannot be accessed via the.
  • a sixth aspect of the memory information protection system is any one of the first to fifth aspects, wherein the decryption key data storage means is the encryption key source data storage unit.
  • the decryption key data that is paired with the encryption key source data that is the source of the encryption key stored in is stored.
  • a seventh aspect of the memory information protection system is the sixth aspect, wherein the encryption key source data and the decryption key stored in the encryption key source data storage unit are stored.
  • the decryption key data stored in the data storage means is selected as a different pair of key data depending on the type of program stored in the data storage means.
  • An eighth aspect of the memory information protection system according to the present invention is any one of the first to seventh aspects, wherein the processing means uses the encryption means to achieve a desired amount of the After the encryption command is output (S112), the encryption key data stored in the temporary storage means is erased (S113).
  • the encryption key data is deleted after use, so that the analysis of the encryption key data can be made difficult.
  • the information processing apparatus is connected to the first input / output terminal portion of the semiconductor memory, outputs the command and the command having the address data power, and receives the data read from the semiconductor memory
  • a second input / output terminal section (13) a processing means (11) for processing the data read from the semiconductor memory and generating the command to be given to the semiconductor memory, and using the encryption key source data
  • Encryption key generation program storage means (14) for storing an encryption key data generation program for generating encryption key data related to the decryption key data
  • temporary storage means (12) for temporarily storing the encryption key data Equipped with.
  • the CPU uses the encryption key source data and generates encryption key data based on the encryption key generation program (S104), and the first step A second step (S105) for temporarily storing the generated encryption key data in the temporary storage means and a command generated by the processing means are transmitted using the encryption key data.
  • the third step (S107, 108) for generating the encrypted command and outputting it to the second input / output terminal unit is sequentially executed.
  • the memory control means includes a fourth step (S204) for decrypting the command using the decryption key data, and when the command decrypted in the fourth step is a read code,
  • the fifth step (S207, S208) for reading the data stored in the data storage means by sequentially providing the included address data to the data storage means is executed.
  • the information processing apparatus communicates with the semiconductor memory using the encryption key data generated according to the information read from the semiconductor memory. I do. Therefore, compared to the case where the same encryption key data is always used or the case where the encryption key data information itself is transmitted and received between the information processing device and the semiconductor memory, it is difficult to analyze the security system and the data is illegal. Reading can be effectively prevented.
  • a second aspect of the memory information protecting method according to the present invention is the first aspect, wherein the first step uses the encryption key source data and the encryption key data generation program. Generating the same encryption key data as the decryption key data based on The third step includes a step of encrypting with the same encryption key data as the decryption key data decrypted by the memory control means.
  • encryption key data is generated according to encryption key source data. Therefore, even if the encryption key source data is read, the encryption key data cannot be obtained.
  • a first aspect of the semiconductor memory according to the present invention is an information processing apparatus (10) for generating an encryption command in which an instruction code and address data are encrypted using encryption key data.
  • Data storage means (21) for storing data including a program to be protected, which is allocated to a memory space accessible by the information processing apparatus, and a memory space that cannot be accessed by the information processing apparatus
  • Decryption key data storage means (25) for storing decryption key data necessary for decryption of the encrypted command supplied and supplied from the information processing apparatus, and allocated to a space accessible by the information processing apparatus
  • An encryption key source data storage unit (24) for storing encryption key source data related to the decryption key data and used by the information processing device to generate the encryption key data, and supplied from the information processing device
  • the decryption means (23a) for decrypting the encrypted command to be decrypted using the decryption key data, and that the instruction code included in the command decrypted by the decryption means is a
  • the information processing apparatus communicates with the semiconductor memory using the encryption key data generated according to the information read from the semiconductor memory. . Therefore, compared to the case where the same encryption key data is always used or the case where the encryption key data itself is transmitted and received between the information processing device and the semiconductor memory, it is difficult to analyze the security system and the data is illegal. Effective reading is effectively prevented.
  • a second mode of the semiconductor memory according to the present invention is the first mode, and is stored in the encryption key source data stored in the encryption key source data storage unit and the decryption key data storage unit.
  • the decryption key data to be selected is selected as a different pair depending on the type of the program stored in the data storage means.
  • a third aspect of the semiconductor memory according to the present invention is the first aspect or the second aspect thereof, wherein the decryption key data stored in the decryption key data storage means is the encryption key source data.
  • the data length is chosen to be ten times longer than that.
  • the information processing apparatus generates encryption key data having a long data length while receiving only the encryption key source data having a small data capacity from the semiconductor memory. Therefore, it is difficult to analyze the encryption key data, and illegal reading of the data can be effectively prevented.
  • FIG. 1 is a diagram showing a memory information protection system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart showing the operation of the memory information protection system according to one embodiment of the present invention.
  • FIG. 3 is a flowchart showing the operation of the memory information protection system according to one embodiment of the present invention.
  • FIG. 1 is a block diagram showing a memory information protection system according to an embodiment of the present invention.
  • the memory information protection system 1 includes an information processing device 10 and a semiconductor memory 20.
  • the memory information protection system 1 prevents the stored contents of the semiconductor memory 20 from being illegally read from a device other than the predetermined information processing device 10. For the purpose. For this reason, the information processing device 10 reads an instruction command to be supplied to the semiconductor memory 20 and an encryption command obtained by encrypting a command having the address data power with the encryption key data when reading the data stored in the semiconductor memory 20. Generated and gives the encryption key command to the semiconductor memory 20.
  • the semiconductor memory 20 decrypts the encrypted key command supplied from the information processing apparatus 10 with the decryption key data and extracts the original command, and the decrypted command is a predetermined command (read instruction code and read command). Only in the case of a read command having an address data power, data stored in a core memory (a data storage unit 21 described later) in the semiconductor memory 20 is read according to the read signal and the read address data. Here, it is necessary to use key data having a predetermined relationship (for example, common encryption key data and decryption key data) for encryption key and decryption key. However, if encryption key data is stored in the semiconductor memory 20 and the encryption key data is read from the semiconductor memory 20 and provided to the information processing device 10, the encryption key data is read illegally and analyzed. It will be.
  • the encryption key source data (or the encryption key) having a relatively short data length, which is the source (or seed) for generating the encryption key data on the semiconductor memory 20 side.
  • Species data is stored, and the encryption key source data is read first, and the information processing device 10 generates encryption key data with a relatively long data length based on the encryption key source data! To do.
  • the encryption key source data and the decryption key data are selected as a pair.
  • the encryption key data generated by the information processing apparatus 10 is selected so as to have a predetermined relationship with the decryption key data, for example, the same.
  • the semiconductor memory 20 stores software programs and data as data to be protected in a memory core (data storage unit 21 in Fig. 1) equivalent to the conventional general-purpose mask ROM. is doing.
  • the semiconductor memory 20 is detachably attached to the information processing apparatus 10 in a manner such as a card or cartridge.
  • the information processing device 10 for using the software program and data stored in the semiconductor memory 20 includes a portable information terminal device such as a personal computer and a PDA (Personal Digital Assistant), and an image processing device.
  • a portable information terminal device such as a personal computer and a PDA (Personal Digital Assistant)
  • an image processing device such as a personal computer and a PDA (Personal Digital Assistant)
  • the program stored in the semiconductor memory 20 is a game program, it is applied to various game devices such as a video game machine and a portable game machine.
  • the semiconductor memory 20 is provided with a memory control circuit 23 between a data storage unit (or core memory) 21 and an input / output terminal 22, and as an arrangement unique to this embodiment, an encryption key source data storage unit 24 and decryption key data are provided. It consists of a storage unit 25.
  • the data storage unit 21 and the input / output terminal 22 are the same as a conventionally known general-purpose memory.
  • the data storage unit 21 is a non-volatile memory such as a mask ROM. Stores programs and data that are subject to protection from unauthorized reading.
  • the data storage unit 21 is not limited to the mask ROM, and may be a flash memory, EP-ROM, or the like.
  • the data storage unit 21 can be accessed from the information processing apparatus 10 via a memory control circuit 23 (more specifically, a command determination / reading circuit 23b described later provided in the memory control circuit 23).
  • the input / output terminal 22 is a terminal electrically connected to an input / output terminal 17 on the information processing measure 10 side described later, and can exchange data between the semiconductor memory 20 and the information processing apparatus 10
  • This I / O terminal 22 includes a command input terminal and a data output terminal, or use command input and data input in a time-division manner with a plurality of common terminals (for example, 8 bits).
  • the memory control circuit 23 includes a decoding circuit (decoding means) 23a and a command determination / reading circuit 23b.
  • the decryption circuit 23a decrypts the encryption command given from the information processing apparatus 10 using decryption key data stored in a decryption key data storage unit 25 described later.
  • a specific circuit configuration of the decryption circuit 23a a circuit that performs bit operation on one data unit (for example, 1 byte or a predetermined byte) is used, and an operation process (decryption process) opposite to encryption is performed. Is what you do.
  • a circuit for performing a bit operation a logical operation circuit (AND, OR, NAND, exclusive OR, etc.) is used, and one data unit (for example, 1 byte or a predetermined byte) is used for multiple steps.
  • one data unit for example, 1 byte or a predetermined byte
  • a simple decoding algorithm may be calculated using a small CPU such as a one-chip microcomputer.
  • the command decrypted by the decryption circuit 23a is input to the command discrimination / read circuit 23b and executed.
  • the command determination / readout circuit 23b has a function of determining a decoded command and performing an operation according to the type of the command. Specifically, when the command supplied from the information processing apparatus 10 and decrypted by the decryption circuit 23a is a read command for the encryption key source data, the read signal and the memory are stored in the encryption key source data storage unit 24. The read address data assigned to the unit 24 is output, and the encryption key source data is read from the storage unit 24.
  • the command given from decoding circuit 23a is a read command in data storage unit 21
  • a read instruction code and read address data are extracted from the read command, and a read signal and read address data are extracted. Is supplied to the data storage unit 21 to read out the data stored in the data storage unit 21.
  • the data storage unit 21 is a readable / writable memory (for example, a flash memory) and the command given from the decoding circuit 23a is a write command to the data storage unit 21,
  • the write instruction code and write address data are extracted from the write command, the write signal and write address data are given to the data storage unit 21, and then the write data supplied from the information processing device 10 is stored in the data.
  • the command discrimination 'read circuit 23b functions as a command discrimination' write circuit.
  • the encryption key source data storage unit 24 is a storage unit that stores encryption key source data that is a source (or seed) for generating encryption key data when the information processing device 10 encrypts a command. Yes, it stores data with a relatively short data length (for example, several to several tens of bytes).
  • the encryption key source data storage unit 24 is assigned a memory space that is directly accessible from the information processing apparatus 10 that is an external device when viewed from the semiconductor memory 20.
  • the decryption key data storage unit 25 decrypts the encryption command supplied (or input) when reading the storage data of the semiconductor memory 20 from the information processing device 10 to obtain the original command. Key data is stored.
  • the decryption key data storage unit 25 is allocated to a memory space that cannot be directly accessed from the outside, and is configured to be readable only by the decryption circuit 23a.
  • the decryption key data stored in the decryption key data storage unit 25 is data paired with the encryption key source data stored in the encryption key source data storage unit 24, and the data length is encrypted. It is chosen ten times longer than key source data. The reason for this is that the encryption key command given from the information processing device 10 cannot be decrypted unless the decryption key data is determined to be paired with the encryption key source data, and the data storage unit 21 is protected. This is to secure security and increase the level of security.
  • the data length of the decryption key data is selected to be longer than the data length of the encryption key source data. This is because the length of the key data is generally higher and the security strength can be increased.
  • the encryption key source data stored in the semiconductor memory 20 is short V ⁇ data having a data length (word length) as a source or seed for generating the encryption key data. Even if the original data is analyzed, it is difficult to generate encryption key data.
  • the data storage unit 21 may be composed of a general-purpose mask ROM or the like, and the other circuit parts may be composed of other circuit components. Even in such a case, since the encryption key command is used, the data stored in the data storage unit 21 can be protected.
  • the encryption key source data stored in the encryption key source data storage unit 24 can be changed. If the encryption key source data is changed, the corresponding decryption key data is also changed. Therefore, for example, if different encryption key source data and decryption key data are used for each type of program or data stored in the data storage unit 21, data exchange between the semiconductor memory 20 and the information processing apparatus 10 is performed. The command obtained by observing the path also changes the data related to the key of the encryption key source data and decryption key data, making it difficult for third parties to analyze and further improving the security strength of the semiconductor memory 20 Can be made.
  • the semiconductor memory 20 does not require a complicated configuration or processing different from that of the conventional product in order to realize various functions and operations described in the present embodiment. Therefore, there is no significant increase in cost when using the CPU as a processing method or compared with conventional products.
  • the information processing apparatus 10 includes a CPU 11 as an example of processing means.
  • the CPU 11 is connected with a temporary storage unit 12 and an input / output terminal 13 and as a circuit part unique to this embodiment.
  • the encryption generation data storage unit 14, the encryption key data generation unit 15, and the encryption key circuit 16 are connected.
  • the temporary storage unit 12 a memory capable of writing and reading data, for example, a semiconductor memory such as a RAM or a hard disk is used.
  • the temporary storage unit 12 includes a storage area for storing encryption key source data read from the semiconductor memory 20, a storage area for storing encryption key data generated using the encryption key source data, and a semiconductor memory 20 It includes a read data storage area for storing data (for example, block unit data) read from the data storage unit 21 and a storage area for other working data.
  • Each storage area of the temporary storage unit 12 is allocated to a memory space from which an external force of the information processing apparatus 10 can be read.
  • the input / output terminal 13 is a connection terminal or connector that is electrically connected to the input / output terminal 22 of the semiconductor memory 20, and has the same number of terminals as the number of terminals of the input / output terminal 22 and the same pin arrangement ( (Or pin spacing).
  • the input / output terminal 13 is connected to the address bus and data bus of the CPU 11 and to the command bus of the encryption circuit 16 in parallel.
  • the input / output terminal 13 preferably uses an address bus' data bus and a command bus using a terminal having a predetermined number of bits in order to reduce the number of terminals by sharing the address bus, the data bus, and the Z or command bus. Can be used in a time-sharing manner.
  • the encryption generation data storage unit 14 uses the encryption key source data read from the encryption key source data storage unit 24 of the semiconductor memory 20 to generate encryption key data for generating encryption key data. I remember it.
  • the encryption generation data storage unit 14 cannot be accessed from outside the information processing apparatus 10! /, And is allocated to a memory space.
  • the encryption key data generation unit 15 uses the encryption key source data stored in the temporary storage unit 12 and the encryption generation data stored in the encryption generation data storage unit 14 to perform a predetermined calculation. By performing the processing, encryption key data is generated, and the encryption key data is written into the encryption key data storage area of the temporary storage unit 12.
  • encryption key data having a data length longer than that of the encryption key source data is generated in the information processing apparatus 10 and stored in the temporary storage unit 12. Therefore, the encryption key data is stored in the semiconductor memory 20 side. Compared to storing key data, analysis of encryption key data is made difficult.
  • the encryption key data generated by the encryption key data generation unit 15 is stored in the semiconductor memory.
  • Data that has a predetermined relationship with the 20-side decryption key data (for example, the same data), and is a kind of common key.
  • the encryption key data generated as described above is stored in the temporary storage unit 12 as long as it is necessary for the CPU 11 to execute arithmetic processing to generate a command and to read out the stored data in the semiconductor memory 20.
  • the force command stored in the predetermined storage area may be deleted as necessary when the output of the command is paused or stopped. If the encryption key data is deleted at an appropriate timing, the risk of reading the encryption key data from the outside of the information processing apparatus 10 can be reduced.
  • data is read from the data storage unit 21 while being read in units of a single block or a plurality of blocks and stored in the temporary storage unit 12, while the data of the block is being processed. If the semiconductor memory 20 is not accessed, the encryption key data may be erased during that time. Then, when the data in the semiconductor memory 20 is read again after the program processing of the block is completed, the encryption key data may be generated again using the previously read encryption key source data.
  • the encryption key data can be prevented from being read illegally.
  • the encryption circuit 16 uses the encryption key key data read from the temporary storage unit 14 to perform predetermined arithmetic processing on a command to be supplied to the semiconductor memory 20 output from the CPU 11 To generate a cipher key command.
  • the encryption command also includes an instruction code, address data, and power, and one command is composed of a plurality of bytes.
  • the encrypted command encrypted by the encryption key circuit 16 is supplied to the decryption key circuit 23a via the input / output terminal 13 and the input / output terminal 22 on the semiconductor memory 20 side.
  • the encryption circuit 16 of the information processing apparatus 10 and the decryption circuit 23 a on the semiconductor memory 20 side have a corresponding relationship, and the command encrypted by the encryption key circuit 16 using the encryption key data It is decrypted by the decryption key circuit 23a using the decryption key data paired with the encryption key source data that is the source of the encryption key data.
  • the encryption key data generation unit 15 uses the encryption key source data to generate encryption generation data. It is assumed that the encryption key circuit 16 performs encryption processing of the first stage to encrypt the command using the encryption key data. Click here.
  • the encryption key data generation unit 15 and the encryption circuit 16 are configured by circuits as hardware has been described.
  • the encryption key data generation unit 15 and the encryption key circuit are described.
  • the 16 processes or functions may be realized by a program, and the program may be processed by the CPU 11 to generate encryption key data and encrypt a command in software.
  • the information processing apparatus 10 uses encryption key source data (or encryption key type data) with a short data length read out from the semiconductor memory 20 without having the encryption key data fixed. Since the encryption key data is generated, it is difficult to read the encryption key data from the outside and consequently to analyze it. As a result, it is possible to protect the security of the data stored in the semiconductor memory 20.
  • the encryption key data can be obtained even if the encryption key source data can be obtained.
  • the data stored in the semiconductor memory 20 can be secured.
  • FIGS. 2 and 3 are flowcharts for explaining the operation of the memory information protection system 1.
  • FIG. The flowcharts of FIGS. 2 and 3 show the flow of operation of the information processing apparatus 10 on the left side (steps 101 to 113) and the flow of operation of the semiconductor memory 20 on the right side (steps 201 to 211).
  • the semiconductor memory 20 is shown as a flow for the sake of convenience corresponding to the operation flow of the force information processing apparatus 10, which is an operation by a circuit as hardware that does not include processing means such as a CPU. Point out that it is.
  • the semiconductor memory 20 is mounted on the information processing apparatus 10 in advance, and Output terminal 1 3 and the input / output terminal 22 are electrically connected.
  • the information processing apparatus 10 is turned on, the information processing apparatus 10 is activated and the power is supplied to the semiconductor memory 20 to start operation as a system.
  • step (abbreviated as “S” in FIG. 2) 101 the CPU 11 generates a read command (a command including a read instruction code and read address data) of the encryption key source data storage unit 24, and The semiconductor memory 20 is given.
  • the read command at this time remains unencrypted.
  • the semiconductor memory 2 determines that a command has been input (step 201)
  • the command determination / read circuit 23b determines that the supplied command is a read command of the encryption key source data storage unit 24, and stores the stored command. Provide read signal and read address data to part 24.
  • the encryption key source data storage unit 24 reads the encryption key source data and gives it to the information processing apparatus 10 (step 202).
  • CPU 11 determines that encryption key source data has been input in step 102
  • CPU 11 writes the encryption key source data input in step 103 to the encryption key source data storage area of temporary storage unit 12. , Temporarily store.
  • step 104 the CPU 11 performs an arithmetic process based on the encryption key source data and the encryption generation data stored in the encryption generation data storage unit 14 to generate encryption key data.
  • the program for generating the encryption key data can be stored in the encryption generation data storage unit 14 together with the encryption generation data, for example.
  • step 105 the generated encryption key data is written to the encryption key data storage area of the temporary storage unit 12 and temporarily stored.
  • step 106 the CPU 11 generates a command to be supplied to the semiconductor memory 20.
  • step 107 the CPU 11 encrypts the command (also referred to as the original command) using the encryption key data stored in the temporary storage unit 12 (or the encryption circuit 16 uses the encryption key data to generate the original key). Encrypt the command).
  • step 108 an encryption key command is output and supplied to the semiconductor memory 20.
  • step 109 the CPU 11 stands by until there is read data from the semiconductor memory 20.
  • the semiconductor memory 20 performs the following operation in response to the input of the encryption key command (however, the flow The judgment step shown in the chart is described for convenience of explanation, and is actually processed by hardware rather than by software processing). That is, in response to the input of the encryption command (step 203), the decryption key circuit 23a decrypts the encryption key command using the decryption key data (step 204).
  • the command discriminating / reading circuit 23b discriminates the decoded command (step 205).
  • the command discriminating / read circuit 23b extracts the read instruction code and read address data from the read command, and provides the read signal and read address data to the data storage unit 21 ( Step 207).
  • the data storage unit 21 reads the data stored at the designated read address.
  • the read control method of the data storage unit 21 includes a method of giving a read command for each address from the information processing apparatus 10 and a read command in block units (for example, for each block number or block numbers N to M number etc.).
  • a read command for each address from the information processing apparatus 10
  • a read command in block units (for example, for each block number or block numbers N to M number etc.).
  • reading in units of blocks will be described.
  • a block number (the head address of the block; the block is designated by the upper bits) is given as a read address included in the read command. Therefore, the data stored in each address of the storage area corresponding to the designated block number is sequentially read from the data storage unit 21.
  • CPU 11 determines that there is read data of semiconductor memory 20 in step 109, and stores the read data in temporary storage unit 12 in step 110. Then, in step 111, it is determined whether or not the data having the specified data length has been read out, and the processing in steps 109 to 111 is repeated until the data reading of the specified data length is completed. As a result, all the specified data is read and stored in the temporary storage unit 12.
  • step 112 it is determined whether or not the power of reading data from the semiconductor memory 20 is completed, in other words, whether or not the power of reading data of a necessary amount of data is completed. If completed, go to Step 113.
  • step 113 the encryption key data stored in temporary storage unit 12 is deleted. Thereafter, based on the data read from the semiconductor memory 20, the CPU 11 performs processing for the intended purpose of using the data.
  • the read command power on the semiconductor memory 20 side it is a command other than a read command that is not a read command, and an original command related to memory control. If so (step 209), processing or operation based on the original command is performed (step 210).
  • step 211 On the other hand, if it is not an original command (step 209), the operation is stopped (step 211). As a result, when a command for illegal reading or the like is given, the operation is stopped, data reading from the data storage unit 21 is prohibited, and data security can be protected.
  • step 113 By the way, if it becomes necessary to restart the reading of the data stored in the semiconductor memory 20 after erasing the encryption key data, the process returns to the above-described step 104 to perform the encryption key data generation process. The subsequent processing is repeated. If the risk of unauthorized reading of the encryption key data is not taken into consideration, the processing in step 113 described above may be omitted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Read Only Memory (AREA)

Abstract

 情報処理装置10は、半導体メモリ20から読み出した暗号化元データと、内部に記憶する暗号生成データとを利用して、暗号鍵データ生成部15により半導体メモリ20が内部に記憶するキーデータを生成して一時記憶部12に記憶する。情報処理装置10が当該キーデータを利用して暗号化回路16により暗号化したデータを送信し、これを受信した半導体メモリ20が同様にキーデータを利用して復号化回路23aにより復号したコマンドを実行する。これにより所定の半導体メモリ20および情報処理装置10間でのみデータ通信を行うことができる。

Description

明 細 書
メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法 技術分野
[0001] 本発明は、半導体メモリに記憶されるデータの機密を保護する技術に関する。
背景技術
[0002] 半導体メモリを脱着自在に接続することによって、当該半導体メモリに記憶保存さ れたソフトウェアプログラムやデータ等を利用する情報処理装置が知られている。
[0003] このような半導体メモリでは、内部に記憶保存されたデータ等の機密保護のための セキュリティ技術を有するものがある。例えば、特許文献 1、 2では、キーデータを利 用してデータを暗号ィ匕する方法が示されている。また、特許文献 3では、暗号化され たコマンドが入力された場合にのみデータを入出力可能とする方法が示されている。
[0004] 特許文献 1 :特開平 9 106690号公報
特許文献 2 :特開平 7— 219852号公報
特許文献 3:特開 2001— 35171号公報
[0005] しかし、上記特許文献 1、 2のように、キーデータを利用して排他的論理和等の論理 演算を利用してデータの暗号ィ匕を行う場合でも、半導体メモリと情報処理装置との間 で行われる通信内容を観測することが可能であるため、暗号化されたデータを解析さ れてしまう t ヽぅ問題があった。
[0006] また、上記特許文献 3のように、コマンドを暗号化する場合、暗号方式を複雑にする ことでセキュリティ強度を向上することは可能である力 例えば半導体メモリ毎に異な る暗号を採用するような対応は困難であり、常に同一の暗号ィ匕手法により暗号化され たデータを供給することになる。
[0007] さらに、上記特許文献 1、 2と同様に、情報処理装置と半導体メモリとの間でやり取り されるデータの閲覧が可能であることから、暗号されたデータを解析される可能性を 回避することが困難であるという問題があった。
発明の開示
[0008] この発明の主たる目的は、半導体メモリに記憶されたデータの機密保護を高めて、 記憶データの不正な読み出しを有効に防止し得る、メモリ情報保護システム,メモリ 情報の保護方法、および半導体メモリを提供することである。
[0009] この発明の他の目的は、半導体メモリ側の構成を複雑にすることなぐ半導体メモリ の記憶データを外部力 不正に読出すことを困難にし、半導体メモリのコストの大幅 な上昇を伴うことなぐ記憶データの保護を図った、メモリ情報保護システム,メモリ情 報の保護方法、および半導体メモリを提供することである。
[0010] この発明のさらに他の目的は、半導体メモリのセキュリティシステムの解析を困難に して、記憶データの機密保護の強化を図った、メモリ情報保護システム,メモリ情報の 保護方法、および半導体メモリを提供することである。
[0011] この発明にかかるメモリ情報保護システムの第 1の態様は、情報処理装置(10)と前 記情報処理装置に対して着脱自在に装着される半導体メモリ (20)とから構成される メモリ情報保護システム(1)である。
[0012] 前記半導体メモリは、保護すべきプログラムを含むデータを記憶し、前記情報処理 装置によってアクセスされるデータ記憶手段(21)、前記情報処理装置から命令コー ドならびにアドレスデータ力 なるコマンドが与えられ、かつ前記データ記憶手段から 読み出されたデータを前記情報処理装置に与えるための第 1の入出力端子部(22) 、暗号化のための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部(24) 、前記情報処理装置に使用することが許容されたものであることを判断するために用 Vヽられる復号鍵となる復号鍵データを、前記情報処理装置からアクセスできな!/、態様 で記憶する復号鍵データ記憶手段(25)、および前記情報処理装置から与えられる 暗号化コマンドを、前記復号鍵データを用いて復号する復号手段(23a)を含む、メ モリ制御手段(23)を備える。
[0013] 前記情報処理装置は、前記半導体メモリの第 1の入出力端子部が接続され、前記 命令コードならびに前記アドレスデータ力 なるコマンドを出力し、かつ前記半導体メ モリから読み出されたデータが入力される第 2の入出力端子部(13)、前記半導体メ モリから読み出されたデータを処理し、かつ半導体メモリに与える前記コマンドを発生 する処理手段(11)、前記復号鍵データに関連する暗号鍵データを生成するための 暗号生成データを記憶するための暗号生成データ記憶手段(14)、前記暗号鍵元デ ータ記憶部から読み出された前記暗号鍵元データと前記暗号生成データとに基づ いて前記暗号鍵データを生成する暗号鍵データ生成手段(15)、前記暗号鍵データ 生成手段によって生成された前記暗号鍵データを一時記憶する一時記憶手段(12) 、および前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗 号ィ匕した前記暗号ィ匕コマンドを生成し (S 107)、当該暗号ィ匕コマンドを前記第 2の入 出力端子部へ出力する(S108)暗号ィ匕手段(16)を備える。
[0014] 前記メモリ制御手段は、さらに前記復号手段によって復号されたコマンドを用いて 前記データ記憶手段に記憶されているデータを読出す制御(S208)を行う。
[0015] この発明にかかるメモリ情報保護システムの第 1の態様によれば、情報処理装置が 、半導体メモリから読み出した情報に応じて生成した暗号鍵データを利用して、半導 体メモリとの通信を行う。よって常に同一の暗号鍵データを使用する場合や、暗号鍵 データ情報そのものを情報処理装置と半導体メモリの間で送受信する場合に比べて
、セキュリティシステムの解析を困難なものとし、データの不正な読み出しを有効に防 止することができる。
[0016] この発明にかかるメモリ情報保護システムの第 2の態様は、その第 1の態様であって 、前記暗号鍵データ生成手段は、前記暗号鍵元データを用いかつ前記暗号生成デ ータに基づ 、て前記復号鍵データと所定の関係を有する前記暗号鍵データを生成 する。
[0017] この発明にかかるメモリ情報保護システムの第 2の態様によれば、暗号鍵元データ に応じて、暗号鍵データを生成する。よってたとえ暗号鍵元データを読み取られても 、暗号鍵データを取得されることはない。
[0018] この発明にかかるメモリ情報保護システムの第 3の態様は、その第 1の態様又は第 2 の態様であって、前記暗号鍵データ記憶手段は、前記暗号鍵元データよりも十倍以 上長!/、前記暗号鍵データを記憶する。
[0019] この発明にかかるメモリ情報保護システムの第 3の態様によれば、情報処理装置で は半導体メモリからデータ容量の小さい暗号鍵元データのみを受信しながら、データ 長の長い暗号鍵データを生成して利用することができる。よって暗号鍵データの解析 を困難なものとし、データの不正な読み出しを有効に防止することができる。 [0020] この発明にかかるメモリ情報保護システムの第 4の態様は、その第 1の態様ないし第 3の態様の 、ずれかであって、前記暗号鍵データ生成手段および前記暗号化手段 は、前記処理手段によって兼用される。前記処理手段は、前記暗号鍵元データと前 記暗号生成データとを演算処理して前記暗号鍵データを求めて前記一時記憶手段 に書込み(S105)、当該暗号鍵データを用いて前記元コマンドを暗号化して(S107 )前記暗号化コマンドを出力する(S108)。
[0021] この発明にかかるメモリ情報保護システムの第 4の態様によれば、一の処理手段に よって、暗号鍵データ生成手段および暗号化手段の動作を実現する。よってそれぞ れが独立して 、る場合に比べて、簡単な構成でメモリ情報保護システムを実現するこ とがでさる。
[0022] この発明にかかるメモリ情報保護システムの第 5の態様は、その第 1の態様であって 、前記暗号生成データ記憶手段は、前記情報処理装置の外部から前記第 2の入出 力端子部を介してアクセスできないメモリ空間として配置される。
[0023] この発明にかかるメモリ情報保護システムの第 5の態様によれば、暗号化および復 号ィ匕に必要な情報を外部力 読み出せないようにすることで、セキュリティシステムの 解析を困難なものとすることができる。
[0024] この発明にかかるメモリ情報保護システムの第 6の態様は、その第 1の態様ないし第 5の態様のいずれかであって、前記復号鍵データ記憶手段は、前記暗号鍵元データ 記憶部に記憶されている暗号鍵の元になる前記暗号鍵元データとペアとなる前記復 号鍵データを記憶する。
[0025] この発明にかかるメモリ情報保護システムの第 7の態様は、その第 6の態様であって 、前記暗号鍵元データ記憶部に記憶されて!ゝる前記暗号鍵元データと前記復号鍵 データ記憶手段に記憶されて ヽる前記復号鍵データとは、前記データ記憶手段に 記憶されるプログラムの種類によって異なるペアの鍵データに選ばれる。
[0026] この発明にかかるメモリ情報保護システムの第 6の態様や第 7の態様によれば、半 導体メモリごとに、異なる暗号鍵元データと復号鍵データとから成るペアを利用するこ とで、全ての半導体メモリに同一の暗号鍵データを利用する場合に比べて、暗号鍵 データの解析を困難なものとすることができる。 [0027] この発明にかかるメモリ情報保護システムの第 8の態様は、その第 1の態様乃至第 7 の態様のいずれかであって、前記処理手段は、前記暗号化手段によって所望の量 の前記暗号化コマンドが出力された (S 112)後、前記一時記憶手段に記憶されて!、 る前記暗号鍵データを消去する(S113)。
[0028] この発明にかかるメモリ情報保護システムの第 8の態様によれば、暗号鍵データを 利用後に消去するので、暗号鍵データの解析を困難なものとすることができる。
[0029] この発明にかかるメモリ情報の保護方法の第 1の態様は、 CPU (l l)を含む情報処 理装置(10)と、前記情報処理装置に対して着脱自在に装着される半導体メモリ (20 )とから構成される情報処理システム(1)におけるメモリ情報の保護方法である。前記 半導体メモリは、保護すべきプログラムを含むデータを記憶するデータ記憶手段(21 )、命令ならびにアドレスデータ力 なるコマンドが前記情報処理装置力 与えられ、 かつ前記データ記憶手段から読み出されたデータを前記情報処理装置に与えるた めの第 1の入出力端子部(22)、暗号ィ匕のための元になる暗号鍵元データを記憶す る暗号鍵元データ記憶部(24)、前記情報処理装置に使用することが許容されたも のであることを確認するために用いられる復号鍵データを、前記情報処理装置によつ てアクセスできない態様で記憶する復号鍵データ記憶手段(25)、および前記情報 処理装置から与えられる暗号ィ匕コマンドを、前記復号鍵データを用いて復号する復 号手段(23a)を含む、メモリ制御手段(23)を備える。
[0030] 前記情報処理装置は、前記半導体メモリの第 1の入出力端子部が接続され、前記 命令ならびに前記アドレスデータ力もなるコマンドを出力しかつ前記半導体メモリから 読み出されたデータが入力される第 2の入出力端子部(13)、前記半導体メモリから 読み出されたデータを処理し、かつ半導体メモリに与える前記コマンドを発生する処 理手段(11)、前記暗号鍵元データを用いて前記復号鍵データに関連する暗号鍵デ ータを生成するための暗号鍵データ生成プログラムを記憶する暗号鍵生成プロダラ ム記憶手段(14)、および前記暗号鍵データを一時記憶する一時記憶手段(12)を 備える。
[0031] さらに、前記 CPUは、前記暗号鍵元データを用いかつ前記暗号鍵生成プログラム に基づいて暗号鍵データを生成する第 1のステップ (S104)と、前記第 1のステップ にお 、て生成された暗号鍵データを、前記一時記憶手段に一時記憶させる第 2のス テツプ(S105)と、前記処理手段によって発生されるコマンドを、前記暗号鍵データ を用いて暗号ィ匕した前記暗号化コマンドを発生し、前記第 2の入出力端子部へ出力 する第 3のステップ(S107, 108)を順次実行する。
[0032] 前記メモリ制御手段は、前記復号鍵データを用いて前記コマンドを復号する第 4の ステップ(S204)と、前記第 4のステップにおいて復号した前記コマンドが読出コード であるとき、当該コマンドに含まれるアドレスデータを前記データ記憶手段に与えて、 前記データ記憶手段のデータを読み出す第 5のステップ (S207, S208)を順次実 行する。
[0033] この発明にかかるメモリ情報の保護方法の第 1の態様によれば、情報処理装置が、 半導体メモリから読み出した情報に応じて生成した暗号鍵データを利用して、半導体 メモリとの通信を行う。よって常に同一の暗号鍵データを使用する場合や、暗号鍵デ ータ情報そのものを情報処理装置と半導体メモリの間で送受信する場合に比べて、 セキュリティシステムの解析を困難なものとし、データの不正な読み出しを有効に防 止することができる。
[0034] この発明にかかるメモリ情報の保護方法の第 2の態様は、その第 1の態様であって 、前記第 1のステップは、前記暗号鍵元データを用いかつ前記暗号鍵データ生成プ ログラムに基づいて前記復号鍵データと同じ前記暗号鍵データを生成するステップ を含む。前記第 3のステップは、前記メモリ制御手段が復号する前記復号鍵データと 同じ前記暗号鍵データで暗号ィ匕するステップを含む。
[0035] この発明にかかるメモリ情報の保護方法の第 2の態様によれば、暗号鍵元データに 応じて、暗号鍵データを生成する。よってたとえ暗号鍵元データを読み取られても、 暗号鍵データを取得されることはな 、。
[0036] この発明に力かる半導体メモリの第 1の態様は、暗号鍵データを用いて命令コード ならびにアドレスデータが暗号ィ匕された暗号ィ匕コマンドを発生するための情報処理 装置(10)に対して、着脱自在に装着される。そして前記情報処理装置によってァク セス可能なメモリ空間に割り当てられ、保護すべきプログラムを含むデータを記憶す るデータ記憶手段(21)と、前記情報処理装置によってアクセスできないメモリ空間に 割り当てられ、前記情報処理装置から供給される前記暗号化コマンドの復号化に必 要な復号鍵データを記憶する復号鍵データ記憶手段(25)と、前記情報処理装置に よってアクセス可能な空間に割り当てられ、前記復号鍵データに関連しかつ情報処 理装置が前記暗号鍵データを生成するために用いる暗号鍵元データを記憶する暗 号鍵元データ記憶部(24)と、前記情報処理装置から供給される前記暗号化コマンド を、前記復号鍵データを用いて復号化する復号化手段(23a)と、前記復号化手段に よって復号されたコマンドに含まれる前記命令コードが読出命令コードであることを判 断したとき(S206)は、読出信号を前記データ記憶手段に与えるとともに、当該コマ ンドに含まれる前記アドレスデータを読出アドレスとして前記データ記憶手段に与え る(S207)ことにより、前記データ記憶手段の記憶データを読出制御する(S208)読 出手段(23b)と、を備える。
[0037] この発明にかかる半導体メモリの第 1の態様によれば、情報処理装置が、半導体メ モリから読み出した情報に応じて生成した暗号鍵データを利用して、半導体メモリと の通信を行う。よって常に同一の暗号鍵データを使用する場合や、暗号鍵データ情 報そのものを情報処理装置と半導体メモリの間で送受信する場合に比べて、セキユリ ティシステムの解析を困難なものとし、データの不正な読み出しを有効に防止するこ とがでさる。
[0038] この発明にかかる半導体メモリの第 2の態様は、その第 1の態様であって、前記暗 号鍵元データ記憶部に記憶される暗号鍵元データと前記復号鍵データ記憶手段に 記憶される前記復号鍵データとは、前記データ記憶手段に記憶される前記プロダラ ムの種類によって、異なるペアに選ばれる。
[0039] この発明にかかる半導体メモリの第 2の態様によれば、半導体メモリごとに、異なる 暗号鍵元データと復号鍵データとから成るペアを利用することで、全ての半導体メモ リに同一の暗号鍵データを利用する場合に比べて、暗号鍵データの解析を困難なも のとすることができる。
[0040] この発明にかかる半導体メモリの第 3の態様は、その第 1の態様又は第 2の態様で あって、前記復号鍵データ記憶手段に記憶される復号鍵データは、前記暗号鍵元 データよりも十倍以上長いデータ長さに選ばれる。 [0041] この発明にかかる半導体メモリの第 3の態様によれば、情報処理装置では半導体メ モリからデータ容量の小さい暗号鍵元データのみを受信しながら、データ長の長い 暗号鍵データを生成して利用することができるため、暗号鍵データの解析を困難なも のとし、データの不正な読み出しを有効に防止することができる。
[0042] この発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによ つて、より明白となる。
図面の簡単な説明
[0043] [図 1]この発明の一の実施の形態に係るメモリ情報保護システムを示す図である。
[図 2]この発明の一の実施の形態に係るメモリ情報保護システムの動作を示すフロー チャートである。
[図 3]この発明の一の実施の形態に係るメモリ情報保護システムの動作を示すフロー チャートである。
発明を実施するための最良の形態
[0044] (メモリ情報保護システムの構成)
図 1は、この発明の一実施形態に係るメモリ情報保護システムを示すブロック図であ る。図 1において、メモリ情報保護システム 1は、情報処理装置 10と半導体メモリ 20と から構成される。
[0045] 先ず、メモリ情報保護システム 1の概要を説明すると、メモリ情報保護システム 1は、 半導体メモリ 20の記憶内容を、所定の情報処理装置 10以外の装置から不正に読み 出されることを防止することを目的とする。そのため、情報処理装置 10は、半導体メ モリ 20の記憶データを読み出す際に、半導体メモリ 20に供給すべき命令コードなら びにアドレスデータ力 なるコマンドを、暗号鍵データによって暗号化した暗号化コマ ンドを発生し、当該暗号ィ匕コマンドを半導体メモリ 20に与える。
[0046] 半導体メモリ 20は、情報処理装置 10から供給される暗号ィ匕コマンドを復号鍵デー タによって復号して元のコマンドを抽出し、復号後のコマンドが所定のコマンド (読出 命令コードと読出アドレスデータ力 なる読出コマンド)である場合にのみ、読出信号 と読出アドレスデータに従って、半導体メモリ 20内のコアメモリ(後述のデータ記憶部 21)に記憶されているデータを読み出す。 [0047] ここで、暗号ィ匕および復号ィ匕には所定の関係を有する鍵データ(例えば、共通の暗 号鍵データと復号鍵データ)を用いる必要がある。しかし、半導体メモリ 20内に暗号 鍵データを記憶しておき、その暗号鍵データを半導体メモリ 20から読み出して情報 処理装置 10に与えるように構成すると、暗号鍵データが不正に読み出されて解析さ れてしまう。
[0048] そこで、本発明のメモリ情報保護システム 1では、半導体メモリ 20側に暗号鍵デー タを生成するための元(又は種)となる比較的短いデータ長の暗号鍵元データ(又は 暗号鍵種データ)を記憶させておき、始めに暗号鍵元データを読み出し、情報処理 装置 10にお 、て暗号鍵元データに基づ!/、て比較的長!、データ長の暗号鍵データ を生成する。そのため、暗号鍵元データと復号鍵データがペアとなるように選ばれる 。このとき、情報処理装置 10によって生成される暗号鍵データが復号鍵データと所 定の関係、例えば同一となるように選ばれる。
[0049] そして、半導体メモリ 20は、従来の汎用マスク ROMに相等するメモリコア(図 1のデ ータ記憶部 21)内に、機密保護されるべきデータとして、ソフトウェアプログラムゃデ ータを記憶している。
[0050] この半導体メモリ 20は、例えばカードやカートリッジのような態様で情報処理装置 1 0に脱着自在に装着される。この半導体メモリ 20に格納されたソフトウェアプログラム やデータを利用するための情報処理装置 10としては、ノ ソコン、 PDA (Personal Digi tal Assistant)のような携帯情報端末装置や、画像処理装置が含まれる。その他にも 、半導体メモリ 20内に格納されるプログラムがゲームプログラムの場合は、ビデオゲ 一ム機ゃ携帯ゲーム機等の各種ゲーム装置に適用される。次に、この発明の実施形 態の詳細を説明する。
[0051] <半導体メモリ >
半導体メモリ 20は、データ記憶部(又はコアメモリ) 21と入出力端子 22の間にメモリ 制御回路 23を設けるとともに、この実施形態固有の構成として、暗号鍵元データ記 憶部 24と復号鍵データ記憶部 25から構成される。データ記憶部 21と入出力端子 22 は、従来公知の汎用のメモリと同様である。
[0052] データ記憶部 21は、マスク ROMのような不揮発性メモリであって、機密保護又は 不正読出からの保護の対象となるプログラムやデータ等を記憶して 、る。このデータ 記憶部 21は、マスク ROMに限らず、フラッシュメモリ, EP— ROM等でもよい。そして 、データ記憶部 21は、情報処理装置 10からメモリ制御回路 23 (より詳細にはメモリ制 御回路 23に備えられる、後述のコマンド判別'読出回路 23b)を介してアクセス可能 とされる。
[0053] 入出力端子 22は、後述の情報処理措置 10側の入出力端子 17と電気的に接続さ れる端子であり、半導体メモリ 20と情報処理装置 10との間でのデータの授受を可能 とする。この入出力端子 22は、コマンド入力端子とデータ出力端子を含むか、又はコ マンド入力とデータ入力を共通の複数の端子 (例えば 8ビット)で時分割的に使用す るようにしてちょい。
[0054] メモリ制御回路 23は、復号化回路 (復号化手段) 23aとコマンド判別'読出回路 23b を含んで構成される。復号ィ匕回路 23aは、情報処理装置 10から与えられる暗号化コ マンドを、後述の復号鍵データ記憶部 25に記憶されている復号鍵データを用いて復 号する。この復号ィ匕回路 23aの具体的な回路構成としては、 1つのデータ単位 (例え ば 1バイト又は所定バイト)でビット演算する回路を用いて、暗号化とは逆の演算処理 (復号処理)を行うものである。
[0055] 例えば、ビット演算を行う回路としては、論理演算回路 (AND, OR, NAND,イク スクルーシブ OR等)を用いて 1つのデータ単位 (例えば 1バイト又は所定バイト)で複 数ステップに渡って論理演算を行う回路がある。また、その他、コマンド復号回路とし て、ワンチップマイコンのような小規模の CPUを用いて簡易な復号アルゴリズムの演 算を行うちのでもよい。
[0056] 復号ィ匕回路 23aによって復号されたコマンドは、コマンド判別'読出回路 23bに入 力されて実行される。
[0057] コマンド判別'読出回路 23bは、復号されたコマンドを判別して、当該コマンドの種 類に応じた動作を行う機能を有する。具体的には、情報処理装置 10から供給されか つ復号ィ匕回路 23aによって復号されたコマンドが暗号鍵元データの読出コマンドで ある場合は、暗号鍵元データ記憶部 24に読出信号と当該記憶部 24に割り当てられ た読出アドレスデータを出力して、当該記憶部 24から暗号鍵元データを読み出させ る。
[0058] また、復号ィ匕回路 23aから与えられたコマンドがデータ記憶部 21の読出コマンドの 場合は、当該読出コマンドから読出命令コードと読出アドレスデータを抽出して、読 出信号と読出アドレスデータをデータ記憶部 21に与えて、データ記憶部 21に記憶さ れているデータを読み出す。
[0059] さらに、データ記憶部 21が書き込み読出し可能なメモリ(例えばフラッシュメモリ)で あって、復号ィ匕回路 23aから与えられたコマンドがデータ記憶部 21への書込コマンド の場合は、当該書込コマンドから書込命令コードと書込アドレスデータを抽出して、 書込信号と書込アドレスデータをデータ記憶部 21に与えて、その後で情報処理装置 10から供給される書込データをデータ記憶部 21に書き込む。この場合は、コマンド 判別'読出回路 23bは、コマンド判別'書込回路として働くことになる。
[0060] 暗号鍵元データ記憶部 24は、情報処理装置 10によってコマンドを暗号化する場 合の暗号鍵データを生成するための元 (又は種)となる暗号鍵元データを記憶する 記憶部であり、比較的短いデータ長さ(例えば数バイトから数十バイト)のデータを記 憶する。この暗号鍵元データ記憶部 24には、半導体メモリ 20から見て外部機器であ る情報処理装置 10から直接アクセス可能なメモリ空間が割り当てられる。
[0061] 復号鍵データ記憶部 25は、情報処理装置 10から半導体メモリ 20の記憶データを 読み出す際に供給 (又は入力)される暗号ィ匕コマンドを復号して、元のコマンドを得る ための復号鍵データを記憶している。この復号鍵データ記憶部 25は、外部から直接 アクセスすることができないメモリ空間に割り当てられ、復号ィ匕回路 23aによってのみ 読み出し可能に構成される。
[0062] また、復号鍵データ記憶部 25に記憶される復号鍵データは、暗号鍵元データ記憶 部 24に記憶されている暗号鍵元データとペアのデータであって、そのデータ長さが 暗号鍵元データよりも十倍以上長く選ばれる。その理由は、暗号鍵元データとペアに なるように定められた復号鍵データでなければ、情報処理装置 10から与えられる暗 号ィ匕コマンドを復号できないようにして、データ記憶部 21の機密保護を確保するとと もに、機密保護の強度を高めるためである。
[0063] また、復号鍵データのデータ長さが暗号鍵元データのデータ長さよりも長く選ばれ て!、るのは、一般に鍵データ長さの長 、方がセキュリティ強度を高くすることができる ためである。
[0064] 一方、暗号鍵元データのデータ長さを長くして、そのまま暗号鍵データとして利用 すると、半導体メモリ 20の外部から不正に暗号鍵データを取り出すことができ、セキュ リティ強度の低下を招く。そのため、半導体メモリ 20の中に記憶している暗号鍵元デ ータは暗号鍵データを生成するための元又は種となるデータ長さ(ワード長さ)の短 Vヽデータとし、たとえ暗号鍵元データを解析されても暗号鍵データを生成することを 困難なものとしている。
[0065] 上述の説明では、半導体メモリ 20に含まれる各回路部分は、 1チップのメモリに集 積化された場合を説明したが、この発明の技術思想はこのような実施形態に限定さ れるものではなぐデータ記憶部 21を汎用のマスク ROM等で構成し、その他の回路 部分を別の回路部品で構成しても良い。その場合でも、暗号ィ匕コマンドを用いている ので、データ記憶部 21に記憶されているデータの機密保護が図れる。
[0066] 半導体メモリ 20の製造段階において、暗号鍵元データ記憶部 24に格納する暗号 鍵元データを変更することが可能である。そして、暗号鍵元データを変更すれば、こ れに対応する復号鍵データも変更されることとなる。そのため、例えば、データ記憶 部 21に記憶されるプログラムやデータ等の種類ごとに、異なる暗号鍵元データと復 号鍵データを用いれば、半導体メモリ 20と情報処理装置 10との間のデータのやりと りを観測して得たコマンドも、暗号鍵元データと復号鍵データのペアの鍵に関するデ ータが変化するので、第三者の解析を困難にし、半導体メモリ 20のセキュリティ強度 を一層向上させることができる。
[0067] また、半導体メモリ 20は、本実施形態で説明する各種機能および動作の実現のた めに、従来製品と異なる複雑な構成や処理を必要としない。そのため、 CPUを処理 手段として利用する場合や、従来製品に比べて大幅なコストの上昇を伴うことがない
[0068] <情報処理装置 >
情報処理装置 10は、処理手段の一例の CPU11を含む。 CPU11には、一時記憶 部 12及び入出力端子 13が接続されるとともに、この実施形態固有の回路部分として 、暗号生成データ記憶部 14と暗号鍵データ生成部 15と暗号ィ匕回路 16とが接続され る。
[0069] 一時記憶部 12は、データを書込み読出し可能なメモリ、例えば RAMのような半導 体メモリ又はハードディスク等が用いられる。この一時記憶部 12は、半導体メモリ 20 から読み出された暗号鍵元データを記憶する記憶領域と、暗号鍵元データを用いて 生成された暗号鍵データを記憶する記憶領域と、半導体メモリ 20のデータ記憶部 21 から読み出されたデータ (例えばブロック単位のデータ)を記憶する読込データ記憶 領域と、その他のワーキングデータの記憶領域とを含む。一時記憶部 12の各記憶領 域は、情報処理装置 10の外部力もデータ読出し可能なメモリ空間に割り当てられる。
[0070] 入出力端子 13は、半導体メモリ 20の入出力端子 22と電気的に接続される接続端 子又はコネクタであり、入出力端子 22の端子数と同じ端子数であって同じピン配置( 又はピン間隔)に選ばれる。入出力端子 13には、 CPU11のアドレスバスとデータバ スが接続されるとともに、暗号ィ匕回路 16のコマンドバスが並列的に接続される。
[0071] 入出力端子 13は、好ましくは、アドレスバスとデータバス及び Z又はコマンドバスを 共用して端子数を少なくするために、所定ビット数の端子を用いてアドレスバス'デー タバスとコマンドバスを時分割的に使用しても良 、。
[0072] 暗号生成データ記憶部 14は、半導体メモリ 20の暗号鍵元データ記憶部 24から読 み出された暗号鍵元データを用いて、暗号鍵データを生成するための暗号生成デ ータを記憶している。暗号生成データ記憶部 14は、情報処理装置 10の外部からァク セスできな!/、メモリ空間に割り当てられる。
[0073] そして、暗号鍵データ生成部 15は、一時記憶部 12に記憶されている暗号鍵元デ ータと暗号生成データ記憶部 14に記憶されている暗号生成データとを使って所定の 演算処理を行うことにより、暗号鍵データを生成し、その暗号鍵データを一時記憶部 12の暗号鍵データ記憶領域へ書き込む。
[0074] このようにして、暗号鍵元データよりも長いデータ長さの暗号鍵データが情報処理 装置 10内で生成されて、一時記憶部 12に記憶されるので、半導体メモリ 20側に暗 号鍵データを記憶させる場合に比べて、暗号鍵データの解析を困難にして ヽる。
[0075] ここで、暗号鍵データ生成部 15によって生成された暗号鍵データは、半導体メモリ 20側の復号鍵データと所定の関係を有するデータ(例えば同一のデータ)であり、一 種の共通鍵となる。
[0076] ところで、前述のようにして生成された暗号鍵データは、 CPU11が演算処理を実 行してコマンドを発生し、半導体メモリ 20の記憶データを読み出す必要のある限り、 一時記憶部 12の所定の記憶領域に記憶保持される力 コマンドの出力を休止又は 停止したとき等に、必要に応じて消去しても良い。暗号鍵データを適宜のタイミングで 消去すれば、暗号鍵データを情報処理装置 10の外部から読み出される危険性を低 減できる。
[0077] 例えば、データ記憶部 21からのデータの読み出しは、ある程度まとまった単数又は 複数のブロック単位で読み出して、一時記憶部 12に格納させておき、そのブロックの データを処理している間は半導体メモリ 20にアクセスしない場合であれば、その間に 暗号鍵データを消去しておいても良い。そして、当該ブロックのプログラム処理が終 了後、再び半導体メモリ 20のデータを読み出す場合は、先に読み出した暗号鍵元 データを用いて再度暗号鍵データを生成すれば良 、。
[0078] このように、暗号鍵データが一時記憶部 12に記憶されている期間を短縮すれば、 暗号鍵データを不正に読み出されることを防止できる。
[0079] 暗号化回路 16は、一時記憶部 14から読み出された暗号鍵キーデータを利用して 、 CPU11から出力される半導体メモリ 20に供給するためのコマンドに所定の演算処 理を施すことによって、暗号ィ匕コマンドを生成する。
[0080] ここで、暗号化コマンドは、命令コードとアドレスデータと力もなり、 1つのコマンドが 複数バイトで構成される。暗号ィ匕回路 16によって暗号化された暗号化コマンドは、入 出力端子 13及び半導体メモリ 20側の入出力端子 22を介して復号ィ匕回路 23aに供 給される。
[0081] すなわち、情報処理装置 10の暗号化回路 16と半導体メモリ 20側の復号化回路 23 aとは対応関係にあり、暗号ィ匕回路 16によって暗号鍵データを用いて暗号ィ匕された コマンド力 復号ィ匕回路 23aによって暗号鍵データの元である暗号鍵元データとペア となる復号鍵データを用いて復号される。
[0082] 言い換えれば、暗号鍵データ生成部 15が暗号鍵元データを用いて暗号生成デー タに第 1段階の暗号化処理を行って暗号鍵データを作り、暗号ィ匕回路 16が暗号鍵 データを用いてコマンドを暗号ィ匕する第 2段階の暗号ィ匕処理を行っていると考えるこ とちでさる。
[0083] ところで、上述の実施態様では、暗号鍵データ生成部 15と暗号化回路 16をハード ウェアウェアとしての回路で構成した場合を説明したが、暗号鍵データ生成部 15と暗 号ィ匕回路 16の処理又は機能をプログラムによって実現し、そのプログラムを CPU11 に処理させることによって、ソフトウェア的に暗号鍵データの生成と、コマンドの暗号 化を行わせても良い。
[0084] このように、情報処理装置 10が、暗号鍵データを固定的に持たず、半導体メモリ 20 力 読み出されたデータ長さの短い暗号鍵元データ(又は暗号鍵種データ)を用い て、暗号鍵データを生成しているため、外部から暗号鍵データを読み取ること、ひい ては解析が困難となり、結果として半導体メモリ 20の記憶データの機密保護を図るこ とがでさる。
[0085] しかも、暗号鍵データの暗号生成に用いるデータは、外部からアクセスできない暗 号生成データ記憶部 14に記憶されて 、るので、たとえ暗号鍵元データを取得できて も、暗号鍵データを生成することはできず、半導体メモリ 20の記憶データの機密性を 確保できる。
[0086] <メモリ情報保護システムの動作 >
図 2および図 3は、メモリ情報保護システム 1の動作を説明するためのフローチヤ一 トである。図 2および図 3のフローチャートは、左側に情報処理装置 10の動作の流れ (ステップ 101〜 113)、右側に半導体メモリ 20の動作の流れ (ステップ 201〜 211 ) を示す。
[0087] 但し、半導体メモリ 20は、 CPUのような処理手段を含むものではなぐハードウェア としての回路による動作である力 情報処理装置 10の動作の流れに対応させて便宜 的にフローで示したものであることを指摘しておく。
[0088] 次に、図 1〜図 3を参照して、メモリ情報保護システム 1の具体的な動作を説明する [0089] 予め、半導体メモリ 20が情報処理装置 10に装着されて、それぞれの入出力端子 1 3と入出力端子 22が電気的に接続される。そして、情報処理装置 10の電源が投入さ れると、情報処理装置 10が起動するとともに、電源が半導体メモリ 20に供給されて、 システムとしての動作が開始する。
[0090] まず、ステップ(図 2では「S」と略記する) 101において、 CPU11が暗号鍵元データ 記憶部 24の読出コマンド (読出命令コードと読出アドレスデータを含むコマンド)を発 生して、半導体メモリ 20に与える。このときの読出コマンドは、暗号化されていないま まである。半導体メモリ 2がコマンドの入力があつたと判断すると (ステップ 201)、コマ ンド判別'読出回路 23bは供給されたコマンドが暗号鍵元データ記憶部 24の読出コ マンドであることを判別し、当該記憶部 24に対して読出信号と読出アドレスデータを 与える。暗号鍵元データ記憶部 24は、暗号鍵元データを読み出して、情報処理装 置 10へ与える(ステップ 202)。
[0091] CPU11は、ステップ 102において暗号鍵元データの入力のあったことを判断する と、ステップ 103において入力された暗号鍵元データを一時記憶部 12の暗号鍵元デ ータ記憶領域に書き込み、一時記憶させる。
[0092] ステップ 104において、 CPU11は暗号鍵元データと暗号生成データ記憶部 14に 記憶されている暗号生成データとに基づいて、演算処理を行って、暗号鍵データを 生成する。暗号鍵データを生成するプログラムは、例えば暗号生成データと共に、暗 号生成データ記憶部 14に記憶させておくことができる。ステップ 105において、生成 された暗号鍵データが一時記憶部 12の暗号鍵データ記憶領域に書き込まれ、一時
SC fedれる。
[0093] 続いて、ステップ 106において、 CPU11は半導体メモリ 20へ供給すべきコマンドを 発生する。ステップ 107において、 CPU11は一時記憶部 12に記憶されている暗号 鍵データを用いて当該コマンド (元コマンドともいう)を暗号ィ匕する(又は暗号ィ匕回路 1 6が暗号鍵データを用いて元コマンドを暗号ィ匕する)。
[0094] ステップ 108において、暗号ィ匕コマンドが出力されて、半導体メモリ 20に供給される 。そして、 CPU11は、ステップ 109において、半導体メモリ 20からの読出データがあ るまで待機する。
[0095] 半導体メモリ 20は、暗号ィ匕コマンドの入力に応じて以下の動作を行う(但し、フロー チャートに示す判断ステップの部分は、説明の便宜のために記載したもので、実際に はソフト処理ではなぐハード的に処理するものである)。すなわち、暗号化コマンドの 入力のあることに応じて (ステップ 203)、復号ィ匕回路 23aは復号鍵データを用いて暗 号ィ匕コマンドを復号する (ステップ 204)。
[0096] コマンド判別'読出回路 23bは復号後のコマンドを判別する (ステップ 205)。復号 後のコマンドが読出コマンドであるとき (ステップ 206)、コマンド判別'読出回路 23b は読出コマンドから読出命令コードと読出アドレスデータを抽出し、読出信号と読出 アドレスデータをデータ記憶部 21に与える (ステップ 207)。これに応じて、データ記 憶部 21は、指定された読出アドレスに記憶しているデータを読み出す。
[0097] ここで、データ記憶部 21の読出制御方法は、情報処理装置 10から 1番地毎に読出 コマンドを与える方法と、ブロック単位の読出コマンド (例えば、ブロック番号毎又はブ ロック番号 N番〜 M番等)を与える方法がある。この実施例では、ブロック単位の読出 しを説明する。その場合は、読出コマンドに含まれる読出アドレスとして、ブロック番号 (当該ブロックの先頭番地;上位ビットでブロックを指定)が与えられることになる。その ため、指定されたブロック番号に対応する記憶領域の各番地に記憶されて 、るデ一 タが、データ記憶部 21から順次読み出される。
[0098] 一方、 CPU11は、ステップ 109において半導体メモリ 20の読出データのあることを 判断し、ステップ 110において当該読出データを一時記憶部 12に記憶させる。そし て、ステップ 111において、指定したデータ長さのデータ読み出しがあった力否かが 判断され、指定したデータ長さのデータ読み出しが終了するまでステップ 109から 11 1の処理が繰り返される。その結果として、指定した全てのデータが読み出されて、一 時記憶部 12に記憶される。
[0099] その後、ステップ 112において、半導体メモリ 20のデータ読出しが終了した力否か 、言い換えれば必要なデータ量のメモリ読出しが終了した力否かが判断され、終了し ていなければステップ 109へ戻り、終了すればステップ 113へ進む。ステップ 113に おいて、一時記憶部 12に記憶されている暗号鍵データが消去される。その後、 CPU 11は、半導体メモリ 20から読み出したデータに基づいて、当該データの本来的な使 用目的のための処理を行う。 [0100] なお、上述の半導体メモリ 20側での読出コマンド力否かの判別 (ステップ 206)にお いて、読出コマンドでなぐ読出コマンド以外のコマンドであり、かつメモリ制御に関連 する本来的なコマンドであれば (ステップ 209)、本来的なコマンドに基づく処理又は 動作が行われる (ステップ 210)。
[0101] 一方、本来的なコマンドでもな 、場合 (ステップ 209)は、動作を停止する (ステップ 211)。これによつて、不正な読出し等のためのコマンドが与えられた場合は、動作を 停止し、データ記憶部 21のデータ読み出しを禁止し、データの機密保護を図ること ができる。
[0102] ところで、暗号鍵データを消去した後に、再度半導体メモリ 20の記憶データの読出 しを再開する必要が生じた場合は、上述のステップ 104へ戻って、暗号鍵データの 生成処理を行い、それ以降の処理を繰り返すことになる。なお、暗号鍵データの不正 読出しのリスクを考慮しないのであれば、上述のステップ 113の処理を省略しても良 い。
[0103] この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示 であって、この発明がそれに限定されるものではない。例示されていない無数の変形 例力 この発明の範囲力 外れることなく想定され得るものと解される。

Claims

請求の範囲
情報処理装置(10)と前記情報処理装置に対して着脱自在に装着される半導体メ モリ(20)とから構成されるメモリ情報保護システム(1)であって、
前記半導体メモリは、
保護すべきプログラムを含むデータを記憶し、前記情報処理装置によってァクセ スされるデータ記憶手段(21)、
前記情報処理装置から命令コードならびにアドレスデータ力 なるコマンドが与え られ、かつ前記データ記憶手段から読み出されたデータを前記情報処理装置に与 えるための第 1の入出力端子部(22)、
暗号化のための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部( 24
)、
前記情報処理装置に使用することが許容されたものであることを判断するために 用いられる復号鍵となる復号鍵データを、前記情報処理装置からアクセスできな 、態 様で記憶する復号鍵データ記憶手段(25)、および
前記情報処理装置から与えられる暗号化コマンドを、前記復号鍵データを用いて 復号する復号手段(23a)を含む、メモリ制御手段(23)を備え、
前記情報処理装置は、
前記半導体メモリの第 1の入出力端子部が接続され、前記命令コードならびに前 記アドレスデータ力もなるコマンドを出力し、かつ前記半導体メモリから読み出された データが入力される第 2の入出力端子部(13)、
前記半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与える前 記コマンドを発生する処理手段(11)、
前記復号鍵データに関連する暗号鍵データを生成するための暗号生成データを 記憶するための暗号生成データ記憶手段(14)、
前記暗号鍵元データ記憶部から読み出された前記暗号鍵元データと前記暗号生 成データとに基づ!/ヽて前記暗号鍵データを生成する暗号鍵データ生成手段(15)、 前記暗号鍵データ生成手段によって生成された前記暗号鍵データを一時記憶す る一時記憶手段(12)、および 前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗号化 した前記暗号ィ匕コマンドを生成し (S107)、当該暗号ィ匕コマンドを前記第 2の入出力 端子部へ出力する(S108)暗号化手段(16)を備え、
前記メモリ制御手段は、さらに前記復号手段によって復号されたコマンドを用いて 前記データ記憶手段に記憶されているデータを読出し制御する(S208)、メモリ情報 保護システム。
[2] 前記暗号鍵データ生成手段は、前記暗号鍵元データを用いかつ前記暗号生成デ ータに基づ 、て前記復号鍵データと所定の関係を有する前記暗号鍵データを生成 する、請求項 1に記載のメモリ情報保護システム。
[3] 前記暗号鍵データ記憶手段は、前記暗号鍵元データよりも十倍以上長!ヽ前記暗 号鍵データを記憶する、請求項 1に記載のメモリ情報保護システム。
[4] 前記暗号鍵データ生成手段および前記暗号化手段は、前記処理手段によって兼 用され、
前記処理手段は、前記暗号鍵元データと前記暗号生成データとを演算処理して前 記暗号鍵データを求めて前記一時記憶手段に書込み(S105)、当該暗号鍵データ を用いて前記コマンドを暗号ィ匕した(S107)前記暗号ィ匕コマンドを出力する(S108) 、請求項 1に記載のメモリ情報保護システム。
[5] 前記暗号生成データ記憶手段は、前記情報処理装置の外部から前記第 2の入出 力端子部を介してアクセスできな 、メモリ空間として配置される、請求項 1に記載のメ モリ情報保護システム。
[6] 前記復号鍵データ記憶手段は、前記暗号鍵元データ記憶部に記憶されている暗 号鍵の元になる前記暗号鍵元データとペアとなる前記復号鍵データを記憶する、請 求項 1な!、し請求項 5の 、ずれかに記載のメモリ情報保護システム。
[7] 前記暗号鍵元データ記憶部に記憶されて!ヽる前記暗号鍵元データと前記復号鍵 データ記憶手段に記憶されて ヽる前記復号鍵データとは、前記データ記憶手段に 記憶されるプログラムの種類によって異なるペアの鍵データに選ばれる、請求項 6に 記載のメモリ情報保護システム。
[8] 前記処理手段は、前記暗号化手段によって所望の量の前記暗号化コマンドが出力 された(SI 12)後、前記一時記憶手段に記憶されて!、る前記暗号鍵データを消去す る(S113)、請求項 1ないし請求項 5のいずれかに記載のメモリ情報保護システム。
CPU (11)を含む情報処理装置(10)と、前記情報処理装置に対して着脱自在に 装着される半導体メモリ (20)とから構成される情報処理システム(1)におけるメモリ情 報の保護方法であって、
前記半導体メモリは、
保護すべきプログラムを含むデータを記憶するデータ記憶手段(21)、 命令ならびにアドレスデータ力 なるコマンドが前記情報処理装置力 与えられ、 かつ前記データ記憶手段から読み出されたデータを前記情報処理装置に与えるた めの第 1の入出力端子部(22)、
暗号化のための元になる暗号鍵元データを記憶する暗号鍵元データ記憶部( 24
)、
前記情報処理装置に使用することが許容されたものであることを確認するために 用いられる復号鍵データを、前記情報処理装置によってアクセスできな 、態様で記 憶する復号鍵データ記憶手段(25)、および
前記情報処理装置から与えられる暗号化コマンドを、前記復号鍵データを用いて 復号する復号手段(23a)を含む、メモリ制御手段(23)を備え、
前記情報処理装置は、
前記半導体メモリの第 1の入出力端子部が接続され、前記命令ならびに前記アド レスデータ力もなるコマンドを出力しかつ前記半導体メモリから読み出されたデータ が入力される第 2の入出力端子部(13)、
前記半導体メモリから読み出されたデータを処理し、かつ半導体メモリに与える前 記コマンドを発生する処理手段(11)、
前記暗号鍵元データを用 ヽて前記復号鍵データに関連する暗号鍵データを生 成するための暗号鍵データ生成プログラムを記憶する暗号鍵生成プログラム記憶手 段(14)、および
前記暗号鍵データを一時記憶する一時記憶手段(12)を備え、
さらに、前記 CPUは、 前記暗号鍵元データを用いかつ前記暗号鍵生成プログラムに基づ 、て暗号鍵デ ータを生成する第 1のステップ(S104)と、
前記第 1のステップにお 、て生成された暗号鍵データを、前記一時記憶手段に 一時記憶させる第 2のステップ (S 105)と、
前記処理手段によって発生されるコマンドを、前記暗号鍵データを用いて暗号ィ匕 した前記暗号化コマンドを発生し、前記第 2の入出力端子部へ出力する第 3のステツ プ(S107, 108)を順次実行し、
前記メモリ制御手段は、
前記復号鍵データを用いて前記コマンドを復号する第 4のステップ (S 204)と、 前記第 4のステップにおいて復号した前記コマンドが読出コードであるとき、当該 コマンドに含まれるアドレスデータを前記データ記憶手段に与えて、前記データ記憶 手段のデータを読み出す第 5のステップ(S207, S208)を順次実行する、メモリ情報 の保護方法。
[10] 前記第 1のステップは、前記暗号鍵元データを用いかつ前記暗号鍵データ生成プ ログラムに基づいて前記復号鍵データと同じ前記暗号鍵データを生成するステップ を含み、
前記第 3のステップは、前記メモリ制御手段が復号する前記復号鍵データと同じ前 記暗号鍵データで暗号化するステップを含む、請求項 9に記載のメモリ情報の保護 方法。
[11] 暗号鍵データを用いて命令コードならびにアドレスデータ力 なる暗号ィ匕コマンドを 発生するための情報処理装置(10)に対して、着脱自在に装着される半導体メモリ (2 0)であって、
前記情報処理装置によってアクセス可能なメモリ空間に割り当てられ、保護すべき プログラムを含むデータを記憶するデータ記憶手段(21)と、
前記情報処理装置によってアクセスできないメモリ空間に割り当てられ、前記情報 処理装置力 供給される前記暗号ィ匕コマンドの復号ィ匕に必要な復号鍵データを記 憶する復号鍵データ記憶手段(25)と、
前記情報処理装置によってアクセス可能な空間に割り当てられ、前記復号鍵デー タに関連しかつ情報処理装置が前記暗号鍵データを生成するために用いる暗号鍵 元データを記憶する暗号鍵元データ記憶部(24)と、
前記情報処理装置から供給される前記暗号化コマンドを、前記復号鍵データを用 V、て復号化する復号化手段(23a)と、
前記復号ィヒ手段によって復号されたコマンドに含まれる前記命令コードが読出命 令コードであることを判断したとき(S206)は、読出信号を前記データ記憶手段に与 えるとともに、当該コマンドに含まれる前記アドレスデータを読出アドレスとして前記デ ータ記憶手段に与える(S207)ことにより、前記データ記憶手段の記憶データを読出 制御する (S208)読出手段(23b)と、
を備えることを特徴とする半導体メモリ。
[12] 前記暗号鍵元データ記憶部に記憶される暗号鍵元データと前記復号鍵データ記 憶手段に記憶される前記復号鍵データとは、前記データ記憶手段に記憶される前記 プログラムの種類によって、異なるペアに選ばれることを特徴とする、請求項 11に記 載の半導体メモリ。
[13] 前記復号鍵データ記憶手段に記憶される復号鍵データは、前記暗号鍵元データよ りも十倍以上長いデータ長さに選ばれる、請求項 11または請求項 12に記載の半導 体メモリ。
PCT/JP2005/015197 2004-11-19 2005-08-22 メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法 WO2006054380A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05772620A EP1830240A4 (en) 2004-11-19 2005-08-22 MEMORY INFORMATION PROTECTION SYSTEM, SEMICONDUCTOR MEMORY, AND METHOD FOR PROTECTING INFORMATION IN MEMORY

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004336418A JP4119882B2 (ja) 2004-11-19 2004-11-19 メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ
JP2004-336418 2004-11-19

Publications (1)

Publication Number Publication Date
WO2006054380A1 true WO2006054380A1 (ja) 2006-05-26

Family

ID=36406926

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/015197 WO2006054380A1 (ja) 2004-11-19 2005-08-22 メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法

Country Status (5)

Country Link
EP (1) EP1830240A4 (ja)
JP (1) JP4119882B2 (ja)
CN (1) CN100405335C (ja)
TW (1) TWI286688B (ja)
WO (1) WO2006054380A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411694A (zh) * 2010-09-22 2012-04-11 株式会社东芝 加密装置及存储器系统
CN106599735A (zh) * 2017-02-13 2017-04-26 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4630643B2 (ja) 2004-11-18 2011-02-09 株式会社メガチップス 半導体メモリおよび半導体メモリのテスト方法
JP5182787B2 (ja) * 2007-04-12 2013-04-17 株式会社メガチップス メモリシステム、メモリカード及びコンピュータシステム
JP5055490B2 (ja) * 2008-04-14 2012-10-24 株式会社メガチップス 半導体メモリ装置
CN101673248B (zh) * 2008-09-10 2012-06-13 群联电子股份有限公司 存储系统、控制器与数据保护方法
JP5319238B2 (ja) 2008-10-29 2013-10-16 真二 栗本 情報処理システム、情報処理装置、情報処理方法、および情報処理プログラム
CN101739757B (zh) * 2008-11-17 2012-11-21 群联电子股份有限公司 快闪存储器存储系统、控制器与数据保护方法
JP6005391B2 (ja) * 2012-05-01 2016-10-12 株式会社半導体エネルギー研究所 半導体装置
US20190042781A1 (en) * 2017-08-04 2019-02-07 Bitdefender IPR Management Ltd. Secure Storage Device
US10965456B2 (en) * 2017-09-25 2021-03-30 The Boeing Company Systems and methods for facilitating data encryption and decryption and erasing of associated information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0397089A (ja) * 1989-09-11 1991-04-23 Matsushita Electric Ind Co Ltd Icカードのアクセス制御方法
WO2001030020A1 (fr) * 1999-10-20 2001-04-26 Fujitsu Limited Systeme de cryptage de cle a longueur variable
JP2003304237A (ja) * 2002-04-10 2003-10-24 C4 Technology Inc 共通鍵生成方法、その共通鍵を用いる暗号方法および共通鍵管理方法並びに端末の固体番号による固体認証方法、並びにそれらの方法を実行するプログラム、及びそのプログラムを含む応用ソフトウェア

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0114522A3 (en) * 1982-12-27 1986-12-30 Synertek Inc. Rom protection device
US5483596A (en) * 1994-01-24 1996-01-09 Paralon Technologies, Inc. Apparatus and method for controlling access to and interconnection of computer system resources
JPH08328962A (ja) * 1995-05-31 1996-12-13 Mitsubishi Electric Corp 端末機と、当該端末機に接続されるメモリカードからなるシステム
US5802175A (en) * 1996-09-18 1998-09-01 Kara; Salim G. Computer file backup encryption system and method
CN100426263C (zh) * 1998-10-16 2008-10-15 松下电器产业株式会社 记录媒体装置和存取装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0397089A (ja) * 1989-09-11 1991-04-23 Matsushita Electric Ind Co Ltd Icカードのアクセス制御方法
WO2001030020A1 (fr) * 1999-10-20 2001-04-26 Fujitsu Limited Systeme de cryptage de cle a longueur variable
JP2003304237A (ja) * 2002-04-10 2003-10-24 C4 Technology Inc 共通鍵生成方法、その共通鍵を用いる暗号方法および共通鍵管理方法並びに端末の固体番号による固体認証方法、並びにそれらの方法を実行するプログラム、及びそのプログラムを含む応用ソフトウェア

Non-Patent Citations (1)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411694A (zh) * 2010-09-22 2012-04-11 株式会社东芝 加密装置及存储器系统
CN106599735A (zh) * 2017-02-13 2017-04-26 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器
CN106599735B (zh) * 2017-02-13 2023-10-24 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器

Also Published As

Publication number Publication date
JP4119882B2 (ja) 2008-07-16
TW200622623A (en) 2006-07-01
CN100405335C (zh) 2008-07-23
EP1830240A1 (en) 2007-09-05
TWI286688B (en) 2007-09-11
JP2006146608A (ja) 2006-06-08
CN1771484A (zh) 2006-05-10
EP1830240A4 (en) 2009-01-14

Similar Documents

Publication Publication Date Title
WO2006054380A1 (ja) メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法
CN106599735B (zh) 数据保护装置、方法以及存储控制器
US6158004A (en) Information storage medium and security method thereof
US8015416B2 (en) Memory information protection system and methods
EP2728509B1 (en) Semiconductor Device and Encryption Key Writing Method
US8170205B2 (en) Processor apparatus
EP0905942B1 (en) Decrypting device
US20030163717A1 (en) Memory card
US20040177257A1 (en) Data processing device and data processing method
CN103824032A (zh) 在微控制器中用于数据安全性处理的方法和装置
JPH09259045A (ja) メモリカードのセキュリティシステム装置及びそのメモリカード
US7076667B1 (en) Storage device having secure test process
WO2000057278A1 (en) Information processing device
CN111488630A (zh) 可配置安全存储区域的存储装置及其操作方法
JPH10124399A (ja) Icメモリカード
JPS63293637A (ja) デ−タ保護用マイコン
CN113343215A (zh) 嵌入式软件的授权和认证方法及电子设备
JP3034118B2 (ja) Icカードシステム及びicカード
JPH1055273A (ja) ソフトウェア保護装置
JPH09179949A (ja) 携帯可能情報記録媒体とそのリーダライタ装置
JPS63211049A (ja) 携帯可能電子装置
JP3797531B2 (ja) ディジタルデータの不正コピー防止システム
JPH0644142A (ja) Icカードおよび情報処理装置
JPH08315089A (ja) Icカード用端末
JPH06195268A (ja) Icメモリカード及びそのデータ保護方法及び装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 20058001728

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005772620

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005772620

Country of ref document: EP