WO2006115213A1 - 回路更新システム - Google Patents
回路更新システム Download PDFInfo
- Publication number
- WO2006115213A1 WO2006115213A1 PCT/JP2006/308439 JP2006308439W WO2006115213A1 WO 2006115213 A1 WO2006115213 A1 WO 2006115213A1 JP 2006308439 W JP2006308439 W JP 2006308439W WO 2006115213 A1 WO2006115213 A1 WO 2006115213A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- design data
- circuit
- reconfigurable
- processing apparatus
- unit
- Prior art date
Links
- 238000013461 design Methods 0.000 claims abstract description 458
- 238000013500 data storage Methods 0.000 claims abstract description 54
- 239000000284 extract Substances 0.000 claims abstract description 11
- 230000010365 information processing Effects 0.000 claims description 95
- 238000000605 extraction Methods 0.000 claims description 77
- 238000003860 storage Methods 0.000 claims description 50
- 238000005457 optimization Methods 0.000 claims description 47
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims 3
- 230000006870 function Effects 0.000 description 54
- 238000000034 method Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 14
- 239000011159 matrix material Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000013075 data extraction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Definitions
- the present invention relates to a technique for updating a circuit mounted in a device.
- the device that plays the content performs the decryption process to decrypt the encrypted content, but the implementation of the encryption method in the device also implements the required processing speed and tamper resistance viewpoint in hardware. There are many cases.
- Patent Document 2 a database that stores an algorithm file for updating a circuit is held inside the device, and the algorithm file is acquired from the database according to an instruction from the outside. Thus, a technique for updating the circuit is disclosed.
- Patent Document 1 Japanese Patent Laid-Open No. 10-320191
- Patent Document 2 JP-A-10-55135
- the present invention provides an information processing apparatus, which includes a plurality of logical blocks, and includes a logic change of each logical block and a connection change between the logical blocks.
- First design data indicating reconfigurable means capable of reconfiguring a circuit, logic of a logic block indicating the first circuit currently configured in the reconfigurable means, and connection between the logic blocks.
- Extraction means for extracting from the reconfigurable means, and output means for outputting second design data indicating the logic of the logical block indicating the second circuit and the connection between the logical blocks to the reconfigurable means
- the reconfigurable means reconfigures the second circuit based on the second design data.
- the above-mentioned “reconfigurable means” corresponds to the reconfigurable section of each embodiment described below.
- the “extraction means” has the function of the extraction unit of each embodiment.
- the “output means” is responsible for the function of the update unit of each embodiment.
- the first design data can be extracted by the extraction means. Therefore, the information processing apparatus is in a state where the reconfigurable means implements the first circuit based on the first design data. It is not necessary to store the first design data inside. Therefore, the storage capacity in the device can be saved and the storage capacity can be used effectively.
- the information processing apparatus stores the second design data, and when the second design data is output to the reconfigurable means by the design data storage means and the output means, Deleting means for deleting the second design data from the design data storage means; and writing means for writing the first design data extracted by the extraction means into the design data storage means. It may be configured as ⁇ .
- design data storage means is responsible for its function by the design data storage unit of each embodiment described below.
- the “deleting means” and “writing means” have the functions of the design data storage unit of each embodiment.
- the design data storage means powers the second design data by deleting the second design data, so that the design data stored in the design data storage means can be stored. The amount of data can be reduced.
- the first design data is written to the design data storage means by the writing means.
- the design data corresponding to the circuit implemented by the reconfigurable means is stored in the design data storage. The data amount of the design data storage means is reduced as compared with the prior art that required all design data to be held in the design data storage means. It becomes.
- the information processing apparatus includes an encryption unit that encrypts the first design data extracted by the extraction unit, and the writing unit includes the encrypted first design data. May be configured to be written in the design data storage means.
- the above-mentioned “encryption means” has the function of the encryption units of the following embodiments. Further, the second design data stored in the design data storage means is encrypted, and the information processing apparatus includes decoding means for decrypting the encrypted second design data, The output means may be configured to output the second design data decoded by the decoding means to the reconfigurable means.
- decoding means has the function of a decoding unit according to the following embodiment.
- the first design data and the second design data stored in the design data storage means are encrypted, and the design data storage means is accessed from the outside, and the first design data and the second design data are stored. Even if it is leaked, it is possible to prevent unauthorized use.
- the decoding means since the decoding means is provided, the decoded first design data and second design data can be used for circuit reconfiguration in the reconfigurable means.
- the information processing apparatus includes key information storage means that securely stores key information corresponding to each design data, and the encryption means includes the first information from the key information storage means.
- First key information corresponding to design data is read out, the first design data is encrypted based on the read out first key information, and the decryption means receives the second design data from the key information storage means. Read the corresponding second key information, and read the second key information Based on the above, the second design data may be decrypted.
- the key information used in the encrypting means and the decrypting means is unique to each design data, and the safety is improved as compared with the case where it is encrypted with the same key information. Furthermore, each key information is securely stored in the key information storage means, and even if the design data storage means is accessed by an external force and the first and second design data are leaked, the key information is stored. Acquisition is difficult, and the first and second design data can be prevented from being used illegally.
- the information processing apparatus further includes key information generation means for generating the key information corresponding to each design data, and the key information generated by the key information generation means is stored in the key information. It may be configured to write to the storage means.
- the information processing apparatus is further used in the configuration of the first circuit in the reconfigurable means, and holds an internal state indicating an internal state indicating a position of a logic block;
- the internal state held by the internal state holding means, the first design data extracted by the extraction means, and a second function different from the first function achieved by the first circuit are achieved.
- Optimization means for generating the second design data that enables optimization of the reconfigurable means from third design data that is design data of the circuit to be performed, and the output means includes the output means
- the second design data generated by the optimization unit may be output to the reconfigurable unit.
- the internal state holding means is used for the position of the logic block used in the circuit configuration for achieving the first function and the circuit configuration for achieving the second function. Create new internal information that indicates the location of the V and logical block and store it.
- the reconfigurable means of the information processing apparatus has the first and second functions that do not replace the first circuit that achieves the first function with the second circuit that has a different function. It is possible to reconfigure the new second circuit to be achieved. Furthermore, since the internal state holding means holds the state information, the circuit can be reconfigured so that the logic block of the reconfigurable means is optimized.
- the design data (that is, the first design data and the second design data) whose circuit configuration is realized by the reconfigurable means is stored in the design data storage means. It is possible to reduce the amount of data stored in the design data storage means.
- the internal state holding means holds information indicating the position of the logical block corresponding to each function.
- the extraction means can individually extract design data corresponding to the first function and design data corresponding to the second function.
- the information processing apparatus further includes an internal state holding unit which holds an internal state indicating a position of a logic block used in the configuration of the first circuit in the reconfigurable unit.
- the extraction means may be configured to selectively extract the first design data from the reconfigurable means based on the internal state held by the internal state holding means.
- the extraction unit can perform the extraction process efficiently by referring to the internal state when extracting the first design data.
- the information processing apparatus is connected to an external device via a network, and further, the internal state held in the internal state holding unit, and the extraction unit extracted by the extraction unit Transmission means for transmitting first design data and third design data, which is design data of a circuit that achieves a function different from that of the first circuit, to the external device; and from the external device, the reconfigurable means A receiving means for receiving the second design data that can be optimized may be provided.
- the reconfigurable means of the information processing apparatus includes the first and second functions that do not replace the first circuit that achieves the first function with the second circuit that has a different function. It is possible to reconfigure a new second circuit that achieves the above. Furthermore, since the internal state holding means holds the state information, the logical block of the reconfigurable means is optimized. The circuit can be reconfigured.
- the first circuit configured in the reconfigurable means based on the first design data achieves a first function
- the information processing apparatus is configured to extract the first circuit extracted by the extracting means.
- the second function that achieves the first and second functions is achieved from the design data and the third design data that is the design data for configuring the third circuit. It may be configured to include design data conversion means for generating the second design data for configuring two circuits.
- the reconfigurable means of the information processing apparatus does not replace the first circuit that achieves the first function with the second circuit that has a different function. It is possible to reconfigure a new second circuit that achieves the above. Even in this case, the design data (that is, the first design data and the second design data) in which the circuit configuration is realized by the reconfigurable means must be stored in the design data storage means. Therefore, the data amount of the design data storage means can be reduced.
- the information processing apparatus further includes medium input / output means for inputting / outputting information to / from an externally connected recording medium, and the output means records the second design data.
- the second data is acquired from the recorded recording medium via the medium input / output means, and is output to the reconfigurable means.
- the writing means is connected to the recording medium via the medium input / output means. In addition, it may be configured to write the first design data!
- the second design data when the second design data is output to the reconfigurable means by the output means, the second design data is deleted from the recording medium, whereby the design data data recorded by the recording medium is deleted. The amount can be reduced.
- the first design data is written to the recording medium by the writing means. Since the information processing apparatus includes the extracting means, the design data corresponding to the circuit implemented by the reconfigurable means is There is no need to record on a recording medium.
- the information processing apparatus includes an encryption unit that encrypts the first design data extracted by the extraction unit, and the writing unit includes the encrypted first design data. Data may be written to the recording medium.
- the second design data stored in the recording medium is encrypted
- the information processing apparatus includes a decryption unit that decrypts the encrypted second design data
- the output unit May be configured to acquire the second design data decoded by the decoding means and output the second design data to the reconfigurable means.
- the first design data and the second design data recorded on the recording medium are encrypted, and the recording medium is accessed by an unauthorized user. Even if it is leaked, it can be prevented from being used illegally. Further, by providing the decoding means, the decoded first design data and second design data can be used for circuit reconfiguration in the reconfigurable means.
- FIG. 1 is a functional block diagram showing a functional configuration of an information processing apparatus 10 that is a first embodiment of the present invention.
- FIG. 2 is a diagram showing an outline of a reconfigurable unit 101.
- FIG. 3 is a diagram showing an outline of a logical block LB1 (121).
- FIG. 4 is a diagram showing an outline of (a) switch matrix 131. (b) It is a figure which shows the internal structure of a transistor switch group.
- FIG. 5 is a diagram showing a data structure of a design data table 200.
- FIG. 6 is a diagram showing a data structure of a design data table 210.
- FIG. 7 is a diagram showing a data configuration of a key table 300.
- FIG. 8 is a flowchart showing the overall operation of the information processing apparatus 10.
- FIG. 9 is a flowchart showing an operation of design data extraction processing by the extraction unit 103.
- FIG. 10 is a functional block diagram showing a functional configuration of an information processing apparatus 10a according to the second embodiment of the present invention.
- FIG. 11 is a diagram showing a data configuration of state information 400 stored in internal state storage unit 108a.
- FIG. 12 is a diagram showing a data configuration of state information 410 stored in internal state storage unit 108a.
- FIG. 13 is a flowchart showing the overall operation of the information processing apparatus 10a.
- FIG. 14 is a diagram showing a configuration of a circuit update system 1 according to a third embodiment of the present invention.
- FIG. 15 is a flowchart showing the overall operation of the circuit update system 1.
- the information processing apparatus 10 is an apparatus that includes a device that can reconfigure a circuit based on design data, and updates the circuit as required.
- FIG. 1 is a functional block diagram functionally showing the configuration of the information processing apparatus 10.
- the information processing apparatus 10 includes a reconfigurable unit 101, a design data storage unit 102, an extraction unit 103, a key storage unit 104, an encryption unit 105, a decryption unit 106, and an update unit. Consists of 107.
- the information processing apparatus 10 is a computer system including a microprocessor, a ROM, a RAM, a hard disk unit, and the like, and includes a RAM or a hard disk unit.
- the function is achieved by the microprocessor executing the computer program stored in the network.
- FIG. 2 is a diagram showing an outline of the reconfigurable unit 101. As shown in FIG.
- Reconfigurable part 101 consists of logical block LB1 (121), logical block LB2 (122), logical block LB3 (123), logical block LB4 (124), logical block LB5 (125), logical block LB6 (126), The logical block LB7 (127), the logical block LB8 (128), the logical block LB9 (129), the 16 switch matrices 131 to 146, and the wiring group force connecting each logical block and each switch matrix are also configured.
- FIG. 3 is a diagram showing the inside of the logical block LB1 (121).
- the logical blocks LB2 (122) to LB9 (129) have the same configuration.
- the logical block LB1 (121) includes a lookup table (hereinafter referred to as “LUT”) 151, LUT152, LUT153, flip-flop 154, and flip-flop 155 force.
- the LUT 151 and the LUT 153 have a configuration of 4 inputs and 1 output
- the LUT 152 has a configuration of 3 inputs and 1 output, but this is an example, and the configuration is not necessarily limited thereto.
- each logical block is composed of a small SRAM.
- FIG. 4 (a) is a diagram showing the configuration of the switch matrix 131.
- the switch matrixes 132 to 146 have the same configuration.
- the switch matrix 131 includes transistor switch groups 161, 162, 163, and 164 that are arranged at the intersections of the vertical wiring channels and the horizontal wiring channels that form the wiring group.
- FIG. 4B is a diagram showing a configuration of the transistor switch group 161.
- the transistor switch groups 162 to 164 have the same configuration.
- the transistor switch group 161 is composed of six transistor switches 171-176, and each transistor switch is set to ON or OFF using SRAM.
- design data a bit string including LUT setting values of each logic block and information indicating ONZOFF of each transistor switch.
- the reconfigurable unit 101 changes the setting value of each LUT and the ON / OFF setting of the transistor switch based on the input design data.
- various circuits are configured or reconfigured. Note that the circuit configuration and reconfiguration in the reconfigurable unit 101 can be realized by a known technique, and thus detailed description thereof is omitted.
- the design data storage unit 102 has a function of storing and managing the design data table.
- FIG. 5 is a diagram showing a data configuration of the design data table 200 which is an example of the design data table.
- the design data table 200 includes a plurality of design data information 201, 202,... 203, 204, 205, etc., and each design data information includes a design data ID and an encrypted design. It consists of data.
- the design data ID is an identifier for uniquely identifying the design data and the encryption key design data generated by encrypting the design data.
- Encrypted design data is generated by design data identified by the associated design data ID using the encryption key algorithm E using the key data unique to the design data as the encryption key.
- Encrypted data An example of the encryption algorithm E is D ES (Data Encryption Standard).
- design data whose design data ID is “A” is described as “ARC-A”
- design data whose design data ID is “B” is described as “ARC-B”.
- the encrypted design data generated by encrypting the design data ARC-A is "Enc- ARC-A”
- the encrypted design data generated by encrypting the design data "ARC-B” is "Enc- ARC—B ”etc.
- the design data information 201 includes a design data ID “A” and encrypted design data “Enc—ARC—A”.
- the encrypted design data “Enc_ARC_A” is encrypted data generated by encrypting the design data “ARC_A”.
- the design data “ARC-A” is data necessary for reconfiguring the circuit in the reconfigurable unit 101. Specifically, as described above, each LUT in the reconfigurable unit 101 is designed. This is a bit string that indicates the set value and ONZOFF of each transistor switch. [0039]
- the design data storage unit 102 reads, when certain cipher design data is read by the decryption unit 106, which has received an instruction from the update unit 107, for reconfiguration of the circuit by the reconfigurable unit 101.
- the design data information including the encrypted encryption design data is deleted from the design data table.
- the design data storage unit 102 receives the encrypted design data and the design data ID from the encryption unit 105 that has received the design data extracted by the extraction unit 103.
- Design data information consisting of the data ID is generated, and the design data information is stored in the design data table.
- the design data storage unit 102 stores the design data table 200 shown in FIG. 5 and the encryption key design data “Enc—ARC—A” is read out in this state, the design data table 200 The design data information 201 is deleted, and the design data table 210 shown in FIG. 6 is obtained.
- the encrypted design data “Enc—ARC—V” is received from the encryption unit 105, the design data information 206 including the design data ID “V” and the encrypted design data “Enc—ARC—V” is generated. And stored in the design data table 210.
- the extraction unit 103 has a function of extracting design data from the circuit configured by the reconfigurable unit 101 when a circuit update request is received via an input device such as an input device (not shown).
- the extraction unit 103 also extracts LUTs for each logical block force of the reconfigurable unit 101, and further extracts information indicating ON / OFF of each transistor switch from each switch matrix.
- the extraction unit 103 outputs the design data extracted from the reconfigurable unit 101 to the encryption unit 105 together with the design data ID of the design data. It is assumed that the extraction unit 103 already knows the design data ID of the design data extracted from the reconfigurable unit 101.
- the key storage unit 104 stores a key table 300 shown in FIG. As shown in the figure, the key table 300 includes a plurality of pieces of key information 301, 302,..., 303,. The total data ID and key data are associated with each other.
- the key information 303 includes a design data ID “V” and key data “K-V”. This is because the key data used for encrypting the design data “ARC—V” identified by the design data ID “V” and decrypting the encrypted design data “Ecn—ARC—V” is “K—V”. It is shown that.
- the key data “ ⁇ —V” is, for example, 64-bit data used as a key for DES encryption and decryption.
- the key storage unit 104 in this specification is tamper resistant.
- the tamper resistant mounting method is not particularly limited!
- the encryption unit 105 has an encryption function for converting plaintext into ciphertext.
- the encryption unit 105 when receiving the design data and the design data ID from the extraction unit 103, the encryption unit 105 reads out the key data corresponding to the received design data ID from the key storage unit 104.
- the encryption key unit 105 uses the read key data as an encryption key, encrypts the design data by applying the encryption key algorithm E, and generates encrypted design data.
- the encryption unit 105 outputs the generated encryption key design data to the design data storage unit 102 together with the design data ID.
- the encryption key unit 105 receives the design data “ARC-V” and the design data ID “V” from the extraction unit 103.
- the encryption key unit 105 specifies key information 303 including the received design data ID “V” from the key table 300 stored in the key storage unit 104.
- the encryption key unit 105 reads the key data “K_V” from the key information 303.
- the encryption key unit 105 uses the key data “K—V” as an encryption key, encrypts “ARC—V”, and generates “Enc—ARC—V”.
- the decryption unit 106 has a decryption function for converting ciphertext into plaintext.
- the decryption unit 106 when receiving the decryption request including the design data ID from the update unit 107, the decryption unit 106 reads out the key data corresponding to the received design data ID from the key storage unit 104. Further, the decryption unit 106 reads out the encrypted design data corresponding to the received design data ID from the design data storage unit 102. The decryption unit 106 reads the read key data. Used as a decryption key, decryption algorithm D is applied to the encrypted design data and decrypted to generate design data. The decoding unit 106 outputs the generated design data to the update unit 107.
- the decryption algorithm D is an algorithm for converting the ciphertext encrypted by the encryption key algorithm E into plaintext.
- Decryption unit 106 identifies key information 301 including received design data ID “A” from key table 300 stored in key storage unit 104.
- the decryption unit 106 reads the key data “K_A” from the key information 301.
- Decryption section 106 uses key data “K_A” as the decryption key, decrypts “Enc_ARC_A”, and generates “ARC_A”.
- the update unit 107 has a function of outputting new circuit design data to the reconfigurable unit 101 when a circuit update request is received via an input device such as an input device (not shown).
- the update unit 107 instructs the decryption unit 106 to decrypt the encrypted design data identified by the received design data ID.
- the updating unit 107 receives the design data decoded by the decoding unit 106, and outputs the received design data to the reconfigurable unit 101.
- the updating unit 107 when receiving the design data ID identified by the design data “A”, the updating unit 107 outputs the design data ID “A” to the decoding unit 106. Further, the updating unit 107 receives the design data “ARC-A” from the decoding unit 106 and outputs the received design data “ARC_A” to the reconfigurable unit 101.
- a circuit update request is generated (step S101), and the extraction unit 103 and the update unit 107 accept the circuit update request.
- the extraction unit 103 and the update unit 107 accept a circuit update request via input means such as an input device.
- the update unit 107 inputs The design data ID is received together with the circuit update request through the means.
- the update unit 107 Updating the circuit update request including the design data ID, the update unit 107 notifies the decryption unit 106 of the design data ID, and instructs the decryption of the encrypted design data identified by the design data ID.
- the decryption unit 106 that has received the instruction from the update unit 107 reads out the cipher design data identified by the design data ID from the design data storage unit 102 (step S102). Next, the decryption unit 106 reads the key data associated with the design data ID from the key storage unit 104 (step S 103).
- the design data storage unit 102 deletes the design data information including the encrypted design data read in step S102 from the design data table (step S104).
- the decryption unit 106 decrypts the design data by applying the decryption algorithm D to the encryption key design data read in step S102, using the key data read in step S103 as a decryption key (step S 105).
- the decryption unit 106 outputs the decrypted design data to the update unit 107.
- the updating unit 107 Upon receiving the design data from the decoding unit 106, the updating unit 107 transfers the received design data to the reconfigurable unit 101 (step S106).
- the reconfigurable unit 101 may be configured to have a memory for temporarily storing the design data transferred from the update unit 107.
- the extraction unit 103 performs a process of extracting design data of a circuit currently configured in the reconfigurable unit 101 (step S107). Details of the design data extraction process will be described later.
- Extraction unit 103 outputs the extracted design data to encryption unit 105.
- the encryption unit 105 receives the design data from the extraction unit 103 (step S108), and further receives the key data associated with the design data ID for identifying the design data received in step S108 from the key storage unit 104. Read (step S109).
- the cryptographic key unit 105 generates cryptographic key design data by applying the cryptographic key algorithm E to the design data received in step S108, using the key data read in step S109 as a cryptographic key (step S109). S 110).
- the encryption key part 105 generates the generated encryption design data.
- the design data ID are output to the design data storage unit 102.
- the design data storage unit 102 generates design data information in which the received encryption key design data and the design data ID are associated with each other, and writes the generated design data information in the design data table (step Sll).
- the reconfigurable unit 101 reconfigures the circuit by setting the value of each SRAM based on the design data received in step S 106 (step S 112).
- step S107 the transfer process of step S106 may be performed.
- FIG. 9 is a flowchart showing an operation of design data extraction processing by the extraction unit 103. The operation shown here is the details of step S107 in FIG.
- the extraction unit 103 repeats steps S 1001 to S 1003 for each logical block of all logical blocks LB1 (121) to logical block LB9 (129) included in the reconfigurable unit 101 ( Step S 1001).
- step S1002 the extraction unit 103 extracts the value of the LUT from the logic block force and the like.
- Step S1002 When the extraction unit 103 extracts LUTs for all the logical blocks, the extraction unit 103 ends the repetition (step S1003).
- Step S1004 the extraction unit 103 repeats Steps S1004 to S1010 for each of the switch matrices 131 to 146 included in the reconfigurable unit 101 (Step S1004).
- step S1005 the extraction unit 103 repeats step S1005 to step S1009 for each transistor switch group for all transistor switch groups included in each switch matrix (step S1005).
- Step S 1006 the extraction unit 103 repeats Steps S 1006 to S 1008 for all the transistor switches included in each transistor switch group (Step S 1006).
- step S1006 the extraction unit 103 extracts a memory value indicating ONZOFF of the transistor switch (step S1007).
- the extraction unit 103 ends the repetition for each transistor switch (step S 1008).
- step S1007 the repetition for each transistor switch group is terminated (step S1009).
- step S1010 the repetition for each switch matrix is terminated.
- the information processing apparatus 10a includes a device capable of reconfiguring a circuit based on design data, as in the information processing apparatus 10 of the first embodiment, but the information processing apparatus 10a is included in the information processing apparatus 10. In addition to the functions, it has the function to optimize circuits configured with reconfigurable devices.
- FIG. 10 is a functional block diagram showing a functional configuration of the information processing apparatus 10a.
- the information processing apparatus 10a includes a reconfigurable unit 101a, a design data storage unit 102a, an extraction unit 103a, a key storage unit 104a, an encryption unit 105a, a decryption unit 106a, an update unit 107a,
- the internal state storage unit 108a and the optimization unit 109a are configured.
- the difference from the information processing apparatus 10 is that an internal state storage unit 108a and an optimization unit 109a are provided.
- the information processing apparatus 10a is a computer system including a microprocessor, ROM, RAM, a hard disk unit, and the like, and the microprocessor stores a computer program stored in the RAM or the hard disk unit. This function is achieved by executing.
- the reconfigurable unit 101a, the design data storage unit 102a, the extraction unit 103a, the key storage unit 104a, the encryption unit 105a, the decryption unit 106a, and the update unit 107a are reconfigurations that are components of the information processing apparatus 10. Since it has the same configuration and function as the possible unit 101, the design data storage unit 102, the extraction unit 103, the key storage unit 104, the encryption unit 105, the decryption unit 106, and the update unit 107, description thereof will be omitted.
- the internal state storage unit 108a and the optimization unit 109a, which are components unique to the information processing apparatus 10a, will be described.
- the internal state storage unit 108a has a function of storing the internal state of the reconfigurable unit 101a.
- the internal state storage unit 108a stores status information indicating which logical block is used for circuit configuration among a plurality of logical blocks included in the reconfigurable unit 101a. I remember it.
- FIG. 11 is a diagram illustrating a data configuration of state information 400 which is an example of state information.
- the state information 400 is configured by associating logical blocks LB1 and LB2 with a design data ID “A”. This indicates that the logic block LB1 and the logical block LB2 in the reconfigurable part 101a are configured based on the design data whose design data ID is “A”! /
- the design data ID is “A”! /
- the internal state storage unit 108a When the circuit configuration in the reconfigurable unit 101a is updated, the internal state storage unit 108a generates new state information, and replaces the state information stored so far with a new state information. State information corresponding to the circuit configuration is stored internally.
- the internal state storage unit 108a may be configured to generate new state information based on information received from the optimization unit 109a when new design data is generated in the optimization unit 109a. .
- the state information 410 shown in FIG. 12 is associated with the logical blocks LB1 and LB4 and the design data ID “A”.
- LB3, LB5, and LB6 are associated with design data ID “B”. This is because the logical blocks LB1 and LB4 in the reconfigurable section 101a are configured based on design data whose design data ID is “A”.
- the logical blocks LB2, LB3, LB5, and LB6, This indicates that the circuit is configured based on the design data whose design data ID is “B”!
- the optimization unit 109a has a function of generating design data such that two or more circuits newly configured by the reconfigurable unit 101a have an optimal arrangement.
- the optimization unit 109a receives one or more design data from an input device such as an input device.
- a circuit update request including a data ID is accepted.
- the optimization unit 109a instructs the decoding unit 106a to decode the decoded data identified by the received one or more design data IDs.
- the optimization unit 109a receives one or more design data decoded by the decoding unit 106a.
- the optimization unit 109a receives the design data extracted by the extraction unit 103a.
- the optimization unit 109a further reads out the state information stored in the internal state storage unit 108a.
- the optimization unit 109a uses the two or more design data received from the extraction unit 103a and the decoding unit 106a and the read state information so that the use efficiency of the logical block in the reconfigurable unit 101a is the highest. Generate design data that places two or more circuits.
- the optimization unit 109a receives the design data identified by the design data ID “A” from the extraction unit 103a, and receives the design data identified by the design data ID “B” from the decoding unit 106a.
- the status information 400 (see FIG. 11) is received from the internal status storage unit 108a.
- the optimization unit 109a already knows the arrangement of each logical block of the reconfigurable unit 101a. Specifically, the arrangement of each logical block is the arrangement order of the logical blocks shown in FIG. 2, that is, the position of each logical block in the reconfigurable section 10 la. Furthermore, it is assumed that the optimization unit 109a also knows the number of logical blocks to be used for the circuit configuration of each design data. This may be described in the design data.
- the optimization unit 109a finds that the unused logical blocks are LB3 to LB9.
- the optimization unit 109a uses the unused LB3 to LB9 effectively.
- the design data identified by the design data ID “A” that has been configured with the logical blocks LB1 and LB2 until now is realized using the logical blocks LB1 and LB4, and the design data ID “B” is realized.
- the design data identified by (1) is realized using logical blocks LB2, LB3, LB5, and LB6.
- the unused logical blocks are LB7, LB8, and LB9.
- a new circuit is configured using these three consecutive logical blocks. Is also possible.
- a circuit update request is generated (step S201), and the extraction unit 103a and the optimization unit 109a accept the circuit update request.
- the extraction unit 103a and the optimization unit 109a accept a circuit update request via input means such as an input device.
- the optimization unit 109a accepts the input of the design data ID together with the circuit update request.
- the optimization unit 109a that has received the circuit update request reads the state information from the internal state storage unit 108a (step S202).
- the optimization unit 109a outputs the design data ID to the decoding unit 106a, and instructs the decoding unit 106a to decode the design data identified by the design data ID.
- the decryption unit 106a reads out the cipher design data identified by the design data ID from the design data storage unit 102a (step S203). Next, the decryption unit 106a reads out key data associated with the design data ID from the key storage unit 104a (step S204).
- the design data storage unit 102a deletes the design data information including the cipher design data read in step S203 from the design data table (step S205).
- the decryption unit 106a applies the decryption algorithm D to the design data by applying the decryption algorithm D to the encryption key design data read in step S203 using the key data read in step S204 as a decryption key. Is decrypted (step S206).
- Decoding unit 106a outputs the decoded design data to optimization unit 109a, and optimization unit 109a receives the design data (step S207).
- the extraction unit 103a performs a process of extracting design data of the circuit currently configured in the reconfigurable unit 101a (step S208).
- the details of the design data extraction process are the same as those in the first embodiment.
- the extraction unit 103a outputs the extracted design data to the optimization unit 109a, and the optimization unit 109a receives the design data (step S209).
- the optimization unit 109a reads the state information read in step S202, and in step S207. Based on the received design data, the design data received in step S209, and the known arrangement power of the logic block, the reconfigurable unit 101a generates new design data for effective use of the logic block ( Step S210).
- the update unit 107a receives new design data from the optimization unit 109a, and transfers the received design data to the reconfigurable unit 101 (step S211).
- the reconfigurable section 101a reconfigures the circuit by setting the value of each SRAM based on the newly received design data (step S212).
- the internal state storage unit 108a generates state information indicating the state of the reconfigurable unit 101a whose circuit has been reconfigured (step S213), and updates the state information.
- a circuit update system 1 will be described as a third embodiment of the present invention. ⁇ Configuration>
- FIG. 14 is a diagram showing a configuration of the circuit update system 1.
- the circuit update system 1 includes an information processing device 10b and a design data conversion device 20.
- the information processing device 10b and the design data conversion device 20 are connected via a network 30. Yes.
- the information processing apparatus 10b includes a reconfigurable unit 101b, a design data storage unit 102b, an extraction unit 103b, a key storage unit 104b, an encryption unit 105b, a decryption unit 106b, and an update unit 10 7b.
- the design data conversion apparatus 20 includes a transmission / reception unit 501 and an optimization unit 502.
- the optimization unit 109a of the information processing device 10a according to the second embodiment is present in the design data conversion device 20 that is an external device via the network 30. It has the composition to do.
- the transmission / reception unit 110b and the transmission / reception unit 501 are both network connection units and have a function of transmitting / receiving information to / from each other via the network 30.
- the optimization unit 502 of the design data conversion apparatus 20 has the same function as the optimization unit 109a of the second embodiment.
- the information processing apparatus 10b and the design data conversion apparatus 20 are specifically a computer system including a microprocessor, ROM, RAM, hard disk unit, and the like. Each device achieves its functions when the microprocessor executes the computer program stored in the RAM or the hard disk unit.
- a circuit update request is generated (step S301), and the extraction unit 103b and the update unit 107b accept the circuit update request.
- the extraction unit 103a and the optimization unit 109a accept a circuit update request via input means such as an input device.
- the update unit 107 b accepts the input of the design data ID together with the circuit update request.
- the update unit 107b receives the circuit update request including the design data ID, the update unit 107b notifies the decryption unit 106b of the design data ID, and instructs the decryption unit 106b to decrypt the encrypted design data identified by the design data ID.
- the decryption unit 106b that has received the instruction from the update unit 107b reads out the encrypted design data identified by the design data ID from the design data storage unit 102b (step S302). Next, the decryption unit 106b reads out the key data associated with the design data ID from the key storage unit 104b (step S303).
- the design data storage unit 102b deletes the design data information including the cipher design data read in step S302 from the design data table (step S304).
- the decryption unit 106b applies the decryption algorithm D to the design data by applying the decryption algorithm D to the encryption key design data read in step S302 using the key data read in step S303 as a decryption key. Is decrypted (step S305).
- the decryption unit 106b outputs the decrypted design data to the update unit 107b.
- the update unit 107b that has received the design data outputs the design data to the transmission / reception unit 110b.
- the extraction unit 103b performs a process of extracting design data of the circuit currently configured in the reconfigurable unit 101b (step S306).
- the extraction unit 103b outputs the extracted design data to the transmission / reception unit 110b.
- the transmission / reception unit 110b that has received the design data from the extraction unit 103b and the update unit 107b reads the state information from the internal state storage unit 108b (step S307).
- the transmission / reception unit 110b receives the design data received from the extraction unit 103b and the update unit 107b.
- the received design data and status information are transmitted to the design data conversion device 20 via the network 30, and the transmission / reception unit 501 of the design data conversion device 20 receives the design data and the status information (step S308). ).
- the optimization unit 502 of the design data conversion apparatus 20 uses each of the design data, the state information, and the arrangement of the known logical blocks received in step S308 to execute each logic in the reconfigurable unit 101b of the information processing apparatus 10b. New design data for effectively using the block is generated (step S309).
- the optimization unit 502 transmits the generated new design data to the information processing device 10b via the transmission / reception unit 501 and the network 30, and the transmission / reception unit 110b of the information processing device 10b receives the design data ( Step S310).
- the transmission / reception unit 110b outputs the received new design data to the update unit 107b, and the update unit 107b receives the new design data and transfers the received design data to the reconfigurable unit 101b.
- the reconfigurable section 101b reconfigures the circuit by setting the value of each SRAM based on the received design data (step S311).
- the internal state storage unit 108b generates state information indicating the state of the reconfigurable unit 101b whose circuit has been reconfigured (step S312), and updates the state information.
- the reconfigurable unit in the above embodiment is not limited to a device having a specific configuration such as an FPGA or a PLD. Therefore, the logical block of the above embodiment is
- the logical block in the present invention is not limited to the case realized by the LUT, and may be an ALU, a logical operation unit, a shift control unit, a data control unit, a flip-flop, or the like. The case where it comprises by these combinations is also included.
- the information processing apparatus inputs a medium for inputting / outputting information to / from an external recording medium.
- An output unit is provided.
- the information processing apparatus writes the design data encrypted by the encryption unit to the recording medium via the medium input / output unit while the recording medium is mounted on the medium input / output unit. Further, the information processing apparatus reads the encryption design data stored in the recording medium via the medium input / output unit, and outputs the read encryption design data to the decryption unit.
- the internal state holding unit in the above embodiment has a configuration for holding the state information in which the logic block used in the circuit configuration is associated with the design data ID, but the state information in the present invention is Of course, the information is not limited to this. For example, any information that can be used for optimization by the optimization unit, such as position information of a logical block that is not used in the circuit configuration, may be used.
- the information processing apparatus has a configuration in which key data unique to each design data is held in the key storage unit, but the key used for encryption / decryption of design data in the present invention.
- the information is not limited to the configuration that the key storage unit holds in advance.
- a random number generator is generated using a random number generator, and the random number sequence is used as key information to execute the encryption Z decryption process. Also good. Further, the random number sequence generated here may be stored in the key storage unit in association with the design data ID.
- the design data decrypted by the decryption unit is mounted as a circuit in the reconfigurable unit
- the design data is extracted by the circuit force extraction unit, and is encrypted again by the encryption unit.
- Encryption may be performed using the same key information as the key information used for decryption (L sequence), or it may be different. You can generate key information and encrypt it.
- the information processing apparatus of the present invention is selective rather than extracting all design data from the reconfigurable unit by referring to the state information held by the internal state holding unit! It may be configured to extract design data.
- the extraction unit refers to the state information 410, and the design data ID is “A” from the logical blocks LB1 and LB4. Only design data that is is extracted.
- the extraction unit may be configured to extract only design data whose design data ID is “B” from the logical blocks LB2, LB3, LB5, and LB6.
- the information processing apparatus may include a circuit deletion unit that deletes a circuit realized by the reconfigurable unit.
- the circuit deleting means is configured to delete the circuit realized by the reconfigurable unit after the extraction unit reads design data of the circuit realized by the reconfigurable unit. You can do it.
- the reconfigurable unit can be used efficiently.
- the extraction unit when the extraction unit reads a circuit realized by the reconfigurable unit as design data, the extraction unit requests, for example, extraction (circuit reconfiguration).
- a configuration may be adopted in which a device or a user is authenticated, and whether or not to extract design data is determined based on the result of the authentication process, and executed.
- An example of the authentication process here is challenge response authentication using a public key cryptosystem.
- the device or user who requested the transmission is authenticated, and the design data is sent to the outside based on the result of the authentication process. It may be configured to determine whether or not to execute
- the encryption design data writing process to the external recording medium is similarly configured to determine whether or not to write the encryption key design data based on the result of the authentication process and execute it. Also good.
- the information processing apparatus 10b is configured to transmit the design data extracted by the extraction unit via the network 30 as it is when the design data is transmitted to the external design data conversion apparatus 20.
- the present invention is not limited to the configuration. For example, a configuration in which part or all of the design data is encrypted and the encrypted design data is transmitted to the design data conversion apparatus 20 is also included in the present invention.
- the design data conversion apparatus 20 may have a configuration in which the optimization unit 502 executes conversion processing based on design data partially or entirely encrypted and the internal state.
- the design data storage unit provided in the information processing apparatus according to the present invention may be a memory such as a general RAM accessible from the outside. By realizing it with a general RAM, etc., the design data storage unit can be made relatively inexpensive and large capacity.
- the design data storage unit may be a memory existing inside an integrated circuit to which access is restricted.
- the optimization unit in the above embodiment has a configuration that optimizes the arrangement when two or more circuits are configured in the reconfigurable unit, but the present invention replaces the optimization unit, It may be configured to include a conversion means for converting design data indicating two or more circuits into a new design data.
- the extraction unit when the first circuit that achieves the first function is realized in the reconfigurable unit, the extraction unit also extracts the first design data for the first circuit force.
- the decoding unit decodes second design data, which is design data for configuring the second circuit that achieves the second function.
- the conversion means may be configured to generate third design data for configuring a third circuit having both the first function and the second function.
- the conversion means incorporates the second function in the first function, which does not simply generate the third design data for configuring the third circuit having both the first and second functions. It may be configured to generate third design data for configuring a third circuit that achieves a new function that performs advanced processing.
- the reconfigurable unit in the above embodiment may be configured such that, for example, a decryption circuit for decrypting encrypted content is implemented.
- the decoding circuit implemented in the reconfigurable unit is different for each algorithm, it is possible to realize decoding processing corresponding to various algorithms by updating the decoding circuit.
- the present invention is not limited in any way to the functions achieved by the circuit implemented in the reconfigurable section, and any circuit may be configured in the reconfigurable section.
- the present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal that also has the computer program power.
- the present invention provides a computer-readable recording medium for the computer program or the digital signal, such as a flexible disk, a hard disk, a CD-ROM, a MO, a DVD, a DVD-ROM, a DVD-RAM, a BD ( Blu-ray Disc), semiconductor memory, etc. may be recorded. Further, the present invention may be the computer program or the digital signal recorded on these recording media.
- the present invention may be configured such that the computer program or the digital signal is transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, or the like.
- the present invention may also be a computer system including a microprocessor and a memory.
- the memory may store the computer program, and the microprocessor may operate according to the computer program.
- the present invention is implemented as an LSI in which some or all of the functional blocks of the information processing apparatuses 10, 10a, and 10b and the design data conversion apparatus 20 in the above embodiment are integrated circuits. Such cases are also included in the present invention. These may be individually arranged on one chip, or may be integrated into one chip so as to include a part or all of them. Here, it is sometimes called IC, system LSI, super LSI, or ultra LSI, depending on the difference in power integration of LSI.
- the method of circuit integration is not limited to LSI, and may be realized with a dedicated circuit. You can use an FPGA (Field Programmable Gate Array) that can be programmed after manufacturing LSI or a reconfigurable processor that can reconfigure the connection and settings of circuit cells inside the LSI.
- FPGA Field Programmable Gate Array
- the present invention can be used in a management and continuous manner, for example, in an industry that manufactures and sells equipment that can update an algorithm of a cryptographic key.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Logic Circuits (AREA)
Abstract
本発明は、回路の再構成が可能な再構成可能部101を備える情報処理装置であって、更に、本発明は、抽出部103を備えることより、再構成可能部101で構成されている回路の設計データを、抽出することが可能であり、設計データ記憶部102が保持すべき設計データのデータ量を削減することが可能となる。
Description
明 細 書
回路更新システム
技術分野
[0001] 本発明は、機器内に実装された回路を更新する技術に関する。
背景技術
[0002] ネットワークを介したコンテンツの配信、又は記録媒体に記録したコンテンツの配布 等においては、コンテンツの不正利用を防止し、コンテンツの著作権を保護するため に、一般的に、コンテンツは暗号ィ匕されて配信、又は配布される。
コンテンツを再生する機器では、暗号ィ匕コンテンツを復号する復号処理を行うが、 機器における暗号化方式の実装は、必要とされる処理速度や、耐タンパ一性の観点 力もハードウェアで実装されて 、る場合が多 、。
[0003] ここで、ハードウェアで実装されて 、る暗号ィ匕方式を、新たな暗号ィ匕方式に更新した いとの要望があるが、近年では、 FPGA (Field Programmable Gate Array)や PL A (Programmable Logic Array)等の再構成が可能なデバイスを用いることにより 、回路を再構成し、暗号ィ匕方式を更新することも可能となってきた (特許文献 1参照)
[0004] また、特許文献 2では、機器の内部に、回路を更新するためのアルゴリズムファイル を格納するデータベースを保持して、外部からの指示に従い、前記データベースか らアルゴリズムファイルを取得し、実装されて 、る回路を更新する技術が開示されて いる。
特許文献 1 :特開平 10— 320191号公報
特許文献 2 :特開平 10— 55135号公報
発明の開示
発明が解決しょうとする課題
[0005] し力しながら、機器内にデータベースを保持する上記従来技術は、回路の更新を 行うためには有用であるが、機器の記憶容量を有効に活用するために。データべ一 スのデータ量を削減した 、との要望がある。
そこで、本願発明は、上記要望に対応するためになされたものであり、従来技術と比 較し、データベースのデータ量を削減しつつ、機器に実装されている回路を更新す ることが可能な回路更新システムを提供することを目的とする。
課題を解決するための手段
[0006] 上記の目的を達成するために、本発明は、情報処理装置であって、複数の論理ブ ロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間の接続の変更に より、回路の再構成が可能な再構成可能手段と、前記再構成可能手段において現 在構成されている第 1回路を示す論理ブロックの論理と論理ブロック間の接続とを示 す第 1設計データを、前記再構成可能手段から抽出する抽出手段と、第 2回路を示 す餘理ブロックの論理と論理ブロック間の接続とを示す第 2設計データを、前記再構 成可能手段に出力する出力手段とを備え、前記再構成可能手段は、前記第 2設計 データに基づき、前記第 2回路を再構成することを特徴とする。
発明の効果
[0007] 上記の「再構成可能手段」は、下記の各実施の形態の再構成可能部と対応する。「 抽出手段」は、各実施の形態の抽出部がその機能を担う。「出力手段」は、各実施の 形態の更新部がその機能を担う。
上記の構成によると、抽出手段により、第 1設計データを抽出可能であるから、当該 情報処理装置は、再構成可能手段が第 1設計データに基づき第 1回路を実装してい る間は、機器内に第 1設計データを保持している必要がない。従って、機器内の記憶 容量を節約し、記憶容量を有効に活用することができる。
[0008] ここで、前記情報処理装置は、前記第 2設計データを記憶して 、る設計データ記憶 手段と、前記出力手段により前記第 2設計データが前記再構成可能手段に出力され ると、前記設計データ記憶手段から、前記第 2設計データを削除する削除手段と、前 記抽出手段により抽出された前記第 1設計データを、前記設計データ記憶手段に書 き込む書込手段とを備えるように構成してもよ ヽ。
[0009] 上記の「設計データ記憶手段」は、下記の各実施の形態の設計データ記憶部がそ の機能を担う。「削除手段」及び「書込手段」は、各実施の形態の設計データ記憶部 がその機能を有する。
この構成によると、出力手段により第 2設計データが再構成可能手段に出力される と、設計データ記憶手段力 第 2設計データを削除することにより、設計データ記憶 手段が記憶している設計データのデータ量を削減することができる。また、書込手段 により第 1設計データが設計データ記憶手段に書き込まれるが、抽出手段を備えて いることにより、再構成可能手段で実装されている回路に対応する設計データは、設 計データ記憶手段が保持する必要がな 、ので、全ての設計データを設計データ記 憶手段に保持しておく必要があった従来技術と比較して、設計データ記憶手段のデ 一タ量は削減されることとなる。
[0010] ここで、前記情報処理装置は、前記抽出手段により抽出された前記第 1設計データ を暗号化する暗号化手段を備え、前記書込手段は、暗号化された前記第 1設計デー タを、前記設計データ記憶手段に書き込むように構成してもよ 、。
上記の「暗号化手段」は、下記の各実施の形態の暗号化部がその機能を担う。 更に、前記設計データ記憶手段に記憶されている前記第 2設計データは、暗号ィ匕 されており、前記情報処理装置は、前記暗号化された第 2設計データを復号する復 号手段を備え、前記出力手段は、前記復号手段により復号された前記第 2設計デー タを、前記再構成可能手段に出力するように構成してもよい。
[0011] 上記の「復号手段」は、下記の実施の形態の復号部がその機能を担う。
この構成によると、設計データ記憶手段に記憶される第 1設計データ及び第 2設計 データは、暗号化されており、設計データ記憶手段が外部からアクセスされ、第 1設 計データ及び第 2設計データが漏洩した場合であっても、不正に利用されるのを防 止することができる。また、復号手段を備えたことにより、復号した第 1設計データ及 び第 2設計データを、再構成可能手段における回路の再構成に利用することができ る。
[0012] ここで、前記情報処理装置は、各設計データに対応する鍵情報を安全に記憶して いる鍵情報記憶手段を備え、前記暗号化手段は、前記鍵情報記憶手段から、前記 第 1設計データと対応する第 1鍵情報を読み出し、読み出した前記第 1鍵情報に基 づき、前記第 1設計データを暗号化し、前記復号手段は、前記鍵情報記憶手段から 、前記第 2設計データと対応する第 2鍵情報を読み出し、読み出した前記第 2鍵情報
に基づき、前記第 2設計データを復号するように構成してもよ ヽ。
[0013] 上記の「鍵情報記憶手段」は、下記の各実施の形態にお!、ては、鍵記憶部がその 機能を担う。
この構成によると、暗号化手段及び復号手段で用いられる鍵情報は、設計データ 毎に固有であり、同一の鍵情報により暗号化される場合と比較すると、安全性が向上 する。更に、各鍵情報は、鍵情報記憶手段において安全に記憶されており、設計デ ータ記憶手段が外部力 アクセスされ、第 1及び第 2設計データが漏洩した場合であ つても、鍵情報の取得は困難であり、第 1及び第 2設計データが不正に利用されるの を防止することができる。
[0014] ここで、前記情報処理装置は、更に、各設計データに対応する前記鍵情報を生成 する鍵情報生成手段を備え、前記鍵情報生成手段により生成された前記鍵情報を、 前記鍵情報記憶手段に書き込むように構成してもよ ヽ。
この構成〖こよると、当該情報処理装置の内部で鍵情報が生成されるので、鍵情報 が外部の漏洩するのを防止することができる。
[0015] ここで、前記情報処理装置は、更に、前記再構成可能手段において前記第 1回路 の構成に用いられて 、る論理ブロックの位置を示す内部状態を保持する内部状態保 持手段と、前記内部状態保持手段に保持されている前記内部状態と、前記抽出手 段により抽出された前記第 1設計データと、前記第 1回路が達成する第 1の機能と異 なる第 2の機能を達成する回路の設計データである第 3設計データとから、前記再構 成可能手段の最適化が可能となるような前記第 2設計データを生成する最適化手段 とを備え、前記出力手段は、前記最適化手段により生成された前記第 2設計データ を、前記再構成可能手段に出力するように構成してもよい。
[0016] また、前記内部状態保持手段は、前記第 1の機能を達成する回路の構成に用いら れている論理ブロックの位置と、前記第 2の機能を達成する回路の構成に用いられて V、る論理ブロックの位置とを示す新たな内部情報を生成し、保持するように構成して ちょい。
この構成によると、当該情報処理装置の再構成可能手段は、第 1の機能を達成す る第 1回路を、機能の異なる第 2回路に置き換えるのではなぐ第 1及び第 2の機能を
達成する新たな第 2回路を再構成することが可能となる。更に、内部状態保持手段が 状態情報を保持しているため、再構成可能手段の論理ブロックが最適化されるように 回路を再構成することできる。
[0017] また、この場合であっても、再構成可能手段において回路構成が実現している設計 データ (即ち、第 1設計データ及び第 2設計データ)については、設計データ記憶手 段に記憶している必要は無ぐ設計データ記憶手段のデータ量を削減することが可 能となる。
また、第 1の機能及び第 2の機能を達成する回路が再構成可能手段で構成されて いる場合に、内部状態保持手段が、各機能に対応する論理ブロックの位置を示す情 報を保持することにより、抽出手段は、第 1の機能に対応する設計データ、第 2の機 能に対応する設計データを個別に抽出することも可能となる。
[0018] ここで、前記情報処理装置は、更に、前記再構成可能手段において前記第 1回路 の構成に用いられて 、る論理ブロックの位置を示す内部状態を保持する内部状態保 持手段を備え、前記抽出手段は、前記内部状態保持手段が保持している前記内部 状態に基づき、前記再構成可能手段から、選択的に前記第 1設計データを抽出する ように構成してもよい。
この構成によると、抽出手段は、再構成可能手段力 前記第 1設計データを抽出す る際、内部状態を参照することにより、抽出処理を効率よく行うとが可能となる。
[0019] ここで、前記情報処理装置は、ネットワークを介して外部機器と接続されており、更 に、前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により 抽出された前記第 1設計データと、前記第 1回路と異なる機能を達成する回路の設 計データである第 3設計データとを前記外部機器へ送信する送信手段と、前記外部 機器から、前記再構成可能手段の最適化が可能となるような前記第 2設計データを 受信する受信手段とを備えるように構成してもよ ヽ。
[0020] この構成によると、当該情報処理装置の再構成可能手段は、第 1の機能を達成す る第 1回路を、機能の異なる第 2回路に置き換えるのではなぐ第 1及び第 2の機能を 達成する新たな第 2回路を再構成することが可能となる。更に、内部状態保持手段が 状態情報を保持しているため、再構成可能手段の論理ブロックが最適化されるように
回路を再構成することできる。
[0021] また、新たな設計データの生成を外部機器に依頼することにより、当該情報処理装 置による処理量を削減することができる。
ここで、前記第 1設計データに基づき前記再構成可能手段において構成されてい る前記第 1回路は、第 1の機能を達成し、前記情報処理装置は、前記抽出手段により 抽出された前記第 1設計データと、前記第 1の機能とは異なる第 2の機能を達成する 第 3回路を構成するための設計データである第 3設計データとから、第 1及び第 2の 機能を達成する前記第 2回路を構成するための前記第 2設計データを生成する設計 データ変換手段を備えるように構成してもよ 、。
[0022] この構成によると、当該情報処理装置の再構成可能手段は、第 1の機能を達成す る第 1回路を、機能の異なる第 2回路に置き換えるのではなぐ第 1及び第 2の機能を 達成する新たな第 2回路を再構成することが可能となる。また、この場合であっても、 再構成可能手段において回路構成が実現している設計データ (即ち、第 1設計デー タ及び第 2設計データ)については、設計データ記憶手段に記憶している必要は無く 、設計データ記憶手段のデータ量を削減することが可能となる。
[0023] ここで、前記情報処理装置は、更に、外部接続された記録媒体との間で情報の入 出力を行う媒体入出力手段を備え、前記出力手段は、前記第 2設計データが記録さ れた記録媒体から、前記媒体入出力手段を介して、前記第 2データを取得し、前記 再構成可能手段に出力し、前記書込手段は、前記媒体入出力手段を介して、前記 記録媒体に、前記第 1設計データを書き込むように構成してもよ!、。
[0024] この構成によると、出力手段により第 2設計データが再構成可能手段に出力される と、記録媒体から第 2設計データを削除することにより、記録媒体が記録する設計デ ータのデータ量を削減することができる。また、書込手段により第 1設計データが記録 媒体に書き込まれるが、当該情報処理装置は抽出手段を備えていることにより、再構 成可能手段で実装されている回路に対応する設計データは、記録媒体に記録する 必要がない。
[0025] ここで、前記情報処理装置は、前記抽出手段により抽出された前記第 1設計データ を暗号化する暗号化手段を備え、前記書込手段は、暗号化された前記第 1設計デー
タを、前記記録媒体に書き込むように構成してもよい。
また、前記記録媒体に記憶されている前記第 2設計データは、暗号化されており、 前記情報処理装置は、前記暗号化された第 2設計データを復号する復号手段を備 え、前記出力手段は、前記復号手段により復号された前記第 2設計データを取得し、 前記再構成可能手段に出力するように構成してもよい。
[0026] この構成によると、記録媒体に記録される第 1設計データ及び第 2設計データは、 暗号化されており、記録媒体が不正なユーザにアクセスされ、第 1設計データ及び第 2設計データが漏洩した場合であっても、不正に利用されるのを防止することができ る。また、復号手段を備えたことにより、復号した第 1設計データ及び第 2設計データ を、再構成可能手段における回路の再構成に利用することができる。
図面の簡単な説明
[0027] [図 1]本発明の第 1の実施形態である情報処理装置 10の機能的な構成を示す機能 ブロック図である。
[図 2]再構成可能部 101の概要を示す図である。
[図 3]論理ブロック LB1 (121)の概要を示す図である。
[図 4] (a)スィッチマトリックス 131の概要を示す図である。 (b)トランジスタスィッチ群の 内部構成を示す図である。
[図 5]設計データテーブル 200のデータ構成を示す図である。
[図 6]設計データテーブル 210のデータ構成を示す図である。
[図 7]鍵テーブル 300のデータ構成を示す図である。
[図 8]情報処理装置 10の全体の動作を示すフローチャートである。
[図 9]抽出部 103による設計データ抽出処理の動作を示すフローチャートである。
[図 10]本発明の第 2の実施形態である情報処理装置 10aの機能的な構成を示す機 能ブロック図である。
[図 11]内部状態記憶部 108aに記憶されている状態情報 400のデータ構成を示す図 である。
[図 12]内部状態記憶部 108aに記憶されている状態情報 410のデータ構成を示す図 である。
[図 13]情報処理装置 10aの全体の動作を示すフローチャートである。
[図 14]本発明の第 3の実施形態である、回路更新システム 1の構成を示す図である。
[図 15]回路更新システム 1の全体の動作を示すフローチャートである。
符号の説明
1 回路更新システム
10 情報処理装置
10a 情報処理装置
10b 情報処理装置
20 設計データ変換装置
30 ネットワーク
101 再構成可能部
101a 再構成可能部
101b 再構成可能部
102 設計データ記憶部
102a 設計データ記憶部
102b 設計データ記憶部
103 抽出部
103a 抽出部
103b 抽出部
104 繞 S己' 1思 ρβ
104a ¾ίし' 1思 p[5
104b 鍵 ηί ¾ρ[5
105 暗号化部
105a 暗号化部
105b 暗号化部
106 復号部
106a 復号部
106b 復号部
107 更新部
107a 更新部
107b 更新部
108a 内部状態記憶部
108b 内部状態記憶部
109a 最適化部
110a 送受信部
110b 送受信部
131〜146 スィッチマトリックス
151〜153 LUT
154、 155 フリップフロップ
161〜164 トランジスタスィッチ群
171〜176 トランジスタスィッチ
501 送受信部
502 最適化部
発明を実施するための最良の形態
[0029] 1.第 1の実施形態
本発明の第 1の実施形態として、情報処理装置 10について説明する。 情報処理装置 10は、設計データに基づき回路の再構成が可能なデバイスを備え、 要求に応じて回路を更新する装置である。
<構成>
図 1は、情報処理装置 10の構成を機能的に示す機能ブロック図である。
[0030] 同図に示すように、情報処理装置 10は、再構成可能部 101、設計データ記憶部 1 02、抽出部 103、鍵記憶部 104、暗号化部 105、復号部 106、および更新部 107か ら構成される。
情報処理装置 10は、具体的には、マイクロプロセッサ、 ROM、 RAM、ハードデイス クユニットなどを備えるコンピュータシステムであって、 RAM又はハードディスクュニ
ットに記憶されているコンピュータプログラムを、マイクロプロセッサが実行することに より、その機能を達成する。
[0031] 以下では、情報処理装置 10の各構成要素について説明する。
(1)再構成可能部 101
図 2は、再構成可能部 101の概要を示す図である。
再構成可能部 101は、論理ブロック LB1 (121)、論理ブロック LB2 (122)、論理ブ ロック LB3 (123)、論理ブロック LB4 (124)、論理ブロック LB5 (125)、論理ブロック LB6 (126)、論理ブロック LB7 (127)、論理ブロック LB8 (128)、論理ブロック LB9 ( 129)と 16個のスィッチマトリックス 131〜146と、各論理ブロックと各スィッチマトリック スとを接続する配線群力も構成される。
[0032] 図 3は、論理ブロック LB1 (121)の内部を示す図である。なお、論理ブロック LB2 ( 122)〜論理ブロック LB9 ( 129)も同様の構成を有する。
餘理ブロック LB1 (121)は、ルックアップテーブル(以下、「LUT」と記述する。 ) 15 1、 LUT152、 LUT153、フリップフロップ 154、及びフリップフロップ 155力も構成さ れる。 LUT151及び LUT153は、 4入力 1出力の構成を有し、 LUT152は、 3入力 1 出力の構成を有するが、これは一例であり、必ずしもこの構成には限定されない。各 論理ブロックは、具体的には、小規模な SRAMで構成される。
[0033] 図 4 (a)は、スィッチマトリックス 131の構成を示す図である。なお、スィッチマトリック ス 132〜 146も同様の構成を有する。
スィッチマトリックス 131は、配線群を構成する垂直配線チャネルと水平配線チヤネ ルとが交差する箇所に配置されたトランジスタスィッチ群 161、 162、 163、 164から 構成される。
[0034] 図 4 (b)は、トランジスタスィッチ群 161の構成を示す図である。なお、トランジスタス イッチ群 162〜 164も同様の構成を有する。
トランジスタスィッチ群 161は、 6個のトランジスタスィッチ 171〜176で構成され、各 トランジスタスィッチは、 SRAMを用いて ON又は OFFに設定されている。ここで、本 明細書においては、各論理ブロックの LUTの設定値、及び各トランジスタスィッチの ONZOFFを示す情報を含むビット列を設計データと呼称する。
[0035] 再構成可能部 101は、更新部 107により設計データが入力されると、入力された設 計データに基づき、各 LUTの設定値と、トランジスタスィッチの ON又は OFFの設定 を変更することにより、各種の回路を構成又は再構成する。なお、再構成可能部 101 における回路の構成及び再構成については、公知技術で実現可能であるため、詳 細な説明は省略する。
[0036] (2)設計データ記憶部 102
設計データ記憶部 102は、設計データテーブルを記憶及び管理する機能を有する 図 5は、設計データテーブルの一例である設計データテーブル 200のデータ構成 を示す図である。同図に示すように、設計データテーブル 200は、複数の設計データ 情報 201、 202、 · ··、 203、 204、 205、…を含み、各設計データ情報は、設計デー タ IDと暗号化設計データとから構成される。
[0037] 設計データ IDは、設計データ及び当該設計データが暗号化されて生成された暗 号ィ匕設計データを一意に識別するための識別子である。
暗号化設計データは、対応付けられて!/ヽる設計データ IDにより識別される設計デ ータが、当該設計データに固有の鍵データを暗号鍵として用い、暗号ィ匕アルゴリズム Eを施して生成された暗号化データである。なお、暗号化アルゴリズム Eの一例は、 D ES (Data Encryption Standard)である。なお、本明細書においては、例えば、 設計データ IDが「A」である設計データを「ARC— A」、設計データ IDが「B」である設 計データを「ARC— B」等と記載している。また、設計データ ARC— A」を暗号化して 生成された暗号化設計データを「Enc— ARC— A」、設計データ「ARC— B」を暗号 化して生成された暗号化設計データを「Enc— ARC— B」等と記載して ヽる。
[0038] 設計データ情報 201は、設計データ ID「A」と暗号化設計データ「Enc— ARC— A 」とから構成される。暗号化設計データ「Enc_ARC_A」は、設計データ「ARC_A 」力 暗号ィ匕されて生成された暗号ィ匕データである。設計データ「ARC— A」は、再 構成可能部 101において、回路を再構成するために必要なデータであり、具体的に は、先に述べた様に、再構成可能部 101内の各 LUTの設定値、及び各トランジスタ スィッチの ONZOFF等を示すビット列である。
[0039] 設計データ記憶部 102は、再構成可能部 101による回路の再構成のために、更新 部 107から指示を受けた復号部 106により、ある暗号ィ匕設計データが読み出されると 、読み出された暗号ィ匕設計データを含む設計データ情報を、設計データテーブルか ら削除する。また、設計データ記憶部 102は、抽出部 103により抽出された設計デー タを受け取った暗号ィ匕部 105から、暗号化設計データと設計データ IDとを受け取る と、受け取った暗号化設計データと設計データ IDとから成る設計データ情報を生成 し、当該設計データ情報を設計データテーブルに格納する。
[0040] 以下では、図 5及び図 6を用いて、具体的に説明する。
設計データ記憶部 102が図 5に示した設計データテーブル 200を記憶して 、る状 態において、暗号ィ匕設計データ「Enc— ARC— A」が読み出された場合、設計デー タテーブル 200から設計データ情報 201が削除され、図 6に示す設計データテープ ル 210のようになる。また、暗号化部 105から暗号化設計データ「Enc— ARC— V」 を受け取ると、設計データ ID「V」と暗号化設計データ「Enc— ARC— V」とから成る 設計データ情報 206を生成し、設計データテーブル 210に格納する。
[0041] (3)抽出部 103
抽出部 103は、図示していない入力デバイス等の入力手段を介して、回路の更新 要求を受け付けると、再構成可能部 101にて構成されている回路から、設計データを 抽出する機能を有する。
具体的には、抽出部 103は、再構成可能部 101の各論理ブロック力も LUTを抽出 し、更に、各スィッチマトリックスから、各トランジスタスィッチの ON/OFFを示す情報 を抽出する。抽出部 103は、再構成可能部 101から抽出した設計データを、当該設 計データの設計データ IDと共に、暗号ィ匕部 105へ出力する。なお、抽出部 103は、 再構成可能部 101から抽出した設計データの設計データ IDを既知であるとする。
[0042] 設計データの抽出方法の詳細については、図 9に示すフローチャートを用いて、後 に説明する。
(4)鍵記憶部 104
鍵記憶部 104は、図 7に示す鍵テーブル 300を記憶している。鍵テーブル 300は、 同図に示すように、複数の鍵情報 301、 302、 · ··、 303、…を含み、各鍵情報は、設
計データ IDと鍵データとを対応付けて構成される。
[0043] 具体例として、鍵情報 303は、設計データ ID「V」と鍵データ「K— V」とから構成さ れる。これは、設計データ ID「V」により識別される設計データ「ARC— V」の暗号化、 及び、暗号化設計データ「Ecn— ARC— V」の復号に用いられる鍵データが「K— V 」であることを示している。鍵データ「Κ— V」は、例えば、 DESの暗号化及び復号の 鍵として用いられる 64ビットデータである。
[0044] なお、本明細書における鍵記憶部 104は、耐タンパ一化されているものとする。耐 タンパ一化の実装方法にっ 、ては、特に限定されな!、。
(5)暗号化部 105
暗号化部 105は、平文を暗号文に変換する暗号化の機能を有する。
より具体的には、暗号ィ匕部 105は、抽出部 103から設計データ及び設計データ ID を受け取ると、受け取った設計データ IDに対応する鍵データを、鍵記憶部 104から 読み出す。暗号ィ匕部 105は、読み出した鍵データを暗号鍵として用い、設計データ に暗号ィ匕アルゴリズム Eを施して暗号ィ匕し、暗号化設計データを生成する。暗号化部 105は、生成した暗号ィ匕設計データを、設計データ IDと共に、設計データ記憶部 10 2に出力する。
[0045] 一例として、暗号ィ匕部 105は、抽出部 103から設計データ「ARC— V」と設計デー タ ID「V」とを受け取る場合を考える。暗号ィ匕部 105は、鍵記憶部 104に記憶されて V、る鍵テーブル 300から、受け取った設計データ ID「V」を含む鍵情報 303を特定す る。次に、暗号ィ匕部 105は、鍵情報 303から、鍵データ「K_V」を読み出す。暗号ィ匕 部 105は、鍵データ「K— V」を暗号鍵として用い、「ARC— V」を暗号化し、「Enc— ARC— V」を生成する。
[0046] (6)復号部 106
復号部 106は、暗号文を平文に変換する復号の機能を有する。
より具体的には、復号部 106は、更新部 107から設計データ IDを含む復号要求を 受け取ると、受け取った設計データ IDに対応する鍵データを、鍵記憶部 104から読 み出す。更に復号部 106は、受け取った設計データ IDに対応する暗号化設計デー タを、設計データ記憶部 102から読み出す。復号部 106は、読み出した鍵データを
復号鍵として用い、暗号化設計データに復号アルゴリズム Dを施して復号し、設計デ ータを生成する。復号部 106は、生成した設計データを、更新部 107に出力する。な お、復号アルゴリズム Dは、暗号ィ匕アルゴリズム Eにより暗号ィ匕された暗号文を、平文 に変換するアルゴリズムである。
[0047] 一例として、復号部 106は、更新部 107から設計データ ID「A」を受け取る場合を考 える。復号部 106は、鍵記憶部 104に記憶されている鍵テーブル 300から、受け取つ た設計データ ID「A」を含む鍵情報 301を特定する。次に、復号部 106は、鍵情報 3 01から、鍵データ「K_A」を読み出す。復号部 106は、鍵データ「K_A」を復号鍵 として用い、「Enc_ARC_A」を復号し、「ARC_A」を生成する。
[0048] (7)更新部 107
更新部 107は、図示していない入力デバイス等の入力手段を介して、回路の更新 要求を受け付けると、再構成可能部 101に対し、新たな回路の設計データを出力す る機能を有する。
具体的には、更新部 107は、設計データ IDを含む更新要求を受け付けると、受け 付けた設計データ IDにより識別される暗号化設計データの復号を、復号部 106に指 示する。更新部 107は、復号部 106により復号された設計データを受け取り、受け取 つた設計データを、再構成可能部 101へ出力する。
[0049] 一例として、更新部 107は、設計データ「A」により識別される設計データ IDを受け 付けた場合、設計データ ID「A」を、復号部 106へ出力する。更に、更新部 107は、 復号部 106から、設計データ「ARC— A」を受け取り、受け取った設計データ「ARC _A」を、再構成可能部 101へ出力する。
<動作 >
ここでは、図 8及び図 9に示すフローチャートを用いて、情報処理装置 10の動作に ついて説明する。
(1)情報処理装置 10の動作
先ず、回路更新要求が発生し (ステップ S101)、抽出部 103及び更新部 107が回 路更新要求を受け付ける。具体的には、抽出部 103及び更新部 107は、入力デバィ ス等の入力手段を介して、回路更新要求を受け付ける。ここで、更新部 107は、入力
手段を介して、回路更新要求と共に設計データ IDも受け取るものとする。
[0050] 設計データ IDを含む回路更新要求を受け付けた更新部 107は、復号部 106に設 計データ IDを通知し、当該設計データ IDにより識別される暗号化設計データの復号 を指示する。
更新部 107からの指示を受け付けた復号部 106は、設計データ記憶部 102から、 前記設計データ IDにより識別される暗号ィ匕設計データを読み出す (ステップ S102) 。次に、復号部 106は、鍵記憶部 104から、前記設計データ IDと対応付けられてい る鍵データを読み出す (ステップ S 103)。
[0051] 設計データ記憶部 102は、ステップ S102にて読み出された暗号ィ匕設計データを 含む設計データ情報を、設計データテーブルから削除する (ステップ S104)。
次に、復号部 106は、ステップ S 102で読み出した暗号ィ匕設計データを、ステップ S 103で読み出した鍵データを復号鍵として用い、復号アルゴリズム Dを施すことにより 、設計データを復号する (ステップ S 105)。復号部 106は、復号した設計データを更 新部 107へ出力する。
[0052] 更新部 107は、復号部 106から設計データを受け取ると、受け取った設計データを 再構成可能部 101へ転送する (ステップ S 106)。ここで、再構成可能部 101は、更新 部 107から転送される設計データを一時的に保持するためのメモリを有するように構 成してちょい。
次に、抽出部 103は、再構成可能部 101の内部で現在構成されている回路の設計 データを抽出する処理を行う(ステップ S107)。なお、設計データ抽出処理の詳細に ついては後述する。
[0053] 抽出部 103は、抽出した設計データを暗号ィ匕部 105へ出力する。暗号化部 105は 、抽出部 103から設計データを受け取り(ステップ S108)、更に、鍵記憶部 104から、 ステップ S108で受け取った設計データを識別する設計データ IDに対応付けられて いる鍵データを、読み出す (ステップ S 109)。
暗号ィ匕部 105は、ステップ S108で受け取った設計データを、ステップ S109で読み 出した鍵データを暗号鍵として用い、暗号ィ匕アルゴリズム Eを施すことにより、暗号ィ匕 設計データを生成する (ステップ S 110)。暗号ィ匕部 105は、生成した暗号化設計デ
ータと、設計データ IDとを、設計データ記憶部 102に出力する。設計データ記憶部 1 02は、受け取った暗号ィ匕設計データと設計データ IDとを対応付けた設計データ情 報を生成し、生成した設計データ情報を、設計データテーブルに書き込む (ステップ Sl l l)。
[0054] 次に、再構成可能部 101は、ステップ S 106で受け取った設計データに基づき、各 SRAMの値を設定することにより、回路を再構成する (ステップ S 112)。
なお、上記の各ステップは、必ずしもこの順序で処理されることは必須ではなぐ例 えば、設計データ抽出処理 (ステップ S107)の後に、ステップ S 106の転送処理を行 つてもよい。
[0055] (2)抽出部 103による設計データ抽出処理の動作
図 9は、抽出部 103による設計データ抽出処理の動作を示すフローチャートである 。なお、ここに示す動作は、図 8のステップ S107の詳細である。
抽出部 103は、再構成可能部 101に含まれる全ての論理ブロック LB1 (121)〜論 理ブロック LB9 (129)の各論理ブロックにつ 、て、ステップ S 1001からステップ S 100 3までを繰り返す (ステップ S 1001)。
[0056] ステップ S1002において、抽出部 103は、論理ブロック力ら、 LUTの値を抽出する
(ステップ S1002)。抽出部 103は、全ての論理ブロックについて LUTを抽出すると、 繰り返しを終了する (ステップ S 1003)。
次に、抽出部 103は、再構成可能部 101に含まれる全てのスィッチマトリックス 131 〜146の各スィッチマトリックスについて、ステップ S1004からステップ S1010までを 繰り返す (ステップ S 1004)。
[0057] 次に、抽出部 103は、各スィッチマトリックスに含まれる全てのトランジスタスィッチ群 について、各トランジスタスィッチ群について、ステップ S1005力らステップ S1009ま でを繰り返す (ステップ S 1005)。
次に、抽出部 103は、各トランジスタスイツ群に含まれる全てのトランジスタスィッチ について、ステップ S 1006からステップ S 1008までを繰り返す (ステップ S 1006)。
[0058] ステップ S1006において、抽出部 103は、トランジスタスィッチの ONZOFFを示す メモリの値を抽出する (ステップ S1007)。
抽出部 103は、全てのトランジスタスィッチについて ON/OFFを示すメモリの値を 抽出するとトランジスタスィッチ毎の繰り返しを終了する (ステップ S 1008)。次に、全 てのトランジスタスィッチ群についてステップ S1007の処理を終了すると、トランジスタ スィッチ群毎の繰り返しを終了する(ステップ S 1009)。次に、全てのスィッチマトリック スについてステップ S1007の処理を終了すると、スィッチマトリックス毎の繰り返しを 終了する(ステップ S 1010)。
2.第 2の実施形態
ここでは、本発明の第 2の実施形態として、情報処理装置 10aについて説明する。 情報処理装置 10aは、第 1の実施形態である情報処理装置 10と同様に、設計データ に基づき回路の再構成が可能なデバイスを備えるが、情報処理装置 10aは、情報処 理装置 10が有する機能に加え、再構成が可能なデバイスで構成する回路を、最適 化する機能を有する。
<構成>
図 10は、情報処理装置 10aの機能的な構成を示す機能ブロック図である。
[0059] 同図に示すように、情報処理装置 10aは、再構成可能部 101a、設計データ記憶部 102a,抽出部 103a、鍵記憶部 104a、暗号化部 105a、復号部 106a、更新部 107a 、内部状態記憶部 108a、及び最適化部 109aから構成される。情報処理装置 10との 相違は、内部状態記憶部 108a及び最適化部 109aを備える点である。
[0060] 情報処理装置 10aは、具体的には、マイクロプロセッサ、 ROM, RAM,ハードディ スクユニットなどを備えるコンピュータシステムであって、 RAM又はハードディスクュ ニットに記憶されているコンピュータプログラムを、マイクロプロセッサが実行すること により、その機能を達成する。
なお、再構成可能部 101a、設計データ記憶部 102a、抽出部 103a、鍵記憶部 10 4a、暗号化部 105a、復号部 106a、及び更新部 107aは、情報処理装置 10の構成 要素である再構成可能部 101、設計データ記憶部 102、抽出部 103、鍵記憶部 104 、暗号化部 105、復号部 106、及び更新部 107と同様の構成及び機能を有するため 、説明を省略し、以下では、情報処理装置 10aに独自の構成要素である内部状態記 憶部 108aと最適化部 109aとについて説明する。
(1)内部状態記憶部 108a
内部状態記憶部 108aは、再構成可能部 101aの内部状態を記憶する機能を有す る。
[0061] 内部状態記憶部 108aは、具体的には、再構成可能部 101aに含まれる複数の論 理ブロックのうち、何れの論理ブロックが回路構成のために使用されているかを示す 状態情報を記憶している。
図 11は、状態情報の一例である状態情報 400のデータ構成を示す図である。同図 に示すように状態情報 400は、論理ブロック LB1、及び LB2と、設計データ ID「A」と が対応付けられて構成される。これは、再構成可能部 101a内の論理ブロック LB1及 び餘理ブロック LB2は、設計データ IDが「A」である設計データに基づき回路が構成 されて!/ヽることを示して!/、る。
[0062] また、再構成可能部 101aにおける回路構成が更新されると、内部状態記憶部 108 aは、新たな状態情報を生成して、それまで記憶していた状態情報に替えて、新たな 回路構成に対応する状態情報を内部に記憶する。
なお、内部状態記憶部 108aは、最適化部 109aにおいて新たな設計データが生 成されると、最適化部 109aからの受け取る情報に基づき、新たな状態情報を生成す るように構成してちょい。
[0063] 例えば、図 12に示す状態情報 410は、図 11の状態情報 400と異なり、論理ブロッ ク LB1、及び LB4と、設計データ ID「A」とが対応付けられており、論理ブロック LB2 、 LB3、 LB5、及び LB6と、設計データ ID「B」とが対応付けられている。これは、再 構成可能部 101a内の論理ブロック LB1及び LB4では、設計データ IDが「A」である 設計データに基づき回路が構成されており、論理ブロック LB2、 LB3、 LB5、及び L B6では、設計データ IDが「B」である設計データに基づき回路が構成されて!、ること を示している。
(2)最適化部 109a
最適化部 109aは、再構成可能部 101aで新たに構成される 2以上の回路が、最適 な配置となるような設計データを生成する機能を有する。
[0064] 具体的には、最適化部 109aは、入力デバイス等の入力手段から、 1以上の設計デ
ータ IDを含む回路更新要求を受け付ける。回路更新要求を受け付けると、最適化部 109aは、復号部 106aに対して、受け付けた 1以上の設計データ IDにより識別される 復号データの復号を指示する。最適化部 109aは、復号部 106aにより復号された 1 以上の設計データを受け取る。
[0065] また、最適化部 109aは、抽出部 103aにより抽出された設計データを受け取る。最 適化部 109aは、更に、内部状態記憶部 108aが記憶している状態情報を読み出す。 最適化部 109aは、抽出部 103a及び復号部 106aとから受け取った 2以上の設計 データ、並びに、読み出した状態情報から、再構成可能部 101aにおける論理ブロッ クの利用効率が最も高くなるように、 2以上の回路が配置されるような設計データを生 成する。
[0066] 一例として、最適化部 109aは、抽出部 103aから、設計データ ID「A」により識別さ れる設計データを受け取り、復号部 106aから、設計データ ID「B」により識別される 設計データを受け取り、内部状態記憶部 108aから、状態情報 400 (図 11参照)を読 み出した場合にっ 、て考える。
ここで、最適化部 109aは、予め、再構成可能部 101aの各論理ブロックの配列を既 知であるとする。各論理ブロックの配列とは、具体的には図 2に示した各論理ブロック の並び順、即ち、再構成可能部 10 laにおける各論理ブロックの位置である。更には 、最適化部 109aは、各設計データの回路の構成に使用されるべき論理ブロック数に ついても既知であるとする。これは、設計データに記述されていてもよい。
[0067] 最適化部 109aは、状態情報 400から、未使用の論理ブロックは、 LB3〜LB9であ ることが分かる。ここで、設計データ ID「B」により識別される設計データの構成には 4 個の論理ブロックが必要であるとすると、最適化部 109aは、未使用の LB3〜LB9を 有効に利用するために、例えば、それまで論理ブロック LB1及び LB2を用いて回路 構成していた設計データ ID「A」により識別される設計データを、論理ブロック LB1及 び LB4を用いて実現し、設計データ ID「B」により識別される設計データを、論理プロ ック LB2, LB3、 LB5、及び LB6を用いて実現する。
[0068] このとき、未使用の論理ブロックは、 LB7, LB8、及び LB9であり、再構成可能部 1 Olaでは、この連続した 3個の論理ブロックを用いて、更に新たな回路を構成すること
も可能である。
<動作 >
ここでは、図 13に示すフローチャートを用いて、情報処理装置 10aの動作について 説明する。
[0069] 先ず、回路更新要求が発生し (ステップ S 201)、抽出部 103a及び最適化部 109a が回路更新要求を受け付ける。具体的には、抽出部 103a及び最適化部 109aは、 入力デバイス等の入力手段を介して、回路更新要求を受け付ける。ここで、最適化 部 109aは、回路更新要求と共に、設計データ IDの入力も受け付ける。
回路更新要求を受け付けた最適化部 109aは、内部状態記憶部 108aから状態情 報を読み出す (ステップ S 202)。最適化部 109aは、復号部 106aへ、前記設計デー タ IDを出力し、当該設計データ IDにより識別される設計データの復号を、復号部 10 6aへ指示する。
[0070] 復号部 106aは、設計データ記憶部 102aから、前記設計データ IDにより識別され る暗号ィ匕設計データを読み出す (ステップ S 203)。次に、復号部 106aは、鍵記憶部 104aから、前記設計データ IDと対応付けられて ヽる鍵データを読み出す (ステップ S204)。
設計データ記憶部 102aは、ステップ S203にて読み出された暗号ィ匕設計データを 含む設計データ情報を、設計データテーブルから削除する (ステップ S205)。
[0071] 次に、復号部 106aは、ステップ S203で読み出した暗号ィ匕設計データを、ステップ S 204で読み出した鍵データを復号鍵として用 、、復号アルゴリズム Dを施すことによ り、設計データを復号する (ステップ S 206)。復号部 106aは、復号した設計データを 最適化部 109aへ出力し、最適化部 109aは設計データを受け取る (ステップ S207)
[0072] 続いて、抽出部 103aは、再構成可能部 101aの内部で現在構成されている回路の 設計データを抽出する処理を行う (ステップ S208)。なお、設計データ抽出処理の詳 細は、第 1の実施形態と同様である。抽出部 103aは、抽出した設計データを、最適 化部 109aへ出力し、最適化部 109aは、設計データを受け取る (ステップ S209)。
[0073] 次に、最適化部 109aは、ステップ S202で読み出した状態情報、ステップ S207で
受け取った設計データ、ステップ S209で受け取った設計データ、既知である論理ブ ロックの配置力ゝら、再構成可能部 101aにおいて、論理ブロックが有効に利用される ための新たな設計データを生成する (ステップ S210)。
更新部 107aは、最適化部 109aから、新たな設計データを受け取り、受け取った設 計データを、再構成可能部 101へ転送する (ステップ S211)。
[0074] 再構成可能部 101aは、新たに受け取った設計データに基づき、各 SRAMの値を 設定することにより、回路を再構成する (ステップ S 212)。次に、内部状態記憶部 10 8aは、回路が再構成された再構成可能部 101aの状態を示す状態情報を生成し (ス テツプ S213)、状態情報を更新する。
3.第 3の実施形態
本発明の第 3の実施形態として、回路更新システム 1について説明する。 <構成>
図 14は、回路更新システム 1の構成を示す図である。同図に示すように、回路更新 システム 1は、情報処理装置 10bと設計データ変換装置 20とから構成され、情報処 理装置 10bと設計データ変換装置 20とは、ネットワーク 30を介して接続されている。
[0075] 情報処理装置 10bは、図 14に示すように、再構成可能部 101b、設計データ記憶 部 102b、抽出部 103b、鍵記憶部 104b、暗号化部 105b、復号部 106b、更新部 10 7b、内部状態記憶部 108a、及び送受信部 110bから構成される。また、設計データ 変換装置 20は、送受信部 501と最適化部 502とから構成される。
即ち、第 3の実施形態である回路更新システム 1は、第 2の実施形態である情報処 理装置 10aの最適化部 109aが、ネットワーク 30を介した外部装置である設計データ 変換装置 20に存在する構成を有する。
[0076] 送受信部 110b及び送受信部 501は、共にネットワーク接続ユニットであって、ネッ トワーク 30を介して、相互に情報の送受信を行う機能を有する。
設計データ変換装置 20の最適化部 502は、第 2の実施形態の最適化部 109aと同 様の機能を有する。
なお、情報処理装置 10b、及び設計データ変換装置 20は、具体的には、マイクロ プロセッサ、 ROM, RAM,ハードディスクユニットなどを備えるコンピュータシステム
であって、 RAM又はハードディスクユニットに記憶されているコンピュータプログラム を、マイクロプロセッサが実行することにより、各装置はその機能を達成する。
<動作 >
ここでは、図 15に示すフローチャートを用いて、回路更新システム 1の動作につい て説明する。
[0077] 先ず、回路更新要求が発生し (ステップ S301)、抽出部 103b及び更新部 107bは 、回路更新要求を受け付ける。具体的には、抽出部 103a及び最適化部 109aは、入 力デバイス等の入力手段を介して、回路更新要求を受け付ける。ここで、更新部 107 bは、回路更新要求と共に、設計データ IDの入力も受け付ける。設計データ IDを含 む回路更新要求を受け付けた更新部 107bは、復号部 106bに設計データ IDを通知 し、当該設計データ IDにより識別される暗号化設計データの復号を指示する。
[0078] 更新部 107bからの指示を受け付けた復号部 106bは、設計データ記憶部 102bか ら、前記設計データ IDにより識別される暗号化設計データを読み出す (ステップ S30 2)。次に、復号部 106bは、鍵記憶部 104bから、前記設計データ IDと対応付けられ て 、る鍵データを読み出す (ステップ S303)。
設計データ記憶部 102bは、ステップ S302にて読み出された暗号ィ匕設計データを 含む設計データ情報を、設計データテーブルから削除する (ステップ S304)。
[0079] 次に、復号部 106bは、ステップ S302で読み出した暗号ィ匕設計データを、ステップ S 303で読み出した鍵データを復号鍵として用 、、復号アルゴリズム Dを施すことによ り、設計データを復号する (ステップ S305)。復号部 106bは、復号した設計データを 更新部 107bへ出力する。設計データを受け取った更新部 107bは、設計データを送 受信部 110bへ出力する。
[0080] 次に、抽出部 103bは、再構成可能部 101bの内部で現在構成されている回路の 設計データを抽出する処理を行う(ステップ S306)。抽出部 103bは、抽出した設計 データを送受信部 110bへ出力する。
抽出部 103b及び更新部 107bから設計データを受け取った送受信部 110bは、内 部状態記憶部 108bから、状態情報を読み出す (ステップ S307)。
[0081] 送受信部 110bは、抽出部 103bから受け取った設計データ、更新部 107bから受
け取った設計データ、及び状態情報を、ネットワーク 30を介して設計データ変換装 置 20へ送信し、設計データ変換装置 20の送受信部 501は、設計データと状態情報 とを受信する (ステップ S 308)。
設計データ変換装置 20の最適化部 502は、ステップ S308で受信した 2以上の設 計データ、状態情報、既知である論理ブロックの配置から、情報処理装置 10bの再 構成可能部 101bにおいて、各論理ブロックが有効に利用されるための新たな設計 データを生成する(ステップ S 309)。
[0082] 最適化部 502は、生成した新たな設計データを、送受信部 501及びネットワーク 30 を介して情報処理装置 10bへ送信し、情報処理装置 10bの送受信部 110bは、設計 データを受信する (ステップ S310)。
送受信部 110bは、受信した新たな設計データを更新部 107bへ出力し、更新部 1 07bは、新たな設計データを受け取り、受け取った設計データを、再構成可能部 101 bへ転送する。
[0083] 再構成可能部 101bは、受け取った設計データに基づき、各 SRAMの値を設定す るなどして、回路を再構成する (ステップ S311)。
続いて、内部状態記憶部 108bは、回路が再構成された再構成可能部 101bの状 態を示す状態情報を生成し (ステップ S312)、状態情報を更新する。
4.その他の変形例
本発明を上記の実施形態に基づき説明してきたが、本発明は、上記の実施形態に 限定されないのは勿論であり、以下のような場合であっても、本発明に含まれる。
(1)上記実施の形態における再構成可能部は、 FPGAや PLD等の特定の構成を有 するデバイスに限定されるものではない。そこで、上記の実施形態の論理ブロックは
、 LUTで実現する構成を有するが、本発明における論理ブロックは、 LUTで実現す る場合に限定されず、 ALU,論理演算ユニット、シフト制御ユニット、データ制御ュ- ット、フリップフロップ等、又はこれらの組み合わせにより構成される場合も含まれる。
(2)上記の実施形態における設計データ記憶部の機能を、外部の記録媒体に代用 させる構成も本発明に含まれる。
[0084] この場合、情報処理装置は、外部の記録媒体との間で情報の入出力を行う媒体入
出力部を備える。情報処理装置は、記録媒体が媒体入出力部に装着された状態に おいて、媒体入出力部を介して、暗号化部により暗号化された設計データを記録媒 体に書き込む。また情報処理装置は、媒体入出力部を介して、前記記録媒体に格納 されて 、る暗号ィ匕設計データを読み出し、読み出した暗号化設計データを復号部へ 出力する。
[0085] この構成により、情報処理装置自体のメモリ要領を節約し、メモリ容量の有効活用 が可能となる。
(3)上記実施の形態における内部状態保持部は、回路構成に使用されている論理 ブロックと設計データ IDとを対応付けた状態情報を保持する構成を有するが、本発 明における状態情報は、これに限定されないのは勿論であり、例えば、回路構成に 使用されていない論理ブロックの位置情報等、最適化部により、最適化を行うために 用いることできる情報であればよ!、。
(4)上記実施の形態の情報処理装置は、設計データ毎に固有の鍵データを鍵記憶 部に保持している構成を有するが、本発明における設計データの暗号ィ匕 Z復号に 用いられる鍵情報は、予め鍵記憶部が保持している構成には限定されない。
[0086] 例えば、設計データの暗号化 Z復号処理を実行するごとに、乱数生成器を利用し て乱数列を発生させ、前記乱数列を鍵情報として用い、暗号化 Z復号処理を実行し てもよい。更に、ここで生成された前記乱数列を、設計データ IDと対応付けて鍵記憶 部に記憶する構成であってもよ 、。
この様に、設計データ IDと暗号ィ匕に用いた鍵情報とを対応付けて管理することによ り、復号時に使用する鍵情報の選択を容易にすることができる。
[0087] また、復号時と暗号化時で、同一の鍵を利用した場合、鍵の管理が容易になると!ヽ う効果がある。
また、鍵を生成する機能を備えることにより、暗号ィ匕の度に異なる鍵を使用すること ができ、より高いレベルの設計データの保護を実現することができる。
なお、復号部により復号した設計データを再構成可能部で回路として実装し、更に 、当該回路力 抽出部により設計データを抽出し、暗号ィ匕部にて再び暗号ィ匕する場 合。復号時に使用した鍵情報ほ L数列)と同じ鍵情報で暗号化してもよいし、別途異
なる鍵情報を生成して暗号ィ匕してもょ ヽ。
(5)本発明の情報処理装置は、内部状態保持部が保持して!/、る状態情報を参照す ることにより、再構成可能部から、全ての設計データを抽出するのではなぐ選択的に 設計データを抽出するように構成してもよ ヽ。
[0088] 例えば、内部状態保持部が図 12に示した状態情報 410を記憶している場合、抽出 部は、状態情報 410を参照し、論理ブロック LB1及び LB4から、設計データ IDが「A 」である設計データのみを抽出する。又は、抽出部は、論理ブロック LB2, LB3、 LB 5、及び LB6から設計データ IDが「B」である設計データのみを抽出するように構成し てもよい。
(6)本発明における情報処理装置は、再構成可能部で実現されている回路を削除 する回路削除部を備えてもよい。具体的には、抽出部が再構成可能部で実現されて いる回路の設計データを読み出した後に、回路削除手段は、再構成可能部で実現さ れて ヽる前記回路を削除するように構成してもよ ヽ。
[0089] このような回路削除部を備え、回路削除部が不要な回路を削除することにより、再 構成可能部を効率よく利用することができる。
(7)本発明における情報処理装置は、抽出部が、再構成可能部で実現されている回 路を設計データとして読み出す場合に、抽出部が、例えば、抽出(回路再構成)を要 求した機器、あるいは利用者を認証して、前記認証処理の結果に基づき、設計デー タを抽出するカゝ否かを判断し、実行する構成であってもよい。
[0090] ここでの前記認証処理の一例は、公開鍵暗号方式を利用したチャレンジ レスポ ンス認証である。
また、抽出した設計データを情報処理装置力 外部へ送信する要求を受け付けた 場合も、送信を要求した機器、あるいは利用者を認証して、前記認証処理の結果に 基づき、設計データを外部へ送信するか否かを判断し、実行する構成であってもよい
[0091] 更に、外部の記録媒体への暗号化設計データの書き込み処理も同様に、認証処 理の結果に基づき、暗号ィ匕設計データを書き込む力否かを判断し、実行する構成で あってもよい。
(8)上記の実施形態では、情報処理装置 10bは、設計データを外部の設計データ 変換装置 20に送信する場合、抽出部が抽出した設計データを、そのままネットワーク 30を介して送信する構成としたが、本発明はその構成に限定されるものではない。 例えば、設計データの一部、あるいは全てを暗号ィ匕して、暗号化された設計データを 設計データ変換装置 20へ送信する構成も本発明に含まれる。
[0092] この場合、設計データ変換装置 20は、一部、あるいは全てが暗号化された状態の 設計データ、及び内部状態に基づき最適化部 502で変換処理を実行する構成であ つてもよい。
具体的な例としては、設計データを秘密にしたまま、再構成可能部内での回路の 位置だけを調節する場合などが想定される。
(9)本発明における情報処理装置に備えられた設計データ記憶部は、外部からもァ クセス可能な一般的な RAMなどのメモリであってもよ ヽ。一般的な RAM等で実現す ることにより、設計データ記憶部を、比較的安価で大容量ィ匕することができる。
[0093] また、設計データ記憶部は、アクセスが制限される集積回路の内部に存在するメモ リであってもよい。
(10)上記実施の形態における最適化部は、 2以上の回路を再構成可能部において 構成する場合に、その配置を最適化する構成を有するが、本発明は、最適化部に替 えて、 2以上の回路を示す設計データから、新たな 1つの設計デ一に変換する変換 手段を備える構成であってもよ ヽ。
[0094] 例えば、第 1の機能を達成する第 1回路が再構成可能部において実現している場 合に、抽出部は、第 1回路力も第 1設計データを抽出する。一方で、復号部は、第 2 の機能を達成する第 2回路を構成するための設計データである第 2設計データを、 復号する。そして、変換手段は、第 1の機能と第 2の機能とを併せ持つ第 3回路を構 成するための第 3設計データを生成するように構成してもよい。
[0095] 更には、変換手段は、単純に第 1及び第 2の機能を併せ持つ第 3回路を構成する ための第 3設計データを生成するのではなぐ第 1の機能に第 2の機能を組み込み、 高度な処理を行うような新たな機能を達成する第 3回路を構成するための第 3設計デ ータを生成するように構成してもよ 、。
(11)上記実施の形態における再構成可能部では、例えば、暗号ィ匕コンテンツを復 号するための復号回路が実装される構成であってもよい。
[0096] 再構成可能部で実装される復号回路はアルゴリズム毎に異なるので、復号回路を 更新することにより、さまざまなアルゴリズムに対応する復号処理を実現することがで きる。
しカゝしながら、本発明は、再構成可能部において実装される回路が達成する機能 については、何ら限定されるものではなぐ再構成可能部では、如何なる回路が構成 されてちょい。
(12)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンビュ ータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプ ログラム力もなるデジタル信号であるとしてもよい。
[0097] また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ 読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、 CD-RO M、 MO、 DVD, DVD-ROM, DVD -RAM, BD (Blu— ray Disc)、半導体メ モリなど、〖こ記録したものとしてもよい。また、これらの記録媒体に記録されている前 記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
[0098] また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信 回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して 伝送するものとしてもよ 、。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって 、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサ は、前記コンピュータプログラムに従って動作するとしてもよい。
[0099] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
(13)また本発明は、上記実施形態における情報処理装置 10、 10a、 10b、及び設 計データ変換装置 20の機能ブロックの一部又は全てが集積回路である LSIとして実
現される場合も本発明に含まれる。これらは個別に 1チップィ匕されても良いし、一部 又は全てを含むように 1チップ化されてもよい。ここでは、 LSIとした力 集積度の違い により、 IC、システム LSI、スーパー LSI、ウルトラ LSIと呼称されることもある。
[0100] また、集積回路化の手法は LSIに限るものではなぐ専用回路で実現してもよい。 L SI製造後に、プログラムすることが可能な FPGA (Field Programmable Gate Array) や LSI内部の回路セルの接続や設定を再構成可能なリコンフィギユラブル'プロセッ サを利用してもよい。
更には、半導体技術の進歩又は派生する別技術により LSIに置き換わる集積回路 化の技術が登場すれば、当然その技術を用いて機能ブロックの集積ィ匕を行ってもよ い。バイオ技術の適応などが可能性として有り得る。
(14)前記実施形態及び前記変形例をそれぞれ組み合わせた構成も、本発明に含 まれる。
産業上の利用可能性
[0101] 本発明は、例えば、暗号ィ匕のアルゴリズムを更新することが可能な機器を製造する 産業、及び販売する産業において、経営的及び継続的に利用することができる。
Claims
[1] 複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間 の接続の変更により、回路の再構成が可能な再構成可能手段と、
前記再構成可能手段において現在構成されている第 1回路を示す論理ブロックの 論理と論理ブロック間の接続とを示す第 1設計データを、前記再構成可能手段から 抽出する抽出手段と、
第 2回路を示す論理ブロックの論理と論理ブロック間の接続とを示す第 2設計デー タを、前記再構成可能手段に出力する出力手段とを備え、
前記再構成可能手段は、前記第 2設計データに基づき、前記第 2回路を再構成す る
ことを特徴とする情報処理装置。
[2] 前記情報処理装置は、
前記第 2設計データを記憶している設計データ記憶手段と、
前記出力手段により前記第 2設計データが前記再構成可能手段に出力されると、 前記設計データ記憶手段から、前記第 2設計データを削除する削除手段と、 前記抽出手段により抽出された前記第 1設計データを、前記設計データ記憶手段 に書き込む書込手段と
を備えることを特徴とする請求項 1に記載の情報処理装置。
[3] 前記情報処理装置は、
前記抽出手段により抽出された前記第 1設計データを暗号化する暗号化手段を備 え、
前記書込手段は、暗号化された前記第 1設計データを、前記設計データ記憶手段 に書き込む
ことを特徴とする請求項 2に記載の情報処理装置。
[4] 前記設計データ記憶手段に記憶されている前記第 2設計データは、暗号化されて おり、
前記情報処理装置は、
前記暗号化された第 2設計データを復号する復号手段を備え、
前記出力手段は、前記復号手段により復号された前記第 2設計データを、前記再 構成可能手段に出力する
ことを特徴とする請求項 3に記載の情報処理装置。
[5] 前記情報処理装置は、
各設計データに対応する鍵情報を安全に記憶している鍵情報記憶手段を備え、 前記暗号化手段は、前記鍵情報記憶手段から、前記第 1設計データと対応する第 1鍵情報を読み出し、読み出した前記第 1鍵情報に基づき、前記第 1設計データを暗 号化し、
前記復号手段は、前記鍵情報記憶手段から、前記第 2設計データと対応する第 2 鍵情報を読み出し、読み出した前記第 2鍵情報に基づき、前記第 2設計データを復 号する
ことを特徴とする請求項 4に記載の情報処理装置。
[6] 前記情報処理装置は、更に、
各設計データに対応する前記鍵情報を生成する鍵情報生成手段を備え、 前記鍵情報生成手段により生成された前記鍵情報を、前記鍵情報記憶手段に書き 込む
ことを特徴とする請求項 5に記載の情報処理装置。
[7] 前記情報処理装置は、更に、
前記再構成可能手段にお!ヽて前記第 1回路の構成に用いられて!ヽる論理ブロック の位置を示す内部状態を保持する内部状態保持手段と、
前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽 出された前記第 1設計データと、前記第 1回路が達成する第 1の機能と異なる第 2の 機能を達成する回路の設計データである第 3設計データとから、前記再構成可能手 段の最適化が可能となるような前記第 2設計データを生成する最適化手段とを備え、 前記出力手段は、前記最適化手段により生成された前記第 2設計データを、前記 再構成可能手段に出力する
ことを特徴とする請求項 1に記載の情報処理装置。
[8] 前記内部状態保持手段は、前記第 1の機能を達成する回路の構成に用いられて
、る論理ブロックの位置と、前記第 2の機能を達成する回路の構成に用いられて 、る 論理ブロックの位置とを示す新たな内部情報を生成し、保持する
ことを特徴とする請求項 7に記載の情報処理装置。
[9] 前記情報処理装置は、更に、
前記再構成可能手段にお!ヽて前記第 1回路の構成に用いられて!ヽる論理ブロック の位置を示す内部状態を保持する内部状態保持手段を備え、
前記抽出手段は、前記内部状態保持手段が保持している前記内部状態に基づき 、前記再構成可能手段から、選択的に前記第 1設計データを抽出する
ことを特徴とする請求項 1に記載の情報処理装置。
[10] 前記情報処理装置は、ネットワークを介して外部機器と接続されており、更に、 前記内部状態保持手段に保持されている前記内部状態と、前記抽出手段により抽 出された前記第 1設計データと、前記第 1回路と異なる機能を達成する回路の設計 データである第 3設計データとを前記外部機器へ送信する送信手段と、
前記外部機器から、前記再構成可能手段の最適化が可能となるような前記第 2設 計データを受信する受信手段とを備える
ことを特徴とする請求項 9に記載の情報処理装置。
[11] 前記第 1設計データに基づき前記再構成可能手段において構成されている前記 第 1回路は、第 1の機能を達成し、
前記情報処理装置は、
前記抽出手段により抽出された前記第 1設計データと、前記第 1の機能とは異なる 第 2の機能を達成する第 3回路を構成するための設計データである第 3設計データと から、第 1及び第 2の機能を達成する前記第 2回路を構成するための前記第 2設計デ ータを生成する設計データ変換手段を備える
ことを特徴とする請求項 1に記載の情報処理装置。
[12] 前記情報処理装置は、更に、
外部接続された記録媒体との間で情報の入出力を行う媒体入出力手段を備え、 前記出力手段は、前記第 2設計データが記録された記録媒体から、前記媒体入出 力手段を介して、前記第 2データを取得し、前記再構成可能手段に出力し、
前記書込手段は、前記媒体入出力手段を介して、前記記録媒体に、前記第 1設計 データを書き込む
ことを特徴とする請求項 1に記載の情報処理装置。
[13] 前記情報処理装置は、
前記抽出手段により抽出された前記第 1設計データを暗号化する暗号化手段を備 え、
前記書込手段は、暗号化された前記第 1設計データを、前記記録媒体に書き込む ことを特徴とする請求項 12に記載の情報処理装置。
[14] 前記記録媒体に記憶されている前記第 2設計データは、暗号化されており、
前記情報処理装置は、
前記暗号化された第 2設計データを復号する復号手段を備え、
前記出力手段は、前記復号手段により復号された前記第 2設計データを取得し、 前記再構成可能手段に出力する
ことを特徴とする請求項 13に記載の情報処理装置。
[15] 複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間 の接続の変更により、回路の再構成が可能な再構成可能手段と、抽出手段と、出力 手段とを備える情報処理装置で用いられる処理方法であって、
前記処理方法は、
前記抽出手段により、前記再構成可能手段において現在構成されている第 1回路 を示す論理ブロックの論理と論理ブロック間の接続とを示す第 1設計データを、前記 再構成可能手段力 抽出させるステップと、
前記出力手段により、第 2回路を示す論理ブロックの論理と論理ブロック間の接続と を示す第 2設計データを、前記再構成可能手段に出力させるステップと、
前記再構成可能手段に、前記第 2設計データに基づき、前記第 2回路を再構成さ せるステップと
を含むことを特徴とする処理方法。
[16] 複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間 の接続の変更により、回路の再構成が可能な再構成可能手段と、抽出手段と、出力
手段とを備える情報処理装置で用いられるコンピュータプログラムであって、 前記コンピュータプログラムは、
前記抽出手段により、前記再構成可能手段において現在構成されている第 1回路 を示す論理ブロックの論理と論理ブロック間の接続とを示す第 1設計データを、前記 再構成可能手段力 抽出するステップと、
前記出力手段により、第 2回路を示す論理ブロックの論理と論理ブロック間の接続と を示す第 2設計データを、前記再構成可能手段に出力するステップと、
前記再構成可能手段により、前記第 2設計データに基づき、前記第 2回路を再構 成するステップと
を含むことを特徴とするコンピュータプログラム。
[17] 前記コンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されて いる
ことを特徴とする請求項 16に記載のコンピュータプログラム。
[18] 複数の論理ブロックを含み、各論理ブロックの論理の変更、及び各論理ブロック間 の接続の変更により、回路の再構成が可能な再構成可能手段と、
前記再構成可能手段において現在構成されている第 1回路を示す論理ブロックの 論理と論理ブロック間の接続とを示す第 1設計データを、前記再構成可能手段から 抽出する抽出手段と、
第 2回路を示す論理ブロックの論理と論理ブロック間の接続とを示す第 2設計デー タを、前記再構成可能手段に出力する出力手段とを備え、
前記再構成可能手段は、前記第 2設計データに基づき、前記第 2回路を再構成す る
ことを特徴とする集積回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007514681A JP4801054B2 (ja) | 2005-04-21 | 2006-04-21 | 回路更新システム |
US11/918,628 US8189773B2 (en) | 2005-04-21 | 2006-04-21 | Circuit updating system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005123220 | 2005-04-21 | ||
JP2005-123220 | 2005-04-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006115213A1 true WO2006115213A1 (ja) | 2006-11-02 |
Family
ID=37214829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/308439 WO2006115213A1 (ja) | 2005-04-21 | 2006-04-21 | 回路更新システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8189773B2 (ja) |
JP (1) | JP4801054B2 (ja) |
WO (1) | WO2006115213A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012157593A1 (en) * | 2011-05-19 | 2012-11-22 | Semiconductor Energy Laboratory Co., Ltd. | Programmable logic device |
US10958451B2 (en) | 2014-04-09 | 2021-03-23 | Ictk Holdings Co., Ltd. | Authentication apparatus and method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977863B1 (en) * | 2010-08-30 | 2015-03-10 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for dynamic protection of intellectual property in electronic circuit designs |
US9705501B2 (en) * | 2014-10-01 | 2017-07-11 | Maxim Integrated Products, Inc. | Systems and methods for enhancing confidentiality via logic gate encryption |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0522281A (ja) * | 1991-07-15 | 1993-01-29 | Mitsubishi Electric Corp | 秘話装置 |
JPH11205125A (ja) * | 1998-01-08 | 1999-07-30 | Matsushita Electron Corp | プログラマブル集積回路 |
US5970142A (en) * | 1996-08-26 | 1999-10-19 | Xilinx, Inc. | Configuration stream encryption |
JP2000124317A (ja) * | 1998-10-21 | 2000-04-28 | Fuji Xerox Co Ltd | 情報処理システム |
JP2001306343A (ja) * | 2000-04-21 | 2001-11-02 | Fujitsu I-Network Systems Ltd | Fpgaを有する装置のためのシステム |
JP2004007472A (ja) * | 2002-03-22 | 2004-01-08 | Toshiba Corp | 半導体集積回路、データ転送システム、及びデータ転送方法 |
JP2004515180A (ja) * | 2000-11-28 | 2004-05-20 | ザイリンクス インコーポレイテッド | リードバックを防止する方法を備えたプログラマブルロジックデバイス |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3783800B2 (ja) | 1996-08-09 | 2006-06-07 | 富士通株式会社 | プログラマブルな論理素子/装置を用いた暗号化/復号化装置および方法 |
US6101255A (en) | 1997-04-30 | 2000-08-08 | Motorola, Inc. | Programmable cryptographic processing system and method |
JP3850531B2 (ja) * | 1997-10-21 | 2006-11-29 | 株式会社東芝 | 再構成可能な回路の設計装置、及び再構成可能な回路装置 |
US6931543B1 (en) * | 2000-11-28 | 2005-08-16 | Xilinx, Inc. | Programmable logic device with decryption algorithm and decryption key |
JP2003058426A (ja) * | 2001-08-21 | 2003-02-28 | Sony Corp | 集積回路およびその回路構成方法ならびにプログラム |
US7000161B1 (en) * | 2001-10-15 | 2006-02-14 | Altera Corporation | Reconfigurable programmable logic system with configuration recovery mode |
US7577726B1 (en) * | 2002-02-07 | 2009-08-18 | Cisco Technology, Inc. | Method for updating a hardware configuration of a networked communications device |
-
2006
- 2006-04-21 WO PCT/JP2006/308439 patent/WO2006115213A1/ja active Application Filing
- 2006-04-21 US US11/918,628 patent/US8189773B2/en active Active
- 2006-04-21 JP JP2007514681A patent/JP4801054B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0522281A (ja) * | 1991-07-15 | 1993-01-29 | Mitsubishi Electric Corp | 秘話装置 |
US5970142A (en) * | 1996-08-26 | 1999-10-19 | Xilinx, Inc. | Configuration stream encryption |
JPH11205125A (ja) * | 1998-01-08 | 1999-07-30 | Matsushita Electron Corp | プログラマブル集積回路 |
JP2000124317A (ja) * | 1998-10-21 | 2000-04-28 | Fuji Xerox Co Ltd | 情報処理システム |
JP2001306343A (ja) * | 2000-04-21 | 2001-11-02 | Fujitsu I-Network Systems Ltd | Fpgaを有する装置のためのシステム |
JP2004515180A (ja) * | 2000-11-28 | 2004-05-20 | ザイリンクス インコーポレイテッド | リードバックを防止する方法を備えたプログラマブルロジックデバイス |
JP2004007472A (ja) * | 2002-03-22 | 2004-01-08 | Toshiba Corp | 半導体集積回路、データ転送システム、及びデータ転送方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012157593A1 (en) * | 2011-05-19 | 2012-11-22 | Semiconductor Energy Laboratory Co., Ltd. | Programmable logic device |
US9595964B2 (en) | 2011-05-19 | 2017-03-14 | Semiconductor Energy Laboratory Co., Ltd. | Programmable logic device |
US9900007B2 (en) | 2011-05-19 | 2018-02-20 | Semiconductor Energy Laboratory Co., Ltd. | Programmable logic device |
KR101900348B1 (ko) * | 2011-05-19 | 2018-09-19 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 프로그래머블 로직 디바이스 |
US10958451B2 (en) | 2014-04-09 | 2021-03-23 | Ictk Holdings Co., Ltd. | Authentication apparatus and method |
US11876917B2 (en) | 2014-04-09 | 2024-01-16 | Ictk Holdings Co., Ltd. | Authentication apparatus and method |
Also Published As
Publication number | Publication date |
---|---|
US20090067632A1 (en) | 2009-03-12 |
JP4801054B2 (ja) | 2011-10-26 |
US8189773B2 (en) | 2012-05-29 |
JPWO2006115213A1 (ja) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101167300B (zh) | 信息安全装置 | |
JP5060119B2 (ja) | 暗号処理プログラム、暗号処理方法および暗号処理装置 | |
CN100393027C (zh) | 数字数据记录装置、存储装置和使用装置 | |
JP4239747B2 (ja) | 情報処理装置、およびコンテンツ情報管理方法、並びにコンピュータ・プログラム | |
WO2006109738A1 (ja) | 回路構築装置 | |
US20090245522A1 (en) | Memory device | |
JPH103256A (ja) | 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体 | |
CN114629652B (zh) | 基于物理不可复制函数的密钥管理系统及其操作方法 | |
JP2005102055A (ja) | 暗号化装置及び復号化装置 | |
JP2004320719A (ja) | 著作物保護システム、鍵データ生成装置及び端末装置 | |
US7023998B2 (en) | Cryptographic key processing and storage | |
JPWO2006115212A1 (ja) | アルゴリズム更新システム | |
JP3682840B2 (ja) | コンテンツ情報記録方法及びコンテンツ情報記録装置 | |
JP4801054B2 (ja) | 回路更新システム | |
JPWO2007145220A1 (ja) | 書き換え可能な回路を備える装置、更新システム、更新方法、更新プログラム、及び集積回路 | |
JP2005322963A (ja) | 暗号化もしくは復号化処理用のicカードならびにこれを用いた暗号通信システムおよび暗号通信方法 | |
JP2001325153A (ja) | フィールドプログラマブルゲートアレイの回路情報保護方法 | |
JP4181812B2 (ja) | 暗号処理用の素子とその暗号処理に用いる情報とを有する復号装置の製造方法、復号装置が有する情報と素子とを供給する供給システム、および前記製造方法において製造される復号装置。 | |
KR20070052233A (ko) | 기밀정보처리방법, 기밀정보처리장치, 및 컨텐츠데이터재생장치 | |
JP2007142591A (ja) | 暗号管理方法 | |
JP6980158B2 (ja) | データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム | |
JP2003204320A (ja) | 著作物保護システム、鍵管理装置及び利用者装置 | |
US7978850B2 (en) | Manufacturing embedded unique keys using a built in random number generator | |
JP3400303B2 (ja) | 暗号データ復号装置 | |
WO2004114584A1 (ja) | 著作権保護システム並びにべき乗剰余演算装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 2007514681 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11918628 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06745570 Country of ref document: EP Kind code of ref document: A1 |